diff mbox series

arm: dts: Add am335x-boneblack-pps.dts

Message ID 20230428105453.110254-1-jpanis@baylibre.com (mailing list archive)
State Superseded
Headers show
Series arm: dts: Add am335x-boneblack-pps.dts | expand

Commit Message

Julien Panis April 28, 2023, 10:54 a.m. UTC
From: Lokesh Vutla <lokeshvutla@ti.com>

Add a new am335x-boneblack-pps.dts that can be used to configure TIMER7
in PWM mode. This PWM signal can be used as a PPS signal when
synchronized to PTP clock. Typically this synchronization is done by a
userspace program. This PPS signal can be observed on pin P8.8.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
Signed-off-by: Julien Panis <jpanis@baylibre.com>
---
 arch/arm/boot/dts/Makefile                 |  1 +
 arch/arm/boot/dts/am335x-boneblack-pps.dts | 25 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-boneblack-pps.dts


base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6

Comments

Krzysztof Kozlowski April 28, 2023, 1:50 p.m. UTC | #1
On 28/04/2023 12:54, Julien Panis wrote:
> From: Lokesh Vutla <lokeshvutla@ti.com>
> 
> Add a new am335x-boneblack-pps.dts that can be used to configure TIMER7
> in PWM mode. This PWM signal can be used as a PPS signal when
> synchronized to PTP clock. Typically this synchronization is done by a
> userspace program. This PPS signal can be observed on pin P8.8.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
> Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> Signed-off-by: Julien Panis <jpanis@baylibre.com>

Use subject prefixes matching the subsystem (which you can get for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching). Missing soemthing identifying sub-arch.

> ---
>  arch/arm/boot/dts/Makefile                 |  1 +
>  arch/arm/boot/dts/am335x-boneblack-pps.dts | 25 ++++++++++++++++++++++
>  2 files changed, 26 insertions(+)
>  create mode 100644 arch/arm/boot/dts/am335x-boneblack-pps.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index efe4152e5846..d74158aae72d 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -939,6 +939,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
>  	am335x-base0033.dtb \
>  	am335x-bone.dtb \
>  	am335x-boneblack.dtb \
> +	am335x-boneblack-pps.dtb \
>  	am335x-boneblack-wireless.dtb \
>  	am335x-boneblue.dtb \
>  	am335x-bonegreen.dtb \
> diff --git a/arch/arm/boot/dts/am335x-boneblack-pps.dts b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> new file mode 100644
> index 000000000000..88d2bc3fd759
> --- /dev/null
> +++ b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
> + */
> +
> +#include "am335x-boneblack.dts"

Probably you need here compatible (and binding as separate patch).

> +
> +&am33xx_pinmux {
> +	pwm7_pins: pinmux_pwm7_pins {

No underscores in node names.


> +		pinctrl-single,pins = <
> +			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)
> +		>;
> +	};
> +};
> +
> +/{
> +	pwm7: dmtimer-pwm7 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> +		compatible = "ti,omap-dmtimer-pwm";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pwm7_pins>;
> +		#pwm-cells = <3>;
> +		ti,timers = <&timer7>;
> +		ti,clock-source = <0x00>; /* timer_sys_ck */

Why this is hex? Should be just 0/1/2?


> +	};
> +};
> 
> base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6

Best regards,
Krzysztof
Robert Nelson April 28, 2023, 2:44 p.m. UTC | #2
On Fri, Apr 28, 2023 at 6:00 AM Julien Panis <jpanis@baylibre.com> wrote:
>
> From: Lokesh Vutla <lokeshvutla@ti.com>
>
> Add a new am335x-boneblack-pps.dts that can be used to configure TIMER7
> in PWM mode. This PWM signal can be used as a PPS signal when
> synchronized to PTP clock. Typically this synchronization is done by a
> userspace program. This PPS signal can be observed on pin P8.8.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
> Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> Signed-off-by: Julien Panis <jpanis@baylibre.com>
> ---
>  arch/arm/boot/dts/Makefile                 |  1 +
>  arch/arm/boot/dts/am335x-boneblack-pps.dts | 25 ++++++++++++++++++++++
>  2 files changed, 26 insertions(+)
>  create mode 100644 arch/arm/boot/dts/am335x-boneblack-pps.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index efe4152e5846..d74158aae72d 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -939,6 +939,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
>         am335x-base0033.dtb \
>         am335x-bone.dtb \
>         am335x-boneblack.dtb \
> +       am335x-boneblack-pps.dtb \
>         am335x-boneblack-wireless.dtb \
>         am335x-boneblue.dtb \
>         am335x-bonegreen.dtb \
> diff --git a/arch/arm/boot/dts/am335x-boneblack-pps.dts b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> new file mode 100644
> index 000000000000..88d2bc3fd759
> --- /dev/null
> +++ b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
> + */
> +
> +#include "am335x-boneblack.dts"
> +
> +&am33xx_pinmux {
> +       pwm7_pins: pinmux_pwm7_pins {
> +               pinctrl-single,pins = <
> +                       AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)
> +               >;
> +       };
> +};
> +
> +/{
> +       pwm7: dmtimer-pwm7 {
> +               compatible = "ti,omap-dmtimer-pwm";
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&pwm7_pins>;
> +               #pwm-cells = <3>;
> +               ti,timers = <&timer7>;
> +               ti,clock-source = <0x00>; /* timer_sys_ck */
> +       };
> +};

