Message ID | 20180803030237.3366-4-songjun.wu@linux.intel.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | MIPS: intel: add initial support for Intel MIPS SoCs | expand |
On Thu, Aug 2, 2018 at 9:03 PM Songjun Wu <songjun.wu@linux.intel.com> wrote: > > From: Yixin Zhu <yixin.zhu@linux.intel.com> > > This patch adds binding documentation for grx500 clock controller. > > Signed-off-by: YiXin Zhu <yixin.zhu@linux.intel.com> > Signed-off-by: Songjun Wu <songjun.wu@linux.intel.com> > --- > > Changes in v2: > - Rewrite clock driver's dt-binding document according to Rob Herring's > comments. > - Simplify device tree docoment, remove some clock description. > > .../devicetree/bindings/clock/intel,grx500-clk.txt | 39 ++++++++++++++++++++++ Please match the compatible string: intel,grx500-cgu.txt > 1 file changed, 39 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > > diff --git a/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > new file mode 100644 > index 000000000000..e54e1dad9196 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > @@ -0,0 +1,39 @@ > +Device Tree Clock bindings for grx500 PLL controller. > + > +This binding uses the common clock binding: > + Documentation/devicetree/bindings/clock/clock-bindings.txt > + > +The grx500 clock controller supplies clock to various controllers within the > +SoC. > + > +Required properties for clock node > +- compatible: Should be "intel,grx500-cgu". > +- reg: physical base address of the controller and length of memory range. > +- #clock-cells: should be 1. > + > +Optional Propteries: > +- intel,osc-frequency: frequency of the osc clock. > +if missing, driver will use clock rate defined in the driver. This should use a fixed-clock node instead. > + > +Example: Clock controller node: > + > + cgu: cgu@16200000 { > + compatible = "intel,grx500-cgu", "syscon"; > + reg = <0x16200000 0x200>; > + #clock-cells = <1>; > + }; > + > + > +Example: UART controller node that consumes the clock generated by clock > + controller. > + > + asc0: serial@16600000 { > + compatible = "lantiq,asc"; > + reg = <0x16600000 0x100000>; > + interrupt-parent = <&gic>; > + interrupts = <GIC_SHARED 103 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SHARED 105 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SHARED 106 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cgu CLK_SSX4>, <&cgu GCLK_UART>; > + clock-names = "freq", "asc"; > + }; > -- > 2.11.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 8/6/2018 11:18 PM, Rob Herring wrote: > On Thu, Aug 2, 2018 at 9:03 PM Songjun Wu <songjun.wu@linux.intel.com> wrote: >> From: Yixin Zhu <yixin.zhu@linux.intel.com> >> >> This patch adds binding documentation for grx500 clock controller. >> >> Signed-off-by: YiXin Zhu <yixin.zhu@linux.intel.com> >> Signed-off-by: Songjun Wu <songjun.wu@linux.intel.com> >> --- >> >> Changes in v2: >> - Rewrite clock driver's dt-binding document according to Rob Herring's >> comments. >> - Simplify device tree docoment, remove some clock description. >> >> .../devicetree/bindings/clock/intel,grx500-clk.txt | 39 ++++++++++++++++++++++ > Please match the compatible string: intel,grx500-cgu.txt Will update to use same name. > >> 1 file changed, 39 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/clock/intel,grx500-clk.txt >> >> diff --git a/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt >> new file mode 100644 >> index 000000000000..e54e1dad9196 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt >> @@ -0,0 +1,39 @@ >> +Device Tree Clock bindings for grx500 PLL controller. >> + >> +This binding uses the common clock binding: >> + Documentation/devicetree/bindings/clock/clock-bindings.txt >> + >> +The grx500 clock controller supplies clock to various controllers within the >> +SoC. >> + >> +Required properties for clock node >> +- compatible: Should be "intel,grx500-cgu". >> +- reg: physical base address of the controller and length of memory range. >> +- #clock-cells: should be 1. >> + >> +Optional Propteries: >> +- intel,osc-frequency: frequency of the osc clock. >> +if missing, driver will use clock rate defined in the driver. > This should use a fixed-clock node instead. Yes, This is a fixed clock node registered in driver code. The frequency of the fixed clock is designed to be overwritten by device tree in case some one verify clock driver in the emulation platform or in some cases frequency other than driver defined one is preferred. These kinds of cases are very rare. But I feel it would be better to have a way to use customized frequency. The frequency defined in device tree will overwritten driver defined frequency before registering fixed-clock node. >> + >> +Example: Clock controller node: >> + >> + cgu: cgu@16200000 { >> + compatible = "intel,grx500-cgu", "syscon"; >> + reg = <0x16200000 0x200>; >> + #clock-cells = <1>; >> + }; >> + >> + >> +Example: UART controller node that consumes the clock generated by clock >> + controller. >> + >> + asc0: serial@16600000 { >> + compatible = "lantiq,asc"; >> + reg = <0x16600000 0x100000>; >> + interrupt-parent = <&gic>; >> + interrupts = <GIC_SHARED 103 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SHARED 105 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SHARED 106 IRQ_TYPE_LEVEL_HIGH>; >> + clocks = <&cgu CLK_SSX4>, <&cgu GCLK_UART>; >> + clock-names = "freq", "asc"; >> + }; >> -- >> 2.11.0 >> -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Aug 7, 2018 at 9:08 PM yixin zhu <yixin.zhu@linux.intel.com> wrote: > > > > On 8/6/2018 11:18 PM, Rob Herring wrote: > > On Thu, Aug 2, 2018 at 9:03 PM Songjun Wu <songjun.wu@linux.intel.com> wrote: > >> From: Yixin Zhu <yixin.zhu@linux.intel.com> > >> > >> This patch adds binding documentation for grx500 clock controller. > >> > >> Signed-off-by: YiXin Zhu <yixin.zhu@linux.intel.com> > >> Signed-off-by: Songjun Wu <songjun.wu@linux.intel.com> > >> --- > >> > >> Changes in v2: > >> - Rewrite clock driver's dt-binding document according to Rob Herring's > >> comments. > >> - Simplify device tree docoment, remove some clock description. > >> > >> .../devicetree/bindings/clock/intel,grx500-clk.txt | 39 ++++++++++++++++++++++ > > Please match the compatible string: intel,grx500-cgu.txt > Will update to use same name. > > > > >> 1 file changed, 39 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > >> > >> diff --git a/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > >> new file mode 100644 > >> index 000000000000..e54e1dad9196 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt > >> @@ -0,0 +1,39 @@ > >> +Device Tree Clock bindings for grx500 PLL controller. > >> + > >> +This binding uses the common clock binding: > >> + Documentation/devicetree/bindings/clock/clock-bindings.txt > >> + > >> +The grx500 clock controller supplies clock to various controllers within the > >> +SoC. > >> + > >> +Required properties for clock node > >> +- compatible: Should be "intel,grx500-cgu". > >> +- reg: physical base address of the controller and length of memory range. > >> +- #clock-cells: should be 1. > >> + > >> +Optional Propteries: > >> +- intel,osc-frequency: frequency of the osc clock. > >> +if missing, driver will use clock rate defined in the driver. > > This should use a fixed-clock node instead. > Yes, This is a fixed clock node registered in driver code. > The frequency of the fixed clock is designed to be overwritten by device > tree in case some one verify > clock driver in the emulation platform or in some cases frequency other > than driver defined one is preferred. Emulation platforms often need several hacks that shouldn't be upstream... > These kinds of cases are very rare. But I feel it would be better to > have a way to use customized frequency. > The frequency defined in device tree will overwritten driver defined > frequency before registering fixed-clock node. I don't think you understand what I meant. Add a DT node with "fixed-clock" compatible and have this node refer to it with "clocks" property. The frequency is still in DT, but uses the clock binding. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt new file mode 100644 index 000000000000..e54e1dad9196 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/intel,grx500-clk.txt @@ -0,0 +1,39 @@ +Device Tree Clock bindings for grx500 PLL controller. + +This binding uses the common clock binding: + Documentation/devicetree/bindings/clock/clock-bindings.txt + +The grx500 clock controller supplies clock to various controllers within the +SoC. + +Required properties for clock node +- compatible: Should be "intel,grx500-cgu". +- reg: physical base address of the controller and length of memory range. +- #clock-cells: should be 1. + +Optional Propteries: +- intel,osc-frequency: frequency of the osc clock. +if missing, driver will use clock rate defined in the driver. + +Example: Clock controller node: + + cgu: cgu@16200000 { + compatible = "intel,grx500-cgu", "syscon"; + reg = <0x16200000 0x200>; + #clock-cells = <1>; + }; + + +Example: UART controller node that consumes the clock generated by clock + controller. + + asc0: serial@16600000 { + compatible = "lantiq,asc"; + reg = <0x16600000 0x100000>; + interrupt-parent = <&gic>; + interrupts = <GIC_SHARED 103 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SHARED 105 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SHARED 106 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cgu CLK_SSX4>, <&cgu GCLK_UART>; + clock-names = "freq", "asc"; + };