Skip to content

Instantly share code, notes, and snippets.

@bambooSocks
Last active June 12, 2020 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bambooSocks/41b432b01cf2ae42ab07c9d97178ca86 to your computer and use it in GitHub Desktop.
Save bambooSocks/41b432b01cf2ae42ab07c9d97178ca86 to your computer and use it in GitHub Desktop.
#include "tegra194-camera-rbpcv2-imx219.dtsi"
#define CAM0_PWDN TEGRA194_MAIN_GPIO(P, 4)
#define CAM1_PWDN TEGRA194_MAIN_GPIO(P, 5)
#define CAM2_PWDN TEGRA194_MAIN_GPIO(Q, 1)
#define CAM3_PWDN TEGRA194_MAIN_GPIO(Q, 3)
#define CAM4_PWDN TEGRA194_MAIN_GPIO(N, 1)
#define CAM5_PWDN TEGRA194_MAIN_GPIO(C, 4)
#define CAMERA_I2C_MUX_BUS(x) (0x1E + x)
/ {
gpio@2200000 {
camera-control-output-low {
gpio-hog;
output-low;
gpios = <CAM0_PWDN 0 CAM1_PWDN 0 CAM2_PWDN 0 CAM3_PWDN 0 CAM4_PWDN 0 CAM5_PWDN 0>;
label = "cam0-pwdn","cam1-pwdn","cam2-pwdn","cam3-pwdn","cam4-pwdn","cam5-pwdn";
};
};
i2c@3180000 {
#address-cells = <1>;
#size-cells = <0>;
tca9548@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
vcc-supply = <&p3509_vdd_3v3_cvb>;
skip_mux_detect;
force_bus_start = <CAMERA_I2C_MUX_BUS(0)>;
i2c@0 {
reg = <0>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam0: rbpcv2_imx219_a@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph1", "pllp_grtba";
mclk = "extperiph1";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
i2c@1 {
reg = <1>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam1: rbpcv2_imx219_c@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH2>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph2", "pllp_grtba";
mclk = "extperiph2";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
i2c@2 {
reg = <2>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam2: rbpcv2_imx219_d@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph1", "pllp_grtba";
mclk = "extperiph1";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM2_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
i2c@3 {
reg = <3>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam3: rbpcv2_imx219_e@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH2>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph2", "pllp_grtba";
mclk = "extperiph2";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM3_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
i2c@4 {
reg = <4>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam4: rbpcv2_imx219_g@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH2>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph2", "pllp_grtba";
mclk = "extperiph2";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM4_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
i2c@5 {
reg = <5>;
i2c-mux,deselect-on-exit;
#address-cells = <1>;
#size-cells = <0>;
imx219_cam5: rbpcv2_imx219_b@10 {
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH2>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "extperiph2", "pllp_grtba";
mclk = "extperiph2";
clock-frequency = <24000000>;
reset-gpios = <&tegra_main_gpio CAM5_PWDN GPIO_ACTIVE_HIGH>;
vana-supply = <&p3509_avdd_cam_2v8>;
vdig-supply = <&p3509_vdd_sys_en>;
dovdd-supply = <&p3509_avdd_cam_2v8>;
};
};
};
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment