On Tue, Apr 21, 2015 at 03:46:51PM +0100, Paul Burton wrote:
> Document the devicetree binding for Ingenic SoC CGUs, and add headers
> defining the clock specifiers for clocks provided by the JZ4740 & JZ4780
> CGU blocks.
> 
> Signed-off-by: Paul Burton <[email protected]>
> Cc: Lars-Peter Clausen <[email protected]>
> Cc: Mike Turquette <[email protected]>
> Cc: [email protected]
> ---
> Changes in v3:
>   - Merge binding documentation for various Ingenic SoCs which differ only
>     by compatible strings.
> 
> Changes in v2:
>   - None.
> ---
>  .../devicetree/bindings/clock/ingenic,cgu.txt      | 53 +++++++++++++
>  include/dt-bindings/clock/jz4740-cgu.h             | 37 +++++++++
>  include/dt-bindings/clock/jz4780-cgu.h             | 88 
> ++++++++++++++++++++++
>  3 files changed, 178 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/ingenic,cgu.txt
>  create mode 100644 include/dt-bindings/clock/jz4740-cgu.h
>  create mode 100644 include/dt-bindings/clock/jz4780-cgu.h
> 
> diff --git a/Documentation/devicetree/bindings/clock/ingenic,cgu.txt 
> b/Documentation/devicetree/bindings/clock/ingenic,cgu.txt
> new file mode 100644
> index 0000000..7421f8c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/ingenic,cgu.txt
> @@ -0,0 +1,53 @@
> +Ingenic SoC CGU binding
> +
> +The CGU in an Ingenic SoC provides all the clocks generated on-chip. It
> +typically includes a variety of PLLs, multiplexers, dividers & gates in order
> +to provide many different clock signals derived from only 2 external source
> +clocks.
> +
> +Required properties:
> +- compatible : Should be "ingenic,<soctype>-cgu".
> +  For example "ingenic,jz4740-cgu" or "ingenic,jz4780-cgu".
> +- reg : The address & length of the CGU registers.
> +- clocks : List of phandle & clock specifiers for clocks external to the TCU.

Suspect TCU is a typo for CGU.

Cheers
James

