[PATCH v5 2/3] clk: meson: add DT documentation for emmc clock controller
From: Yixun Lan <hidden>
Date: 2018-10-25 07:29:23
Also in:
linux-amlogic, linux-clk, lkml
Hi Jerome, Jianxin: see my comments On 10:58 Wed 24 Oct , Jerome Brunet wrote:
On Thu, 2018-10-18 at 13:07 +0800, Jianxin Pan wrote:quoted
From: Yixun Lan <redacted> Document the MMC sub clock controller driver, the potential consumer of this driver is MMC or NAND. Also add four clock bindings IDs which provided by this driver. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Yixun Lan <redacted> Signed-off-by: Jianxin Pan <redacted> --- .../devicetree/bindings/clock/amlogic,mmc-clkc.txt | 31 ++++++++++++++++++++++ include/dt-bindings/clock/amlogic,mmc-clkc.h | 17 ++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/amlogic,mmc-clkc.txt create mode 100644 include/dt-bindings/clock/amlogic,mmc-clkc.hdiff --git a/Documentation/devicetree/bindings/clock/amlogic,mmc-clkc.txt b/Documentation/devicetree/bindings/clock/amlogic,mmc-clkc.txt new file mode 100644 index 0000000..9e6d343 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/amlogic,mmc-clkc.txt@@ -0,0 +1,31 @@ +* Amlogic MMC Sub Clock Controller Driver + +The Amlogic MMC clock controller generates and supplies clock to support +MMC and NAND controller + +Required Properties: + +- compatible: should be: + "amlogic,gx-mmc-clkc" + "amlogic,axg-mmc-clkc" + +- #clock-cells: should be 1. +- clocks: phandles to clocks corresponding to the clock-names property +- clock-names: list of parent clock names + - "clkin0", "clkin1" + +Parent node should have the following properties : +- compatible: "amlogic,axg-mmc-clkc", "syscon". +- reg: base address and size of the MMC control register space.I get why Stephen is confused by your description, I am too. The example contradict the documentation. The documentation above says that the parent node should be a syscon with the mmc register space. But your example shows this in the node itself.
yes, I think the documentation need to be fixed
for the final solution, we decide to make 'mmc-clkc' an independent node
instead of being a sub-node of 'mmc', so both of them may exist in parallel..
the DT part may like this:
sd_emmc_c_clkc: clock-controller at 7000 {
compatible = "amlogic,axg-mmc-clkc", "syscon";
reg = <0x0 0x7000 0x0 0x4>;
...
};
sd_emmc_c: mmc at 7000 {
compatible = "amlogic,axg-mmc";
reg = <0x0 0x7000 0x0 0x800>;
...
};
quoted
+ +Example: Clock controller node: + +sd_mmc_c_clkc: clock-controller at 7000 { + compatible = "amlogic,axg-mmc-clkc", "syscon"; + reg = <0x0 0x7000 0x0 0x4>; + #clock-cells = <1>; + + clock-names = "clkin0", "clkin1"; + clocks = <&clkc CLKID_SD_MMC_C_CLK0>, + <&clkc CLKID_FCLK_DIV2>; +};diff --git a/include/dt-bindings/clock/amlogic,mmc-clkc.h b/include/dt-bindings/clock/amlogic,mmc-clkc.h new file mode 100644 index 0000000..162b949 --- /dev/null +++ b/include/dt-bindings/clock/amlogic,mmc-clkc.h@@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ +/* + * Meson MMC sub clock tree IDs + * + * Copyright (c) 2018 Amlogic, Inc. All rights reserved. + * Author: Yixun Lan <yixun.lan@amlogic.com> + */ + +#ifndef __MMC_CLKC_H +#define __MMC_CLKC_H + +#define CLKID_MMC_DIV 1 +#define CLKID_MMC_PHASE_CORE 2 +#define CLKID_MMC_PHASE_TX 3 +#define CLKID_MMC_PHASE_RX 4 + +#endif_______________________________________________ linux-amlogic mailing list linux-amlogic at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic
-- Yixun Lan (dlan) Gentoo Linux Developer GPG Key ID AABEFD55