arm64: tegra: Add SDMMC auto-calibration settings
authorSowjanya Komatineni <skomatineni@nvidia.com>
Thu, 10 Jan 2019 22:46:02 +0000 (14:46 -0800)
committerThierry Reding <treding@nvidia.com>
Thu, 7 Feb 2019 18:03:57 +0000 (19:03 +0100)
Add SDMMC initial pad offsets used by auto calibration process.

Add SDMMC fixed drive strengths for Tegra210, Tegra186 and
Tegra194 which are used when calibration timeouts.

Fixed drive strengths are based on Pre SI Analysis of the pads.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm64/boot/dts/nvidia/tegra186.dtsi
arch/arm64/boot/dts/nvidia/tegra194.dtsi
arch/arm64/boot/dts/nvidia/tegra210.dtsi

index 22815db..169aee5 100644 (file)
                nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
                nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
                nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
+               nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
+               nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
                nvidia,default-tap = <0x5>;
                nvidia,default-trim = <0x9>;
                nvidia,dqs-trim = <63>;
index 607b5bd..99eaf9b 100644 (file)
                        clock-names = "sdhci";
                        resets = <&bpmp TEGRA194_RESET_SDMMC1>;
                        reset-names = "sdhci";
+                       nvidia,pad-autocal-pull-up-offset-3v3-timeout =
+                                                                       <0x07>;
+                       nvidia,pad-autocal-pull-down-offset-3v3-timeout =
+                                                                       <0x07>;
+                       nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
+                       nvidia,pad-autocal-pull-down-offset-1v8-timeout =
+                                                                       <0x07>;
+                       nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
+                       nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
+                       nvidia,default-tap = <0x9>;
+                       nvidia,default-trim = <0x5>;
                        status = "disabled";
                };
 
                        clock-names = "sdhci";
                        resets = <&bpmp TEGRA194_RESET_SDMMC3>;
                        reset-names = "sdhci";
+                       nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
+                       nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
+                       nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
+                       nvidia,pad-autocal-pull-down-offset-3v3-timeout =
+                                                                       <0x07>;
+                       nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
+                       nvidia,pad-autocal-pull-down-offset-1v8-timeout =
+                                                                       <0x07>;
+                       nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
+                       nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
+                       nvidia,default-tap = <0x9>;
+                       nvidia,default-trim = <0x5>;
                        status = "disabled";
                };
 
                        clock-names = "sdhci";
                        resets = <&bpmp TEGRA194_RESET_SDMMC4>;
                        reset-names = "sdhci";
+                       nvidia,pad-autocal-pull-up-offset-hs400 = <0x00>;
+                       nvidia,pad-autocal-pull-down-offset-hs400 = <0x00>;
+                       nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
+                       nvidia,pad-autocal-pull-down-offset-1v8-timeout =
+                                                                       <0x0a>;
+                       nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
+                       nvidia,pad-autocal-pull-down-offset-3v3-timeout =
+                                                                       <0x0a>;
+                       nvidia,default-tap = <0x8>;
+                       nvidia,default-trim = <0x14>;
+                       nvidia,dqs-trim = <40>;
                        status = "disabled";
                };
 
index b5858b5..ef2725f 100644 (file)
                compatible = "nvidia,tegra210-pinmux";
                reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
                      <0x0 0x70003000 0x0 0x294>; /* Mux registers */
+               sdmmc1_3v3_drv: sdmmc1-3v3-drv {
+                       sdmmc1 {
+                               nvidia,pins = "drive_sdmmc1";
+                               nvidia,pull-down-strength = <0x8>;
+                               nvidia,pull-up-strength = <0x8>;
+                       };
+               };
+               sdmmc1_1v8_drv: sdmmc1-1v8-drv {
+                       sdmmc1 {
+                               nvidia,pins = "drive_sdmmc1";
+                               nvidia,pull-down-strength = <0x4>;
+                               nvidia,pull-up-strength = <0x3>;
+                       };
+               };
+               sdmmc2_1v8_drv: sdmmc2-1v8-drv {
+                       sdmmc2 {
+                               nvidia,pins = "drive_sdmmc2";
+                               nvidia,pull-down-strength = <0x10>;
+                               nvidia,pull-up-strength = <0x10>;
+                       };
+               };
+               sdmmc3_3v3_drv: sdmmc3-3v3-drv {
+                       sdmmc3 {
+                               nvidia,pins = "drive_sdmmc3";
+                               nvidia,pull-down-strength = <0x8>;
+                               nvidia,pull-up-strength = <0x8>;
+                       };
+               };
+               sdmmc3_1v8_drv: sdmmc3-1v8-drv {
+                       sdmmc3 {
+                               nvidia,pins = "drive_sdmmc3";
+                               nvidia,pull-down-strength = <0x4>;
+                               nvidia,pull-up-strength = <0x3>;
+                       };
+               };
+               sdmmc4_1v8_drv: sdmmc4-1v8-drv {
+                       sdmmc4 {
+                               nvidia,pins = "drive_sdmmc4";
+                               nvidia,pull-down-strength = <0x10>;
+                               nvidia,pull-up-strength = <0x10>;
+                       };
+               };
        };
 
        /*
                clock-names = "sdhci";
                resets = <&tegra_car 14>;
                reset-names = "sdhci";
-               pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
+               pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
+                               "sdmmc-3v3-drv", "sdmmc-1v8-drv";
                pinctrl-0 = <&sdmmc1_3v3>;
                pinctrl-1 = <&sdmmc1_1v8>;
+               pinctrl-2 = <&sdmmc1_3v3_drv>;
+               pinctrl-3 = <&sdmmc1_1v8_drv>;
                nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
                nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
                nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
                clock-names = "sdhci";
                resets = <&tegra_car 9>;
                reset-names = "sdhci";
+               pinctrl-names = "sdmmc-1v8-drv";
+               pinctrl-0 = <&sdmmc2_1v8_drv>;
                nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
                nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
                nvidia,default-tap = <0x8>;
                clock-names = "sdhci";
                resets = <&tegra_car 69>;
                reset-names = "sdhci";
-               pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
+               pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
+                               "sdmmc-3v3-drv", "sdmmc-1v8-drv";
                pinctrl-0 = <&sdmmc3_3v3>;
                pinctrl-1 = <&sdmmc3_1v8>;
+               pinctrl-2 = <&sdmmc3_3v3_drv>;
+               pinctrl-3 = <&sdmmc3_1v8_drv>;
                nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
                nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
                nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
                clock-names = "sdhci";
                resets = <&tegra_car 15>;
                reset-names = "sdhci";
+               pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv";
+               pinctrl-0 = <&sdmmc4_1v8_drv>;
+               pinctrl-1 = <&sdmmc4_1v8_drv>;
                nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
                nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
                nvidia,default-tap = <0x8>;