From b352de96578bcced68ce17dcc606054ba8eee032 Mon Sep 17 00:00:00 2001 From: Luke go Date: Mon, 10 Aug 2020 14:45:21 +0900 Subject: [PATCH] ODROID-COMMON: arm64/dts: pwm: Adjust pwm pins and apply overlay. - The PWM pins are not fit to a ODROID_C4 manual list of extension pins. To fit the list, a pwm_ab is added. And pwm_cd's pwm_d pin is moved. - The Device tree Overlay feature is applied to the PWM. Change-Id: I77b5b5691ab9f71740edfd5fe3d3bdc430fdaca3 --- .../dts/amlogic/mesong12_odroid_common.dtsi | 26 ------------------- .../dts/amlogic/mesonsm1_odroid_common.dtsi | 26 ------------------- .../dts/amlogic/overlays/odroidc4/Makefile | 5 +++- .../dts/amlogic/overlays/odroidc4/pwm_ab.dts | 16 ++++++++++++ .../dts/amlogic/overlays/odroidc4/pwm_cd.dts | 16 ++++++++++++ .../dts/amlogic/overlays/odroidc4/pwm_ef.dts | 16 ++++++++++++ .../dts/amlogic/overlays/odroidn2/Makefile | 4 ++- .../dts/amlogic/overlays/odroidn2/pwm_cd.dts | 16 ++++++++++++ .../dts/amlogic/overlays/odroidn2/pwm_ef.dts | 16 ++++++++++++ 9 files changed, 87 insertions(+), 54 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ab.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_cd.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ef.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_cd.dts create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_ef.dts diff --git a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi index f3fe3a3817c3..d97ffd3feb7e 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi @@ -328,20 +328,6 @@ tv_bit_mode = <1>; }; -&pwm_cd { - status = "okay"; - pinctrl-names = "pwm_pins","gpio_periphs"; - pinctrl-0 = <&pwm_c_pins2 &pwm_d_pins2>; - pinctrl-1 = <&pwmcd_to_gpios>; -}; - -&pwm_ef { - status = "okay"; - pinctrl-names = "pwm_pins","gpio_periphs"; - pinctrl-0 = <&pwm_e_pins &pwm_f_pins1>; - pinctrl-1 = <&pwmef_to_gpios>; -}; - &pwm_AO_cd { status = "okay"; }; @@ -591,18 +577,6 @@ function = "spdif_out"; }; }; - pwmcd_to_gpios:pwmcd_gpio { - mux { - groups = "GPIOX_5", "GPIOX_6"; - function = "gpio_periphs"; - }; - }; - pwmef_to_gpios:pwmef_gpio { - mux { - groups = "GPIOX_16", "GPIOX_7"; - function = "gpio_periphs"; - }; - }; spicc0_to_gpiox: spicc0_gpiox { mux { groups = "GPIOX_8", diff --git a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi index fdbd4b79ee04..de2feeb04326 100644 --- a/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesonsm1_odroid_common.dtsi @@ -142,20 +142,6 @@ tv_bit_mode = <1>; }; -&pwm_cd { - status = "okay"; - pinctrl-names = "pwm_pins","gpio_periphs"; - pinctrl-0 = <&pwm_c_pins2 &pwm_d_pins2>; - pinctrl-1 = <&pwmcd_to_gpios>; -}; - -&pwm_ef { - status = "okay"; - pinctrl-names = "pwm_pins","gpio_periphs"; - pinctrl-0 = <&pwm_e_pins &pwm_f_pins1>; - pinctrl-1 = <&pwmef_to_gpios>; -}; - &pwm_AO_cd { status = "okay"; }; @@ -256,18 +242,6 @@ }; }; - pwmcd_to_gpios:pwmcd_gpio { - mux { - groups = "GPIOX_5", "GPIOX_6"; - function = "gpio_periphs"; - }; - }; - pwmef_to_gpios:pwmef_gpio { - mux { - groups = "GPIOX_16", "GPIOX_7"; - function = "gpio_periphs"; - }; - }; spicc0_pins_x: spicc0_pins_x { mux { drive-strength = <3>; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 8e5b0f15f94d..28d2cb75d454 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -12,7 +12,10 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ sx865x-i2c1.dtbo \ pcf8563.dtbo \ onewire.dtbo \ - can0.dtbo + can0.dtbo \ + pwm_ab.dtbo \ + pwm_cd.dtbo \ + pwm_ef.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ab.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ab.dts new file mode 100644 index 000000000000..9176e482565f --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ab.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // pwm_ab + // This activates pwm_ab. + target = <&pwm_ab>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_a_pins &pwm_b_pins2>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_cd.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_cd.dts new file mode 100644 index 000000000000..fa3c042f1d61 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_cd.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // pwm_cd + // This activates pwm_cd. + target = <&pwm_cd>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_c_pins2 &pwm_d_pins1>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ef.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ef.dts new file mode 100644 index 000000000000..ad25c9ea8619 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/pwm_ef.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // pwm_ef + // This activates pwm_ef. + target = <&pwm_ef>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_e_pins &pwm_f_pins1>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile index af7be3a697a2..ca049a2a59b7 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/Makefile @@ -15,7 +15,9 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \ odroidn2_plus-opp.dtbo \ onewire.dtbo \ can0.dtbo \ - fanspeed-full.dtbo + fanspeed-full.dtbo \ + pwm_cd.dtbo \ + pwm_ef.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_cd.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_cd.dts new file mode 100644 index 000000000000..6f2ca0a2767f --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_cd.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // pwm_cd + // This activates pwm_cd. + target = <&pwm_cd>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_c_pins2 &pwm_d_pins2>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_ef.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_ef.dts new file mode 100644 index 000000000000..ad25c9ea8619 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidn2/pwm_ef.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + // pwm_ef + // This activates pwm_ef. + target = <&pwm_ef>; + + __overlay__ { + status = "okay"; + pinctrl-names = "pwm_pins"; + pinctrl-0 = <&pwm_e_pins &pwm_f_pins1>; + }; + }; +};