Message ID | 1542284312-55418-3-git-send-email-jianxin.pan@amlogic.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clk: meson: add a sub EMMC clock controller support | expand |
Quoting Jianxin Pan (2018-11-15 04:18:30) > 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 Why does the define numbering start with 1 instead of 0? > +#define CLKID_MMC_PHASE_CORE 2 > +#define CLKID_MMC_PHASE_TX 3 > +#define CLKID_MMC_PHASE_RX 4 > +
Hi Stephen, On 2018/12/4 6:45, Stephen Boyd wrote: > Quoting Jianxin Pan (2018-11-15 04:18:30) >> 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 > > Why does the define numbering start with 1 instead of 0? > The Clock ID 0 is used by CLKID_MMC_MUX. CLKID_MMC_MUX is an internal clock which defined in drivers/clk/meson/mmc-clkc.c, and it's the parent of CLKID_MMC_DIV. >> +#define CLKID_MMC_PHASE_CORE 2 >> +#define CLKID_MMC_PHASE_TX 3 >> +#define CLKID_MMC_PHASE_RX 4 >> + > > . >
Quoting Jianxin Pan (2018-12-03 18:39:34) > Hi Stephen, > > On 2018/12/4 6:45, Stephen Boyd wrote: > > Quoting Jianxin Pan (2018-11-15 04:18:30) > >> 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 > > > > Why does the define numbering start with 1 instead of 0? > > > The Clock ID 0 is used by CLKID_MMC_MUX. > CLKID_MMC_MUX is an internal clock which defined in drivers/clk/meson/mmc-clkc.c, and it's the parent of CLKID_MMC_DIV. Ok, thanks.
diff --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..0f518e6 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/amlogic,mmc-clkc.txt @@ -0,0 +1,39 @@ +* 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" + +- reg: address of emmc sub clock register + +Example: Clock controller node: + +sd_mmc_c_clkc: clock-controller@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>; +}; + +sd_emmc_b_clkc: clock-controller@5000 { + compatible = "amlogic,axg-mmc-clkc", "syscon"; + reg = <0x0 0x5000 0x0 0x4>; + + #clock-cells = <1>; + clock-names = "clkin0", "clkin1"; + clocks = <&clkc CLKID_SD_EMMC_B_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