[Linux-stm32] [PATCH 5/5] ARM: dts: stm32: use dedicated files to manage stm32mp157 packages

Alexandre Torgue alexandre.torgue at st.com
Tue May 21 07:48:49 UTC 2019


Hi,

On 4/10/19 1:30 PM, Alexandre Torgue wrote:
> 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.
> 
> Signed-off-by: Alexandre Torgue <alexandre.torgue at st.com>
> 

Applied on stm32-next.

Thanks.
Alex

> diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
> index 9104896..3b4cc3c 100644
> --- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
> +++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
> @@ -26,6 +26,7 @@
>   				st,bank-name = "GPIOA";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 0 16>;
> +				status = "disabled";
>   			};
>   
>   			gpiob: gpio at 50003000 {
> @@ -38,6 +39,7 @@
>   				st,bank-name = "GPIOB";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 16 16>;
> +				status = "disabled";
>   			};
>   
>   			gpioc: gpio at 50004000 {
> @@ -50,6 +52,7 @@
>   				st,bank-name = "GPIOC";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 32 16>;
> +				status = "disabled";
>   			};
>   
>   			gpiod: gpio at 50005000 {
> @@ -62,6 +65,7 @@
>   				st,bank-name = "GPIOD";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 48 16>;
> +				status = "disabled";
>   			};
>   
>   			gpioe: gpio at 50006000 {
> @@ -74,6 +78,7 @@
>   				st,bank-name = "GPIOE";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 64 16>;
> +				status = "disabled";
>   			};
>   
>   			gpiof: gpio at 50007000 {
> @@ -86,6 +91,7 @@
>   				st,bank-name = "GPIOF";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 80 16>;
> +				status = "disabled";
>   			};
>   
>   			gpiog: gpio at 50008000 {
> @@ -98,6 +104,7 @@
>   				st,bank-name = "GPIOG";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 96 16>;
> +				status = "disabled";
>   			};
>   
>   			gpioh: gpio at 50009000 {
> @@ -110,6 +117,7 @@
>   				st,bank-name = "GPIOH";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 112 16>;
> +				status = "disabled";
>   			};
>   
>   			gpioi: gpio at 5000a000 {
> @@ -122,6 +130,7 @@
>   				st,bank-name = "GPIOI";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 128 16>;
> +				status = "disabled";
>   			};
>   
>   			gpioj: gpio at 5000b000 {
> @@ -134,6 +143,7 @@
>   				st,bank-name = "GPIOJ";
>   				ngpios = <16>;
>   				gpio-ranges = <&pinctrl 0 144 16>;
> +				status = "disabled";
>   			};
>   
>   			gpiok: gpio at 5000c000 {
> @@ -146,6 +156,7 @@
>   				st,bank-name = "GPIOK";
>   				ngpios = <8>;
>   				gpio-ranges = <&pinctrl 0 160 8>;
> +				status = "disabled";
>   			};
>   
>   			cec_pins_a: cec-0 {
> @@ -427,6 +438,7 @@
>   				st,bank-ioport = <11>;
>   				ngpios = <8>;
>   				gpio-ranges = <&pinctrl_z 0 400 8>;
> +				status = "disabled";
>   			};
>   
>   			i2c4_pins_a: i2c4-0 {
> diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm32mp157a-dk1.dts
> index 1b1886d..8d60641 100644
> --- a/arch/arm/boot/dts/stm32mp157a-dk1.dts
> +++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts
> @@ -7,7 +7,7 @@
>   /dts-v1/;
>   
>   #include "stm32mp157c.dtsi"
> -#include "stm32mp157-pinctrl.dtsi"
> +#include "stm32mp157xac-pinctrl.dtsi"
>   #include <dt-bindings/gpio/gpio.h>
>   
>   / {
> diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
> index 9fd7943..6ed9d49 100644
> --- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
> @@ -6,7 +6,7 @@
>   /dts-v1/;
>   
>   #include "stm32mp157c.dtsi"
> -#include "stm32mp157-pinctrl.dtsi"
> +#include "stm32mp157xaa-pinctrl.dtsi"
>   #include <dt-bindings/gpio/gpio.h>
>   
>   / {
> diff --git a/arch/arm/boot/dts/stm32mp157xaa-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157xaa-pinctrl.dtsi
> new file mode 100644
> index 0000000..875adf5
> --- /dev/null
> +++ b/arch/arm/boot/dts/stm32mp157xaa-pinctrl.dtsi
> @@ -0,0 +1,90 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> +/*
> + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
> + * Author: Alexandre Torgue <alexandre.torgue at st.com>
> + */
> +
> +#include "stm32mp157-pinctrl.dtsi"
> +/ {
> +	soc {
> +		pinctrl: pin-controller at 50002000 {
> +			st,package = <STM32MP_PKG_AA>;
> +
> +			gpioa: gpio at 50002000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 0 16>;
> +			};
> +
> +			gpiob: gpio at 50003000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 16 16>;
> +			};
> +
> +			gpioc: gpio at 50004000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 32 16>;
> +			};
> +
> +			gpiod: gpio at 50005000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 48 16>;
> +			};
> +
> +			gpioe: gpio at 50006000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 64 16>;
> +			};
> +
> +			gpiof: gpio at 50007000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 80 16>;
> +			};
> +
> +			gpiog: gpio at 50008000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 96 16>;
> +			};
> +
> +			gpioh: gpio at 50009000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 112 16>;
> +			};
> +
> +			gpioi: gpio at 5000a000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 128 16>;
> +			};
> +
> +			gpioj: gpio at 5000b000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 144 16>;
> +			};
> +
> +			gpiok: gpio at 5000c000 {
> +				status = "okay";
> +				ngpios = <8>;
> +				gpio-ranges = <&pinctrl 0 160 8>;
> +			};
> +		};
> +
> +		pinctrl_z: pin-controller-z at 54004000 {
> +			st,package = <STM32MP_PKG_AA>;
> +
> +			gpioz: gpio at 54004000 {
> +				status = "okay";
> +				ngpios = <8>;
> +				gpio-ranges = <&pinctrl_z 0 400 8>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/stm32mp157xab-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157xab-pinctrl.dtsi
> new file mode 100644
> index 0000000..961fa12
> --- /dev/null
> +++ b/arch/arm/boot/dts/stm32mp157xab-pinctrl.dtsi
> @@ -0,0 +1,62 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> +/*
> + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
> + * Author: Alexandre Torgue <alexandre.torgue at st.com>
> + */
> +
> +#include "stm32mp157-pinctrl.dtsi"
> +/ {
> +	soc {
> +		pinctrl: pin-controller at 50002000 {
> +			st,package = <STM32MP_PKG_AB>;
> +
> +			gpioa: gpio at 50002000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 0 16>;
> +			};
> +
> +			gpiob: gpio at 50003000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 16 16>;
> +			};
> +
> +			gpioc: gpio at 50004000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 32 16>;
> +			};
> +
> +			gpiod: gpio at 50005000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 48 16>;
> +			};
> +
> +			gpioe: gpio at 50006000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 64 16>;
> +			};
> +
> +			gpiof: gpio at 50007000 {
> +				status = "okay";
> +				ngpios = <6>;
> +				gpio-ranges = <&pinctrl 6 86 6>;
> +			};
> +
> +			gpiog: gpio at 50008000 {
> +				status = "okay";
> +				ngpios = <10>;
> +				gpio-ranges = <&pinctrl 6 102 10>;
> +			};
> +
> +			gpioh: gpio at 50009000 {
> +				status = "okay";
> +				ngpios = <2>;
> +				gpio-ranges = <&pinctrl 0 112 2>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/stm32mp157xac-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157xac-pinctrl.dtsi
> new file mode 100644
> index 0000000..26600f1
> --- /dev/null
> +++ b/arch/arm/boot/dts/stm32mp157xac-pinctrl.dtsi
> @@ -0,0 +1,78 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> +/*
> + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
> + * Author: Alexandre Torgue <alexandre.torgue at st.com>
> + */
> +
> +#include "stm32mp157-pinctrl.dtsi"
> +/ {
> +	soc {
> +		pinctrl: pin-controller at 50002000 {
> +			st,package = <STM32MP_PKG_AC>;
> +
> +			gpioa: gpio at 50002000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 0 16>;
> +			};
> +
> +			gpiob: gpio at 50003000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 16 16>;
> +			};
> +
> +			gpioc: gpio at 50004000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 32 16>;
> +			};
> +
> +			gpiod: gpio at 50005000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 48 16>;
> +			};
> +
> +			gpioe: gpio at 50006000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 64 16>;
> +			};
> +
> +			gpiof: gpio at 50007000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 80 16>;
> +			};
> +
> +			gpiog: gpio at 50008000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 96 16>;
> +			};
> +
> +			gpioh: gpio at 50009000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 112 16>;
> +			};
> +
> +			gpioi: gpio at 5000a000 {
> +				status = "okay";
> +				ngpios = <12>;
> +				gpio-ranges = <&pinctrl 0 128 12>;
> +			};
> +		};
> +
> +		pinctrl_z: pin-controller-z at 54004000 {
> +			st,package = <STM32MP_PKG_AC>;
> +
> +			gpioz: gpio at 54004000 {
> +				status = "okay";
> +				ngpios = <8>;
> +				gpio-ranges = <&pinctrl_z 0 400 8>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/stm32mp157xad-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157xad-pinctrl.dtsi
> new file mode 100644
> index 0000000..910113f
> --- /dev/null
> +++ b/arch/arm/boot/dts/stm32mp157xad-pinctrl.dtsi
> @@ -0,0 +1,62 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
> +/*
> + * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
> + * Author: Alexandre Torgue <alexandre.torgue at st.com>
> + */
> +
> +#include "stm32mp157-pinctrl.dtsi"
> +/ {
> +	soc {
> +		pinctrl: pin-controller at 50002000 {
> +			st,package = <STM32MP_PKG_AD>;
> +
> +			gpioa: gpio at 50002000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 0 16>;
> +			};
> +
> +			gpiob: gpio at 50003000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 16 16>;
> +			};
> +
> +			gpioc: gpio at 50004000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 32 16>;
> +			};
> +
> +			gpiod: gpio at 50005000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 48 16>;
> +			};
> +
> +			gpioe: gpio at 50006000 {
> +				status = "okay";
> +				ngpios = <16>;
> +				gpio-ranges = <&pinctrl 0 64 16>;
> +			};
> +
> +			gpiof: gpio at 50007000 {
> +				status = "okay";
> +				ngpios = <6>;
> +				gpio-ranges = <&pinctrl 6 86 6>;
> +			};
> +
> +			gpiog: gpio at 50008000 {
> +				status = "okay";
> +				ngpios = <10>;
> +				gpio-ranges = <&pinctrl 6 102 10>;
> +			};
> +
> +			gpioh: gpio at 50009000 {
> +				status = "okay";
> +				ngpios = <2>;
> +				gpio-ranges = <&pinctrl 0 112 2>;
> +			};
> +		};
> +	};
> +};
> 



More information about the Linux-stm32 mailing list