]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
drivers: pinctrl: Update ZynqMP pin control driver
authorRajan Vaja <rajan.vaja@xilinx.com>
Fri, 23 Feb 2018 13:31:13 +0000 (05:31 -0800)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 23 Apr 2018 06:57:39 +0000 (08:57 +0200)
Replace existng pin control driver with a new version
of ZyqnMP pin control driver. This driver queries pin
information from firmware and registers pin control
accordingly instead of using hard coded pin info.

New pin control driver creates group name from function name
by adding postfix so some group names are different than existing
group names. Deprecate old pin control driver and its DT bindings
and use new pin control DT binding in device tree.

Signed-off-by: Rajan Vaja <rajanv@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts
arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts
arch/arm/dts/zynqmp-zc1751-xm019-dc5.dts
arch/arm/dts/zynqmp-zcu100-revC.dts
arch/arm/dts/zynqmp-zcu102-revA.dts
arch/arm/dts/zynqmp-zcu104-revA.dts
arch/arm/dts/zynqmp-zcu104-revC.dts
arch/arm/dts/zynqmp-zcu106-revA.dts
arch/arm/dts/zynqmp-zcu111-revA.dts
arch/arm/dts/zynqmp.dtsi

index 8601b3b156db7ca16f7a6b8935bf83b5c865589c..142c0a4692ac4a1d50c93b1eabd1ce5bd69ba464 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        function = "sdio0_cd";
                };
 
                conf-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-wp {
-                       groups = "sdio0_0_wp_grp";
+                       groups = "sdio0_wp_0_grp";
                        function = "sdio0_wp";
                };
 
                conf-wp {
-                       groups = "sdio0_0_wp_grp";
+                       groups = "sdio0_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        function = "sdio1_wp";
                };
 
                conf-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index 5b9903b4e4d78ecdc1865c833e7703e0229a4d7b..79535c3d8061f305b24abbe761a556b07617cade 100644 (file)
                };
 
                mux-ce {
-                       groups = "nand0_0_ce_grp";
+                       groups = "nand0_ce_0_grp";
                        function = "nand0_ce";
                };
 
                conf-ce {
-                       groups = "nand0_0_ce_grp";
+                       groups = "nand0_ce_0_grp";
                        bias-pull-up;
                };
 
                mux-rb {
-                       groups = "nand0_0_rb_grp";
+                       groups = "nand0_rb_0_grp";
                        function = "nand0_rb";
                };
 
                conf-rb {
-                       groups = "nand0_0_rb_grp";
+                       groups = "nand0_rb_0_grp";
                        bias-pull-up;
                };
 
                mux-dqs {
-                       groups = "nand0_0_dqs_grp";
+                       groups = "nand0_dqs_0_grp";
                        function = "nand0_dqs";
                };
 
                conf-dqs {
-                       groups = "nand0_0_dqs_grp";
+                       groups = "nand0_dqs_0_grp";
                        bias-pull-up;
                };
        };
                };
 
                mux-cs {
-                       groups = "spi0_0_ss0_grp", "spi0_0_ss1_grp",
-                                                       "spi0_0_ss2_grp";
+                       groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
+                                                       "spi0_ss_2_grp";
                        function = "spi0_ss";
                };
 
                conf-cs {
-                       groups = "spi0_0_ss0_grp", "spi0_0_ss1_grp",
-                                                       "spi0_0_ss2_grp";
+                       groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
+                                                       "spi0_ss_2_grp";
                        bias-disable;
                };
        };
                };
 
                mux-cs {
-                       groups = "spi1_3_ss0_grp", "spi1_3_ss1_grp",
-                                                       "spi1_3_ss2_grp";
+                       groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
+                                                       "spi1_ss_11_grp";
                        function = "spi1_ss";
                };
 
                conf-cs {
-                       groups = "spi1_3_ss0_grp", "spi1_3_ss1_grp",
-                                                       "spi1_3_ss2_grp";
+                       groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
+                                                       "spi1_ss_11_grp";
                        bias-disable;
                };
        };
