aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBo Shen <voice.shen@atmel.com>2015-03-25 06:41:31 -0400
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2015-08-07 11:33:53 -0400
commita437fc59e8a604667634697a13183dc673559348 (patch)
tree9153f103626b28b420099f24ca1e6368b65200a4
parent432a4a82d06fbbf40a76b7cf2c3494c75eaf9863 (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.dtsi71
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts61
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";