ARM: dts: stm32: split sdram pin & timing parameter into specific board dts
authordillon min <dillon.minfei@gmail.com>
Fri, 9 Apr 2021 07:28:40 +0000 (15:28 +0800)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 9 Apr 2021 09:53:00 +0000 (11:53 +0200)
As different boards has their own sdram hw connection, mount different
sdram modules, so move sdram timing parameter and pin configuration
to their board device tree.

Signed-off-by: dillon min <dillon.minfei@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/dts/stm32h7-u-boot.dtsi
arch/arm/dts/stm32h743i-disco-u-boot.dtsi
arch/arm/dts/stm32h743i-eval-u-boot.dtsi

index 54dd406..84dc765 100644 (file)
@@ -20,6 +20,7 @@
                gpio9 = &gpioj;
                gpio10 = &gpiok;
                mmc0 = &sdmmc1;
+               pinctrl0 = &pinctrl;
        };
 
        soc {
                        pinctrl-0 = <&fmc_pins>;
                        pinctrl-names = "default";
                        status = "okay";
-
-                       /*
-                        * Memory configuration from sdram datasheet IS42S32800G-6BLI
-                        * first bank is bank@0
-                        * second bank is bank@1
-                        */
-                       bank1: bank@1 {
-                               st,sdram-control = /bits/ 8 <NO_COL_9
-                                                            NO_ROW_12
-                                                            MWIDTH_32
-                                                            BANKS_4
-                                                            CAS_2
-                                                            SDCLK_3
-                                                            RD_BURST_EN
-                                                            RD_PIPE_DL_0>;
-                               st,sdram-timing = /bits/ 8 <TMRD_1
-                                                           TXSR_1
-                                                           TRAS_1
-                                                           TRC_6
-                                                           TRP_2
-                                                           TWR_1
-                                                           TRCD_1>;
-                               st,sdram-refcount = <1539>;
-                       };
                };
        };
 };
        compatible = "st,stm32-gpio";
 };
 
