aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorJosh Wu <josh.wu@atmel.com>2015-06-16 06:08:34 -0400
committerNicolas Ferre <nicolas.ferre@atmel.com>2015-07-30 08:09:21 -0400
commit917cdc5f7305c753ed6e58d7e87d25ba023f18b4 (patch)
tree3bf12d66acc33ff2fef7f1016d3f88163e439390 /arch/arm/boot
parent0f17c97e3eceb255b1078a1e3a03d2bb00245d9b (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.dtsi48
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts47
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