Skip to contentSkip to conversation

Device tree node for Freescale Gianfar PTP reference clock source selection

DISCUSSION Aida Mynzhasova 2 participants 2 messages Sep 23, 2013 – Sep 26, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

Currently, Freescale Gianfar PTP reference clock source is determined through hard-coded value in gianfar_ptp driver. I don't think that recompilation of the entire module (or even worse - the kernel) is a god idea when we want to change one clock source to another. So, I want to add new device tree binding, which can be used as:

	ptp_clock@24E00 {
		compatible = "fsl,etsec-ptp";
		reg = <0x24E00 0xB0>;
		interrupts = <12 0x8 13 0x8>;
		interrupt-parent = < &ipic >;
		fsl,cksel = <0>; /* <-- New entry */
		fsl,tclk-period = <10>;
		fsl,tmr-prsc    = <100>;
		fsl,tmr-add     = <0x999999A4>;
		fsl,tmr-fiper1  = <0x3B9AC9F6>;
		fsl,tmr-fiper2  = <0x00018696>;
		fsl,max-adj     = <659999998>;
	};

fsl,cksel acceptable values:

<0> for external clock;
<1> for eTSEC system clock;
<2> for eTSEC1 transmit clock;
<3> for RTC clock input.

I am new in this mailing list, and as far as I know, I have to discuss all updates for device tree files here before sending patch, which uses new attributes.

Also, should I define new bindings in some special way? I want to add description of cksel attribute in /Documentation/devicetree/bindings/net/fsl-tsec-phy.txt. Is it enough or not?

Thanks!

Signature · 2 lines
Regards,
Aida
#1 lore raw
Quoted 7 lines · Aida Mynzhasova

Hi,

Currently, Freescale Gianfar PTP reference clock source is determined through hard-coded value in gianfar_ptp driver. I don't think that recompilation of the entire module (or even worse - the kernel) is a god idea when we want to change one clock source to another. So, I want to add new device tree binding, which can be used as:

Is this describing the hardware or how you're using it? If the latter, it should be a module parameter or some sort of runtime knob instead.

Quoted 21 lines
	ptp_clock@24E00 {
		compatible = "fsl,etsec-ptp";
		reg = <0x24E00 0xB0>;
		interrupts = <12 0x8 13 0x8>;
		interrupt-parent = < &ipic >;
		fsl,cksel = <0>; /* <-- New entry */
		fsl,tclk-period = <10>;
		fsl,tmr-prsc    = <100>;
		fsl,tmr-add     = <0x999999A4>;
		fsl,tmr-fiper1  = <0x3B9AC9F6>;
		fsl,tmr-fiper2  = <0x00018696>;
		fsl,max-adj     = <659999998>;
	};

fsl,cksel acceptable values:

<0> for external clock;
<1> for eTSEC system clock;
<2> for eTSEC1 transmit clock;
<3> for RTC clock input.

Quoted 8 lines

I am new in this mailing list, and as far as I know, I have to discuss all updates for device tree files here before sending patch, which uses new attributes.

Also, should I define new bindings in some special way? I want to add description of cksel attribute in /Documentation/devicetree/bindings/net/fsl-tsec-phy.txt. Is it enough or not?

Assuming this is actually describing how the hardware is wired up, yes, that's how you'd document it (making sure that device trees without that property are interpreted the same as today).

-Scott