
On 03/07/2013 02:13 PM, Tom Warren wrote:
Stephen,
On Thu, Mar 7, 2013 at 1:27 PM, Stephen Warren swarren@wwwdotorg.org wrote:
On 03/06/2013 04:51 PM, Tom Warren wrote:
Pad config registers exist in APB_MISC_GP space, and control slew rate, drive strengh, schmidt, high-speed, and low-power modes for all of the pingroups in Tegra30. This builds off of the pinmux way of constructing init tables to configure select pads (SDIOCFG, for instance) during pinmux_init().
Currently, only SDIO1CFG is changed as per the TRM to work with the SD-card slot on Cardhu.
...
I didn't quite get why there wasn't an SDIO3 entry in that table, since the original pinmux_sdio_pad_cfg() set up both SDIO1 and SDIO3 pin groups, and SDIO3 appears to be used on Cardhu for SDIO-based WiFi.
The previous code did check for SDMMC1 or SDMMC3, but on Cardhu, SDMMC1 is called out in the dts file, and SDMMC3 isn't (you had said earlier when reviewing some Ventana changes that leaving out a SDIO WIFI node was ok as U-Boot wouldn't be using it, so I didn't add it to Cardhu). So the old code would only have called the pad init code for SDMMC1 and SDMMC4, and SDMMC4 would have been rejected since it's not SDIO. So I only added SDIO1 to the table. I can add an entry for SDIO3 (even if it's not in the dts file for Cardhu), since it does no harm to set those pad cfg registers as per the TRM (I assume the TRM is calling out cal numbers that will work with both an SD-card slot and a WIFI device?).
Let me know if you'd like to see either the WIFI node added to the Cardhu DT file, or the SDIO3 entry added to the cardhu_padctrl table, or both.
Ah OK, now I understand. This is fine for now; we can add the extra table entries if we need them. The kernel does set them up for its own use of WiFi.