-&pinctrl {
-       fmc_pins: fmc@0 {
-               pins {
-                       pinmux = <STM32_PINMUX('D', 0, AF12)>,
-                                <STM32_PINMUX('D', 1, AF12)>,
-                                <STM32_PINMUX('D', 8, AF12)>,
-                                <STM32_PINMUX('D', 9, AF12)>,
-                                <STM32_PINMUX('D',10, AF12)>,
-                                <STM32_PINMUX('D',14, AF12)>,
-                                <STM32_PINMUX('D',15, AF12)>,
-
-                                <STM32_PINMUX('E', 0, AF12)>,
-                                <STM32_PINMUX('E', 1, AF12)>,
-                                <STM32_PINMUX('E', 7, AF12)>,
-                                <STM32_PINMUX('E', 8, AF12)>,
-                                <STM32_PINMUX('E', 9, AF12)>,
-                                <STM32_PINMUX('E',10, AF12)>,
-                                <STM32_PINMUX('E',11, AF12)>,
-                                <STM32_PINMUX('E',12, AF12)>,
-                                <STM32_PINMUX('E',13, AF12)>,
-                                <STM32_PINMUX('E',14, AF12)>,
-                                <STM32_PINMUX('E',15, AF12)>,
-
-                                <STM32_PINMUX('F', 0, AF12)>,
-                                <STM32_PINMUX('F', 1, AF12)>,
-                                <STM32_PINMUX('F', 2, AF12)>,
-                                <STM32_PINMUX('F', 3, AF12)>,
-                                <STM32_PINMUX('F', 4, AF12)>,
-                                <STM32_PINMUX('F', 5, AF12)>,
-                                <STM32_PINMUX('F',11, AF12)>,
-                                <STM32_PINMUX('F',12, AF12)>,
-                                <STM32_PINMUX('F',13, AF12)>,
-                                <STM32_PINMUX('F',14, AF12)>,
-                                <STM32_PINMUX('F',15, AF12)>,
-
-                                <STM32_PINMUX('G', 0, AF12)>,
-                                <STM32_PINMUX('G', 1, AF12)>,
-                                <STM32_PINMUX('G', 2, AF12)>,
-                                <STM32_PINMUX('G', 4, AF12)>,
-                                <STM32_PINMUX('G', 5, AF12)>,
-                                <STM32_PINMUX('G', 8, AF12)>,
-                                <STM32_PINMUX('G',15, AF12)>,
-
-                                <STM32_PINMUX('H', 5, AF12)>,
-                                <STM32_PINMUX('H', 6, AF12)>,
-                                <STM32_PINMUX('H', 7, AF12)>,
-                                <STM32_PINMUX('H', 8, AF12)>,
-                                <STM32_PINMUX('H', 9, AF12)>,
-                                <STM32_PINMUX('H',10, AF12)>,
-                                <STM32_PINMUX('H',11, AF12)>,
-                                <STM32_PINMUX('H',12, AF12)>,
-                                <STM32_PINMUX('H',13, AF12)>,
-                                <STM32_PINMUX('H',14, AF12)>,
-                                <STM32_PINMUX('H',15, AF12)>,
-
-                                <STM32_PINMUX('I', 0, AF12)>,
-                                <STM32_PINMUX('I', 1, AF12)>,
-                                <STM32_PINMUX('I', 2, AF12)>,
-                                <STM32_PINMUX('I', 3, AF12)>,
-                                <STM32_PINMUX('I', 4, AF12)>,
-                                <STM32_PINMUX('I', 5, AF12)>,
-                                <STM32_PINMUX('I', 6, AF12)>,
-                                <STM32_PINMUX('I', 7, AF12)>,
-                                <STM32_PINMUX('I', 9, AF12)>,
-                                <STM32_PINMUX('I',10, AF12)>;
-
-                       slew-rate = <3>;
-               };
-       };
-};
-
 &pwrcfg {
        u-boot,dm-pre-reloc;
 };
 &timer5 {
        u-boot,dm-pre-reloc;
 };
