diff options
author | Daniel Schultz <d.schultz@phytec.de> | 2017-11-03 11:48:16 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-11-07 07:47:41 +0100 |
commit | 2877e08f9e1afc0124c034c8466acedcc9696bac (patch) | |
tree | 18df2fd75020d4d4ffd33a15507437aeb3d0efc9 | |
parent | 7a6239529b93cb2a18d691d118ff830b14af7fdc (diff) | |
download | barebox-2877e08f9e1afc0124c034c8466acedcc9696bac.tar.gz barebox-2877e08f9e1afc0124c034c8466acedcc9696bac.tar.xz |
ARM: phytec-som-am335x: Add autoenable
Add autoenable for components, which can be populated on an AM335x
phyCORE SoM.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/phytec-som-am335x/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/boards/phytec-som-am335x/board.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap/Kconfig | 2 |
3 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/boards/phytec-som-am335x/Kconfig b/arch/arm/boards/phytec-som-am335x/Kconfig new file mode 100644 index 0000000000..52fa723a21 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/Kconfig @@ -0,0 +1,13 @@ + +if MACH_PHYTEC_SOM_AM335X + +config PHYTEC_SOM_AM335X_OF_AUTOENABLE + bool + prompt "Autoenable of components" + help + Say Y to unlock an API for automatically enable either hardware + components with existing device drivers or i2c clients. All functions + take a device tree path to find the hardware and will fix up the node + status in the kernel device tree, if it's accessible. + +endif diff --git a/arch/arm/boards/phytec-som-am335x/board.c b/arch/arm/boards/phytec-som-am335x/board.c index 9f74981398..0e9bf5fdef 100644 --- a/arch/arm/boards/phytec-som-am335x/board.c +++ b/arch/arm/boards/phytec-som-am335x/board.c @@ -135,6 +135,19 @@ static int physom_devices_init(void) } } + if (IS_ENABLED(PHYTEC_SOM_AM335X_OF_AUTOENABLE)) { + /* Enable NAND */ + of_autoenable_device_by_path("/ocp/gpmc@50000000"); + /* Enable eMMC */ + of_autoenable_device_by_path("/ocp/mmc@481d8000"); + /* Enable SPI NOR */ + of_autoenable_device_by_path("/ocp/spi@48030000/m25p80@0"); + + of_autoenable_i2c_by_component("/ocp/i2c@44e0b000/temp@4b"); + of_autoenable_i2c_by_component("/ocp/i2c@44e0b000/eeprom@52"); + of_autoenable_i2c_by_component("/ocp/i2c@44e0b000/rtc@68"); + } + if (IS_ENABLED(CONFIG_SHELL_NONE)) return am33xx_of_register_bootdevice(); diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig index 9c41741b50..e8fc4b843a 100644 --- a/arch/arm/mach-omap/Kconfig +++ b/arch/arm/mach-omap/Kconfig @@ -192,6 +192,8 @@ config MACH_VSCOM_BALTOS endif +source arch/arm/boards/phytec-som-am335x/Kconfig + choice prompt "Select OMAP board" depends on !OMAP_MULTI_BOARDS |