From c3c78b0aeb6d2c8a3fe276c2ebdb69382993b73f Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Wed, 12 Dec 2018 21:02:22 +0000 Subject: [PATCH] arm64: allwinner: Add DTSO for pwm and r_pwm Those are both dtso (overlays) for the two pwm controllers found on the A64. --- sys/dts/arm64/overlays/sun50i-a64-pwm.dtso | 52 +++++++++++++++++++++ sys/dts/arm64/overlays/sun50i-a64-rpwm.dtso | 52 +++++++++++++++++++++ sys/modules/dtb/allwinner/Makefile | 2 + 3 files changed, 106 insertions(+) create mode 100644 sys/dts/arm64/overlays/sun50i-a64-pwm.dtso create mode 100644 sys/dts/arm64/overlays/sun50i-a64-rpwm.dtso diff --git a/sys/dts/arm64/overlays/sun50i-a64-pwm.dtso b/sys/dts/arm64/overlays/sun50i-a64-pwm.dtso new file mode 100644 index 00000000000..2b1592014d0 --- /dev/null +++ b/sys/dts/arm64/overlays/sun50i-a64-pwm.dtso @@ -0,0 +1,52 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + pwm: pwm@1c21400 { + compatible = "allwinner,sun50i-a64-pwm", + "allwinner,sun5i-a13-pwm"; + reg = <0x01c21400 0x400>; + clocks = <&osc24M>; + pinctrl-names = "default"; + pinctrl-0 = <&pwm_pin>; + #pwm-cells = <3>; + status = "disabled"; + }; +}; + +&{/soc/pinctrl@1c20800} { + pwm_pin: pwm_pin { + pins = "PD22"; + function = "pwm"; + }; +}; +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + pwm: pwm@1c21400 { + compatible = "allwinner,sun50i-a64-pwm", + "allwinner,sun5i-a13-pwm"; + reg = <0x01c21400 0x400>; + clocks = <&osc24M>; + pinctrl-names = "default"; + pinctrl-0 = <&pwm_pin>; + #pwm-cells = <3>; + status = "disabled"; + }; +}; + +&{/soc/pinctrl@1c20800} { + pwm_pin: pwm_pin { + pins = "PD22"; + function = "pwm"; + }; +}; diff --git a/sys/dts/arm64/overlays/sun50i-a64-rpwm.dtso b/sys/dts/arm64/overlays/sun50i-a64-rpwm.dtso new file mode 100644 index 00000000000..8d6a8033e45 --- /dev/null +++ b/sys/dts/arm64/overlays/sun50i-a64-rpwm.dtso @@ -0,0 +1,52 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + r_pwm: pwm@1f03800 { + compatible = "allwinner,sun50i-a64-pwm", + "allwinner,sun5i-a13-pwm"; + reg = <0x01f03800 0x400>; + clocks = <&osc24M>; + pinctrl-names = "default"; + pinctrl-0 = <&r_pwm_pin>; + #pwm-cells = <3>; + status = "okay"; + }; +}; + +&{/soc/pinctrl@1f02c00} { + r_pwm_pin: pwm { + pins = "PL10"; + function = "s_pwm"; + }; +}; +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun50i-a64"; +}; + +&{/soc} { + r_pwm: pwm@1f03800 { + compatible = "allwinner,sun50i-a64-pwm", + "allwinner,sun5i-a13-pwm"; + reg = <0x01f03800 0x400>; + clocks = <&osc24M>; + pinctrl-names = "default"; + pinctrl-0 = <&r_pwm_pin>; + #pwm-cells = <3>; + status = "okay"; + }; +}; + +&{/soc/pinctrl@1f02c00} { + r_pwm_pin: pwm { + pins = "PL10"; + function = "s_pwm"; + }; +}; diff --git a/sys/modules/dtb/allwinner/Makefile b/sys/modules/dtb/allwinner/Makefile index 86277c1da3e..afa19ef5851 100644 --- a/sys/modules/dtb/allwinner/Makefile +++ b/sys/modules/dtb/allwinner/Makefile @@ -45,6 +45,8 @@ DTS= \ allwinner/sun50i-h5-orangepi-pc2.dts DTSO= sun50i-a64-opp.dtso \ + sun50i-a64-pwm.dtso \ + sun50i-a64-rpwm.dtso \ sun50i-a64-sid.dtso \ sun50i-a64-ths.dtso \ sun50i-a64-timer.dtso