ARM: dts: stm32: Add alternate pinmux for SDMMC pins on stm32mp15
authorMarek Vasut <marex@denx.de>
Wed, 22 Apr 2020 10:46:00 +0000 (12:46 +0200)
committerAlexandre Torgue <alexandre.torgue@st.com>
Wed, 29 Apr 2020 07:50:19 +0000 (09:50 +0200)
Add another mux option for SDMMC1_D123DIR direction pins, SDMMC2 pins 4..7,
and SDMMC3 pins PD5_SDMMC3_D2 and PD0_SDMMC3_CMD, this is used on AV96 board.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi

index 6fce613..0f9a6b1 100644 (file)
                };
        };
 
+       sdmmc1_dir_pins_b: sdmmc1-dir-1 {
+               pins1 {
+                       pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */
+                                <STM32_PINMUX('E', 14, AF11)>, /* SDMMC1_D123DIR */
+                                <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
+                       slew-rate = <1>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+               pins2{
+                       pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
+                       bias-pull-up;
+               };
+       };
+
+       sdmmc1_dir_sleep_pins_b: sdmmc1-dir-sleep-1 {
+               pins {
+                       pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
+                                <STM32_PINMUX('E', 14, ANALOG)>, /* SDMMC1_D123DIR */
+                                <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
+                                <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
+               };
+       };
+
        sdmmc2_b4_pins_a: sdmmc2-b4-0 {
                pins1 {
                        pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
                };
        };
 
+       sdmmc2_d47_pins_c: sdmmc2-d47-2 {
+               pins {
+                       pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
+                                <STM32_PINMUX('A', 15, AF9)>, /* SDMMC2_D5 */
+                                <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
+                                <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
+                       slew-rate = <1>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+       };
+
+       sdmmc2_d47_sleep_pins_c: sdmmc2-d47-sleep-2 {
+               pins {
+                       pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
+                                <STM32_PINMUX('A', 15, ANALOG)>, /* SDMMC2_D5 */
+                                <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC2_D6 */
+                                <STM32_PINMUX('C', 7, ANALOG)>; /* SDMMC2_D7 */
+               };
+       };
+
        sdmmc3_b4_pins_a: sdmmc3-b4-0 {
                pins1 {
                        pinmux = <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
                };
        };
 
+       sdmmc3_b4_pins_b: sdmmc3-b4-1 {
+               pins1 {
+                       pinmux = <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
+                                <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
+                                <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
+                                <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
+                                <STM32_PINMUX('D', 0, AF10)>; /* SDMMC3_CMD */
+                       slew-rate = <1>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+               pins2 {
+                       pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
+                       slew-rate = <2>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+       };
+
+       sdmmc3_b4_od_pins_b: sdmmc3-b4-od-1 {
+               pins1 {
+                       pinmux = <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
+                                <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
+                                <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
+                                <STM32_PINMUX('D', 7, AF10)>; /* SDMMC3_D3 */
+                       slew-rate = <1>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+               pins2 {
+                       pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
+                       slew-rate = <2>;
+                       drive-push-pull;
+                       bias-pull-up;
+               };
+               pins3 {
+                       pinmux = <STM32_PINMUX('D', 0, AF10)>; /* SDMMC2_CMD */
+                       slew-rate = <1>;
+                       drive-open-drain;
+                       bias-pull-up;
+               };
+       };
+
+       sdmmc3_b4_sleep_pins_b: sdmmc3-b4-sleep-1 {
+               pins {
+                       pinmux = <STM32_PINMUX('F', 0, ANALOG)>, /* SDMMC3_D0 */
+                                <STM32_PINMUX('F', 4, ANALOG)>, /* SDMMC3_D1 */
+                                <STM32_PINMUX('D', 5, ANALOG)>, /* SDMMC3_D2 */
+                                <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
+                                <STM32_PINMUX('G', 15, ANALOG)>, /* SDMMC3_CK */
+                                <STM32_PINMUX('D', 0, ANALOG)>; /* SDMMC3_CMD */
+               };
+       };
+
        spdifrx_pins_a: spdifrx-0 {
                pins {
                        pinmux = <STM32_PINMUX('G', 12, AF8)>; /* SPDIF_IN1 */