diff options
author | Josh Wu <josh.wu@atmel.com> | 2015-06-16 06:08:34 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2015-07-30 08:09:21 -0400 |
commit | 917cdc5f7305c753ed6e58d7e87d25ba023f18b4 (patch) | |
tree | 3bf12d66acc33ff2fef7f1016d3f88163e439390 /arch/arm/boot | |
parent | 0f17c97e3eceb255b1078a1e3a03d2bb00245d9b (diff) |
ARM: at91/dt: add isi & ov2640 dt nodes for at91sam9m10g45ek board
First we group the isi data pins, and for now we only use 0~7 data pins
with HSYNC and VSYNC.
Also add the link for atmel-isi and ov2640 sensor node.
Signed-off-by: Josh Wu <josh.wu@atmel.com>
[nicolas.ferre@atmel.com: move the pinctrl properties in board .dts file]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/at91sam9g45.dtsi | 48 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9m10g45ek.dts | 47 |
2 files changed, 76 insertions, 19 deletions
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index 18177f5a7464..4268341b0ebb 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi | |||
@@ -498,23 +498,31 @@ | |||
498 | }; | 498 | }; |
499 | 499 | ||
500 | isi { | 500 | isi { |
501 | pinctrl_isi: isi-0 { | 501 | pinctrl_isi_data_0_7: isi-0-data-0-7 { |
502 | atmel,pins = <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE /* D8 */ | 502 | atmel,pins = |
503 | AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* D9 */ | 503 | <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* D0 */ |
504 | AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* D10 */ | 504 | AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* D1 */ |
505 | AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE /* D11 */ | 505 | AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* D2 */ |
506 | AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* D0 */ | 506 | AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* D3 */ |
507 | AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* D1 */ | 507 | AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* D4 */ |
508 | AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* D2 */ | 508 | AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* D5 */ |
509 | AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* D3 */ | 509 | AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* D6 */ |
510 | AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* D4 */ | 510 | AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* D7 */ |
511 | AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* D5 */ | 511 | AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PCK */ |
512 | AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* D6 */ | 512 | AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* VSYNC */ |
513 | AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* D7 */ | 513 | AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* HSYNC */ |
514 | AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PCK */ | 514 | }; |
515 | AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* VSYNC */ | 515 | |
516 | AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* HSYNC */ | 516 | pinctrl_isi_data_8_9: isi-0-data-8-9 { |
517 | AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE /* MCK */>; | 517 | atmel,pins = |
518 | <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE /* D8 */ | ||
519 | AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* D9 */ | ||
520 | }; | ||
521 | |||
522 | pinctrl_isi_data_10_11: isi-0-data-10-11 { | ||
523 | atmel,pins = | ||
524 | <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* D10 */ | ||
525 | AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* D11 */ | ||
518 | }; | 526 | }; |
519 | }; | 527 | }; |
520 | 528 | ||
@@ -1067,9 +1075,11 @@ | |||
1067 | interrupts = <26 IRQ_TYPE_LEVEL_HIGH 5>; | 1075 | interrupts = <26 IRQ_TYPE_LEVEL_HIGH 5>; |
1068 | clocks = <&isi_clk>; | 1076 | clocks = <&isi_clk>; |
1069 | clock-names = "isi_clk"; | 1077 | clock-names = "isi_clk"; |
1070 | pinctrl-names = "default"; | ||
1071 | pinctrl-0 = <&pinctrl_isi>; | ||
1072 | status = "disabled"; | 1078 | status = "disabled"; |
1079 | port { | ||
1080 | #address-cells = <1>; | ||
1081 | #size-cells = <0>; | ||
1082 | }; | ||
1073 | }; | 1083 | }; |
1074 | 1084 | ||
1075 | pwm0: pwm@fffb8000 { | 1085 | pwm0: pwm@fffb8000 { |
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts index 1375d3362603..d1ae60a855d4 100644 --- a/arch/arm/boot/dts/at91sam9m10g45ek.dts +++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts | |||
@@ -63,6 +63,25 @@ | |||
63 | 63 | ||
64 | i2c0: i2c@fff84000 { | 64 | i2c0: i2c@fff84000 { |
65 | status = "okay"; | 65 | status = "okay"; |
66 | ov2640: camera@30 { | ||
67 | compatible = "ovti,ov2640"; | ||
68 | reg = <0x30>; | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; | ||
71 | resetb-gpios = <&pioD 12 GPIO_ACTIVE_LOW>; | ||
72 | pwdn-gpios = <&pioD 13 GPIO_ACTIVE_HIGH>; | ||
73 | clocks = <&pck1>; | ||
74 | clock-names = "xvclk"; | ||
75 | assigned-clocks = <&pck1>; | ||
76 | assigned-clock-rates = <25000000>; | ||
77 | |||
78 | port { | ||
79 | ov2640_0: endpoint { | ||
80 | remote-endpoint = <&isi_0>; | ||
81 | bus-width = <8>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
66 | }; | 85 | }; |
67 | 86 | ||
68 | i2c1: i2c@fff88000 { | 87 | i2c1: i2c@fff88000 { |
@@ -101,6 +120,22 @@ | |||
101 | }; | 120 | }; |
102 | 121 | ||
103 | pinctrl@fffff200 { | 122 | pinctrl@fffff200 { |
123 | camera_sensor { | ||
124 | pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 { | ||
125 | atmel,pins = | ||
126 | <AT91_PIOB 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
127 | }; | ||
128 | |||
129 | pinctrl_sensor_reset: sensor_reset-0 { | ||
130 | atmel,pins = | ||
131 | <AT91_PIOD 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; | ||
132 | }; | ||
133 | |||
134 | pinctrl_sensor_power: sensor_power-0 { | ||
135 | atmel,pins = | ||
136 | <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; | ||
137 | }; | ||
138 | }; | ||
104 | mmc0 { | 139 | mmc0 { |
105 | pinctrl_board_mmc0: mmc0-board { | 140 | pinctrl_board_mmc0: mmc0-board { |
106 | atmel,pins = | 141 | atmel,pins = |
@@ -155,6 +190,18 @@ | |||
155 | status = "okay"; | 190 | status = "okay"; |
156 | }; | 191 | }; |
157 | 192 | ||
193 | isi@fffb4000 { | ||
194 | pinctrl-names = "default"; | ||
195 | pinctrl-0 = <&pinctrl_isi_data_0_7>; | ||
196 | status = "okay"; | ||
197 | port { | ||
198 | isi_0: endpoint { | ||
199 | remote-endpoint = <&ov2640_0>; | ||
200 | bus-width = <8>; | ||
201 | }; | ||
202 | }; | ||
203 | }; | ||
204 | |||
158 | pwm0: pwm@fffb8000 { | 205 | pwm0: pwm@fffb8000 { |
159 | status = "okay"; | 206 | status = "okay"; |
160 | 207 | ||