diff mbox series

[net-next,4/5] arm64: dts: ti: k3-am62-main: Add timesync router node

Message ID 20230111114429.1297557-5-s-vadapalli@ti.com (mailing list archive)
State New, archived
Headers show
Series Add PPS support to am65-cpts driver | expand

Commit Message

s-vadapalli Jan. 11, 2023, 11:44 a.m. UTC
TI's AM62x SoC has a Time Sync Event Router, which enables routing a single
input signal to multiple recipients. This facilitates syncing all the
peripherals or processor cores to the input signal which acts as a master
clock.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Nishanth Menon May 16, 2023, 1:31 p.m. UTC | #1
On 17:14-20230111, Siddharth Vadapalli wrote:
> TI's AM62x SoC has a Time Sync Event Router, which enables routing a single
> input signal to multiple recipients. This facilitates syncing all the
> peripherals or processor cores to the input signal which acts as a master
> clock.
> 
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
> ---
>  arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> index 072903649d6e..4ce59170b6a7 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> @@ -649,6 +649,15 @@ cpts@3d000 {
>  		};
>  	};
>  
> +	timesync_router: pinctrl@a40000 {
> +		compatible = "pinctrl-single";

While I understand that the timesync router is essentially a mux,
pinctrl-single is a specific mux model that is used to model external
facing pins to internal signals - pin mux sections of control module
which is already in place is an example of the same.

Using the pinctrl-single scheme for timesync router is, IMHO, wrong
and limiting to potential functions that timesync router could need
enabling.

Is there a reason for using pinctrl-single rather than writing a
mux-controller / consumer model driver instead or rather simpler a
reg-mux node?

> +		reg = <0x0 0xa40000 0x0 0x800>;
> +		#pinctrl-cells = <1>;
> +		pinctrl-single,register-width = <32>;
> +		pinctrl-single,function-mask = <0x000107ff>;
> +		status = "disabled";
> +	};
> +
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index 072903649d6e..4ce59170b6a7 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -649,6 +649,15 @@  cpts@3d000 {
 		};
 	};
 
+	timesync_router: pinctrl@a40000 {
+		compatible = "pinctrl-single";
+		reg = <0x0 0xa40000 0x0 0x800>;
+		#pinctrl-cells = <1>;
+		pinctrl-single,register-width = <32>;
+		pinctrl-single,function-mask = <0x000107ff>;
+		status = "disabled";
+	};
+
 	hwspinlock: spinlock@2a000000 {
 		compatible = "ti,am64-hwspinlock";
 		reg = <0x00 0x2a000000 0x00 0x1000>;