Enable modem on Pegatron Chagall
According to downstream sources, it looks like the chagall 3G modem is on an internal USB bus, plus needing plenty of initialization pins and a custom driver.
From what I understand, in order to achieve the following I should:
- enable the USB bus first, maybe in "host" mode to see if the modem pops up?
- add regulators for the USB bus and modem power
- add a GPIO hog for all modem pins
- finally, port the device (Huawei MU739) to ModemManager
Is there any other Tegra device with working USB modem in mainline? I see that tilapia had something similar (https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-integrator/+/apq8060-dragonboard-pm8901-stab/arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi#26), but it was never really enabled.
Modem won't be detected if it's powered off. You should use hogs only if you want to disable pins. There are no Tegra devices that have a working modem so far.
Maybe something will work if you will model power such that it will be turned by the PHY, although those modems may require a special reset sequence. Couple days ago I saw patches on ML proposing new subsystem for power sequencer drivers, which could be relevant here. For now you could try to hack something to bring modem up. If you will replicate what downstream driver does in regards to power and reset, then it should start to work.
Hmm, so it needs a dedicated driver.
Something dedicated is needed, but it's unimportant at this point. You should hack code to get it working.
Agreed! Thanks a lot, will try :)
@cunidev I have added hsic mode into tegra-phy driver but was not able yet to get any response form modem.
P.S. Controller detects smth