> +  Two such external clocks should be specified - first the external crystal
> +  "ext" and second the RTC clock source "rtc".
> +- clock-names : List of name strings for the external clocks.
> +- #clock-cells: Should be 1.
> +  Clock consumers specify this argument to identify a clock. The valid values
> +  may be found in <dt-bindings/clock/<soctype>-cgu.h>.
> +
> +Example SoC include file:
> +
> +/ {
> +     cgu: jz4740-cgu {
> +             compatible = "ingenic,jz4740-cgu";
> +             reg = <0x10000000 0x100>;
> +             #clock-cells = <1>;
> +     };
> +
> +     uart0: serial@10030000 {
> +             clocks = <&cgu JZ4740_CLK_UART0>;
> +     };
> +};
> +
> +Example board file:
> +
> +/ {
> +     ext: clock@0 {
> +             compatible = "fixed-clock";
> +             #clock-cells = <0>;
> +             clock-frequency = <12000000>;
> +     };
> +
> +     rtc: clock@1 {
> +             compatible = "fixed-clock";
> +             #clock-cells = <0>;
> +             clock-frequency = <32768>;
> +     };
> +
> +     &cgu {
> +             clocks = <&ext> <&rtc>;
> +             clock-names: "ext", "rtc";
> +     };
> +};
> diff --git a/include/dt-bindings/clock/jz4740-cgu.h 
> b/include/dt-bindings/clock/jz4740-cgu.h
> new file mode 100644
> index 0000000..43153d3
> --- /dev/null
> +++ b/include/dt-bindings/clock/jz4740-cgu.h
> @@ -0,0 +1,37 @@
> +/*
> + * This header provides clock numbers for the ingenic,jz4740-cgu DT binding.
> + *
> + * They are roughly ordered as:
> + *   - external clocks
> + *   - PLLs
> + *   - muxes/dividers in the order they appear in the jz4740 programmers 
> manual
> + *   - gates in order of their bit in the CLKGR* registers
> + */
> +
> +#ifndef __DT_BINDINGS_CLOCK_JZ4740_CGU_H__
> +#define __DT_BINDINGS_CLOCK_JZ4740_CGU_H__
> +
> +#define JZ4740_CLK_EXT               0
> +#define JZ4740_CLK_RTC               1
> +#define JZ4740_CLK_PLL               2
> +#define JZ4740_CLK_PLL_HALF  3
> +#define JZ4740_CLK_CCLK              4
> +#define JZ4740_CLK_HCLK              5
> +#define JZ4740_CLK_PCLK              6
> +#define JZ4740_CLK_MCLK              7
> +#define JZ4740_CLK_LCD               8
> +#define JZ4740_CLK_LCD_PCLK  9
> +#define JZ4740_CLK_I2S               10
> +#define JZ4740_CLK_SPI               11
> +#define JZ4740_CLK_MMC               12
> +#define JZ4740_CLK_UHC               13
> +#define JZ4740_CLK_UDC               14
> +#define JZ4740_CLK_UART0     15
> +#define JZ4740_CLK_UART1     16
> +#define JZ4740_CLK_DMA               17
> +#define JZ4740_CLK_IPU               18
> +#define JZ4740_CLK_ADC               19
> +#define JZ4740_CLK_I2C               20
> +#define JZ4740_CLK_AIC               21
> +
> +#endif /* __DT_BINDINGS_CLOCK_JZ4740_CGU_H__ */
> diff --git a/include/dt-bindings/clock/jz4780-cgu.h 
> b/include/dt-bindings/clock/jz4780-cgu.h
> new file mode 100644
> index 0000000..467165e
> --- /dev/null
> +++ b/include/dt-bindings/clock/jz4780-cgu.h
> @@ -0,0 +1,88 @@
> +/*
> + * This header provides clock numbers for the ingenic,jz4780-cgu DT binding.
> + *
> + * They are roughly ordered as:
> + *   - external clocks
> + *   - PLLs
> + *   - muxes/dividers in the order they appear in the jz4780 programmers 
> manual
> + *   - gates in order of their bit in the CLKGR* registers
> + */
> +
> +#ifndef __DT_BINDINGS_CLOCK_JZ4780_CGU_H__
> +#define __DT_BINDINGS_CLOCK_JZ4780_CGU_H__
> +
> +#define JZ4780_CLK_EXCLK     0
> +#define JZ4780_CLK_RTCLK     1
> +#define JZ4780_CLK_APLL              2
> +#define JZ4780_CLK_MPLL              3
> +#define JZ4780_CLK_EPLL              4
> +#define JZ4780_CLK_VPLL              5
> +#define JZ4780_CLK_OTGPHY    6
> +#define JZ4780_CLK_SCLKA     7
> +#define JZ4780_CLK_CPUMUX    8
> +#define JZ4780_CLK_CPU               9
> +#define JZ4780_CLK_L2CACHE   10
> +#define JZ4780_CLK_AHB0              11
> +#define JZ4780_CLK_AHB2PMUX  12
> +#define JZ4780_CLK_AHB2              13
> +#define JZ4780_CLK_PCLK              14
> +#define JZ4780_CLK_DDR               15
> +#define JZ4780_CLK_VPU               16
> +#define JZ4780_CLK_I2SPLL    17
> +#define JZ4780_CLK_I2S               18
> +#define JZ4780_CLK_LCD0PIXCLK        19
> +#define JZ4780_CLK_LCD1PIXCLK        20
> +#define JZ4780_CLK_MSCMUX    21
> +#define JZ4780_CLK_MSC0              22
> +#define JZ4780_CLK_MSC1              23
> +#define JZ4780_CLK_MSC2              24
> +#define JZ4780_CLK_UHC               25
> +#define JZ4780_CLK_SSIPLL    26
> +#define JZ4780_CLK_SSI               27
> +#define JZ4780_CLK_CIMMCLK   28
> +#define JZ4780_CLK_PCMPLL    29
> +#define JZ4780_CLK_PCM               30
> +#define JZ4780_CLK_GPU               31
> +#define JZ4780_CLK_HDMI              32
> +#define JZ4780_CLK_BCH               33
> +#define JZ4780_CLK_NEMC              34
> +#define JZ4780_CLK_OTG0              35
> +#define JZ4780_CLK_SSI0              36
> +#define JZ4780_CLK_SMB0              37
> +#define JZ4780_CLK_SMB1              38
> +#define JZ4780_CLK_SCC               39
> +#define JZ4780_CLK_AIC               40
> +#define JZ4780_CLK_TSSI0     41
> +#define JZ4780_CLK_OWI               42
> +#define JZ4780_CLK_KBC               43
> +#define JZ4780_CLK_SADC              44
> +#define JZ4780_CLK_UART0     45
> +#define JZ4780_CLK_UART1     46
> +#define JZ4780_CLK_UART2     47
> +#define JZ4780_CLK_UART3     48
> +#define JZ4780_CLK_SSI1              49
> +#define JZ4780_CLK_SSI2              50
> +#define JZ4780_CLK_PDMA              51
> +#define JZ4780_CLK_GPS               52
> +#define JZ4780_CLK_MAC               53
> +#define JZ4780_CLK_SMB2              54
> +#define JZ4780_CLK_CIM               55
> +#define JZ4780_CLK_LCD               56
> +#define JZ4780_CLK_TVE               57
> +#define JZ4780_CLK_IPU               58
> +#define JZ4780_CLK_DDR0              59
> +#define JZ4780_CLK_DDR1              60
> +#define JZ4780_CLK_SMB3              61
> +#define JZ4780_CLK_TSSI1     62
> +#define JZ4780_CLK_COMPRESS  63
> +#define JZ4780_CLK_AIC1              64
> +#define JZ4780_CLK_GPVLC     65
> +#define JZ4780_CLK_OTG1              66
> +#define JZ4780_CLK_UART4     67
> +#define JZ4780_CLK_AHBMON    68
> +#define JZ4780_CLK_SMB4              69
> +#define JZ4780_CLK_DES               70
> +#define JZ4780_CLK_X2D               71
> +#define JZ4780_CLK_CORE1     72
> +
> +#endif /* __DT_BINDINGS_CLOCK_JZ4780_CGU_H__ */
> -- 
> 2.3.5
> 
> 

Attachment: signature.asc
Description: Digital signature

Reply via email to