Add camera support to N900 dts. Also add a note about MMC & debugging.

Signed-off-by: Pavel Machek <pa...@ucw.cz>


diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 49f3708..b1be53d 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -144,6 +144,15 @@
                io-channel-names = "temp", "bsi", "vbat";
        };
 
+       rear_camera: camera@0 {
+               compatible = "linux,camera";
+
+               module {
+                       model = "TCM8341MD";
+                       sensor = <&cam1>;
+               };
+       };
+
        pwm9: dmtimer-pwm {
                compatible = "ti,omap-dmtimer-pwm";
                #pwm-cells = <3>;
@@ -164,6 +173,31 @@
        };
 };
 
+&isp {
+       vdds_csib-supply = <&vaux2>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&camera_pins>;
+
+       ports {
+               port@1 {
+                       reg = <1>;
+
+                       csi_isp: endpoint {
+                               remote-endpoint = <&csi_cam1>;
+                               bus-type = <3>; /* CCP2 */
+                               clock-lanes = <1>;
+                               data-lanes = <0>;
+                               lane-polarity = <0 0>;
+                               clock-inv = <0>;
+                               /* Select strobe = <1> for back camera, <0> for 
front camera */
+                               strobe = <1>;
+                               crc = <0>;
+                       };
+               };
+       };
+};
+
 &omap3_pmx_core {
        pinctrl-names = "default";
 
@@ -328,6 +362,22 @@
                        OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)       
        /* gpio 157 => cmt_bsi */
                >;
        };
+
+       camera_pins: pinmux_camera {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x210c, PIN_OUTPUT | MUX_MODE7)       
/* cam_hs */
+                       OMAP3_CORE1_IOPAD(0x210e, PIN_OUTPUT | MUX_MODE7)       
/* cam_vs */
+                       OMAP3_CORE1_IOPAD(0x2110, PIN_OUTPUT | MUX_MODE0)       
/* cam_xclka */
+                       OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE7)       
/* cam_d4 */
+                       OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0)        
/* cam_d6 */
+                       OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0)        
/* cam_d7 */
+                       OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE0)        
/* cam_d8 */
+                       OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE0)        
/* cam_d9 */
+                       OMAP3_CORE1_IOPAD(0x212a, PIN_OUTPUT | MUX_MODE7)       
/* cam_d10 */
+                       OMAP3_CORE1_IOPAD(0x212e, PIN_OUTPUT | MUX_MODE7)       
/* cam_xclkb */
+                       OMAP3_CORE1_IOPAD(0x2132, PIN_OUTPUT | MUX_MODE0)       
/* cam_strobe */
+               >;
+       };
 };
 
 &i2c1 {
@@ -726,6 +776,40 @@
                st,max-limit-y = <32>;
                st,max-limit-z = <32>;
        };
+
+       cam1: camera@3e {
+               compatible = "toshiba,et8ek8";
+               reg = <0x3e>;
+
+               vana-supply = <&vaux4>;
+
+               clocks = <&isp 0>;
+               clock-names = "extclk";
+               clock-frequency = <9600000>;
+
+               reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
+
+               port {
+                       csi_cam1: endpoint {
+                               bus-type = <3>; /* CCP2 */
+                               strobe = <1>;
+                               clock-inv = <0>;
+                               crc = <1>;
+
+                               remote-endpoint = <&csi_isp>;
+                       };
+               };
+       };
+
+       /* D/A converter for auto-focus */
+       ad5820: dac@0c {
+               compatible = "adi,ad5820";
+               reg = <0x0c>;
+
+               VANA-supply = <&vaux4>;
+
+               #io-channel-cells = <0>;
+       };
 };
 
 &mmc1 {
@@ -733,6 +817,9 @@
        pinctrl-0 = <&mmc1_pins>;
        vmmc-supply = <&vmmc1>;
        bus-width = <4>;
+       /* For debugging, it is often good idea to remove this GPIO.
+          It means you can remove back cover (to reboot by removing
+          battery) and still use the MMC card. */
        cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */
 };
 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature

Reply via email to