1*4882a593Smuzhiyun* Samsung S3C2443 Clock Controller 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunThe S3C2443 clock controller generates and supplies clock to various controllers 4*4882a593Smuzhiyunwithin the SoC. The clock binding described here is applicable to all SoCs in 5*4882a593Smuzhiyunthe s3c24x family starting with the s3c2443. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunRequired Properties: 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun- compatible: should be one of the following. 10*4882a593Smuzhiyun - "samsung,s3c2416-clock" - controller compatible with S3C2416 SoC. 11*4882a593Smuzhiyun - "samsung,s3c2443-clock" - controller compatible with S3C2443 SoC. 12*4882a593Smuzhiyun - "samsung,s3c2450-clock" - controller compatible with S3C2450 SoC. 13*4882a593Smuzhiyun- reg: physical base address of the controller and length of memory mapped 14*4882a593Smuzhiyun region. 15*4882a593Smuzhiyun- #clock-cells: should be 1. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunEach clock is assigned an identifier and client nodes can use this identifier 18*4882a593Smuzhiyunto specify the clock which they consume. Some of the clocks are available only 19*4882a593Smuzhiyunon a particular SoC. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunAll available clocks are defined as preprocessor macros in 22*4882a593Smuzhiyundt-bindings/clock/s3c2443.h header and can be used in device 23*4882a593Smuzhiyuntree sources. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunExternal clocks: 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunThere are several clocks that are generated outside the SoC. It is expected 28*4882a593Smuzhiyunthat they are defined using standard clock bindings with following 29*4882a593Smuzhiyunclock-output-names: 30*4882a593Smuzhiyun - "xti" - crystal input - required, 31*4882a593Smuzhiyun - "ext" - external clock source - optional, 32*4882a593Smuzhiyun - "ext_i2s" - external I2S clock - optional, 33*4882a593Smuzhiyun - "ext_uart" - external uart clock - optional, 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunExample: Clock controller node: 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun clocks: clock-controller@4c000000 { 38*4882a593Smuzhiyun compatible = "samsung,s3c2416-clock"; 39*4882a593Smuzhiyun reg = <0x4c000000 0x40>; 40*4882a593Smuzhiyun #clock-cells = <1>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunExample: UART controller node that consumes the clock generated by the clock 44*4882a593Smuzhiyun controller (refer to the standard clock bindings for information about 45*4882a593Smuzhiyun "clocks" and "clock-names" properties): 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun serial@50004000 { 48*4882a593Smuzhiyun compatible = "samsung,s3c2440-uart"; 49*4882a593Smuzhiyun reg = <0x50004000 0x4000>; 50*4882a593Smuzhiyun interrupts = <1 23 3 4>, <1 23 4 4>; 51*4882a593Smuzhiyun clock-names = "uart", "clk_uart_baud2", 52*4882a593Smuzhiyun "clk_uart_baud3"; 53*4882a593Smuzhiyun clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>, 54*4882a593Smuzhiyun <&clocks SCLK_UART>; 55*4882a593Smuzhiyun }; 56