Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
07b45cf53b | ||
|
0e9cdc48e8 | ||
|
67dc98c14e | ||
|
acdf39112b | ||
|
bc1ed3c540 | ||
|
00ec183a4d | ||
|
f61ccc7081 | ||
|
f9e4eb9671 |
@ -1,29 +0,0 @@
|
|||||||
From 1849ef423238aeb1732eb3b8e67eb46bc21401c7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Thu, 10 Sep 2020 14:24:12 +0100
|
|
||||||
Subject: [PATCH] Fix BeagleAI detection
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
board/ti/am57xx/board.c | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
|
|
||||||
index 7809875510..3232812a97 100644
|
|
||||||
--- a/board/ti/am57xx/board.c
|
|
||||||
+++ b/board/ti/am57xx/board.c
|
|
||||||
@@ -527,8 +527,10 @@ void do_board_detect(void)
|
|
||||||
|
|
||||||
rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
|
|
||||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
|
||||||
- if (rc)
|
|
||||||
+ if (rc) {
|
|
||||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
|
||||||
+ ti_i2c_eeprom_am_set("BBONE-AI", "A");
|
|
||||||
+ }
|
|
||||||
|
|
||||||
#ifdef CONFIG_SUPPORT_EMMC_BOOT
|
|
||||||
rc = board_bootmode_has_emmc();
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,518 +0,0 @@
|
|||||||
From 25ce28126444900b7b3efef36c6b9d15a6ab9af1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Wed, 28 Oct 2020 10:08:44 +0000
|
|
||||||
Subject: [PATCH] Fixes for AllWinner ethernet network interfaces
|
|
||||||
|
|
||||||
The upstream kernel in fixing stuff has broken stuff.
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
arch/arm/dts/sun50i-a64-bananapi-m64.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-nanopi-a64.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-oceanic-5205-5inmfd.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-olinuxino.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-orangepi-win.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-pine64-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-libretech-all-h5-cc.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-nanopi-neo2.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-orangepi-pc2.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-orangepi-prime.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h6-beelink-gs1.dts | 2 +-
|
|
||||||
arch/arm/dts/sun50i-h6-pine-h64.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-bananapi.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-bananapro.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-cubietruck.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-hummingbird.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-lamobo-r1.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-olimex-som-evb.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-olimex-som204-evb.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-olinuxino-lime2.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-orangepi-mini.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-orangepi.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-pcduino3-nano.dts | 2 +-
|
|
||||||
arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-a83t-bananapi-m3.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-a83t-cubietruck-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-h3-orangepi-plus.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-h3-orangepi-plus2e.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts | 2 +-
|
|
||||||
arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts | 2 +-
|
|
||||||
arch/arm/dts/sunxi-bananapi-m2-plus.dtsi | 2 +-
|
|
||||||
36 files changed, 36 insertions(+), 36 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
|
|
||||||
index ef1c90401b..e1c22aeb29 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
|
|
||||||
@@ -112,7 +112,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_dc1sw>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-nanopi-a64.dts b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
|
|
||||||
index 31884dbc88..03ebe3e44b 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-nanopi-a64.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
|
|
||||||
@@ -102,7 +102,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_dcdc1>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-oceanic-5205-5inmfd.dts b/arch/arm/dts/sun50i-a64-oceanic-5205-5inmfd.dts
|
|
||||||
index 6a2154525d..94caf110ab 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-oceanic-5205-5inmfd.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-oceanic-5205-5inmfd.dts
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_dc1sw>;
|
|
||||||
allwinner,tx-delay-ps = <600>;
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-olinuxino.dts b/arch/arm/dts/sun50i-a64-olinuxino.dts
|
|
||||||
index f7a4bccaa5..2396d9b797 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-olinuxino.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-olinuxino.dts
|
|
||||||
@@ -102,7 +102,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_dcdc1>;
|
|
||||||
allwinner,tx-delay-ps = <600>;
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-orangepi-win.dts b/arch/arm/dts/sun50i-a64-orangepi-win.dts
|
|
||||||
index b0c64f7579..5b5d4f31b6 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-orangepi-win.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-orangepi-win.dts
|
|
||||||
@@ -127,7 +127,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-pine64-plus.dts b/arch/arm/dts/sun50i-a64-pine64-plus.dts
|
|
||||||
index 24f1aac366..b09b4276f1 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-pine64-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-pine64-plus.dts
|
|
||||||
@@ -52,7 +52,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-txid";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
|
|
||||||
index 53fcc9098d..4a50a18128 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
|
|
||||||
@@ -95,7 +95,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_dc1sw>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-libretech-all-h5-cc.dts b/arch/arm/dts/sun50i-h5-libretech-all-h5-cc.dts
|
|
||||||
index df1b9263ad..6e30a564c8 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-libretech-all-h5-cc.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-libretech-all-h5-cc.dts
|
|
||||||
@@ -36,7 +36,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
/delete-property/ allwinner,leds-active-low;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
|
|
||||||
index 4f9ba53ffa..9d93fe1536 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
|
|
||||||
@@ -96,7 +96,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-nanopi-neo2.dts b/arch/arm/dts/sun50i-h5-nanopi-neo2.dts
|
|
||||||
index b059e20813..e8ab8c2df5 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-nanopi-neo2.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-nanopi-neo2.dts
|
|
||||||
@@ -75,7 +75,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts
|
|
||||||
index 70b5f09984..6cc567ea99 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts
|
|
||||||
@@ -118,7 +118,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-orangepi-prime.dts b/arch/arm/dts/sun50i-h5-orangepi-prime.dts
|
|
||||||
index cb44bfa598..33ab44072e 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-orangepi-prime.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-orangepi-prime.dts
|
|
||||||
@@ -124,7 +124,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts b/arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts
|
|
||||||
index ef5ca64442..de448ca51e 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h5-orangepi-zero-plus.dts
|
|
||||||
@@ -69,7 +69,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h6-beelink-gs1.dts b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
|
|
||||||
index 0dc33c90dd..024035d36e 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h6-beelink-gs1.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
|
|
||||||
@@ -64,7 +64,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&ext_rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_aldo2>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun50i-h6-pine-h64.dts b/arch/arm/dts/sun50i-h6-pine-h64.dts
|
|
||||||
index 1898345183..13fbf26817 100644
|
|
||||||
--- a/arch/arm/dts/sun50i-h6-pine-h64.dts
|
|
||||||
+++ b/arch/arm/dts/sun50i-h6-pine-h64.dts
|
|
||||||
@@ -66,7 +66,7 @@
|
|
||||||
&emac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&ext_rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
phy-supply = <®_aldo2>;
|
|
||||||
allwinner,rx-delay-ps = <200>;
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
|
|
||||||
index e2bfe00588..4dbcad1343 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
|
|
||||||
@@ -130,7 +130,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-bananapi.dts b/arch/arm/dts/sun7i-a20-bananapi.dts
|
|
||||||
index 81bc85d398..33040c43bc 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-bananapi.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-bananapi.dts
|
|
||||||
@@ -132,7 +132,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-bananapro.dts b/arch/arm/dts/sun7i-a20-bananapro.dts
|
|
||||||
index 0176e9de01..8a75545e22 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-bananapro.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-bananapro.dts
|
|
||||||
@@ -110,7 +110,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-cubietruck.dts b/arch/arm/dts/sun7i-a20-cubietruck.dts
|
|
||||||
index 99f531b8d2..46a9f4669e 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-cubietruck.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-cubietruck.dts
|
|
||||||
@@ -151,7 +151,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-hummingbird.dts b/arch/arm/dts/sun7i-a20-hummingbird.dts
|
|
||||||
index fd0153f656..5c3d107094 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-hummingbird.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-hummingbird.dts
|
|
||||||
@@ -101,7 +101,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_vdd>;
|
|
||||||
/* phy reset config */
|
|
||||||
snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
|
|
||||||
index f91e1bee44..8173d77c12 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-lamobo-r1.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
|
|
||||||
@@ -120,7 +120,7 @@
|
|
||||||
&gmac {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
/delete-property/#address-cells;
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
|
|
||||||
index f0e6a96e57..f0c5160ff8 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
|
|
||||||
@@ -112,7 +112,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts b/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
|
|
||||||
index 823aabce04..ff42708137 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
|
|
||||||
@@ -106,7 +106,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy3>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_vcc3v3>;
|
|
||||||
|
|
||||||
snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>;
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
|
|
||||||
index 4e1c590eb0..996201665b 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
|
|
||||||
@@ -112,7 +112,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-orangepi-mini.dts b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
|
|
||||||
index 15881081ca..b80215c61c 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-orangepi-mini.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
|
|
||||||
@@ -121,7 +121,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-orangepi.dts b/arch/arm/dts/sun7i-a20-orangepi.dts
|
|
||||||
index d64de2e73a..66efb7d1ab 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-orangepi.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-orangepi.dts
|
|
||||||
@@ -97,7 +97,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
|
|
||||||
index 538ea15fa3..205eaae44a 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
|
|
||||||
@@ -115,7 +115,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
diff --git a/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts b/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
|
|
||||||
index c27e56091f..56cc5791c4 100644
|
|
||||||
--- a/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
|
|
||||||
+++ b/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
|
|
||||||
@@ -82,7 +82,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
diff --git a/arch/arm/dts/sun8i-a83t-bananapi-m3.dts b/arch/arm/dts/sun8i-a83t-bananapi-m3.dts
|
|
||||||
index eaff6fa401..2beafe3a31 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-a83t-bananapi-m3.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-a83t-bananapi-m3.dts
|
|
||||||
@@ -123,7 +123,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_sw>;
|
|
||||||
phy-handle = <&rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
allwinner,rx-delay-ps = <700>;
|
|
||||||
allwinner,tx-delay-ps = <700>;
|
|
||||||
status = "okay";
|
|
||||||
diff --git a/arch/arm/dts/sun8i-a83t-cubietruck-plus.dts b/arch/arm/dts/sun8i-a83t-cubietruck-plus.dts
|
|
||||||
index 5dba4fc310..ecd9ff38a8 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-a83t-cubietruck-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-a83t-cubietruck-plus.dts
|
|
||||||
@@ -160,7 +160,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_dldo4>;
|
|
||||||
phy-handle = <&rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts
|
|
||||||
index 4ba533b034..bc370d4ea1 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-h3-nanopi-m1-plus.dts
|
|
||||||
@@ -96,7 +96,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/dts/sun8i-h3-orangepi-plus.dts
|
|
||||||
index 97f497854e..d05fa679dc 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-h3-orangepi-plus.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-h3-orangepi-plus.dts
|
|
||||||
@@ -85,7 +85,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts
|
|
||||||
index 6dbf7b2e0c..b6ca45d18e 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts
|
|
||||||
@@ -67,7 +67,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts
|
|
||||||
index c488aaacbd..9c20245eef 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts
|
|
||||||
@@ -129,7 +129,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy-handle = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_dc1sw>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts
|
|
||||||
index 15c22b06fc..3ab6f47cea 100644
|
|
||||||
--- a/arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts
|
|
||||||
+++ b/arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts
|
|
||||||
@@ -120,7 +120,7 @@
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
|
||||||
phy-handle = <&phy1>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
phy-supply = <®_dc1sw>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/sunxi-bananapi-m2-plus.dtsi b/arch/arm/dts/sunxi-bananapi-m2-plus.dtsi
|
|
||||||
index 39263e74fb..8e5cb3b3fd 100644
|
|
||||||
--- a/arch/arm/dts/sunxi-bananapi-m2-plus.dtsi
|
|
||||||
+++ b/arch/arm/dts/sunxi-bananapi-m2-plus.dtsi
|
|
||||||
@@ -126,7 +126,7 @@
|
|
||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
|
||||||
phy-supply = <®_gmac_3v3>;
|
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
|
||||||
- phy-mode = "rgmii";
|
|
||||||
+ phy-mode = "rgmii-id";
|
|
||||||
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
--
|
|
||||||
2.28.0
|
|
||||||
|
|
127
0001-arm-mvebu-enable-generic-distro-boot-config.patch
Normal file
127
0001-arm-mvebu-enable-generic-distro-boot-config.patch
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
From 09339c34eeab4a73d5dfa48034b6c8ae8a775c14 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Tue, 14 Feb 2017 13:15:23 +0000
|
||||||
|
Subject: [PATCH] arm: mvebu: enable generic distro boot config
|
||||||
|
|
||||||
|
Switch all of the mvebu boards to support disto generic booting
|
||||||
|
This will enable Fedora, Debian and other distros to support
|
||||||
|
mvebu systems easier. Tested on SolidRun ClearFog
|
||||||
|
|
||||||
|
Signed-off-by: Dennis Gilmore <dgilmore@redhat.com>
|
||||||
|
---
|
||||||
|
include/configs/clearfog.h | 5 ---
|
||||||
|
include/configs/mv-common.h | 84 +++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
2 files changed, 84 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
|
||||||
|
index 0c51d2a..0034604 100644
|
||||||
|
--- a/include/configs/clearfog.h
|
||||||
|
+++ b/include/configs/clearfog.h
|
||||||
|
@@ -79,11 +79,6 @@
|
||||||
|
|
||||||
|
#define CONFIG_SYS_ALT_MEMTEST
|
||||||
|
|
||||||
|
-/* Keep device tree and initrd in lower memory so the kernel can access them */
|
||||||
|
-#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
- "fdt_high=0x10000000\0" \
|
||||||
|
- "initrd_high=0x10000000\0"
|
||||||
|
-
|
||||||
|
/* SPL */
|
||||||
|
/*
|
||||||
|
* Select the boot device here
|
||||||
|
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
|
||||||
|
index 25562fa..aebfabe 100644
|
||||||
|
--- a/include/configs/mv-common.h
|
||||||
|
+++ b/include/configs/mv-common.h
|
||||||
|
@@ -139,4 +139,88 @@
|
||||||
|
#define CONFIG_LZO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef CONFIG_SPL_BUILD
|
||||||
|
+#include <config_distro_defaults.h>
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+* 160M RAM (256M minimum minus 64MB heap + 32MB for u-boot, stack, fb, etc.
|
||||||
|
+* 32M uncompressed kernel, 16M compressed kernel, 1M fdt,
|
||||||
|
+* 1M script, 1M pxe and the ramdisk at the end.
|
||||||
|
+*/
|
||||||
|
+#define SDRAM_OFFSET(x) 0x0##x
|
||||||
|
+
|
||||||
|
+#define KERNEL_ADDR_R __stringify(SDRAM_OFFSET(2000000))
|
||||||
|
+#define FDT_ADDR_R __stringify(SDRAM_OFFSET(3000000))
|
||||||
|
+#define SCRIPT_ADDR_R __stringify(SDRAM_OFFSET(3100000))
|
||||||
|
+#define PXEFILE_ADDR_R __stringify(SDRAM_OFFSET(3200000))
|
||||||
|
+#define RAMDISK_ADDR_R __stringify(SDRAM_OFFSET(3300000))
|
||||||
|
+
|
||||||
|
+#define MEM_LAYOUT_ENV_SETTINGS \
|
||||||
|
+ "bootm_size=0xa000000\0" \
|
||||||
|
+ "kernel_addr_r=" KERNEL_ADDR_R "\0" \
|
||||||
|
+ "fdt_addr_r=" FDT_ADDR_R "\0" \
|
||||||
|
+ "scriptaddr=" SCRIPT_ADDR_R "\0" \
|
||||||
|
+ "pxefile_addr_r=" PXEFILE_ADDR_R "\0" \
|
||||||
|
+ "ramdisk_addr_r=" RAMDISK_ADDR_R "\0"
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_MMC
|
||||||
|
+#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_MMC(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_CMD_SATA
|
||||||
|
+#define BOOT_TARGET_DEVICES_SATA(func) func(SATA, sata, 0) func(SATA, sata, 1)
|
||||||
|
+#define CONFIG_PREBOOT "sata init"
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_SATA(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_USB_STORAGE
|
||||||
|
+#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_USB(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
+ BOOT_TARGET_DEVICES_MMC(func) \
|
||||||
|
+ BOOT_TARGET_DEVICES_SATA(func) \
|
||||||
|
+ BOOT_TARGET_DEVICES_USB(func) \
|
||||||
|
+ func(PXE, pxe, na)
|
||||||
|
+
|
||||||
|
+#include <config_distro_bootcmd.h>
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_USB_KEYBOARD
|
||||||
|
+#define CONSOLE_STDIN_SETTINGS \
|
||||||
|
+ "preboot=usb start\0" \
|
||||||
|
+ "stdin=serial,usbkbd\0"
|
||||||
|
+#else
|
||||||
|
+#define CONSOLE_STDIN_SETTINGS \
|
||||||
|
+ "stdin=serial\0"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_VIDEO
|
||||||
|
+#define CONSOLE_STDOUT_SETTINGS \
|
||||||
|
+ "stdout=serial,vga\0" \
|
||||||
|
+ "stderr=serial,vga\0"
|
||||||
|
+#else
|
||||||
|
+#define CONSOLE_STDOUT_SETTINGS \
|
||||||
|
+ "stdout=serial\0" \
|
||||||
|
+ "stderr=serial\0"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define CONSOLE_ENV_SETTINGS \
|
||||||
|
+ CONSOLE_STDIN_SETTINGS \
|
||||||
|
+ CONSOLE_STDOUT_SETTINGS
|
||||||
|
+
|
||||||
|
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
+ CONSOLE_ENV_SETTINGS \
|
||||||
|
+ MEM_LAYOUT_ENV_SETTINGS \
|
||||||
|
+ "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
|
||||||
|
+ "console=ttyS0,115200\0" \
|
||||||
|
+ BOOTENV
|
||||||
|
+#else /* ifndef CONFIG_SPL_BUILD */
|
||||||
|
+#define CONFIG_EXTRA_ENV_SETTINGS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif /* _MV_COMMON_H */
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
1947
AW64-add-spl-atf-support.patch
Normal file
1947
AW64-add-spl-atf-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,45 +0,0 @@
|
|||||||
From 6bf15552c2b6becb48ce7732120e0ddb2078cb1a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Tue, 14 Apr 2020 09:53:07 +0100
|
|
||||||
Subject: [PATCH 9/9] initial pinetab support
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
configs/pinetab_defconfig | 26 ++++++++++++++++++++++++++
|
|
||||||
1 file changed, 26 insertions(+)
|
|
||||||
create mode 100644 configs/pinetab_defconfig
|
|
||||||
|
|
||||||
diff --git a/configs/pinetab_defconfig b/configs/pinetab_defconfig
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..5b9620f3e5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/configs/pinetab_defconfig
|
|
||||||
@@ -0,0 +1,26 @@
|
|
||||||
+CONFIG_ARM=y
|
|
||||||
+CONFIG_ARCH_SUNXI=y
|
|
||||||
+CONFIG_SPL=y
|
|
||||||
+CONFIG_MACH_SUN50I=y
|
|
||||||
+CONFIG_SUNXI_DRAM_LPDDR3_STOCK=y
|
|
||||||
+CONFIG_DRAM_CLK=552
|
|
||||||
+CONFIG_DRAM_ZQ=3881949
|
|
||||||
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
|
|
||||||
+CONFIG_R_I2C_ENABLE=y
|
|
||||||
+CONFIG_SPL_SPI_SUNXI=y
|
|
||||||
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
|
||||||
+CONFIG_USE_PREBOOT=y
|
|
||||||
+# CONFIG_SPL_DOS_PARTITION is not set
|
|
||||||
+# CONFIG_SPL_EFI_PARTITION is not set
|
|
||||||
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinetab"
|
|
||||||
+CONFIG_OF_LIST="sun50i-a64-pinetab"
|
|
||||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
+CONFIG_DM_REGULATOR=y
|
|
||||||
+CONFIG_DM_REGULATOR_FIXED=y
|
|
||||||
+CONFIG_DM_PWM=y
|
|
||||||
+CONFIG_PWM_SUNXI=y
|
|
||||||
+CONFIG_LED=y
|
|
||||||
+CONFIG_LED_GPIO=y
|
|
||||||
+CONFIG_USB_EHCI_HCD=y
|
|
||||||
+CONFIG_USB_OHCI_HCD=y
|
|
||||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
|
||||||
--
|
|
||||||
2.26.0
|
|
File diff suppressed because it is too large
Load Diff
@ -1,75 +1,13 @@
|
|||||||
a64-olinuxino
|
|
||||||
amarula_a64_relic
|
|
||||||
bananapi_m2_plus_h5
|
|
||||||
bananapi_m64
|
|
||||||
dragonboard410c
|
dragonboard410c
|
||||||
dragonboard820c
|
|
||||||
espresso7420
|
espresso7420
|
||||||
evb-rk3328
|
|
||||||
evb-rk3399
|
evb-rk3399
|
||||||
ficus-rk3399
|
|
||||||
firefly-rk3399
|
|
||||||
geekbox
|
|
||||||
hikey
|
hikey
|
||||||
khadas-edge-captain-rk3399
|
|
||||||
khadas-edge-v-rk3399
|
|
||||||
khadas-edge-rk3399
|
|
||||||
khadas-vim
|
|
||||||
khadas-vim2
|
|
||||||
khadas-vim3
|
|
||||||
khadas-vim3l
|
|
||||||
libretech-ac
|
|
||||||
libretech_all_h3_cc_h5
|
|
||||||
libretech_all_h3_it_h5
|
|
||||||
libretech_all_h5_cc_h5
|
|
||||||
libretech-cc
|
|
||||||
mvebu_espressobin-88f3720
|
mvebu_espressobin-88f3720
|
||||||
mvebu_mcbin-88f8040
|
mvebu_mcbin-88f8040
|
||||||
nanopc-t4-rk3399
|
|
||||||
nanopi_a64
|
|
||||||
nanopi-k2
|
|
||||||
nanopi-m4-rk3399
|
|
||||||
nanopi-m4-2gb-rk3399
|
|
||||||
nanopi_neo2
|
|
||||||
nanopi-neo4-rk3399
|
|
||||||
nanopi_neo_plus2
|
|
||||||
odroid-c2
|
odroid-c2
|
||||||
orangepi_lite2
|
|
||||||
orangepi_one_plus
|
|
||||||
orangepi_pc2
|
|
||||||
orangepi_prime
|
|
||||||
orangepi-rk3399
|
|
||||||
orangepi_win
|
|
||||||
orangepi_zero_plus
|
|
||||||
orangepi_zero_plus2
|
|
||||||
p212
|
|
||||||
p2371-2180
|
p2371-2180
|
||||||
p2771-0000-500
|
|
||||||
p3450-0000
|
|
||||||
pine64-lts
|
|
||||||
pine64_plus
|
pine64_plus
|
||||||
pinebook
|
|
||||||
pinebook-pro-rk3399
|
|
||||||
pinephone
|
|
||||||
pinetab
|
|
||||||
pine_h64
|
|
||||||
poplar
|
|
||||||
puma-rk3399
|
|
||||||
rock64-rk3328
|
|
||||||
rock960-rk3399
|
|
||||||
rock-pi-4-rk3399
|
|
||||||
rock-pi-4c-rk3399
|
|
||||||
rock-pi-e-rk3328
|
|
||||||
rock-pi-n10-rk3399pro
|
|
||||||
rockpro64-rk3399
|
|
||||||
roc-cc-rk3328
|
|
||||||
roc-pc-rk3399
|
|
||||||
roc-pc-mezzanine-rk3399
|
|
||||||
rpi_3
|
rpi_3
|
||||||
rpi_4
|
vexpress_aemv8a_dram
|
||||||
rpi_arm64
|
|
||||||
sopine_baseboard
|
|
||||||
teres_i
|
|
||||||
turris_mox
|
|
||||||
vexpress_aemv8a_juno
|
vexpress_aemv8a_juno
|
||||||
xilinx_zynqmp_virt
|
vexpress_aemv8a_semi
|
||||||
|
38
add-BOOTENV_INIT_COMMAND-for-commands-that-may-be-ne.patch
Normal file
38
add-BOOTENV_INIT_COMMAND-for-commands-that-may-be-ne.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 6e9ac1e8c6b51189dc0908585eb2b0240f213821 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Thu, 2 Jul 2015 23:28:56 +0100
|
||||||
|
Subject: [PATCH 2/5] Add BOOTENV_INIT_COMMAND for commands that may be needed
|
||||||
|
to run before bootcmd, such as setting the fdt file variables for platfroms
|
||||||
|
that detect on boot.
|
||||||
|
|
||||||
|
---
|
||||||
|
include/config_distro_bootcmd.h | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||||
|
index 3a360ca4..dcad4c8 100644
|
||||||
|
--- a/include/config_distro_bootcmd.h
|
||||||
|
+++ b/include/config_distro_bootcmd.h
|
||||||
|
@@ -176,6 +176,10 @@
|
||||||
|
#define BOOTENV_BOOT_TARGETS \
|
||||||
|
"boot_targets=" BOOT_TARGET_DEVICES(BOOTENV_DEV_NAME) "\0"
|
||||||
|
|
||||||
|
+#ifndef BOOTENV_INIT_COMMAND
|
||||||
|
+#define BOOTENV_INIT_COMMAND
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define BOOTENV_DEV(devtypeu, devtypel, instance) \
|
||||||
|
BOOTENV_DEV_##devtypeu(devtypeu, devtypel, instance)
|
||||||
|
#define BOOTENV \
|
||||||
|
@@ -237,7 +241,7 @@
|
||||||
|
\
|
||||||
|
BOOT_TARGET_DEVICES(BOOTENV_DEV) \
|
||||||
|
\
|
||||||
|
- "distro_bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \
|
||||||
|
+ "distro_bootcmd=" BOOTENV_INIT_COMMAND BOOTENV_SET_SCSI_NEED_INIT \
|
||||||
|
"for target in ${boot_targets}; do " \
|
||||||
|
"run bootcmd_${target}; " \
|
||||||
|
"done\0"
|
||||||
|
--
|
||||||
|
2.5.0
|
||||||
|
|
50
arm-boards
50
arm-boards
@ -6,26 +6,25 @@ A20-Olimex-SOM-EVB
|
|||||||
A20-OLinuXino-Lime
|
A20-OLinuXino-Lime
|
||||||
A20-OLinuXino-Lime2
|
A20-OLinuXino-Lime2
|
||||||
A20-OLinuXino_MICRO
|
A20-OLinuXino_MICRO
|
||||||
|
am335x_boneblack
|
||||||
am335x_evm
|
am335x_evm
|
||||||
am57xx_evm
|
am57xx_evm
|
||||||
Ampe_A76
|
Ampe_A76
|
||||||
apalis_imx6
|
|
||||||
arndale
|
arndale
|
||||||
Auxtek-T003
|
Auxtek-T003
|
||||||
Auxtek-T004
|
Auxtek-T004
|
||||||
ba10_tv_box
|
ba10_tv_box
|
||||||
Bananapi
|
Bananapi
|
||||||
bananapi_m1_plus
|
|
||||||
bananapi_m2_berry
|
|
||||||
Bananapi_m2m
|
|
||||||
bananapi_m2_plus_h3
|
|
||||||
Bananapi_M2_Ultra
|
Bananapi_M2_Ultra
|
||||||
bananapi_m2_zero
|
|
||||||
Bananapro
|
Bananapro
|
||||||
chiliboard
|
chiliboard
|
||||||
CHIP
|
CHIP
|
||||||
|
chromebook_jerry
|
||||||
|
chromebit_mickey
|
||||||
|
chromebook_minnie
|
||||||
Chuwi_V7_CW0825
|
Chuwi_V7_CW0825
|
||||||
clearfog
|
clearfog
|
||||||
|
cl-som-am57x
|
||||||
cm_fx6
|
cm_fx6
|
||||||
Colombus
|
Colombus
|
||||||
colorfly_e708_q1
|
colorfly_e708_q1
|
||||||
@ -38,28 +37,20 @@ Cubietruck_plus
|
|||||||
db-mv784mp-gp
|
db-mv784mp-gp
|
||||||
difrnce_dit4350
|
difrnce_dit4350
|
||||||
dserve_dsrv9703c
|
dserve_dsrv9703c
|
||||||
evb-rk3229
|
fennec-rk3288
|
||||||
firefly-rk3288
|
firefly-rk3288
|
||||||
helios4
|
highbank
|
||||||
Hummingbird_A31
|
Hummingbird_A31
|
||||||
Hyundai_A7HD
|
Hyundai_A7HD
|
||||||
i12-tvbox
|
i12-tvbox
|
||||||
icnova-a20-swac
|
icnova-a20-swac
|
||||||
inet1
|
|
||||||
iNet_3F
|
|
||||||
iNet_3W
|
|
||||||
inet86dz
|
|
||||||
iNet_86VS
|
iNet_86VS
|
||||||
inet97fv2
|
inet86dz
|
||||||
inet98v_rev2
|
|
||||||
inet9f_rev03
|
|
||||||
inet_q972
|
|
||||||
Itead_Ibox_A20
|
Itead_Ibox_A20
|
||||||
jesurun_q5
|
jesurun_q5
|
||||||
jetson-tk1
|
jetson-tk1
|
||||||
kc1
|
kc1
|
||||||
Lamobo_R1
|
Lamobo_R1
|
||||||
libretech_all_h3_cc_h2_plus
|
|
||||||
Linksprite_pcDuino
|
Linksprite_pcDuino
|
||||||
Linksprite_pcDuino3
|
Linksprite_pcDuino3
|
||||||
Linksprite_pcDuino3_Nano
|
Linksprite_pcDuino3_Nano
|
||||||
@ -80,13 +71,13 @@ MK808C
|
|||||||
MSI_Primo73
|
MSI_Primo73
|
||||||
MSI_Primo81
|
MSI_Primo81
|
||||||
mx6cuboxi
|
mx6cuboxi
|
||||||
nanopi_m1
|
|
||||||
nanopi_m1_plus
|
|
||||||
nanopi_neo
|
nanopi_neo
|
||||||
novena
|
novena
|
||||||
|
nyan-big
|
||||||
odroid
|
odroid
|
||||||
odroid-xu3
|
odroid-xu3
|
||||||
omap3_beagle
|
omap3_beagle
|
||||||
|
omap3_pandora
|
||||||
omap4_panda
|
omap4_panda
|
||||||
omap5_uevm
|
omap5_uevm
|
||||||
Orangepi
|
Orangepi
|
||||||
@ -98,40 +89,35 @@ orangepi_pc
|
|||||||
orangepi_pc_plus
|
orangepi_pc_plus
|
||||||
orangepi_plus
|
orangepi_plus
|
||||||
orangepi_plus2e
|
orangepi_plus2e
|
||||||
orangepi_r1
|
|
||||||
orangepi_zero
|
orangepi_zero
|
||||||
origen
|
origen
|
||||||
paz00
|
paz00
|
||||||
pinecube
|
peach-pi
|
||||||
|
peach-pit
|
||||||
polaroid_mid2809pxe04
|
polaroid_mid2809pxe04
|
||||||
pov_protab2_ips9
|
pov_protab2_ips9
|
||||||
q8_a13_tablet
|
q8_a13_tablet
|
||||||
q8_a23_tablet_800x480
|
q8_a23_tablet_800x480
|
||||||
q8_a33_tablet_1024x600
|
q8_a33_tablet_1024x600
|
||||||
q8_a33_tablet_800x480
|
q8_a33_tablet_800x480
|
||||||
qemu_arm
|
|
||||||
r7-tv-dongle
|
r7-tv-dongle
|
||||||
riotboard
|
riotboard
|
||||||
rock
|
rock
|
||||||
rock-pi-n8-rk3288
|
|
||||||
rock2
|
rock2
|
||||||
rpi_2
|
rpi_2
|
||||||
rpi_3_32b
|
rpi_3_32b
|
||||||
rpi_4_32b
|
|
||||||
Sinlinx_SinA31s
|
Sinlinx_SinA31s
|
||||||
Sinovoip_BPI_M2
|
smdkv310
|
||||||
Sinovoip_BPI_M3
|
snow
|
||||||
|
spring
|
||||||
stih410-b2260
|
stih410-b2260
|
||||||
stm32mp15_basic
|
|
||||||
sunxi_Gemei_G9
|
sunxi_Gemei_G9
|
||||||
tbs_a711
|
|
||||||
tinker-rk3288
|
tinker-rk3288
|
||||||
tinker-s-rk3288
|
|
||||||
trimslice
|
trimslice
|
||||||
udoo
|
udoo
|
||||||
udoo_neo
|
udoo_neo
|
||||||
usbarmory
|
|
||||||
UTOO_P66
|
UTOO_P66
|
||||||
|
usbarmory
|
||||||
vexpress_ca15_tc2
|
vexpress_ca15_tc2
|
||||||
vexpress_ca9x4
|
vexpress_ca9x4
|
||||||
wandboard
|
wandboard
|
||||||
@ -140,4 +126,6 @@ warp7
|
|||||||
Wexler_TAB7200
|
Wexler_TAB7200
|
||||||
Wits_Pro_A20_DKT
|
Wits_Pro_A20_DKT
|
||||||
Yones_Toptech_BS1078_V2
|
Yones_Toptech_BS1078_V2
|
||||||
xilinx_zynq_virt
|
zynq_microzed
|
||||||
|
zynq_zed
|
||||||
|
zynq_zybo
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
chromebit_mickey_defconfig
|
|
||||||
chromebook_jerry_defconfig
|
|
||||||
chromebook_minnie_defconfig
|
|
||||||
nyan-big_defconfig
|
|
||||||
peach-pi_defconfig
|
|
||||||
peach-pit_defconfig
|
|
||||||
snow_defconfig
|
|
||||||
spring_defconfig
|
|
@ -1,135 +0,0 @@
|
|||||||
From 5cb3ca7ebd46c1983d0929b5ba027a03c1f5e51e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Wed, 16 Dec 2020 15:22:34 +0000
|
|
||||||
Subject: [PATCH 1/2] arm: dts: rockchip: rk3399: enable rng at the SoC level
|
|
||||||
|
|
||||||
The rng is embedded in the SoC so enable it in the device tree
|
|
||||||
universally, the use of it can be controlled by enabling/disabling
|
|
||||||
at the device config level.
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
arch/arm/dts/rk3399-evb-u-boot.dtsi | 4 ----
|
|
||||||
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 4 ----
|
|
||||||
arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 4 ----
|
|
||||||
arch/arm/dts/rk3399-u-boot.dtsi | 2 +-
|
|
||||||
4 files changed, 1 insertion(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/rk3399-evb-u-boot.dtsi b/arch/arm/dts/rk3399-evb-u-boot.dtsi
|
|
||||||
index 8056dc843e..398b205ec2 100644
|
|
||||||
--- a/arch/arm/dts/rk3399-evb-u-boot.dtsi
|
|
||||||
+++ b/arch/arm/dts/rk3399-evb-u-boot.dtsi
|
|
||||||
@@ -13,10 +13,6 @@
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
-&rng {
|
|
||||||
- status = "okay";
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
&i2c0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
|
|
||||||
index ded7db0aef..c3e866a779 100644
|
|
||||||
--- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
|
|
||||||
+++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
|
|
||||||
@@ -28,10 +28,6 @@
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
||||||
-&rng {
|
|
||||||
- status = "okay";
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
&sdhci {
|
|
||||||
max-frequency = <25000000>;
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
|
|
||||||
index 6317b47e41..37dff04adf 100644
|
|
||||||
--- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
|
|
||||||
+++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
|
|
||||||
@@ -15,10 +15,6 @@
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
-&rng {
|
|
||||||
- status = "okay";
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
&spi1 {
|
|
||||||
spi_flash: flash@0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
|
|
||||||
index ecd230c720..73922c328a 100644
|
|
||||||
--- a/arch/arm/dts/rk3399-u-boot.dtsi
|
|
||||||
+++ b/arch/arm/dts/rk3399-u-boot.dtsi
|
|
||||||
@@ -32,7 +32,7 @@
|
|
||||||
rng: rng@ff8b8000 {
|
|
||||||
compatible = "rockchip,cryptov1-rng";
|
|
||||||
reg = <0x0 0xff8b8000 0x0 0x1000>;
|
|
||||||
- status = "disabled";
|
|
||||||
+ status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
dmc: dmc {
|
|
||||||
--
|
|
||||||
2.29.2
|
|
||||||
|
|
||||||
From 62093137fcbe760d009cf2757feda7ccf328fbb7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Wed, 16 Dec 2020 15:37:21 +0000
|
|
||||||
Subject: [PATCH 2/2] configs: rk3399: enable rng on firefly/rock960/rockpro64
|
|
||||||
|
|
||||||
Enable the RNG on the Firefly, rock960 and RockPro64 devices
|
|
||||||
to enable KASLR on devices that support it.
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
configs/firefly-rk3399_defconfig | 2 ++
|
|
||||||
configs/rock960-rk3399_defconfig | 2 ++
|
|
||||||
configs/rockpro64-rk3399_defconfig | 2 ++
|
|
||||||
3 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/configs/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig
|
|
||||||
index c453b82dc5..cfbaae40aa 100644
|
|
||||||
--- a/configs/firefly-rk3399_defconfig
|
|
||||||
+++ b/configs/firefly-rk3399_defconfig
|
|
||||||
@@ -35,6 +35,8 @@ CONFIG_MMC_DW=y
|
|
||||||
CONFIG_MMC_DW_ROCKCHIP=y
|
|
||||||
CONFIG_MMC_SDHCI=y
|
|
||||||
CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_ROCKCHIP=y
|
|
||||||
CONFIG_SF_DEFAULT_SPEED=20000000
|
|
||||||
CONFIG_DM_ETH=y
|
|
||||||
CONFIG_ETH_DESIGNWARE=y
|
|
||||||
diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
|
|
||||||
index 65dce3cd73..aadbc55f57 100644
|
|
||||||
--- a/configs/rock960-rk3399_defconfig
|
|
||||||
+++ b/configs/rock960-rk3399_defconfig
|
|
||||||
@@ -39,6 +39,8 @@ CONFIG_MMC_DW_ROCKCHIP=y
|
|
||||||
CONFIG_MMC_SDHCI=y
|
|
||||||
CONFIG_MMC_SDHCI_SDMA=y
|
|
||||||
CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_ROCKCHIP=y
|
|
||||||
CONFIG_DM_ETH=y
|
|
||||||
CONFIG_NVME=y
|
|
||||||
CONFIG_PCI=y
|
|
||||||
diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
|
|
||||||
index 575b7a20d5..f78dfcc8f7 100644
|
|
||||||
--- a/configs/rockpro64-rk3399_defconfig
|
|
||||||
+++ b/configs/rockpro64-rk3399_defconfig
|
|
||||||
@@ -42,6 +42,8 @@ CONFIG_MMC_DW=y
|
|
||||||
CONFIG_MMC_DW_ROCKCHIP=y
|
|
||||||
CONFIG_MMC_SDHCI=y
|
|
||||||
CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_ROCKCHIP=y
|
|
||||||
CONFIG_SF_DEFAULT_BUS=1
|
|
||||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
|
||||||
CONFIG_DM_ETH=y
|
|
||||||
--
|
|
||||||
2.29.2
|
|
||||||
|
|
1036
arm-tegra-nyan-chromebook.patch
Normal file
1036
arm-tegra-nyan-chromebook.patch
Normal file
File diff suppressed because it is too large
Load Diff
167
clearfog-distroboot.patch
Normal file
167
clearfog-distroboot.patch
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
From patchwork Wed May 10 13:12:34 2017
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: [U-Boot] arm: mvebu: clearfog: generic distro bootcmd
|
||||||
|
From: Patrick Wildt <patrick@blueri.se>
|
||||||
|
X-Patchwork-Id: 760587
|
||||||
|
X-Patchwork-Delegate: sr@denx.de
|
||||||
|
Message-Id: <20170510131233.GA6368@eris.local>
|
||||||
|
To: u-boot@lists.denx.de
|
||||||
|
Cc: sr@denx.de
|
||||||
|
Date: Wed, 10 May 2017 15:12:34 +0200
|
||||||
|
|
||||||
|
Switch Clearfog to the generic distro defaults. This has been taken
|
||||||
|
from a Debian mailing list thread:
|
||||||
|
|
||||||
|
https://lists.debian.org/debian-boot/2016/10/msg00026.html
|
||||||
|
|
||||||
|
Signed-off-by: Patrick Wildt <patrick@blueri.se>
|
||||||
|
---
|
||||||
|
configs/clearfog_defconfig | 10 +---------
|
||||||
|
include/configs/clearfog.h | 48 +++++++++++++++++++++++++++++++++++++++++++++-
|
||||||
|
2 files changed, 48 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
|
||||||
|
index 1264871e83..097506872d 100644
|
||||||
|
--- a/configs/clearfog_defconfig
|
||||||
|
+++ b/configs/clearfog_defconfig
|
||||||
|
@@ -8,14 +8,13 @@ CONFIG_SPL_MMC_SUPPORT=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
|
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
|
||||||
|
+CONFIG_DISTRO_DEFAULTS=y
|
||||||
|
CONFIG_BOOTDELAY=3
|
||||||
|
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||||
|
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||||
|
CONFIG_SPL=y
|
||||||
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x141
|
||||||
|
CONFIG_SPL_I2C_SUPPORT=y
|
||||||
|
-CONFIG_HUSH_PARSER=y
|
||||||
|
-CONFIG_CMD_BOOTZ=y
|
||||||
|
# CONFIG_CMD_IMLS is not set
|
||||||
|
# CONFIG_CMD_FLASH is not set
|
||||||
|
CONFIG_CMD_MMC=y
|
||||||
|
@@ -25,15 +24,8 @@ CONFIG_CMD_I2C=y
|
||||||
|
CONFIG_CMD_USB=y
|
||||||
|
# CONFIG_CMD_SETEXPR is not set
|
||||||
|
CONFIG_CMD_TFTPPUT=y
|
||||||
|
-CONFIG_CMD_DHCP=y
|
||||||
|
-CONFIG_CMD_MII=y
|
||||||
|
-CONFIG_CMD_PING=y
|
||||||
|
CONFIG_CMD_CACHE=y
|
||||||
|
CONFIG_CMD_TIME=y
|
||||||
|
-CONFIG_CMD_EXT2=y
|
||||||
|
-CONFIG_CMD_EXT4=y
|
||||||
|
-CONFIG_CMD_FAT=y
|
||||||
|
-CONFIG_CMD_FS_GENERIC=y
|
||||||
|
CONFIG_EFI_PARTITION=y
|
||||||
|
# CONFIG_PARTITION_UUIDS is not set
|
||||||
|
# CONFIG_SPL_PARTITION_UUIDS is not set
|
||||||
|
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
|
||||||
|
index 0c51d2a288..bd96ed690f 100644
|
||||||
|
--- a/include/configs/clearfog.h
|
||||||
|
+++ b/include/configs/clearfog.h
|
||||||
|
@@ -80,7 +80,7 @@
|
||||||
|
#define CONFIG_SYS_ALT_MEMTEST
|
||||||
|
|
||||||
|
/* Keep device tree and initrd in lower memory so the kernel can access them */
|
||||||
|
-#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
+#define RELOCATION_LIMITS_ENV_SETTINGS \
|
||||||
|
"fdt_high=0x10000000\0" \
|
||||||
|
"initrd_high=0x10000000\0"
|
||||||
|
|
||||||
|
@@ -134,4 +134,50 @@
|
||||||
|
*/
|
||||||
|
#include "mv-common.h"
|
||||||
|
|
||||||
|
+/* Include the common distro boot environment */
|
||||||
|
+#ifndef CONFIG_SPL_BUILD
|
||||||
|
+#include <config_distro_defaults.h>
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_MMC
|
||||||
|
+#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_MMC(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_USB_STORAGE
|
||||||
|
+#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_USB(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
+ BOOT_TARGET_DEVICES_MMC(func) \
|
||||||
|
+ BOOT_TARGET_DEVICES_USB(func) \
|
||||||
|
+ func(PXE, pxe, na) \
|
||||||
|
+ func(DHCP, dhcp, na)
|
||||||
|
+
|
||||||
|
+#define KERNEL_ADDR_R __stringify(0x800000)
|
||||||
|
+#define FDT_ADDR_R __stringify(0x100000)
|
||||||
|
+#define RAMDISK_ADDR_R __stringify(0x1800000)
|
||||||
|
+#define SCRIPT_ADDR_R __stringify(0x200000)
|
||||||
|
+#define PXEFILE_ADDR_R __stringify(0x300000)
|
||||||
|
+
|
||||||
|
+#define LOAD_ADDRESS_ENV_SETTINGS \
|
||||||
|
+ "kernel_addr_r=" KERNEL_ADDR_R "\0" \
|
||||||
|
+ "fdt_addr_r=" FDT_ADDR_R "\0" \
|
||||||
|
+ "ramdisk_addr_r=" RAMDISK_ADDR_R "\0" \
|
||||||
|
+ "scriptaddr=" SCRIPT_ADDR_R "\0" \
|
||||||
|
+ "pxefile_addr_r=" PXEFILE_ADDR_R "\0"
|
||||||
|
+
|
||||||
|
+#include <config_distro_bootcmd.h>
|
||||||
|
+
|
||||||
|
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
+ RELOCATION_LIMITS_ENV_SETTINGS \
|
||||||
|
+ LOAD_ADDRESS_ENV_SETTINGS \
|
||||||
|
+ "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
|
||||||
|
+ "console=ttyS0,115200\0" \
|
||||||
|
+ BOOTENV
|
||||||
|
+
|
||||||
|
+#endif /* CONFIG_SPL_BUILD */
|
||||||
|
+
|
||||||
|
#endif /* _CONFIG_CLEARFOG_H */
|
||||||
|
From patchwork Tue May 9 11:54:44 2017
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: [U-Boot] arm: mvebu: clearfog: reset uSOM onboard 1512 phy
|
||||||
|
From: Patrick Wildt <patrick@blueri.se>
|
||||||
|
X-Patchwork-Id: 760053
|
||||||
|
X-Patchwork-Delegate: sr@denx.de
|
||||||
|
Message-Id: <20170509115444.GA4503@eris.local>
|
||||||
|
To: u-boot@lists.denx.de
|
||||||
|
Cc: sr@denx.de
|
||||||
|
Date: Tue, 9 May 2017 13:54:44 +0200
|
||||||
|
|
||||||
|
Use GPIO19 which is wired to the uSOM phy reset signal in order to reset
|
||||||
|
the uSOM's 1512 Gigabit Ethernet phy.
|
||||||
|
|
||||||
|
This GPIO is valid on ClearFog rev 2.1 and newer.
|
||||||
|
|
||||||
|
Taken from SolidRun's specialised u-boot, see
|
||||||
|
https://github.com/SolidRun/u-boot-armada38x/commit/f906e3df172e07ac82cdd87b278d7896949262ea
|
||||||
|
|
||||||
|
Signed-off-by: Patrick Wildt <patrick@blueri.se>
|
||||||
|
---
|
||||||
|
board/solidrun/clearfog/clearfog.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
|
||||||
|
index 2773f5957e..3a8257cac3 100644
|
||||||
|
--- a/board/solidrun/clearfog/clearfog.c
|
||||||
|
+++ b/board/solidrun/clearfog/clearfog.c
|
||||||
|
@@ -131,8 +131,12 @@ int board_init(void)
|
||||||
|
/* Toggle GPIO41 to reset onboard switch and phy */
|
||||||
|
clrbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
|
||||||
|
clrbits_le32(MVEBU_GPIO1_BASE + 0x4, BIT(9));
|
||||||
|
+ /* GPIO 19 on ClearFog rev 2.1 controls the uSOM onboard phy reset */
|
||||||
|
+ clrbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
|
||||||
|
+ clrbits_le32(MVEBU_GPIO0_BASE + 0x4, BIT(19));
|
||||||
|
mdelay(1);
|
||||||
|
setbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
|
||||||
|
+ setbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
|
||||||
|
mdelay(10);
|
||||||
|
|
||||||
|
/* Init I2C IO expanders */
|
221
device-tree-overlays.patch
Normal file
221
device-tree-overlays.patch
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
From ab10d8b4580a94c46ee25e6fc85a5a93946ee8a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Wed, 21 Jun 2017 15:20:50 +0100
|
||||||
|
Subject: [PATCH 1/4] raspberry pi: add device tree overlay support
|
||||||
|
|
||||||
|
Raspberry Pi has numerous HAT and other HW expansion options such as screens and
|
||||||
|
cameras some of which need overlays from the beginning so it makes sense to
|
||||||
|
enable evice tree overlays.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
configs/rpi_2_defconfig | 1 +
|
||||||
|
configs/rpi_3_32b_defconfig | 1 +
|
||||||
|
configs/rpi_3_defconfig | 1 +
|
||||||
|
configs/rpi_defconfig | 1 +
|
||||||
|
4 files changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
||||||
|
index 9875f5d295..1be794a06c 100644
|
||||||
|
--- a/configs/rpi_2_defconfig
|
||||||
|
+++ b/configs/rpi_2_defconfig
|
||||||
|
@@ -14,6 +14,7 @@ CONFIG_CMD_USB=y
|
||||||
|
# CONFIG_CMD_FPGA is not set
|
||||||
|
CONFIG_CMD_GPIO=y
|
||||||
|
CONFIG_OF_EMBED=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_BCM2835=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
||||||
|
index e4a81b882d..8c0226d107 100644
|
||||||
|
--- a/configs/rpi_3_32b_defconfig
|
||||||
|
+++ b/configs/rpi_3_32b_defconfig
|
||||||
|
@@ -15,6 +15,7 @@ CONFIG_CMD_USB=y
|
||||||
|
# CONFIG_CMD_FPGA is not set
|
||||||
|
CONFIG_CMD_GPIO=y
|
||||||
|
CONFIG_OF_EMBED=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_BCM2835=y
|
||||||
|
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||||
|
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
||||||
|
index e0be6c76f8..604c83b634 100644
|
||||||
|
--- a/configs/rpi_3_defconfig
|
||||||
|
+++ b/configs/rpi_3_defconfig
|
||||||
|
@@ -15,6 +15,7 @@ CONFIG_CMD_USB=y
|
||||||
|
# CONFIG_CMD_FPGA is not set
|
||||||
|
CONFIG_CMD_GPIO=y
|
||||||
|
CONFIG_OF_EMBED=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_BCM2835=y
|
||||||
|
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||||
|
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
||||||
|
index a07d69800c..ecc0dbaa1a 100644
|
||||||
|
--- a/configs/rpi_defconfig
|
||||||
|
+++ b/configs/rpi_defconfig
|
||||||
|
@@ -14,6 +14,7 @@ CONFIG_CMD_USB=y
|
||||||
|
# CONFIG_CMD_FPGA is not set
|
||||||
|
CONFIG_CMD_GPIO=y
|
||||||
|
CONFIG_OF_EMBED=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_BCM2835=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 1a96e1676bf60fd3f63e0f64f266480a6b81005f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Sat, 24 Jun 2017 12:53:25 +0100
|
||||||
|
Subject: [PATCH 2/4] am335x: beagle/evm: add device tree overlay support
|
||||||
|
|
||||||
|
TI am33xx devices such as the BeagleBone devices have numerous cape options such
|
||||||
|
as screens some of which need overlays from the beginning so it makes sense to
|
||||||
|
enable evice tree overlays.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
configs/am335x_boneblack_defconfig | 1 +
|
||||||
|
configs/am335x_evm_defconfig | 2 ++
|
||||||
|
configs/am335x_evm_nor_defconfig | 1 +
|
||||||
|
configs/am335x_evm_norboot_defconfig | 1 +
|
||||||
|
configs/am335x_evm_spiboot_defconfig | 1 +
|
||||||
|
configs/am335x_evm_usbspl_defconfig | 1 +
|
||||||
|
6 files changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
|
||||||
|
index d3cb828e41..1f99c4131d 100644
|
||||||
|
--- a/configs/am335x_boneblack_defconfig
|
||||||
|
+++ b/configs/am335x_boneblack_defconfig
|
||||||
|
@@ -47,3 +47,4 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
|
||||||
|
index 5d07a151f7..24ea9bab8b 100644
|
||||||
|
--- a/configs/am335x_evm_defconfig
|
||||||
|
+++ b/configs/am335x_evm_defconfig
|
||||||
|
@@ -57,3 +57,5 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_RSA=y
|
||||||
|
+CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
|
||||||
|
index 000099eb1f..5eb7ec90ab 100644
|
||||||
|
--- a/configs/am335x_evm_nor_defconfig
|
||||||
|
+++ b/configs/am335x_evm_nor_defconfig
|
||||||
|
@@ -44,3 +44,4 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig
|
||||||
|
index 023cea461c..60f564654c 100644
|
||||||
|
--- a/configs/am335x_evm_norboot_defconfig
|
||||||
|
+++ b/configs/am335x_evm_norboot_defconfig
|
||||||
|
@@ -39,3 +39,4 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
|
||||||
|
index c9373f9157..5e20305f4a 100644
|
||||||
|
--- a/configs/am335x_evm_spiboot_defconfig
|
||||||
|
+++ b/configs/am335x_evm_spiboot_defconfig
|
||||||
|
@@ -44,3 +44,4 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
|
||||||
|
index 04005f0e77..02e27ef92e 100644
|
||||||
|
--- a/configs/am335x_evm_usbspl_defconfig
|
||||||
|
+++ b/configs/am335x_evm_usbspl_defconfig
|
||||||
|
@@ -44,3 +44,4 @@ CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x0451
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0xd022
|
||||||
|
CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 8f3100bedb9749629ff01a4bbaf7fed0d81cc198 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Thu, 22 Jun 2017 09:01:34 +0100
|
||||||
|
Subject: [PATCH 3/4] CHIP: add device tree overlay support
|
||||||
|
|
||||||
|
CHIP and CHIP Pro devices have options of DIP addon boards some of which need
|
||||||
|
overlays from the beginning so it makes sense to enable device tree overlays.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
configs/CHIP_defconfig | 2 ++
|
||||||
|
configs/CHIP_pro_defconfig | 2 ++
|
||||||
|
2 files changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configs/CHIP_defconfig b/configs/CHIP_defconfig
|
||||||
|
index 9b9e0b7e62..6b07eab21e 100644
|
||||||
|
--- a/configs/CHIP_defconfig
|
||||||
|
+++ b/configs/CHIP_defconfig
|
||||||
|
@@ -24,3 +24,5 @@ CONFIG_USB_GADGET_DOWNLOAD=y
|
||||||
|
CONFIG_G_DNL_MANUFACTURER="Allwinner Technology"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x1f3a
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0x1010
|
||||||
|
+CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/CHIP_pro_defconfig b/configs/CHIP_pro_defconfig
|
||||||
|
index 52572bd055..2c73c35c5c 100644
|
||||||
|
--- a/configs/CHIP_pro_defconfig
|
||||||
|
+++ b/configs/CHIP_pro_defconfig
|
||||||
|
@@ -30,3 +30,5 @@ CONFIG_USB_GADGET_DOWNLOAD=y
|
||||||
|
CONFIG_G_DNL_MANUFACTURER="Allwinner Technology"
|
||||||
|
CONFIG_G_DNL_VENDOR_NUM=0x1f3a
|
||||||
|
CONFIG_G_DNL_PRODUCT_NUM=0x1010
|
||||||
|
+CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From bec4ce10a38bced9a70f083514b4f6106e44255e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Sat, 24 Jun 2017 12:55:47 +0100
|
||||||
|
Subject: [PATCH 4/4] 96boards: dragonboard/hikey: add device tree overlay
|
||||||
|
support
|
||||||
|
|
||||||
|
96boards CE devices such as the DragonBoard and Hikey devices have numerous
|
||||||
|
mezzanine options some of which need overlays from the beginning so it makes
|
||||||
|
sense to enable device tree overlays.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
configs/dragonboard410c_defconfig | 2 ++
|
||||||
|
configs/hikey_defconfig | 2 ++
|
||||||
|
2 files changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig
|
||||||
|
index 90c145aa15..79ac7dd423 100644
|
||||||
|
--- a/configs/dragonboard410c_defconfig
|
||||||
|
+++ b/configs/dragonboard410c_defconfig
|
||||||
|
@@ -37,3 +37,5 @@ CONFIG_USB_EHCI_MSM=y
|
||||||
|
CONFIG_USB_ULPI_VIEWPORT=y
|
||||||
|
CONFIG_USB_ULPI=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
|
+CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
diff --git a/configs/hikey_defconfig b/configs/hikey_defconfig
|
||||||
|
index b112be2ef5..8a35cd3c87 100644
|
||||||
|
--- a/configs/hikey_defconfig
|
||||||
|
+++ b/configs/hikey_defconfig
|
||||||
|
@@ -16,3 +16,5 @@ CONFIG_MMC_DW=y
|
||||||
|
CONFIG_MMC_DW_K3=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
|
+CONFIG_OF_LIBFDT=y
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
@ -1,26 +1,87 @@
|
|||||||
From 8b0274a733cd1ce39ad9ad18e1bd8efdd02a40b7 Mon Sep 17 00:00:00 2001
|
From a74e70ec7f5ffdd9f618e2a8f92f4986256cb5c1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Tue, 20 Jun 2017 17:50:16 -0400
|
||||||
|
Subject: [PATCH 2/8] board/db410c: add missing linker map entries for efi
|
||||||
|
|
||||||
|
Otherwise the loaded image would miss the efi_runtime sections, and fall
|
||||||
|
over hard when grub (for example) tried to call runtime services located
|
||||||
|
in this section.
|
||||||
|
|
||||||
|
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||||
|
---
|
||||||
|
board/qualcomm/dragonboard410c/u-boot.lds | 16 ++++++++++++++++
|
||||||
|
1 file changed, 16 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/board/qualcomm/dragonboard410c/u-boot.lds b/board/qualcomm/dragonboard410c/u-boot.lds
|
||||||
|
index 6e1c5a8a67..62ac4d7a60 100644
|
||||||
|
--- a/board/qualcomm/dragonboard410c/u-boot.lds
|
||||||
|
+++ b/board/qualcomm/dragonboard410c/u-boot.lds
|
||||||
|
@@ -43,6 +43,22 @@ SECTIONS
|
||||||
|
|
||||||
|
. = ALIGN(8);
|
||||||
|
|
||||||
|
+ .efi_runtime : {
|
||||||
|
+ __efi_runtime_start = .;
|
||||||
|
+ *(efi_runtime_text)
|
||||||
|
+ *(efi_runtime_data)
|
||||||
|
+ __efi_runtime_stop = .;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ .efi_runtime_rel : {
|
||||||
|
+ __efi_runtime_rel_start = .;
|
||||||
|
+ *(.relaefi_runtime_text)
|
||||||
|
+ *(.relaefi_runtime_data)
|
||||||
|
+ __efi_runtime_rel_stop = .;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ . = ALIGN(8);
|
||||||
|
+
|
||||||
|
.image_copy_end :
|
||||||
|
{
|
||||||
|
*(.__image_copy_end)
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 9bf27e4adce115e1e6694c8807ad1b6689f9b074 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Tue, 20 Jun 2017 17:52:41 -0400
|
||||||
|
Subject: [PATCH 3/8] board/db410c: fix fdt address
|
||||||
|
|
||||||
|
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||||
|
---
|
||||||
|
include/configs/dragonboard410c.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/configs/dragonboard410c.h b/include/configs/dragonboard410c.h
|
||||||
|
index 11c842d952..3b9932da8b 100644
|
||||||
|
--- a/include/configs/dragonboard410c.h
|
||||||
|
+++ b/include/configs/dragonboard410c.h
|
||||||
|
@@ -105,7 +105,7 @@ REFLASH(dragonboard/u-boot.img, 8)\
|
||||||
|
"linux_image=Image\0" \
|
||||||
|
"kernel_addr_r=0x81000000\0"\
|
||||||
|
"fdtfile=apq8016-sbc.dtb\0" \
|
||||||
|
- "fdt_addr_r=0x83000000\0"\
|
||||||
|
+ "fdt_addr_r=0x81e00000\0"\
|
||||||
|
"ramdisk_addr_r=0x84000000\0"\
|
||||||
|
"scriptaddr=0x90000000\0"\
|
||||||
|
"pxefile_addr_r=0x90100000\0"\
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 95177af6eb3d7b835bbb467aad2565e4680830a3 Mon Sep 17 00:00:00 2001
|
||||||
From: Rob Clark <robdclark@gmail.com>
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
Date: Wed, 21 Jun 2017 14:21:15 -0400
|
Date: Wed, 21 Jun 2017 14:21:15 -0400
|
||||||
Subject: [PATCH 1/3] WIP: fix usb
|
Subject: [PATCH 4/8] WIP: fix usb
|
||||||
|
|
||||||
---
|
---
|
||||||
common/usb_storage.c | 4 ++--
|
common/usb_storage.c | 2 +-
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/common/usb_storage.c b/common/usb_storage.c
|
diff --git a/common/usb_storage.c b/common/usb_storage.c
|
||||||
index d92ebb6eb19..9df3c3daaf4 100644
|
index 03171f74cb..0e3de9064b 100644
|
||||||
--- a/common/usb_storage.c
|
--- a/common/usb_storage.c
|
||||||
+++ b/common/usb_storage.c
|
+++ b/common/usb_storage.c
|
||||||
@@ -1016,7 +1016,7 @@ static int usb_request_sense(struct scsi_cmd *srb, struct us_data *ss)
|
@@ -1019,7 +1019,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss)
|
||||||
|
|
||||||
static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss)
|
|
||||||
{
|
|
||||||
- int retries = 10;
|
|
||||||
+ int retries = 20;
|
|
||||||
|
|
||||||
do {
|
|
||||||
memset(&srb->cmd[0], 0, 12);
|
|
||||||
@@ -1039,7 +1039,7 @@ static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss)
|
|
||||||
if ((srb->sense_buf[2] == 0x02) &&
|
if ((srb->sense_buf[2] == 0x02) &&
|
||||||
(srb->sense_buf[12] == 0x3a))
|
(srb->sense_buf[12] == 0x3a))
|
||||||
return -1;
|
return -1;
|
||||||
@ -30,86 +91,5 @@ index d92ebb6eb19..9df3c3daaf4 100644
|
|||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
--
|
--
|
||||||
2.19.1
|
2.13.0
|
||||||
|
|
||||||
From 7bf41d74ca9d58bc2243b7688f8987c1d373ea56 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rob Clark <robdclark@gmail.com>
|
|
||||||
Date: Mon, 3 Jul 2017 08:34:37 -0400
|
|
||||||
Subject: [PATCH 2/3] HACK: disable emmc
|
|
||||||
|
|
||||||
Hitting some timeout which makes boot take much longer. And
|
|
||||||
uefi/boot/rootfs partitions will be on sd-card or usb disk, etc,
|
|
||||||
so we can just ignore emmc.
|
|
||||||
---
|
|
||||||
arch/arm/dts/dragonboard410c.dts | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/dragonboard410c.dts b/arch/arm/dts/dragonboard410c.dts
|
|
||||||
index fa348bc621e..bfe7f15d5ed 100644
|
|
||||||
--- a/arch/arm/dts/dragonboard410c.dts
|
|
||||||
+++ b/arch/arm/dts/dragonboard410c.dts
|
|
||||||
@@ -106,6 +106,7 @@
|
|
||||||
#phy-cells = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+/*
|
|
||||||
sdhci@07824000 {
|
|
||||||
compatible = "qcom,sdhci-msm-v4";
|
|
||||||
reg = <0x7824900 0x11c 0x7824000 0x800>;
|
|
||||||
@@ -115,6 +116,7 @@
|
|
||||||
clock = <&clkc 0>;
|
|
||||||
clock-frequency = <100000000>;
|
|
||||||
};
|
|
||||||
+*/
|
|
||||||
|
|
||||||
sdhci@07864000 {
|
|
||||||
compatible = "qcom,sdhci-msm-v4";
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
From 871fe802cf3ab593b9332c4f36ab2b3f179d51ae Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Tue, 4 Sep 2018 12:21:59 +0100
|
|
||||||
Subject: [PATCH 3/3] add options for dm410c config
|
|
||||||
|
|
||||||
---
|
|
||||||
configs/dragonboard410c_defconfig | 10 ++++++++++
|
|
||||||
1 file changed, 10 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig
|
|
||||||
index a55abaf8df5..4ece0cafbe4 100644
|
|
||||||
--- a/configs/dragonboard410c_defconfig
|
|
||||||
+++ b/configs/dragonboard410c_defconfig
|
|
||||||
@@ -7,6 +7,8 @@ CONFIG_NR_DRAM_BANKS=1
|
|
||||||
# CONFIG_ANDROID_BOOT_IMAGE is not set
|
|
||||||
CONFIG_FIT=y
|
|
||||||
CONFIG_OF_BOARD_SETUP=y
|
|
||||||
+CONFIG_FAT_WRITE=y
|
|
||||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
|
||||||
CONFIG_MISC_INIT_R=y
|
|
||||||
# CONFIG_DISPLAY_CPUINFO is not set
|
|
||||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
|
||||||
@@ -41,6 +43,13 @@ CONFIG_DM_PMIC=y
|
|
||||||
CONFIG_PMIC_PM8916=y
|
|
||||||
CONFIG_MSM_SERIAL=y
|
|
||||||
CONFIG_SPMI_MSM=y
|
|
||||||
+CONFIG_DM_ETH=y
|
|
||||||
+CONFIG_DM_KEYBOARD=y
|
|
||||||
+CONFIG_DM_VIDEO=y
|
|
||||||
+# CONFG_VIDEO_BPP8 is not set
|
|
||||||
+CONFIG_NO_FB_CLEAR=y
|
|
||||||
+CONFIG_VIDEO_SIMPLE=y
|
|
||||||
+CONFIG_USB_KEYBOARD=y
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_DM_USB=y
|
|
||||||
CONFIG_USB_EHCI_HCD=y
|
|
||||||
@@ -57,5 +66,6 @@ CONFIG_USB_HOST_ETHER=y
|
|
||||||
CONFIG_USB_ETHER_ASIX=y
|
|
||||||
CONFIG_USB_ETHER_ASIX88179=y
|
|
||||||
CONFIG_USB_ETHER_MCS7830=y
|
|
||||||
+CONFIG_USB_ETHER_RTL8152=y
|
|
||||||
CONFIG_USB_ETHER_SMSC95XX=y
|
|
||||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
|
240
mx6-Initial-Hummingboard-2-support.patch
Normal file
240
mx6-Initial-Hummingboard-2-support.patch
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
From f349c5dc5ca2af90e026135b807668444ff23d84 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Mon, 6 Mar 2017 09:28:37 +0000
|
||||||
|
Subject: [PATCH 1/2] Initial Hummingboard 2 support
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
board/solidrun/mx6cuboxi/mx6cuboxi.c | 118 +++++++++++++++++++++++++++--------
|
||||||
|
1 file changed, 92 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
index 285588d..5b187ff 100644
|
||||||
|
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
@@ -37,6 +37,15 @@
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
+enum {
|
||||||
|
+ CUBOX,
|
||||||
|
+ HB1,
|
||||||
|
+ HB2,
|
||||||
|
+ HB2r15,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static int board_type;
|
||||||
|
+
|
||||||
|
#define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
|
||||||
|
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
|
||||||
|
PAD_CTL_SRE_FAST | PAD_CTL_HYS)
|
||||||
|
@@ -48,6 +57,9 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
|
||||||
|
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
|
||||||
|
|
||||||
|
+#define ENET_PAD_CTRL_OD (PAD_CTL_PUS_100K_UP | \
|
||||||
|
+ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | PAD_CTL_ODE)
|
||||||
|
+
|
||||||
|
#define ENET_PAD_CTRL_PD (PAD_CTL_PUS_100K_DOWN | \
|
||||||
|
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
|
||||||
|
|
||||||
|
@@ -79,8 +91,11 @@ static iomux_v3_cfg_t const usdhc2_pads[] = {
|
||||||
|
|
||||||
|
static iomux_v3_cfg_t const hb_cbi_sense[] = {
|
||||||
|
/* These pins are for sensing if it is a CuBox-i or a HummingBoard */
|
||||||
|
- IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
- IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_SD4_DAT0__GPIO2_IO08 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_CSI0_DAT14__GPIO6_IO00 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_CSI0_DAT18__GPIO6_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
|
};
|
||||||
|
|
||||||
|
static iomux_v3_cfg_t const usb_pads[] = {
|
||||||
|
@@ -92,8 +107,9 @@ static void setup_iomux_uart(void)
|
||||||
|
SETUP_IOMUX_PADS(uart1_pads);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static struct fsl_esdhc_cfg usdhc_cfg[1] = {
|
||||||
|
+static struct fsl_esdhc_cfg usdhc_cfg[2] = {
|
||||||
|
{USDHC2_BASE_ADDR},
|
||||||
|
+ {USDHC3_BASE_ADDR},
|
||||||
|
};
|
||||||
|
|
||||||
|
int board_mmc_getcd(struct mmc *mmc)
|
||||||
|
@@ -103,16 +119,40 @@ int board_mmc_getcd(struct mmc *mmc)
|
||||||
|
|
||||||
|
int board_mmc_init(bd_t *bis)
|
||||||
|
{
|
||||||
|
- SETUP_IOMUX_PADS(usdhc2_pads);
|
||||||
|
- usdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR;
|
||||||
|
- usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
|
- gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
|
||||||
|
+ int ret;
|
||||||
|
+ u32 index = 0;
|
||||||
|
+
|
||||||
|
+ for (index = 0; index < CONFIG_SYS_FSL_USDHC_NUM; ++index) {
|
||||||
|
+ switch (index) {
|
||||||
|
+ case 0:
|
||||||
|
+ SETUP_IOMUX_PADS(usdhc2_pads);
|
||||||
|
+ usdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR;
|
||||||
|
+ usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
|
+ gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
|
||||||
|
+ break;
|
||||||
|
+ case 1:
|
||||||
|
+ SETUP_IOMUX_PADS(usdhc3_pads);
|
||||||
|
+ usdhc_cfg[1].esdhc_base = USDHC3_BASE_ADDR;
|
||||||
|
+ usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
||||||
|
+ gd->arch.sdhc_clk = usdhc_cfg[1].sdhc_clk;
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ printf("Warning: you configured more USDHC controllers"
|
||||||
|
+ "(%d) then supported by the board (%d)\n",
|
||||||
|
+ index + 1, CONFIG_SYS_FSL_USDHC_NUM);
|
||||||
|
+ return -EINVAL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- return fsl_esdhc_initialize(bis, &usdhc_cfg[0]);
|
||||||
|
+ ret = fsl_esdhc_initialize(bis, &usdhc_cfg[index]);
|
||||||
|
+ if (ret)
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static iomux_v3_cfg_t const enet_pads[] = {
|
||||||
|
- IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)),
|
||||||
|
+ IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL_OD)),
|
||||||
|
IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
|
||||||
|
/* AR8035 reset */
|
||||||
|
IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD)),
|
||||||
|
@@ -328,41 +368,62 @@ int board_init(void)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static bool is_hummingboard(void)
|
||||||
|
+static int is_hummingboard(void)
|
||||||
|
{
|
||||||
|
- int val1, val2;
|
||||||
|
+ int val1, val2, val3, val4, val5;
|
||||||
|
|
||||||
|
SETUP_IOMUX_PADS(hb_cbi_sense);
|
||||||
|
|
||||||
|
gpio_direction_input(IMX_GPIO_NR(4, 9));
|
||||||
|
gpio_direction_input(IMX_GPIO_NR(3, 4));
|
||||||
|
+ gpio_direction_input(IMX_GPIO_NR(2, 8));
|
||||||
|
+ gpio_direction_input(IMX_GPIO_NR(6, 0));
|
||||||
|
+ gpio_direction_input(IMX_GPIO_NR(6, 4));
|
||||||
|
|
||||||
|
val1 = gpio_get_value(IMX_GPIO_NR(4, 9));
|
||||||
|
val2 = gpio_get_value(IMX_GPIO_NR(3, 4));
|
||||||
|
+ val3 = gpio_get_value(IMX_GPIO_NR(2, 8));
|
||||||
|
+ val4 = gpio_get_value(IMX_GPIO_NR(6, 0));
|
||||||
|
+ val5 = gpio_get_value(IMX_GPIO_NR(6, 4));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Machine selection -
|
||||||
|
- * Machine val1, val2
|
||||||
|
- * -------------------------
|
||||||
|
- * HB rev 3.x x 0
|
||||||
|
- * CBi 0 1
|
||||||
|
- * HB 1 1
|
||||||
|
+ * Machine val1, val2, val3
|
||||||
|
+ * -------------------------------
|
||||||
|
+ * HB2 x x 0
|
||||||
|
+ * HB rev 3.x x 0 x
|
||||||
|
+ * CBi 0 1 x
|
||||||
|
+ * HB 1 1 x
|
||||||
|
*/
|
||||||
|
|
||||||
|
- if (val2 == 0)
|
||||||
|
- return true;
|
||||||
|
- else if (val1 == 0)
|
||||||
|
- return false;
|
||||||
|
- else
|
||||||
|
- return true;
|
||||||
|
+ if (val3 == 0) {
|
||||||
|
+ board_type = HB2;
|
||||||
|
+ } else if (val2 == 0) {
|
||||||
|
+ board_type = HB1;
|
||||||
|
+ } else if (val1 == 0) {
|
||||||
|
+ board_type = CUBOX;
|
||||||
|
+ } else {
|
||||||
|
+ board_type = HB1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (val4 == 1 && val5 == 0)
|
||||||
|
+ board_type = HB2r15;
|
||||||
|
+
|
||||||
|
+ return board_type;
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
int checkboard(void)
|
||||||
|
{
|
||||||
|
- if (is_hummingboard())
|
||||||
|
+ switch (board_type) {
|
||||||
|
+ case HB2:
|
||||||
|
+ case HB2r15:
|
||||||
|
+ puts("Board: MX6 Hummingboard 2\n");
|
||||||
|
+ case HB1:
|
||||||
|
puts("Board: MX6 Hummingboard\n");
|
||||||
|
- else
|
||||||
|
+ case CUBOX:
|
||||||
|
puts("Board: MX6 Cubox-i\n");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -370,10 +431,15 @@ int checkboard(void)
|
||||||
|
int board_late_init(void)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||||
|
- if (is_hummingboard())
|
||||||
|
+ switch (board_type) {
|
||||||
|
+ case HB2:
|
||||||
|
+ case HB2r15:
|
||||||
|
+ setenv("board_name", "HUMMINGBOARD2");
|
||||||
|
+ case HB1:
|
||||||
|
setenv("board_name", "HUMMINGBOARD");
|
||||||
|
- else
|
||||||
|
+ case CUBOX:
|
||||||
|
setenv("board_name", "CUBOXI");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (is_mx6dq())
|
||||||
|
setenv("board_rev", "MX6Q");
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
||||||
|
From 039d4ce71df224d36f857519cc7a7f56568a75c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Mon, 6 Mar 2017 11:26:21 +0000
|
||||||
|
Subject: [PATCH 2/2] drop mmc init for the moment
|
||||||
|
|
||||||
|
---
|
||||||
|
board/solidrun/mx6cuboxi/mx6cuboxi.c | 6 ------
|
||||||
|
1 file changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
index 5b187ff..50dcc09 100644
|
||||||
|
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
@@ -130,12 +130,6 @@ int board_mmc_init(bd_t *bis)
|
||||||
|
usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
|
gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
|
||||||
|
break;
|
||||||
|
- case 1:
|
||||||
|
- SETUP_IOMUX_PADS(usdhc3_pads);
|
||||||
|
- usdhc_cfg[1].esdhc_base = USDHC3_BASE_ADDR;
|
||||||
|
- usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
||||||
|
- gd->arch.sdhc_clk = usdhc_cfg[1].sdhc_clk;
|
||||||
|
- break;
|
||||||
|
default:
|
||||||
|
printf("Warning: you configured more USDHC controllers"
|
||||||
|
"(%d) then supported by the board (%d)\n",
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
74
mx6cuboxi-Add-support-for-sata.patch
Normal file
74
mx6cuboxi-Add-support-for-sata.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
From ee16d90048ee985df6199c987e64daeac3378777 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Sat, 4 Mar 2017 14:26:19 +0000
|
||||||
|
Subject: [PATCH] v2 mx6cuboxi: Add support for sata
|
||||||
|
|
||||||
|
The Cubox-i and Hummingboard series of devices have an option of
|
||||||
|
SATA on board, and depending on how the fuses are blown even the
|
||||||
|
option to boot SPL from SATA. So enable support for it so it can
|
||||||
|
be used to boot the OS from if people desire.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
---
|
||||||
|
board/solidrun/mx6cuboxi/mx6cuboxi.c | 7 +++++++
|
||||||
|
include/configs/mx6cuboxi.h | 12 ++++++++++++
|
||||||
|
2 files changed, 19 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
index 285588d..59a78df 100644
|
||||||
|
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#include <linux/errno.h>
|
||||||
|
#include <asm/gpio.h>
|
||||||
|
#include <asm/imx-common/iomux-v3.h>
|
||||||
|
+#include <asm/imx-common/sata.h>
|
||||||
|
#include <asm/imx-common/video.h>
|
||||||
|
#include <mmc.h>
|
||||||
|
#include <fsl_esdhc.h>
|
||||||
|
@@ -314,6 +315,12 @@ int board_early_init_f(void)
|
||||||
|
ret = setup_display();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef CONFIG_CMD_SATA
|
||||||
|
+ /* Only mx6q/mx6q has SATA */
|
||||||
|
+ if (is_mx6dq())
|
||||||
|
+ setup_sata();
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifdef CONFIG_USB_EHCI_MX6
|
||||||
|
setup_usb();
|
||||||
|
#endif
|
||||||
|
diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h
|
||||||
|
index 2782911..cec626a 100644
|
||||||
|
--- a/include/configs/mx6cuboxi.h
|
||||||
|
+++ b/include/configs/mx6cuboxi.h
|
||||||
|
@@ -21,6 +21,17 @@
|
||||||
|
/* MMC Configs */
|
||||||
|
#define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR
|
||||||
|
|
||||||
|
+/* SATA Configuration */
|
||||||
|
+#define CONFIG_CMD_SATA
|
||||||
|
+#ifdef CONFIG_CMD_SATA
|
||||||
|
+#define CONFIG_DWC_AHSATA
|
||||||
|
+#define CONFIG_SYS_SATA_MAX_DEVICE 1
|
||||||
|
+#define CONFIG_DWC_AHSATA_PORT_ID 0
|
||||||
|
+#define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
|
||||||
|
+#define CONFIG_LBA48
|
||||||
|
+#define CONFIG_LIBATA
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* Ethernet Configuration */
|
||||||
|
#define CONFIG_FEC_MXC
|
||||||
|
#define CONFIG_MII
|
||||||
|
@@ -119,6 +130,7 @@
|
||||||
|
|
||||||
|
#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
func(MMC, mmc, 0) \
|
||||||
|
+ func(SATA, sata, 0) \
|
||||||
|
func(USB, usb, 0) \
|
||||||
|
func(PXE, pxe, na) \
|
||||||
|
func(DHCP, dhcp, na)
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
41
net-Mark-the-ip_udp_hdr-struct-as-packed.patch
Normal file
41
net-Mark-the-ip_udp_hdr-struct-as-packed.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From patchwork Wed Jul 12 14:34:50 2017
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: [U-Boot] net: Mark the ip_udp_hdr struct as packed
|
||||||
|
From: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||||
|
X-Patchwork-Id: 787298
|
||||||
|
Message-Id: <20170712143450.12233-1-maxime.ripard@free-electrons.com>
|
||||||
|
To: Tom Rini <trini@konsulko.com>
|
||||||
|
Cc: u-boot@lists.denx.de, Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||||
|
Date: Wed, 12 Jul 2017 16:34:50 +0200
|
||||||
|
|
||||||
|
The -mno-unaligned-access flag used on ARM to prevent GCC from generating
|
||||||
|
unaligned accesses (obviously) will only do so on packed structures.
|
||||||
|
|
||||||
|
It seems like gcc 7.1 is a bit stricter than previous gcc versions on this,
|
||||||
|
and using it lead to data abort for unaligned accesses when generating
|
||||||
|
network traffic.
|
||||||
|
|
||||||
|
Fix this by adding the packed attribute to the ip_udp_hdr structure in
|
||||||
|
order to let GCC do its job.
|
||||||
|
|
||||||
|
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||||
|
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
||||||
|
---
|
||||||
|
include/net.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/net.h b/include/net.h
|
||||||
|
index 997db9210a8f..7b815afffafa 100644
|
||||||
|
--- a/include/net.h
|
||||||
|
+++ b/include/net.h
|
||||||
|
@@ -390,7 +390,7 @@ struct ip_udp_hdr {
|
||||||
|
u16 udp_dst; /* UDP destination port */
|
||||||
|
u16 udp_len; /* Length of UDP packet */
|
||||||
|
u16 udp_xsum; /* Checksum */
|
||||||
|
-};
|
||||||
|
+} __attribute__ ((packed));
|
||||||
|
|
||||||
|
#define IP_UDP_HDR_SIZE (sizeof(struct ip_udp_hdr))
|
||||||
|
#define UDP_HDR_SIZE (IP_UDP_HDR_SIZE - IP_HDR_SIZE)
|
154
port-utilite-to-distro-generic-boot-commands.patch
Normal file
154
port-utilite-to-distro-generic-boot-commands.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
From af017eb82317dc88c1b23301d76466b389c2e007 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
|
Date: Tue, 13 Sep 2016 08:47:34 +0100
|
||||||
|
Subject: [PATCH] port utilite to distro generic boot commands
|
||||||
|
|
||||||
|
---
|
||||||
|
include/configs/cm_fx6.h | 115 ++++++++++++-----------------------------------
|
||||||
|
1 file changed, 29 insertions(+), 86 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
|
||||||
|
index c839b03..4dd501e 100644
|
||||||
|
--- a/include/configs/cm_fx6.h
|
||||||
|
+++ b/include/configs/cm_fx6.h
|
||||||
|
@@ -11,6 +11,7 @@
|
||||||
|
#ifndef __CONFIG_CM_FX6_H
|
||||||
|
#define __CONFIG_CM_FX6_H
|
||||||
|
|
||||||
|
+#include <config_distro_defaults.h>
|
||||||
|
#include "mx6_common.h"
|
||||||
|
|
||||||
|
/* Machine config */
|
||||||
|
@@ -78,101 +79,43 @@
|
||||||
|
#define CONFIG_ENV_SIZE (8 * 1024)
|
||||||
|
#define CONFIG_ENV_OFFSET (768 * 1024)
|
||||||
|
|
||||||
|
+#ifndef CONFIG_SPL_BUILD
|
||||||
|
+#include <config_distro_defaults.h>
|
||||||
|
+#include <config_distro_bootcmd.h>
|
||||||
|
+
|
||||||
|
+#ifdef CONFIG_AHCI
|
||||||
|
+#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
|
||||||
|
+#else
|
||||||
|
+#define BOOT_TARGET_DEVICES_SCSI(func)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
+ func(MMC, mmc, 2) \
|
||||||
|
+ BOOT_TARGET_DEVICES_SCSI(func) \
|
||||||
|
+ func(PXE, pxe, na) \
|
||||||
|
+ func(DHCP, dhcp, na)
|
||||||
|
+
|
||||||
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
"stdin=serial,usbkbd\0" \
|
||||||
|
"stdout=serial,vga\0" \
|
||||||
|
"stderr=serial,vga\0" \
|
||||||
|
"panel=HDMI\0" \
|
||||||
|
- "autoload=no\0" \
|
||||||
|
- "uImage=uImage-cm-fx6\0" \
|
||||||
|
- "zImage=zImage-cm-fx6\0" \
|
||||||
|
- "kernel=uImage-cm-fx6\0" \
|
||||||
|
- "script=boot.scr\0" \
|
||||||
|
- "dtb=cm-fx6.dtb\0" \
|
||||||
|
- "bootm_low=18000000\0" \
|
||||||
|
+ "dtb=imx6q-utilite-pro.dts\0" \
|
||||||
|
"loadaddr=0x10800000\0" \
|
||||||
|
"fdtaddr=0x11000000\0" \
|
||||||
|
+ "fdt_addr_r=0x18000000\0" \
|
||||||
|
+ "pxefile_addr_r=0x17f00000\0" \
|
||||||
|
+ "scriptaddr=0x17e00000\0" \
|
||||||
|
+ "kernel_addr_r=0x11000000\0" \
|
||||||
|
+ "ramdisk_addr_r=0x18100000\0" \
|
||||||
|
+ "bootm_size=0x20000000\0" \
|
||||||
|
"console=ttymxc3,115200\0" \
|
||||||
|
"ethprime=FEC0\0" \
|
||||||
|
- "video_hdmi=mxcfb0:dev=hdmi,1920x1080M-32@50,if=RGB32\0" \
|
||||||
|
- "video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32\0" \
|
||||||
|
- "doboot=bootm ${loadaddr}\0" \
|
||||||
|
- "doloadfdt=false\0" \
|
||||||
|
- "mtdids=" MTDIDS_DEFAULT "\0" \
|
||||||
|
- "mtdparts=" MTDPARTS_DEFAULT "\0" \
|
||||||
|
- "setboottypez=setenv kernel ${zImage};" \
|
||||||
|
- "setenv doboot bootz ${loadaddr} - ${fdtaddr};" \
|
||||||
|
- "setenv doloadfdt true;\0" \
|
||||||
|
- "setboottypem=setenv kernel ${uImage};" \
|
||||||
|
- "setenv doboot bootm ${loadaddr};" \
|
||||||
|
- "setenv doloadfdt false;\0"\
|
||||||
|
- "mmcroot=/dev/mmcblk0p2 rw rootwait\0" \
|
||||||
|
- "sataroot=/dev/sda2 rw rootwait\0" \
|
||||||
|
- "nandroot=/dev/mtdblock4 rw\0" \
|
||||||
|
- "nandrootfstype=ubifs\0" \
|
||||||
|
- "mmcargs=setenv bootargs console=${console} root=${mmcroot} " \
|
||||||
|
- "${video} ${extrabootargs}\0" \
|
||||||
|
- "sataargs=setenv bootargs console=${console} root=${sataroot} " \
|
||||||
|
- "${video} ${extrabootargs}\0" \
|
||||||
|
- "nandargs=setenv bootargs console=${console} " \
|
||||||
|
- "root=${nandroot} " \
|
||||||
|
- "rootfstype=${nandrootfstype} " \
|
||||||
|
- "${video} ${extrabootargs}\0" \
|
||||||
|
- "nandboot=if run nandloadkernel; then " \
|
||||||
|
- "run nandloadfdt;" \
|
||||||
|
- "run setboottypem;" \
|
||||||
|
- "run storagebootcmd;" \
|
||||||
|
- "run setboottypez;" \
|
||||||
|
- "run storagebootcmd;" \
|
||||||
|
- "fi;\0" \
|
||||||
|
- "run_eboot=echo Starting EBOOT ...; "\
|
||||||
|
- "mmc dev 2 && " \
|
||||||
|
- "mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \
|
||||||
|
- "loadscript=load ${storagetype} ${storagedev} ${loadaddr} ${script};\0"\
|
||||||
|
- "loadkernel=load ${storagetype} ${storagedev} ${loadaddr} ${kernel};\0"\
|
||||||
|
- "loadfdt=load ${storagetype} ${storagedev} ${fdtaddr} ${dtb};\0" \
|
||||||
|
- "bootscript=echo Running bootscript from ${storagetype} ...;" \
|
||||||
|
- "source ${loadaddr};\0" \
|
||||||
|
- "nandloadkernel=nand read ${loadaddr} 0 780000;\0" \
|
||||||
|
- "nandloadfdt=nand read ${fdtaddr} 780000 80000;\0" \
|
||||||
|
- "setupmmcboot=setenv storagetype mmc; setenv storagedev 2;\0" \
|
||||||
|
- "setupsataboot=setenv storagetype sata; setenv storagedev 0;\0" \
|
||||||
|
- "setupnandboot=setenv storagetype nand;\0" \
|
||||||
|
- "setupusbboot=setenv storagetype usb; setenv storagedev 0;\0" \
|
||||||
|
- "storagebootcmd=echo Booting from ${storagetype} ...;" \
|
||||||
|
- "run ${storagetype}args; run doboot;\0" \
|
||||||
|
- "trybootk=if run loadkernel; then " \
|
||||||
|
- "if ${doloadfdt}; then " \
|
||||||
|
- "run loadfdt;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "run storagebootcmd;" \
|
||||||
|
- "fi;\0" \
|
||||||
|
- "trybootsmz=if run loadscript; then " \
|
||||||
|
- "run bootscript;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "run setboottypem;" \
|
||||||
|
- "run trybootk;" \
|
||||||
|
- "run setboottypez;" \
|
||||||
|
- "run trybootk;\0"
|
||||||
|
-
|
||||||
|
-#define CONFIG_BOOTCOMMAND \
|
||||||
|
- "run setupmmcboot;" \
|
||||||
|
- "mmc dev ${storagedev};" \
|
||||||
|
- "if mmc rescan; then " \
|
||||||
|
- "run trybootsmz;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "run setupusbboot;" \
|
||||||
|
- "if usb start; then "\
|
||||||
|
- "if run loadscript; then " \
|
||||||
|
- "run bootscript;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "run setupsataboot;" \
|
||||||
|
- "if sata init; then " \
|
||||||
|
- "run trybootsmz;" \
|
||||||
|
- "fi;" \
|
||||||
|
- "run setupnandboot;" \
|
||||||
|
- "run nandboot;"
|
||||||
|
+ BOOTENV
|
||||||
|
+
|
||||||
|
+#else /* ifndef CONFIG_SPL_BUILD */
|
||||||
|
+#define CONFIG_EXTRA_ENV_SETTINGS
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#define CONFIG_PREBOOT "usb start;sf probe"
|
||||||
|
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,450 +0,0 @@
|
|||||||
From patchwork Tue Dec 15 09:49:23 2020
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Patchwork-Submitter: mbrugger <matthias.bgg@kernel.org>
|
|
||||||
X-Patchwork-Id: 1416366
|
|
||||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
|
||||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Original-To: incoming@patchwork.ozlabs.org
|
|
||||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
||||||
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
||||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
dmarc=fail (p=none dis=none) header.from=kernel.org
|
|
||||||
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
||||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
||||||
key-exchange X25519 server-signature RSA-PSS (4096 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by ozlabs.org (Postfix) with ESMTPS id 4CwD58649Dz9s0b
|
|
||||||
for <incoming@patchwork.ozlabs.org>; Tue, 15 Dec 2020 20:49:53 +1100 (AEDT)
|
|
||||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
||||||
by phobos.denx.de (Postfix) with ESMTP id 4EC6082956;
|
|
||||||
Tue, 15 Dec 2020 10:49:42 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=fail (p=none dis=none) header.from=kernel.org
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
||||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
||||||
id B1A738295E; Tue, 15 Dec 2020 10:49:40 +0100 (CET)
|
|
||||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
||||||
X-Spam-Level:
|
|
||||||
X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI,
|
|
||||||
SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2
|
|
||||||
Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
|
|
||||||
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by phobos.denx.de (Postfix) with ESMTPS id 38FB382955
|
|
||||||
for <u-boot@lists.denx.de>; Tue, 15 Dec 2020 10:49:37 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=pass (p=none dis=none) header.from=kernel.org
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
spf=pass smtp.mailfrom=matthias.bgg@kernel.org
|
|
||||||
From: matthias.bgg@kernel.org
|
|
||||||
Authentication-Results: mail.kernel.org;
|
|
||||||
dkim=permerror (bad message/signature format)
|
|
||||||
To: sughosh.ganu@linaro.org,
|
|
||||||
xypron.glpk@gmx.de
|
|
||||||
Cc: u-boot@lists.denx.de,
|
|
||||||
Matthias Brugger <mbrugger@suse.com>
|
|
||||||
Subject: [PATCH v2 1/2] rng: Add iProc RNG200 driver
|
|
||||||
Date: Tue, 15 Dec 2020 10:49:23 +0100
|
|
||||||
Message-Id: <20201215094924.30072-1-matthias.bgg@kernel.org>
|
|
||||||
X-Mailer: git-send-email 2.29.2
|
|
||||||
MIME-Version: 1.0
|
|
||||||
X-BeenThere: u-boot@lists.denx.de
|
|
||||||
X-Mailman-Version: 2.1.34
|
|
||||||
Precedence: list
|
|
||||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
||||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
||||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
||||||
List-Post: <mailto:u-boot@lists.denx.de>
|
|
||||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
||||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
||||||
Errors-To: u-boot-bounces@lists.denx.de
|
|
||||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de
|
|
||||||
X-Virus-Status: Clean
|
|
||||||
|
|
||||||
From: Matthias Brugger <mbrugger@suse.com>
|
|
||||||
|
|
||||||
Add support for random number generator RNG200.
|
|
||||||
This is for example found on RPi4.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
|
||||||
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
|
|
||||||
---
|
|
||||||
|
|
||||||
Changes in v2: None
|
|
||||||
|
|
||||||
drivers/rng/Kconfig | 6 ++
|
|
||||||
drivers/rng/Makefile | 1 +
|
|
||||||
drivers/rng/iproc_rng200.c | 186 +++++++++++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 193 insertions(+)
|
|
||||||
create mode 100644 drivers/rng/iproc_rng200.c
|
|
||||||
|
|
||||||
diff --git a/drivers/rng/Kconfig b/drivers/rng/Kconfig
|
|
||||||
index 11001c8ae7..94915d45b3 100644
|
|
||||||
--- a/drivers/rng/Kconfig
|
|
||||||
+++ b/drivers/rng/Kconfig
|
|
||||||
@@ -46,4 +46,10 @@ config RNG_ROCKCHIP
|
|
||||||
Enable random number generator for rockchip.This driver is
|
|
||||||
support rng module of crypto v1 and crypto v2.
|
|
||||||
|
|
||||||
+config RNG_IPROC200
|
|
||||||
+ bool "Broadcom iProc RNG200 random number generator"
|
|
||||||
+ depends on DM_RNG
|
|
||||||
+ default n
|
|
||||||
+ help
|
|
||||||
+ Enable random number generator for RPI4.
|
|
||||||
endif
|
|
||||||
diff --git a/drivers/rng/Makefile b/drivers/rng/Makefile
|
|
||||||
index 8953406882..39f7ee3f03 100644
|
|
||||||
--- a/drivers/rng/Makefile
|
|
||||||
+++ b/drivers/rng/Makefile
|
|
||||||
@@ -9,3 +9,4 @@ obj-$(CONFIG_RNG_SANDBOX) += sandbox_rng.o
|
|
||||||
obj-$(CONFIG_RNG_MSM) += msm_rng.o
|
|
||||||
obj-$(CONFIG_RNG_STM32MP1) += stm32mp1_rng.o
|
|
||||||
obj-$(CONFIG_RNG_ROCKCHIP) += rockchip_rng.o
|
|
||||||
+obj-$(CONFIG_RNG_IPROC200) += iproc_rng200.o
|
|
||||||
diff --git a/drivers/rng/iproc_rng200.c b/drivers/rng/iproc_rng200.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..1063f43953
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/drivers/rng/iproc_rng200.c
|
|
||||||
@@ -0,0 +1,186 @@
|
|
||||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
+/*
|
|
||||||
+ * Copyright 2020, Matthias Brugger <mbrugger@suse.com>
|
|
||||||
+ *
|
|
||||||
+ * Driver for Raspberry Pi hardware random number generator
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include <common.h>
|
|
||||||
+#include <dm.h>
|
|
||||||
+#include <linux/delay.h>
|
|
||||||
+#include <rng.h>
|
|
||||||
+#include <asm/io.h>
|
|
||||||
+
|
|
||||||
+#define usleep_range(a, b) udelay((b))
|
|
||||||
+
|
|
||||||
+#define RNG_CTRL_OFFSET 0x00
|
|
||||||
+#define RNG_CTRL_RNG_RBGEN_MASK 0x00001FFF
|
|
||||||
+#define RNG_CTRL_RNG_RBGEN_ENABLE 0x00000001
|
|
||||||
+#define RNG_CTRL_RNG_RBGEN_DISABLE 0x00000000
|
|
||||||
+
|
|
||||||
+#define RNG_SOFT_RESET_OFFSET 0x04
|
|
||||||
+#define RNG_SOFT_RESET 0x00000001
|
|
||||||
+
|
|
||||||
+#define RBG_SOFT_RESET_OFFSET 0x08
|
|
||||||
+#define RBG_SOFT_RESET 0x00000001
|
|
||||||
+
|
|
||||||
+#define RNG_INT_STATUS_OFFSET 0x18
|
|
||||||
+#define RNG_INT_STATUS_MASTER_FAIL_LOCKOUT_IRQ_MASK 0x80000000
|
|
||||||
+#define RNG_INT_STATUS_NIST_FAIL_IRQ_MASK 0x00000020
|
|
||||||
+
|
|
||||||
+#define RNG_FIFO_DATA_OFFSET 0x20
|
|
||||||
+
|
|
||||||
+#define RNG_FIFO_COUNT_OFFSET 0x24
|
|
||||||
+#define RNG_FIFO_COUNT_RNG_FIFO_COUNT_MASK 0x000000FF
|
|
||||||
+
|
|
||||||
+struct iproc_rng200_platdata {
|
|
||||||
+ fdt_addr_t base;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static void iproc_rng200_enable(struct iproc_rng200_platdata *pdata, bool enable)
|
|
||||||
+{
|
|
||||||
+ fdt_addr_t rng_base = pdata->base;
|
|
||||||
+ u32 val;
|
|
||||||
+
|
|
||||||
+ val = readl(rng_base + RNG_CTRL_OFFSET);
|
|
||||||
+ val &= ~RNG_CTRL_RNG_RBGEN_MASK;
|
|
||||||
+ if (enable)
|
|
||||||
+ val |= RNG_CTRL_RNG_RBGEN_ENABLE;
|
|
||||||
+ else
|
|
||||||
+ val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;
|
|
||||||
+
|
|
||||||
+ writel(val, rng_base + RNG_CTRL_OFFSET);
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void iproc_rng200_restart(struct iproc_rng200_platdata *pdata)
|
|
||||||
+{
|
|
||||||
+ fdt_addr_t rng_base = pdata->base;
|
|
||||||
+ u32 val;
|
|
||||||
+
|
|
||||||
+ iproc_rng200_enable(pdata, false);
|
|
||||||
+
|
|
||||||
+ /* Clear all interrupt status */
|
|
||||||
+ writel(0xFFFFFFFFUL, rng_base + RNG_INT_STATUS_OFFSET);
|
|
||||||
+
|
|
||||||
+ /* Reset RNG and RBG */
|
|
||||||
+ val = readl(rng_base + RBG_SOFT_RESET_OFFSET);
|
|
||||||
+ val |= RBG_SOFT_RESET;
|
|
||||||
+ writel(val, rng_base + RBG_SOFT_RESET_OFFSET);
|
|
||||||
+
|
|
||||||
+ val = readl(rng_base + RNG_SOFT_RESET_OFFSET);
|
|
||||||
+ val |= RNG_SOFT_RESET;
|
|
||||||
+ writel(val, rng_base + RNG_SOFT_RESET_OFFSET);
|
|
||||||
+
|
|
||||||
+ val = readl(rng_base + RNG_SOFT_RESET_OFFSET);
|
|
||||||
+ val &= ~RNG_SOFT_RESET;
|
|
||||||
+ writel(val, rng_base + RNG_SOFT_RESET_OFFSET);
|
|
||||||
+
|
|
||||||
+ val = readl(rng_base + RBG_SOFT_RESET_OFFSET);
|
|
||||||
+ val &= ~RBG_SOFT_RESET;
|
|
||||||
+ writel(val, rng_base + RBG_SOFT_RESET_OFFSET);
|
|
||||||
+
|
|
||||||
+ iproc_rng200_enable(pdata, true);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int iproc_rng200_read(struct udevice *dev, void *data, size_t len)
|
|
||||||
+{
|
|
||||||
+ struct iproc_rng200_platdata *priv = dev_get_platdata(dev);
|
|
||||||
+ char *buf = (char *)data;
|
|
||||||
+ u32 num_remaining = len;
|
|
||||||
+ u32 status;
|
|
||||||
+
|
|
||||||
+ #define MAX_RESETS_PER_READ 1
|
|
||||||
+ u32 num_resets = 0;
|
|
||||||
+
|
|
||||||
+ while (num_remaining > 0) {
|
|
||||||
+
|
|
||||||
+ /* Is RNG sane? If not, reset it. */
|
|
||||||
+ status = readl(priv->base + RNG_INT_STATUS_OFFSET);
|
|
||||||
+ if ((status & (RNG_INT_STATUS_MASTER_FAIL_LOCKOUT_IRQ_MASK |
|
|
||||||
+ RNG_INT_STATUS_NIST_FAIL_IRQ_MASK)) != 0) {
|
|
||||||
+
|
|
||||||
+ if (num_resets >= MAX_RESETS_PER_READ)
|
|
||||||
+ return len - num_remaining;
|
|
||||||
+
|
|
||||||
+ iproc_rng200_restart(priv);
|
|
||||||
+ num_resets++;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Are there any random numbers available? */
|
|
||||||
+ if ((readl(priv->base + RNG_FIFO_COUNT_OFFSET) &
|
|
||||||
+ RNG_FIFO_COUNT_RNG_FIFO_COUNT_MASK) > 0) {
|
|
||||||
+
|
|
||||||
+ if (num_remaining >= sizeof(u32)) {
|
|
||||||
+ /* Buffer has room to store entire word */
|
|
||||||
+ *(u32 *)buf = readl(priv->base +
|
|
||||||
+ RNG_FIFO_DATA_OFFSET);
|
|
||||||
+ buf += sizeof(u32);
|
|
||||||
+ num_remaining -= sizeof(u32);
|
|
||||||
+ } else {
|
|
||||||
+ /* Buffer can only store partial word */
|
|
||||||
+ u32 rnd_number = readl(priv->base +
|
|
||||||
+ RNG_FIFO_DATA_OFFSET);
|
|
||||||
+ memcpy(buf, &rnd_number, num_remaining);
|
|
||||||
+ buf += num_remaining;
|
|
||||||
+ num_remaining = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ } else {
|
|
||||||
+ /* Can wait, give others chance to run */
|
|
||||||
+ usleep_range(min(num_remaining * 10, 500U), 500);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int iproc_rng200_probe(struct udevice *dev)
|
|
||||||
+{
|
|
||||||
+ struct iproc_rng200_platdata *priv = dev_get_platdata(dev);
|
|
||||||
+
|
|
||||||
+ iproc_rng200_enable(priv, true);
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int iproc_rng200_remove(struct udevice *dev)
|
|
||||||
+{
|
|
||||||
+ struct iproc_rng200_platdata *priv = dev_get_platdata(dev);
|
|
||||||
+
|
|
||||||
+ iproc_rng200_enable(priv, false);
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int iproc_rng200_ofdata_to_platdata(struct udevice *dev)
|
|
||||||
+{
|
|
||||||
+ struct iproc_rng200_platdata *pdata = dev_get_platdata(dev);
|
|
||||||
+
|
|
||||||
+ pdata->base = dev_read_addr(dev);
|
|
||||||
+ if (!pdata->base)
|
|
||||||
+ return -ENODEV;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static const struct dm_rng_ops iproc_rng200_ops = {
|
|
||||||
+ .read = iproc_rng200_read,
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const struct udevice_id iproc_rng200_rng_match[] = {
|
|
||||||
+ { .compatible = "brcm,bcm2711-rng200", },
|
|
||||||
+ { .compatible = "brcm,iproc-rng200", },
|
|
||||||
+ {},
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+U_BOOT_DRIVER(iproc_rng200_rng) = {
|
|
||||||
+ .name = "iproc_rng200-rng",
|
|
||||||
+ .id = UCLASS_RNG,
|
|
||||||
+ .of_match = iproc_rng200_rng_match,
|
|
||||||
+ .ops = &iproc_rng200_ops,
|
|
||||||
+ .probe = iproc_rng200_probe,
|
|
||||||
+ .remove = iproc_rng200_remove,
|
|
||||||
+ .platdata_auto_alloc_size = sizeof(struct iproc_rng200_platdata),
|
|
||||||
+ .ofdata_to_platdata = iproc_rng200_ofdata_to_platdata,
|
|
||||||
+};
|
|
||||||
|
|
||||||
From patchwork Tue Dec 15 09:49:24 2020
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Patchwork-Submitter: mbrugger <matthias.bgg@kernel.org>
|
|
||||||
X-Patchwork-Id: 1416367
|
|
||||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
|
||||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Original-To: incoming@patchwork.ozlabs.org
|
|
||||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
||||||
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
|
||||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
dmarc=fail (p=none dis=none) header.from=kernel.org
|
|
||||||
Received: from phobos.denx.de (phobos.denx.de
|
|
||||||
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
|
||||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
||||||
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
||||||
SHA256)
|
|
||||||
(No client certificate requested)
|
|
||||||
by ozlabs.org (Postfix) with ESMTPS id 4CwD5D4Gf2z9s0b
|
|
||||||
for <incoming@patchwork.ozlabs.org>; Tue, 15 Dec 2020 20:50:08 +1100 (AEDT)
|
|
||||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
||||||
by phobos.denx.de (Postfix) with ESMTP id A25E782961;
|
|
||||||
Tue, 15 Dec 2020 10:49:46 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=fail (p=none dis=none) header.from=kernel.org
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
||||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
||||||
id 9EC418295C; Tue, 15 Dec 2020 10:49:41 +0100 (CET)
|
|
||||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
||||||
X-Spam-Level:
|
|
||||||
X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI,
|
|
||||||
SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2
|
|
||||||
Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
|
|
||||||
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by phobos.denx.de (Postfix) with ESMTPS id BCF5682956
|
|
||||||
for <u-boot@lists.denx.de>; Tue, 15 Dec 2020 10:49:38 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=pass (p=none dis=none) header.from=kernel.org
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
spf=pass smtp.mailfrom=matthias.bgg@kernel.org
|
|
||||||
From: matthias.bgg@kernel.org
|
|
||||||
Authentication-Results: mail.kernel.org;
|
|
||||||
dkim=permerror (bad message/signature format)
|
|
||||||
To: sughosh.ganu@linaro.org,
|
|
||||||
xypron.glpk@gmx.de
|
|
||||||
Cc: u-boot@lists.denx.de,
|
|
||||||
Matthias Brugger <mbrugger@suse.com>
|
|
||||||
Subject: [PATCH v2 2/2] config: Enable iProc RNG200 driver in RPi4 configs
|
|
||||||
Date: Tue, 15 Dec 2020 10:49:24 +0100
|
|
||||||
Message-Id: <20201215094924.30072-2-matthias.bgg@kernel.org>
|
|
||||||
X-Mailer: git-send-email 2.29.2
|
|
||||||
In-Reply-To: <20201215094924.30072-1-matthias.bgg@kernel.org>
|
|
||||||
References: <20201215094924.30072-1-matthias.bgg@kernel.org>
|
|
||||||
MIME-Version: 1.0
|
|
||||||
X-BeenThere: u-boot@lists.denx.de
|
|
||||||
X-Mailman-Version: 2.1.34
|
|
||||||
Precedence: list
|
|
||||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
||||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
||||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
||||||
List-Post: <mailto:u-boot@lists.denx.de>
|
|
||||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
||||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
||||||
Errors-To: u-boot-bounces@lists.denx.de
|
|
||||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de
|
|
||||||
X-Virus-Status: Clean
|
|
||||||
|
|
||||||
From: Matthias Brugger <mbrugger@suse.com>
|
|
||||||
|
|
||||||
We find the iProc RNG200 in the Raspberry Pi 4. Add it to all it's
|
|
||||||
config so that it can be used.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
|
||||||
---
|
|
||||||
|
|
||||||
Changes in v2:
|
|
||||||
- fix defconfigs using savedefconfig (Heinrich)
|
|
||||||
|
|
||||||
configs/rpi_4_32b_defconfig | 2 ++
|
|
||||||
configs/rpi_4_defconfig | 2 ++
|
|
||||||
configs/rpi_arm64_defconfig | 2 ++
|
|
||||||
drivers/rng/iproc_rng200.c | 1 -
|
|
||||||
4 files changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
|
|
||||||
index 5ddd838fd5..4039e46c81 100644
|
|
||||||
--- a/configs/rpi_4_32b_defconfig
|
|
||||||
+++ b/configs/rpi_4_32b_defconfig
|
|
||||||
@@ -36,6 +36,8 @@ CONFIG_PCI_BRCMSTB=y
|
|
||||||
CONFIG_PINCTRL=y
|
|
||||||
# CONFIG_PINCTRL_GENERIC is not set
|
|
||||||
CONFIG_DM_RESET=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_IPROC200=y
|
|
||||||
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_DM_USB=y
|
|
||||||
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
|
|
||||||
index 2590d0a696..46b6cc3046 100644
|
|
||||||
--- a/configs/rpi_4_defconfig
|
|
||||||
+++ b/configs/rpi_4_defconfig
|
|
||||||
@@ -36,6 +36,8 @@ CONFIG_PCI_BRCMSTB=y
|
|
||||||
CONFIG_PINCTRL=y
|
|
||||||
# CONFIG_PINCTRL_GENERIC is not set
|
|
||||||
CONFIG_DM_RESET=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_IPROC200=y
|
|
||||||
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_DM_USB=y
|
|
||||||
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
|
|
||||||
index 2639219a1a..b75144036d 100644
|
|
||||||
--- a/configs/rpi_arm64_defconfig
|
|
||||||
+++ b/configs/rpi_arm64_defconfig
|
|
||||||
@@ -33,6 +33,8 @@ CONFIG_PCI_BRCMSTB=y
|
|
||||||
CONFIG_PINCTRL=y
|
|
||||||
# CONFIG_PINCTRL_GENERIC is not set
|
|
||||||
CONFIG_DM_RESET=y
|
|
||||||
+CONFIG_DM_RNG=y
|
|
||||||
+CONFIG_RNG_IPROC200=y
|
|
||||||
# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
|
||||||
CONFIG_USB=y
|
|
||||||
CONFIG_DM_USB=y
|
|
||||||
diff --git a/drivers/rng/iproc_rng200.c b/drivers/rng/iproc_rng200.c
|
|
||||||
index 1063f43953..378f6cf48d 100644
|
|
||||||
--- a/drivers/rng/iproc_rng200.c
|
|
||||||
+++ b/drivers/rng/iproc_rng200.c
|
|
||||||
@@ -50,7 +50,6 @@ static void iproc_rng200_enable(struct iproc_rng200_platdata *pdata, bool enable
|
|
||||||
val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;
|
|
||||||
|
|
||||||
writel(val, rng_base + RNG_CTRL_OFFSET);
|
|
||||||
-
|
|
||||||
}
|
|
||||||
|
|
||||||
static void iproc_rng200_restart(struct iproc_rng200_platdata *pdata)
|
|
@ -1,11 +0,0 @@
|
|||||||
--- u-boot-2020.10/common/spl/Kconfig.orig 2020-10-07 12:08:54.972632715 +0100
|
|
||||||
+++ u-boot-2020.10/common/spl/Kconfig 2020-10-07 12:08:59.100672506 +0100
|
|
||||||
@@ -324,7 +324,7 @@
|
|
||||||
default 0x200 if ARCH_SOCFPGA || ARCH_AT91
|
|
||||||
default 0x300 if ARCH_ZYNQ || ARCH_KEYSTONE || OMAP34XX || OMAP44XX || \
|
|
||||||
OMAP54XX || AM33XX || AM43XX || ARCH_K3
|
|
||||||
- default 0x4000 if ARCH_ROCKCHIP
|
|
||||||
+ default 0x200 if ARCH_ROCKCHIP
|
|
||||||
default 0x822 if TARGET_SIFIVE_FU540
|
|
||||||
help
|
|
||||||
Address on the MMC to load U-Boot from, when the MMC is being used
|
|
@ -1,96 +0,0 @@
|
|||||||
From f10f94831450671a77f61fe413b4a57459963860 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Mon, 10 Aug 2020 22:20:29 +0100
|
|
||||||
Subject: [PATCH] rpi: Use firmware provided device tree
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
configs/rpi_0_w_defconfig | 2 +-
|
|
||||||
configs/rpi_2_defconfig | 2 +-
|
|
||||||
configs/rpi_3_32b_defconfig | 2 +-
|
|
||||||
configs/rpi_3_b_plus_defconfig | 2 +-
|
|
||||||
configs/rpi_3_defconfig | 2 +-
|
|
||||||
configs/rpi_defconfig | 2 +-
|
|
||||||
6 files changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
|
|
||||||
index bba5e12b12..0241f4c6d3 100644
|
|
||||||
--- a/configs/rpi_0_w_defconfig
|
|
||||||
+++ b/configs/rpi_0_w_defconfig
|
|
||||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
|
||||||
index 1c2bbb29ce..9573e475f4 100644
|
|
||||||
--- a/configs/rpi_2_defconfig
|
|
||||||
+++ b/configs/rpi_2_defconfig
|
|
||||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
|
||||||
index b8a3d17f43..252df994e6 100644
|
|
||||||
--- a/configs/rpi_3_32b_defconfig
|
|
||||||
+++ b/configs/rpi_3_32b_defconfig
|
|
||||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig
|
|
||||||
index 4c361438fa..3b2996a2f9 100644
|
|
||||||
--- a/configs/rpi_3_b_plus_defconfig
|
|
||||||
+++ b/configs/rpi_3_b_plus_defconfig
|
|
||||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
|
||||||
index 9b281a4f15..1e9ee6122e 100644
|
|
||||||
--- a/configs/rpi_3_defconfig
|
|
||||||
+++ b/configs/rpi_3_defconfig
|
|
||||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
|
||||||
index b5ad53c37b..223fc03275 100644
|
|
||||||
--- a/configs/rpi_defconfig
|
|
||||||
+++ b/configs/rpi_defconfig
|
|
||||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
|
||||||
CONFIG_CMD_MMC=y
|
|
||||||
CONFIG_CMD_USB=y
|
|
||||||
CONFIG_CMD_FS_UUID=y
|
|
||||||
-CONFIG_OF_EMBED=y
|
|
||||||
+CONFIG_OF_BOARD=y
|
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (u-boot-2021.01-rc4.tar.bz2) = 6de2c60d02276f4eed31b5baf2d8239ad0af30c9d341339a4cd7fa0786068cb5faa1ab8bd0b4155e536962e1a4869906f60f1d2a1e50b0ed15e98c2e84d6a97b
|
SHA512 (u-boot-2017.05.tar.bz2) = be270f9242a72b05463092a022bbabd54996762de1ff23bf7575124ac02e62f49572a4e2f6f571a5019047d40027e56e35593b5cc373c4a5a39b100c3377ba93
|
||||||
|
2124
sti-STiH410-B2260-support.patch
Normal file
2124
sti-STiH410-B2260-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,222 +0,0 @@
|
|||||||
From patchwork Wed Nov 18 10:27:17 2020
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
|
|
||||||
X-Patchwork-Id: 1402159
|
|
||||||
X-Patchwork-Delegate: andre.przywara@arm.com
|
|
||||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Original-To: incoming@patchwork.ozlabs.org
|
|
||||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
||||||
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
||||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
dmarc=none (p=none dis=none) header.from=aosc.io
|
|
||||||
Authentication-Results: ozlabs.org;
|
|
||||||
dkim=fail reason="signature verification failed" (1024-bit key;
|
|
||||||
unprotected) header.d=mymailcheap.com header.i=@mymailcheap.com
|
|
||||||
header.a=rsa-sha256 header.s=default header.b=YYrkSpBD;
|
|
||||||
dkim=fail reason="signature verification failed" (1024-bit key;
|
|
||||||
unprotected) header.d=aosc.io header.i=@aosc.io header.a=rsa-sha256
|
|
||||||
header.s=default header.b=o7lHQ4SZ;
|
|
||||||
dkim-atps=neutral
|
|
||||||
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
||||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
||||||
key-exchange X25519 server-signature RSA-PSS (4096 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by ozlabs.org (Postfix) with ESMTPS id 4CbfCp3G62z9s1l
|
|
||||||
for <incoming@patchwork.ozlabs.org>; Wed, 18 Nov 2020 21:28:22 +1100 (AEDT)
|
|
||||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
||||||
by phobos.denx.de (Postfix) with ESMTP id 00D6D82304;
|
|
||||||
Wed, 18 Nov 2020 11:28:16 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=none (p=none dis=none) header.from=aosc.io
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dkim=fail reason="signature verification failed" (1024-bit key;
|
|
||||||
unprotected) header.d=mymailcheap.com header.i=@mymailcheap.com
|
|
||||||
header.b="YYrkSpBD";
|
|
||||||
dkim=fail reason="signature verification failed" (1024-bit key;
|
|
||||||
unprotected) header.d=aosc.io header.i=@aosc.io header.b="o7lHQ4SZ";
|
|
||||||
dkim-atps=neutral
|
|
||||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
||||||
id 2E5B282309; Wed, 18 Nov 2020 11:28:11 +0100 (CET)
|
|
||||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
||||||
X-Spam-Level:
|
|
||||||
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
||||||
DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham
|
|
||||||
autolearn_force=no version=3.4.2
|
|
||||||
Received: from relay1.mymailcheap.com (relay1.mymailcheap.com
|
|
||||||
[144.217.248.100])
|
|
||||||
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by phobos.denx.de (Postfix) with ESMTPS id EC082808F1
|
|
||||||
for <u-boot@lists.denx.de>; Wed, 18 Nov 2020 11:28:05 +0100 (CET)
|
|
||||||
Authentication-Results: phobos.denx.de;
|
|
||||||
dmarc=none (p=none dis=none) header.from=aosc.io
|
|
||||||
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=icenowy@aosc.io
|
|
||||||
Received: from filter2.mymailcheap.com (filter2.mymailcheap.com
|
|
||||||
[91.134.140.82])
|
|
||||||
by relay1.mymailcheap.com (Postfix) with ESMTPS id 18A423F201;
|
|
||||||
Wed, 18 Nov 2020 10:27:59 +0000 (UTC)
|
|
||||||
Received: from localhost (localhost [127.0.0.1])
|
|
||||||
by filter2.mymailcheap.com (Postfix) with ESMTP id 6377C2A7E9;
|
|
||||||
Wed, 18 Nov 2020 11:27:58 +0100 (CET)
|
|
||||||
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mymailcheap.com;
|
|
||||||
s=default; t=1605695278;
|
|
||||||
bh=vA5tPn4fjpXJj/OQnRg+m708mrodc5u5TJSDVOSBnHo=;
|
|
||||||
h=From:To:Cc:Subject:Date:From;
|
|
||||||
b=YYrkSpBDGdpkLi16yGwNw7yMTXXW566rTdXX2RSRxCe6FylY99qiYDmZR+PZFqCX0
|
|
||||||
t3yDL0nO6zMKUvJVqZaTwsroyblAKNCaLz1AfCURNqCwohtJcIkDsegRYz9slzT9Qu
|
|
||||||
BQkTT6dosAIQFtAVrc48QBX38eHXMYreqkbHXz5g=
|
|
||||||
Received: from filter2.mymailcheap.com ([127.0.0.1])
|
|
||||||
by localhost (filter2.mymailcheap.com [127.0.0.1]) (amavisd-new, port 10024)
|
|
||||||
with ESMTP id eCMZCx2FVDgE; Wed, 18 Nov 2020 11:27:57 +0100 (CET)
|
|
||||||
Received: from mail20.mymailcheap.com (mail20.mymailcheap.com [51.83.111.147])
|
|
||||||
(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
|
|
||||||
(No client certificate requested)
|
|
||||||
by filter2.mymailcheap.com (Postfix) with ESMTPS;
|
|
||||||
Wed, 18 Nov 2020 11:27:57 +0100 (CET)
|
|
||||||
Received: from [213.133.102.83] (ml.mymailcheap.com [213.133.102.83])
|
|
||||||
by mail20.mymailcheap.com (Postfix) with ESMTP id A597A400BE;
|
|
||||||
Wed, 18 Nov 2020 10:27:56 +0000 (UTC)
|
|
||||||
Authentication-Results: mail20.mymailcheap.com; dkim=pass (1024-bit key;
|
|
||||||
unprotected) header.d=aosc.io header.i=@aosc.io header.b="o7lHQ4SZ";
|
|
||||||
dkim-atps=neutral
|
|
||||||
AI-Spam-Status: Not processed
|
|
||||||
Received: from ice-e5v2.lan (unknown [59.41.160.51])
|
|
||||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
||||||
key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
|
|
||||||
SHA256) (No client certificate requested)
|
|
||||||
by mail20.mymailcheap.com (Postfix) with ESMTPSA id 3B979400BE;
|
|
||||||
Wed, 18 Nov 2020 10:27:45 +0000 (UTC)
|
|
||||||
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=aosc.io; s=default;
|
|
||||||
t=1605695270; bh=vA5tPn4fjpXJj/OQnRg+m708mrodc5u5TJSDVOSBnHo=;
|
|
||||||
h=From:To:Cc:Subject:Date:From;
|
|
||||||
b=o7lHQ4SZ+kcNlSGrF+USzZxRQhtIEcZFQPjvsiu+MiK+TTjArUzo5bRKHH0I4ZcDM
|
|
||||||
a4Ywg6IcctT99QEZGbRIHqhvjH6/Kvj4lWM77Bb0DrlHXfEdOj3LC7KiAF1vVGFfPI
|
|
||||||
0oTEacf71O2OWPmQBqEH/uaV/IiGI4rZvgWiMPkk=
|
|
||||||
From: Icenowy Zheng <icenowy@aosc.io>
|
|
||||||
To: Jagan Teki <jagan@amarulasolutions.com>,
|
|
||||||
Andre Przywara <andre.przywara@arm.com>,
|
|
||||||
Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Cc: u-boot@lists.denx.de, linux-sunxi@googlegroups.com,
|
|
||||||
Icenowy Zheng <icenowy@aosc.io>
|
|
||||||
Subject: [PATCH v3] sunxi: add PineCube board
|
|
||||||
Date: Wed, 18 Nov 2020 18:27:17 +0800
|
|
||||||
Message-Id: <20201118102717.635129-1-icenowy@aosc.io>
|
|
||||||
X-Mailer: git-send-email 2.28.0
|
|
||||||
MIME-Version: 1.0
|
|
||||||
X-Rspamd-Queue-Id: A597A400BE
|
|
||||||
X-Spamd-Result: default: False [4.90 / 20.00]; RCVD_VIA_SMTP_AUTH(0.00)[];
|
|
||||||
ARC_NA(0.00)[]; R_DKIM_ALLOW(0.00)[aosc.io:s=default];
|
|
||||||
RECEIVED_SPAMHAUS_PBL(0.00)[59.41.160.51:received];
|
|
||||||
FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[];
|
|
||||||
R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[];
|
|
||||||
MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[aosc.io];
|
|
||||||
BROKEN_CONTENT_TYPE(1.50)[]; R_SPF_SOFTFAIL(0.00)[~all];
|
|
||||||
RCPT_COUNT_FIVE(0.00)[6]; ML_SERVERS(-3.10)[213.133.102.83];
|
|
||||||
DKIM_TRACE(0.00)[aosc.io:+]; MID_CONTAINS_FROM(1.00)[];
|
|
||||||
RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[];
|
|
||||||
MIME_TRACE(0.00)[0:+];
|
|
||||||
ASN(0.00)[asn:24940, ipnet:213.133.96.0/19, country:DE];
|
|
||||||
RCVD_COUNT_TWO(0.00)[2];
|
|
||||||
HFILTER_HELO_BAREIP(3.00)[213.133.102.83,1]
|
|
||||||
X-Rspamd-Server: mail20.mymailcheap.com
|
|
||||||
X-BeenThere: u-boot@lists.denx.de
|
|
||||||
X-Mailman-Version: 2.1.34
|
|
||||||
Precedence: list
|
|
||||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
||||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
||||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
||||||
List-Post: <mailto:u-boot@lists.denx.de>
|
|
||||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
||||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
||||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
||||||
Errors-To: u-boot-bounces@lists.denx.de
|
|
||||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
||||||
X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de
|
|
||||||
X-Virus-Status: Clean
|
|
||||||
|
|
||||||
PineCube is an IP camera development kit released by Pine64.
|
|
||||||
|
|
||||||
It comes with the following compoents:
|
|
||||||
|
|
||||||
- A mainboard with Sochip S3 SoC, a 16MByte SPI Flash, AXP209 PMIC,
|
|
||||||
a power-only microUSB connector, a USB Type-A connector, a 10/100Mbps
|
|
||||||
Ethernet port and FPC connectors for camera and daughter board.
|
|
||||||
- An OV5640-based camera module which is connected to the parallel CSI
|
|
||||||
bus of the mainboard.
|
|
||||||
- A daughterboard with several buttons, a SD slot, some IR LEDs, a
|
|
||||||
microphone and a speaker connector.
|
|
||||||
|
|
||||||
As the device tree is synchronized in a previous commit, just add it to
|
|
||||||
Makefile, create a new MAINTAINER item and provide a defconfig.
|
|
||||||
|
|
||||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
|
||||||
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
|
|
||||||
---
|
|
||||||
Changes since v2:
|
|
||||||
- Add Makefile reference to DT.
|
|
||||||
Changes since v1:
|
|
||||||
- Dropped LDO3 quirk.
|
|
||||||
|
|
||||||
arch/arm/dts/Makefile | 1 +
|
|
||||||
board/sunxi/MAINTAINERS | 5 +++++
|
|
||||||
configs/pinecube_defconfig | 15 +++++++++++++++
|
|
||||||
3 files changed, 21 insertions(+)
|
|
||||||
create mode 100644 configs/pinecube_defconfig
|
|
||||||
|
|
||||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
|
||||||
index 7d1a369845..e6993733b0 100644
|
|
||||||
--- a/arch/arm/dts/Makefile
|
|
||||||
+++ b/arch/arm/dts/Makefile
|
|
||||||
@@ -587,6 +587,7 @@ dtb-$(CONFIG_MACH_SUN8I_R40) += \
|
|
||||||
sun8i-r40-bananapi-m2-ultra.dtb \
|
|
||||||
sun8i-v40-bananapi-m2-berry.dtb
|
|
||||||
dtb-$(CONFIG_MACH_SUN8I_V3S) += \
|
|
||||||
+ sun8i-s3-pinecube.dtb \
|
|
||||||
sun8i-v3s-licheepi-zero.dtb
|
|
||||||
dtb-$(CONFIG_MACH_SUN50I_H5) += \
|
|
||||||
sun50i-h5-bananapi-m2-plus.dtb \
|
|
||||||
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
|
|
||||||
index d3755ae41a..735801ae1d 100644
|
|
||||||
--- a/board/sunxi/MAINTAINERS
|
|
||||||
+++ b/board/sunxi/MAINTAINERS
|
|
||||||
@@ -440,6 +440,11 @@ M: Vasily Khoruzhick <anarsoul@gmail.com>
|
|
||||||
S: Maintained
|
|
||||||
F: configs/pinebook_defconfig
|
|
||||||
|
|
||||||
+PINECUBE BOARD:
|
|
||||||
+M: Icenowy Zheng <icenowy@aosc.io>
|
|
||||||
+S: Maintained
|
|
||||||
+F: configs/pinecube_defconfig
|
|
||||||
+
|
|
||||||
PINE64 BOARDS
|
|
||||||
M: Andre Przywara <andre.przywara@arm.com>
|
|
||||||
S: Maintained
|
|
||||||
diff --git a/configs/pinecube_defconfig b/configs/pinecube_defconfig
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..a8c404f6b1
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/configs/pinecube_defconfig
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+CONFIG_ARM=y
|
|
||||||
+CONFIG_ARCH_SUNXI=y
|
|
||||||
+CONFIG_SPL=y
|
|
||||||
+CONFIG_MACH_SUN8I_V3S=y
|
|
||||||
+CONFIG_SUNXI_DRAM_DDR3_1333=y
|
|
||||||
+CONFIG_DRAM_CLK=504
|
|
||||||
+CONFIG_DRAM_ODT_EN=y
|
|
||||||
+CONFIG_I2C0_ENABLE=y
|
|
||||||
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-s3-pinecube"
|
|
||||||
+CONFIG_SPL_I2C_SUPPORT=y
|
|
||||||
+# CONFIG_NETDEVICES is not set
|
|
||||||
+CONFIG_AXP209_POWER=y
|
|
||||||
+CONFIG_AXP_DCDC2_VOLT=1250
|
|
||||||
+CONFIG_AXP_DCDC3_VOLT=3300
|
|
||||||
+CONFIG_CONS_INDEX=3
|
|
271
u-boot-openssl-1.1.patch
Normal file
271
u-boot-openssl-1.1.patch
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
From patchwork Mon May 8 19:31:19 2017
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: [U-Boot,v3,1/2] rsa: Fix build with OpenSSL 1.1.x
|
||||||
|
From: Jelle van der Waa <jelle@vdwaa.nl>
|
||||||
|
X-Patchwork-Id: 759762
|
||||||
|
X-Patchwork-Delegate: trini@ti.com
|
||||||
|
Message-Id: <20170508193120.17348-2-jelle@vdwaa.nl>
|
||||||
|
To: Simon Glass <sjg@chromium.org>, Andrew Duda <aduda@meraki.com>,
|
||||||
|
"mario . six @ gdsys . cc" <mario.six@gdsys.cc>, u-boot@lists.denx.de
|
||||||
|
Cc: Tom Rini <trini@konsulko.com>
|
||||||
|
Date: Mon, 8 May 2017 21:31:19 +0200
|
||||||
|
|
||||||
|
The rsa_st struct has been made opaque in 1.1.x, add forward compatible
|
||||||
|
code to access the n, e, d members of rsa_struct.
|
||||||
|
|
||||||
|
EVP_MD_CTX_cleanup has been removed in 1.1.x and EVP_MD_CTX_reset should be
|
||||||
|
called to reinitialise an already created structure.
|
||||||
|
---
|
||||||
|
lib/rsa/rsa-sign.c | 44 ++++++++++++++++++++++++++++++++++++++------
|
||||||
|
1 file changed, 38 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c
|
||||||
|
index 8c6637e328..1da4ef7fff 100644
|
||||||
|
--- a/lib/rsa/rsa-sign.c
|
||||||
|
+++ b/lib/rsa/rsa-sign.c
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
#include <string.h>
|
||||||
|
#include <image.h>
|
||||||
|
#include <time.h>
|
||||||
|
+#include <openssl/bn.h>
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
@@ -20,6 +21,19 @@
|
||||||
|
#define HAVE_ERR_REMOVE_THREAD_STATE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+static void RSA_get0_key(const RSA *r,
|
||||||
|
+ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
|
||||||
|
+{
|
||||||
|
+ if (n != NULL)
|
||||||
|
+ *n = r->n;
|
||||||
|
+ if (e != NULL)
|
||||||
|
+ *e = r->e;
|
||||||
|
+ if (d != NULL)
|
||||||
|
+ *d = r->d;
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static int rsa_err(const char *msg)
|
||||||
|
{
|
||||||
|
unsigned long sslErr = ERR_get_error();
|
||||||
|
@@ -286,16 +300,22 @@ static int rsa_init(void)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
ret = SSL_library_init();
|
||||||
|
+#else
|
||||||
|
+ ret = OPENSSL_init_ssl(0, NULL);
|
||||||
|
+#endif
|
||||||
|
if (!ret) {
|
||||||
|
fprintf(stderr, "Failure to init SSL library\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
SSL_load_error_strings();
|
||||||
|
|
||||||
|
OpenSSL_add_all_algorithms();
|
||||||
|
OpenSSL_add_all_digests();
|
||||||
|
OpenSSL_add_all_ciphers();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -335,12 +355,15 @@ err_set_rsa:
|
||||||
|
err_engine_init:
|
||||||
|
ENGINE_free(e);
|
||||||
|
err_engine_by_id:
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
ENGINE_cleanup();
|
||||||
|
+#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void rsa_remove(void)
|
||||||
|
{
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
CRYPTO_cleanup_all_ex_data();
|
||||||
|
ERR_free_strings();
|
||||||
|
#ifdef HAVE_ERR_REMOVE_THREAD_STATE
|
||||||
|
@@ -349,6 +372,7 @@ static void rsa_remove(void)
|
||||||
|
ERR_remove_state(0);
|
||||||
|
#endif
|
||||||
|
EVP_cleanup();
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void rsa_engine_remove(ENGINE *e)
|
||||||
|
@@ -409,7 +433,11 @@ static int rsa_sign_with_key(RSA *rsa, struct checksum_algo *checksum_algo,
|
||||||
|
ret = rsa_err("Could not obtain signature");
|
||||||
|
goto err_sign;
|
||||||
|
}
|
||||||
|
- EVP_MD_CTX_cleanup(context);
|
||||||
|
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+ EVP_MD_CTX_cleanup(context);
|
||||||
|
+ #else
|
||||||
|
+ EVP_MD_CTX_reset(context);
|
||||||
|
+ #endif
|
||||||
|
EVP_MD_CTX_destroy(context);
|
||||||
|
EVP_PKEY_free(key);
|
||||||
|
|
||||||
|
@@ -479,6 +507,7 @@ static int rsa_get_exponent(RSA *key, uint64_t *e)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
BIGNUM *bn_te;
|
||||||
|
+ const BIGNUM *key_e;
|
||||||
|
uint64_t te;
|
||||||
|
|
||||||
|
ret = -EINVAL;
|
||||||
|
@@ -487,17 +516,18 @@ static int rsa_get_exponent(RSA *key, uint64_t *e)
|
||||||
|
if (!e)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
- if (BN_num_bits(key->e) > 64)
|
||||||
|
+ RSA_get0_key(key, NULL, &key_e, NULL);
|
||||||
|
+ if (BN_num_bits(key_e) > 64)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
- *e = BN_get_word(key->e);
|
||||||
|
+ *e = BN_get_word(key_e);
|
||||||
|
|
||||||
|
- if (BN_num_bits(key->e) < 33) {
|
||||||
|
+ if (BN_num_bits(key_e) < 33) {
|
||||||
|
ret = 0;
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
- bn_te = BN_dup(key->e);
|
||||||
|
+ bn_te = BN_dup(key_e);
|
||||||
|
if (!bn_te)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
@@ -527,6 +557,7 @@ int rsa_get_params(RSA *key, uint64_t *exponent, uint32_t *n0_invp,
|
||||||
|
{
|
||||||
|
BIGNUM *big1, *big2, *big32, *big2_32;
|
||||||
|
BIGNUM *n, *r, *r_squared, *tmp;
|
||||||
|
+ const BIGNUM *key_n;
|
||||||
|
BN_CTX *bn_ctx = BN_CTX_new();
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
@@ -548,7 +579,8 @@ int rsa_get_params(RSA *key, uint64_t *exponent, uint32_t *n0_invp,
|
||||||
|
if (0 != rsa_get_exponent(key, exponent))
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
|
- if (!BN_copy(n, key->n) || !BN_set_word(big1, 1L) ||
|
||||||
|
+ RSA_get0_key(key, &key_n, NULL, NULL);
|
||||||
|
+ if (!BN_copy(n, key_n) || !BN_set_word(big1, 1L) ||
|
||||||
|
!BN_set_word(big2, 2L) || !BN_set_word(big32, 32L))
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
|
From patchwork Mon May 8 19:31:20 2017
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: [U-Boot,v3,2/2] tools: kwbimage fix build with OpenSSL 1.1.x
|
||||||
|
From: Jelle van der Waa <jelle@vdwaa.nl>
|
||||||
|
X-Patchwork-Id: 759763
|
||||||
|
X-Patchwork-Delegate: trini@ti.com
|
||||||
|
Message-Id: <20170508193120.17348-3-jelle@vdwaa.nl>
|
||||||
|
To: Simon Glass <sjg@chromium.org>, Andrew Duda <aduda@meraki.com>,
|
||||||
|
"mario . six @ gdsys . cc" <mario.six@gdsys.cc>, u-boot@lists.denx.de
|
||||||
|
Cc: Tom Rini <trini@konsulko.com>
|
||||||
|
Date: Mon, 8 May 2017 21:31:20 +0200
|
||||||
|
|
||||||
|
The rsa_st struct has been made opaque in 1.1.x, add forward compatible
|
||||||
|
code to access the n, e, d members of rsa_struct.
|
||||||
|
|
||||||
|
EVP_MD_CTX_cleanup has been removed in 1.1.x and EVP_MD_CTX_reset should be
|
||||||
|
called to reinitialise an already created structure.
|
||||||
|
|
||||||
|
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
|
||||||
|
---
|
||||||
|
tools/kwbimage.c | 36 ++++++++++++++++++++++++++++++------
|
||||||
|
1 file changed, 30 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
|
||||||
|
index 2c637c7446..8c0e730e7b 100644
|
||||||
|
--- a/tools/kwbimage.c
|
||||||
|
+++ b/tools/kwbimage.c
|
||||||
|
@@ -18,10 +18,30 @@
|
||||||
|
#include "kwbimage.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_KWB_SECURE
|
||||||
|
+#include <openssl/bn.h>
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
#include <openssl/evp.h>
|
||||||
|
+
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+static void RSA_get0_key(const RSA *r,
|
||||||
|
+ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
|
||||||
|
+{
|
||||||
|
+ if (n != NULL)
|
||||||
|
+ *n = r->n;
|
||||||
|
+ if (e != NULL)
|
||||||
|
+ *e = r->e;
|
||||||
|
+ if (d != NULL)
|
||||||
|
+ *d = r->d;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#else
|
||||||
|
+void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
|
||||||
|
+{
|
||||||
|
+ EVP_MD_CTX_reset(ctx);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static struct image_cfg_element *image_cfg;
|
||||||
|
@@ -470,12 +490,16 @@ static int kwb_export_pubkey(RSA *key, struct pubkey_der_v1 *dst, FILE *hashf,
|
||||||
|
char *keyname)
|
||||||
|
{
|
||||||
|
int size_exp, size_mod, size_seq;
|
||||||
|
+ const BIGNUM *key_e, *key_n;
|
||||||
|
uint8_t *cur;
|
||||||
|
char *errmsg = "Failed to encode %s\n";
|
||||||
|
|
||||||
|
- if (!key || !key->e || !key->n || !dst) {
|
||||||
|
+ RSA_get0_key(key, NULL, &key_e, NULL);
|
||||||
|
+ RSA_get0_key(key, &key_n, NULL, NULL);
|
||||||
|
+
|
||||||
|
+ if (!key || !key_e || !key_n || !dst) {
|
||||||
|
fprintf(stderr, "export pk failed: (%p, %p, %p, %p)",
|
||||||
|
- key, key->e, key->n, dst);
|
||||||
|
+ key, key_e, key_n, dst);
|
||||||
|
fprintf(stderr, errmsg, keyname);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
@@ -490,8 +514,8 @@ static int kwb_export_pubkey(RSA *key, struct pubkey_der_v1 *dst, FILE *hashf,
|
||||||
|
* do the encoding manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
- size_exp = BN_num_bytes(key->e);
|
||||||
|
- size_mod = BN_num_bytes(key->n);
|
||||||
|
+ size_exp = BN_num_bytes(key_e);
|
||||||
|
+ size_mod = BN_num_bytes(key_n);
|
||||||
|
size_seq = 4 + size_mod + 4 + size_exp;
|
||||||
|
|
||||||
|
if (size_mod > 256) {
|
||||||
|
@@ -520,14 +544,14 @@ static int kwb_export_pubkey(RSA *key, struct pubkey_der_v1 *dst, FILE *hashf,
|
||||||
|
*cur++ = 0x82;
|
||||||
|
*cur++ = (size_mod >> 8) & 0xFF;
|
||||||
|
*cur++ = size_mod & 0xFF;
|
||||||
|
- BN_bn2bin(key->n, cur);
|
||||||
|
+ BN_bn2bin(key_n, cur);
|
||||||
|
cur += size_mod;
|
||||||
|
/* Exponent */
|
||||||
|
*cur++ = 0x02; /* INTEGER */
|
||||||
|
*cur++ = 0x82;
|
||||||
|
*cur++ = (size_exp >> 8) & 0xFF;
|
||||||
|
*cur++ = size_exp & 0xFF;
|
||||||
|
- BN_bn2bin(key->e, cur);
|
||||||
|
+ BN_bn2bin(key_e, cur);
|
||||||
|
|
||||||
|
if (hashf) {
|
||||||
|
struct hash_v1 pk_hash;
|
485
uboot-tools.spec
485
uboot-tools.spec
@ -1,68 +1,43 @@
|
|||||||
%global candidate rc4
|
#global candidate rc3
|
||||||
|
|
||||||
Name: uboot-tools
|
Name: uboot-tools
|
||||||
Version: 2021.01
|
Version: 2017.05
|
||||||
Release: 0.4%{?candidate:.%{candidate}}%{?dist}
|
Release: 5%{?candidate:.%{candidate}}%{?dist}
|
||||||
Summary: U-Boot utilities
|
Summary: U-Boot utilities
|
||||||
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
||||||
URL: http://www.denx.de/wiki/U-Boot
|
URL: http://www.denx.de/wiki/U-Boot
|
||||||
|
|
||||||
Source0: ftp://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
|
Source0: ftp://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
|
||||||
Source1: arm-boards
|
Source1: arm-boards
|
||||||
Source2: arm-chromebooks
|
Source2: aarch64-boards
|
||||||
Source3: aarch64-boards
|
|
||||||
Source4: aarch64-chromebooks
|
|
||||||
|
|
||||||
# Fedoraisms patches
|
Patch1: add-BOOTENV_INIT_COMMAND-for-commands-that-may-be-ne.patch
|
||||||
# Needed to find DT on boot partition that's not the first partition
|
Patch2: u-boot-openssl-1.1.patch
|
||||||
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
|
Patch3: mx6cuboxi-Add-support-for-sata.patch
|
||||||
# Needed due to issues with shim
|
Patch4: mx6-Initial-Hummingboard-2-support.patch
|
||||||
Patch2: uefi-use-Fedora-specific-path-name.patch
|
Patch5: sti-STiH410-B2260-support.patch
|
||||||
# RPi - uses RPI firmware device tree for HAT support
|
Patch6: AW64-add-spl-atf-support.patch
|
||||||
Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
|
Patch7: use-Fedora-specific-EFI-path-name.patch
|
||||||
# Ajust the U-Boot offsets in SPL to take less space
|
Patch8: clearfog-distroboot.patch
|
||||||
#Patch4: rockchip-spl-u-boot-itb-offset.patch
|
Patch9: arm-tegra-nyan-chromebook.patch
|
||||||
|
Patch10: dragonboard-fixes.patch
|
||||||
|
Patch11: uefi-fixes.patch
|
||||||
|
Patch12: device-tree-overlays.patch
|
||||||
|
Patch13: net-Mark-the-ip_udp_hdr-struct-as-packed.patch
|
||||||
|
|
||||||
# Board fixes and enablement
|
# Patch19: 0001-arm-mvebu-enable-generic-distro-boot-config.patch
|
||||||
Patch5: Raspberry-Pi-400-Compute-Module-4-support.patch
|
|
||||||
Patch6: rng-Add-iProc-RNG200-driver.patch
|
|
||||||
# AllWinner improvements
|
|
||||||
Patch10: AllWinner-PineTab.patch
|
|
||||||
Patch11: sunxi-add-PineCube-board.patch
|
|
||||||
Patch12: 0001-Fixes-for-AllWinner-ethernet-network-interfaces.patch
|
|
||||||
# TI fixes
|
|
||||||
Patch13: 0001-Fix-BeagleAI-detection.patch
|
|
||||||
# Rockchips improvements
|
|
||||||
Patch14: arm-rk3399-enable-rng-on-rock960-and-firefly3399.patch
|
|
||||||
Patch15: rk3399-Pinebook-pro-EDP-support.patch
|
|
||||||
|
|
||||||
BuildRequires: bc
|
BuildRequires: bc
|
||||||
BuildRequires: dtc
|
BuildRequires: dtc
|
||||||
BuildRequires: make
|
|
||||||
# Requirements for building on el7
|
|
||||||
%if 0%{?rhel} == 7
|
|
||||||
BuildRequires: devtoolset-7-build
|
|
||||||
BuildRequires: devtoolset-7-binutils
|
|
||||||
BuildRequires: devtoolset-7-gcc
|
|
||||||
BuildRequires: python2-devel
|
|
||||||
BuildRequires: python2-setuptools
|
|
||||||
BuildRequires: python2-libfdt
|
|
||||||
%else
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: python3-devel
|
BuildRequires: git
|
||||||
BuildRequires: python3-setuptools
|
|
||||||
BuildRequires: python3-libfdt
|
|
||||||
%endif
|
|
||||||
BuildRequires: flex bison
|
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: SDL-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: swig
|
BuildRequires: python-setuptools
|
||||||
%ifarch %{arm} aarch64
|
|
||||||
BuildRequires: vboot-utils
|
|
||||||
%endif
|
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
BuildRequires: arm-trusted-firmware-armv8
|
BuildRequires: arm-trusted-firmware-armv8
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Requires: dtc
|
Requires: dtc
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -71,70 +46,70 @@ and fw_printenv/fw_setenv for manipulating the boot environment variables.
|
|||||||
|
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%package -n uboot-images-armv8
|
%package -n uboot-images-armv8
|
||||||
Summary: U-Boot firmware images for aarch64 boards
|
Summary: u-boot bootloader images for armv8 boards
|
||||||
|
Requires: uboot-tools
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description -n uboot-images-armv8
|
%description -n uboot-images-armv8
|
||||||
U-Boot firmware binaries for aarch64 boards
|
u-boot bootloader binaries for the aarch64 vexpress_aemv8a
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{arm}
|
%ifarch %{arm}
|
||||||
%package -n uboot-images-armv7
|
%package -n uboot-images-armv7
|
||||||
Summary: U-Boot firmware images for armv7 boards
|
Summary: u-boot bootloader images for armv7 boards
|
||||||
|
Requires: uboot-tools
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description -n uboot-images-armv7
|
%description -n uboot-images-armv7
|
||||||
U-Boot firmware binaries for armv7 boards
|
u-boot bootloader binaries for armv7 boards
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{arm} aarch64
|
||||||
|
%package -n uboot-images-elf
|
||||||
|
Summary: u-boot bootloader images for armv7 boards
|
||||||
|
Requires: uboot-tools
|
||||||
|
Obsoletes: uboot-images-qemu
|
||||||
|
Provides: uboot-images-qemu
|
||||||
|
|
||||||
|
%description -n uboot-images-elf
|
||||||
|
u-boot bootloader ELF binaries for use with qemu and other platforms
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}}
|
%setup -q -n u-boot-%{version}%{?candidate:-%{candidate}}
|
||||||
|
|
||||||
cp %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 .
|
git init
|
||||||
|
git config --global gc.auto 0
|
||||||
|
git config user.email "noone@example.com"
|
||||||
|
git config user.name "no one"
|
||||||
|
git add .
|
||||||
|
git commit -a -q -m "%{version} baseline"
|
||||||
|
git am %{patches} </dev/null
|
||||||
|
git config --unset user.email
|
||||||
|
git config --unset user.name
|
||||||
|
rm -rf .git
|
||||||
|
|
||||||
|
cp %SOURCE1 %SOURCE2 .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mkdir builds
|
mkdir builds
|
||||||
|
|
||||||
%if 0%{?rhel} == 7
|
|
||||||
#Enabling DTS for .el7
|
|
||||||
%{?enable_devtoolset7:%{enable_devtoolset7}}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64 %{arm}
|
%ifarch aarch64 %{arm}
|
||||||
for board in $(cat %{_arch}-boards)
|
for board in $(cat %{_arch}-boards)
|
||||||
do
|
do
|
||||||
echo "Building board: $board"
|
echo "Building board: $board"
|
||||||
mkdir builds/$(echo $board)/
|
mkdir builds/$(echo $board)/
|
||||||
# ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome
|
# Needs improving but currently Pine64 is the only one
|
||||||
sun50i=(a64-olinuxino amarula_a64_relic bananapi_m2_plus_h5 bananapi_m64 libretech_all_h3_cc_h5 nanopi_a64 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64-lts pine64_plus pinebook pinephone pinetab sopine_baseboard teres_i)
|
if [ "$board" = ""pine64_plus ]; then
|
||||||
if [[ " ${sun50i[*]} " == *" $board "* ]]; then
|
cp /usr/share/arm-trusted-firmware/sun50iw1p1/bl31.bin builds/$(echo $board)/
|
||||||
echo "Board: $board using sun50i_a64"
|
|
||||||
cp /usr/share/arm-trusted-firmware/sun50i_a64/* builds/$(echo $board)/
|
|
||||||
fi
|
fi
|
||||||
sun50h6=(orangepi_lite2 orangepi_one_plus pine_h64)
|
|
||||||
if [[ " ${sun50h6[*]} " == *" $board "* ]]; then
|
|
||||||
echo "Board: $board using sun50i_h6"
|
|
||||||
cp /usr/share/arm-trusted-firmware/sun50i_h6/* builds/$(echo $board)/
|
|
||||||
fi
|
|
||||||
rk3328=(evb-rk3328 rock64-rk3328 rock-pi-e-rk3328 roc-cc-rk3328)
|
|
||||||
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
|
|
||||||
echo "Board: $board using rk3328"
|
|
||||||
cp /usr/share/arm-trusted-firmware/rk3328/* builds/$(echo $board)/
|
|
||||||
fi
|
|
||||||
rk3399=(evb-rk3399 ficus-rk3399 firefly-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 orangepi-rk3399 pinebook-pro-rk3399 puma-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
|
|
||||||
if [[ " ${rk3399[*]} " == *" $board "* ]]; then
|
|
||||||
echo "Board: $board using rk3399"
|
|
||||||
cp /usr/share/arm-trusted-firmware/rk3399/* builds/$(echo $board)/
|
|
||||||
fi
|
|
||||||
# End ATF
|
|
||||||
make $(echo $board)_defconfig O=builds/$(echo $board)/
|
make $(echo $board)_defconfig O=builds/$(echo $board)/
|
||||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
|
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" %{?_smp_mflags} V=1 O=builds/$(echo $board)/
|
||||||
done
|
done
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/
|
make HOSTCC="gcc $RPM_OPT_FLAGS" %{?_smp_mflags} CROSS_COMPILE="" defconfig V=1 O=builds/
|
||||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
|
make HOSTCC="gcc $RPM_OPT_FLAGS" %{?_smp_mflags} CROSS_COMPILE="" tools-all V=1 O=builds/
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||||
@ -142,31 +117,17 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/
|
||||||
|
|
||||||
%ifarch aarch64
|
%ifarch aarch64 %{arm}
|
||||||
for board in $(cat %{_arch}-boards)
|
for board in $(cat %{_arch}-boards)
|
||||||
do
|
do
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||||
for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img spl/boot.bin spl/sunxi-spl.bin
|
for file in MLO SPL u-boot.bin u-boot.dtb u-boot-dtb-tegra.bin u-boot.img u-boot.imx u-boot-nodtb-tegra.bin u-boot-spl.kwb u-boot-sunxi-with-spl.bin u-boot.itb
|
||||||
do
|
do
|
||||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch %{arm}
|
|
||||||
for board in $(cat %{_arch}-boards)
|
|
||||||
do
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
|
||||||
for file in MLO SPL spl/arndale-spl.bin spl/origen-spl.bin spl/*spl.bin u-boot.bin u-boot.dtb u-boot-dtb-tegra.bin u-boot.img u-boot.imx u-boot-spl.kwb u-boot-rockchip.bin u-boot-sunxi-with-spl.bin spl/boot.bin
|
|
||||||
do
|
|
||||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
|
||||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
# Bit of a hack to remove binaries we don't use as they're large
|
# Bit of a hack to remove binaries we don't use as they're large
|
||||||
for board in $(cat %{_arch}-boards)
|
for board in $(cat %{_arch}-boards)
|
||||||
@ -183,10 +144,55 @@ do
|
|||||||
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then
|
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then
|
||||||
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||||
fi
|
fi
|
||||||
|
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.itb ]; then
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/*.bin
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/*.dtb
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/*.img
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
for tool in bmp_logo dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc img2srec mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes
|
%ifarch aarch64
|
||||||
|
for board in $(cat %{_arch}-boards)
|
||||||
|
do
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||||
|
for file in MLO SPL spl/sunxi-spl.bin spl/u-boot-spl.bin u-boot.bin u-boot.dtb u-boot-dtb-tegra.bin u-boot.img u-boot.imx u-boot-nodtb-tegra.bin u-boot-spl.kwb u-boot-sunxi-with-spl.bin
|
||||||
|
do
|
||||||
|
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||||
|
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# ELF binaries
|
||||||
|
%ifarch %{arm}
|
||||||
|
for board in vexpress_ca15_tc2 vexpress_ca9x4
|
||||||
|
do
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||||
|
for file in u-boot
|
||||||
|
do
|
||||||
|
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||||
|
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
for board in $(cat %{_arch}-boards)
|
||||||
|
do
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||||
|
for file in u-boot
|
||||||
|
do
|
||||||
|
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||||
|
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
for tool in bmp_logo dumpimage easylogo/easylogo env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc img2srec mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes
|
||||||
do
|
do
|
||||||
install -p -m 0755 builds/tools/$tool $RPM_BUILD_ROOT%{_bindir}
|
install -p -m 0755 builds/tools/$tool $RPM_BUILD_ROOT%{_bindir}
|
||||||
done
|
done
|
||||||
@ -199,13 +205,14 @@ install -p -m 0644 tools/env/fw_env.config $RPM_BUILD_ROOT%{_sysconfdir}
|
|||||||
|
|
||||||
# Copy sone useful docs over
|
# Copy sone useful docs over
|
||||||
mkdir -p builds/docs
|
mkdir -p builds/docs
|
||||||
|
cp -p board/amlogic/odroid-c2/README builds/docs/README.odroid-c2
|
||||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||||
cp -p board/Marvell/db-88f6820-gp/README builds/docs/README.mvebu-db-88f6820
|
cp -p board/Marvell/db-88f6820-gp/README builds/docs/README.mvebu-db-88f6820
|
||||||
cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399
|
cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399
|
||||||
cp -p board/solidrun/clearfog/README builds/docs/README.clearfog
|
cp -p board/solidrun/clearfog/README builds/docs/README.clearfog
|
||||||
cp -p board/solidrun/mx6cuboxi/README builds/docs/README.mx6cuboxi
|
cp -p board/solidrun/mx6cuboxi/README builds/docs/README.mx6cuboxi
|
||||||
cp -p board/sunxi/README.sunxi64 builds/docs/README.sunxi64
|
cp -p board/sunxi/README.pine64 builds/docs/README.pine64
|
||||||
cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
||||||
cp -p board/ti/am335x/README builds/docs/README.am335x
|
cp -p board/ti/am335x/README builds/docs/README.am335x
|
||||||
cp -p board/ti/omap5_uevm/README builds/docs/README.omap5_uevm
|
cp -p board/ti/omap5_uevm/README builds/docs/README.omap5_uevm
|
||||||
@ -215,10 +222,9 @@ cp -p board/warp/README builds/docs/README.warp
|
|||||||
cp -p board/warp7/README builds/docs/README.warp7
|
cp -p board/warp7/README builds/docs/README.warp7
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README doc/README.kwbimage doc/README.distro doc/README.gpt
|
%doc README doc/README.imximage doc/README.kwbimage doc/README.distro doc/README.gpt
|
||||||
%doc doc/README.odroid doc/README.rockchip doc/uefi doc/uImage.FIT doc/arch/arm64.rst
|
%doc doc/README.odroid doc/README.rockchip doc/README.efi doc/uImage.FIT doc/README.arm64
|
||||||
%doc doc/README.chromium builds/docs/*
|
%doc doc/README.chromium builds/docs/*
|
||||||
%doc doc/board/amlogic/ doc/board/rockchip/
|
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_mandir}/man1/mkimage.1*
|
%{_mandir}/man1/mkimage.1*
|
||||||
%dir %{_datadir}/uboot/
|
%dir %{_datadir}/uboot/
|
||||||
@ -227,123 +233,232 @@ cp -p board/warp7/README builds/docs/README.warp7
|
|||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%files -n uboot-images-armv8
|
%files -n uboot-images-armv8
|
||||||
%{_datadir}/uboot/*
|
%{_datadir}/uboot/*
|
||||||
|
%exclude %{_datadir}/uboot/elf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{arm}
|
%ifarch %{arm}
|
||||||
%files -n uboot-images-armv7
|
%files -n uboot-images-armv7
|
||||||
%{_datadir}/uboot/*
|
%{_datadir}/uboot/*
|
||||||
|
%exclude %{_datadir}/uboot/elf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{arm} aarch64
|
||||||
|
%files -n uboot-images-elf
|
||||||
|
%{_datadir}/uboot/elf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sun Dec 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.4.rc4
|
* Thu Jul 13 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-5
|
||||||
- Update to 2021.01 RC4
|
- Netboot data abort fix
|
||||||
- Latest RPi-400/CM4 support patch
|
- EFI path fix
|
||||||
|
|
||||||
* Tue Dec 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.3.rc3
|
* Sat Jun 24 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-4
|
||||||
- Update to 2021.01 RC3
|
- Fix bug in aarch64 builds that dropped some files
|
||||||
- Latest RPi-400/CM4 support patch
|
- Add DT Overlay support for RPi/BeagleBone/CHIP/96boards devices
|
||||||
- Re-enable previously disabled device support
|
|
||||||
|
|
||||||
* Mon Dec 14 2020 Javier Martinez Canillas <javierm@redhat.com> - 2021.01-0.2.rc2
|
* Thu Jun 22 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-3
|
||||||
- Fix a "scan_dev_for_efi" not defined error
|
- Further uEFI and DragonBoard fixes
|
||||||
|
|
||||||
* Sun Nov 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.1.rc2
|
* Mon May 29 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-2
|
||||||
- Update to 2021.01 RC2
|
- Spec and build refactoring
|
||||||
- Latest Pinebook Pro display patches
|
- Add distro-boot support for ClearFog
|
||||||
- Initial RPi-400 support patch
|
- Add support for building a chained u-boot for nyan-big
|
||||||
- Update Fedora specific patches
|
- Dragonboard and uEFI fixes
|
||||||
|
|
||||||
* Sun Nov 8 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-3
|
* Tue May 9 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-1
|
||||||
- Fix SPI on Rockchip devices
|
- 2017.05
|
||||||
- Latest Pinebook Pro display patches
|
|
||||||
- Fix Keyboard and USB-A ports on Pinebook Pro
|
|
||||||
|
|
||||||
* Wed Oct 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-2
|
* Wed May 3 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.7.rc7
|
||||||
- Fix kernel installs for non EBBR systems
|
- 2017.05 RC3
|
||||||
- Fix for wired networks on some Allwinner devices
|
|
||||||
|
|
||||||
* Tue Oct 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-1
|
* Mon Apr 24 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.6.rc2
|
||||||
- Update to 2020.10
|
- Add SPL/ATF support for AllWinner A64 SoCs
|
||||||
|
- Ship u-boot elf binaries for all aarch64 devices
|
||||||
|
- Cleanups and spec updates
|
||||||
|
- Add some more docs/tools
|
||||||
|
|
||||||
* Sun Sep 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.6.rc5
|
* Mon Apr 17 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.5.rc2
|
||||||
- Initial support for display output on Pinebook Pro
|
- Ship the elf u-boot binaries for aarch64
|
||||||
|
|
||||||
* Tue Sep 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.5.rc5
|
* Mon Apr 17 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.4.rc2
|
||||||
- Update to 2020.10 RC5
|
- 2017.05 RC2
|
||||||
|
|
||||||
* Wed Sep 09 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.4.rc4
|
* Tue Apr 11 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.3.rc1
|
||||||
- Update to 2020.10 RC4
|
- Add support for STi STiH410
|
||||||
|
|
||||||
* Wed Aug 19 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.3.rc2
|
* Wed Apr 5 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.2.rc1
|
||||||
- Enable a number of new Rockchip devices
|
- Build am335x_evm
|
||||||
|
|
||||||
* Mon Aug 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.2.rc2
|
* Wed Apr 5 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.05-0.1.rc1
|
||||||
- Update to 2020.10 RC2
|
- 2017.05 RC1
|
||||||
|
- Enable TinkerBoard and MacchiatoBIN
|
||||||
|
|
||||||
* Tue Jul 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.1.rc1
|
* Mon Mar 20 2017 Jon Disnard <parasense@fedoraproject.org> 2017.03-2
|
||||||
- 2020.10 RC1
|
- Pass --no-dynamic-linker for linkers newer than 2.26
|
||||||
|
- Add build dependency on gcc
|
||||||
|
|
||||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2020.07-2
|
* Mon Mar 13 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-1
|
||||||
- Use make macros
|
- 2017.03
|
||||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
|
||||||
|
|
||||||
* Mon Jul 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-1
|
* Mon Mar 6 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.7.rc3
|
||||||
- 2020.07 GA
|
- Add support for SATA on Cubox-i and Hummingboard
|
||||||
|
- Add initial Hummingboard 2 (Gate/Edge) support
|
||||||
|
- Add initial Marvell ESPRESSOBin board support
|
||||||
|
|
||||||
* Tue Jun 23 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.5.rc5
|
* Tue Feb 28 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.6.rc3
|
||||||
- 2020.07 RC5
|
- 2017.03 RC3
|
||||||
|
|
||||||
* Thu Jun 18 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.4.rc4
|
* Wed Feb 15 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.5.rc2
|
||||||
- Update various patches to latest upstream
|
- Rebase OpenSSL 1.1 patches
|
||||||
|
|
||||||
* Wed Jun 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.3.rc4
|
* Mon Feb 13 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.4.rc2
|
||||||
- 2020.07 RC4
|
- 2017.03 RC2
|
||||||
- Minor updates and other fixes
|
- Temporarily drop OpenSSL 1.1 patches (need rebase)
|
||||||
|
- Add fix for UDOO Neo distro boot
|
||||||
|
|
||||||
* Tue May 12 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.2.rc2
|
* Mon Feb 13 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.3.rc1
|
||||||
- 2020.07 RC2
|
- Add patches to fix build against OpenSSL 1.1
|
||||||
- Minor device updates
|
|
||||||
|
|
||||||
* Wed Apr 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.1.rc1
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2017.03-0.2.rc1
|
||||||
- 2020.07 RC1
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-4
|
* Tue Jan 31 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.03-0.1.rc1
|
||||||
- Initial support for USB on Rasperry Pi 4
|
- 2017.03 RC1
|
||||||
|
|
||||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-3
|
* Tue Jan 10 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.01-1
|
||||||
- Ship u-boot-rockchip.bin for SPI flash
|
- 2017.01
|
||||||
|
|
||||||
* Mon Apr 20 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-2
|
* Tue Jan 3 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.01-0.4.rc3
|
||||||
- Fix ATF for new aarch64 devices
|
- Enable new devices
|
||||||
- Fix Wandboard board detection (rhbz 1825247)
|
|
||||||
- Fix mSD card on RockPro64
|
|
||||||
- Enable (inital) Pinebook Pro
|
|
||||||
|
|
||||||
* Tue Apr 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-1
|
* Tue Jan 3 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2017.01-0.3.rc3
|
||||||
- 2020.04
|
- 2017.01 RC3
|
||||||
|
|
||||||
* Tue Apr 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.7-rc5
|
* Tue Dec 20 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2017.01-0.2.rc2
|
||||||
- 2020.04 RC5
|
- 2017.01 RC2
|
||||||
|
|
||||||
* Tue Mar 31 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.6-rc4
|
* Wed Dec 7 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2017.01-0.1.rc1
|
||||||
- 2020.04 RC4
|
- 2017.01 RC1
|
||||||
- Updates for NVIDIA Jetson platforms
|
|
||||||
- Support RNG for random seed for KASLR on some Rockchip devices
|
|
||||||
|
|
||||||
* Thu Mar 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.5-rc3
|
* Tue Nov 29 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.11-2
|
||||||
- Fix ext4 alignment issue seen on some NXP i.MX devices
|
- Add upstream patch to support UDOO Neo
|
||||||
|
|
||||||
* Wed Feb 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.4-rc3
|
* Mon Nov 14 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.11-1
|
||||||
- 2020.04 RC3
|
- Update to 2016.11 GA
|
||||||
|
|
||||||
* Thu Feb 13 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.3-rc2
|
* Mon Oct 31 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.11-0.3.rc3
|
||||||
- 2020.04 RC2
|
- 2016.11 RC3
|
||||||
|
|
||||||
* Sun Feb 2 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.2-rc1
|
* Tue Oct 18 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.11-0.2.rc2
|
||||||
- Update genet NIC driver
|
- 2016.11 RC2
|
||||||
|
|
||||||
* Wed Jan 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.1-rc1
|
* Sat Oct 8 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.11-0.1.rc1
|
||||||
- 2020.04 RC1
|
- 2016.11 RC1
|
||||||
|
|
||||||
* Tue Jan 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.01-1
|
* Tue Sep 20 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.09.01-1
|
||||||
- 2020.01
|
- Update to 2016.09.01 GA
|
||||||
|
|
||||||
|
* Mon Sep 12 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.09-3
|
||||||
|
- Update to 2016.09 GA
|
||||||
|
- Add qemu elf binaries to new subpackage
|
||||||
|
|
||||||
|
* Tue Aug 23 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.09-2rc2
|
||||||
|
- 2016.09 RC2
|
||||||
|
|
||||||
|
* Wed Jul 27 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.09-1rc1
|
||||||
|
- 2016.09 RC1
|
||||||
|
|
||||||
|
* Tue Jul 12 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.07-1
|
||||||
|
- Update to 2016.07 GA
|
||||||
|
|
||||||
|
* Thu Jul 7 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.07-0.4rc3
|
||||||
|
- Minor updates and cleanups
|
||||||
|
|
||||||
|
* Tue Jul 5 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.07-0.3rc3
|
||||||
|
- 2016.07 RC3
|
||||||
|
|
||||||
|
* Tue Jun 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.07-0.2rc2
|
||||||
|
- 2016.07 RC2
|
||||||
|
|
||||||
|
* Tue Jun 7 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.07-0.1rc1
|
||||||
|
- 2016.07 RC1
|
||||||
|
- Build new aarch64 devices: odroid-c2
|
||||||
|
- Build new ARMv7 devices: chromebook-jerry
|
||||||
|
|
||||||
|
* Mon May 23 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-3
|
||||||
|
- Ship SPL for rockchips devices
|
||||||
|
|
||||||
|
* Thu May 19 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-2
|
||||||
|
- Fix distro boot on clearfog
|
||||||
|
- arm64 EFI boot fixes
|
||||||
|
|
||||||
|
* Mon May 16 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-1
|
||||||
|
- Update to 2016.05 GA
|
||||||
|
|
||||||
|
* Thu May 12 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-0.5rc3
|
||||||
|
- Add USB storage support to CHIP
|
||||||
|
- Enhanced PINE64 support
|
||||||
|
|
||||||
|
* Thu Apr 28 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-0.4rc3
|
||||||
|
- Upstream fix for i.MX6 breakage
|
||||||
|
- Rebase mvebu distro boot patch
|
||||||
|
|
||||||
|
* Wed Apr 27 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-0.3rc3
|
||||||
|
- Add work around for imx6 and renable devices
|
||||||
|
|
||||||
|
* Tue Apr 26 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-0.2rc3
|
||||||
|
- 2016.05 RC3
|
||||||
|
- Add some useful device READMEs that contain locations of needed firmware blobs etc
|
||||||
|
- Enable Jetson TX1
|
||||||
|
- i.MX6 still disabled
|
||||||
|
|
||||||
|
* Thu Apr 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.05-0.1rc1
|
||||||
|
- 2016.05 RC1
|
||||||
|
- Build aarch64 u-boot for HiKey, DragonBoard, PINE64
|
||||||
|
- Build new ARMv7 devices
|
||||||
|
- Temp disable some i.MX6 devices as build broken
|
||||||
|
|
||||||
|
* Tue Apr 19 2016 Dennis Gilmore <dennis@ausil.us> - 2016.03-6
|
||||||
|
- drop using the fedora logos for now rhbz#1328505
|
||||||
|
|
||||||
|
* Sat Apr 9 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-5
|
||||||
|
- Add upstream fix for ARMv7 cache issues preventing some devices from booting
|
||||||
|
|
||||||
|
* Tue Mar 22 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-4
|
||||||
|
- Add a better fix for network issue which caused follow on issues
|
||||||
|
|
||||||
|
* Mon Mar 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-3
|
||||||
|
- Add a work around for ggc6 issue on some ARMv7 devices
|
||||||
|
- Add fixes for AllWinner USB and some fixes for OrangePi devices
|
||||||
|
|
||||||
|
* Fri Mar 18 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-2
|
||||||
|
- Add upstream patches to fix some issues on some AllWinner devices
|
||||||
|
|
||||||
|
* Mon Mar 14 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-1
|
||||||
|
- Update to 2016.03 GA
|
||||||
|
|
||||||
|
* Sun Mar 6 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-0.4rc3
|
||||||
|
- Minor cleanups and new devices
|
||||||
|
|
||||||
|
* Tue Mar 1 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-0.3rc3
|
||||||
|
- Update to 2016.03 RC3
|
||||||
|
|
||||||
|
* Tue Feb 16 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-0.2rc2
|
||||||
|
- Update to 2016.03 RC2
|
||||||
|
- Enable SolidRun Clearfog
|
||||||
|
|
||||||
|
* Wed Feb 3 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.03-0.1rc1
|
||||||
|
- Update to 2016.03 RC1
|
||||||
|
|
||||||
|
* Wed Jan 20 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.01-3
|
||||||
|
- Fix PXE boot on Wandboard (rhbz #1299957)
|
||||||
|
|
||||||
|
* Tue Jan 19 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.01-2
|
||||||
|
- Add patch to fix PCI-e on Jetson TK1
|
||||||
|
- Add patch fo serial junk on BeagleBone
|
||||||
|
|
||||||
|
* Tue Jan 12 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.01-1
|
||||||
|
- Update to 2016.01 GA
|
||||||
|
|
||||||
|
* Sun Jan 10 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2016.01-0.4rc4
|
||||||
|
- Update to 2016.01 RC4
|
||||||
|
@ -1,82 +0,0 @@
|
|||||||
From cc3700b5c65494547308df395fe63166ff48a1e3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Tue, 24 Nov 2020 10:35:48 +0000
|
|
||||||
Subject: [PATCH 1/2] distro: load FDT from any partition on boot device
|
|
||||||
|
|
||||||
In the EFI_LOADER boot path, we were only checking the FAT partition
|
|
||||||
containing the EFI payload for dtb files. But this is somewhat of a
|
|
||||||
fiction. In reality there will be one small (V)FAT partition containing
|
|
||||||
grub (or whatever the payload may be), and a second boot partition
|
|
||||||
containing kernel/initrd/fdt (typically ext4). It is this second
|
|
||||||
partition where we should be looking for a FDT to load.
|
|
||||||
|
|
||||||
So instead scan all the partitions of the disk containing the EFI
|
|
||||||
payload. This matches where grub looks for kernel/initrd (barring
|
|
||||||
custom grub.cfg, in which case the user can use grub's 'devicetree'
|
|
||||||
command to load the correct FDT).
|
|
||||||
|
|
||||||
The other option is somehow passing the ${fdtfile} to grub so that it
|
|
||||||
can load the FDT based on selected kernel version location (which grub
|
|
||||||
knows) and SoC/board specific ${fdtfile} (which grub does not know).
|
|
||||||
|
|
||||||
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
include/config_distro_bootcmd.h | 33 +++++++++++++++++++++++----------
|
|
||||||
1 file changed, 23 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
|
||||||
index ff29ef5a905..769477cd80e 100644
|
|
||||||
--- a/include/config_distro_bootcmd.h
|
|
||||||
+++ b/include/config_distro_bootcmd.h
|
|
||||||
@@ -142,24 +142,37 @@
|
|
||||||
"load_efi_dtb=" \
|
|
||||||
"load ${devtype} ${devnum}:${distro_bootpart} " \
|
|
||||||
"${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \
|
|
||||||
+ "load ${devtype} ${devnum}:${dtb_devp} " \
|
|
||||||
+ "${fdt_addr_r} ${prefix}${efi_fdtfile} && " \
|
|
||||||
+ "run boot_efi_binary\0" \
|
|
||||||
\
|
|
||||||
"efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
|
|
||||||
- "scan_dev_for_efi=" \
|
|
||||||
+ "scan_dev_for_dtb=" \
|
|
||||||
"setenv efi_fdtfile ${fdtfile}; " \
|
|
||||||
BOOTENV_EFI_SET_FDTFILE_FALLBACK \
|
|
||||||
- "for prefix in ${efi_dtb_prefixes}; do " \
|
|
||||||
- "if test -e ${devtype} " \
|
|
||||||
- "${devnum}:${distro_bootpart} " \
|
|
||||||
- "${prefix}${efi_fdtfile}; then " \
|
|
||||||
- "run load_efi_dtb; " \
|
|
||||||
- "fi;" \
|
|
||||||
- "done;" \
|
|
||||||
- "run boot_efi_bootmgr;" \
|
|
||||||
+ "part list ${devtype} ${devnum} dtb_devplist; " \
|
|
||||||
+ "env exists dtb_devplist || setenv dtb_devplist " \
|
|
||||||
+ "${distro_bootpart}; " \
|
|
||||||
+ "for dtb_devp in ${dtb_devplist}; do " \
|
|
||||||
+ "for prefix in ${efi_dtb_prefixes}; do " \
|
|
||||||
+ "if test -e ${devtype} " \
|
|
||||||
+ "${devnum}:${dtb_devp} " \
|
|
||||||
+ "${prefix}${efi_fdtfile};"\
|
|
||||||
+ " then " \
|
|
||||||
+ "echo Found DTB ${devtype} " \
|
|
||||||
+ "${devnum}:${dtb_devp} " \
|
|
||||||
+ "${prefix}${efi_fdtfile};"\
|
|
||||||
+ "run load_efi_dtb; " \
|
|
||||||
+ "fi;" \
|
|
||||||
+ "done; " \
|
|
||||||
+ "done; " \
|
|
||||||
+ "run boot_efi_bootmgr\0" \
|
|
||||||
+ "scan_dev_for_efi=" \
|
|
||||||
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
|
||||||
"efi/boot/"BOOTEFI_NAME"; then " \
|
|
||||||
"echo Found EFI removable media binary " \
|
|
||||||
"efi/boot/"BOOTEFI_NAME"; " \
|
|
||||||
- "run boot_efi_binary; " \
|
|
||||||
+ "run scan_dev_for_dtb; " \
|
|
||||||
"echo EFI LOAD FAILED: continuing...; " \
|
|
||||||
"fi; " \
|
|
||||||
"setenv efi_fdtfile\0"
|
|
||||||
--
|
|
||||||
2.29.2
|
|
||||||
|
|
610
uefi-fixes.patch
Normal file
610
uefi-fixes.patch
Normal file
@ -0,0 +1,610 @@
|
|||||||
|
From dfc84987d97d83c82c99fa2e11ad9ccf3c4ac5f8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Tue, 20 Jun 2017 14:29:12 -0400
|
||||||
|
Subject: [PATCH 1/8] dm: core: don't fail to iterate if first one fails to
|
||||||
|
probe
|
||||||
|
|
||||||
|
efi_disk_register() would try to iterate all the blk devices. But if
|
||||||
|
the first one in the list failed to probe, uclass_first_device() would
|
||||||
|
return NULL and no attempt would be made to register the remaining
|
||||||
|
devices. Also uclass_next_device() needs the same fix.
|
||||||
|
|
||||||
|
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||||
|
---
|
||||||
|
drivers/core/uclass.c | 24 +++++++++++++++++++++---
|
||||||
|
1 file changed, 21 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
|
||||||
|
index 21dc696da3..c47ff5661d 100644
|
||||||
|
--- a/drivers/core/uclass.c
|
||||||
|
+++ b/drivers/core/uclass.c
|
||||||
|
@@ -458,14 +458,23 @@ int uclass_get_device_by_phandle(enum uclass_id id, struct udevice *parent,
|
||||||
|
|
||||||
|
int uclass_first_device(enum uclass_id id, struct udevice **devp)
|
||||||
|
{
|
||||||
|
- struct udevice *dev;
|
||||||
|
+ struct udevice *dev = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
*devp = NULL;
|
||||||
|
ret = uclass_find_first_device(id, &dev);
|
||||||
|
if (!dev)
|
||||||
|
return 0;
|
||||||
|
- return uclass_get_device_tail(dev, ret, devp);
|
||||||
|
+ ret = uclass_get_device_tail(dev, ret, devp);
|
||||||
|
+ if (ret && dev) {
|
||||||
|
+ /* we have a device, but it failed to probe, move on and
|
||||||
|
+ * try the next one.
|
||||||
|
+ */
|
||||||
|
+ ret = uclass_next_device(&dev);
|
||||||
|
+ if (!ret)
|
||||||
|
+ *devp = dev;
|
||||||
|
+ }
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int uclass_first_device_err(enum uclass_id id, struct udevice **devp)
|
||||||
|
@@ -490,7 +499,16 @@ int uclass_next_device(struct udevice **devp)
|
||||||
|
ret = uclass_find_next_device(&dev);
|
||||||
|
if (!dev)
|
||||||
|
return 0;
|
||||||
|
- return uclass_get_device_tail(dev, ret, devp);
|
||||||
|
+ ret = uclass_get_device_tail(dev, ret, devp);
|
||||||
|
+ if (ret && (dev != *devp)) {
|
||||||
|
+ /* we have a device, but it failed to probe, move on and
|
||||||
|
+ * try the next one.
|
||||||
|
+ */
|
||||||
|
+ ret = uclass_next_device(&dev);
|
||||||
|
+ if (!ret)
|
||||||
|
+ *devp = dev;
|
||||||
|
+ }
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int uclass_bind_device(struct udevice *dev)
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From f62aad2dc1b25dd234373e7697c9152b89c75ed6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jones <pjones@redhat.com>
|
||||||
|
Date: Wed, 21 Jun 2017 16:39:02 -0400
|
||||||
|
Subject: [PATCH 5/8] efi: add some more device path structures
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
|
---
|
||||||
|
include/efi_api.h | 33 ++++++++++++++++++++++++++++++++-
|
||||||
|
1 file changed, 32 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/efi_api.h b/include/efi_api.h
|
||||||
|
index 5c3836a51b..5150962872 100644
|
||||||
|
--- a/include/efi_api.h
|
||||||
|
+++ b/include/efi_api.h
|
||||||
|
@@ -272,6 +272,18 @@ struct efi_mac_addr {
|
||||||
|
u8 addr[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
+#define DEVICE_PATH_TYPE_ACPI_DEVICE 0x02
|
||||||
|
+#define DEVICE_PATH_SUB_TYPE_ACPI_DEVICE 0x01
|
||||||
|
+
|
||||||
|
+#define EFI_PNP_ID(ID) (u32)(((ID) << 16) | 0x41D0)
|
||||||
|
+#define EISA_PNP_ID(ID) EFI_PNP_ID(ID)
|
||||||
|
+
|
||||||
|
+struct efi_device_path_acpi_path {
|
||||||
|
+ struct efi_device_path dp;
|
||||||
|
+ u32 hid;
|
||||||
|
+ u32 uid;
|
||||||
|
+} __packed;
|
||||||
|
+
|
||||||
|
#define DEVICE_PATH_TYPE_MESSAGING_DEVICE 0x03
|
||||||
|
# define DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR 0x0b
|
||||||
|
|
||||||
|
@@ -282,12 +294,31 @@ struct efi_device_path_mac_addr {
|
||||||
|
};
|
||||||
|
|
||||||
|
#define DEVICE_PATH_TYPE_MEDIA_DEVICE 0x04
|
||||||
|
+# define DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH 0x01
|
||||||
|
+# define DEVICE_PATH_SUB_TYPE_CDROM_PATH 0x02
|
||||||
|
# define DEVICE_PATH_SUB_TYPE_FILE_PATH 0x04
|
||||||
|
|
||||||
|
+struct efi_device_path_hard_drive_path {
|
||||||
|
+ struct efi_device_path dp;
|
||||||
|
+ u32 partition_number;
|
||||||
|
+ u64 partition_start;
|
||||||
|
+ u64 partition_end;
|
||||||
|
+ u8 partition_signature[16];
|
||||||
|
+ u8 partmap_type;
|
||||||
|
+ u8 signature_type;
|
||||||
|
+} __packed;
|
||||||
|
+
|
||||||
|
+struct efi_device_path_cdrom_path {
|
||||||
|
+ struct efi_device_path dp;
|
||||||
|
+ u32 boot_entry;
|
||||||
|
+ u64 partition_start;
|
||||||
|
+ u64 partition_end;
|
||||||
|
+} __packed;
|
||||||
|
+
|
||||||
|
struct efi_device_path_file_path {
|
||||||
|
struct efi_device_path dp;
|
||||||
|
u16 str[32];
|
||||||
|
-};
|
||||||
|
+} __packed;
|
||||||
|
|
||||||
|
#define BLOCK_IO_GUID \
|
||||||
|
EFI_GUID(0x964e5b21, 0x6459, 0x11d2, \
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 09b8585ae5ae6749172f8cca40f322999693e32e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jones <pjones@redhat.com>
|
||||||
|
Date: Wed, 21 Jun 2017 13:18:06 -0400
|
||||||
|
Subject: [PATCH 6/8] Don't treat a disk as GPT just because you found a valid
|
||||||
|
PMBR.
|
||||||
|
|
||||||
|
Without this part_gpt's ->get_info() winds up getting called instead of
|
||||||
|
part_dos's.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
|
---
|
||||||
|
disk/part_efi.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/disk/part_efi.c b/disk/part_efi.c
|
||||||
|
index 1b7ba27947..16adb95b0a 100644
|
||||||
|
--- a/disk/part_efi.c
|
||||||
|
+++ b/disk/part_efi.c
|
||||||
|
@@ -301,10 +301,16 @@ int part_get_info_efi(struct blk_desc *dev_desc, int part,
|
||||||
|
static int part_test_efi(struct blk_desc *dev_desc)
|
||||||
|
{
|
||||||
|
ALLOC_CACHE_ALIGN_BUFFER_PAD(legacy_mbr, legacymbr, 1, dev_desc->blksz);
|
||||||
|
+ ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz);
|
||||||
|
+ gpt_entry *gpt_pte = NULL;
|
||||||
|
|
||||||
|
/* Read legacy MBR from block 0 and validate it */
|
||||||
|
if ((blk_dread(dev_desc, 0, 1, (ulong *)legacymbr) != 1)
|
||||||
|
- || (is_pmbr_valid(legacymbr) != 1)) {
|
||||||
|
+ || (is_pmbr_valid(legacymbr) != 1)
|
||||||
|
+ || ((is_gpt_valid(dev_desc, GPT_PRIMARY_PARTITION_TABLE_LBA,
|
||||||
|
+ gpt_head, &gpt_pte) != 1)
|
||||||
|
+ && is_gpt_valid(dev_desc, (dev_desc->lba - 1),
|
||||||
|
+ gpt_head, &gpt_pte) != 1)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 2d0173238102c2e6a90e4d36f2fcb812cc4e7b24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jones <pjones@redhat.com>
|
||||||
|
Date: Wed, 21 Jun 2017 16:42:07 -0400
|
||||||
|
Subject: [PATCH 7/8] efi: make efi_disk_obj's for partitions, and give them
|
||||||
|
better device paths
|
||||||
|
|
||||||
|
In this case the device paths stem from a fictional ACPI PNP device, but
|
||||||
|
that's fine, so long as we can match it later.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
|
---
|
||||||
|
lib/efi_loader/efi_disk.c | 124 +++++++++++++++++++++++++++++++---------------
|
||||||
|
1 file changed, 84 insertions(+), 40 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
|
||||||
|
index 39e602a868..90844fdcde 100644
|
||||||
|
--- a/lib/efi_loader/efi_disk.c
|
||||||
|
+++ b/lib/efi_loader/efi_disk.c
|
||||||
|
@@ -28,7 +28,7 @@ struct efi_disk_obj {
|
||||||
|
/* EFI Interface Media descriptor struct, referenced by ops */
|
||||||
|
struct efi_block_io_media media;
|
||||||
|
/* EFI device path to this block device */
|
||||||
|
- struct efi_device_path_file_path *dp;
|
||||||
|
+ struct efi_device_path *dp;
|
||||||
|
/* Offset into disk for simple partitions */
|
||||||
|
lbaint_t offset;
|
||||||
|
/* Internal block device */
|
||||||
|
@@ -193,19 +193,26 @@ static const struct efi_block_io block_io_disk_template = {
|
||||||
|
.flush_blocks = &efi_disk_flush_blocks,
|
||||||
|
};
|
||||||
|
|
||||||
|
-static void efi_disk_add_dev(const char *name,
|
||||||
|
- const char *if_typename,
|
||||||
|
- const struct blk_desc *desc,
|
||||||
|
- int dev_index,
|
||||||
|
- lbaint_t offset)
|
||||||
|
+static struct efi_disk_obj *efi_disk_add_dev(const char *name,
|
||||||
|
+ const char *if_typename,
|
||||||
|
+ struct blk_desc *desc,
|
||||||
|
+ int dev_index,
|
||||||
|
+ lbaint_t offset,
|
||||||
|
+ struct efi_disk_obj *parent,
|
||||||
|
+ int part)
|
||||||
|
{
|
||||||
|
+ disk_partition_t info;
|
||||||
|
struct efi_disk_obj *diskobj;
|
||||||
|
- struct efi_device_path_file_path *dp;
|
||||||
|
- int objlen = sizeof(*diskobj) + (sizeof(*dp) * 2);
|
||||||
|
+ struct efi_device_path_acpi_path *adp;
|
||||||
|
+ struct efi_device_path_hard_drive_path *hddp;
|
||||||
|
+ struct efi_device_path_cdrom_path *cddp;
|
||||||
|
+ struct efi_device_path *edp;
|
||||||
|
+ /* we just happen to know hddp is bigger than cddp */
|
||||||
|
+ int objlen = sizeof(*diskobj) + sizeof (*adp) + sizeof(*hddp) + sizeof (*edp);
|
||||||
|
|
||||||
|
/* Don't add empty devices */
|
||||||
|
if (!desc->lba)
|
||||||
|
- return;
|
||||||
|
+ return NULL;
|
||||||
|
|
||||||
|
diskobj = calloc(1, objlen);
|
||||||
|
|
||||||
|
@@ -229,45 +236,89 @@ static void efi_disk_add_dev(const char *name,
|
||||||
|
diskobj->media.last_block = desc->lba - offset;
|
||||||
|
diskobj->ops.media = &diskobj->media;
|
||||||
|
|
||||||
|
+ adp = (void*)&diskobj[1];
|
||||||
|
+ diskobj->dp = (struct efi_device_path *)adp;
|
||||||
|
+
|
||||||
|
+ adp[0].dp.type = DEVICE_PATH_TYPE_ACPI_DEVICE;
|
||||||
|
+ adp[0].dp.sub_type = DEVICE_PATH_SUB_TYPE_ACPI_DEVICE;
|
||||||
|
+ adp[0].dp.length = sizeof (*adp);
|
||||||
|
+ adp[0].hid = EISA_PNP_ID(0x1337);
|
||||||
|
+ adp[0].uid = 0;
|
||||||
|
+
|
||||||
|
+ if (part >= 0)
|
||||||
|
+ part_get_info(desc, part, &info);
|
||||||
|
+
|
||||||
|
/* Fill in device path */
|
||||||
|
- dp = (void*)&diskobj[1];
|
||||||
|
- diskobj->dp = dp;
|
||||||
|
- dp[0].dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE;
|
||||||
|
- dp[0].dp.sub_type = DEVICE_PATH_SUB_TYPE_FILE_PATH;
|
||||||
|
- dp[0].dp.length = sizeof(*dp);
|
||||||
|
- ascii2unicode(dp[0].str, name);
|
||||||
|
+ if (part < 0) {
|
||||||
|
+ edp = (struct efi_device_path *)((u8 *)adp + adp[0].dp.length);
|
||||||
|
+ } else if (desc->part_type == PART_TYPE_ISO) {
|
||||||
|
+ cddp = (struct efi_device_path_cdrom_path *)((u8 *)adp + adp[0].dp.length);
|
||||||
|
+
|
||||||
|
+ cddp[0].boot_entry = part - 1;
|
||||||
|
+ cddp[0].dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE;
|
||||||
|
+ cddp[0].dp.sub_type = DEVICE_PATH_SUB_TYPE_CDROM_PATH;
|
||||||
|
+ cddp[0].dp.length = sizeof (*cddp);
|
||||||
|
+ cddp[0].partition_start = info.start;
|
||||||
|
+ cddp[0].partition_end = info.size;
|
||||||
|
+
|
||||||
|
+ edp = (struct efi_device_path *)((u8 *)cddp + cddp[0].dp.length);
|
||||||
|
+ } else {
|
||||||
|
+ hddp = (struct efi_device_path_hard_drive_path *)((u8 *)adp + adp[0].dp.length);
|
||||||
|
+
|
||||||
|
+ hddp[0].dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE;
|
||||||
|
+ hddp[0].dp.sub_type = DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH;
|
||||||
|
+ hddp[0].dp.length = sizeof (*hddp);
|
||||||
|
+ hddp[0].partition_number = part - 1;
|
||||||
|
+ hddp[0].partition_start = info.start;
|
||||||
|
+ hddp[0].partition_end = info.size;
|
||||||
|
+ if (desc->part_type == PART_TYPE_EFI)
|
||||||
|
+ hddp[0].partmap_type = 2;
|
||||||
|
+ else
|
||||||
|
+ hddp[0].partmap_type = 1;
|
||||||
|
+ hddp[0].signature_type = 0;
|
||||||
|
+
|
||||||
|
+ edp = (struct efi_device_path *)((u8 *)hddp + hddp[0].dp.length);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- dp[1].dp.type = DEVICE_PATH_TYPE_END;
|
||||||
|
- dp[1].dp.sub_type = DEVICE_PATH_SUB_TYPE_END;
|
||||||
|
- dp[1].dp.length = sizeof(*dp);
|
||||||
|
+ edp[0].type = DEVICE_PATH_TYPE_END;
|
||||||
|
+ edp[0].sub_type = DEVICE_PATH_SUB_TYPE_END;
|
||||||
|
+ edp[0].length = sizeof(*edp);
|
||||||
|
|
||||||
|
/* Hook up to the device list */
|
||||||
|
list_add_tail(&diskobj->parent.link, &efi_obj_list);
|
||||||
|
+
|
||||||
|
+ return diskobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int efi_disk_create_eltorito(struct blk_desc *desc,
|
||||||
|
- const char *if_typename,
|
||||||
|
- int diskid,
|
||||||
|
- const char *pdevname)
|
||||||
|
+static int efi_disk_create_partitions(struct blk_desc *desc,
|
||||||
|
+ const char *if_typename,
|
||||||
|
+ int diskid,
|
||||||
|
+ const char *pdevname,
|
||||||
|
+ struct efi_disk_obj *parent)
|
||||||
|
{
|
||||||
|
int disks = 0;
|
||||||
|
-#if CONFIG_IS_ENABLED(ISO_PARTITION)
|
||||||
|
char devname[32] = { 0 }; /* dp->str is u16[32] long */
|
||||||
|
disk_partition_t info;
|
||||||
|
int part = 1;
|
||||||
|
|
||||||
|
- if (desc->part_type != PART_TYPE_ISO)
|
||||||
|
+#if !CONFIG_IS_ENABLED(ISO_PARTITION)
|
||||||
|
+ /*
|
||||||
|
+ * El Torito images show up as block devices in an EFI world,
|
||||||
|
+ * so let's create them here, unless it's disabled...
|
||||||
|
+ */
|
||||||
|
+ if (desc->part_type == PART_TYPE_ISO)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
while (!part_get_info(desc, part, &info)) {
|
||||||
|
snprintf(devname, sizeof(devname), "%s:%d", pdevname,
|
||||||
|
part);
|
||||||
|
efi_disk_add_dev(devname, if_typename, desc, diskid,
|
||||||
|
- info.start);
|
||||||
|
+ info.start, parent, part);
|
||||||
|
part++;
|
||||||
|
disks++;
|
||||||
|
}
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
return disks;
|
||||||
|
}
|
||||||
|
@@ -286,6 +337,7 @@ static int efi_disk_create_eltorito(struct blk_desc *desc,
|
||||||
|
int efi_disk_register(void)
|
||||||
|
{
|
||||||
|
int disks = 0;
|
||||||
|
+ struct efi_disk_obj *diskobj;
|
||||||
|
#ifdef CONFIG_BLK
|
||||||
|
struct udevice *dev;
|
||||||
|
|
||||||
|
@@ -296,15 +348,11 @@ int efi_disk_register(void)
|
||||||
|
const char *if_typename = dev->driver->name;
|
||||||
|
|
||||||
|
printf("Scanning disk %s...\n", dev->name);
|
||||||
|
- efi_disk_add_dev(dev->name, if_typename, desc, desc->devnum, 0);
|
||||||
|
+ diskobj = efi_disk_add_dev(dev->name, if_typename, desc, desc->devnum, 0, NULL, -1);
|
||||||
|
disks++;
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * El Torito images show up as block devices in an EFI world,
|
||||||
|
- * so let's create them here
|
||||||
|
- */
|
||||||
|
- disks += efi_disk_create_eltorito(desc, if_typename,
|
||||||
|
- desc->devnum, dev->name);
|
||||||
|
+ disks += efi_disk_create_partitions(desc, if_typename,
|
||||||
|
+ desc->devnum, dev->name, diskobj);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
int i, if_type;
|
||||||
|
@@ -332,15 +380,11 @@ int efi_disk_register(void)
|
||||||
|
|
||||||
|
snprintf(devname, sizeof(devname), "%s%d",
|
||||||
|
if_typename, i);
|
||||||
|
- efi_disk_add_dev(devname, if_typename, desc, i, 0);
|
||||||
|
+ diskobj = efi_disk_add_dev(devname, if_typename, desc, i, 0, NULL, -1);
|
||||||
|
disks++;
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * El Torito images show up as block devices
|
||||||
|
- * in an EFI world, so let's create them here
|
||||||
|
- */
|
||||||
|
- disks += efi_disk_create_eltorito(desc, if_typename,
|
||||||
|
- i, devname);
|
||||||
|
+ disks += efi_disk_create_partitions(desc, if_typename,
|
||||||
|
+ i, devname, diskobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
||||||
|
From 2d840bc18c38137ff58a0884eb380f8a12ed6db8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Jones <pjones@redhat.com>
|
||||||
|
Date: Wed, 21 Jun 2017 16:44:13 -0400
|
||||||
|
Subject: [PATCH 8/8] bootefi: make our device and image device paths more
|
||||||
|
realistic.
|
||||||
|
|
||||||
|
This makes the device and image device paths into something grub can
|
||||||
|
match its disks up against, allowing grub to find its config file on the
|
||||||
|
original device.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
|
---
|
||||||
|
cmd/bootefi.c | 123 +++++++++++++++++++++++++++++++++++++++++++++-------------
|
||||||
|
1 file changed, 97 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
|
||||||
|
index a0a5434967..a6598dface 100644
|
||||||
|
--- a/cmd/bootefi.c
|
||||||
|
+++ b/cmd/bootefi.c
|
||||||
|
@@ -28,32 +28,49 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
* In addition to the originating device we also declare the file path
|
||||||
|
* of "bootefi" based loads to be /bootefi.
|
||||||
|
*/
|
||||||
|
-static struct efi_device_path_file_path bootefi_image_path[] = {
|
||||||
|
- {
|
||||||
|
- .dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE,
|
||||||
|
- .dp.sub_type = DEVICE_PATH_SUB_TYPE_FILE_PATH,
|
||||||
|
- .dp.length = sizeof(bootefi_image_path[0]),
|
||||||
|
- .str = { 'b','o','o','t','e','f','i' },
|
||||||
|
- }, {
|
||||||
|
- .dp.type = DEVICE_PATH_TYPE_END,
|
||||||
|
- .dp.sub_type = DEVICE_PATH_SUB_TYPE_END,
|
||||||
|
- .dp.length = sizeof(bootefi_image_path[0]),
|
||||||
|
- }
|
||||||
|
+static struct efi_device_path_acpi_path bootefi_acpi_path = {
|
||||||
|
+ .dp.type = DEVICE_PATH_TYPE_ACPI_DEVICE,
|
||||||
|
+ .dp.sub_type = DEVICE_PATH_SUB_TYPE_ACPI_DEVICE,
|
||||||
|
+ .dp.length = sizeof(bootefi_acpi_path),
|
||||||
|
+ .hid = EISA_PNP_ID(0x1337),
|
||||||
|
+ .uid = 0,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static struct efi_device_path_hard_drive_path bootefi_hard_drive_path = {
|
||||||
|
+ .dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE,
|
||||||
|
+ .dp.sub_type = DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH,
|
||||||
|
+ .dp.length = sizeof(bootefi_hard_drive_path),
|
||||||
|
};
|
||||||
|
|
||||||
|
-static struct efi_device_path_file_path bootefi_device_path[] = {
|
||||||
|
+static struct efi_device_path_file_path bootefi_image_path_template[] = {
|
||||||
|
{
|
||||||
|
.dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE,
|
||||||
|
.dp.sub_type = DEVICE_PATH_SUB_TYPE_FILE_PATH,
|
||||||
|
- .dp.length = sizeof(bootefi_image_path[0]),
|
||||||
|
+ .dp.length = sizeof(bootefi_image_path_template[0]),
|
||||||
|
.str = { 'b','o','o','t','e','f','i' },
|
||||||
|
}, {
|
||||||
|
.dp.type = DEVICE_PATH_TYPE_END,
|
||||||
|
.dp.sub_type = DEVICE_PATH_SUB_TYPE_END,
|
||||||
|
- .dp.length = sizeof(bootefi_image_path[0]),
|
||||||
|
+ .dp.length = sizeof(bootefi_image_path_template[0]),
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
+static u8 image_dp_buf[sizeof(bootefi_acpi_path)
|
||||||
|
+ + sizeof(bootefi_hard_drive_path)
|
||||||
|
+ + sizeof(bootefi_image_path_template)];
|
||||||
|
+
|
||||||
|
+static struct efi_device_path_file_path bootefi_device_path_template = {
|
||||||
|
+ .dp.type = DEVICE_PATH_TYPE_END,
|
||||||
|
+ .dp.sub_type = DEVICE_PATH_SUB_TYPE_END,
|
||||||
|
+ .dp.length = sizeof(bootefi_device_path_template),
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static u8 device_dp_buf[sizeof(bootefi_acpi_path)
|
||||||
|
+ + sizeof(bootefi_hard_drive_path)
|
||||||
|
+ + sizeof(bootefi_device_path_template)];
|
||||||
|
+
|
||||||
|
+static struct efi_device_path *bootefi_device_path = (void *)device_dp_buf;
|
||||||
|
+
|
||||||
|
static efi_status_t EFIAPI bootefi_open_dp(void *handle, efi_guid_t *protocol,
|
||||||
|
void **protocol_interface, void *agent_handle,
|
||||||
|
void *controller_handle, uint32_t attributes)
|
||||||
|
@@ -64,8 +81,8 @@ static efi_status_t EFIAPI bootefi_open_dp(void *handle, efi_guid_t *protocol,
|
||||||
|
|
||||||
|
/* The EFI loaded_image interface for the image executed via "bootefi" */
|
||||||
|
static struct efi_loaded_image loaded_image_info = {
|
||||||
|
- .device_handle = bootefi_device_path,
|
||||||
|
- .file_path = bootefi_image_path,
|
||||||
|
+ .device_handle = (void *)device_dp_buf,
|
||||||
|
+ .file_path = (void *)image_dp_buf,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* The EFI object struct for the image executed via "bootefi" */
|
||||||
|
@@ -93,7 +110,7 @@ static struct efi_object loaded_image_info_obj = {
|
||||||
|
|
||||||
|
/* The EFI object struct for the device the "bootefi" image was loaded from */
|
||||||
|
static struct efi_object bootefi_device_obj = {
|
||||||
|
- .handle = bootefi_device_path,
|
||||||
|
+ .handle = (void *)device_dp_buf,
|
||||||
|
.protocols = {
|
||||||
|
{
|
||||||
|
/* When asking for the device path interface, return
|
||||||
|
@@ -104,6 +121,59 @@ static struct efi_object bootefi_device_obj = {
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
+void make_device_paths(int net, struct blk_desc *desc, int part)
|
||||||
|
+{
|
||||||
|
+ memcpy(device_dp_buf,
|
||||||
|
+ &bootefi_acpi_path,
|
||||||
|
+ sizeof(bootefi_acpi_path));
|
||||||
|
+ memcpy(image_dp_buf,
|
||||||
|
+ &bootefi_acpi_path,
|
||||||
|
+ sizeof(bootefi_acpi_path));
|
||||||
|
+
|
||||||
|
+ if (net) {
|
||||||
|
+ memcpy(device_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ &bootefi_device_path_template,
|
||||||
|
+ sizeof (bootefi_device_path_template));
|
||||||
|
+ memcpy(image_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ bootefi_image_path_template,
|
||||||
|
+ sizeof (bootefi_image_path_template));
|
||||||
|
+ } else {
|
||||||
|
+ disk_partition_t info;
|
||||||
|
+ int rc = -1;
|
||||||
|
+ if (part > 0)
|
||||||
|
+ rc = part_get_info(desc, part, &info);
|
||||||
|
+
|
||||||
|
+ if (rc < 0) {
|
||||||
|
+ memcpy(device_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ &bootefi_device_path_template,
|
||||||
|
+ sizeof (bootefi_device_path_template));
|
||||||
|
+ memcpy(image_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ bootefi_image_path_template,
|
||||||
|
+ sizeof (bootefi_image_path_template));
|
||||||
|
+ } else {
|
||||||
|
+ bootefi_hard_drive_path.partition_number = part - 1;
|
||||||
|
+ bootefi_hard_drive_path.partition_start = info.start;
|
||||||
|
+ bootefi_hard_drive_path.partition_end = info.size;
|
||||||
|
+
|
||||||
|
+ memcpy(device_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ &bootefi_hard_drive_path,
|
||||||
|
+ sizeof (bootefi_hard_drive_path));
|
||||||
|
+ memcpy(device_dp_buf + sizeof(bootefi_acpi_path)
|
||||||
|
+ + sizeof(bootefi_hard_drive_path),
|
||||||
|
+ &bootefi_device_path_template,
|
||||||
|
+ sizeof (bootefi_device_path_template));
|
||||||
|
+
|
||||||
|
+ memcpy(image_dp_buf + sizeof(bootefi_acpi_path),
|
||||||
|
+ &bootefi_hard_drive_path,
|
||||||
|
+ sizeof (bootefi_hard_drive_path));
|
||||||
|
+ memcpy(image_dp_buf + sizeof(bootefi_acpi_path)
|
||||||
|
+ + sizeof(bootefi_hard_drive_path),
|
||||||
|
+ bootefi_image_path_template,
|
||||||
|
+ sizeof (bootefi_image_path_template));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void *copy_fdt(void *fdt)
|
||||||
|
{
|
||||||
|
u64 fdt_size = fdt_totalsize(fdt);
|
||||||
|
@@ -217,7 +287,7 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
|
||||||
|
void *nethandle = loaded_image_info.device_handle;
|
||||||
|
efi_net_register(&nethandle);
|
||||||
|
|
||||||
|
- if (!memcmp(bootefi_device_path[0].str, "N\0e\0t", 6))
|
||||||
|
+ if (!memcmp(bootefi_device_path_template.str, "N\0e\0t", 6))
|
||||||
|
loaded_image_info.device_handle = nethandle;
|
||||||
|
else
|
||||||
|
loaded_image_info.device_handle = bootefi_device_path;
|
||||||
|
@@ -320,6 +390,7 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
|
||||||
|
__maybe_unused struct blk_desc *desc;
|
||||||
|
char devname[32] = { 0 }; /* dp->str is u16[32] long */
|
||||||
|
char *colon;
|
||||||
|
+ int part = -1;
|
||||||
|
|
||||||
|
#if defined(CONFIG_BLK) || CONFIG_IS_ENABLED(ISO_PARTITION)
|
||||||
|
desc = blk_get_dev(dev, simple_strtol(devnr, NULL, 10));
|
||||||
|
@@ -336,7 +407,9 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
|
||||||
|
snprintf(devname, sizeof(devname), "%s%s", dev, devnr);
|
||||||
|
}
|
||||||
|
|
||||||
|
- colon = strchr(devname, ':');
|
||||||
|
+ colon = strchr(devnr, ':');
|
||||||
|
+ if (colon)
|
||||||
|
+ part = simple_strtol(colon+1, NULL, 10);
|
||||||
|
|
||||||
|
#if CONFIG_IS_ENABLED(ISO_PARTITION)
|
||||||
|
/* For ISOs we create partition block devices */
|
||||||
|
@@ -352,17 +425,15 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
|
||||||
|
if (colon)
|
||||||
|
*colon = '\0';
|
||||||
|
|
||||||
|
- /* Patch bootefi_device_path to the target device */
|
||||||
|
- memset(bootefi_device_path[0].str, 0, sizeof(bootefi_device_path[0].str));
|
||||||
|
- ascii2unicode(bootefi_device_path[0].str, devname);
|
||||||
|
-
|
||||||
|
- /* Patch bootefi_image_path to the target file path */
|
||||||
|
- memset(bootefi_image_path[0].str, 0, sizeof(bootefi_image_path[0].str));
|
||||||
|
+ /* Patch bootefi_image_path_template to the target file path */
|
||||||
|
+ memset(bootefi_image_path_template[0].str, 0, sizeof(bootefi_image_path_template[0].str));
|
||||||
|
if (strcmp(dev, "Net")) {
|
||||||
|
/* Add leading / to fs paths, because they're absolute */
|
||||||
|
snprintf(devname, sizeof(devname), "/%s", path);
|
||||||
|
} else {
|
||||||
|
snprintf(devname, sizeof(devname), "%s", path);
|
||||||
|
}
|
||||||
|
- ascii2unicode(bootefi_image_path[0].str, devname);
|
||||||
|
+ ascii2unicode(bootefi_image_path_template[0].str, devname);
|
||||||
|
+
|
||||||
|
+ make_device_paths(!strcmp(dev, "Net"), desc, part);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.13.0
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
From a49845f198af088c4e5e0019edbf519344d78c97 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
Date: Tue, 4 Dec 2018 15:29:14 +0000
|
|
||||||
Subject: [PATCH] usb kbd fixes
|
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
|
||||||
---
|
|
||||||
common/usb_kbd.c | 66 +++++++++++++++++++++++++++++++++++------------
|
|
||||||
include/console.h | 2 --
|
|
||||||
2 files changed, 50 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
|
|
||||||
index 020f0d4117f..47674ce4458 100644
|
|
||||||
--- a/common/usb_kbd.c
|
|
||||||
+++ b/common/usb_kbd.c
|
|
||||||
@@ -518,25 +518,59 @@ static int probe_usb_keyboard(struct usb_device *dev)
|
|
||||||
return error;
|
|
||||||
|
|
||||||
stdinname = env_get("stdin");
|
|
||||||
-#if CONFIG_IS_ENABLED(CONSOLE_MUX)
|
|
||||||
- error = iomux_doenv(stdin, stdinname);
|
|
||||||
- if (error)
|
|
||||||
- return error;
|
|
||||||
-#else
|
|
||||||
- /* Check if this is the standard input device. */
|
|
||||||
- if (strcmp(stdinname, DEVNAME))
|
|
||||||
- return 1;
|
|
||||||
+ if (CONFIG_IS_ENABLED(CONSOLE_MUX)) {
|
|
||||||
+ char *devname = DEVNAME;
|
|
||||||
+ char *newstdin = NULL;
|
|
||||||
+ /*
|
|
||||||
+ * stdin might not be set yet.. either way, with console-
|
|
||||||
+ * mux the sensible thing to do is add ourselves to the
|
|
||||||
+ * list of stdio devices:
|
|
||||||
+ */
|
|
||||||
+ if (stdinname && !strstr(stdinname, DEVNAME)) {
|
|
||||||
+ newstdin = malloc(strlen(stdinname) +
|
|
||||||
+ strlen(","DEVNAME) + 1);
|
|
||||||
+ sprintf(newstdin, "%s,"DEVNAME, stdinname);
|
|
||||||
+ stdinname = newstdin;
|
|
||||||
+ } else if (!stdinname) {
|
|
||||||
+ stdinname = devname;
|
|
||||||
+ }
|
|
||||||
+ error = iomux_doenv(stdin, stdinname);
|
|
||||||
+ free(newstdin);
|
|
||||||
+ if (error)
|
|
||||||
+ goto unregister_stdio;
|
|
||||||
+ } else {
|
|
||||||
+ /* Check if this is the standard input device. */
|
|
||||||
+ if (strcmp(stdinname, DEVNAME)) {
|
|
||||||
+ error = -1;
|
|
||||||
+ goto unregister_stdio;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- /* Reassign the console */
|
|
||||||
- if (overwrite_console())
|
|
||||||
- return 1;
|
|
||||||
+ /* Reassign the console */
|
|
||||||
+ if (overwrite_console()) {
|
|
||||||
+ error = -1;
|
|
||||||
+ goto unregister_stdio;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- error = console_assign(stdin, DEVNAME);
|
|
||||||
- if (error)
|
|
||||||
- return error;
|
|
||||||
-#endif
|
|
||||||
+ error = console_assign(stdin, DEVNAME);
|
|
||||||
+ if (error)
|
|
||||||
+ goto unregister_stdio;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
|
|
||||||
+unregister_stdio:
|
|
||||||
+ /*
|
|
||||||
+ * If probe fails, the device will be removed.. leaving dangling
|
|
||||||
+ * pointers if the stdio device is not unregistered. If u-boot
|
|
||||||
+ * is built without stdio_deregister(), just pretend to succeed
|
|
||||||
+ * in order to avoid dangling pointers.
|
|
||||||
+ */
|
|
||||||
+#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
|
|
||||||
+ stdio_deregister(DEVNAME, 1);
|
|
||||||
+ return error;
|
|
||||||
+#else
|
|
||||||
return 0;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !CONFIG_IS_ENABLED(DM_USB)
|
|
||||||
@@ -642,7 +676,7 @@ static int usb_kbd_remove(struct udevice *dev)
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
err:
|
|
||||||
- printf("%s: warning, ret=%d", __func__, ret);
|
|
||||||
+ printf("%s: warning, ret=%d\n", __func__, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/include/console.h b/include/console.h
|
|
||||||
index e935c601f12..6382ec8e0d6 100644
|
|
||||||
--- a/include/console.h
|
|
||||||
+++ b/include/console.h
|
|
||||||
@@ -56,8 +56,6 @@ int console_announce_r(void);
|
|
||||||
/*
|
|
||||||
* CONSOLE multiplexing.
|
|
||||||
*/
|
|
||||||
-#ifdef CONFIG_CONSOLE_MUX
|
|
||||||
#include <iomux.h>
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.19.2
|
|
||||||
|
|
@ -1,31 +1,28 @@
|
|||||||
From d8fcb72d566b0ebca1613555ac13c0798817487e Mon Sep 17 00:00:00 2001
|
From 95140df8476e255cb279a60228b9c703b3ca318f Mon Sep 17 00:00:00 2001
|
||||||
From: Peter Robinson <pbrobinson@gmail.com>
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||||||
Date: Tue, 24 Nov 2020 10:37:28 +0000
|
Date: Wed, 12 Jul 2017 08:43:31 +0100
|
||||||
Subject: [PATCH 2/2] use Fedora specific EFI path/name
|
Subject: [PATCH] use Fedora specific EFI path/name
|
||||||
|
|
||||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||||
---
|
---
|
||||||
include/config_distro_bootcmd.h | 10 +++++-----
|
include/config_distro_bootcmd.h | 8 ++++----
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||||
index 769477cd80e..22ce3685758 100644
|
index 4b2c493ae3..704dee7772 100644
|
||||||
--- a/include/config_distro_bootcmd.h
|
--- a/include/config_distro_bootcmd.h
|
||||||
+++ b/include/config_distro_bootcmd.h
|
+++ b/include/config_distro_bootcmd.h
|
||||||
@@ -92,9 +92,9 @@
|
@@ -88,7 +88,7 @@
|
||||||
|
|
||||||
#ifdef CONFIG_EFI_LOADER
|
#ifdef CONFIG_EFI_LOADER
|
||||||
#if defined(CONFIG_ARM64)
|
#if defined(CONFIG_ARM64)
|
||||||
-#define BOOTEFI_NAME "bootaa64.efi"
|
-#define BOOTEFI_NAME "bootaa64.efi"
|
||||||
+#define BOOTEFI_NAME "grubaa64.efi"
|
+#define BOOTEFI_NAME "grubaa64.efi"
|
||||||
#elif defined(CONFIG_ARM)
|
#elif defined(CONFIG_ARM)
|
||||||
-#define BOOTEFI_NAME "bootarm.efi"
|
#define BOOTEFI_NAME "bootarm.efi"
|
||||||
+#define BOOTEFI_NAME "grubarm.efi"
|
#endif
|
||||||
#elif defined(CONFIG_X86_RUN_32BIT)
|
@@ -113,7 +113,7 @@
|
||||||
#define BOOTEFI_NAME "bootia32.efi"
|
#define BOOTENV_SHARED_EFI \
|
||||||
#elif defined(CONFIG_X86_RUN_64BIT)
|
|
||||||
@@ -132,7 +132,7 @@
|
|
||||||
\
|
|
||||||
"boot_efi_binary=" \
|
"boot_efi_binary=" \
|
||||||
"load ${devtype} ${devnum}:${distro_bootpart} " \
|
"load ${devtype} ${devnum}:${distro_bootpart} " \
|
||||||
- "${kernel_addr_r} efi/boot/"BOOTEFI_NAME"; " \
|
- "${kernel_addr_r} efi/boot/"BOOTEFI_NAME"; " \
|
||||||
@ -33,18 +30,18 @@ index 769477cd80e..22ce3685758 100644
|
|||||||
"if fdt addr ${fdt_addr_r}; then " \
|
"if fdt addr ${fdt_addr_r}; then " \
|
||||||
"bootefi ${kernel_addr_r} ${fdt_addr_r};" \
|
"bootefi ${kernel_addr_r} ${fdt_addr_r};" \
|
||||||
"else " \
|
"else " \
|
||||||
@@ -169,9 +169,9 @@
|
@@ -136,9 +136,9 @@
|
||||||
"run boot_efi_bootmgr\0" \
|
"fi;" \
|
||||||
"scan_dev_for_efi=" \
|
"done;" \
|
||||||
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
||||||
- "efi/boot/"BOOTEFI_NAME"; then " \
|
- "efi/boot/"BOOTEFI_NAME"; then " \
|
||||||
+ "efi/fedora/"BOOTEFI_NAME"; then " \
|
+ "efi/fedora/"BOOTEFI_NAME"; then " \
|
||||||
"echo Found EFI removable media binary " \
|
"echo Found EFI removable media binary " \
|
||||||
- "efi/boot/"BOOTEFI_NAME"; " \
|
- "efi/boot/"BOOTEFI_NAME"; " \
|
||||||
+ "efi/fedora/"BOOTEFI_NAME"; " \
|
+ "efi/fedora/"BOOTEFI_NAME"; " \
|
||||||
"run scan_dev_for_dtb; " \
|
"run boot_efi_binary; " \
|
||||||
"echo EFI LOAD FAILED: continuing...; " \
|
"echo EFI LOAD FAILED: continuing...; " \
|
||||||
"fi; " \
|
"fi; " \
|
||||||
--
|
--
|
||||||
2.29.2
|
2.13.0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user