Compare commits
2 Commits
2016.05-am
...
rfe420663-
| Author | SHA1 | Date |
|---|---|---|
|
|
3a82e018ea | |
|
|
250b26288e |
|
|
@ -794,6 +794,29 @@ static void init_bd_spl(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void power_um(void)
|
||||||
|
{
|
||||||
|
int bus;
|
||||||
|
|
||||||
|
da9063_init(CONFIG_PMIC_I2C_BUS);
|
||||||
|
|
||||||
|
bus = da9063_claim_i2c_bus();
|
||||||
|
|
||||||
|
REQUEST_AND_CLEAR_GPIO(GPIO_RST_UM_N); /* Assert reset (active low) */
|
||||||
|
REQUEST_AND_CLEAR_GPIO(GPIO_CTRL_WDIS_N);
|
||||||
|
|
||||||
|
da9063_set_gpio(PMIC_UM_SUPPLY_EN_IO, 0); /* Switch Supply off */
|
||||||
|
mdelay(30); /* Give time to discharge output */
|
||||||
|
|
||||||
|
da9063_set_gpio(PMIC_UM_SUPPLY_VSEL_IO, 0); /* Set voltage to 3.3V */
|
||||||
|
mdelay(1);
|
||||||
|
|
||||||
|
da9063_set_gpio(PMIC_UM_SUPPLY_EN_IO, 1); /* Enable Supply */
|
||||||
|
mdelay(10);
|
||||||
|
|
||||||
|
da9063_release_i2c_bus(bus);
|
||||||
|
}
|
||||||
|
|
||||||
void am33xx_spl_board_init(void)
|
void am33xx_spl_board_init(void)
|
||||||
{
|
{
|
||||||
/* Set CPU speed to 600 MHz (fix) */
|
/* Set CPU speed to 600 MHz (fix) */
|
||||||
|
|
@ -805,6 +828,9 @@ void am33xx_spl_board_init(void)
|
||||||
/* Configure both I2C buses used */
|
/* Configure both I2C buses used */
|
||||||
init_i2c();
|
init_i2c();
|
||||||
|
|
||||||
|
/* Power on Extension/User module, so it doesn't block I2C bus */
|
||||||
|
power_um();
|
||||||
|
|
||||||
/* Get board descriptor */
|
/* Get board descriptor */
|
||||||
init_bd_spl();
|
init_bd_spl();
|
||||||
|
|
||||||
|
|
@ -1052,17 +1078,7 @@ static void init_user_module(void)
|
||||||
puts("UM: ");
|
puts("UM: ");
|
||||||
|
|
||||||
REQUEST_AND_CLEAR_GPIO(GPIO_RST_UM_N); /* Assert reset (active low) */
|
REQUEST_AND_CLEAR_GPIO(GPIO_RST_UM_N); /* Assert reset (active low) */
|
||||||
REQUEST_AND_CLEAR_GPIO(GPIO_CTRL_WDIS_N) /* TODO: CHECK */
|
REQUEST_AND_CLEAR_GPIO(GPIO_CTRL_WDIS_N);
|
||||||
|
|
||||||
/* TODO: Should this be done at first power up as well? */
|
|
||||||
da9063_set_gpio(PMIC_UM_SUPPLY_EN_IO, 0); /* Switch Supply off */
|
|
||||||
mdelay(30); /* Give time to discharge output */
|
|
||||||
|
|
||||||
da9063_set_gpio(PMIC_UM_SUPPLY_VSEL_IO, 0); /* Set voltage to 3.3V */
|
|
||||||
mdelay(1);
|
|
||||||
|
|
||||||
da9063_set_gpio(PMIC_UM_SUPPLY_EN_IO, 1); /* Enable Supply */
|
|
||||||
mdelay(10);
|
|
||||||
|
|
||||||
gpio_direction_input(GPIO_RST_UM_N); /* Release reset (open drain) */
|
gpio_direction_input(GPIO_RST_UM_N); /* Release reset (open drain) */
|
||||||
mdelay(10);
|
mdelay(10);
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ static struct module_pin_mux gpio_pin_mux[] = {
|
||||||
* (T16) GPIO1_26: WLAN_EN
|
* (T16) GPIO1_26: WLAN_EN
|
||||||
* (V17) GPIO1_27: WLAN_IRQ
|
* (V17) GPIO1_27: WLAN_IRQ
|
||||||
*
|
*
|
||||||
* (U3) GPIO2_16: TIMEPULSE (HW26)
|
* (U3) GPIO2_16: TIMEPULSE (HW26), see note [1]
|
||||||
* (R6) GPIO2_25: RST_ETH~
|
* (R6) GPIO2_25: RST_ETH~
|
||||||
*
|
*
|
||||||
* (J17) GPIO3_4: GNSS_EXTINT
|
* (J17) GPIO3_4: GNSS_EXTINT
|
||||||
|
|
@ -46,6 +46,9 @@ static struct module_pin_mux gpio_pin_mux[] = {
|
||||||
* (L18) GPIO3_10: CTRL.RST
|
* (L18) GPIO3_10: CTRL.RST
|
||||||
* (C12) GPIO3_17: UI_RST~
|
* (C12) GPIO3_17: UI_RST~
|
||||||
* (A14) GPIO3_21: RST_HUB~ (USB)
|
* (A14) GPIO3_21: RST_HUB~ (USB)
|
||||||
|
*
|
||||||
|
* [1] No PU/PD allowed as TIMEPULSE is internally connected with SAFEBOOT_N.
|
||||||
|
* SAFEBOOT_N must be left open/floating.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Bank 0 */
|
/* Bank 0 */
|
||||||
|
|
@ -65,7 +68,7 @@ static struct module_pin_mux gpio_pin_mux[] = {
|
||||||
{OFFSET(gpmc_a11), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (V17) gpio1_27: WLAN_IRQ */
|
{OFFSET(gpmc_a11), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (V17) gpio1_27: WLAN_IRQ */
|
||||||
|
|
||||||
/* Bank 2 */
|
/* Bank 2 */
|
||||||
{OFFSET(lcd_data10), (MODE(7) | PULLUDEN | PULLDOWN_EN | RXACTIVE)}, /* (U3) GPIO2_16: TIMEPULSE input */
|
{OFFSET(lcd_data10), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (U3) GPIO2_16: TIMEPULSE */
|
||||||
{OFFSET(lcd_ac_bias_en), (MODE(7) | PULLUDDIS)}, /* (R6) GPIO2_25: RST_ETH~ */
|
{OFFSET(lcd_ac_bias_en), (MODE(7) | PULLUDDIS)}, /* (R6) GPIO2_25: RST_ETH~ */
|
||||||
|
|
||||||
/* Bank 3 */
|
/* Bank 3 */
|
||||||
|
|
@ -215,8 +218,8 @@ static struct module_pin_mux uart2_pin_mux[] = {
|
||||||
|
|
||||||
/* UART3: GNSS */
|
/* UART3: GNSS */
|
||||||
static struct module_pin_mux uart3_pin_mux[] = {
|
static struct module_pin_mux uart3_pin_mux[] = {
|
||||||
{OFFSET(mii1_rxd3), (MODE(1) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (L17) UART3_RXD */
|
{OFFSET(mii1_rxd3), (MODE(1) | PULLUDDIS | RXACTIVE)}, /* (L17) UART3_RXD */
|
||||||
{OFFSET(mii1_rxd2), (MODE(1) | PULLUDEN | PULLUP_EN | SLEWCTRL)}, /* (L16) UART3_TXD */
|
{OFFSET(mii1_rxd2), (MODE(1) | PULLUDDIS | SLEWCTRL)}, /* (L16) UART3_TXD */
|
||||||
{-1}
|
{-1}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue