From ae7ba525a5cdce2f8579ff92e14f8fef292c1b5a Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Mon, 20 Jan 2020 14:20:09 +0200 Subject: ARM: mvebu: clearfog: add EEPROM devices Add device-tree description for the EEPROM devices on Armada 388 SOM rev 2.1. Another EEPROM is now on Clearfog Pro carrier rev 2.2, and Clearfog Base rev 1.3. Reviewed-by: Stefan Roese Signed-off-by: Baruch Siach --- arch/arm/dts/armada-388-clearfog-u-boot.dtsi | 12 ++++++++++++ arch/arm/dts/armada-388-clearfog.dts | 6 ++++++ arch/arm/dts/armada-38x-solidrun-microsom.dtsi | 8 ++++++++ 3 files changed, 26 insertions(+) (limited to 'arch') diff --git a/arch/arm/dts/armada-388-clearfog-u-boot.dtsi b/arch/arm/dts/armada-388-clearfog-u-boot.dtsi index 38e4f3d99ac..20f5c8fb8ce 100644 --- a/arch/arm/dts/armada-388-clearfog-u-boot.dtsi +++ b/arch/arm/dts/armada-388-clearfog-u-boot.dtsi @@ -23,3 +23,15 @@ &ahci1 { u-boot,dm-spl; }; + +&i2c0 { + u-boot,dm-spl; + + eeprom@52 { + u-boot,dm-spl; + }; + + eeprom@53 { + u-boot,dm-spl; + }; +}; diff --git a/arch/arm/dts/armada-388-clearfog.dts b/arch/arm/dts/armada-388-clearfog.dts index 4ddeaa02f12..e4164f49b24 100644 --- a/arch/arm/dts/armada-388-clearfog.dts +++ b/arch/arm/dts/armada-388-clearfog.dts @@ -259,6 +259,12 @@ compatible = "microchip,mcp3021"; reg = <0x4c>; }; + + eeprom@52 { + compatible = "atmel,24c02"; + reg = <0x52>; + pagesize = <16>; + }; }; &i2c1 { diff --git a/arch/arm/dts/armada-38x-solidrun-microsom.dtsi b/arch/arm/dts/armada-38x-solidrun-microsom.dtsi index a2627223ce3..a322a28c215 100644 --- a/arch/arm/dts/armada-38x-solidrun-microsom.dtsi +++ b/arch/arm/dts/armada-38x-solidrun-microsom.dtsi @@ -99,3 +99,11 @@ status = "okay"; u-boot,dm-pre-reloc; }; + +&i2c0 { + eeprom@53 { + compatible = "atmel,24c02"; + reg = <0x53>; + pagesize = <16>; + }; +}; -- cgit v1.3.1 From 867572f09ebe6349937b9614f1863a9111aa8f8e Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Mon, 20 Jan 2020 14:20:13 +0200 Subject: ARM: mvebu: clearfog: run-time selection of DT file Set the kernel device-tree file (fdtfile environment variable) based on run-time detection of the platform. Reviewed-by: Stefan Roese Signed-off-by: Baruch Siach --- arch/arm/mach-mvebu/Kconfig | 1 + board/solidrun/clearfog/clearfog.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) (limited to 'arch') diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index fdd39685b75..bc5eaa5a767 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -91,6 +91,7 @@ choice config TARGET_CLEARFOG bool "Support ClearFog" select 88F6820 + select BOARD_LATE_INIT config TARGET_HELIOS4 bool "Support Helios4" diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c index 8050cca55ab..e178b06cd34 100644 --- a/board/solidrun/clearfog/clearfog.c +++ b/board/solidrun/clearfog/clearfog.c @@ -175,3 +175,17 @@ int board_eth_init(bd_t *bis) cpu_eth_init(bis); /* Built in controller(s) come first */ return pci_eth_init(bis); } + +int board_late_init(void) +{ + cf_read_tlv_data(); + + if (sr_product_is(&cf_tlv_data, "Clearfog Base")) + env_set("fdtfile", "armada-388-clearfog-base.dtb"); + else if (sr_product_is(&cf_tlv_data, "Clearfog GTR S4")) + env_set("fdtfile", "armada-385-clearfog-gtr-s4.dtb"); + else if (sr_product_is(&cf_tlv_data, "Clearfog GTR L8")) + env_set("fdtfile", "armada-385-clearfog-gtr-l8.dtb"); + + return 0; +} -- cgit v1.3.1