nmhw21: don't power up GSM modem at startup
BugzID: 57459
This commit is contained in:
parent
ccb5de587f
commit
5c5c0b98fe
|
|
@ -704,41 +704,47 @@ static void init_gsm(void)
|
|||
/*
|
||||
* Perform power up sequence for TOBY-L2 modem.
|
||||
*
|
||||
* Modem is initially disabled and does not start automatically.
|
||||
* Enable power and start modem by "pressing" POWER_ON_OFF input for 1.0s.
|
||||
* TOBY-L2 series can be switched on in one of the following ways:
|
||||
* - Rising edge on the VCC pin to a valid voltage for module supply,
|
||||
* i.e. applying module supply
|
||||
* - Low level on the PWR_ON pin, which is normally set high by an
|
||||
* internal pull-up, for a valid time period when the applied VCC
|
||||
* voltage is within the valid operating range (see section 4.2.8).
|
||||
* - Low level on the RESET_N pin, which is normally set high by an
|
||||
* internal pull-up, for a valid time period when the applied VCC
|
||||
* voltage is within the valid operating range (see section 4.2.9).
|
||||
*
|
||||
* PWR_ON low time: 5 ms - Low time to switch-on the module
|
||||
* RESET_N low time: 18..800 ms - Low time to switch-on the module
|
||||
* 2.1..15 s - Low time to reset the module
|
||||
* 16 s - Low time to switch-off the module
|
||||
*
|
||||
* References:
|
||||
* - uBlox TOBY-L2 Datasheet UBX-13004573 - R24
|
||||
* 2.3.1 Module power-on
|
||||
* 4.2.8 PWR_ON pin
|
||||
* 4.2.9 RESET_N pin
|
||||
*
|
||||
* Functionality:
|
||||
* - Leave GSM power enable as is (default at power up = off)
|
||||
* - Set reset line inactive (note: inverter logic in HW present)
|
||||
* - Leave button unpressed (note: inverter logic in HW present)
|
||||
* - Modem shall be enabled by Linux system by enabling GSM power
|
||||
* supply
|
||||
*/
|
||||
|
||||
bus = da9063_claim_i2c_bus();
|
||||
|
||||
puts("GSM: ");
|
||||
|
||||
/* TODO: Keep Power-On and use GSM Modem Reset Signal to restart */
|
||||
REQUEST_AND_CLEAR_GPIO(GPIO_RST_GSM); /* Set reset inactive (active high) */
|
||||
REQUEST_AND_CLEAR_GPIO(GPIO_PWR_GSM); /* Set power switch inactive/released (active high) */
|
||||
|
||||
REQUEST_AND_SET_GPIO(GPIO_RST_GSM); /* Assert reset (active high) */
|
||||
REQUEST_AND_CLEAR_GPIO(GPIO_PWR_GSM); /* Keep power switch inactive (released) */
|
||||
|
||||
da9063_set_gpio(PMIC_GSM_SUPPLY_EN_IO, 0); /* Switch GSM Supply off */
|
||||
mdelay(30+100); /* Give time to discharge supply */
|
||||
/* Keep of for 100ms, #3.3.2 */
|
||||
|
||||
da9063_set_gpio(PMIC_GSM_SUPPLY_EN_IO, 1); /* Enable GSM supply */
|
||||
mdelay(10);
|
||||
|
||||
gpio_set_value(GPIO_RST_GSM, 0); /* Take modem out of reset */
|
||||
|
||||
puts("ready\n");
|
||||
|
||||
da9063_release_i2c_bus(bus);
|
||||
puts("init\n");
|
||||
}
|
||||
|
||||
static void init_gnss(void)
|
||||
{
|
||||
/*
|
||||
* Release GNSS reset line, so that modem starts up early
|
||||
* Release GNSS reset line, so that module starts up early
|
||||
*/
|
||||
REQUEST_AND_SET_GPIO(GPIO_RST_GNSS);
|
||||
}
|
||||
|
|
@ -1349,7 +1355,7 @@ int ft_board_setup(void *blob, bd_t *bd)
|
|||
{
|
||||
ft_bootloader_version(blob);
|
||||
ft_hw_info(blob);
|
||||
ft_user_interface(blob);
|
||||
ft_user_interface(blob);
|
||||
ft_user_module(blob);
|
||||
ft_eth(blob);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue