[PATCH v7 2/3] arm64: dts: armada: add pwm offsets for ap/cp gpios

Gregory CLEMENT gregory.clement at bootlin.com
Fri Jan 29 10:55:10 EST 2021


Hi Baruch,

> The 'marvell,pwm-offset' property of both GPIO blocks (per CP component)
> point to the same counter registers offset. The driver will decide how
> to use counters A/B.
>
> This is different from the convention of pwm on earlier Armada series
> (370/38x). On those systems the assignment of A/B counters to GPIO
> blocks is coded in both DT and the driver. The actual behaviour of the
> current driver on Armada 8K/7K is the same as earlier systems.
>
> Add also clock properties for base pwm frequency reference.
>
> Signed-off-by: Baruch Siach <baruch at tkos.co.il>

Applied on mvebu/dt64

Thanks,

Gregory

> ---
>  arch/arm64/boot/dts/marvell/armada-ap80x.dtsi |  3 +++
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 10 ++++++++++
>  2 files changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
> index 12e477f1aeb9..6614472100c2 100644
> --- a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
> @@ -281,6 +281,9 @@ ap_gpio: gpio at 1040 {
>  					gpio-controller;
>  					#gpio-cells = <2>;
>  					gpio-ranges = <&ap_pinctrl 0 0 20>;
> +					marvell,pwm-offset = <0x10c0>;
> +					#pwm-cells = <2>;
> +					clocks = <&ap_clk 3>;
>  				};
>  			};
>  
> diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
> index 994a2fce449a..d774a39334d9 100644
> --- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
> @@ -234,12 +234,17 @@ CP11X_LABEL(gpio1): gpio at 100 {
>  				gpio-controller;
>  				#gpio-cells = <2>;
>  				gpio-ranges = <&CP11X_LABEL(pinctrl) 0 0 32>;
> +				marvell,pwm-offset = <0x1f0>;
> +				#pwm-cells = <2>;
>  				interrupt-controller;
>  				interrupts = <86 IRQ_TYPE_LEVEL_HIGH>,
>  					<85 IRQ_TYPE_LEVEL_HIGH>,
>  					<84 IRQ_TYPE_LEVEL_HIGH>,
>  					<83 IRQ_TYPE_LEVEL_HIGH>;
>  				#interrupt-cells = <2>;
> +				clock-names = "core", "axi";
> +				clocks = <&CP11X_LABEL(clk) 1 21>,
> +					 <&CP11X_LABEL(clk) 1 17>;
>  				status = "disabled";
>  			};
>  
> @@ -250,12 +255,17 @@ CP11X_LABEL(gpio2): gpio at 140 {
>  				gpio-controller;
>  				#gpio-cells = <2>;
>  				gpio-ranges = <&CP11X_LABEL(pinctrl) 0 32 31>;
> +				marvell,pwm-offset = <0x1f0>;
> +				#pwm-cells = <2>;
>  				interrupt-controller;
>  				interrupts = <82 IRQ_TYPE_LEVEL_HIGH>,
>  					<81 IRQ_TYPE_LEVEL_HIGH>,
>  					<80 IRQ_TYPE_LEVEL_HIGH>,
>  					<79 IRQ_TYPE_LEVEL_HIGH>;
>  				#interrupt-cells = <2>;
> +				clock-names = "core", "axi";
> +				clocks = <&CP11X_LABEL(clk) 1 21>,
> +					 <&CP11X_LABEL(clk) 1 17>;
>  				status = "disabled";
>  			};
>  		};
> -- 
> 2.29.2
>

-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com



More information about the linux-arm-kernel mailing list