From patchwork Mon Jun 15 10:13:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 242430 List-Id: U-Boot discussion From: t-kristo at ti.com (Tero Kristo) Date: Mon, 15 Jun 2020 13:13:21 +0300 Subject: [PATCHv2 2/2] omap4: panda: convert to device model In-Reply-To: <20200615101321.11084-1-t-kristo@ti.com> References: <20200615101321.11084-1-t-kristo@ti.com> Message-ID: <20200615101321.11084-3-t-kristo@ti.com> Convert omap4 panda to device model. Signed-off-by: Tero Kristo --- v2: * dropped some apparently dead USB EHCI init code, this was just causing a compile time warning. arch/arm/dts/Makefile | 4 +++ arch/arm/dts/omap4-u-boot.dtsi | 39 ++++++++++++++++++++++++++ board/ti/panda/panda.c | 50 ++++++++-------------------------- configs/omap4_panda_defconfig | 8 ++++++ 4 files changed, 63 insertions(+), 38 deletions(-) create mode 100644 arch/arm/dts/omap4-u-boot.dtsi diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 12ec6c71dc..dd574f57fa 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -848,6 +848,10 @@ dtb-$(CONFIG_TARGET_OMAP3_BEAGLE) += \ dtb-$(CONFIG_TARGET_OMAP3_IGEP00X0) += \ omap3-igep0020.dtb +dtb-$(CONFIG_TARGET_OMAP4_PANDA) += \ + omap4-panda.dtb \ + omap4-panda-es.dtb + dtb-$(CONFIG_TARGET_SAMA5D2_PTC_EK) += \ at91-sama5d2_ptc_ek.dtb diff --git a/arch/arm/dts/omap4-u-boot.dtsi b/arch/arm/dts/omap4-u-boot.dtsi new file mode 100644 index 0000000000..4a6bafd6ed --- /dev/null +++ b/arch/arm/dts/omap4-u-boot.dtsi @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * U-Boot additions + * + * (C) Copyright 2020 Tero Kristo + */ + +&l4_cfg { + segment at 0 { + /* SCM Core */ + target-module at 2000 { + compatible = "simple-bus"; + }; + + /* USB HS */ + target-module at 64000 { + compatible = "simple-bus"; + }; + }; +}; + +&l4_per { + segment at 0 { + /* UART3 */ + target-module at 20000 { + compatible = "simple-bus"; + }; + + /* I2C1 */ + target-module at 70000 { + compatible = "simple-bus"; + }; + + /* MMC1 */ + target-module at 9c000 { + compatible = "simple-bus"; + }; + }; +}; diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c index 9ebecfdbf5..232d999a29 100644 --- a/board/ti/panda/panda.c +++ b/board/ti/panda/panda.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -19,12 +20,6 @@ #include "panda_mux_data.h" -#ifdef CONFIG_USB_EHCI_HCD -#include -#include -#include -#endif - #define PANDA_ULPI_PHY_TYPE_GPIO 182 #define PANDA_BOARD_ID_1_GPIO 101 #define PANDA_ES_BOARD_ID_1_GPIO 48 @@ -55,6 +50,17 @@ int board_init(void) return 0; } +#if defined(CONFIG_SPL_OS_BOOT) +int spl_start_uboot(void) +{ + /* break into full u-boot on 'c' */ + if (serial_tstc() && serial_getc() == 'c') + return 1; + + return 0; +} +#endif /* CONFIG_SPL_OS_BOOT */ + int board_eth_init(bd_t *bis) { return 0; @@ -305,38 +311,6 @@ void board_mmc_power_init(void) #endif #endif -#ifdef CONFIG_USB_EHCI_HCD - -static struct omap_usbhs_board_data usbhs_bdata = { - .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, - .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED, - .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED, -}; - -int ehci_hcd_init(int index, enum usb_init_type init, - struct ehci_hccr **hccr, struct ehci_hcor **hcor) -{ - int ret; - unsigned int utmi_clk; - - /* Now we can enable our port clocks */ - utmi_clk = readl((void *)CM_L3INIT_HSUSBHOST_CLKCTRL); - utmi_clk |= HSUSBHOST_CLKCTRL_CLKSEL_UTMI_P1_MASK; - setbits_le32((void *)CM_L3INIT_HSUSBHOST_CLKCTRL, utmi_clk); - - ret = omap_ehci_hcd_init(index, &usbhs_bdata, hccr, hcor); - if (ret < 0) - return ret; - - return 0; -} - -int ehci_hcd_stop(int index) -{ - return omap_ehci_hcd_stop(); -} -#endif - /* * get_board_rev() - get board revision */ diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig index 3ac6319d2d..bf5f71c7a7 100644 --- a/configs/omap4_panda_defconfig +++ b/configs/omap4_panda_defconfig @@ -2,12 +2,14 @@ CONFIG_ARM=y CONFIG_ARCH_OMAP2PLUS=y CONFIG_OMAP44XX=y CONFIG_TARGET_OMAP4_PANDA=y +CONFIG_DEFAULT_DEVICE_TREE="omap4-panda" CONFIG_SPL=y CONFIG_SPL_TEXT_BASE=0x40300000 CONFIG_DISTRO_DEFAULTS=y CONFIG_BOOTCOMMAND="if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd" CONFIG_SYS_CONSOLE_IS_IN_ENV=y CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_DEFAULT_FDT_FILE="omap4-panda.dtb" CONFIG_VERSION_VARIABLE=y # CONFIG_SPL_FS_EXT4 is not set # CONFIG_SPL_I2C_SUPPORT is not set @@ -23,16 +25,20 @@ CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set CONFIG_CMD_EXT4_WRITE=y +CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_FAT=y CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +CONFIG_DM=y +CONFIG_DM_MMC=y CONFIG_MMC_OMAP_HS=y CONFIG_CONS_INDEX=3 CONFIG_SYS_NS16550=y CONFIG_SPI=y CONFIG_OMAP3_SPI=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_MUSB_UDC=y CONFIG_USB_OMAP3=y @@ -40,3 +46,5 @@ CONFIG_USB_GADGET=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_OF_LIBFDT=y +CONFIG_SYS_MALLOC_F_LEN=0x4000 +CONFIG_DM_ETH=y