~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/lpc1850-cgu.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 * NXP LPC1850 Clock Generation Unit (CGU)
  2 
  3 The CGU generates multiple independent clocks for the core and the
  4 peripheral blocks of the LPC18xx. Each independent clock is called
  5 a base clock and itself is one of the inputs to the two Clock
  6 Control Units (CCUs) which control the branch clocks to the
  7 individual peripherals.
  8 
  9 The CGU selects the inputs to the clock generators from multiple
 10 clock sources, controls the clock generation, and routes the outputs
 11 of the clock generators through the clock source bus to the output
 12 stages. Each output stage provides an independent clock source and
 13 corresponds to one of the base clocks for the LPC18xx.
 14 
 15  - Above text taken from NXP LPC1850 User Manual.
 16 
 17 
 18 This binding uses the common clock binding:
 19     Documentation/devicetree/bindings/clock/clock-bindings.txt
 20 
 21 Required properties:
 22 - compatible:
 23         Should be "nxp,lpc1850-cgu"
 24 - reg:
 25         Shall define the base and range of the address space
 26         containing clock control registers
 27 - #clock-cells:
 28         Shall have value <1>.  The permitted clock-specifier values
 29         are the base clock numbers defined below.
 30 - clocks:
 31         Shall contain a list of phandles for the external input
 32         sources to the CGU. The list shall be in the following
 33         order: xtal, 32khz, enet_rx_clk, enet_tx_clk, gp_clkin.
 34 - clock-indices:
 35         Shall be an ordered list of numbers defining the base clock
 36         number provided by the CGU.
 37 - clock-output-names:
 38         Shall be an ordered list of strings defining the names of
 39         the clocks provided by the CGU.
 40 
 41 Which base clocks that are available on the CGU depends on the
 42 specific LPC part. Base clocks are numbered from 0 to 27.
 43 
 44 Number:         Name:                   Description:
 45  0              BASE_SAFE_CLK           Base safe clock (always on) for WWDT
 46  1              BASE_USB0_CLK           Base clock for USB0
 47  2              BASE_PERIPH_CLK         Base clock for Cortex-M0SUB subsystem,
 48                                         SPI, and SGPIO
 49  3              BASE_USB1_CLK           Base clock for USB1
 50  4              BASE_CPU_CLK            System base clock for ARM Cortex-M core
 51                                         and APB peripheral blocks #0 and #2
 52  5              BASE_SPIFI_CLK          Base clock for SPIFI
 53  6              BASE_SPI_CLK            Base clock for SPI
 54  7              BASE_PHY_RX_CLK         Base clock for Ethernet PHY Receive clock
 55  8              BASE_PHY_TX_CLK         Base clock for Ethernet PHY Transmit clock
 56  9              BASE_APB1_CLK           Base clock for APB peripheral block # 1
 57 10              BASE_APB3_CLK           Base clock for APB peripheral block # 3
 58 11              BASE_LCD_CLK            Base clock for LCD
 59 12              BASE_ADCHS_CLK          Base clock for ADCHS
 60 13              BASE_SDIO_CLK           Base clock for SD/MMC
 61 14              BASE_SSP0_CLK           Base clock for SSP0
 62 15              BASE_SSP1_CLK           Base clock for SSP1
 63 16              BASE_UART0_CLK          Base clock for UART0
 64 17              BASE_UART1_CLK          Base clock for UART1
 65 18              BASE_UART2_CLK          Base clock for UART2
 66 19              BASE_UART3_CLK          Base clock for UART3
 67 20              BASE_OUT_CLK            Base clock for CLKOUT pin
 68 24-21           -                       Reserved
 69 25              BASE_AUDIO_CLK          Base clock for audio system (I2S)
 70 26              BASE_CGU_OUT0_CLK       Base clock for CGU_OUT0 clock output
 71 27              BASE_CGU_OUT1_CLK       Base clock for CGU_OUT1 clock output
 72 
 73 BASE_PERIPH_CLK and BASE_SPI_CLK is only available on LPC43xx.
 74 BASE_ADCHS_CLK is only available on LPC4370.
 75 
 76 
 77 Example board file:
 78 
 79 / {
 80         clocks {
 81                 xtal: xtal {
 82                         compatible = "fixed-clock";
 83                         #clock-cells = <0>;
 84                         clock-frequency = <12000000>;
 85                 };
 86 
 87                 xtal32: xtal32 {
 88                         compatible = "fixed-clock";
 89                         #clock-cells = <0>;
 90                         clock-frequency = <32768>;
 91                 };
 92 
 93                 enet_rx_clk: enet_rx_clk {
 94                         compatible = "fixed-clock";
 95                         #clock-cells = <0>;
 96                         clock-frequency = <0>;
 97                         clock-output-names = "enet_rx_clk";
 98                 };
 99 
100                 enet_tx_clk: enet_tx_clk {
101                         compatible = "fixed-clock";
102                         #clock-cells = <0>;
103                         clock-frequency = <0>;
104                         clock-output-names = "enet_tx_clk";
105                 };
106 
107                 gp_clkin: gp_clkin {
108                         compatible = "fixed-clock";
109                         #clock-cells = <0>;
110                         clock-frequency = <0>;
111                         clock-output-names = "gp_clkin";
112                 };
113         };
114 
115         soc {
116                 cgu: clock-controller@40050000 {
117                         compatible = "nxp,lpc1850-cgu";
118                         reg = <0x40050000 0x1000>;
119                         #clock-cells = <1>;
120                         clocks = <&xtal>, <&creg_clk 1>, <&enet_rx_clk>, <&enet_tx_clk>, <&gp_clkin>;
121                 };
122 
123                 /* A CGU and CCU clock consumer */
124                 lcdc: lcdc@40008000 {
125                         ...
126                         clocks = <&cgu BASE_LCD_CLK>, <&ccu1 CLK_CPU_LCD>;
127                         clock-names = "clcdclk", "apb_pclk";
128                         ...
129                 };
130         };
131 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php