Discussion:
[PATCH] ARM64: dts: meson-gx: use specific compatible for the AO pwms
Jerome Brunet
2017-06-07 13:48:41 UTC
Permalink
Use the specific compatiable for AO pwms so the pwms input can
be correctly set

FDIV4 is not present on the pwm A0, so change kadhas vim input
clocks to xtal.

Signed-off-by: Jerome Brunet <***@baylibre.com>
---
This patch depends on the pwm patchset available here [0]

On the Khadas Vim I chose to replace FDIV4 with the crytal.
Only PWM_AO_B is actually used and It is used for led dimming.
The frequency, as long as it is high enough, does not matter.
Only the duty cycle does. After testing, xtal seems to be fast
enough.

PWM_AO_A is outputed on the general purpose header, but no usage is
defined for it.

It might be bit late for that but I wonder why it defined and enabled ?
Same goes for the other peripherals activated on this general purpose
header.

I know that's what shows the schematics but one could choose to do
anything else possible with it ? like use in GPIO mode, or another
function. In addition, we never which setting will be required ? (eg
which clock source ?).

Should we keep those ? or remove them ?

[0]: https://lkml.kernel.org/r/20170607133013.4766-1-***@baylibre.com

arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 2 +-
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 436b875060e7..fbaa6b598fca 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -391,7 +391,7 @@
};

pwm_AO_ab: ***@550 {
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
reg = <0x0 0x00550 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 6a81f0168da5..371f43cdd3ab 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -86,8 +86,8 @@
status = "okay";
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
+ clocks = <&xtal> , <&xtal>;
+ clock-names = "clkin0", "clkin1" ;
};

&pwm_ef {
--
2.9.4
Neil Armstrong
2017-06-07 13:52:28 UTC
Permalink
Post by Jerome Brunet
Use the specific compatiable for AO pwms so the pwms input can
-----------------------/\
s/compatiable/compatible/
Post by Jerome Brunet
be correctly set
FDIV4 is not present on the pwm A0, so change kadhas vim input
clocks to xtal.
---
This patch depends on the pwm patchset available here [0]
On the Khadas Vim I chose to replace FDIV4 with the crytal.
Only PWM_AO_B is actually used and It is used for led dimming.
The frequency, as long as it is high enough, does not matter.
Only the duty cycle does. After testing, xtal seems to be fast
enough.
PWM_AO_A is outputed on the general purpose header, but no usage is
defined for it.
Seems we will need to define what to enable by default on these SBC
headers somehow, and leave future out-of-tree DT overlays do the work.
Post by Jerome Brunet
It might be bit late for that but I wonder why it defined and enabled ?
Same goes for the other peripherals activated on this general purpose
header.
I know that's what shows the schematics but one could choose to do
anything else possible with it ? like use in GPIO mode, or another
function. In addition, we never which setting will be required ? (eg
which clock source ?).
Should we keep those ? or remove them ?
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 2 +-
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 436b875060e7..fbaa6b598fca 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -391,7 +391,7 @@
};
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
reg = <0x0 0x00550 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 6a81f0168da5..371f43cdd3ab 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -86,8 +86,8 @@
status = "okay";
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
+ clocks = <&xtal> , <&xtal>;
+ clock-names = "clkin0", "clkin1" ;
};
&pwm_ef {
Reviewed-by: Neil Armstrong <***@baylibre.com>
Jerome Brunet
2017-06-08 12:39:55 UTC
Permalink
Use the specific compatible for AO pwms so the pwms input can
be correctly set

FDIV4 is not present on the pwm A0, so change kadhas vim input
clocks to xtal.

Signed-off-by: Jerome Brunet <***@baylibre.com>
---
This patch depends on the pwm patchset available here [0]

On the Khadas Vim I chose to replace FDIV4 with the crytal.
Only PWM_AO_B is actually used and It is used for led dimming.
The frequency, as long as it is high enough, does not matter.
Only the duty cycle does. After testing, xtal seems to be fast
enough.

PWM_AO_A is outputed on the general purpose header, but no usage is
defined for it.

It might be bit late for that but I wonder why it defined and enabled ?
Same goes for the other peripherals activated on this general purpose
header.

I know that's what shows the schematics but one could choose to do
anything else possible with it ? like use in GPIO mode, or another
function. In addition, we never which setting will be required ? (eg
which clock source ?).

Should we keep those ? or remove them ?

Resend to correct the typo reported by Neil and update the dependency to
the v2 of the pwm series.

[0]: https://lkml.kernel.org/r/20170608122416.1993-1-***@baylibre.com

arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 2 +-
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 436b875060e7..fbaa6b598fca 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -391,7 +391,7 @@
};

pwm_AO_ab: ***@550 {
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
reg = <0x0 0x00550 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 6a81f0168da5..371f43cdd3ab 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -86,8 +86,8 @@
status = "okay";
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
+ clocks = <&xtal> , <&xtal>;
+ clock-names = "clkin0", "clkin1" ;
};

&pwm_ef {
--
2.9.4
Kevin Hilman
2017-07-21 00:45:21 UTC
Permalink
Post by Jerome Brunet
Use the specific compatible for AO pwms so the pwms input can
be correctly set
FDIV4 is not present on the pwm A0, so change kadhas vim input
clocks to xtal.
Adding this to fixes v4.13-rc since the PWM driver is now merged.

Kevin

Loading...