1 Device Tree Clock bindings for the Zynq 7000 EPP 2 3 The Zynq EPP has several different clk providers, each with there own bindings. 4 The purpose of this document is to document their usage. 5 6 See clock_bindings.txt for more information on the generic clock bindings. 7 See Chapter 25 of Zynq TRM for more information about Zynq clocks. 8 9 == Clock Controller == 10 The clock controller is a logical abstraction of Zynq's clock tree. It reads 11 required input clock frequencies from the devicetree and acts as clock provider 12 for all clock consumers of PS clocks. 13 14 Required properties: 15 - #clock-cells : Must be 1 16 - compatible : "xlnx,ps7-clkc" 17 - reg : SLCR offset and size taken via syscon < 0x100 0x100 > 18 - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ 19 (usually 33 MHz oscillators are used for Zynq platforms) 20 - clock-output-names : List of strings used to name the clock outputs. Shall be 21 a list of the outputs given below. 22 23 Optional properties: 24 - clocks : as described in the clock bindings 25 - clock-names : as described in the clock bindings 26 - fclk-enable : Bit mask to enable FCLKs statically at boot time. 27 Bit [0..3] correspond to FCLK0..FCLK3. The corresponding 28 FCLK will only be enabled if it is actually running at 29 boot time. 30 31 Clock inputs: 32 The following strings are optional parameters to the 'clock-names' property in 33 order to provide an optional (E)MIO clock source. 34 - swdt_ext_clk 35 - gem0_emio_clk 36 - gem1_emio_clk 37 - mio_clk_XX # with XX = 00..53 38 ... 39 40 Clock outputs: 41 0: armpll 42 1: ddrpll 43 2: iopll 44 3: cpu_6or4x 45 4: cpu_3or2x 46 5: cpu_2x 47 6: cpu_1x 48 7: ddr2x 49 8: ddr3x 50 9: dci 51 10: lqspi 52 11: smc 53 12: pcap 54 13: gem0 55 14: gem1 56 15: fclk0 57 16: fclk1 58 17: fclk2 59 18: fclk3 60 19: can0 61 20: can1 62 21: sdio0 63 22: sdio1 64 23: uart0 65 24: uart1 66 25: spi0 67 26: spi1 68 27: dma 69 28: usb0_aper 70 29: usb1_aper 71 30: gem0_aper 72 31: gem1_aper 73 32: sdio0_aper 74 33: sdio1_aper 75 34: spi0_aper 76 35: spi1_aper 77 36: can0_aper 78 37: can1_aper 79 38: i2c0_aper 80 39: i2c1_aper 81 40: uart0_aper 82 41: uart1_aper 83 42: gpio_aper 84 43: lqspi_aper 85 44: smc_aper 86 45: swdt 87 46: dbg_trc 88 47: dbg_apb 89 90 Example: 91 clkc: clkc@100 { 92 #clock-cells = <1>; 93 compatible = "xlnx,ps7-clkc"; 94 ps-clk-frequency = <33333333>; 95 reg = <0x100 0x100>; 96 clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", 97 "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", 98 "dci", "lqspi", "smc", "pcap", "gem0", "gem1", 99 "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", 100 "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", 101 "dma", "usb0_aper", "usb1_aper", "gem0_aper", 102 "gem1_aper", "sdio0_aper", "sdio1_aper", 103 "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", 104 "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", 105 "gpio_aper", "lqspi_aper", "smc_aper", "swdt", 106 "dbg_trc", "dbg_apb"; 107 # optional props 108 clocks = <&clkc 16>, <&clk_foo>; 109 clock-names = "gem1_emio_clk", "can_mio_clk_23"; 110 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.