[PATCH 3/8] arm64: dts: imx8mm: Correct interrupt flags in examples

Krzysztof Kozlowski krzk at kernel.org
Wed Sep 9 04:34:34 EDT 2020


On Tue, Sep 08, 2020 at 05:02:36PM +0200, Krzysztof Kozlowski wrote:
> GPIO_ACTIVE_x flags are not correct in the context of interrupt flags.
> These are simple defines so they could be used in DTS but they will not
> have the same meaning:
> 1. GPIO_ACTIVE_HIGH = 0 = IRQ_TYPE_NONE
> 2. GPIO_ACTIVE_LOW  = 1 = IRQ_TYPE_EDGE_RISING
> 
> Correct the interrupt flags, assuming the author of the code wanted some
> logical behavior behind the name "ACTIVE_xxx", this is:
>   ACTIVE_LOW  => IRQ_TYPE_LEVEL_LOW
>   ACTIVE_HIGH => IRQ_TYPE_LEVEL_HIGH
> 
> Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi      | 2 +-
>  arch/arm64/boot/dts/freescale/imx8mm-evk.dts              | 2 +-
>  arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts | 2 +-
>  arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi         | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
> index 620a124dfb5f..fdce665d7ac4 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
> @@ -74,7 +74,7 @@
>  		reg = <0x4b>;
>  		pinctrl-0 = <&pinctrl_pmic>;
>  		interrupt-parent = <&gpio1>;
> -		interrupts = <3 GPIO_ACTIVE_LOW>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

All rohm,bd71847 PMIC interrupts should be rather EDGE_FALLING.  Some of
the boards do not have external pull ups and most of the boards do not
configure internal pull up.  Level low would cause the interrupt line to
stay low all the time.

Best regards,
Krzysztof

>  		rohm,reset-snvs-powered;
>  
>  		regulators {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> index 38134d201eef..609d73e19fee 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> @@ -166,7 +166,7 @@
>  		reg = <0x4b>;
>  		pinctrl-0 = <&pinctrl_pmic>;
>  		interrupt-parent = <&gpio1>;
> -		interrupts = <3 GPIO_ACTIVE_LOW>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>  		rohm,reset-snvs-powered;
>  
>  		regulators {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> index 0bca737964d5..b84d94e10c26 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> @@ -133,7 +133,7 @@
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_captouch>;
>  		interrupt-parent = <&gpio5>;
> -		interrupts = <4 GPIO_ACTIVE_HIGH>;
> +		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
>  
>  		touchscreen-size-x = <800>;
>  		touchscreen-size-y = <480>;
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> index c371cb34b3f7..49743d2f60c1 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> @@ -137,7 +137,7 @@
>  		reg = <0x4b>;
>  		pinctrl-0 = <&pinctrl_pmic>;
>  		interrupt-parent = <&gpio2>;
> -		interrupts = <8 GPIO_ACTIVE_LOW>;
> +		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
>  		rohm,reset-snvs-powered;
>  
>  		regulators {
> -- 
> 2.17.1
> 



More information about the linux-arm-kernel mailing list