ARM: dts: LogicPD Torpedo: Add MT9P031 Support
authorAdam Ford <aford173@gmail.com>
Sat, 9 Jan 2016 05:50:12 +0000 (23:50 -0600)
committerTony Lindgren <tony@atomide.com>
Fri, 12 Feb 2016 21:46:43 +0000 (13:46 -0800)
The Logic PD Torpedo standard kits come with a SOM populated to us an
8-bit parallel camera interface.  This patch pin muxes the omap3-isp
pins, sets the MT9P031 clicks, and configures the i2c2 bus to communicate
with the mt9p031 on address 0x48.

I have not done a lot of testing, but when modprobing
mt9p031, then omap3-isp, the board responds with
MT9P031 detected at address 0x48.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts

index fb13f18..60831b8 100644 (file)
                >;
        };
 
+       isp_pins: pinmux_isp_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE0)   /* cam_hs.cam_hs */
+                       OMAP3_CORE1_IOPAD(0x210e, PIN_INPUT | MUX_MODE0)   /* cam_vs.cam_vs */
+                       OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE0)   /* cam_xclka.cam_xclka */
+                       OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE0)   /* cam_pclk.cam_pclk */
+
+                       OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE0)   /* cam_d0.cam_d0 */
+                       OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE0)   /* cam_d1.cam_d1 */
+                       OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE0)   /* cam_d2.cam_d2 */
+                       OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE0)   /* cam_d3.cam_d3 */
+                       OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE0)   /* cam_d4.cam_d4 */
+                       OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE0)   /* cam_d5.cam_d5 */
+                       OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0)   /* cam_d6.cam_d6 */
+                       OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0)   /* cam_d7.cam_d7 */
+               >;
+       };
+
        dss_dpi_pins1: pinmux_dss_dpi_pins1 {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
        };
 };
 
+&i2c2 {
+       mt9p031@48 {
+               compatible = "aptina,mt9p031";
+               reg = <0x48>;
+               clocks = <&isp 0>;
+               vaa-supply = <&vaux4>;
+               vdd-supply = <&vaux4>;
+               vdd_io-supply = <&vaux4>;
+               port {
+                       mt9p031_out: endpoint {
+                               input-clock-frequency = <24000000>;
+                               pixel-clock-frequency = <72000000>;
+                               remote-endpoint = <&ccdc_ep>;
+                       };
+               };
+       };
+};
+
 &i2c3 {
        touchscreen: tsc2004@48 {
                compatible = "ti,tsc2004";
        };
 };
 
+&isp {
+       pinctrl-names = "default";
+       pinctrl-0 = <&isp_pins>;
+       ports {
+               port@0 {
+                       reg = <0>;
+                       ccdc_ep: endpoint {
+                               remote-endpoint = <&mt9p031_out>;
+                               bus-width = <8>;
+                               hsync-active = <1>;
+                               vsync-active = <1>;
+                               pclk-sample = <0>;
+                       };
+               };
+       };
+};
+
 &uart1 {
        interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
 };