blob: db7e59a0e527d0a080dbe5bac17c3ac11f85f845 [file] [log] [blame]
#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
>;
};
};
};
};