Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: stm32: use dedicated files to manage stm32mp157 packages

Four packages exist for stm32mp157 die. As ball-out is different between
them, this patch covers those differences by creating dedicated pinctrl
dtsi files. Each dtsi pinctrl package file describes the package ball-out
through gpio-ranges.

stm32mp157a-dk1 / dk2 boards embed a STM32MP_PKG_AC (TFBGA361 (12*12))
package.

stm32mp157c-ed1 / ev1 boards embed a STM32MP_PKG_AA (LFBGA448 (18*18))
package.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>

+306 -2
+12
arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
··· 26 26 st,bank-name = "GPIOA"; 27 27 ngpios = <16>; 28 28 gpio-ranges = <&pinctrl 0 0 16>; 29 + status = "disabled"; 29 30 }; 30 31 31 32 gpiob: gpio@50003000 { ··· 39 38 st,bank-name = "GPIOB"; 40 39 ngpios = <16>; 41 40 gpio-ranges = <&pinctrl 0 16 16>; 41 + status = "disabled"; 42 42 }; 43 43 44 44 gpioc: gpio@50004000 { ··· 52 50 st,bank-name = "GPIOC"; 53 51 ngpios = <16>; 54 52 gpio-ranges = <&pinctrl 0 32 16>; 53 + status = "disabled"; 55 54 }; 56 55 57 56 gpiod: gpio@50005000 { ··· 65 62 st,bank-name = "GPIOD"; 66 63 ngpios = <16>; 67 64 gpio-ranges = <&pinctrl 0 48 16>; 65 + status = "disabled"; 68 66 }; 69 67 70 68 gpioe: gpio@50006000 { ··· 78 74 st,bank-name = "GPIOE"; 79 75 ngpios = <16>; 80 76 gpio-ranges = <&pinctrl 0 64 16>; 77 + status = "disabled"; 81 78 }; 82 79 83 80 gpiof: gpio@50007000 { ··· 91 86 st,bank-name = "GPIOF"; 92 87 ngpios = <16>; 93 88 gpio-ranges = <&pinctrl 0 80 16>; 89 + status = "disabled"; 94 90 }; 95 91 96 92 gpiog: gpio@50008000 { ··· 104 98 st,bank-name = "GPIOG"; 105 99 ngpios = <16>; 106 100 gpio-ranges = <&pinctrl 0 96 16>; 101 + status = "disabled"; 107 102 }; 108 103 109 104 gpioh: gpio@50009000 { ··· 117 110 st,bank-name = "GPIOH"; 118 111 ngpios = <16>; 119 112 gpio-ranges = <&pinctrl 0 112 16>; 113 + status = "disabled"; 120 114 }; 121 115 122 116 gpioi: gpio@5000a000 { ··· 130 122 st,bank-name = "GPIOI"; 131 123 ngpios = <16>; 132 124 gpio-ranges = <&pinctrl 0 128 16>; 125 + status = "disabled"; 133 126 }; 134 127 135 128 gpioj: gpio@5000b000 { ··· 143 134 st,bank-name = "GPIOJ"; 144 135 ngpios = <16>; 145 136 gpio-ranges = <&pinctrl 0 144 16>; 137 + status = "disabled"; 146 138 }; 147 139 148 140 gpiok: gpio@5000c000 { ··· 156 146 st,bank-name = "GPIOK"; 157 147 ngpios = <8>; 158 148 gpio-ranges = <&pinctrl 0 160 8>; 149 + status = "disabled"; 159 150 }; 160 151 161 152 cec_pins_a: cec-0 { ··· 632 621 st,bank-ioport = <11>; 633 622 ngpios = <8>; 634 623 gpio-ranges = <&pinctrl_z 0 400 8>; 624 + status = "disabled"; 635 625 }; 636 626 637 627 i2c4_pins_a: i2c4-0 {
+1 -1
arch/arm/boot/dts/stm32mp157a-dk1.dts
··· 7 7 /dts-v1/; 8 8 9 9 #include "stm32mp157c.dtsi" 10 - #include "stm32mp157-pinctrl.dtsi" 10 + #include "stm32mp157xac-pinctrl.dtsi" 11 11 #include <dt-bindings/gpio/gpio.h> 12 12 #include <dt-bindings/mfd/st,stpmic1.h> 13 13
+1 -1
arch/arm/boot/dts/stm32mp157c-ed1.dts
··· 6 6 /dts-v1/; 7 7 8 8 #include "stm32mp157c.dtsi" 9 - #include "stm32mp157-pinctrl.dtsi" 9 + #include "stm32mp157xaa-pinctrl.dtsi" 10 10 #include <dt-bindings/gpio/gpio.h> 11 11 #include <dt-bindings/mfd/st,stpmic1.h> 12 12
+90
arch/arm/boot/dts/stm32mp157xaa-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4 + * Author: Alexandre Torgue <alexandre.torgue@st.com> 5 + */ 6 + 7 + #include "stm32mp157-pinctrl.dtsi" 8 + / { 9 + soc { 10 + pinctrl: pin-controller@50002000 { 11 + st,package = <STM32MP_PKG_AA>; 12 + 13 + gpioa: gpio@50002000 { 14 + status = "okay"; 15 + ngpios = <16>; 16 + gpio-ranges = <&pinctrl 0 0 16>; 17 + }; 18 + 19 + gpiob: gpio@50003000 { 20 + status = "okay"; 21 + ngpios = <16>; 22 + gpio-ranges = <&pinctrl 0 16 16>; 23 + }; 24 + 25 + gpioc: gpio@50004000 { 26 + status = "okay"; 27 + ngpios = <16>; 28 + gpio-ranges = <&pinctrl 0 32 16>; 29 + }; 30 + 31 + gpiod: gpio@50005000 { 32 + status = "okay"; 33 + ngpios = <16>; 34 + gpio-ranges = <&pinctrl 0 48 16>; 35 + }; 36 + 37 + gpioe: gpio@50006000 { 38 + status = "okay"; 39 + ngpios = <16>; 40 + gpio-ranges = <&pinctrl 0 64 16>; 41 + }; 42 + 43 + gpiof: gpio@50007000 { 44 + status = "okay"; 45 + ngpios = <16>; 46 + gpio-ranges = <&pinctrl 0 80 16>; 47 + }; 48 + 49 + gpiog: gpio@50008000 { 50 + status = "okay"; 51 + ngpios = <16>; 52 + gpio-ranges = <&pinctrl 0 96 16>; 53 + }; 54 + 55 + gpioh: gpio@50009000 { 56 + status = "okay"; 57 + ngpios = <16>; 58 + gpio-ranges = <&pinctrl 0 112 16>; 59 + }; 60 + 61 + gpioi: gpio@5000a000 { 62 + status = "okay"; 63 + ngpios = <16>; 64 + gpio-ranges = <&pinctrl 0 128 16>; 65 + }; 66 + 67 + gpioj: gpio@5000b000 { 68 + status = "okay"; 69 + ngpios = <16>; 70 + gpio-ranges = <&pinctrl 0 144 16>; 71 + }; 72 + 73 + gpiok: gpio@5000c000 { 74 + status = "okay"; 75 + ngpios = <8>; 76 + gpio-ranges = <&pinctrl 0 160 8>; 77 + }; 78 + }; 79 + 80 + pinctrl_z: pin-controller-z@54004000 { 81 + st,package = <STM32MP_PKG_AA>; 82 + 83 + gpioz: gpio@54004000 { 84 + status = "okay"; 85 + ngpios = <8>; 86 + gpio-ranges = <&pinctrl_z 0 400 8>; 87 + }; 88 + }; 89 + }; 90 + };
+62
arch/arm/boot/dts/stm32mp157xab-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4 + * Author: Alexandre Torgue <alexandre.torgue@st.com> 5 + */ 6 + 7 + #include "stm32mp157-pinctrl.dtsi" 8 + / { 9 + soc { 10 + pinctrl: pin-controller@50002000 { 11 + st,package = <STM32MP_PKG_AB>; 12 + 13 + gpioa: gpio@50002000 { 14 + status = "okay"; 15 + ngpios = <16>; 16 + gpio-ranges = <&pinctrl 0 0 16>; 17 + }; 18 + 19 + gpiob: gpio@50003000 { 20 + status = "okay"; 21 + ngpios = <16>; 22 + gpio-ranges = <&pinctrl 0 16 16>; 23 + }; 24 + 25 + gpioc: gpio@50004000 { 26 + status = "okay"; 27 + ngpios = <16>; 28 + gpio-ranges = <&pinctrl 0 32 16>; 29 + }; 30 + 31 + gpiod: gpio@50005000 { 32 + status = "okay"; 33 + ngpios = <16>; 34 + gpio-ranges = <&pinctrl 0 48 16>; 35 + }; 36 + 37 + gpioe: gpio@50006000 { 38 + status = "okay"; 39 + ngpios = <16>; 40 + gpio-ranges = <&pinctrl 0 64 16>; 41 + }; 42 + 43 + gpiof: gpio@50007000 { 44 + status = "okay"; 45 + ngpios = <6>; 46 + gpio-ranges = <&pinctrl 6 86 6>; 47 + }; 48 + 49 + gpiog: gpio@50008000 { 50 + status = "okay"; 51 + ngpios = <10>; 52 + gpio-ranges = <&pinctrl 6 102 10>; 53 + }; 54 + 55 + gpioh: gpio@50009000 { 56 + status = "okay"; 57 + ngpios = <2>; 58 + gpio-ranges = <&pinctrl 0 112 2>; 59 + }; 60 + }; 61 + }; 62 + };
+78
arch/arm/boot/dts/stm32mp157xac-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4 + * Author: Alexandre Torgue <alexandre.torgue@st.com> 5 + */ 6 + 7 + #include "stm32mp157-pinctrl.dtsi" 8 + / { 9 + soc { 10 + pinctrl: pin-controller@50002000 { 11 + st,package = <STM32MP_PKG_AC>; 12 + 13 + gpioa: gpio@50002000 { 14 + status = "okay"; 15 + ngpios = <16>; 16 + gpio-ranges = <&pinctrl 0 0 16>; 17 + }; 18 + 19 + gpiob: gpio@50003000 { 20 + status = "okay"; 21 + ngpios = <16>; 22 + gpio-ranges = <&pinctrl 0 16 16>; 23 + }; 24 + 25 + gpioc: gpio@50004000 { 26 + status = "okay"; 27 + ngpios = <16>; 28 + gpio-ranges = <&pinctrl 0 32 16>; 29 + }; 30 + 31 + gpiod: gpio@50005000 { 32 + status = "okay"; 33 + ngpios = <16>; 34 + gpio-ranges = <&pinctrl 0 48 16>; 35 + }; 36 + 37 + gpioe: gpio@50006000 { 38 + status = "okay"; 39 + ngpios = <16>; 40 + gpio-ranges = <&pinctrl 0 64 16>; 41 + }; 42 + 43 + gpiof: gpio@50007000 { 44 + status = "okay"; 45 + ngpios = <16>; 46 + gpio-ranges = <&pinctrl 0 80 16>; 47 + }; 48 + 49 + gpiog: gpio@50008000 { 50 + status = "okay"; 51 + ngpios = <16>; 52 + gpio-ranges = <&pinctrl 0 96 16>; 53 + }; 54 + 55 + gpioh: gpio@50009000 { 56 + status = "okay"; 57 + ngpios = <16>; 58 + gpio-ranges = <&pinctrl 0 112 16>; 59 + }; 60 + 61 + gpioi: gpio@5000a000 { 62 + status = "okay"; 63 + ngpios = <12>; 64 + gpio-ranges = <&pinctrl 0 128 12>; 65 + }; 66 + }; 67 + 68 + pinctrl_z: pin-controller-z@54004000 { 69 + st,package = <STM32MP_PKG_AC>; 70 + 71 + gpioz: gpio@54004000 { 72 + status = "okay"; 73 + ngpios = <8>; 74 + gpio-ranges = <&pinctrl_z 0 400 8>; 75 + }; 76 + }; 77 + }; 78 + };
+62
arch/arm/boot/dts/stm32mp157xad-pinctrl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4 + * Author: Alexandre Torgue <alexandre.torgue@st.com> 5 + */ 6 + 7 + #include "stm32mp157-pinctrl.dtsi" 8 + / { 9 + soc { 10 + pinctrl: pin-controller@50002000 { 11 + st,package = <STM32MP_PKG_AD>; 12 + 13 + gpioa: gpio@50002000 { 14 + status = "okay"; 15 + ngpios = <16>; 16 + gpio-ranges = <&pinctrl 0 0 16>; 17 + }; 18 + 19 + gpiob: gpio@50003000 { 20 + status = "okay"; 21 + ngpios = <16>; 22 + gpio-ranges = <&pinctrl 0 16 16>; 23 + }; 24 + 25 + gpioc: gpio@50004000 { 26 + status = "okay"; 27 + ngpios = <16>; 28 + gpio-ranges = <&pinctrl 0 32 16>; 29 + }; 30 + 31 + gpiod: gpio@50005000 { 32 + status = "okay"; 33 + ngpios = <16>; 34 + gpio-ranges = <&pinctrl 0 48 16>; 35 + }; 36 + 37 + gpioe: gpio@50006000 { 38 + status = "okay"; 39 + ngpios = <16>; 40 + gpio-ranges = <&pinctrl 0 64 16>; 41 + }; 42 + 43 + gpiof: gpio@50007000 { 44 + status = "okay"; 45 + ngpios = <6>; 46 + gpio-ranges = <&pinctrl 6 86 6>; 47 + }; 48 + 49 + gpiog: gpio@50008000 { 50 + status = "okay"; 51 + ngpios = <10>; 52 + gpio-ranges = <&pinctrl 6 102 10>; 53 + }; 54 + 55 + gpioh: gpio@50009000 { 56 + status = "okay"; 57 + ngpios = <2>; 58 + gpio-ranges = <&pinctrl 0 112 2>; 59 + }; 60 + }; 61 + }; 62 + };