1*4882a593SmuzhiyunDevice-Tree bindings for Samsung SoC display controller (FIMD) 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunFIMD (Fully Interactive Mobile Display) is the Display Controller for the 4*4882a593SmuzhiyunSamsung series of SoCs which transfers the image data from a video memory 5*4882a593Smuzhiyunbuffer to an external LCD interface. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunRequired properties: 8*4882a593Smuzhiyun- compatible: value should be one of the following 9*4882a593Smuzhiyun "samsung,s3c2443-fimd"; /* for S3C24XX SoCs */ 10*4882a593Smuzhiyun "samsung,s3c6400-fimd"; /* for S3C64XX SoCs */ 11*4882a593Smuzhiyun "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ 12*4882a593Smuzhiyun "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ 13*4882a593Smuzhiyun "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ 14*4882a593Smuzhiyun "samsung,exynos5250-fimd"; /* for Exynos5250 SoCs */ 15*4882a593Smuzhiyun "samsung,exynos5420-fimd"; /* for Exynos5420/5422/5800 SoCs */ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun- reg: physical base address and length of the FIMD registers set. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun- interrupts: should contain a list of all FIMD IP block interrupts in the 20*4882a593Smuzhiyun order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 21*4882a593Smuzhiyun format depends on the interrupt controller used. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun- interrupt-names: should contain the interrupt names: "fifo", "vsync", 24*4882a593Smuzhiyun "lcd_sys", in the same order as they were listed in the interrupts 25*4882a593Smuzhiyun property. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun- pinctrl-0: pin control group to be used for this controller. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun- pinctrl-names: must contain a "default" entry. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun- clocks: must include clock specifiers corresponding to entries in the 32*4882a593Smuzhiyun clock-names property. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun- clock-names: list of clock names sorted in the same order as the clocks 35*4882a593Smuzhiyun property. Must contain "sclk_fimd" and "fimd". 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunOptional Properties: 38*4882a593Smuzhiyun- power-domains: a phandle to FIMD power domain node. 39*4882a593Smuzhiyun- samsung,invert-vden: video enable signal is inverted 40*4882a593Smuzhiyun- samsung,invert-vclk: video clock signal is inverted 41*4882a593Smuzhiyun- display-timings: timing settings for FIMD, as described in document [1]. 42*4882a593Smuzhiyun Can be used in case timings cannot be provided otherwise 43*4882a593Smuzhiyun or to override timings provided by the panel. 44*4882a593Smuzhiyun- samsung,sysreg: handle to syscon used to control the system registers 45*4882a593Smuzhiyun- i80-if-timings: timing configuration for lcd i80 interface support. 46*4882a593Smuzhiyun - cs-setup: clock cycles for the active period of address signal is enabled 47*4882a593Smuzhiyun until chip select is enabled. 48*4882a593Smuzhiyun If not specified, the default value(0) will be used. 49*4882a593Smuzhiyun - wr-setup: clock cycles for the active period of CS signal is enabled until 50*4882a593Smuzhiyun write signal is enabled. 51*4882a593Smuzhiyun If not specified, the default value(0) will be used. 52*4882a593Smuzhiyun - wr-active: clock cycles for the active period of CS is enabled. 53*4882a593Smuzhiyun If not specified, the default value(1) will be used. 54*4882a593Smuzhiyun - wr-hold: clock cycles for the active period of CS is disabled until write 55*4882a593Smuzhiyun signal is disabled. 56*4882a593Smuzhiyun If not specified, the default value(0) will be used. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun The parameters are defined as: 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun VCLK(internal) __|??????|_____|??????|_____|??????|_____|??????|_____|?? 61*4882a593Smuzhiyun : : : : : 62*4882a593Smuzhiyun Address Output --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX 63*4882a593Smuzhiyun | cs-setup+1 | : : : 64*4882a593Smuzhiyun |<---------->| : : : 65*4882a593Smuzhiyun Chip Select ???????????????|____________:____________:____________|?? 66*4882a593Smuzhiyun | wr-setup+1 | | wr-hold+1 | 67*4882a593Smuzhiyun |<---------->| |<---------->| 68*4882a593Smuzhiyun Write Enable ????????????????????????????|____________|??????????????? 69*4882a593Smuzhiyun | wr-active+1| 70*4882a593Smuzhiyun |<---------->| 71*4882a593Smuzhiyun Video Data ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>-- 72*4882a593Smuzhiyun 73*4882a593SmuzhiyunThe device node can contain 'port' child nodes according to the bindings defined 74*4882a593Smuzhiyunin [2]. The following are properties specific to those nodes: 75*4882a593Smuzhiyun- reg: (required) port index, can be: 76*4882a593Smuzhiyun 0 - for CAMIF0 input, 77*4882a593Smuzhiyun 1 - for CAMIF1 input, 78*4882a593Smuzhiyun 2 - for CAMIF2 input, 79*4882a593Smuzhiyun 3 - for parallel output, 80*4882a593Smuzhiyun 4 - for write-back interface 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun[1]: Documentation/devicetree/bindings/display/panel/display-timing.txt 83*4882a593Smuzhiyun[2]: Documentation/devicetree/bindings/media/video-interfaces.txt 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunExample: 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunSoC specific DT entry: 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun fimd@11c00000 { 90*4882a593Smuzhiyun compatible = "samsung,exynos4210-fimd"; 91*4882a593Smuzhiyun interrupt-parent = <&combiner>; 92*4882a593Smuzhiyun reg = <0x11c00000 0x20000>; 93*4882a593Smuzhiyun interrupt-names = "fifo", "vsync", "lcd_sys"; 94*4882a593Smuzhiyun interrupts = <11 0>, <11 1>, <11 2>; 95*4882a593Smuzhiyun clocks = <&clock 140>, <&clock 283>; 96*4882a593Smuzhiyun clock-names = "sclk_fimd", "fimd"; 97*4882a593Smuzhiyun power-domains = <&pd_lcd0>; 98*4882a593Smuzhiyun status = "disabled"; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunBoard specific DT entry: 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun fimd@11c00000 { 104*4882a593Smuzhiyun pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 105*4882a593Smuzhiyun pinctrl-names = "default"; 106*4882a593Smuzhiyun status = "okay"; 107*4882a593Smuzhiyun }; 108