+
+&pinctrl {
+       u-boot,dm-pre-reloc;
+};
index 5965afc..02e28c6 100644 (file)
@@ -1,3 +1,101 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include <stm32h7-u-boot.dtsi>
+
+&fmc {
+
+       /*
+        * Memory configuration from sdram datasheet IS42S32800G-6BLI
+        * first bank is bank@0
+        * second bank is bank@1
+        */
+       bank1: bank@1 {
+               st,sdram-control = /bits/ 8 <NO_COL_9
+                                            NO_ROW_12
+                                            MWIDTH_32
+                                            BANKS_4
+                                            CAS_2
+                                            SDCLK_3
+                                            RD_BURST_EN
+                                            RD_PIPE_DL_0>;
+               st,sdram-timing = /bits/ 8 <TMRD_1
+                                           TXSR_1
+                                           TRAS_1
+                                           TRC_6
+                                           TRP_2
+                                           TWR_1
+                                           TRCD_1>;
+               st,sdram-refcount = <1539>;
+       };
+};
+
+&pinctrl {
+       fmc_pins: fmc@0 {
+               pins {
+                       pinmux = <STM32_PINMUX('D', 0, AF12)>,
+                                <STM32_PINMUX('D', 1, AF12)>,
+                                <STM32_PINMUX('D', 8, AF12)>,
+                                <STM32_PINMUX('D', 9, AF12)>,
+                                <STM32_PINMUX('D',10, AF12)>,
+                                <STM32_PINMUX('D',14, AF12)>,
+                                <STM32_PINMUX('D',15, AF12)>,
+
+                                <STM32_PINMUX('E', 0, AF12)>,
+                                <STM32_PINMUX('E', 1, AF12)>,
+                                <STM32_PINMUX('E', 7, AF12)>,
+                                <STM32_PINMUX('E', 8, AF12)>,
+                                <STM32_PINMUX('E', 9, AF12)>,
+                                <STM32_PINMUX('E',10, AF12)>,
+                                <STM32_PINMUX('E',11, AF12)>,
+                                <STM32_PINMUX('E',12, AF12)>,
+                                <STM32_PINMUX('E',13, AF12)>,
+                                <STM32_PINMUX('E',14, AF12)>,
+                                <STM32_PINMUX('E',15, AF12)>,
+
+                                <STM32_PINMUX('F', 0, AF12)>,
+                                <STM32_PINMUX('F', 1, AF12)>,
+                                <STM32_PINMUX('F', 2, AF12)>,
+                                <STM32_PINMUX('F', 3, AF12)>,
+                                <STM32_PINMUX('F', 4, AF12)>,
+                                <STM32_PINMUX('F', 5, AF12)>,
+                                <STM32_PINMUX('F',11, AF12)>,
+                                <STM32_PINMUX('F',12, AF12)>,
+                                <STM32_PINMUX('F',13, AF12)>,
+                                <STM32_PINMUX('F',14, AF12)>,
+                                <STM32_PINMUX('F',15, AF12)>,
+
+                                <STM32_PINMUX('G', 0, AF12)>,
+                                <STM32_PINMUX('G', 1, AF12)>,
+                                <STM32_PINMUX('G', 2, AF12)>,
+                                <STM32_PINMUX('G', 4, AF12)>,
+                                <STM32_PINMUX('G', 5, AF12)>,
+                                <STM32_PINMUX('G', 8, AF12)>,
+                                <STM32_PINMUX('G',15, AF12)>,
+
+                                <STM32_PINMUX('H', 5, AF12)>,
+                                <STM32_PINMUX('H', 6, AF12)>,
+                                <STM32_PINMUX('H', 7, AF12)>,
+                                <STM32_PINMUX('H', 8, AF12)>,
+                                <STM32_PINMUX('H', 9, AF12)>,
+                                <STM32_PINMUX('H',10, AF12)>,
+                                <STM32_PINMUX('H',11, AF12)>,
+                                <STM32_PINMUX('H',12, AF12)>,
+                                <STM32_PINMUX('H',13, AF12)>,
+                                <STM32_PINMUX('H',14, AF12)>,
+                                <STM32_PINMUX('H',15, AF12)>,
+
+                                <STM32_PINMUX('I', 0, AF12)>,
+                                <STM32_PINMUX('I', 1, AF12)>,
+                                <STM32_PINMUX('I', 2, AF12)>,
+                                <STM32_PINMUX('I', 3, AF12)>,
+                                <STM32_PINMUX('I', 4, AF12)>,
+                                <STM32_PINMUX('I', 5, AF12)>,
+                                <STM32_PINMUX('I', 6, AF12)>,
+                                <STM32_PINMUX('I', 7, AF12)>,
+                                <STM32_PINMUX('I', 9, AF12)>,
+                                <STM32_PINMUX('I',10, AF12)>;
+
+                       slew-rate = <3>;
+               };
+       };
+};
index 5965afc..02e28c6 100644 (file)
@@ -1,3 +1,101 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include <stm32h7-u-boot.dtsi>
+
+&fmc {
+
+       /*
+        * Memory configuration from sdram datasheet IS42S32800G-6BLI
+        * first bank is bank@0
+        * second bank is bank@1
+        */
+       bank1: bank@1 {
+               st,sdram-control = /bits/ 8 <NO_COL_9
+                                            NO_ROW_12
+                                            MWIDTH_32
+                                            BANKS_4
+                                            CAS_2
+                                            SDCLK_3
+                                            RD_BURST_EN
+                                            RD_PIPE_DL_0>;
+               st,sdram-timing = /bits/ 8 <TMRD_1
+                                           TXSR_1
+                                           TRAS_1
+                                           TRC_6
+                                           TRP_2
+                                           TWR_1
+                                           TRCD_1>;
+               st,sdram-refcount = <1539>;
+       };
+};
+
+&pinctrl {
+       fmc_pins: fmc@0 {
+               pins {
+                       pinmux = <STM32_PINMUX('D', 0, AF12)>,
+                                <STM32_PINMUX('D', 1, AF12)>,
+                                <STM32_PINMUX('D', 8, AF12)>,
+                                <STM32_PINMUX('D', 9, AF12)>,
+                                <STM32_PINMUX('D',10, AF12)>,
+                                <STM32_PINMUX('D',14, AF12)>,
+                                <STM32_PINMUX('D',15, AF12)>,
+
+                                <STM32_PINMUX('E', 0, AF12)>,
+                                <STM32_PINMUX('E', 1, AF12)>,
+                                <STM32_PINMUX('E', 7, AF12)>,
+                                <STM32_PINMUX('E', 8, AF12)>,
+                                <STM32_PINMUX('E', 9, AF12)>,
+                                <STM32_PINMUX('E',10, AF12)>,
+                                <STM32_PINMUX('E',11, AF12)>,
+                                <STM32_PINMUX('E',12, AF12)>,
+                                <STM32_PINMUX('E',13, AF12)>,
+                                <STM32_PINMUX('E',14, AF12)>,
+                                <STM32_PINMUX('E',15, AF12)>,
+
+                                <STM32_PINMUX('F', 0, AF12)>,
+                                <STM32_PINMUX('F', 1, AF12)>,
+                                <STM32_PINMUX('F', 2, AF12)>,
+                                <STM32_PINMUX('F', 3, AF12)>,
+                                <STM32_PINMUX('F', 4, AF12)>,
+                                <STM32_PINMUX('F', 5, AF12)>,
+                                <STM32_PINMUX('F',11, AF12)>,
+                                <STM32_PINMUX('F',12, AF12)>,
+                                <STM32_PINMUX('F',13, AF12)>,
+                                <STM32_PINMUX('F',14, AF12)>,
+                                <STM32_PINMUX('F',15, AF12)>,
+
+                                <STM32_PINMUX('G', 0, AF12)>,
+                                <STM32_PINMUX('G', 1, AF12)>,
+                                <STM32_PINMUX('G', 2, AF12)>,
+                                <STM32_PINMUX('G', 4, AF12)>,
+                                <STM32_PINMUX('G', 5, AF12)>,
+                                <STM32_PINMUX('G', 8, AF12)>,
+                                <STM32_PINMUX('G',15, AF12)>,
+
+                                <STM32_PINMUX('H', 5, AF12)>,
+                                <STM32_PINMUX('H', 6, AF12)>,
+                                <STM32_PINMUX('H', 7, AF12)>,
+                                <STM32_PINMUX('H', 8, AF12)>,
+                                <STM32_PINMUX('H', 9, AF12)>,
+                                <STM32_PINMUX('H',10, AF12)>,
+                                <STM32_PINMUX('H',11, AF12)>,
+                                <STM32_PINMUX('H',12, AF12)>,
+                                <STM32_PINMUX('H',13, AF12)>,
+                                <STM32_PINMUX('H',14, AF12)>,
+                                <STM32_PINMUX('H',15, AF12)>,
+
+                                <STM32_PINMUX('I', 0, AF12)>,
+                                <STM32_PINMUX('I', 1, AF12)>,
+                                <STM32_PINMUX('I', 2, AF12)>,
+                                <STM32_PINMUX('I', 3, AF12)>,
+                                <STM32_PINMUX('I', 4, AF12)>,
+                                <STM32_PINMUX('I', 5, AF12)>,
+                                <STM32_PINMUX('I', 6, AF12)>,
+                                <STM32_PINMUX('I', 7, AF12)>,
+                                <STM32_PINMUX('I', 9, AF12)>,
+                                <STM32_PINMUX('I',10, AF12)>;
+
+                       slew-rate = <3>;
+               };
+       };
+};