diff options
author | Bo Shen <voice.shen@atmel.com> | 2015-03-25 06:41:31 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2015-08-07 11:33:53 -0400 |
commit | a437fc59e8a604667634697a13183dc673559348 (patch) | |
tree | 9153f103626b28b420099f24ca1e6368b65200a4 | |
parent | 432a4a82d06fbbf40a76b7cf2c3494c75eaf9863 (diff) |
ARM: at91/dt: add drm support for at91sam9n12ek
Add drm support for at91sam9n12ek board.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/at91sam9n12.dtsi | 71 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9n12ek.dts | 61 |
2 files changed, 132 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi index 345186f91422..32bc9a189db0 100644 --- a/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/arch/arm/boot/dts/at91sam9n12.dtsi | |||
@@ -445,6 +445,34 @@ | |||
445 | clock-names = "t0_clk", "slow_clk"; | 445 | clock-names = "t0_clk", "slow_clk"; |
446 | }; | 446 | }; |
447 | 447 | ||
448 | hlcdc: hlcdc@f8038000 { | ||
449 | compatible = "atmel,at91sam9n12-hlcdc"; | ||
450 | reg = <0xf8038000 0x2000>; | ||
451 | interrupts = <25 IRQ_TYPE_LEVEL_HIGH 0>; | ||
452 | clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; | ||
453 | clock-names = "periph_clk", "sys_clk", "slow_clk"; | ||
454 | status = "disabled"; | ||
455 | |||
456 | hlcdc-display-controller { | ||
457 | compatible = "atmel,hlcdc-display-controller"; | ||
458 | #address-cells = <1>; | ||
459 | #size-cells = <0>; | ||
460 | |||
461 | port@0 { | ||
462 | #address-cells = <1>; | ||
463 | #size-cells = <0>; | ||
464 | reg = <0>; | ||
465 | }; | ||
466 | }; | ||
467 | |||
468 | hlcdc_pwm: hlcdc-pwm { | ||
469 | compatible = "atmel,hlcdc-pwm"; | ||
470 | pinctrl-names = "default"; | ||
471 | pinctrl-0 = <&pinctrl_lcd_pwm>; | ||
472 | #pwm-cells = <3>; | ||
473 | }; | ||
474 | }; | ||
475 | |||
448 | dma: dma-controller@ffffec00 { | 476 | dma: dma-controller@ffffec00 { |
449 | compatible = "atmel,at91sam9g45-dma"; | 477 | compatible = "atmel,at91sam9g45-dma"; |
450 | reg = <0xffffec00 0x200>; | 478 | reg = <0xffffec00 0x200>; |
@@ -477,6 +505,49 @@ | |||
477 | }; | 505 | }; |
478 | }; | 506 | }; |
479 | 507 | ||
508 | lcd { | ||
509 | pinctrl_lcd_base: lcd-base-0 { | ||
510 | atmel,pins = | ||
511 | <AT91_PIOC 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDVSYNC */ | ||
512 | AT91_PIOC 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDHSYNC */ | ||
513 | AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDISP */ | ||
514 | AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDEN */ | ||
515 | AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPCK */ | ||
516 | }; | ||
517 | |||
518 | pinctrl_lcd_pwm: lcd-pwm-0 { | ||
519 | atmel,pins = <AT91_PIOC 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPWM */ | ||
520 | }; | ||
521 | |||
522 | pinctrl_lcd_rgb888: lcd-rgb-3 { | ||
523 | atmel,pins = | ||
524 | <AT91_PIOC 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */ | ||
525 | AT91_PIOC 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */ | ||
526 | AT91_PIOC 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */ | ||
527 | AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */ | ||
528 | AT91_PIOC 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */ | ||
529 | AT91_PIOC 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */ | ||
530 | AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */ | ||
531 | AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */ | ||
532 | AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */ | ||
533 | AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */ | ||
534 | AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */ | ||
535 | AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */ | ||
536 | AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */ | ||
537 | AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */ | ||
538 | AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */ | ||
539 | AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */ | ||
540 | AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD16 pin */ | ||
541 | AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD17 pin */ | ||
542 | AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */ | ||
543 | AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */ | ||
544 | AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */ | ||
545 | AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */ | ||
546 | AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */ | ||
547 | AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */ | ||
548 | }; | ||
549 | }; | ||
550 | |||
480 | usart0 { | 551 | usart0 { |
481 | pinctrl_usart0: usart0-0 { | 552 | pinctrl_usart0: usart0-0 { |
482 | atmel,pins = | 553 | atmel,pins = |
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts index eab17fcace6d..efa75064d38a 100644 --- a/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/arch/arm/boot/dts/at91sam9n12ek.dts | |||
@@ -128,6 +128,22 @@ | |||
128 | }; | 128 | }; |
129 | }; | 129 | }; |
130 | 130 | ||
131 | hlcdc: hlcdc@f8038000 { | ||
132 | status = "okay"; | ||
133 | |||
134 | hlcdc-display-controller { | ||
135 | pinctrl-names = "default"; | ||
136 | pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; | ||
137 | |||
138 | port@0 { | ||
139 | hlcdc_panel_output: endpoint@0 { | ||
140 | reg = <0>; | ||
141 | remote-endpoint = <&panel_input>; | ||
142 | }; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | |||
131 | usb1: gadget@f803c000 { | 147 | usb1: gadget@f803c000 { |
132 | pinctrl-names = "default"; | 148 | pinctrl-names = "default"; |
133 | pinctrl-0 = <&pinctrl_usb1_vbus_sense>; | 149 | pinctrl-0 = <&pinctrl_usb1_vbus_sense>; |
@@ -161,6 +177,23 @@ | |||
161 | }; | 177 | }; |
162 | }; | 178 | }; |
163 | 179 | ||
180 | backlight: backlight { | ||
181 | compatible = "pwm-backlight"; | ||
182 | pwms = <&hlcdc_pwm 0 50000 0>; | ||
183 | brightness-levels = <0 4 8 16 32 64 128 255>; | ||
184 | default-brightness-level = <6>; | ||
185 | power-supply = <&bl_reg>; | ||
186 | status = "okay"; | ||
187 | }; | ||
188 | |||
189 | bl_reg: backlight_regulator { | ||
190 | compatible = "regulator-fixed"; | ||
191 | regulator-name = "backlight-power-supply"; | ||
192 | regulator-min-microvolt = <5000000>; | ||
193 | regulator-max-microvolt = <5000000>; | ||
194 | status = "okay"; | ||
195 | }; | ||
196 | |||
164 | leds { | 197 | leds { |
165 | compatible = "gpio-leds"; | 198 | compatible = "gpio-leds"; |
166 | 199 | ||
@@ -194,6 +227,34 @@ | |||
194 | }; | 227 | }; |
195 | }; | 228 | }; |
196 | 229 | ||
230 | panel: panel { | ||
231 | compatible = "qd,qd43003c0-40", "simple-panel"; | ||
232 | backlight = <&backlight>; | ||
233 | power-supply = <&panel_reg>; | ||
234 | #address-cells = <1>; | ||
235 | #size-cells = <0>; | ||
236 | status = "okay"; | ||
237 | |||
238 | port@0 { | ||
239 | reg = <0>; | ||
240 | #address-cells = <1>; | ||
241 | #size-cells = <0>; | ||
242 | |||
243 | panel_input: endpoint@0 { | ||
244 | reg = <0>; | ||
245 | remote-endpoint = <&hlcdc_panel_output>; | ||
246 | }; | ||
247 | }; | ||
248 | }; | ||
249 | |||
250 | panel_reg: panel_regulator { | ||
251 | compatible = "regulator-fixed"; | ||
252 | regulator-name = "panel-power-supply"; | ||
253 | regulator-min-microvolt = <3300000>; | ||
254 | regulator-max-microvolt = <3300000>; | ||
255 | status = "okay"; | ||
256 | }; | ||
257 | |||
197 | sound { | 258 | sound { |
198 | compatible = "atmel,asoc-wm8904"; | 259 | compatible = "atmel,asoc-wm8904"; |
199 | pinctrl-names = "default"; | 260 | pinctrl-names = "default"; |