* [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support
@ 2019-11-20 22:09 Caleb Robey
2019-11-20 22:09 ` [U-Boot] [PATCH 1/5] board: ti: beagleboneai: emmc read changes Caleb Robey
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw)
To: u-boot
The following patches
1) Introduce the emmc based board detection for BBAI due to a lack of
eeprom onboard the BBAI (to be fixed in future revision of the board).
2) Minor changes to files to support dts and bbai boot overall
3) Add structures in the pinctrl to detect the beaglebone AI and add
checks for the beaglebone AI in the board detection scheme
4) Add device tree file for BeagleBone AI
5) Enable beaglebone ai in am57xx_evm_defconfig
Device tree has gone to mainline kernel found here:
https://patchwork.kernel.org/patch/11254903/
Caleb Robey (5):
board: ti: beagleboneai: emmc read changes
board: ti: beagleboneai: add initial support
board: ti: beagleboneai: IODELAY and pinmux changes
board: ti: beagleboneai: add dts file
board: ti: beagleboneai: enable in am57xx_evm_defconfig
arch/arm/dts/Makefile | 1 +
arch/arm/dts/am5729-beagleboneai.dts | 731 +++++++++++++++++++++++++++
arch/arm/dts/dra7.dtsi | 2 +-
arch/arm/mach-omap2/omap5/hw_data.c | 1 +
board/ti/am57xx/board.c | 37 ++
board/ti/am57xx/mux_data.h | 280 ++++++++++
board/ti/common/board_detect.c | 80 ++-
board/ti/common/board_detect.h | 9 +
configs/am57xx_evm_defconfig | 2 +-
include/configs/am57xx_evm.h | 1 -
include/environment/ti/boot.h | 4 +-
11 files changed, 1141 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/dts/am5729-beagleboneai.dts
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread* [U-Boot] [PATCH 1/5] board: ti: beagleboneai: emmc read changes 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey @ 2019-11-20 22:09 ` Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support Caleb Robey ` (3 subsequent siblings) 4 siblings, 0 replies; 13+ messages in thread From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw) To: u-boot BeagleBoard.org BeagleBone AI rev A1 does not include a board identifier I2C EEPROM due to a design oversight. These boards have been put into production and are generally available now. The board identifier information, however, has been included in the second eMMC linear boot partition (/dev/mmcblk1boot1). This patch works by: * First, looking for a board identifier I2C EEPROM and if not found, * Then seeing if the boot mode matches BeagleBone AI with eMMC in the boot chain to make sure we don't enable eMMC pinmuxes on boards that don't support it, and * Finally, initializes the eMMC pins and reading the header. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> --- board/ti/am57xx/board.c | 37 ++++++++++++++++ board/ti/am57xx/mux_data.h | 16 +++++++ board/ti/common/board_detect.c | 80 ++++++++++++++++++++++++++++++++-- board/ti/common/board_detect.h | 9 ++++ 4 files changed, 139 insertions(+), 3 deletions(-) diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 237a834c53..5fca261657 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -12,6 +12,7 @@ #include <palmas.h> #include <sata.h> #include <usb.h> +#include <errno.h> #include <asm/omap_common.h> #include <asm/omap_sec_common.h> #include <asm/emif.h> @@ -35,6 +36,10 @@ #include "../common/board_detect.h" #include "mux_data.h" +#ifdef CONFIG_SUPPORT_EMMC_BOOT +static int board_bootmode_has_emmc(void); +#endif + #define board_is_x15() board_ti_is("BBRDX15_") #define board_is_x15_revb1() (board_ti_is("BBRDX15_") && \ !strncmp("B.10", board_ti_get_rev(), 3)) @@ -505,6 +510,14 @@ void do_board_detect(void) CONFIG_EEPROM_CHIP_ADDRESS); if (rc) printf("ti_i2c_eeprom_init failed %d\n", rc); + +#ifdef CONFIG_SUPPORT_EMMC_BOOT + rc = board_bootmode_has_emmc(); + if (!rc) + rc = ti_emmc_boardid_get(); + if (rc) + printf("ti_emmc_boardid_get failed %d\n", rc); +#endif } #else /* CONFIG_SPL_BUILD */ @@ -520,6 +533,14 @@ void do_board_detect(void) if (rc) printf("ti_i2c_eeprom_init failed %d\n", rc); +#ifdef CONFIG_SUPPORT_EMMC_BOOT + rc = board_bootmode_has_emmc(); + if (!rc) + rc = ti_emmc_boardid_get(); + if (rc) + printf("ti_emmc_boardid_get failed %d\n", rc); +#endif + if (board_is_x15()) bname = "BeagleBoard X15"; else if (board_is_am572x_evm()) @@ -742,6 +763,11 @@ void set_muxconf_regs(void) { do_set_mux32((*ctrl)->control_padconf_core_base, early_padconf, ARRAY_SIZE(early_padconf)); + +#ifdef CONFIG_SUPPORT_EMMC_BOOT + do_set_mux32((*ctrl)->control_padconf_core_base, + emmc_padconf, ARRAY_SIZE(emmc_padconf)); +#endif } #ifdef CONFIG_IODELAY_RECALIBRATION @@ -1124,3 +1150,14 @@ void board_tee_image_process(ulong tee_image, size_t tee_size) U_BOOT_FIT_LOADABLE_HANDLER(IH_TYPE_TEE, board_tee_image_process); #endif + +#ifdef CONFIG_SUPPORT_EMMC_BOOT +static int board_bootmode_has_emmc(void) +{ + /* Check that boot mode is same as BBAI */ + if (gd->arch.omap_boot_mode != 2) + return -EIO; + + return 0; +} +#endif diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h index d4a15ae93d..2e739dec1c 100644 --- a/board/ti/am57xx/mux_data.h +++ b/board/ti/am57xx/mux_data.h @@ -1000,6 +1000,22 @@ const struct pad_conf_entry early_padconf[] = { {I2C1_SCL, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SCL */ }; +#ifdef CONFIG_SUPPORT_EMMC_BOOT +const struct pad_conf_entry emmc_padconf[] = { + {GPMC_A19, (M1 | PIN_INPUT_PULLUP)}, /* K7: gpmc_a19.mmc2_dat4 */ + {GPMC_A20, (M1 | PIN_INPUT_PULLUP)}, /* M7: gpmc_a20.mmc2_dat5 */ + {GPMC_A21, (M1 | PIN_INPUT_PULLUP)}, /* J5: gpmc_a21.mmc2_dat6 */ + {GPMC_A22, (M1 | PIN_INPUT_PULLUP)}, /* K6: gpmc_a22.mmc2_dat7 */ + {GPMC_A23, (M1 | PIN_INPUT_PULLUP)}, /* J7: gpmc_a23.mmc2_clk */ + {GPMC_A24, (M1 | PIN_INPUT_PULLUP)}, /* J4: gpmc_a24.mmc2_dat0 */ + {GPMC_A25, (M1 | PIN_INPUT_PULLUP)}, /* J6: gpmc_a25.mmc2_dat1 */ + {GPMC_A26, (M1 | PIN_INPUT_PULLUP)}, /* H4: gpmc_a26.mmc2_dat2 */ + {GPMC_A27, (M1 | PIN_INPUT_PULLUP)}, /* H5: gpmc_a27.mmc2_dat3 */ + {GPMC_CS1, (M1 | PIN_INPUT_PULLUP)}, /* H6: gpmc_cs1.mmc2_cmd */ + {MCASP1_AXR5, (M14 | PIN_OUTPUT_PULLUP)}, /* F13: eMMC_RSTn (missing on schematic): mcasp1_axr5.gpio5_7 */ +}; +#endif + #ifdef CONFIG_IODELAY_RECALIBRATION const struct iodelay_cfg_entry iodelay_cfg_array_x15_sr1_1[] = { {0x0114, 2980, 0}, /* CFG_GPMC_A0_IN */ diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c index bc89cc57bd..92cc743a1a 100644 --- a/board/ti/common/board_detect.c +++ b/board/ti/common/board_detect.c @@ -8,12 +8,12 @@ */ #include <common.h> -#include <asm/arch/hardware.h> #include <asm/omap_common.h> #include <dm/uclass.h> -#include <env.h> #include <i2c.h> - +#include <mmc.h> +#include <errno.h> +#include <malloc.h> #include "board_detect.h" #if !defined(CONFIG_DM_I2C) @@ -228,6 +228,7 @@ int __maybe_unused ti_i2c_eeprom_am_get(int bus_addr, int dev_addr) strlcpy(ep->version, "BBG1", TI_EEPROM_HDR_REV_LEN + 1); else strlcpy(ep->version, am_ep.version, TI_EEPROM_HDR_REV_LEN + 1); + ti_eeprom_string_cleanup(ep->version); strlcpy(ep->serial, am_ep.serial, TI_EEPROM_HDR_SERIAL_LEN + 1); ti_eeprom_string_cleanup(ep->serial); @@ -240,6 +241,79 @@ int __maybe_unused ti_i2c_eeprom_am_get(int bus_addr, int dev_addr) return 0; } +int __maybe_unused ti_emmc_boardid_get(void) +{ + int rc; + struct udevice *dev; + struct mmc *mmc; + struct ti_common_eeprom *ep; + struct ti_am_eeprom brdid; + struct blk_desc *bdesc; + uchar *buffer; + + ep = TI_EEPROM_DATA; + if (ep->header == TI_EEPROM_HEADER_MAGIC) + return 0; /* EEPROM has already been read */ + + /* Initialize with a known bad marker for emmc fails.. */ + ep->header = TI_DEAD_EEPROM_MAGIC; + ep->name[0] = 0x0; + ep->version[0] = 0x0; + ep->serial[0] = 0x0; + ep->config[0] = 0x0; + + /* uclass object initialization */ + rc = mmc_initialize(NULL); + if (rc) + return rc; + + /* Set device to /dev/mmcblk1 */ + rc = uclass_get_device(UCLASS_MMC, 1, &dev); + if (rc) + return rc; + + /* Grab the mmc device */ + mmc = mmc_get_mmc_dev(dev); + if (!mmc) + return -ENODEV; + + /* mmc hardware initialization routine */ + mmc_init(mmc); + + /* Set partition to /dev/mmcblk1boot1 */ + rc = mmc_switch_part(mmc, 2); + if (rc) + return rc; + + buffer = malloc(mmc->read_bl_len); + if (!buffer) + return -ENOMEM; + + bdesc = mmc_get_blk_desc(mmc); + + /* blk_dread returns the number of blocks read*/ + if (blk_dread(bdesc, 0L, 1, buffer) != 1) { + rc = -EIO; + goto cleanup; + } + + memcpy(&brdid, buffer, sizeof(brdid)); + + /* Write out the ep struct values */ + ep->header = brdid.header; + strlcpy(ep->name, brdid.name, TI_EEPROM_HDR_NAME_LEN + 1); + ti_eeprom_string_cleanup(ep->name); + strlcpy(ep->version, brdid.version, TI_EEPROM_HDR_REV_LEN + 1); + ti_eeprom_string_cleanup(ep->version); + strlcpy(ep->serial, brdid.serial, TI_EEPROM_HDR_SERIAL_LEN + 1); + ti_eeprom_string_cleanup(ep->serial); + +cleanup: + free(buffer); + + return rc; +} + int __maybe_unused ti_i2c_eeprom_dra7_get(int bus_addr, int dev_addr) { int rc, offset = 0; diff --git a/board/ti/common/board_detect.h b/board/ti/common/board_detect.h index a45d8961b9..1a85b7fda9 100644 --- a/board/ti/common/board_detect.h +++ b/board/ti/common/board_detect.h @@ -267,6 +267,15 @@ struct ti_am6_eeprom { */ int ti_i2c_eeprom_am_get(int bus_addr, int dev_addr); +/** + * ti_emmc_boardid_get() - Fetch board ID information from eMMC + * + * ep in SRAM is populated by the this function that is currently + * based on BeagleBone AI, but could be made more general across AM* + * platforms. + */ +int __maybe_unused ti_emmc_boardid_get(void); + /** * ti_i2c_eeprom_dra7_get() - Consolidated eeprom data for DRA7 TI EVMs * @bus_addr: I2C bus address -- 2.17.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 1/5] board: ti: beagleboneai: emmc read changes Caleb Robey @ 2019-11-20 22:09 ` Caleb Robey 2019-11-21 3:43 ` Lokesh Vutla 2019-11-20 22:09 ` [U-Boot] [PATCH 3/5] board: ti: beagleboneai: IODELAY and pinmux changes Caleb Robey ` (2 subsequent siblings) 4 siblings, 1 reply; 13+ messages in thread From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw) To: u-boot These are necessities for beaglebone ai boot. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> --- arch/arm/mach-omap2/omap5/hw_data.c | 1 + include/configs/am57xx_evm.h | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c index c4a41db92a..fa4e27063c 100644 --- a/arch/arm/mach-omap2/omap5/hw_data.c +++ b/arch/arm/mach-omap2/omap5/hw_data.c @@ -418,6 +418,7 @@ void enable_basic_clocks(void) (*prcm)->cm_l3init_hsmmc2_clkctrl, (*prcm)->cm_l4per_gptimer2_clkctrl, (*prcm)->cm_wkup_wdtimer2_clkctrl, + (*prcm)->cm_l4per_uart1_clkctrl, (*prcm)->cm_l4per_uart3_clkctrl, (*prcm)->cm_l4per_i2c1_clkctrl, #ifdef CONFIG_DRIVER_TI_CPSW diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index baeca5417d..f155581fa2 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -23,7 +23,6 @@ #define CONFIG_SYS_BOOTM_LEN SZ_64M -#define CONSOLEDEV "ttyS2" #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */ -- 2.17.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support 2019-11-20 22:09 ` [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support Caleb Robey @ 2019-11-21 3:43 ` Lokesh Vutla 0 siblings, 0 replies; 13+ messages in thread From: Lokesh Vutla @ 2019-11-21 3:43 UTC (permalink / raw) To: u-boot On 21/11/19 3:39 AM, Caleb Robey wrote: > These are necessities for beaglebone ai boot. > > Signed-off-by: Jason Kridner <jdk@ti.com> > Signed-off-by: Caleb Robey <c-robey@ti.com> I guess you missed adding emif changes and eeprom definition here? Thanks and regards, Lokesh > > --- > arch/arm/mach-omap2/omap5/hw_data.c | 1 + > include/configs/am57xx_evm.h | 1 - > 2 files changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c > index c4a41db92a..fa4e27063c 100644 > --- a/arch/arm/mach-omap2/omap5/hw_data.c > +++ b/arch/arm/mach-omap2/omap5/hw_data.c > @@ -418,6 +418,7 @@ void enable_basic_clocks(void) > (*prcm)->cm_l3init_hsmmc2_clkctrl, > (*prcm)->cm_l4per_gptimer2_clkctrl, > (*prcm)->cm_wkup_wdtimer2_clkctrl, > + (*prcm)->cm_l4per_uart1_clkctrl, > (*prcm)->cm_l4per_uart3_clkctrl, > (*prcm)->cm_l4per_i2c1_clkctrl, > #ifdef CONFIG_DRIVER_TI_CPSW > diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h > index baeca5417d..f155581fa2 100644 > --- a/include/configs/am57xx_evm.h > +++ b/include/configs/am57xx_evm.h > @@ -23,7 +23,6 @@ > > #define CONFIG_SYS_BOOTM_LEN SZ_64M > > -#define CONSOLEDEV "ttyS2" > #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ > #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ > #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */ > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 3/5] board: ti: beagleboneai: IODELAY and pinmux changes 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 1/5] board: ti: beagleboneai: emmc read changes Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support Caleb Robey @ 2019-11-20 22:09 ` Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 4/5] board: ti: beagleboneai: add dts file Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig Caleb Robey 4 siblings, 0 replies; 13+ messages in thread From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw) To: u-boot This patch configures the pinmux settings for the BeagleBone AI after the emmc read has completed. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> --- board/ti/am57xx/mux_data.h | 264 +++++++++++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h index 2e739dec1c..8a216a7855 100644 --- a/board/ti/am57xx/mux_data.h +++ b/board/ti/am57xx/mux_data.h @@ -233,6 +233,203 @@ const struct pad_conf_entry core_padconf_array_essential_x15[] = { {RSTOUTN, (M0 | PIN_OUTPUT)}, /* rstoutn.rstoutn */ }; +const struct pad_conf_entry core_padconf_array_essential_bbai[] = { + /* Cape Bus i2c */ + /* NOTE: For the i2cj_scl and i2ci_scl signals to work properly, the INPUTENABLE bit of the + * appropriate CTRL_CORE_PAD_x registers should be set to 0x1 because of retiming + * purposes. + */ + {GPMC_A0, (M7 | PIN_INPUT_PULLUP)}, /* P9_19A: R6_GPIO7_3: gpmc_a0.i2c4_scl (Shared with F4_UART10_RTSN) */ + {GPMC_A1, (M7 | PIN_INPUT_PULLUP)}, /* P9_20A: T9_GPIO7_4: gpmc_a1.i2c4_sda (Shared with D2_UART10_CTSN) */ + + /* Bluetooth UART */ + {GPMC_A4, (M8 | PIN_INPUT)}, /* P6 UART6_RXD: gpmc_a4.uart6_rxd */ + {GPMC_A5, (M8 | PIN_OUTPUT)}, /* R9 UART6_TXD: gpmc_a5.uart6_txd */ + {GPMC_A6, (M8 | PIN_INPUT)}, /* R5 UART6_CTSN: gpmc_a6.uart6_ctsn */ + {GPMC_A7, (M8 | PIN_OUTPUT)}, /* P5 UART6_RTSN: gpmc_a7.uart6_rtsn */ + + /* eMMC */ + {GPMC_A19, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* K7: gpmc_a19.mmc2_dat4 */ + {GPMC_A20, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* M7: gpmc_a20.mmc2_dat5 */ + {GPMC_A21, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* J5: gpmc_a21.mmc2_dat6 */ + {GPMC_A22, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* K6: gpmc_a22.mmc2_dat7 */ + {GPMC_A23, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* J7: gpmc_a23.mmc2_clk */ + {GPMC_A24, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* J4: gpmc_a24.mmc2_dat0 */ + {GPMC_A25, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* J6: gpmc_a25.mmc2_dat1 */ + {GPMC_A26, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* H4: gpmc_a26.mmc2_dat2 */ + {GPMC_A27, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* H5: gpmc_a27.mmc2_dat3 */ + {GPMC_CS1, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* H6: gpmc_cs1.mmc2_cmd */ + + {GPMC_ADVN_ALE, (M14 | PIN_INPUT_PULLUP)}, /* N1 RGMII_RST: gpmc_advn_ale.gpio2_23 */ + + {VIN1A_CLK0, (M14 | PIN_INPUT_PULLUP)}, /* AG8 INT_ADC: vin1a_clk0.gpio2_30 */ + {VIN1A_DE0, (M10 | PIN_INPUT_PULLDOWN)}, /* P8_35B: AD9_EQEP1A_IN: vin1a_de0.eQEP1A_in */ + {VIN1A_FLD0, (M10 | PIN_INPUT_PULLDOWN)}, /* P8_33B: AF9_EQEP1B_IN: vin1a_fld0.eQEP1B_in */ + {VIN1A_VSYNC0, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_21A: AF8_TIMER13: vin1a_vsync0.gpio3_3 */ + + {VIN1A_D3, (M14 | PIN_INPUT_PULLDOWN)}, /* AH6 USR4: vin1a_d3.gpio3_7 */ + + {VIN1A_D6, (M10 | PIN_INPUT_PULLDOWN)}, /* P8_12: AG6: vin1a_d6.eQEP2A_in */ + {VIN1A_D7, (M10 | PIN_INPUT_PULLDOWN)}, /* P8_11: AH4: vin1a_d7.eQEP2B_in */ + {VIN1A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_15: AG4: vin1a_d8.gpio3_12 */ + {VIN1A_D9, (M14 | PIN_INPUT)}, /* AG2 USB ID: vin1a_d9.gpio3_13 */ + {VIN1A_D10, (M14 | PIN_INPUT_PULLDOWN)}, /* AG3 USR3: vin1a_d10.gpio3_14 */ + {VIN1A_D11, (M14 | PIN_INPUT_PULLDOWN)}, /* AG5 USR2: vin1a_d11.gpio3_15 */ + {VIN1A_D13, (M14 | PIN_OUTPUT_PULLDOWN)}, /* AF6 USR0: vin1a_d13.gpio3_17 */ + {VIN1A_D14, (M14 | PIN_INPUT_PULLDOWN)}, /* AF3 WL_REG_ON: vin1a_d14.gpio3_18 */ + {VIN1A_D16, (M14 | PIN_INPUT_PULLDOWN)}, /* AF1 BT_HOST_WAKE: vin1a_d16.gpio3_20 */ + {VIN1A_D17, (M14 | PIN_OUTPUT_PULLDOWN)}, /* AE3 BT_WAKE: vin1a_d17.gpio3_21 */ + {VIN1A_D18, (M14 | PIN_OUTPUT_PULLUP)}, /* AE5 BT_REG_ON: vin1a_d18.gpio3_22 */ + {VIN1A_D19, (M14 | PIN_INPUT_PULLDOWN)}, /* AE1 WL_HOST_WAKE: vin1a_d19.gpio3_23 */ + {VIN1A_D20, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_26B: AE2: vin1a_d20.gpio3_24 */ + {VIN1A_D23, (M14 | PIN_OUTPUT_PULLDOWN)}, /* AD3 VDD_ADC_SEL: vin1a_d23.gpio3_27 */ + + {VIN2A_D2, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_15A: D1: vin2a_d2.gpio4_3 */ + + /* Cape Bus i2c (gpio shared) */ + {VIN2A_D4, (M14 | PIN_INPUT)}, /* P9_20B: D2_UART10_CTSN: vin2a_d4. (Shared with T9_GPIO7_4) */ + {VIN2A_D5, (M14 | PIN_INPUT)}, /* P9_19B: F4_UART10_RTSN: vin2a_d5. (Shared with R6_GPIO7_3) */ + + {VIN2A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_18: F5_GPIO4_9: vin2a_d8.gpio4_9 */ + {VIN2A_D9, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_19: E6_EHRPWM2A: vin2a_d9.gpio4_10 */ + {VIN2A_D10, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_13: D3_EHRPWM2B: vin2a_d10.gpio4_11 */ + {VIN2A_D12, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_14: D5_GPIO4_13: vin2a_d12.gpio4_13 */ + {VIN2A_D13, (M10 | PIN_INPUT_PULLDOWN)}, /* P9_42B: C2_GPIO4_14: vin2a_d13.eQEP3A_in */ + {VIN2A_D14, (M10 | PIN_INPUT_PULLDOWN)}, /* P9_27A: C3_GPIO4_15: vin2a_d14.eQEP3B_in */ + {VIN2A_D17, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_14: D6_EHRPWM3A: vin2a_d17.gpio4_25 */ + {VIN2A_D18, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_16: C5_EHRPWM3B: vin2a_d18.gpio4_26 */ + {VIN2A_D19, (M12 | PIN_INPUT | MANUAL_MODE)}, /* P8_15B: A3_GPIO4_27: vin2a_d19.pr1_pru1_gpi16 */ + {VIN2A_D20, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_26: B3_GPIO4_28: vin2a_d20.gpio4_28 */ + {VIN2A_D21, (M12 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* P8_16: B4_GPIO4_29: vin2a_d21.pr1_pru1_gpi18 */ + {VOUT1_CLK, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_28A: D11_VOUT1_CLK: vout1_clk.gpio4_19 */ + {VOUT1_DE, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_30A: B10_VOUT1_DE: vout1_de.gpio4_20 */ + {VOUT1_HSYNC, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_29A: C11_VOUT1_HSYNC: vout1_hsync.gpio4_22 */ + {VOUT1_VSYNC, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_27A: E11_VOUT1_VSYNC: vout1_vsync.gpio4_23 */ + {VOUT1_D0, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_45A: F11_VOUT1_D0: vout1_d0.gpio8_0 */ + {VOUT1_D1, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_46A: G10_VOUT1_D1: vout1_d1.gpio8_1 */ + {VOUT1_D2, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_43: F10_LCD_DATA2: vout1_d2.gpio8_2 */ + {VOUT1_D3, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_44: G11_LCD_DATA3: vout1_d3.gpio8_3 */ + {VOUT1_D4, (M12 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* P8_41: E9_LCD_DATA4: vout1_d4.pr2_pru0_gpi1 */ + {VOUT1_D5, (M12 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* P8_42: F9_LCD_DATA5: vout1_d5.pr2_pru0_gpi2 */ + {VOUT1_D6, (M12 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* P8_39: F8_LCD_DATA6: vout1_d6.pr2_pru0_gpi3 */ + {VOUT1_D7, (M12 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* P8_40: E7_LCD_DATA7: vout1_d7.pr2_pru0_gpi4 */ + {VOUT1_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_37A: E8_VOUT1_D8: vout1_d8.gpio8_8 */ + {VOUT1_D9, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_38A: D9_VOUT1_D9: vout1_d9.gpio8_9 */ + {VOUT1_D10, (M14 | PIN_INPUT)}, /* P8_36A: D7_VOUT1_D10: vout1_d10.gpio8_10 */ + {VOUT1_D11, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_34A: D8_VOUT1_D11: vout1_d11.gpio8_11 */ + {VOUT1_D14, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_31A: C8_VOUT1_D14: vout1_d14.gpio8_14 */ + {VOUT1_D15, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_32A: C7_VOUT1_D15: vout1_d15.gpio8_15 */ + {VOUT1_D17, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_11B: B8_GPIO8_17: vout1_d17.gpio8_17 */ + {VOUT1_D18, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_17: A7_GPIO8_18: vout1_d18.gpio8_18 */ + {VOUT1_D19, (M12 | PIN_INPUT | MANUAL_MODE)}, /* P8_27B: A8_GPIO8_19: vout1_d19.pr2_pru0_gpi16 */ + {VOUT1_D20, (M12 | PIN_INPUT | MANUAL_MODE)}, /* P8_28B: C9_GPIO8_20: vout1_d20.pr2_pru0_gpi17 */ + {VOUT1_D21, (M12 | PIN_INPUT | MANUAL_MODE)}, /* P8_29B: A9_GPIO8_21: vout1_d21.pr2_pru0_gpi18 */ + {VOUT1_D22, (M12 | PIN_INPUT | MANUAL_MODE)}, /* P8_30B: B9_GPIO8_22: vout1_d22.pr2_pru0_gpi19 */ + + /* Ethernet (and USB A overcurrent) */ + {MDIO_MCLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* V1 MDIO_CLK: mdio_mclk.mdio_mclk */ + {MDIO_D, (M0 | PIN_INPUT | SLEWCONTROL)}, /* U4 MDIO_D: mdio_d.mdio_d */ + {UART3_RXD, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* V2 GPIO5_18 (USB A overcurrent): uart3_rxd.gpio5_18 */ + {UART3_TXD, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* Y1 MII0_INT: uart3_txd.gpio5_19 */ + {RGMII0_TXC, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* W9 RGMII0_TXC: rgmii0_txc.rgmii0_txc */ + {RGMII0_TXCTL, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* V9 RGMII0_TXCTL: rgmii0_txctl.rgmii0_txctl */ + {RGMII0_TXD3, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* V7 RGMII0_TXD3: rgmii0_txd3.rgmii0_txd3 */ + {RGMII0_TXD2, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* U7 RGMII0_TXD2: rgmii0_txd2.rgmii0_txd2 */ + {RGMII0_TXD1, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* V6 RGMII0_TXD1: rgmii0_txd1.rgmii0_txd1 */ + {RGMII0_TXD0, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* U6 RGMII0_TXD0: rgmii0_txd0.rgmii0_txd0 */ + {RGMII0_RXC, (M0 | PIN_INPUT | MANUAL_MODE)}, /* U5 RGMII0_RXC: rgmii0_rxc.rgmii0_rxc */ + {RGMII0_RXCTL, (M0 | PIN_INPUT | MANUAL_MODE)}, /* V5 RGMII0_RXCTL: rgmii0_rxctl.rgmii0_rxctl */ + {RGMII0_RXD3, (M0 | PIN_INPUT | MANUAL_MODE)}, /* V4 RGMII0_RXD3: rgmii0_rxd3.rgmii0_rxd3 */ + {RGMII0_RXD2, (M0 | PIN_INPUT | MANUAL_MODE)}, /* V3 RGMII0_RXD2: rgmii0_rxd2.rgmii0_rxd2 */ + {RGMII0_RXD1, (M0 | PIN_INPUT | MANUAL_MODE)}, /* Y2 RGMII0_RXD1: rgmii0_rxd1.rgmii0_rxd1 */ + {RGMII0_RXD0, (M0 | PIN_INPUT | MANUAL_MODE)}, /* W2 RGMII0_RXD0: rgmii0_rxd0.rgmii0_rxd0 */ + + {USB2_DRVVBUS, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}, /* AC10 USB2_DRVVBUS: usb2_drvvbus.usb2_drvvbus */ + + {GPIO6_14, (M3 | PIN_INPUT)}, /* P9_26A: E21_UART10_RXD: gpio6_14.uart10_rxd */ + {GPIO6_15, (M0 | PIN_INPUT_PULLDOWN)}, /* P9_24: F20_UART10_TXD: gpio6_15.gpio6_15 */ + {GPIO6_16, (M0 | PIN_INPUT_PULLUP)}, /* F21 PMIC_INT: gpio6_16.gpio6_16 */ + {XREF_CLK0, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_25: D18_GPIO6_17: xref_clk0.gpio6_17 */ + {XREF_CLK1, (M14 | PIN_INPUT_PULLDOWN)}, /* P8_09: E17_TIMER14: xref_clk1.gpio6_18 */ + {XREF_CLK2, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_22A: B26_TIMER15: xref_clk2.gpio6_19 */ + {XREF_CLK3, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_41A: C23_CLKOUT3: xref_clk3.gpio6_20 */ + {MCASP1_ACLKR, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_12: B14_MCASP_ACLKR: mcasp1_aclkr.gpio5_0 */ + {MCASP1_AXR0, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* P9_18B: G12_GPIO5_2: mcasp1_axr0.i2c5_sda */ + {MCASP1_AXR1, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* P9_17B: F12_GPIO5_3: mcasp1_axr1.i2c5_scl */ + {MCASP1_AXR3, (M14 | PIN_INPUT_PULLDOWN)}, /* J11 USR1: mcasp1_axr3.gpio5_5 */ + {MCASP1_AXR5, (M14 | PIN_OUTPUT_PULLUP)}, /* F13 eMMC_RSTn (missing on schematic): mcasp1_axr5.gpio5_7 */ + {MCASP1_AXR8, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P9_31A: B12_SPI3_SCLK: mcasp1_axr8.gpio5_10 */ + {MCASP1_AXR9, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P9_29A: A11_SPI3_D1: mcasp1_axr9.gpio5_11 */ + {MCASP1_AXR10, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P9_30: B13_SPI3_D0: mcasp1_axr10.gpio5_12 */ + {MCASP1_AXR11, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P9_28: A12_SPI3_CS0: mcasp1_axr11.gpio4_17 */ + {MCASP1_AXR12, (M14 | PIN_INPUT | SLEWCONTROL)}, /* P9_42A: E14_GPIO4_18: mcasp1_axr12.gpio4_18 */ + {MCASP1_AXR13, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P8_10: A13_TIMER10: mcasp1_axr13.gpio6_4 */ + {MCASP1_AXR14, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P8_07: G14_TIMER11: mcasp1_axr14.gpio6_5 */ + {MCASP1_AXR15, (M14 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* P8_08: F14_TIMER12: mcasp1_axr15.gpio6_6 */ + {MCASP3_AXR0, (M4 | PIN_INPUT | SLEWCONTROL)}, /* P9_11A: B19_UART5_RXD: mcasp3_axr0.uart5_rxd */ + + /* microSD Socket */ + {MMC1_CLK, (M0 | PIN_INPUT_PULLUP)}, /* W6: mmc1_clk.mmc1_clk */ + {MMC1_CMD, (M0 | PIN_INPUT_PULLUP)}, /* Y6: mmc1_cmd.mmc1_cmd */ + {MMC1_DAT0, (M0 | PIN_INPUT_PULLUP)}, /* AA6: mmc1_dat0.mmc1_dat0 */ + {MMC1_DAT1, (M0 | PIN_INPUT_PULLUP)}, /* Y4: mmc1_dat1.mmc1_dat1 */ + {MMC1_DAT2, (M0 | PIN_INPUT_PULLUP)}, /* AA5: mmc1_dat2.mmc1_dat2 */ + {MMC1_DAT3, (M0 | PIN_INPUT_PULLUP)}, /* Y3: mmc1_dat3.mmc1_dat3 */ + {MMC1_SDCD, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* W7: mmc1_sdcd.gpio6_27 */ + + {MMC3_CLK, (M14 | PIN_INPUT_PULLUP)}, /* P8_21: AD4_MMC3_CLK: mmc3_clk.gpio6_29 */ + {MMC3_CMD, (M14 | PIN_INPUT_PULLUP)}, /* P8_20: AC4_MMC3_CMD: mmc3_cmd.gpio6_30 */ + {MMC3_DAT0, (M14 | PIN_INPUT_PULLUP)}, /* P8_25: AC7_MMC3_DATA0: mmc3_dat0.gpio6_31 */ + {MMC3_DAT1, (M14 | PIN_INPUT_PULLUP)}, /* P8_24: AC6_MMC3_DATA1: mmc3_dat1.gpio7_0 */ + {MMC3_DAT2, (M14 | PIN_INPUT_PULLUP)}, /* P8_05: AC9_MMC3_DATA2: mmc3_dat2.gpio7_1 */ + {MMC3_DAT3, (M14 | PIN_INPUT_PULLUP)}, /* P8_06: AC3_MMC3_DATA3: mmc3_dat3.gpio7_2 */ + {MMC3_DAT4, (M14 | PIN_INPUT_PULLUP)}, /* P8_23: AC8_MMC3_DATA4: mmc3_dat4.gpio1_22 */ + {MMC3_DAT5, (M14 | PIN_INPUT_PULLUP)}, /* P8_22: AD6_MMC3_DATA5: mmc3_dat5.gpio1_23 */ + {MMC3_DAT6, (M14 | PIN_INPUT_PULLUP)}, /* P8_03: AB8_MMC3_DATA6: mmc3_dat6.gpio1_24 */ + {MMC3_DAT7, (M14 | PIN_INPUT_PULLUP)}, /* P8_04: AB5_MMC3_DATA7: mmc3_dat7.gpio1_25 */ + {SPI1_CS1, (M14 | PIN_INPUT_PULLDOWN)}, /* P9_23: A22_SPI2_CS1: spi1_cs1.gpio7_11 */ + {SPI1_CS2, (M6 | PIN_INPUT | SLEWCONTROL)}, /* B21 HDMI_DDC_HPD: spi1_cs2.hdmi1_hpd */ + {SPI2_SCLK, (M1 | PIN_INPUT)}, /* P9_22B: A26_UART3_RXD: spi2_sclk.uart3_rxd */ + {SPI2_D0, (M14 | PIN_INPUT | SLEWCONTROL)}, /* P9_18A: G17_SPI2_D0: spi2_d0.gpio7_16 */ + {SPI2_CS0, (M14 | PIN_INPUT | SLEWCONTROL)}, /* P9_17A: B24_SPI2_CS0: spi2_cs0.gpio7_17 */ + {DCAN1_TX, (M2 | PIN_INPUT | SLEWCONTROL)}, /* G20 unused: dcan1_tx.uart8_rxd */ + {DCAN1_RX, (M6 | PIN_INPUT | SLEWCONTROL)}, /* G19 unused: dcan1_rx.hdmi1_cec */ + + /* BeagleBone AI: Debug UART */ + {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* uart1_rxd.uart1_rxd */ + {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}, /* uart1_txd.uart1_txd */ + + /* WiFi MMC */ + {UART1_CTSN, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart1_ctsn.mmc4_clk */ + {UART1_RTSN, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart1_rtsn.mmc4_cmd */ + {UART2_RXD, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart2_rxd.mmc4_dat0 */ + {UART2_TXD, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart2_txd.mmc4_dat1 */ + {UART2_CTSN, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart2_ctsn.mmc4_dat2 */ + {UART2_RTSN, (M3 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* uart2_rtsn.mmc4_dat3 */ + + /* On-board I2C */ + {I2C1_SDA, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_sda.i2c1_sda */ + {I2C1_SCL, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_scl.i2c1_scl */ + + /* HDMI I2C */ + {I2C2_SDA, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_sda.hdmi1_ddc_scl */ + {I2C2_SCL, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_scl.hdmi1_ddc_sda */ + + {ON_OFF, (M0 | PIN_OUTPUT)}, /* Y11: on_off.on_off */ + {RTC_PORZ, (M0 | PIN_INPUT)}, /* AB17: rtc_porz.rtc_porz */ + {TMS, (M0 | PIN_INPUT_PULLUP)}, /* F18: tms.tms */ + {TDI, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* D23: tdi.tdi */ + {TDO, (M0 | PIN_OUTPUT)}, /* F19: tdo.tdo */ + {TCLK, (M0 | PIN_INPUT_PULLDOWN)}, /* E20: tclk.tclk */ + {TRSTN, (M0 | PIN_INPUT)}, /* D20: trstn.trstn */ + {RTCK, (M0 | PIN_OUTPUT)}, /* E18: rtck.rtck */ + {EMU0, (M0 | PIN_INPUT)}, /* G21: emu0.emu0 */ + {EMU1, (M0 | PIN_INPUT)}, /* D24: emu1.emu1 */ + {RESETN, (M0 | PIN_INPUT_PULLUP)}, /* E23: resetn.resetn */ + {NMIN_DSP, (M0 | PIN_INPUT)}, /* D21: nmin_dsp.nmin_dsp */ + {RSTOUTN, (M0 | PIN_OUTPUT)}, /* F23: rstoutn.rstoutn */ +}; + const struct pad_conf_entry core_padconf_array_delta_x15_sr1_1[] = { {MMC1_SDWP, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mmc1_sdwp.gpio6_28 */ {VOUT1_CLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* vout1_clk.vout1_clk */ @@ -998,6 +1195,10 @@ const struct pad_conf_entry early_padconf[] = { {UART2_RTSN, (M1 | PIN_INPUT_SLEW)}, /* uart2_rtsn.uart3_txd */ {I2C1_SDA, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SDA */ {I2C1_SCL, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SCL */ + + /* BeagleBone AI: Debug UART */ + {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}, /* uart1_rxd.uart1_rxd */ + {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}, /* uart1_txd.uart1_txd */ }; #ifdef CONFIG_SUPPORT_EMMC_BOOT @@ -1215,6 +1416,69 @@ const struct iodelay_cfg_entry iodelay_cfg_array_x15_sr2_0[] = { {0x0CEC, 2739, 0}, /* CFG_VOUT1_VSYNC_OUT */ }; +const struct iodelay_cfg_entry iodelay_cfg_array_bbai[] = { + {0x0190, 274, 0}, /* CFG_GPMC_A19_OEN */ + {0x0194, 162, 0}, /* CFG_GPMC_A19_OUT */ + {0x01A8, 401, 0}, /* CFG_GPMC_A20_OEN */ + {0x01AC, 73, 0}, /* CFG_GPMC_A20_OUT */ + {0x01B4, 465, 0}, /* CFG_GPMC_A21_OEN */ + {0x01B8, 115, 0}, /* CFG_GPMC_A21_OUT */ + {0x01C0, 633, 0}, /* CFG_GPMC_A22_OEN */ + {0x01C4, 47, 0}, /* CFG_GPMC_A22_OUT */ + {0x01D0, 935, 280}, /* CFG_GPMC_A23_OUT */ + {0x01D8, 621, 0}, /* CFG_GPMC_A24_OEN */ + {0x01DC, 0, 0}, /* CFG_GPMC_A24_OUT */ + {0x01E4, 183, 0}, /* CFG_GPMC_A25_OEN */ + {0x01E8, 0, 0}, /* CFG_GPMC_A25_OUT */ + {0x01F0, 467, 0}, /* CFG_GPMC_A26_OEN */ + {0x01F4, 0, 0}, /* CFG_GPMC_A26_OUT */ + {0x01FC, 262, 0}, /* CFG_GPMC_A27_OEN */ + {0x0200, 46, 0}, /* CFG_GPMC_A27_OUT */ + {0x0364, 684, 0}, /* CFG_GPMC_CS1_OEN */ + {0x0368, 76, 0}, /* CFG_GPMC_CS1_OUT */ + {0x06F0, 260, 0}, /* CFG_RGMII0_RXC_IN */ + {0x06FC, 0, 1412}, /* CFG_RGMII0_RXCTL_IN */ + {0x0708, 123, 1047}, /* CFG_RGMII0_RXD0_IN */ + {0x0714, 139, 1081}, /* CFG_RGMII0_RXD1_IN */ + {0x0720, 195, 1100}, /* CFG_RGMII0_RXD2_IN */ + {0x072C, 239, 1216}, /* CFG_RGMII0_RXD3_IN */ + {0x0740, 89, 0}, /* CFG_RGMII0_TXC_OUT */ + {0x074C, 15, 125}, /* CFG_RGMII0_TXCTL_OUT */ + {0x0758, 339, 162}, /* CFG_RGMII0_TXD0_OUT */ + {0x0764, 146, 94}, /* CFG_RGMII0_TXD1_OUT */ + {0x0770, 0, 27}, /* CFG_RGMII0_TXD2_OUT */ + {0x077C, 291, 205}, /* CFG_RGMII0_TXD3_OUT */ + {0x0840, 0, 0}, /* CFG_UART1_CTSN_IN */ + {0x0848, 0, 0}, /* CFG_UART1_CTSN_OUT */ + {0x084C, 307, 0}, /* CFG_UART1_RTSN_IN */ + {0x0850, 0, 0}, /* CFG_UART1_RTSN_OEN */ + {0x0854, 0, 0}, /* CFG_UART1_RTSN_OUT */ + {0x0870, 785, 0}, /* CFG_UART2_CTSN_IN */ + {0x0874, 0, 0}, /* CFG_UART2_CTSN_OEN */ + {0x0878, 0, 0}, /* CFG_UART2_CTSN_OUT */ + {0x087C, 613, 0}, /* CFG_UART2_RTSN_IN */ + {0x0880, 0, 0}, /* CFG_UART2_RTSN_OEN */ + {0x0884, 0, 0}, /* CFG_UART2_RTSN_OUT */ + {0x0888, 683, 0}, /* CFG_UART2_RXD_IN */ + {0x088C, 0, 0}, /* CFG_UART2_RXD_OEN */ + {0x0890, 0, 0}, /* CFG_UART2_RXD_OUT */ + {0x0894, 835, 0}, /* CFG_UART2_TXD_IN */ + {0x0898, 0, 0}, /* CFG_UART2_TXD_OEN */ + {0x089C, 0, 0}, /* CFG_UART2_TXD_OUT */ + {0x0ABC, 0, 1100}, /* CFG_VIN2A_D19_IN */ + {0x0AE0, 0, 1300}, /* CFG_VIN2A_D21_IN */ + {0x0B1C, 0, 1000}, /* CFG_VIN2A_D4_IN */ + {0x0B28, 0, 1700}, /* CFG_VIN2A_D5_IN */ + {0x0C18, 0, 500}, /* CFG_VOUT1_D19_IN */ + {0x0C30, 0, 716}, /* CFG_VOUT1_D20_IN */ + {0x0C3C, 0, 0}, /* CFG_VOUT1_D21_IN */ + {0x0C48, 0, 404}, /* CFG_VOUT1_D22_IN */ + {0x0C78, 0, 0}, /* CFG_VOUT1_D4_IN */ + {0x0C84, 0, 365}, /* CFG_VOUT1_D5_IN */ + {0x0C90, 0, 0}, /* CFG_VOUT1_D6_IN */ + {0x0C9C, 0, 218}, /* CFG_VOUT1_D7_IN */ +}; + const struct iodelay_cfg_entry iodelay_cfg_array_am574x_idk[] = { {0x0114, 2199, 621}, /* CFG_GPMC_A0_IN */ {0x0120, 0, 0}, /* CFG_GPMC_A10_IN */ -- 2.17.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 4/5] board: ti: beagleboneai: add dts file 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey ` (2 preceding siblings ...) 2019-11-20 22:09 ` [U-Boot] [PATCH 3/5] board: ti: beagleboneai: IODELAY and pinmux changes Caleb Robey @ 2019-11-20 22:09 ` Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig Caleb Robey 4 siblings, 0 replies; 13+ messages in thread From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw) To: u-boot From: Jason Kridner <jdk@ti.com> BeagleBoard.org BeagleBone AI is an open source hardware single board computer based on the Texas Instruments AM5729 SoC featuring dual-core 1.5GHz Arm Cortex-A15 processor, dual-core C66 digital signal processor (DSP), quad-core embedded vision engine (EVE), Arm Cortex-M4 processors, dual programmable realtime unit industrial control subsystems and more. The board features 1GB DDR3L, USB3.0 Type-C, USB HS Type-A, microHDMI, 16GB eMMC flash, 1G Ethernet, 802.11ac 2/5GHz, Bluetooth, and BeagleBone expansion headers. For more information, refer to: https://beaglebone.ai The corresponding patch against the mainline linux kernel can be found at: https://patchwork.kernel.org/patch/11254903/ This patch introduces the BeagleBone AI device tree. Note that the device use the "ti,tpd12s016" component which is software compatible with "ti,tpd12s015". Thus we only use the latter driver. Due to small modifications in ocp, a tag was added to dra7.dtsi in the ocp component. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> --- arch/arm/dts/Makefile | 1 + arch/arm/dts/am5729-beagleboneai.dts | 731 +++++++++++++++++++++++++++ arch/arm/dts/dra7.dtsi | 2 +- 3 files changed, 733 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/am5729-beagleboneai.dts diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index d8846df1bd..e1d13f1e3a 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -348,6 +348,7 @@ dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ am57xx-beagle-x15-revb1.dtb \ am57xx-beagle-x15-revc.dtb \ + am5729-beagleboneai.dtb \ am574x-idk.dtb \ am572x-idk.dtb \ am571x-idk.dtb diff --git a/arch/arm/dts/am5729-beagleboneai.dts b/arch/arm/dts/am5729-beagleboneai.dts new file mode 100644 index 0000000000..8dda7dd433 --- /dev/null +++ b/arch/arm/dts/am5729-beagleboneai.dts @@ -0,0 +1,731 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2014-2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; + +#include "dra74x.dtsi" +#include "am57xx-commercial-grade.dtsi" +#include "dra74x-mmc-iodelay.dtsi" +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/dra.h> + +/ { + model = "BeagleBoard.org BeagleBone AI"; + compatible = "beagleboard.org,am5729-beagleboneai", "ti,am5728", + "ti,dra742", "ti,dra74", "ti,dra7"; + + aliases { + rtc0 = &tps659038_rtc; + rtc1 = &rtc; + display0 = &hdmi_conn; + }; + + chosen { + stdout-path = &uart1; + }; + + memory at 0 { + device_type = "memory"; + reg = <0x0 0x80000000 0x0 0x40000000>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ipu2_memory_region: ipu2-memory at 95800000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x95800000 0x0 0x3800000>; + reusable; + status = "okay"; + }; + + dsp1_memory_region: dsp1-memory at 99000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x99000000 0x0 0x4000000>; + reusable; + status = "okay"; + }; + + ipu1_memory_region: ipu1-memory at 9d000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x9d000000 0x0 0x2000000>; + reusable; + status = "okay"; + }; + + dsp2_memory_region: dsp2-memory at 9f000000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x9f000000 0x0 0x800000>; + reusable; + status = "okay"; + }; + + }; + + vdd_adc: gpioregulator-vdd_adc { + compatible = "regulator-gpio"; + regulator-name = "vdd_adc"; + vin-supply = <&vdd_5v>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; + states = <1800000 0 + 3300000 1>; + }; + + vdd_5v: fixedregulator-vdd_5v { + compatible = "regulator-fixed"; + regulator-name = "vdd_5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + regulator-boot-on; + }; + + vtt_fixed: fixedregulator-vtt { + /* TPS51200 */ + compatible = "regulator-fixed"; + regulator-name = "vtt_fixed"; + vin-supply = <&vdd_ddr>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + leds { + compatible = "gpio-leds"; + + led0 { + label = "beaglebone:green:usr0"; + gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + + led1 { + label = "beaglebone:green:usr1"; + gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + + led2 { + label = "beaglebone:green:usr2"; + gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "cpu"; + default-state = "off"; + }; + + led3 { + label = "beaglebone:green:usr3"; + gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc1"; + default-state = "off"; + }; + + led4 { + label = "beaglebone:green:usr4"; + gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "netdev"; + default-state = "off"; + }; + }; + + hdmi_conn: connector at 0 { + compatible = "hdmi-connector"; + label = "hdmi"; + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&hdmi_encoder_out>; + }; + }; + }; + + hdmi_enc: encoder at 0 { + /* "ti,tpd12s016" software compatible with "ti,tpd12s015" + * no need for individual driver + */ + compatible = "ti,tpd12s015"; + gpios = <0>, + <0>, + <&gpio7 12 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <0x1>; + #size-cells = <0x0>; + + port at 0 { + reg = <0x0>; + + hdmi_encoder_in: endpoint at 0 { + remote-endpoint = <&hdmi_out>; + }; + }; + + port at 1 { + reg = <0x1>; + + hdmi_encoder_out: endpoint at 0 { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; + + emmc_pwrseq: emmc_pwrseq { + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; + }; + + brcmf_pwrseq: brcmf_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>, /* BT-REG-ON */ + <&gpio3 18 GPIO_ACTIVE_LOW>; /* WL-REG-ON */ + }; + + extcon_usb1: extcon_usb1 { + compatible = "linux,extcon-usb-gpio"; + ti,enable-id-detection; + id-gpio = <&gpio3 13 GPIO_ACTIVE_HIGH>; + }; +}; + +&i2c1 { + status = "okay"; + clock-frequency = <400000>; + + tps659038: tps659038 at 58 { + compatible = "ti,tps659038"; + reg = <0x58>; + interrupt-parent = <&gpio6>; + interrupts = <16 IRQ_TYPE_LEVEL_LOW>; + + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller; + ti,palmas-override-powerhold; + + tps659038_pmic { + compatible = "ti,tps659038-pmic"; + + smps12-in-supply = <&vdd_5v>; + smps3-in-supply = <&vdd_5v>; + smps45-in-supply = <&vdd_5v>; + smps6-in-supply = <&vdd_5v>; + smps7-in-supply = <&vdd_5v>; + mps3-in-supply = <&vdd_5v>; + smps8-in-supply = <&vdd_5v>; + smps9-in-supply = <&vdd_5v>; + ldo1-in-supply = <&vdd_5v>; + ldo2-in-supply = <&vdd_5v>; + ldo3-in-supply = <&vdd_5v>; + ldo4-in-supply = <&vdd_5v>; + ldo9-in-supply = <&vdd_5v>; + ldoln-in-supply = <&vdd_5v>; + ldousb-in-supply = <&vdd_5v>; + ldortc-in-supply = <&vdd_5v>; + + regulators { + vdd_mpu: smps12 { + /* VDD_MPU */ + regulator-name = "smps12"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_ddr: smps3 { + /* VDD_DDR EMIF1 EMIF2 */ + regulator-name = "smps3"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_dspeve: smps45 { + /* VDD_DSPEVE on AM572 */ + regulator-name = "smps45"; + regulator-min-microvolt = < 850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_gpu: smps6 { + /* VDD_GPU */ + regulator-name = "smps6"; + regulator-min-microvolt = < 850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_core: smps7 { + /* VDD_CORE */ + regulator-name = "smps7"; + regulator-min-microvolt = < 850000>; /*** 1.15V */ + regulator-max-microvolt = <1150000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_iva: smps8 { + /* VDD_IVAHD */ /*** 1.06V */ + regulator-name = "smps8"; + }; + + vdd_3v3: smps9 { + /* VDD_3V3 */ + regulator-name = "smps9"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_sd: ldo1 { + /* VDDSHV8 - VSDMMC */ + regulator-name = "ldo1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_1v8: ldo2 { + /* VDDSH18V */ + regulator-name = "ldo2"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_1v8_phy_ldo3: ldo3 { + /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ + regulator-name = "ldo3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_1v8_phy_ldo4: ldo4 { + /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/ + regulator-name = "ldo4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + /* LDO5-8 unused */ + + vdd_rtc: ldo9 { + /* VDD_RTC */ + regulator-name = "ldo9"; + regulator-min-microvolt = < 840000>; + regulator-max-microvolt = <1160000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_1v8_pll: ldoln { + /* VDDA_1V8_PLL */ + regulator-name = "ldoln"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldousb_reg: ldousb { + /* VDDA_3V_USB: VDDA_USBHS33 */ + regulator-name = "ldousb"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + ldortc_reg: ldortc { + /* VDDA_RTC */ + regulator-name = "ldortc"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + regen1: regen1 { + /* VDD_3V3_ON */ + regulator-name = "regen1"; + regulator-boot-on; + regulator-always-on; + }; + + regen2: regen2 { + /* Needed for PMIC internal resource */ + regulator-name = "regen2"; + regulator-boot-on; + regulator-always-on; + }; + }; + }; + + tps659038_rtc: tps659038_rtc { + compatible = "ti,palmas-rtc"; + interrupt-parent = <&tps659038>; + interrupts = <8 IRQ_TYPE_EDGE_FALLING>; + wakeup-source; + }; + + tps659038_pwr_button: tps659038_pwr_button { + compatible = "ti,palmas-pwrbutton"; + interrupt-parent = <&tps659038>; + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + wakeup-source; + ti,palmas-long-press-seconds = <12>; + }; + + tps659038_gpio: tps659038_gpio { + compatible = "ti,palmas-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; + }; + + /* STMPE811 touch screen controller */ + stmpe811 at 41 { + compatible = "st,stmpe811"; + reg = <0x41>; + interrupts = <30 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&gpio2>; + interrupt-controller; + id = <0>; + blocks = <0x5>; + irq-trigger = <0x1>; + st,mod-12b = <1>; /* 12-bit ADC */ + st,ref-sel = <0>; /* internal ADC reference */ + st,adc-freq = <1>; /* 3.25 MHz ADC clock speed */ + st,sample-time = <4>; /* ADC converstion time: 80 clocks */ + + stmpe_adc { + compatible = "st,stmpe-adc"; + st,norequest-mask = <0x00>; /* mask any channels to be used by touchscreen */ + adc0: iio-device at 0 { + #io-channel-cells = <1>; + iio-channels = <&adc0 4>, <&adc0 1>, <&adc0 2>, <&adc0 3>, <&adc0 4>, <&adc0 5>, <&adc0 6>; + iio-channel-names = "AIN0_P9_39", "AIN1_P9_40", "AIN2_P9_37", "AIN3_P9_38", + "AIN4_P9_33", "AIN5_P9_36", "AIN6_P9_35"; + }; + }; + + stmpe_touchscreen { + status = "disabled"; + compatible = "st,stmpe-ts"; + /* 8 sample average control */ + st,ave-ctrl = <3>; + /* 7 length fractional part in z */ + st,fraction-z = <7>; + /* + * 50 mA typical 80 mA max touchscreen drivers + * current limit value + */ + st,i-drive = <1>; + /* 1 ms panel driver settling time */ + st,settling = <3>; + /* 5 ms touch detect interrupt delay */ + st,touch-det-delay = <5>; + }; + + stmpe_gpio { + compatible = "st,stmpe-gpio"; + }; + + stmpe_pwm { + compatible = "st,stmpe-pwm"; + #pwm-cells = <2>; + }; + }; +}; + +&mcspi3 { + status = "okay"; + ti,pindir-d0-out-d1-in; + + sn65hvs882: sn65hvs882 at 0 { + compatible = "pisosr-gpio"; + gpio-controller; + #gpio-cells = <2>; + + reg = <0>; + spi-max-frequency = <1000000>; + spi-cpol; + }; +}; + +&cpu0 { + vdd-supply = <&vdd_mpu>; + voltage-tolerance = <1>; +}; + +&uart1 { + status = "okay"; +}; + +&davinci_mdio { + reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; + + phy0: ethernet-phy at 1 { + reg = <4>; + eee-broken-100tx; + eee-broken-1000t; + }; +}; + +&mac { + slaves = <1>; + status = "okay"; +}; + +&cpsw_emac0 { + phy-handle = <&phy0>; + phy-mode = "rgmii"; +}; + +&ocp { + pruss1_shmem: pruss_shmem at 4b200000 { + status = "okay"; + compatible = "ti,pruss-shmem"; + reg = <0x4b200000 0x020000>; + }; + + pruss2_shmem: pruss_shmem at 4b280000 { + status = "okay"; + compatible = "ti,pruss-shmem"; + reg = <0x4b280000 0x020000>; + }; +}; + +&mmc1 { + status = "okay"; + vmmc-supply = <&vdd_3v3>; + vqmmc-supply = <&vdd_sd>; + bus-width = <4>; + cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ + + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; +}; + +&mmc2 { + status = "okay"; + vmmc-supply = <&vdd_1v8>; + vqmmc-supply = <&vdd_1v8>; + bus-width = <8>; + ti,non-removable; + non-removable; + mmc-pwrseq = <&emmc_pwrseq>; + + ti,needs-special-reset; + dmas = <&sdma_xbar 47>, <&sdma_xbar 48>; + dma-names = "tx", "rx"; + +}; + +&mmc4 { + /* DS: Default speed (DS) up to 25 MHz, including 1- and 4-bit modes (3.3 V signaling). */ + /* HS: High speed up to 50 MHz (3.3 V signaling). */ + /* SDR12: SDR up to 25 MHz (1.8 V signaling). */ + /* SDR25: SDR up to 50 MHz (1.8 V signaling). */ + /* SDR50: SDR up to 100 MHz (1.8 V signaling). */ + /* SDR104: SDR up to 208 MHz (1.8 V signaling) */ + /* DDR50: DDR up to 50 MHz (1.8 V signaling). */ + status = "okay"; + + ti,needs-special-reset; + vmmc-supply = <&vdd_3v3>; + cap-power-off-card; + keep-power-in-suspend; + bus-width = <4>; + ti,non-removable; + non-removable; + no-1-8-v; + max-frequency = <24000000>; + + #address-cells = <1>; + #size-cells = <0>; + mmc-pwrseq = <&brcmf_pwrseq>; + + brcmf: wifi at 1 { + status = "okay"; + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + + brcm,sd-head-align = <4>; + brcm,sd_head_align = <4>; + brcm,sd_sgentry_align = <512>; + + interrupt-parent = <&gpio3>; + interrupts = <23 IRQ_TYPE_LEVEL_LOW>; + interrupt-names = "host-wake"; + }; +}; + +&usb2_phy1 { + phy-supply = <&ldousb_reg>; +}; + +&usb2_phy2 { + phy-supply = <&ldousb_reg>; +}; + +&usb1 { + status = "okay"; + dr_mode = "otg"; +}; + +&omap_dwc3_1 { + extcon = <&extcon_usb1>; +}; + +&usb2 { + status = "okay"; + dr_mode = "host"; +}; + +&dss { + status = "okay"; + vdda_video-supply = <&vdd_1v8_pll>; +}; + +&hdmi { + status = "okay"; + vdda-supply = <&vdd_1v8_phy_ldo4>; + + port { + hdmi_out: endpoint { + remote-endpoint = <&hdmi_encoder_in>; + }; + }; +}; + +&bandgap { + status = "okay"; +}; + +&mailbox1 { + status = "okay"; +}; + +&mailbox2 { + status = "okay"; +}; + +&mailbox3 { + status = "okay"; +}; + +&mailbox4 { + status = "okay"; +}; + +&mailbox5 { + status = "okay"; +}; + +&mailbox6 { + status = "okay"; +}; + +&mailbox7 { + status = "okay"; +}; + +&mailbox8 { + status = "okay"; +}; + +&mailbox9 { + status = "okay"; +}; + +&mailbox10 { + status = "okay"; +}; + +&mailbox11 { + status = "okay"; +}; + +&mailbox12 { + status = "okay"; +}; + +&mailbox13 { + status = "okay"; +}; + +&cpu_alert0 { + temperature = <55000>; /* milliCelsius */ +}; + +&cpu_crit { + temperature = <85000>; /* milliCelsius */ +}; + +&gpu_crit { + temperature = <85000>; /* milliCelsius */ +}; + +&core_crit { + temperature = <85000>; /* milliCelsius */ +}; + +&dspeve_crit { + temperature = <85000>; /* milliCelsius */ +}; + +&iva_crit { + temperature = <85000>; /* milliCelsius */ +}; + +&sata { + status = "disabled"; +}; + +&sata_phy { + status = "disabled"; +}; + +/* bluetooth */ +&uart6 { + status = "okay"; +}; + +/* cape header stuff */ +&i2c4 { + status = "okay"; + clock-frequency = <100000>; +}; + +&cpu0_opp_table { + opp_slow-500000000 { + opp-shared; + }; +}; diff --git a/arch/arm/dts/dra7.dtsi b/arch/arm/dts/dra7.dtsi index fd1aea0b1b..dda6951539 100644 --- a/arch/arm/dts/dra7.dtsi +++ b/arch/arm/dts/dra7.dtsi @@ -132,7 +132,7 @@ * the moment, just use a fake OCP bus entry to represent the whole bus * hierarchy. */ - ocp { + ocp: ocp { compatible = "ti,dra7-l3-noc", "simple-bus"; #address-cells = <1>; #size-cells = <1>; -- 2.17.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey ` (3 preceding siblings ...) 2019-11-20 22:09 ` [U-Boot] [PATCH 4/5] board: ti: beagleboneai: add dts file Caleb Robey @ 2019-11-20 22:09 ` Caleb Robey 2019-11-21 3:45 ` Lokesh Vutla 4 siblings, 1 reply; 13+ messages in thread From: Caleb Robey @ 2019-11-20 22:09 UTC (permalink / raw) To: u-boot Adding the configurations to the evm_defconfig file Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> --- configs/am57xx_evm_defconfig | 2 +- include/environment/ti/boot.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig index 588e58947d..f59305794c 100644 --- a/configs/am57xx_evm_defconfig +++ b/configs/am57xx_evm_defconfig @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y CONFIG_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_REDUNDAND_ENVIRONMENT=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h index 684a744f31..d6f153c934 100644 --- a/include/environment/ti/boot.h +++ b/include/environment/ti/boot.h @@ -10,7 +10,7 @@ #define __TI_BOOT_H #ifndef CONSOLEDEV -#define CONSOLEDEV "ttyS2" +#define CONSOLEDEV "ttyS0" #endif #define VBMETA_PART_SIZE (64 * 1024) @@ -185,6 +185,8 @@ "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \ "if test $board_name = beagle_x15_revc; then " \ "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \ + "if test $board_name = am5729_beagleboneai; then " \ + "setenv fdtfile am5729-beagleboneai.dtb; fi;" \ "if test $board_name = am572x_idk; then " \ "setenv fdtfile am572x-idk.dtb; fi;" \ "if test $board_name = am574x_idk; then " \ -- 2.17.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-20 22:09 ` [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig Caleb Robey @ 2019-11-21 3:45 ` Lokesh Vutla 2019-11-21 15:12 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Lokesh Vutla @ 2019-11-21 3:45 UTC (permalink / raw) To: u-boot On 21/11/19 3:39 AM, Caleb Robey wrote: > Adding the configurations to the evm_defconfig file > > Signed-off-by: Jason Kridner <jdk@ti.com> > Signed-off-by: Caleb Robey <c-robey@ti.com> > > --- > configs/am57xx_evm_defconfig | 2 +- > include/environment/ti/boot.h | 4 +++- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig > index 588e58947d..f59305794c 100644 > --- a/configs/am57xx_evm_defconfig > +++ b/configs/am57xx_evm_defconfig > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y > CONFIG_OF_CONTROL=y > CONFIG_SPL_OF_CONTROL=y > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" > CONFIG_ENV_IS_IN_MMC=y > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h > index 684a744f31..d6f153c934 100644 > --- a/include/environment/ti/boot.h > +++ b/include/environment/ti/boot.h > @@ -10,7 +10,7 @@ > #define __TI_BOOT_H > > #ifndef CONSOLEDEV > -#define CONSOLEDEV "ttyS2" > +#define CONSOLEDEV "ttyS0" > #endif This will fail kernel to boot when using the default args. Can you try updating this dynamically? Thanks and regards, Lokesh > > #define VBMETA_PART_SIZE (64 * 1024) > @@ -185,6 +185,8 @@ > "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \ > "if test $board_name = beagle_x15_revc; then " \ > "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \ > + "if test $board_name = am5729_beagleboneai; then " \ > + "setenv fdtfile am5729-beagleboneai.dtb; fi;" \ > "if test $board_name = am572x_idk; then " \ > "setenv fdtfile am572x-idk.dtb; fi;" \ > "if test $board_name = am574x_idk; then " \ > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-21 3:45 ` Lokesh Vutla @ 2019-11-21 15:12 ` Tom Rini 2019-11-21 16:00 ` [U-Boot] [EXTERNAL] " Robey, Caleb 0 siblings, 1 reply; 13+ messages in thread From: Tom Rini @ 2019-11-21 15:12 UTC (permalink / raw) To: u-boot On Thu, Nov 21, 2019 at 09:15:03AM +0530, Lokesh Vutla wrote: > > > On 21/11/19 3:39 AM, Caleb Robey wrote: > > Adding the configurations to the evm_defconfig file > > > > Signed-off-by: Jason Kridner <jdk@ti.com> > > Signed-off-by: Caleb Robey <c-robey@ti.com> > > > > --- > > configs/am57xx_evm_defconfig | 2 +- > > include/environment/ti/boot.h | 4 +++- > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig > > index 588e58947d..f59305794c 100644 > > --- a/configs/am57xx_evm_defconfig > > +++ b/configs/am57xx_evm_defconfig > > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y > > CONFIG_OF_CONTROL=y > > CONFIG_SPL_OF_CONTROL=y > > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" > > CONFIG_ENV_IS_IN_MMC=y > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > > diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h > > index 684a744f31..d6f153c934 100644 > > --- a/include/environment/ti/boot.h > > +++ b/include/environment/ti/boot.h > > @@ -10,7 +10,7 @@ > > #define __TI_BOOT_H > > > > #ifndef CONSOLEDEV > > -#define CONSOLEDEV "ttyS2" > > +#define CONSOLEDEV "ttyS0" > > #endif > > This will fail kernel to boot when using the default args. Can you try updating > this dynamically? Yes, am57xx_evm will need to perhaps leverage CONFIG_PREBOOT to run something to dynamically update the console environment variable at run time. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191121/9a700a22/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-21 15:12 ` Tom Rini @ 2019-11-21 16:00 ` Robey, Caleb 2019-11-21 16:34 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Robey, Caleb @ 2019-11-21 16:00 UTC (permalink / raw) To: u-boot > -----Original Message----- > From: Tom Rini [mailto:trini at konsulko.com] > Sent: Thursday, November 21, 2019 9:12 AM > To: Vutla, Lokesh > Cc: Robey, Caleb; u-boot at lists.denx.de; Jason Kridner; Erdahl, Michael; > Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; Stefan Roese; Neil > Armstrong; Masahiro Yamada; Fabio Estevam; Troy Kisky; Rizvi, Mohammad > Faiz Abbas; Dannenberg, Andreas; Hiblot, Jean-Jacques; Heiko Schocher; Joe > Hershberger; Simon Glass; Sam Protsenko; Bajjuri, Praneeth; Ruslan > Trofymenko; Alistair Strachan; Davis, Andrew > Subject: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in > am57xx_evm_defconfig > > On Thu, Nov 21, 2019 at 09:15:03AM +0530, Lokesh Vutla wrote: > > > > > > On 21/11/19 3:39 AM, Caleb Robey wrote: > > > Adding the configurations to the evm_defconfig file > > > > > > Signed-off-by: Jason Kridner <jdk@ti.com> > > > Signed-off-by: Caleb Robey <c-robey@ti.com> > > > > > > --- > > > configs/am57xx_evm_defconfig | 2 +- include/environment/ti/boot.h > > > | 4 +++- > > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/configs/am57xx_evm_defconfig > > > b/configs/am57xx_evm_defconfig index 588e58947d..f59305794c 100644 > > > --- a/configs/am57xx_evm_defconfig > > > +++ b/configs/am57xx_evm_defconfig > > > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y > > > CONFIG_OF_CONTROL=y > > > CONFIG_SPL_OF_CONTROL=y > > > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > > > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > > > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk > am574x-idk" > > > CONFIG_ENV_IS_IN_MMC=y > > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > > > diff --git a/include/environment/ti/boot.h > > > b/include/environment/ti/boot.h index 684a744f31..d6f153c934 100644 > > > --- a/include/environment/ti/boot.h > > > +++ b/include/environment/ti/boot.h > > > @@ -10,7 +10,7 @@ > > > #define __TI_BOOT_H > > > > > > #ifndef CONSOLEDEV > > > -#define CONSOLEDEV "ttyS2" > > > +#define CONSOLEDEV "ttyS0" > > > #endif > > > > This will fail kernel to boot when using the default args. Can you try > > updating this dynamically? > > Yes, am57xx_evm will need to perhaps leverage CONFIG_PREBOOT to run > something to dynamically update the console environment variable at run > time. > This line seems to be working: CONFIG_PREBOOT="if board_name am5729_beagleboneai; then setenv console ttyS0,115200; fi" Any concerns with that? I removed the change from boot.h and tested with the am5729 IDK and beagleboneai board. Everything seems to be working just fine. Best, Caleb > -- > Tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-21 16:00 ` [U-Boot] [EXTERNAL] " Robey, Caleb @ 2019-11-21 16:34 ` Tom Rini 2019-11-21 22:28 ` Robey, Caleb 0 siblings, 1 reply; 13+ messages in thread From: Tom Rini @ 2019-11-21 16:34 UTC (permalink / raw) To: u-boot On Thu, Nov 21, 2019 at 04:00:03PM +0000, Robey, Caleb wrote: > > > > -----Original Message----- > > From: Tom Rini [mailto:trini at konsulko.com] > > Sent: Thursday, November 21, 2019 9:12 AM > > To: Vutla, Lokesh > > Cc: Robey, Caleb; u-boot at lists.denx.de; Jason Kridner; Erdahl, Michael; > > Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; Stefan Roese; Neil > > Armstrong; Masahiro Yamada; Fabio Estevam; Troy Kisky; Rizvi, Mohammad > > Faiz Abbas; Dannenberg, Andreas; Hiblot, Jean-Jacques; Heiko Schocher; Joe > > Hershberger; Simon Glass; Sam Protsenko; Bajjuri, Praneeth; Ruslan > > Trofymenko; Alistair Strachan; Davis, Andrew > > Subject: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in > > am57xx_evm_defconfig > > > > On Thu, Nov 21, 2019 at 09:15:03AM +0530, Lokesh Vutla wrote: > > > > > > > > > On 21/11/19 3:39 AM, Caleb Robey wrote: > > > > Adding the configurations to the evm_defconfig file > > > > > > > > Signed-off-by: Jason Kridner <jdk@ti.com> > > > > Signed-off-by: Caleb Robey <c-robey@ti.com> > > > > > > > > --- > > > > configs/am57xx_evm_defconfig | 2 +- include/environment/ti/boot.h > > > > | 4 +++- > > > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/configs/am57xx_evm_defconfig > > > > b/configs/am57xx_evm_defconfig index 588e58947d..f59305794c 100644 > > > > --- a/configs/am57xx_evm_defconfig > > > > +++ b/configs/am57xx_evm_defconfig > > > > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y > > > > CONFIG_OF_CONTROL=y > > > > CONFIG_SPL_OF_CONTROL=y > > > > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > > > > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > > > > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk > > am574x-idk" > > > > CONFIG_ENV_IS_IN_MMC=y > > > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > > > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > > > > diff --git a/include/environment/ti/boot.h > > > > b/include/environment/ti/boot.h index 684a744f31..d6f153c934 100644 > > > > --- a/include/environment/ti/boot.h > > > > +++ b/include/environment/ti/boot.h > > > > @@ -10,7 +10,7 @@ > > > > #define __TI_BOOT_H > > > > > > > > #ifndef CONSOLEDEV > > > > -#define CONSOLEDEV "ttyS2" > > > > +#define CONSOLEDEV "ttyS0" > > > > #endif > > > > > > This will fail kernel to boot when using the default args. Can you try > > > updating this dynamically? > > > > Yes, am57xx_evm will need to perhaps leverage CONFIG_PREBOOT to run > > something to dynamically update the console environment variable at run > > time. > > > > This line seems to be working: > CONFIG_PREBOOT="if board_name am5729_beagleboneai; then setenv console ttyS0,115200; fi" > > Any concerns with that? I removed the change from boot.h and > tested with the am5729 IDK and beagleboneai board. Everything seems to be working just fine. That literal string? That can't work right, can it? I think you need more like (borrowing from include/environment/ti/boot.h): if test $board_name = am5729_beagleboneai; then setenv console ttyS0,115200; fi -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191121/efb1aeb5/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-21 16:34 ` Tom Rini @ 2019-11-21 22:28 ` Robey, Caleb 2019-11-21 23:07 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Robey, Caleb @ 2019-11-21 22:28 UTC (permalink / raw) To: u-boot > -----Original Message----- > From: Tom Rini [mailto:trini at konsulko.com] > Sent: Thursday, November 21, 2019 10:34 AM > To: Robey, Caleb > Cc: Vutla, Lokesh; u-boot at lists.denx.de; Jason Kridner; Erdahl, Michael; > Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; Stefan Roese; Neil > Armstrong; Masahiro Yamada; Fabio Estevam; Troy Kisky; Rizvi, Mohammad > Faiz Abbas; Dannenberg, Andreas; Hiblot, Jean-Jacques; Heiko Schocher; Joe > Hershberger; Simon Glass; Sam Protsenko; Bajjuri, Praneeth; Ruslan > Trofymenko; Alistair Strachan; Davis, Andrew > Subject: Re: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in > am57xx_evm_defconfig > > On Thu, Nov 21, 2019 at 04:00:03PM +0000, Robey, Caleb wrote: > > > > > > > -----Original Message----- > > > From: Tom Rini [mailto:trini at konsulko.com] > > > Sent: Thursday, November 21, 2019 9:12 AM > > > To: Vutla, Lokesh > > > Cc: Robey, Caleb; u-boot at lists.denx.de; Jason Kridner; Erdahl, > > > Michael; Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; > > > Stefan Roese; Neil Armstrong; Masahiro Yamada; Fabio Estevam; Troy > > > Kisky; Rizvi, Mohammad Faiz Abbas; Dannenberg, Andreas; Hiblot, > > > Jean-Jacques; Heiko Schocher; Joe Hershberger; Simon Glass; Sam > > > Protsenko; Bajjuri, Praneeth; Ruslan Trofymenko; Alistair Strachan; > > > Davis, Andrew > > > Subject: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable > > > in am57xx_evm_defconfig > > > > > > On Thu, Nov 21, 2019 at 09:15:03AM +0530, Lokesh Vutla wrote: > > > > > > > > > > > > On 21/11/19 3:39 AM, Caleb Robey wrote: > > > > > Adding the configurations to the evm_defconfig file > > > > > > > > > > Signed-off-by: Jason Kridner <jdk@ti.com> > > > > > Signed-off-by: Caleb Robey <c-robey@ti.com> > > > > > > > > > > --- > > > > > configs/am57xx_evm_defconfig | 2 +- > > > > > include/environment/ti/boot.h > > > > > | 4 +++- > > > > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > > > > > > > diff --git a/configs/am57xx_evm_defconfig > > > > > b/configs/am57xx_evm_defconfig index 588e58947d..f59305794c > > > > > 100644 > > > > > --- a/configs/am57xx_evm_defconfig > > > > > +++ b/configs/am57xx_evm_defconfig > > > > > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y CONFIG_OF_CONTROL=y > > > > > CONFIG_SPL_OF_CONTROL=y > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > > > > > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > > am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > > > > > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > > am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk > > > am574x-idk" > > > > > CONFIG_ENV_IS_IN_MMC=y > > > > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > > > > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > > > > > diff --git a/include/environment/ti/boot.h > > > > > b/include/environment/ti/boot.h index 684a744f31..d6f153c934 > > > > > 100644 > > > > > --- a/include/environment/ti/boot.h > > > > > +++ b/include/environment/ti/boot.h > > > > > @@ -10,7 +10,7 @@ > > > > > #define __TI_BOOT_H > > > > > > > > > > #ifndef CONSOLEDEV > > > > > -#define CONSOLEDEV "ttyS2" > > > > > +#define CONSOLEDEV "ttyS0" > > > > > #endif > > > > > > > > This will fail kernel to boot when using the default args. Can you > > > > try updating this dynamically? > > > > > > Yes, am57xx_evm will need to perhaps leverage CONFIG_PREBOOT to run > > > something to dynamically update the console environment variable at > > > run time. > > > > > > > This line seems to be working: > > CONFIG_PREBOOT="if board_name am5729_beagleboneai; then setenv > console ttyS0,115200; fi" > > > > Any concerns with that? I removed the change from boot.h and tested > > with the am5729 IDK and beagleboneai board. Everything seems to be > working just fine. > > That literal string? That can't work right, can it? I think you need more like > (borrowing from include/environment/ti/boot.h): > if test $board_name = am5729_beagleboneai; then setenv console > ttyS0,115200; fi You're totally right - I think some default behaviors allowed them to boot. It can be written 'if test $board_name am5729_beagleboneai;" but then that will work. > > -- > Tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig 2019-11-21 22:28 ` Robey, Caleb @ 2019-11-21 23:07 ` Tom Rini 0 siblings, 0 replies; 13+ messages in thread From: Tom Rini @ 2019-11-21 23:07 UTC (permalink / raw) To: u-boot On Thu, Nov 21, 2019 at 10:28:05PM +0000, Robey, Caleb wrote: > > > > -----Original Message----- > > From: Tom Rini [mailto:trini at konsulko.com] > > Sent: Thursday, November 21, 2019 10:34 AM > > To: Robey, Caleb > > Cc: Vutla, Lokesh; u-boot at lists.denx.de; Jason Kridner; Erdahl, Michael; > > Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; Stefan Roese; Neil > > Armstrong; Masahiro Yamada; Fabio Estevam; Troy Kisky; Rizvi, Mohammad > > Faiz Abbas; Dannenberg, Andreas; Hiblot, Jean-Jacques; Heiko Schocher; Joe > > Hershberger; Simon Glass; Sam Protsenko; Bajjuri, Praneeth; Ruslan > > Trofymenko; Alistair Strachan; Davis, Andrew > > Subject: Re: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable in > > am57xx_evm_defconfig > > > > On Thu, Nov 21, 2019 at 04:00:03PM +0000, Robey, Caleb wrote: > > > > > > > > > > -----Original Message----- > > > > From: Tom Rini [mailto:trini at konsulko.com] > > > > Sent: Thursday, November 21, 2019 9:12 AM > > > > To: Vutla, Lokesh > > > > Cc: Robey, Caleb; u-boot at lists.denx.de; Jason Kridner; Erdahl, > > > > Michael; Kridner, Jason; Kever Yang; Jagan Teki; Michal Simek; > > > > Stefan Roese; Neil Armstrong; Masahiro Yamada; Fabio Estevam; Troy > > > > Kisky; Rizvi, Mohammad Faiz Abbas; Dannenberg, Andreas; Hiblot, > > > > Jean-Jacques; Heiko Schocher; Joe Hershberger; Simon Glass; Sam > > > > Protsenko; Bajjuri, Praneeth; Ruslan Trofymenko; Alistair Strachan; > > > > Davis, Andrew > > > > Subject: [EXTERNAL] Re: [PATCH 5/5] board: ti: beagleboneai: enable > > > > in am57xx_evm_defconfig > > > > > > > > On Thu, Nov 21, 2019 at 09:15:03AM +0530, Lokesh Vutla wrote: > > > > > > > > > > > > > > > On 21/11/19 3:39 AM, Caleb Robey wrote: > > > > > > Adding the configurations to the evm_defconfig file > > > > > > > > > > > > Signed-off-by: Jason Kridner <jdk@ti.com> > > > > > > Signed-off-by: Caleb Robey <c-robey@ti.com> > > > > > > > > > > > > --- > > > > > > configs/am57xx_evm_defconfig | 2 +- > > > > > > include/environment/ti/boot.h > > > > > > | 4 +++- > > > > > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > > > > > > > > > diff --git a/configs/am57xx_evm_defconfig > > > > > > b/configs/am57xx_evm_defconfig index 588e58947d..f59305794c > > > > > > 100644 > > > > > > --- a/configs/am57xx_evm_defconfig > > > > > > +++ b/configs/am57xx_evm_defconfig > > > > > > @@ -38,7 +38,7 @@ CONFIG_CMD_BCB=y CONFIG_OF_CONTROL=y > > > > > > CONFIG_SPL_OF_CONTROL=y > > CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" > > > > > > -CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > > > am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" > > > > > > +CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 > > > > am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk > > > > am574x-idk" > > > > > > CONFIG_ENV_IS_IN_MMC=y > > > > > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=y > > > > > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y > > > > > > diff --git a/include/environment/ti/boot.h > > > > > > b/include/environment/ti/boot.h index 684a744f31..d6f153c934 > > > > > > 100644 > > > > > > --- a/include/environment/ti/boot.h > > > > > > +++ b/include/environment/ti/boot.h > > > > > > @@ -10,7 +10,7 @@ > > > > > > #define __TI_BOOT_H > > > > > > > > > > > > #ifndef CONSOLEDEV > > > > > > -#define CONSOLEDEV "ttyS2" > > > > > > +#define CONSOLEDEV "ttyS0" > > > > > > #endif > > > > > > > > > > This will fail kernel to boot when using the default args. Can you > > > > > try updating this dynamically? > > > > > > > > Yes, am57xx_evm will need to perhaps leverage CONFIG_PREBOOT to run > > > > something to dynamically update the console environment variable at > > > > run time. > > > > > > > > > > This line seems to be working: > > > CONFIG_PREBOOT="if board_name am5729_beagleboneai; then setenv > > console ttyS0,115200; fi" > > > > > > Any concerns with that? I removed the change from boot.h and tested > > > with the am5729 IDK and beagleboneai board. Everything seems to be > > working just fine. > > > > That literal string? That can't work right, can it? I think you need more like > > (borrowing from include/environment/ti/boot.h): > > if test $board_name = am5729_beagleboneai; then setenv console > > ttyS0,115200; fi > > You're totally right - I think some default behaviors allowed them to boot. > It can be written 'if test $board_name am5729_beagleboneai;" but then that > will work. Nope, it needs that = too. Doing a sandbox build can be really helpful for testing things like this: => if test $stdin serial;then echo happen;fi happen => if test $stdin foo;then echo happen;fi happen => if test $stdin = foo;then echo happen;fi => if test $stdin = serial;then echo happen;fi happen => -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191121/7235110a/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-11-21 23:07 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-11-20 22:09 [U-Boot] [PATCH 0/5] board: ti: beagleboneai: add initial support Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 1/5] board: ti: beagleboneai: emmc read changes Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 2/5] board: ti: beagleboneai: add initial support Caleb Robey 2019-11-21 3:43 ` Lokesh Vutla 2019-11-20 22:09 ` [U-Boot] [PATCH 3/5] board: ti: beagleboneai: IODELAY and pinmux changes Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 4/5] board: ti: beagleboneai: add dts file Caleb Robey 2019-11-20 22:09 ` [U-Boot] [PATCH 5/5] board: ti: beagleboneai: enable in am57xx_evm_defconfig Caleb Robey 2019-11-21 3:45 ` Lokesh Vutla 2019-11-21 15:12 ` Tom Rini 2019-11-21 16:00 ` [U-Boot] [EXTERNAL] " Robey, Caleb 2019-11-21 16:34 ` Tom Rini 2019-11-21 22:28 ` Robey, Caleb 2019-11-21 23:07 ` Tom Rini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox