mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 22:51:37 +00:00
am335x, guardian: update guardian board
- add BOARD_LATE_INIT function calls in board.c - add swi_status detection in board.c - mux: add guardian interfaces to single pinmux structure - am33xx, kconfig: add BOARD_LATE_INIT for GUARDIAN board Signed-off-by: Moses Christopher <BollavarapuMoses.Christopher@in.bosch.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
92ffd0d9ed
commit
b1476b52b3
3 changed files with 65 additions and 21 deletions
|
@ -89,6 +89,7 @@ config TARGET_AM335X_SHC
|
||||||
|
|
||||||
config TARGET_AM335X_GUARDIAN
|
config TARGET_AM335X_GUARDIAN
|
||||||
bool "Support am335x based guardian board from bosch"
|
bool "Support am335x based guardian board from bosch"
|
||||||
|
select BOARD_LATE_INIT
|
||||||
select DM
|
select DM
|
||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select DM_GPIO
|
select DM_GPIO
|
||||||
|
|
|
@ -172,6 +172,8 @@ void sdram_init(void)
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
{
|
{
|
||||||
|
save_omap_boot_params();
|
||||||
|
|
||||||
#if defined(CONFIG_HW_WATCHDOG)
|
#if defined(CONFIG_HW_WATCHDOG)
|
||||||
hw_watchdog_init();
|
hw_watchdog_init();
|
||||||
#endif
|
#endif
|
||||||
|
@ -183,3 +185,54 @@ int board_init(void)
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_BOARD_LATE_INIT
|
||||||
|
static void set_bootmode_env(void)
|
||||||
|
{
|
||||||
|
char *boot_device_name = NULL;
|
||||||
|
char *boot_mode_gpio = "gpio@44e07000_14";
|
||||||
|
int ret;
|
||||||
|
int value;
|
||||||
|
|
||||||
|
struct gpio_desc boot_mode_desc;
|
||||||
|
|
||||||
|
switch (gd->arch.omap_boot_device) {
|
||||||
|
case BOOT_DEVICE_NAND:
|
||||||
|
boot_device_name = "nand";
|
||||||
|
break;
|
||||||
|
case BOOT_DEVICE_USBETH:
|
||||||
|
boot_device_name = "usbeth";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (boot_device_name)
|
||||||
|
env_set("boot_device", boot_device_name);
|
||||||
|
|
||||||
|
ret = dm_gpio_lookup_name(boot_mode_gpio, &boot_mode_desc);
|
||||||
|
if (ret) {
|
||||||
|
printf("%s is not found\n", boot_mode_gpio);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = dm_gpio_request(&boot_mode_desc, "setup_bootmode_env");
|
||||||
|
if (ret && ret != -EBUSY) {
|
||||||
|
printf("requesting gpio: %s failed\n", boot_mode_gpio);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
value = dm_gpio_get_value(&boot_mode_desc);
|
||||||
|
value ? env_set("swi_status", "0") : env_set("swi_status", "1");
|
||||||
|
return;
|
||||||
|
|
||||||
|
err:
|
||||||
|
env_set("swi_status", "err");
|
||||||
|
}
|
||||||
|
|
||||||
|
int board_late_init(void)
|
||||||
|
{
|
||||||
|
set_bootmode_env();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_BOARD_LATE_INIT */
|
||||||
|
|
|
@ -26,24 +26,16 @@ static struct module_pin_mux i2c0_pin_mux[] = {
|
||||||
{-1},
|
{-1},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct module_pin_mux adc_voltages_en[] = {
|
static struct module_pin_mux guardian_interfaces_pin_mux[] = {
|
||||||
{OFFSET(mcasp0_ahclkx), (MODE(7) | PULLUP_EN)},
|
{OFFSET(mcasp0_ahclkx), (MODE(7) | PULLDOWN_EN)},
|
||||||
{-1},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct module_pin_mux asp_power_en[] = {
|
|
||||||
{OFFSET(mcasp0_aclkx), (MODE(7) | PULLUP_EN)},
|
{OFFSET(mcasp0_aclkx), (MODE(7) | PULLUP_EN)},
|
||||||
{-1},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct module_pin_mux switch_off_3v6_pin_mux[] = {
|
|
||||||
{OFFSET(mii1_txd0), (MODE(7) | PULLUP_EN)},
|
{OFFSET(mii1_txd0), (MODE(7) | PULLUP_EN)},
|
||||||
/*
|
{OFFSET(uart1_rxd), (MODE(7) | RXACTIVE | PULLUDDIS)},
|
||||||
* The uart1 lines are made floating inputs, based on the Guardian
|
|
||||||
* A2 Sample Power Supply Schematics
|
|
||||||
*/
|
|
||||||
{OFFSET(uart1_rxd), (MODE(7) | PULLUDDIS)},
|
|
||||||
{OFFSET(uart1_txd), (MODE(7) | PULLUDDIS)},
|
{OFFSET(uart1_txd), (MODE(7) | PULLUDDIS)},
|
||||||
|
{OFFSET(mii1_crs), (MODE(7) | PULLDOWN_EN)},
|
||||||
|
{OFFSET(rmii1_refclk), (MODE(7) | PULLDOWN_EN)},
|
||||||
|
{OFFSET(mii1_txd3), (MODE(7) | PULLUDDIS)},
|
||||||
|
{OFFSET(mii1_rxdv), (MODE(7) | PULLDOWN_EN)},
|
||||||
{-1},
|
{-1},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,7 +85,5 @@ void enable_board_pin_mux(void)
|
||||||
#ifdef CONFIG_NAND
|
#ifdef CONFIG_NAND
|
||||||
configure_module_pin_mux(nand_pin_mux);
|
configure_module_pin_mux(nand_pin_mux);
|
||||||
#endif
|
#endif
|
||||||
configure_module_pin_mux(adc_voltages_en);
|
configure_module_pin_mux(guardian_interfaces_pin_mux);
|
||||||
configure_module_pin_mux(asp_power_en);
|
|
||||||
configure_module_pin_mux(switch_off_3v6_pin_mux);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue