Re: [PATCH 1/3] clk: meson: add DT documentation for emmc clock controller

From: Yixun Lan
Date: Tue Jul 03 2018 - 06:00:24 EST


Hi jerome

On 07/03/18 16:16, Jerome Brunet wrote:
> On Tue, 2018-07-03 at 14:57 +0000, Yixun Lan wrote:
>> Document the EMMC sub clock controller driver, the potential consumer
>> of this driver is EMMC or NAND.
>>
>> Signed-off-by: Yixun Lan <yixun.lan@xxxxxxxxxxx>
>> ---
>> .../bindings/clock/amlogic,emmc-clkc.txt | 45 +++++++++++++++++++
>> 1 file changed, 45 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/clock/amlogic,emmc-clkc.txt
>>
>> diff --git a/Documentation/devicetree/bindings/clock/amlogic,emmc-clkc.txt b/Documentation/devicetree/bindings/clock/amlogic,emmc-clkc.txt
>> new file mode 100644
>> index 000000000000..5534bd446363
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/clock/amlogic,emmc-clkc.txt
>> @@ -0,0 +1,45 @@
>> +* Amlogic EMMC Sub Clock Controller Driver
>> +
>> +The Amlogic EMMC clock controller generates and supplies clock to support
>> +EMMC and NAND controller
>> +
>> +Required Properties:
>> +
>> +- compatible: should be:
>> + "amlogic,emmc-clkc"
>
> missing clocks and clock-names here
>
ok, will update

>> +
>> +- #clock-cells: should be 1.
>> +
>> +Two clocks are provided as the parent of this EMMC clock controller driver from
>> +upper layer clock controller - eg "amlogic,axg-clkc" in AXG platfrom.
>> +The main consumer of this driver is EMMC or NAND, to specify which the clock
>> +they may consume, the preprocessor macros in the dt-bindings/clock/emmc-clkc.h
>> +header and can be used in device tree sources.
>
> Not sure this explanation belongs in dt-binding documentation.
> Maybe this should be in the driver itself.
>
ok, I probably will waiting for more comments coming in ;-)

>> +
>> +Parent node should have the following properties :
>> +- compatible: "syscon", "simple-mfd, and "amlogic,emmc-clkc"
>> +- reg: base address and size of the EMMC control register space.
>> +
>> +Example: Clock controller node:
>> +
>> +sd_emmc_c_clkc: clock-controller@7000 {
>> + compatible = "amlogic,emmc-clkc", "syscon", "simple-mfd";
>> + reg = <0x0 0x7000 0x0 0x4>;
>> + #clock-cells = <1>;
>> +
>> + clock-names = "clkin0", "clkin1";
>> + clocks = <&clkc CLKID_SD_EMMC_C_CLK0>,
>> + <&clkc CLKID_FCLK_DIV2>;
>> +};
>> +
>
> Not sure the following is necessary, you don't really to show how to use a clock
> controller.
>
ditto,

and I'm fine with either way, this was a copy & paste from gxbb-clkc.h


>> +Example: NAND controller node that consumes the clock generated by the clock
>> + controller:
>> +
>> + nand: nfc@7800 {
>> + compatible = "amlogic,meson-axg-nfc";
>> + reg = <0x0 0x7800 0x0 0x100>;
>> + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
>> + clocks = <&clkc CLKID_SD_EMMC_C>,
>> + <&sd_emmc_c_clkc CLKID_EMMC_C_DIV>;
>> + clock-names = "core", "device";
>> + };
>
> .
>