2023-04-28 11:00:42

by Julien Panis

[permalink] [raw]
Subject: [PATCH] arm: dts: Add am335x-boneblack-pps.dts

From: Lokesh Vutla <[email protected]>

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 <[email protected]>
Signed-off-by: Vignesh Raghavendra <[email protected]>
Signed-off-by: Adrien Ricciardi <[email protected]>
Signed-off-by: Julien Panis <[email protected]>
---
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 */
+ };
+};

base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6
--
2.37.3


2023-04-28 13:59:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] arm: dts: Add am335x-boneblack-pps.dts

On 28/04/2023 12:54, Julien Panis wrote:
> From: Lokesh Vutla <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> Signed-off-by: Adrien Ricciardi <[email protected]>
> Signed-off-by: Julien Panis <[email protected]>

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

2023-04-28 14:46:50

by Robert Nelson

[permalink] [raw]
Subject: Re: [PATCH] arm: dts: Add am335x-boneblack-pps.dts

On Fri, Apr 28, 2023 at 6:00 AM Julien Panis <[email protected]> wrote:
>
> From: Lokesh Vutla <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> Signed-off-by: Adrien Ricciardi <[email protected]>
> Signed-off-by: Julien Panis <[email protected]>
> ---
> 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/[email protected]/

Regards,

--
Robert Nelson
https://rcn-ee.com/

2023-04-28 20:56:40

by Robert Nelson

[permalink] [raw]
Subject: Re: [PATCH] arm: dts: Add am335x-boneblack-pps.dts

On Fri, Apr 28, 2023 at 9:44 AM Robert Nelson <[email protected]> wrote:
>
> On Fri, Apr 28, 2023 at 6:00 AM Julien Panis <[email protected]> wrote:
> >
> > From: Lokesh Vutla <[email protected]>
> >
> > 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 <[email protected]>
> > Signed-off-by: Vignesh Raghavendra <[email protected]>
> > Signed-off-by: Adrien Ricciardi <[email protected]>
> > Signed-off-by: Julien Panis <[email protected]>
> > ---
> > 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/[email protected]/

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?

--
Robert Nelson
https://rcn-ee.com/

2023-05-03 06:08:47

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] arm: dts: Add am335x-boneblack-pps.dts

Hi,

* Krzysztof Kozlowski <[email protected]> [230428 13:50]:
> On 28/04/2023 12:54, Julien Panis wrote:
> > From: Lokesh Vutla <[email protected]>
> > + 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