summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-05-06 08:43:32 -0600
committerTom Rini <[email protected]>2026-05-06 08:43:32 -0600
commitffdce9d3fbd7c4d0d4d9f241d32ef2970ee8800b (patch)
tree6f00160ad9b4a23a33bba62ccac59e687853099a
parentae8987f4e690f397f507c4b1efabd68b3ed08db6 (diff)
parentdea09737234b8d9b86d0922f31d3f2a68cef3a54 (diff)
Merge tag 'fsl-qoriq-for-2026.07-rc2' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq
- Add USB Hub (USB5744) management support for ten64 - Various DT fixes for ls1088a - Fix dead default for SYS_L3_SIZE for powerpc
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/cpu.c3
-rw-r--r--arch/arm/dts/fsl-ls1012a-qds.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1012a.dtsi4
-rw-r--r--arch/arm/dts/fsl-ls1028a-qds.dtsi28
-rw-r--r--arch/arm/dts/fsl-ls1043a-qds.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1043a-rdb.dts2
-rw-r--r--arch/arm/dts/fsl-ls1043a.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1046a-qds.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1046a.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1088a-qds-21-x-u-boot.dtsi9
-rw-r--r--arch/arm/dts/fsl-ls1088a-qds-29-x-u-boot.dtsi9
-rw-r--r--arch/arm/dts/fsl-ls1088a-qds.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi8
-rw-r--r--arch/arm/dts/fsl-ls1088a-ten64.dts388
-rw-r--r--arch/arm/dts/fsl-ls1088a-u-boot.dtsi5
-rw-r--r--arch/arm/dts/fsl-ls1088a.dtsi10
-rw-r--r--arch/arm/dts/fsl-ls2080a-qds.dtsi6
-rw-r--r--arch/arm/dts/fsl-ls2080a-rdb.dts2
-rw-r--r--arch/arm/dts/fsl-ls2080a.dtsi4
-rw-r--r--arch/arm/dts/fsl-ls2081a-rdb.dts2
-rw-r--r--arch/arm/dts/fsl-ls2088a-rdb-qspi.dts2
-rw-r--r--arch/arm/dts/fsl-lx2160a-qds.dtsi36
-rw-r--r--arch/arm/dts/fsl-lx2160a.dtsi8
-rw-r--r--arch/arm/dts/fsl-lx2162a-qds.dts36
-rw-r--r--arch/arm/dts/ls1021a-tsn.dts2
-rw-r--r--arch/arm/dts/ls1021a.dtsi6
-rw-r--r--arch/arm/include/asm/gpio.h2
-rw-r--r--arch/powerpc/cpu/mpc85xx/Kconfig2
-rw-r--r--board/traverse/ten64/ten64.c70
-rw-r--r--configs/ten64_tfa_defconfig7
30 files changed, 201 insertions, 486 deletions
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index cfbaa475701..7f0cb28f52d 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -1549,7 +1549,8 @@ void lmb_arch_add_memory(void)
gd->arch.resv_ram < ram_start + ram_size)
ram_size = gd->arch.resv_ram - ram_start;
#endif
- lmb_add(ram_start, ram_size);
+ if (ram_size > 0)
+ lmb_add(ram_start, ram_size);
}
}
#endif
diff --git a/arch/arm/dts/fsl-ls1012a-qds.dtsi b/arch/arm/dts/fsl-ls1012a-qds.dtsi
index 910d2a5c778..194ab344350 100644
--- a/arch/arm/dts/fsl-ls1012a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1012a-qds.dtsi
@@ -17,7 +17,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -25,7 +25,7 @@
spi-max-frequency = <1000000>; /* input clock */
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -33,7 +33,7 @@
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls1012a.dtsi b/arch/arm/dts/fsl-ls1012a.dtsi
index 796d72fc9ed..b0f3fd79094 100644
--- a/arch/arm/dts/fsl-ls1012a.dtsi
+++ b/arch/arm/dts/fsl-ls1012a.dtsi
@@ -48,7 +48,7 @@
clocks = <&sysclk>;
};
- dspi0: dspi@2100000 {
+ dspi0: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -178,7 +178,7 @@
clocks = <&clockgen 4 0>;
};
- qspi: quadspi@1550000 {
+ qspi: spi@1550000 {
compatible = "fsl,ls1021a-qspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/dts/fsl-ls1028a-qds.dtsi b/arch/arm/dts/fsl-ls1028a-qds.dtsi
index 3b063d0257d..ac5b2d9dde9 100644
--- a/arch/arm/dts/fsl-ls1028a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds.dtsi
@@ -26,29 +26,29 @@
bus-num = <0>;
status = "okay";
- dflash0: sst25wf040b {
+ dflash0: sst25wf040b@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash1: en25s64 {
+ dflash1: en25s64@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash2: n25q128a {
+ dflash2: n25q128a@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -60,29 +60,29 @@
bus-num = <0>;
status = "okay";
- dflash3: sst25wf040b {
+ dflash3: sst25wf040b@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash4: en25s64 {
+ dflash4: en25s64@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash5: n25q128a {
+ dflash5: n25q128a@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -94,10 +94,10 @@
bus-num = <0>;
status = "okay";
- dflash8: en25s64 {
+ dflash8: en25s64@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
diff --git a/arch/arm/dts/fsl-ls1043a-qds.dtsi b/arch/arm/dts/fsl-ls1043a-qds.dtsi
index 5e02cd91d75..fa1bda51108 100644
--- a/arch/arm/dts/fsl-ls1043a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1043a-qds.dtsi
@@ -21,7 +21,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -31,7 +31,7 @@
reg = <0>;
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -41,7 +41,7 @@
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls1043a-rdb.dts b/arch/arm/dts/fsl-ls1043a-rdb.dts
index f5b3bb68b3d..80787907df6 100644
--- a/arch/arm/dts/fsl-ls1043a-rdb.dts
+++ b/arch/arm/dts/fsl-ls1043a-rdb.dts
@@ -28,7 +28,7 @@
bus-num = <0>;
status = "okay";
- dspiflash: n25q12a {
+ dspiflash: n25q12a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls1043a.dtsi b/arch/arm/dts/fsl-ls1043a.dtsi
index 21643a1d951..7337d3cecb6 100644
--- a/arch/arm/dts/fsl-ls1043a.dtsi
+++ b/arch/arm/dts/fsl-ls1043a.dtsi
@@ -54,7 +54,7 @@
clocks = <&sysclk>;
};
- dspi0: dspi@2100000 {
+ dspi0: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -67,7 +67,7 @@
status = "disabled";
};
- dspi1: dspi@2110000 {
+ dspi1: spi@2110000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -306,7 +306,7 @@
clock-names = "ipg";
status = "disabled";
};
- qspi: quadspi@1550000 {
+ qspi: spi@1550000 {
compatible = "fsl,ls1021a-qspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/dts/fsl-ls1046a-qds.dtsi b/arch/arm/dts/fsl-ls1046a-qds.dtsi
index d66824975c5..706405ba805 100644
--- a/arch/arm/dts/fsl-ls1046a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1046a-qds.dtsi
@@ -21,7 +21,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -31,7 +31,7 @@
reg = <0>;
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -41,7 +41,7 @@
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls1046a.dtsi b/arch/arm/dts/fsl-ls1046a.dtsi
index 44ee4c5808d..ceb5d6b3356 100644
--- a/arch/arm/dts/fsl-ls1046a.dtsi
+++ b/arch/arm/dts/fsl-ls1046a.dtsi
@@ -54,7 +54,7 @@
clocks = <&sysclk>;
};
- dspi0: dspi@2100000 {
+ dspi0: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -67,7 +67,7 @@
status = "disabled";
};
- dspi1: dspi@2110000 {
+ dspi1: spi@2110000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -311,7 +311,7 @@
status = "disabled";
};
- qspi: quadspi@1550000 {
+ qspi: spi@1550000 {
compatible = "fsl,ls1021a-qspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/dts/fsl-ls1088a-qds-21-x-u-boot.dtsi b/arch/arm/dts/fsl-ls1088a-qds-21-x-u-boot.dtsi
new file mode 100644
index 00000000000..1d58f1c593b
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1088a-qds-21-x-u-boot.dtsi
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2024 NXP
+ *
+ */
+
+#include <config.h>
+
+#include "fsl-ls1088a-qds-u-boot.dtsi"
diff --git a/arch/arm/dts/fsl-ls1088a-qds-29-x-u-boot.dtsi b/arch/arm/dts/fsl-ls1088a-qds-29-x-u-boot.dtsi
new file mode 100644
index 00000000000..1d58f1c593b
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1088a-qds-29-x-u-boot.dtsi
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2024 NXP
+ *
+ */
+
+#include <config.h>
+
+#include "fsl-ls1088a-qds-u-boot.dtsi"
diff --git a/arch/arm/dts/fsl-ls1088a-qds.dtsi b/arch/arm/dts/fsl-ls1088a-qds.dtsi
index 4d21d4fbd5e..83635a2e40d 100644
--- a/arch/arm/dts/fsl-ls1088a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1088a-qds.dtsi
@@ -144,7 +144,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -152,7 +152,7 @@
spi-max-frequency = <1000000>; /* input clock */
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -160,7 +160,7 @@
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi b/arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi
index 4e6700d586e..0d64795bf44 100644
--- a/arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi
+++ b/arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi
@@ -18,11 +18,3 @@
ethernet9 = &dpmac1;
};
};
-
-&i2c0 {
- uc: board-controller@7e {
- compatible = "traverse,ten64-controller";
- reg = <0x7e>;
- };
-};
-
diff --git a/arch/arm/dts/fsl-ls1088a-ten64.dts b/arch/arm/dts/fsl-ls1088a-ten64.dts
deleted file mode 100644
index 0d11440d88d..00000000000
--- a/arch/arm/dts/fsl-ls1088a-ten64.dts
+++ /dev/null
@@ -1,388 +0,0 @@
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-/*
- * Device Tree file for Traverse Technologies Ten64
- * (LS1088A) board
- * Based on fsl-ls1088a-rdb.dts
- * Copyright 2017-2020 NXP
- * Copyright 2019-2023 Traverse Technologies
- *
- * Author: Mathew McBride <[email protected]>
- */
-
-/dts-v1/;
-
-#include "fsl-ls1088a.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
- model = "Traverse Ten64";
- compatible = "traverse,ten64", "fsl,ls1088a";
-
- aliases {
- serial0 = &duart0;
- serial1 = &duart1;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-
- buttons {
- compatible = "gpio-keys";
-
- /* Fired by system controller when
- * external power off (e.g ATX Power Button)
- * asserted
- */
- button-powerdn {
- label = "External Power Down";
- gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_POWER>;
- };
-
- /* Rear Panel 'ADMIN' button (GPIO_H) */
- button-admin {
- label = "ADMIN button";
- gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
- linux,code = <KEY_WPS_BUTTON>;
- };
- };
-
- leds {
- compatible = "gpio-leds";
-
- led-0 {
- label = "ten64:green:sfp1:down";
- gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
- };
-
- led-1 {
- label = "ten64:green:sfp2:up";
- gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
- };
-
- led-2 {
- label = "ten64:admin";
- gpios = <&sfpgpio 12 GPIO_ACTIVE_HIGH>;
- };
- };
-
- sfp_xg0: dpmac2-sfp {
- compatible = "sff,sfp";
- i2c-bus = <&sfplower_i2c>;
- tx-fault-gpios = <&sfpgpio 0 GPIO_ACTIVE_HIGH>;
- tx-disable-gpios = <&sfpgpio 1 GPIO_ACTIVE_HIGH>;
- mod-def0-gpios = <&sfpgpio 2 GPIO_ACTIVE_LOW>;
- los-gpios = <&sfpgpio 3 GPIO_ACTIVE_HIGH>;
- maximum-power-milliwatt = <2000>;
- };
-
- sfp_xg1: dpmac1-sfp {
- compatible = "sff,sfp";
- i2c-bus = <&sfpupper_i2c>;
- tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>;
- tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>;
- mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>;
- los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
- maximum-power-milliwatt = <2000>;
- };
-};
-
-/* XG1 - Upper SFP */
-&dpmac1 {
- sfp = <&sfp_xg1>;
- pcs-handle = <&pcs1>;
- phy-connection-type = "10gbase-r";
- managed = "in-band-status";
-};
-
-/* XG0 - Lower SFP */
-&dpmac2 {
- sfp = <&sfp_xg0>;
- pcs-handle = <&pcs2>;
- phy-connection-type = "10gbase-r";
- managed = "in-band-status";
-};
-
-/* DPMAC3..6 is GE4 to GE8 */
-&dpmac3 {
- phy-handle = <&mdio1_phy5>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_0>;
-};
-
-&dpmac4 {
- phy-handle = <&mdio1_phy6>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_1>;
-};
-
-&dpmac5 {
- phy-handle = <&mdio1_phy7>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_2>;
-};
-
-&dpmac6 {
- phy-handle = <&mdio1_phy8>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_3>;
-};
-
-/* DPMAC7..10 is GE0 to GE3 */
-&dpmac7 {
- phy-handle = <&mdio1_phy1>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_0>;
-};
-
-&dpmac8 {
- phy-handle = <&mdio1_phy2>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_1>;
-};
-
-&dpmac9 {
- phy-handle = <&mdio1_phy3>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_2>;
-};
-
-&dpmac10 {
- phy-handle = <&mdio1_phy4>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_3>;
-};
-
-&duart0 {
- status = "okay";
-};
-
-&duart1 {
- status = "okay";
-};
-
-&emdio1 {
- status = "okay";
-
- mdio1_phy5: ethernet-phy@c {
- reg = <0xc>;
- };
-
- mdio1_phy6: ethernet-phy@d {
- reg = <0xd>;
- };
-
- mdio1_phy7: ethernet-phy@e {
- reg = <0xe>;
- };
-
- mdio1_phy8: ethernet-phy@f {
- reg = <0xf>;
- };
-
- mdio1_phy1: ethernet-phy@1c {
- reg = <0x1c>;
- };
-
- mdio1_phy2: ethernet-phy@1d {
- reg = <0x1d>;
- };
-
- mdio1_phy3: ethernet-phy@1e {
- reg = <0x1e>;
- };
-
- mdio1_phy4: ethernet-phy@1f {
- reg = <0x1f>;
- };
-};
-
-&esdhc {
- status = "okay";
-};
-
-&i2c0 {
- status = "okay";
-
- sfpgpio: gpio@76 {
- compatible = "ti,tca9539";
- reg = <0x76>;
- #gpio-cells = <2>;
- gpio-controller;
-
- admin_led_lower {
- gpio-hog;
- gpios = <13 GPIO_ACTIVE_HIGH>;
- output-low;
- };
- };
-
- at97sc: tpm@29 {
- compatible = "atmel,at97sc3204t";
- reg = <0x29>;
- };
-};
-
-&i2c2 {
- status = "okay";
-
- rx8035: rtc@32 {
- compatible = "epson,rx8035";
- reg = <0x32>;
- };
-};
-
-&i2c3 {
- status = "okay";
-
- i2c-mux@70 {
- compatible = "nxp,pca9540";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x70>;
-
- sfpupper_i2c: i2c@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0>;
- };
-
- sfplower_i2c: i2c@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <1>;
- };
- };
-};
-
-&pcs_mdio1 {
- status = "okay";
-};
-
-&pcs_mdio2 {
- status = "okay";
-};
-
-&pcs_mdio3 {
- status = "okay";
-};
-
-&pcs_mdio7 {
- status = "okay";
-};
-
-&qspi {
- status = "okay";
-
- en25s64: flash@0 {
- compatible = "jedec,spi-nor";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <0>;
- spi-max-frequency = <20000000>;
- spi-rx-bus-width = <4>;
- spi-tx-bus-width = <4>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "bl2";
- reg = <0 0x100000>;
- };
-
- partition@100000 {
- label = "bl3";
- reg = <0x100000 0x200000>;
- };
-
- partition@300000 {
- label = "mcfirmware";
- reg = <0x300000 0x200000>;
- };
-
- partition@500000 {
- label = "ubootenv";
- reg = <0x500000 0x80000>;
- };
-
- partition@580000 {
- label = "dpl";
- reg = <0x580000 0x40000>;
- };
-
- partition@5C0000 {
- label = "dpc";
- reg = <0x5C0000 0x40000>;
- };
-
- partition@600000 {
- label = "devicetree";
- reg = <0x600000 0x40000>;
- };
- };
- };
-
- nand: flash@1 {
- compatible = "spi-nand";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <1>;
- spi-max-frequency = <20000000>;
- spi-rx-bus-width = <4>;
- spi-tx-bus-width = <4>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- /* reserved for future boot direct from NAND flash
- * (this would use the same layout as the 8MiB NOR flash)
- */
- partition@0 {
- label = "nand-boot-reserved";
- reg = <0 0x800000>;
- };
-
- /* recovery / install environment */
- partition@800000 {
- label = "recovery";
- reg = <0x800000 0x2000000>;
- };
-
- /* ubia (first OpenWrt) - a/b names to prevent confusion with ubi0/1/etc. */
- partition@2800000 {
- label = "ubia";
- reg = <0x2800000 0x6C00000>;
- };
-
- /* ubib (second OpenWrt) */
- partition@9400000 {
- label = "ubib";
- reg = <0x9400000 0x6C00000>;
- };
- };
- };
-};
-
-&usb0 {
- status = "okay";
-};
-
-&usb1 {
- status = "okay";
-};
diff --git a/arch/arm/dts/fsl-ls1088a-u-boot.dtsi b/arch/arm/dts/fsl-ls1088a-u-boot.dtsi
index efcfdd96aef..8ae45f6a638 100644
--- a/arch/arm/dts/fsl-ls1088a-u-boot.dtsi
+++ b/arch/arm/dts/fsl-ls1088a-u-boot.dtsi
@@ -55,9 +55,14 @@
&usb0 {
compatible = "fsl,layerscape-dwc3", "snps,dwc3";
+ status = "okay";
};
&usb1 {
compatible = "fsl,layerscape-dwc3", "snps,dwc3";
+ status = "okay";
};
+&esdhc {
+ status = "okay";
+};
diff --git a/arch/arm/dts/fsl-ls1088a.dtsi b/arch/arm/dts/fsl-ls1088a.dtsi
index e5fb137ac02..9a62f148d8e 100644
--- a/arch/arm/dts/fsl-ls1088a.dtsi
+++ b/arch/arm/dts/fsl-ls1088a.dtsi
@@ -978,51 +978,61 @@
dpmac1: ethernet@1 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <1>;
+ status = "disabled";
};
dpmac2: ethernet@2 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <2>;
+ status = "disabled";
};
dpmac3: ethernet@3 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <3>;
+ status = "disabled";
};
dpmac4: ethernet@4 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <4>;
+ status = "disabled";
};
dpmac5: ethernet@5 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <5>;
+ status = "disabled";
};
dpmac6: ethernet@6 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <6>;
+ status = "disabled";
};
dpmac7: ethernet@7 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <7>;
+ status = "disabled";
};
dpmac8: ethernet@8 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <8>;
+ status = "disabled";
};
dpmac9: ethernet@9 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <9>;
+ status = "disabled";
};
dpmac10: ethernet@a {
compatible = "fsl,qoriq-mc-dpmac";
reg = <0xa>;
+ status = "disabled";
};
};
};
diff --git a/arch/arm/dts/fsl-ls2080a-qds.dtsi b/arch/arm/dts/fsl-ls2080a-qds.dtsi
index cb7851f2cc0..f442baa8bfe 100644
--- a/arch/arm/dts/fsl-ls2080a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls2080a-qds.dtsi
@@ -31,7 +31,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -40,7 +40,7 @@
spi-cpha;
reg = <0>;
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
@@ -49,7 +49,7 @@
spi-cpha;
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls2080a-rdb.dts b/arch/arm/dts/fsl-ls2080a-rdb.dts
index 0a87caeba96..5a9b5c06e23 100644
--- a/arch/arm/dts/fsl-ls2080a-rdb.dts
+++ b/arch/arm/dts/fsl-ls2080a-rdb.dts
@@ -22,7 +22,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q512a {
+ dflash0: n25q512a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls2080a.dtsi b/arch/arm/dts/fsl-ls2080a.dtsi
index d754eb4d5cc..c1173a95f24 100644
--- a/arch/arm/dts/fsl-ls2080a.dtsi
+++ b/arch/arm/dts/fsl-ls2080a.dtsi
@@ -118,7 +118,7 @@
interrupts = <0 35 0x4>; /* Level high type */
};
- dspi: dspi@2100000 {
+ dspi: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -127,7 +127,7 @@
spi-num-chipselects = <6>;
};
- qspi: quadspi@1550000 {
+ qspi: spi@1550000 {
compatible = "fsl,ls2080a-qspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/dts/fsl-ls2081a-rdb.dts b/arch/arm/dts/fsl-ls2081a-rdb.dts
index b0b7ef08a02..61f0ed9b821 100644
--- a/arch/arm/dts/fsl-ls2081a-rdb.dts
+++ b/arch/arm/dts/fsl-ls2081a-rdb.dts
@@ -25,7 +25,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q512a {
+ dflash0: n25q512a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts b/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts
index a609290000f..1884946cc7a 100644
--- a/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts
+++ b/arch/arm/dts/fsl-ls2088a-rdb-qspi.dts
@@ -113,7 +113,7 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q512a {
+ dflash0: n25q512a@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
diff --git a/arch/arm/dts/fsl-lx2160a-qds.dtsi b/arch/arm/dts/fsl-lx2160a-qds.dtsi
index e96605b1b4f..6fa36de0622 100644
--- a/arch/arm/dts/fsl-lx2160a-qds.dtsi
+++ b/arch/arm/dts/fsl-lx2160a-qds.dtsi
@@ -31,28 +31,28 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -64,28 +64,28 @@
bus-num = <0>;
status = "okay";
- dflash3: n25q128a {
+ dflash3: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash4: sst25wf040b {
+ dflash4: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash5: en25s64 {
+ dflash5: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -97,28 +97,28 @@
bus-num = <0>;
status = "okay";
- dflash6: n25q128a {
+ dflash6: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash7: sst25wf040b {
+ dflash7: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash8: en25s64 {
+ dflash8: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
diff --git a/arch/arm/dts/fsl-lx2160a.dtsi b/arch/arm/dts/fsl-lx2160a.dtsi
index 680c69c7b73..4b4b1c100b8 100644
--- a/arch/arm/dts/fsl-lx2160a.dtsi
+++ b/arch/arm/dts/fsl-lx2160a.dtsi
@@ -134,7 +134,7 @@
<1 10 0x8>; /* Hypervisor PPI, active-low */
};
- fspi: flexspi@20c0000 {
+ fspi: spi@20c0000 {
compatible = "nxp,lx2160a-fspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -221,7 +221,7 @@
status = "disabled";
};
- dspi0: dspi@2100000 {
+ dspi0: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -230,7 +230,7 @@
spi-num-chipselects = <6>;
};
- dspi1: dspi@2110000 {
+ dspi1: spi@2110000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -239,7 +239,7 @@
spi-num-chipselects = <6>;
};
- dspi2: dspi@2120000 {
+ dspi2: spi@2120000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/dts/fsl-lx2162a-qds.dts b/arch/arm/dts/fsl-lx2162a-qds.dts
index 0ca30df8620..4eaf982529d 100644
--- a/arch/arm/dts/fsl-lx2162a-qds.dts
+++ b/arch/arm/dts/fsl-lx2162a-qds.dts
@@ -41,28 +41,28 @@
bus-num = <0>;
status = "okay";
- dflash0: n25q128a {
+ dflash0: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash1: sst25wf040b {
+ dflash1: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash2: en25s64 {
+ dflash2: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -74,28 +74,28 @@
bus-num = <0>;
status = "okay";
- dflash3: n25q128a {
+ dflash3: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash4: sst25wf040b {
+ dflash4: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash5: en25s64 {
+ dflash5: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
@@ -107,28 +107,28 @@
bus-num = <0>;
status = "okay";
- dflash6: n25q128a {
+ dflash6: n25q128a@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <0>;
};
- dflash7: sst25wf040b {
+ dflash7: sst25wf040b@1 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
reg = <1>;
};
- dflash8: en25s64 {
+ dflash8: en25s64@2 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <3000000>;
spi-cpol;
spi-cpha;
diff --git a/arch/arm/dts/ls1021a-tsn.dts b/arch/arm/dts/ls1021a-tsn.dts
index e74d0956194..b5d9caa73e6 100644
--- a/arch/arm/dts/ls1021a-tsn.dts
+++ b/arch/arm/dts/ls1021a-tsn.dts
@@ -173,7 +173,7 @@
status = "okay";
flash@0 {
- compatible = "spi-flash";
+ compatible = "jedec,spi-nor";
spi-max-frequency = <20000000>;
reg = <0>;
};
diff --git a/arch/arm/dts/ls1021a.dtsi b/arch/arm/dts/ls1021a.dtsi
index 4f65ee765e3..005a40eff23 100644
--- a/arch/arm/dts/ls1021a.dtsi
+++ b/arch/arm/dts/ls1021a.dtsi
@@ -205,7 +205,7 @@
clocks = <&sysclk>;
};
- dspi0: dspi@2100000 {
+ dspi0: spi@2100000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -218,7 +218,7 @@
status = "disabled";
};
- dspi1: dspi@2110000 {
+ dspi1: spi@2110000 {
compatible = "fsl,vf610-dspi";
#address-cells = <1>;
#size-cells = <0>;
@@ -231,7 +231,7 @@
status = "disabled";
};
- qspi: quadspi@1550000 {
+ qspi: spi@1550000 {
compatible = "fsl,ls1021a-qspi";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
index 650783ae732..eba7bae9351 100644
--- a/arch/arm/include/asm/gpio.h
+++ b/arch/arm/include/asm/gpio.h
@@ -1,3 +1,5 @@
+#include <linux/types.h>
+
#ifdef CONFIG_GPIO_EXTRA_HEADER
#include <asm/arch/gpio.h>
#endif
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
index 55152ab227e..cb564b32c07 100644
--- a/arch/powerpc/cpu/mpc85xx/Kconfig
+++ b/arch/powerpc/cpu/mpc85xx/Kconfig
@@ -1375,7 +1375,7 @@ config SYS_L3_SIZE
int
default 262144 if SYS_L3_SIZE_256KB
default 524288 if SYS_L3_SIZE_512KB
- default 1048576 if SYS_L3_SIZE_512KB
+ default 1048576 if SYS_L3_SIZE_1024KB
config SYS_PPC64
bool
diff --git a/board/traverse/ten64/ten64.c b/board/traverse/ten64/ten64.c
index d41bd2e9dee..5941ed11a60 100644
--- a/board/traverse/ten64/ten64.c
+++ b/board/traverse/ten64/ten64.c
@@ -186,6 +186,58 @@ void fdt_fixup_board_enet(void *fdt)
fdt_status_fail(fdt, offset);
}
+/* The onboard USB hub driver (microchip,usb5744)
+ * can cause a disconnect-reconnect loop if the operating system
+ * attempts to re-initialise the hub after U-Boot has already done it.
+ * (This process only needs to be done once per system RESET cycle)
+ *
+ * To avoid this condition, make the hub topology invisible
+ * to the operating system.
+ * It is also required to remove the hub on boards
+ * without it (RevD).
+ *
+ * The USB hub fixup may fail for legitimate reasons:
+ * 1. FDT has already been fixed. For example, the control
+ * FDT previously modified by board_fix_fdt is
+ * re-used for bootflow.
+ * 2. The FDT blob is based on an older version
+ * without the hub topology, such as older OpenWrt
+ * FIT images with their own device tree.
+ */
+int fdt_fixup_usb_hub(void *fdt)
+{
+ int usb1_hub2744_offset, usb1_hub5744_offset;
+ int i2c_usb5744_offset;
+ int err;
+
+ usb1_hub2744_offset = fdt_path_offset(fdt, "/soc/usb@3110000/hub@1");
+
+ if (usb1_hub2744_offset < 0)
+ return usb1_hub2744_offset;
+
+ err = fdt_del_node(fdt, usb1_hub2744_offset);
+ if (err)
+ return err;
+
+ usb1_hub5744_offset = fdt_path_offset(fdt, "/soc/usb@3110000/hub@2");
+ if (usb1_hub5744_offset < 0)
+ return usb1_hub5744_offset;
+
+ err = fdt_del_node(fdt, usb1_hub5744_offset);
+ if (err)
+ return err;
+
+ i2c_usb5744_offset = fdt_path_offset(fdt, "/soc/i2c@2000000/usb-hub@2d");
+ if (i2c_usb5744_offset < 0)
+ return i2c_usb5744_offset;
+
+ err = fdt_setprop_string(fdt, i2c_usb5744_offset, "status", "disabled");
+ if (err)
+ return err;
+
+ return 0;
+}
+
/* Called after SoC board_late_init in fsl-layerscape/soc.c */
int fsl_board_late_init(void)
{
@@ -251,6 +303,24 @@ int ft_board_setup(void *blob, struct bd_info *bd)
fdt_fixup_icid(blob);
+ /* This fixup may fail for legitimate
+ * reasons (see comments for fdt_fixup_usb_hub).
+ * Hence, errors with it are silently ignored.
+ */
+ fdt_fixup_usb_hub(blob);
+ return 0;
+}
+
+/* board_fix_fdt: fixup function for internal (U-Boot) FDT */
+int board_fix_fdt(void *fdt)
+{
+ u32 board_rev = ten64_get_board_rev();
+
+ /* Delete USB Hub references in U-Boot's FDT on
+ * boards without one.
+ */
+ if (board_rev == TEN64_BOARD_REV_D)
+ fdt_fixup_usb_hub(fdt);
return 0;
}
diff --git a/configs/ten64_tfa_defconfig b/configs/ten64_tfa_defconfig
index a65209e8335..7c1aaabfa4e 100644
--- a/configs/ten64_tfa_defconfig
+++ b/configs/ten64_tfa_defconfig
@@ -7,7 +7,7 @@ CONFIG_ENV_SIZE=0x80000
CONFIG_ENV_OFFSET=0x500000
CONFIG_ENV_SECT_SIZE=0x80000
CONFIG_DM_GPIO=y
-CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-ten64"
+CONFIG_DEFAULT_DEVICE_TREE="freescale/fsl-ls1088a-ten64"
CONFIG_QSPI_AHB_INIT=y
CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y
CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y
@@ -21,8 +21,10 @@ CONFIG_FIT_VERBOSE=y
CONFIG_BOOTSTD_FULL=y
CONFIG_BOOTSTD_BOOTCOMMAND=y
CONFIG_DISTRO_DEFAULTS=y
+CONFIG_OF_BOARD_FIXUP=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_OF_STDOUT_VIA_ALIAS=y
+CONFIG_OF_UPSTREAM=y
CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x3000000 default_hugepagesz=2m hugepagesz=2m hugepages=256"
CONFIG_SYS_PBSIZE=532
@@ -88,7 +90,10 @@ CONFIG_DM_SPI=y
CONFIG_FSL_DSPI=y
CONFIG_FSL_QSPI=y
CONFIG_TPM_ATMEL_TWI=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start"
CONFIG_USB=y
+CONFIG_USB_ONBOARD_HUB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_DWC3=y