1*c66ec88fSEmmanuel Vadot* Samsung S3C2412 Clock Controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe S3C2412 clock controller generates and supplies clock to various controllers 4*c66ec88fSEmmanuel Vadotwithin the SoC. The clock binding described here is applicable to the s3c2412 5*c66ec88fSEmmanuel Vadotand s3c2413 SoCs in the s3c24x family. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotRequired Properties: 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadot- compatible: should be "samsung,s3c2412-clock" 10*c66ec88fSEmmanuel Vadot- reg: physical base address of the controller and length of memory mapped 11*c66ec88fSEmmanuel Vadot region. 12*c66ec88fSEmmanuel Vadot- #clock-cells: should be 1. 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel VadotEach clock is assigned an identifier and client nodes can use this identifier 15*c66ec88fSEmmanuel Vadotto specify the clock which they consume. Some of the clocks are available only 16*c66ec88fSEmmanuel Vadoton a particular SoC. 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotAll available clocks are defined as preprocessor macros in 19*c66ec88fSEmmanuel Vadotdt-bindings/clock/s3c2412.h header and can be used in device 20*c66ec88fSEmmanuel Vadottree sources. 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotExternal clocks: 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel VadotThere are several clocks that are generated outside the SoC. It is expected 25*c66ec88fSEmmanuel Vadotthat they are defined using standard clock bindings with following 26*c66ec88fSEmmanuel Vadotclock-output-names: 27*c66ec88fSEmmanuel Vadot - "xti" - crystal input - required, 28*c66ec88fSEmmanuel Vadot - "ext" - external clock source - optional, 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel VadotExample: Clock controller node: 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot clocks: clock-controller@4c000000 { 33*c66ec88fSEmmanuel Vadot compatible = "samsung,s3c2412-clock"; 34*c66ec88fSEmmanuel Vadot reg = <0x4c000000 0x20>; 35*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 36*c66ec88fSEmmanuel Vadot }; 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel VadotExample: UART controller node that consumes the clock generated by the clock 39*c66ec88fSEmmanuel Vadot controller (refer to the standard clock bindings for information about 40*c66ec88fSEmmanuel Vadot "clocks" and "clock-names" properties): 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot serial@50004000 { 43*c66ec88fSEmmanuel Vadot compatible = "samsung,s3c2412-uart"; 44*c66ec88fSEmmanuel Vadot reg = <0x50004000 0x4000>; 45*c66ec88fSEmmanuel Vadot interrupts = <1 23 3 4>, <1 23 4 4>; 46*c66ec88fSEmmanuel Vadot clock-names = "uart", "clk_uart_baud2", "clk_uart_baud3"; 47*c66ec88fSEmmanuel Vadot clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>, 48*c66ec88fSEmmanuel Vadot <&clocks SCLK_UART>; 49*c66ec88fSEmmanuel Vadot }; 50