mpc85xx: add support for Freescale (NXP) P2041RDB

Specifications:

  - SoC: Freescale P2041 QorIQ CPU (4x e500mc core @ 1.5GHz)
  - RAM: 4GiB DDR3-1333 SODIMM
  - SPI Flash: 16MiB (Spansion S25SL12801)
  - NOR Flash: 128MiB
  - NAND Flash: 512MiB
  - Ethernet: 3 x GbE port (VSC8221XHH PHY via SGMII)
  - Ethernet: 2 x GbE port (VSC8641XKO PHY via RGMII)
  - 2 x PCIe 2.0 8x slot (electrically 4x)
  - SDHC slot
  - 2 x SATA-II ports
  - 2 x RS232 ports
  - 2 x USB 2.0 ports
  - 1588 header
  - Optional: SFP+ via XAUI interface to riser card (NXP XAUI-RISER-B)

  See https://www.nxp.com/docs/en/fact-sheet/P2041RDBFS.pdf.

Installation:

  1. Requires TFTP server with initramfs & sysupgrade .bins on same
     LAN as connected to the middle-bottom most port ("SGMII3").
  2. Connect to "TOP UART0" with a USB to RS232 cable and turn on.
  3. Power on the machine; connect to U-boot over 115200-baud connection
  4. Interrupt U-boot process and boot Openwrt .,.,.
  5. Set up U-boot environment variables:

     setenv bootargs /dev/mtdblock3 rw console=ttyS0,115200 rootfstype=squashfs earlyprintk=serial,ttyS0,115200
     setenv bootcmd setenv bootargs \$bootargs \$othbootargs \; bootm \$fileaddr - \$fdtaddr
     setenv othbootargs usdpaa_mem=256M fsl_fm_max_frm=9600
     saveenv

     setenv bootfile openwrt-mpc85xx-p2041-freescale_p2041rdb-initramfs-kernel.bin
     setenv fdtfile openwrt-mpc85xx-p2041-freescale_p2041rdb-squashfs-fdt.bin
     setenv loadaddr 1000000
     setenv fdtaddr 2000000
     setenv ipaddr $pick_a_reachable_ip_address
     setenv serverip $your_tftp_server_ip
     tftpboot $fdtaddr $serverip:$fdtfile ; tftpboot $loadaddr $serverip:$bootfile ; bootm $loadaddr - $fdtaddr

  6. Copy sysupgrade image to /tmp on P2041-RDB
  7. sysupgrade /tmp/<filename-of-sysupgrade>.bin

Squashed:

  - Enable CONFIG_CORENET_DEFAULT for p2041-based boards

  - Disable a new kernel config so I may build uninterrupted

    This is, SGY_CTS1000.

  - Update default configs to include DPAA/QorIQ SoC stuff

  - Further update p2041 config-default

    As according to kernel documentation. See
    https://www.kernel.org/doc/html/v5.8/networking/device_drivers/freescale/dpaa.html#configuring-dpaa-ethernet-in-your-kernel

  - Add CONFIG_CLK_QORIQ

    This is actually required for initializing networking h/w. See
    https://community.nxp.com/t5/P-Series/p2041-kernel-upgrade-to-the-4-1-provided-by-2-0-SDK/td-p/650893

Signed-off-by: Martin Kennedy <hurricos@gmail.com>
This commit is contained in:
Martin Kennedy 2020-12-08 03:36:25 +00:00
parent 9b37db5caa
commit 341681030c
6 changed files with 113 additions and 1 deletions

View File

@ -9,7 +9,7 @@ BOARD:=mpc85xx
BOARDNAME:=Freescale MPC85xx
CPU_TYPE:=8540
FEATURES:=squashfs ramdisk
SUBTARGETS:=p1010 p1020 p2020
SUBTARGETS:=p1010 p1020 p2020 p2041
KERNEL_PATCHVER:=5.4

View File

@ -0,0 +1,16 @@
define Device/freescale_p2041rdb
DEVICE_VENDOR := Freescale
DEVICE_MODEL := P2041RDB
DEVICE_DTS_DIR := $(DTS_DIR)/fsl
DEVICE_PACKAGES := kmod-hwmon-lm90 kmod-rtc-ds1307 \
kmod-gpio-pca953x kmod-eeprom-at24
BLOCKSIZE := 128k
KERNEL := kernel-bin | gzip | uImage gzip
SUPPORTED_DEVICES := fsl,P2041RDB
IMAGES := fdt.bin sysupgrade.bin
# TODO Verify that this sysupgrade line is sane
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
pad-rootfs $$(BLOCKSIZE) | append-metadata
IMAGE/fdt.bin := append-dtb
endef
TARGET_DEVICES += freescale_p2041rdb

View File

@ -0,0 +1,44 @@
CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_CPU_RMAP=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_MPC85xx_RDB=y
CONFIG_MTD_CFI=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_BCH=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_ECC_BCH=y
CONFIG_MTD_NAND_FSL_ELBC=y
CONFIG_MTD_SPLIT_FIRMWARE=y
CONFIG_MTD_SPLIT_FIT_FW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_NET_FLOW_LIMIT=y
CONFIG_NR_CPUS=4
CONFIG_PADATA=y
CONFIG_PCI_MSI=y
CONFIG_PPC_MSI_BITMAP=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_SMP=y
CONFIG_TREE_RCU=y
CONFIG_TREE_SRCU=y
CONFIG_XPS=y
CONFIG_CORENET_GENERIC=y
CONFIG_SGY_CTS1000=n
CONFIG_FSL_DPAA=y
CONFIG_FSL_FMAN=y
CONFIG_FSL_DPAA_ETH=y
CONFIG_FSL_DPAA_CHECKING=y
CONFIG_FSL_CORENET_RCPM=y
CONFIG_FSL_XGMAC_MDIO=y
CONFIG_FSL_PAMU=y
CONFIG_VITESSE_PHY=y
CONFIG_CLK_QORIQ=y
CONFIG_FSL_BMAN_TEST=n
CONFIG_FSL_QMAN_TEST=n

View File

@ -0,0 +1,15 @@
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Default
NAME:=Default Profile
PRIORITY:=1
endef
define Profile/Default/Description
Default package set compatible with most P2041 boards.
endef
$(eval $(call Profile,Default))

View File

@ -0,0 +1,5 @@
BOARDNAME:=P2041
define Target/Description
Build firmware images for Freescale P2041 based boards.
endef

View File

@ -0,0 +1,32 @@
From 93514afd769c305182beeed1f9c4c46235879ef8 Mon Sep 17 00:00:00 2001
From: Martin Kennedy <hurricos@gmail.com>
Date: Sun, 27 Dec 2020 23:24:41 +0100
Subject: [PATCH] powerpc: mpc85xx: change P2041RDB dts file for OpenWRT
This patch apply chages for OpenWRT in P2041RDB
dts file.
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
---
arch/powerpc/boot/dts/fsl/p2041rdb.dts | 98 +++++++++++++++++---------
1 file changed, 63 insertions(+), 35 deletions(-)
--- a/arch/powerpc/boot/dts/fsl/p2041rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/p2041rdb.dts
@@ -32,10 +32,15 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/dts-v1/;
+
/include/ "p2041si-pre.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
/ {
- model = "fsl,P2041RDB";
+ model = "Freescale P2041RDB";
compatible = "fsl,P2041RDB";
#address-cells = <2>;
#size-cells = <2>;