| #include <dt-bindings/media/camera.h> |
| |
| / { |
| camera-pcl { |
| compatible = "nvidia,tegra124-camera", "simple-bus"; |
| configuration = <0xAA55AA55>; |
| |
| modules { |
| module1: module1@modules { |
| compatible = "sensor,rear"; |
| badge_info = "e1806_rear_camera"; |
| |
| sensor { |
| profile = <&ov5693_1>; |
| platformdata = "ardbeg_ov5693_pdata"; |
| }; |
| focuser { |
| profile = <&ad5823_1>; |
| platformdata = "ardbeg_ad5823_pdata"; |
| }; |
| flash { |
| profile = <&as3648_1>; |
| platformdata = "ardbeg_as3648_pdata"; |
| }; |
| }; |
| module2: module2@modules { |
| compatible = "sensor,front"; |
| badge_info = "e1933_front_camera"; |
| |
| sensor { |
| profile = <&mt9m114_1>; |
| platformdata = "ardbeg_mt9m114_pdata"; |
| }; |
| }; |
| module3: module3@modules { |
| compatible = "sensor,rear"; |
| badge_info = "e1823_rear_camera"; |
| |
| sensor { |
| profile = <&imx135_1>; |
| platformdata = "ardbeg_imx135_pdata"; |
| }; |
| focuser { |
| profile = <&dw9718_1>; |
| platformdata = "ardbeg_dw9718_pdata"; |
| }; |
| flash { |
| profile = <&as3648_1>; |
| platformdata = "ardbeg_as3648_pdata"; |
| }; |
| }; |
| module4: module4@modules { |
| compatible = "sensor,front"; |
| badge_info = "e1823_front_camera"; |
| |
| sensor { |
| profile = <&ar0261_1>; |
| platformdata = "ardbeg_ar0261_pdata"; |
| }; |
| }; |
| module5: module5@modules { |
| compatible = "sensor,rear"; |
| badge_info = "e1933_rear_camera"; |
| |
| sensor { |
| profile = <&ov5693_1>; |
| platformdata = "ardbeg_ov5693_pdata"; |
| }; |
| focuser { |
| profile = <&ad5823_1>; |
| platformdata = "ardbeg_ad5823_pdata"; |
| }; |
| }; |
| }; |
| |
| profiles { |
| ov5693_1: ov5693@2_0010 { |
| index = <1>; |
| chipname = "pcl_OV5693"; |
| type = "sensor"; |
| guid = "s_OV5693"; |
| position = <0>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0x10>; |
| datalen = <2>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "avdd_ov5693", "vdd_af1", "dovdd"; |
| clocks = "mclk"; |
| drivername = "ov5693"; |
| detect = <0x0002 0x300A 0xFFFF 0x5690>; |
| devid = <0x5693>; |
| poweron = < |
| CAMERA_IND_CLK_SET(10000) |
| CAMERA_GPIO_CLR(221) |
| CAMERA_WAITMS(1) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(2) |
| CAMERA_WAITMS(1) |
| CAMERA_GPIO_SET(221) |
| CAMERA_WAITMS(10) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_IND_CLK_CLR |
| CAMERA_GPIO_CLR(221) |
| CAMERA_WAITUS(10) |
| CAMERA_REGULATOR_OFF(2) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_END |
| >; |
| }; |
| mt9m114_1: mt9m114@2_0048 { |
| index = <2>; |
| chipname = "pcl_MT9M114"; |
| type = "sensor"; |
| guid = "sMT9M114"; |
| position = <1>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0x48>; |
| datalen = <2>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vana", "vif"; |
| clocks = "mclk2"; |
| drivername = "mt9m114"; |
| detect = <0x0002 0x0000 0xFFFF 0x2481>; |
| devid = <0x1040>; |
| poweron = < |
| CAMERA_IND_CLK_SET(10000) |
| CAMERA_GPIO_CLR(219) |
| CAMERA_GPIO_SET(222) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_WAITMS(10) |
| CAMERA_GPIO_CLR(222) |
| CAMERA_GPIO_SET(219) |
| CAMERA_WAITMS(20) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_IND_CLK_CLR |
| CAMERA_GPIO_SET(222) |
| CAMERA_GPIO_CLR(219) |
| CAMERA_WAITUS(10) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_END |
| >; |
| }; |
| ad5823_1: ad5823@2_000c { |
| index = <3>; |
| chipname = "pcl_AD5823"; |
| type = "focuser"; |
| guid = "f_AD5823"; |
| position = <0>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0xc>; |
| datalen = <1>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vdd", "vdd_i2c"; |
| drivername = "ad5823"; |
| detect = <0x0002 0x0006 0xFFFF 0x0010>; |
| devid = <0x5823>; |
| poweron = < |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_WAITUS(10) |
| CAMERA_GPIO_SET(223) |
| CAMERA_WAITUS(10) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_GPIO_CLR(223) |
| CAMERA_WAITUS(10) |
| CAMERA_END |
| >; |
| }; |
| as3648_1: as3648@2_0030 { |
| index = <4>; |
| chipname = "pcl_AS3648"; |
| type = "flash"; |
| guid = "l_NVCAM0"; |
| position = <0>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0x30>; |
| datalen = <1>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vi2c", "vin"; |
| drivername = "as3648"; |
| detect = <0x0001 0x0000 0x00F0 0x00b0>; |
| devid = <0x3648>; |
| poweron = < |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_WAITUS(1000) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_WAITUS(10) |
| CAMERA_END |
| >; |
| }; |
| imx135_1: imx135@2_0010 { |
| index = <5>; |
| chipname = "pcl_IMX135"; |
| type = "sensor"; |
| guid = "s_IMX135"; |
| position = <0>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0x10>; |
| datalen = <2>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vana", "vdig_lv", "vif"; |
| clocks = "mclk"; |
| drivername = "imx135"; |
| detect = <0x0002 0x0016 0xFFFF 0x0135>; |
| devid = <0x0135>; |
| poweron = < |
| CAMERA_IND_CLK_SET(10000) |
| CAMERA_GPIO_CLR(221) |
| CAMERA_WAITUS(10) |
| CAMERA_REGULATOR_ON(2) |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_WAITMS(5) |
| CAMERA_GPIO_SET(221) |
| CAMERA_WAITUS(300) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_IND_CLK_CLR |
| CAMERA_GPIO_CLR(221) |
| CAMERA_WAITUS(10) |
| CAMERA_REGULATOR_OFF(2) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_END |
| >; |
| }; |
| ar0261_1: ar0261@2_0036 { |
| index = <6>; |
| chipname = "pcl_AR0261"; |
| type = "sensor"; |
| guid = "s_AR0261"; |
| position = <1>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0x36>; |
| datalen = <2>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vana", "vdig", "vif"; |
| clocks = "mclk2"; |
| drivername = "ar0261"; |
| detect = <0x0002 0x0003 0xFFFF 0x060A>; |
| devid = <0x0261>; |
| poweron = < |
| CAMERA_IND_CLK_SET(10000) |
| CAMERA_GPIO_CLR(219) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(2) |
| CAMERA_WAITMS(40) |
| CAMERA_GPIO_SET(219) |
| CAMERA_WAITMS(20) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_IND_CLK_CLR |
| CAMERA_GPIO_CLR(219) |
| CAMERA_WAITUS(10) |
| CAMERA_REGULATOR_OFF(2) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_END |
| >; |
| }; |
| dw9718_1: dw9718@2_000c { |
| index = <8>; |
| chipname = "pcl_DW9718"; |
| type = "focuser"; |
| guid = "f_NVCAM0"; |
| position = <0>; |
| bustype = "i2c"; |
| busnum = <2>; |
| addr = <0xc>; |
| datalen = <1>; |
| pinmuxgrp = <0xFFFF>; |
| gpios = <3>; |
| regulators = "vdd", "vdd_i2c"; |
| drivername = "dw9718"; |
| detect = <0x0002 0x0004 0xFFFF 0x0060>; |
| devid = <0x9718>; |
| poweron = < |
| CAMERA_REGULATOR_ON(1) |
| CAMERA_REGULATOR_ON(0) |
| CAMERA_WAITUS(10) |
| CAMERA_GPIO_SET(223) |
| CAMERA_WAITUS(10) |
| CAMERA_END |
| >; |
| poweroff = < |
| CAMERA_REGULATOR_OFF(0) |
| CAMERA_REGULATOR_OFF(1) |
| CAMERA_GPIO_CLR(223) |
| CAMERA_WAITUS(10) |
| CAMERA_END |
| >; |
| }; |
| }; |
| }; |
| }; |
| |