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.
|
* Perform power up sequence for TOBY-L2 modem.
|
||||||
*
|
*
|
||||||
* Modem is initially disabled and does not start automatically.
|
* TOBY-L2 series can be switched on in one of the following ways:
|
||||||
* Enable power and start modem by "pressing" POWER_ON_OFF input for 1.0s.
|
* - 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:
|
* References:
|
||||||
* - uBlox TOBY-L2 Datasheet UBX-13004573 - R24
|
* - uBlox TOBY-L2 Datasheet UBX-13004573 - R24
|
||||||
* 2.3.1 Module power-on
|
* 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: ");
|
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) */
|
puts("init\n");
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_gnss(void)
|
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);
|
REQUEST_AND_SET_GPIO(GPIO_RST_GNSS);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue