[PATCH 5/5] ARM: i.MX: edmqmx6: choose correct env when booting from SD

Lucas Stach l.stach at pengutronix.de
Thu Feb 27 08:53:23 EST 2014


When booting from SD Card we don't want to load an env
from EMMC.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
 arch/arm/boards/datamodul-edm-qmx6/board.c |  9 ++++++++-
 arch/arm/dts/imx6q-dmo-edmqmx6.dts         | 25 ++++++++++++++++++++++++-
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boards/datamodul-edm-qmx6/board.c b/arch/arm/boards/datamodul-edm-qmx6/board.c
index b0b4ae98d446..fd02d7a3de1d 100644
--- a/arch/arm/boards/datamodul-edm-qmx6/board.c
+++ b/arch/arm/boards/datamodul-edm-qmx6/board.c
@@ -121,7 +121,14 @@ static int realq7_device_init(void)
 
 	switch (bootsource_get()) {
 	case BOOTSOURCE_MMC:
-		of_device_enable_path("/chosen/environment-emmc");
+		switch (bootsource_get_instance()) {
+		case 2:
+			of_device_enable_path("/chosen/environment-sd");
+			break;
+		case 3:
+			of_device_enable_path("/chosen/environment-emmc");
+			break;
+		}
 		break;
 	default:
 	case BOOTSOURCE_SPI:
diff --git a/arch/arm/dts/imx6q-dmo-edmqmx6.dts b/arch/arm/dts/imx6q-dmo-edmqmx6.dts
index 9fe128410640..4cd1c55ff82e 100644
--- a/arch/arm/dts/imx6q-dmo-edmqmx6.dts
+++ b/arch/arm/dts/imx6q-dmo-edmqmx6.dts
@@ -20,6 +20,12 @@
 	chosen {
 		linux,stdout-path = "/soc/aips-bus at 02100000/serial at 021e8000";
 
+		environment-sd {
+			compatible = "barebox,environment";
+			device-path = &usdhc3, "partname:barebox-environment";
+			status = "disabled";
+		};
+
 		environment-emmc {
 			compatible = "barebox,environment";
 			device-path = &usdhc4, "partname:barebox-environment";
@@ -386,6 +392,18 @@
 	pinctrl-0 = <&pinctrl_usdhc3>;
 	vmmc-supply = <&reg_3p3v>;
 	status = "okay";
+
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	partition at 0 {
+		label = "barebox";
+		reg = <0x0 0x80000>;
+	};
+	partition at 1 {
+		label = "barebox-environment";
+		reg = <0x80000 0x80000>;
+	};
 };
 
 &usdhc4 {
@@ -395,11 +413,16 @@
 	non-removable;
 	bus-width = <8>;
 	status = "okay";
+
 	#address-cells = <1>;
 	#size-cells = <1>;
 
 	partition at 0 {
-		label = "barebox-environment";
+		label = "barebox";
 		reg = <0x0 0x80000>;
 	};
+	partition at 1 {
+		label = "barebox-environment";
+		reg = <0x80000 0x80000>;
+	};
 };
-- 
1.8.5.3




More information about the barebox mailing list