I know this commit is pretty small, but mainline now has overlay support:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0fff0e49d72a53c51d8903fbadb2e6a84e531c4a

At what point do we finally merge in the many dozen *BeagleBone*
overlays, or do we still wait for :
https://lore.kernel.org/lkml/20220328000915.15041-1-ansuelsmth@gmail.com/

Regards,
Robert Nelson April 28, 2023, 8:53 p.m. UTC | #3
On Fri, Apr 28, 2023 at 9:44 AM Robert Nelson <robertcnelson@gmail.com> wrote:
>
> On Fri, Apr 28, 2023 at 6:00 AM Julien Panis <jpanis@baylibre.com> wrote:
> >
> > From: Lokesh Vutla <lokeshvutla@ti.com>
> >
> > Add a new am335x-boneblack-pps.dts that can be used to configure TIMER7
> > in PWM mode. This PWM signal can be used as a PPS signal when
> > synchronized to PTP clock. Typically this synchronization is done by a
> > userspace program. This PPS signal can be observed on pin P8.8.
> >
> > Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> > Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
> > Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> > Signed-off-by: Julien Panis <jpanis@baylibre.com>
> > ---
> >  arch/arm/boot/dts/Makefile                 |  1 +
> >  arch/arm/boot/dts/am335x-boneblack-pps.dts | 25 ++++++++++++++++++++++
> >  2 files changed, 26 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/am335x-boneblack-pps.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index efe4152e5846..d74158aae72d 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -939,6 +939,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
> >         am335x-base0033.dtb \
> >         am335x-bone.dtb \
> >         am335x-boneblack.dtb \
> > +       am335x-boneblack-pps.dtb \
> >         am335x-boneblack-wireless.dtb \
> >         am335x-boneblue.dtb \
> >         am335x-bonegreen.dtb \
> > diff --git a/arch/arm/boot/dts/am335x-boneblack-pps.dts b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> > new file mode 100644
> > index 000000000000..88d2bc3fd759
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/am335x-boneblack-pps.dts
> > @@ -0,0 +1,25 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +/*
> > + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
> > + */
> > +
> > +#include "am335x-boneblack.dts"
> > +
> > +&am33xx_pinmux {
> > +       pwm7_pins: pinmux_pwm7_pins {
> > +               pinctrl-single,pins = <
> > +                       AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)
> > +               >;
> > +       };
> > +};
> > +
> > +/{
> > +       pwm7: dmtimer-pwm7 {
> > +               compatible = "ti,omap-dmtimer-pwm";
> > +               pinctrl-names = "default";
> > +               pinctrl-0 = <&pwm7_pins>;
> > +               #pwm-cells = <3>;
> > +               ti,timers = <&timer7>;
> > +               ti,clock-source = <0x00>; /* timer_sys_ck */
> > +       };
> > +};
>
> I know this commit is pretty small, but mainline now has overlay support:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0fff0e49d72a53c51d8903fbadb2e6a84e531c4a
>
> At what point do we finally merge in the many dozen *BeagleBone*
> overlays, or do we still wait for :
> https://lore.kernel.org/lkml/20220328000915.15041-1-ansuelsmth@gmail.com/

OH SIde note, #2... thanks @Nishanth Menon !

We do have this example:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8e01fb15b8157a825d309ea2598b494dd81a7b42

So instead of `am335x-boneblack-pps.dtb` it could be: ....
am335x-bone-dmtimer-pwm7.dtbo or even am335x-dmtimer-pwm7.dtbo ?

Thoughts?
Tony Lindgren May 3, 2023, 6:07 a.m. UTC | #4
Hi,

* Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> [230428 13:50]:
> On 28/04/2023 12:54, Julien Panis wrote:
> > From: Lokesh Vutla <lokeshvutla@ti.com>
> > +		compatible = "ti,omap-dmtimer-pwm";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pwm7_pins>;
> > +		#pwm-cells = <3>;
> > +		ti,timers = <&timer7>;
> > +		ti,clock-source = <0x00>; /* timer_sys_ck */
> 
> Why this is hex? Should be just 0/1/2?

I think the ti,clock-source can be left out now, this can be done
with assigned-clocks and parents instead. Please grep for some
examples in the current mainline kernel dts files.

Regards,

Tony
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index efe4152e5846..d74158aae72d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -939,6 +939,7 @@  dtb-$(CONFIG_SOC_AM33XX) += \
 	am335x-base0033.dtb \
 	am335x-bone.dtb \
 	am335x-boneblack.dtb \
+	am335x-boneblack-pps.dtb \
 	am335x-boneblack-wireless.dtb \
 	am335x-boneblue.dtb \
 	am335x-bonegreen.dtb \
diff --git a/arch/arm/boot/dts/am335x-boneblack-pps.dts b/arch/arm/boot/dts/am335x-boneblack-pps.dts
new file mode 100644
index 000000000000..88d2bc3fd759
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-boneblack-pps.dts
@@ -0,0 +1,25 @@ 
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+#include "am335x-boneblack.dts"
+
+&am33xx_pinmux {
+	pwm7_pins: pinmux_pwm7_pins {
+		pinctrl-single,pins = <
+			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)
+		>;
+	};
+};
+
+/{
+	pwm7: dmtimer-pwm7 {
+		compatible = "ti,omap-dmtimer-pwm";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm7_pins>;
+		#pwm-cells = <3>;
+		ti,timers = <&timer7>;
+		ti,clock-source = <0x00>; /* timer_sys_ck */
+	};
+};