[PATCH] clk: sirf: add CSR atlas7 clk and reset support

Barry Song 21cnbao at gmail.com
Tue Apr 14 04:57:18 PDT 2015


2015-04-12 18:24 GMT+08:00, Barry Song <21cnbao at gmail.com>:
> 2015-04-11 8:23 GMT+08:00 Michael Turquette <mturquette at linaro.org>:
>> Quoting Barry Song (2014-12-25 00:24:05)
>>> From: Zhiwu Song <Zhiwu.Song at csr.com>
>>>
>>> the hardware node includes both clock and reset support, so it
>>> is named as "car".
>>> this patch implements Flexible clocks(mux, divider, gate), Selectable
>>> clock(mux, divider, gate), root clock(gate),leaf clock(gate), others.
>>> it also implements the reset controller functionality.
>>>
>>> Signed-off-by: Zhiwu Song <Zhiwu.Song at csr.com>
>>> Signed-off-by: Barry Song <Baohua.Song at csr.com>
>>> ---
>>>  .../devicetree/bindings/clock/csr,atlas7-car.txt   |   46 +
>>>  drivers/clk/sirf/Makefile                          |    2 +-
>>>  drivers/clk/sirf/clk-atlas7.c                      | 1652
>>> ++++++++++++++++++++
>>>  3 files changed, 1699 insertions(+), 1 deletion(-)
>>>  create mode 100644
>>> Documentation/devicetree/bindings/clock/csr,atlas7-car.txt
>>>  create mode 100644 drivers/clk/sirf/clk-atlas7.c
>>>
>>> diff --git a/Documentation/devicetree/bindings/clock/csr,atlas7-car.txt
>>> b/Documentation/devicetree/bindings/clock/csr,atlas7-car.txt
>>> new file mode 100644
>>> index 0000000..a1a9499
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/clock/csr,atlas7-car.txt
>>> @@ -0,0 +1,46 @@
>>> +* Clock and reset bindings for CSR atlas7
>>> +
>>> +Required properties:
>>> +- compatible: Should be "sirf,atlas7-car"
>>> +- reg: Address and length of the register set
>>> +- #clock-cells: Should be <1>
>>> +- #reset-cells: Should be <1>
>>> +
>>> +The clock consumer should specify the desired clock by having the clock
>>> +ID in its "clocks" phandle cell.
>>> +The ID list atlas7_clks defined in drivers/clk/sirf/clk-atlas7.c
>>> +
>>> +The reset consumer should specify the desired reset by having the reset
>>> +ID in its "reset" phandle cell.
>>> +The ID list atlas7_reset_unit defined in drivers/clk/sirf/clk-atlas7.c
>>> +
>>> +Examples:
>>> +
>>> +timer at 10dc0000 {
>>> +       compatible = "sirf,macro-tick";
>>> +       reg = <0x10dc0000 0x1000>;
>>> +       clocks = <&car 54>;
>>> +       interrupts = <0 0 0>,
>>> +                  <0 1 0>,
>>> +                  <0 2 0>,
>>> +                  <0 49 0>,
>>> +                  <0 50 0>,
>>> +                  <0 51 0>;
>>> +};
>>> +
>>> +uart1: uart at 18020000 {
>>> +       cell-index = <1>;
>>> +       compatible = "sirf,macro-uart";
>>> +       reg = <0x18020000 0x1000>;
>>> +       clocks = <&clks 95>;
>>> +       interrupts = <0 18 0>;
>>> +       fifosize = <32>;
>>> +};
>>> +
>>> +vpp at 13110000 {
>>> +       compatible = "sirf,prima2-vpp";
>>> +       reg = <0x13110000 0x10000>;
>>> +       interrupts = <0 31 0>;
>>> +       clocks = <&car 85>;
>>> +       resets = <&car 29>;
>>> +};
>>
>> It would be nice to provide an example of the clock provider node,
>> "sirf,atlas7-car".
>
> ok. Mike, thanks for reviewing.

hi mike,  the example of the clock provider node has been done by the
v2 patch sent two days ago.is there enough time to push it to 4.1?

>
>> Also do you have a patch which adds this node to a
>> dts file somewhere?
>>
>
> this has been done when atlas7 platform was added. see:
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/atlas7.dtsi
>
> there is a node:
>             car: clock-controller at 18620000 {
>                 compatible = "sirf,atlas7-car";
>                 reg = <0x18620000 0x1000>;
>                 #clock-cells = <1>;
>                 #reset-cells = <1>;
>             };
>
>> Otherwise the rest of this patch looks OK.
>>
>> Regards,
>> Mike
>
> -barry
>

-barry



More information about the linux-arm-kernel mailing list