1*c66ec88fSEmmanuel VadotAtmel LCDC Framebuffer 2*c66ec88fSEmmanuel Vadot----------------------------------------------------- 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotRequired properties: 5*c66ec88fSEmmanuel Vadot- compatible : 6*c66ec88fSEmmanuel Vadot "atmel,at91sam9261-lcdc" , 7*c66ec88fSEmmanuel Vadot "atmel,at91sam9263-lcdc" , 8*c66ec88fSEmmanuel Vadot "atmel,at91sam9g10-lcdc" , 9*c66ec88fSEmmanuel Vadot "atmel,at91sam9g45-lcdc" , 10*c66ec88fSEmmanuel Vadot "atmel,at91sam9g45es-lcdc" , 11*c66ec88fSEmmanuel Vadot "atmel,at91sam9rl-lcdc" , 12*c66ec88fSEmmanuel Vadot- reg : Should contain 1 register ranges(address and length). 13*c66ec88fSEmmanuel Vadot Can contain an additional register range(address and length) 14*c66ec88fSEmmanuel Vadot for fixed framebuffer memory. Useful for dedicated memories. 15*c66ec88fSEmmanuel Vadot- interrupts : framebuffer controller interrupt 16*c66ec88fSEmmanuel Vadot- display: a phandle pointing to the display node 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotRequired nodes: 19*c66ec88fSEmmanuel Vadot- display: a display node is required to initialize the lcd panel 20*c66ec88fSEmmanuel Vadot This should be in the board dts. 21*c66ec88fSEmmanuel Vadot- default-mode: a videomode within the display with timing parameters 22*c66ec88fSEmmanuel Vadot as specified below. 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel VadotOptional properties: 25*c66ec88fSEmmanuel Vadot- lcd-supply: Regulator for LCD supply voltage. 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel VadotExample: 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadot fb0: fb@00500000 { 30*c66ec88fSEmmanuel Vadot compatible = "atmel,at91sam9g45-lcdc"; 31*c66ec88fSEmmanuel Vadot reg = <0x00500000 0x1000>; 32*c66ec88fSEmmanuel Vadot interrupts = <23 3 0>; 33*c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 34*c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_fb>; 35*c66ec88fSEmmanuel Vadot display = <&display0>; 36*c66ec88fSEmmanuel Vadot #address-cells = <1>; 37*c66ec88fSEmmanuel Vadot #size-cells = <1>; 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel VadotExample for fixed framebuffer memory: 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot fb0: fb@00500000 { 44*c66ec88fSEmmanuel Vadot compatible = "atmel,at91sam9263-lcdc"; 45*c66ec88fSEmmanuel Vadot reg = <0x00700000 0x1000 0x70000000 0x200000>; 46*c66ec88fSEmmanuel Vadot [...] 47*c66ec88fSEmmanuel Vadot }; 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel VadotAtmel LCDC Display 50*c66ec88fSEmmanuel Vadot----------------------------------------------------- 51*c66ec88fSEmmanuel VadotRequired properties (as per of_videomode_helper): 52*c66ec88fSEmmanuel Vadot 53*c66ec88fSEmmanuel Vadot - atmel,dmacon: dma controller configuration 54*c66ec88fSEmmanuel Vadot - atmel,lcdcon2: lcd controller configuration 55*c66ec88fSEmmanuel Vadot - atmel,guard-time: lcd guard time (Delay in frame periods) 56*c66ec88fSEmmanuel Vadot - bits-per-pixel: lcd panel bit-depth. 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel VadotOptional properties (as per of_videomode_helper): 59*c66ec88fSEmmanuel Vadot - atmel,lcdcon-backlight: enable backlight 60*c66ec88fSEmmanuel Vadot - atmel,lcdcon-backlight-inverted: invert backlight PWM polarity 61*c66ec88fSEmmanuel Vadot - atmel,lcd-wiring-mode: lcd wiring mode "RGB" or "BRG" 62*c66ec88fSEmmanuel Vadot - atmel,power-control-gpio: gpio to power on or off the LCD (as many as needed) 63*c66ec88fSEmmanuel Vadot 64*c66ec88fSEmmanuel VadotExample: 65*c66ec88fSEmmanuel Vadot display0: display { 66*c66ec88fSEmmanuel Vadot bits-per-pixel = <32>; 67*c66ec88fSEmmanuel Vadot atmel,lcdcon-backlight; 68*c66ec88fSEmmanuel Vadot atmel,dmacon = <0x1>; 69*c66ec88fSEmmanuel Vadot atmel,lcdcon2 = <0x80008002>; 70*c66ec88fSEmmanuel Vadot atmel,guard-time = <9>; 71*c66ec88fSEmmanuel Vadot atmel,lcd-wiring-mode = <1>; 72*c66ec88fSEmmanuel Vadot 73*c66ec88fSEmmanuel Vadot display-timings { 74*c66ec88fSEmmanuel Vadot native-mode = <&timing0>; 75*c66ec88fSEmmanuel Vadot timing0: timing0 { 76*c66ec88fSEmmanuel Vadot clock-frequency = <9000000>; 77*c66ec88fSEmmanuel Vadot hactive = <480>; 78*c66ec88fSEmmanuel Vadot vactive = <272>; 79*c66ec88fSEmmanuel Vadot hback-porch = <1>; 80*c66ec88fSEmmanuel Vadot hfront-porch = <1>; 81*c66ec88fSEmmanuel Vadot vback-porch = <40>; 82*c66ec88fSEmmanuel Vadot vfront-porch = <1>; 83*c66ec88fSEmmanuel Vadot hsync-len = <45>; 84*c66ec88fSEmmanuel Vadot vsync-len = <1>; 85*c66ec88fSEmmanuel Vadot }; 86*c66ec88fSEmmanuel Vadot }; 87*c66ec88fSEmmanuel Vadot }; 88