[PATCH v5 2/3] clk: meson: add DT documentation for emmc clock controller
From: Jianxin Pan <hidden>
Date: 2018-10-25 11:50:15
Also in:
linux-amlogic, linux-clk, lkml
On 2018/10/25 15:29, Yixun Lan wrote:
Hi Jerome, Jianxin: see my comments On 10:58 Wed 24 Oct , Jerome Brunet wrote:quoted
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
ok, Thankyou. I will fix it in the next version.
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
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