index c33cb981b02c10e8db4e0eaebcba770417b85373..7d9d1af57b62e0939dbc6f31eae58fc18f4068c0 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        function = "sdio0_cd";
                };
 
                conf-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-wp {
-                       groups = "sdio0_0_wp_grp";
+                       groups = "sdio0_wp_0_grp";
                        function = "sdio0_wp";
                };
 
                conf-wp {
-                       groups = "sdio0_0_wp_grp";
+                       groups = "sdio0_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
 
        pinctrl_watchdog0_default: watchdog0-default {
                mux-clk {
-                       groups = "swdt0_1_clk_grp";
+                       groups = "swdt0_clk_1_grp";
                        function = "swdt0_clk";
                };
 
                conf-clk {
-                       groups = "swdt0_1_clk_grp";
+                       groups = "swdt0_clk_1_grp";
                        bias-pull-up;
                };
 
                mux-rst {
-                       groups = "swdt0_1_rst_grp";
+                       groups = "swdt0_rst_1_grp";
                        function = "swdt0_rst";
                };
 
                conf-rst {
-                       groups = "swdt0_1_rst_grp";
+                       groups = "swdt0_rst_1_grp";
                        bias-disable;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
        pinctrl_ttc0_default: ttc0-default {
                mux-clk {
-                       groups = "ttc0_0_clk_grp";
+                       groups = "ttc0_clk_0_grp";
                        function = "ttc0_clk";
                };
 
                conf-clk {
-                       groups = "ttc0_0_clk_grp";
+                       groups = "ttc0_clk_0_grp";
                        bias-pull-up;
                };
 
                mux-wav {
-                       groups = "ttc0_0_wav_grp";
+                       groups = "ttc0_wav_0_grp";
                        function = "ttc0_wav";
                };
 
                conf-wav {
-                       groups = "ttc0_0_wav_grp";
+                       groups = "ttc0_wav_0_grp";
                        bias-disable;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
        pinctrl_ttc1_default: ttc1-default {
                mux-clk {
-                       groups = "ttc1_0_clk_grp";
+                       groups = "ttc1_clk_0_grp";
                        function = "ttc1_clk";
                };
 
                conf-clk {
-                       groups = "ttc1_0_clk_grp";
+                       groups = "ttc1_clk_0_grp";
                        bias-pull-up;
                };
 
                mux-wav {
-                       groups = "ttc1_0_wav_grp";
+                       groups = "ttc1_wav_0_grp";
                        function = "ttc1_wav";
                };
 
                conf-wav {
-                       groups = "ttc1_0_wav_grp";
+                       groups = "ttc1_wav_0_grp";
                        bias-disable;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
        pinctrl_ttc2_default: ttc2-default {
                mux-clk {
-                       groups = "ttc2_0_clk_grp";
+                       groups = "ttc2_clk_0_grp";
                        function = "ttc2_clk";
                };
 
                conf-clk {
-                       groups = "ttc2_0_clk_grp";
+                       groups = "ttc2_clk_0_grp";
                        bias-pull-up;
                };
 
                mux-wav {
-                       groups = "ttc2_0_wav_grp";
+                       groups = "ttc2_wav_0_grp";
                        function = "ttc2_wav";
                };
 
                conf-wav {
-                       groups = "ttc2_0_wav_grp";
+                       groups = "ttc2_wav_0_grp";
                        bias-disable;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
        pinctrl_ttc3_default: ttc3-default {
                mux-clk {
-                       groups = "ttc3_0_clk_grp";
+                       groups = "ttc3_clk_0_grp";
                        function = "ttc3_clk";
                };
 
                conf-clk {
-                       groups = "ttc3_0_clk_grp";
+                       groups = "ttc3_clk_0_grp";
                        bias-pull-up;
                };
 
                mux-wav {
-                       groups = "ttc3_0_wav_grp";
+                       groups = "ttc3_wav_0_grp";
                        function = "ttc3_wav";
                };
 
                conf-wav {
-                       groups = "ttc3_0_wav_grp";
+                       groups = "ttc3_wav_0_grp";
                        bias-disable;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
index 5c146699aa288b02e908c710dcbf703095870cd5..6d69fb5d7c85abf5f28ff88e2c7ba3a4e16edbc5 100644 (file)
 
        pinctrl_sdhci0_default: sdhci0-default {
                mux {
-                       groups = "sdio0_4bit_0_0_grp";
+                       groups = "sdio0_3_grp";
                        function = "sdio0";
                };
 
                conf {
-                       groups = "sdio0_4bit_0_0_grp";
+                       groups = "sdio0_3_grp";
                        slew-rate = <SLEW_RATE_SLOW>;
                        io-standard = <IO_STANDARD_LVCMOS18>;
                        bias-disable;
                };
 
                mux-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        function = "sdio0_cd";
                };
 
                conf-cd {
-                       groups = "sdio0_0_cd_grp";
+                       groups = "sdio0_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
 
        pinctrl_sdhci1_default: sdhci1-default {
                mux {
-                       groups = "sdio1_4bit_0_1_grp";
+                       groups = "sdio1_2_grp";
                        function = "sdio1";
                };
 
                conf {
-                       groups = "sdio1_4bit_0_1_grp";
+                       groups = "sdio1_2_grp";
                        slew-rate = <SLEW_RATE_SLOW>;
                        io-standard = <IO_STANDARD_LVCMOS18>;
                        bias-disable;
                };
 
                mux-cs {
-                       groups = "spi0_3_ss0_grp";
+                       groups = "spi0_ss_9_grp";
                        function = "spi0_ss";
                };
 
                conf-cs {
-                       groups = "spi0_3_ss0_grp";
+                       groups = "spi0_ss_9_grp";
                        bias-disable;
                };
 
                };
 
                mux-cs {
-                       groups = "spi1_0_ss0_grp";
+                       groups = "spi1_ss_0_grp";
                        function = "spi1_ss";
                };
 
                conf-cs {
-                       groups = "spi1_0_ss0_grp";
+                       groups = "spi1_ss_0_grp";
                        bias-disable;
                };
 
index 5cbff57f65e16cb000279d2e14bea5cd3f214f36..259ab949d9f515d9151ce3e2e92b4e09b2fee08b 100644 (file)
@@ -767,12 +767,12 @@ drivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751)  += max20751.o
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
@@ -780,12 +780,12 @@ drivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751)  += max20751.o
                };
 
                mux-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        function = "sdio1_wp";
                };
 
                conf-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index 1924983a0f7460db81c9649bb78c1b631a9e469f..8932d424753512c408350b2d81444250058f37fa 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index 3f98c37b9ebec3c76e478c6e937e51f512913d20..d43770c835b8414e210724a59cdb2873602c3c36 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index e524fd5acd7b63a9e7a5af4b1c1123095b678c71..eb51e0b5937ee6ad537004d4e798eabae7a694dc 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        function = "sdio1_wp";
                };
 
                conf-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index f5c74e3f68ea416780bf81a7a20526907c10e3c4..293bcacdafaa48fd47236e49d882bec3fc3a835c 100644 (file)
                };
 
                mux-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        function = "sdio1_cd";
                };
 
                conf-cd {
-                       groups = "sdio1_0_cd_grp";
+                       groups = "sdio1_cd_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
                };
 
                mux-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        function = "sdio1_wp";
                };
 
                conf-wp {
-                       groups = "sdio1_0_wp_grp";
+                       groups = "sdio1_wp_0_grp";
                        bias-high-impedance;
                        bias-pull-up;
                        slew-rate = <SLEW_RATE_SLOW>;
index a82e2bccc14a9d6eaa529f48b12ebdfd5dfb7541..973295d5a68a37b1b0ae1f86edb5d05d2f70f7cf 100644 (file)
                u-boot,dm-pre-reloc;
        };
 
+       pinctrl0: pinctrl {
+               compatible = "xlnx,zynqmp-pinctrl";
+               status = "disabled";
+       };
+
        power-domains {
                compatible = "xlnx,zynqmp-genpd";
 
                        nvmem-cell-names = "soc_revision";
                };
 
-               pinctrl0: pinctrl@ff180000 {
-                       compatible = "xlnx,pinctrl-zynqmp";
-                       status = "disabled";
-                       reg = <0x0 0xff180000 0x0 0x1000>;
-               };
-
                smmu: smmu@fd800000 {
                        compatible = "arm,mmu-500";
                        reg = <0x0 0xfd800000 0x0 0x20000>;