mirror of
git://nv-tegra.nvidia.com/device/hardware/nvidia/t23x-public-dts.git
synced 2025-12-22 09:12:02 +03:00
t23x: Add Hawk & Owl support on P3762/P3783.
Made following changes: 1.Add 4xHawk & 4xOwl module support on P3762 & P3783. 2.Fix simultaneous streaming of Owl & Hawk. 3.Update EEPROM address for Hawk & Owl. 4.Add DT support for TSC gen. 5.Add virtual i2c mux node for p3762. 6.Add overlay support for P3762 & P3783. Bug 3620984 Bug 3562348 Bug 3866131 Bug 3932004 Bug 4096788 Bug 4091221 Bug 4146784 Bug 4245526 Change-Id: I15d731249234711c706c2fb8f6a3cfc1d9fc125d Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2979458 Tested-by: Praveen AC <pac@nvidia.com> Reviewed-by: Praveen AC <pac@nvidia.com> Reviewed-by: Ankur Pawar <ankurp@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
be3edd7c6a
commit
1f91d5e8f5
@@ -48,6 +48,9 @@ dtbo-y += tegra234-p3767-camera-p3768-imx477-imx219.dtbo
|
||||
dtbo-y += tegra234-p3737-camera-eCAM130A-overlay.dtbo
|
||||
dtbo-y += tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dtbo
|
||||
dtbo-y += tegra234-p3737-camera-imx390-overlay.dtbo
|
||||
dtbo-y += tegra234-p3737-camera-p3762-a00-overlay.dtbo
|
||||
dtbo-y += tegra234-p3740-camera-p3783-a00-overlay.dtbo
|
||||
|
||||
|
||||
ifneq ($(dtb-y),)
|
||||
dtb-y := $(addprefix $(makefile-path)/,$(dtb-y))
|
||||
|
||||
1589
overlay/tegra234-camera-p3762-a00.dtsi
Normal file
1589
overlay/tegra234-camera-p3762-a00.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
1589
overlay/tegra234-camera-p3783-a00.dtsi
Normal file
1589
overlay/tegra234-camera-p3783-a00.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
288
overlay/tegra234-p3737-camera-p3762-a00-overlay.dts
Normal file
288
overlay/tegra234-p3737-camera-p3762-a00-overlay.dts
Normal file
@@ -0,0 +1,288 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
// Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "tegra234-camera-p3762-a00.dtsi"
|
||||
#include "dt-bindings/gpio/tegra234-gpio.h"
|
||||
#include "dt-bindings/clock/tegra234-clock.h"
|
||||
|
||||
#define CAM0_RST_L TEGRA234_MAIN_GPIO(H, 3)
|
||||
#define CAM0_PWDN TEGRA234_MAIN_GPIO(H, 6)
|
||||
#define CAM1_RST_L TEGRA234_MAIN_GPIO(AC, 1)
|
||||
#define CAM1_PWDN TEGRA234_MAIN_GPIO(AC, 0)
|
||||
#define PWR_EN TEGRA234_MAIN_GPIO(AC, 7)
|
||||
#define GYRO1_IRQ_GPIO TEGRA234_AON_GPIO(CC, 1)
|
||||
#define ACCE1_IRQ_GPIO TEGRA234_AON_GPIO(CC, 0)
|
||||
|
||||
#define CAMERA_I2C_MUX_BUS(x) (0x1E + x)
|
||||
|
||||
/* camera control gpio definitions */
|
||||
/ {
|
||||
overlay-name = "Jetson Camera Hawk-Owl p3762 module";
|
||||
jetson-header-name = "Jetson AGX CSI Connector";
|
||||
compatible = "nvidia,p3737-0000+p3701-0000" , "nvidia,p3737-0000+p3701-0004", "nvidia,p3737-0000+p3701-0005", "nvidia,p3737-0000+p3701-0008";
|
||||
|
||||
fragment-camera-hawk-owl@0 {
|
||||
target-path = "/";
|
||||
__overlay__ {
|
||||
bus@0 {
|
||||
/* set camera gpio direction to output */
|
||||
gpio@2200000 {
|
||||
camera-control-output-low {
|
||||
gpio-hog;
|
||||
output-low;
|
||||
gpios = <CAM0_RST_L 0 CAM0_PWDN 0
|
||||
CAM1_RST_L 0 CAM1_PWDN 0>;
|
||||
label = "cam0-rst", "cam0-pwdn",
|
||||
"cam1-rst", "cam1-pwdn";
|
||||
};
|
||||
};
|
||||
i2c@3180000 {
|
||||
max96712_b@62 {
|
||||
compatible = "nvidia,max96712";
|
||||
reg = <0x62>;
|
||||
channel = "b";
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
ar0234_i@30 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x38>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_j@32 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3a>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_k@34 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3c>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_l@36 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3e>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
i2c@31e0000 {
|
||||
max96712_a@62 {
|
||||
compatible = "nvidia,max96712";
|
||||
reg = <0x62>;
|
||||
channel = "a";
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
virtual_i2c_mux@50 {
|
||||
reg = <0x50>;
|
||||
compatible = "nvidia,virtual-i2c-mux";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
i2c-parent = <&dp_aux_ch3_i2c>;
|
||||
status = "okay";
|
||||
|
||||
i2c@0 {
|
||||
reg = <0>;
|
||||
i2c-mux,deselect-on-exit;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
bmi088_a@69 {
|
||||
compatible = "bmi,bmi088";
|
||||
reg = <0x69>;
|
||||
accel_i2c_addr = <0x19>;
|
||||
accel_irq_gpio = <&gpio_aon ACCE1_IRQ_GPIO GPIO_ACTIVE_HIGH>;
|
||||
gyro_irq_gpio = <&gpio_aon GYRO1_IRQ_GPIO GPIO_ACTIVE_HIGH>;
|
||||
accel_matrix = [01 00 00 00 01 00 00 00 01];
|
||||
gyro_matrix = [01 00 00 00 01 00 00 00 01];
|
||||
gyro_reg_0x18 = <0x81>;
|
||||
status = "okay";
|
||||
};
|
||||
ar0234_a@30 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x40>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_b@31 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x40>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
i2c@1 {
|
||||
reg = <1>;
|
||||
i2c-mux,deselect-on-exit;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ar0234_c@32 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x42>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_d@33 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x42>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_e@34 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x44>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_f@35 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x44>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_g@36 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x46>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_h@37 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x46>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
288
overlay/tegra234-p3740-camera-p3783-a00-overlay.dts
Normal file
288
overlay/tegra234-p3740-camera-p3783-a00-overlay.dts
Normal file
@@ -0,0 +1,288 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
// Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "tegra234-camera-p3783-a00.dtsi"
|
||||
#include "dt-bindings/gpio/tegra234-gpio.h"
|
||||
#include "dt-bindings/clock/tegra234-clock.h"
|
||||
|
||||
#define CAM0_RST_L TEGRA234_MAIN_GPIO(H, 3)
|
||||
#define CAM0_PWDN TEGRA234_MAIN_GPIO(H, 6)
|
||||
#define CAM1_RST_L TEGRA234_MAIN_GPIO(AC, 1)
|
||||
#define CAM1_PWDN TEGRA234_MAIN_GPIO(AC, 0)
|
||||
#define PWR_EN TEGRA234_MAIN_GPIO(AC, 7)
|
||||
#define GYRO1_IRQ_GPIO TEGRA234_AON_GPIO(CC, 1)
|
||||
#define ACCE1_IRQ_GPIO TEGRA234_AON_GPIO(CC, 0)
|
||||
|
||||
#define CAMERA_I2C_MUX_BUS(x) (0x1E + x)
|
||||
|
||||
/* camera control gpio definitions */
|
||||
/ {
|
||||
overlay-name = "Jetson Camera Hawk-Owl p3783 module";
|
||||
jetson-header-name = "Jetson 122pin CSI Connector";
|
||||
compatible = "nvidia,p3740-0000+p3701-0000", "nvidia,p3740-0002-b01+p3701-0002","nvidia,p3740-0002+p3701-0008";
|
||||
|
||||
fragment-camera-hawk-owl@0 {
|
||||
target-path = "/";
|
||||
__overlay__ {
|
||||
bus@0 {
|
||||
/* set camera gpio direction to output */
|
||||
gpio@2200000 {
|
||||
camera-control-output-low {
|
||||
gpio-hog;
|
||||
output-low;
|
||||
gpios = <CAM0_RST_L 0 CAM0_PWDN 0
|
||||
CAM1_RST_L 0 CAM1_PWDN 0>;
|
||||
label = "cam0-rst", "cam0-pwdn",
|
||||
"cam1-rst", "cam1-pwdn";
|
||||
};
|
||||
};
|
||||
i2c@3180000 {
|
||||
max96712_b@62 {
|
||||
compatible = "nvidia,max96712";
|
||||
reg = <0x62>;
|
||||
channel = "b";
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
ar0234_i@30 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x38>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_j@32 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3a>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_k@34 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3c>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_l@36 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "b";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x3e>;
|
||||
reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
i2c@31e0000 {
|
||||
max96712_a@62 {
|
||||
compatible = "nvidia,max96712";
|
||||
reg = <0x62>;
|
||||
channel = "a";
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
virtual_i2c_mux@50 {
|
||||
reg = <0x50>;
|
||||
compatible = "nvidia,virtual-i2c-mux";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
i2c-parent = <&dp_aux_ch3_i2c>;
|
||||
status = "okay";
|
||||
|
||||
i2c@0 {
|
||||
reg = <0>;
|
||||
i2c-mux,deselect-on-exit;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
bmi088_a@69 {
|
||||
compatible = "bmi,bmi088";
|
||||
reg = <0x69>;
|
||||
accel_i2c_addr = <0x19>;
|
||||
accel_irq_gpio = <&gpio_aon ACCE1_IRQ_GPIO GPIO_ACTIVE_HIGH>;
|
||||
gyro_irq_gpio = <&gpio_aon GYRO1_IRQ_GPIO GPIO_ACTIVE_HIGH>;
|
||||
accel_matrix = [01 00 00 00 01 00 00 00 01];
|
||||
gyro_matrix = [01 00 00 00 01 00 00 00 01];
|
||||
gyro_reg_0x18 = <0x81>;
|
||||
status = "okay";
|
||||
};
|
||||
ar0234_a@30 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x40>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_b@31 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x40>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
i2c@1 {
|
||||
reg = <1>;
|
||||
i2c-mux,deselect-on-exit;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ar0234_c@32 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x42>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_d@33 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x42>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_e@34 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x44>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_f@35 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x44>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_g@36 {
|
||||
status = "okay";
|
||||
def-addr = <0x10>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "a";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x46>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
ar0234_h@37 {
|
||||
status = "okay";
|
||||
def-addr = <0x18>;
|
||||
/* Define any required hw resources needed by driver */
|
||||
/* ie. clocks, io pins, power sources */
|
||||
clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
|
||||
<&bpmp TEGRA234_CLK_EXTPERIPH1>;
|
||||
clock-names = "extperiph1", "pllp_grtba";
|
||||
mclk = "extperiph1";
|
||||
channel = "c";
|
||||
has-eeprom;
|
||||
eeprom-addr = <0x46>;
|
||||
reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||||
pwr-gpios = <&gpio PWR_EN GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1016,6 +1016,49 @@
|
||||
nvidia,bpmp = <&bpmp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* TSC Signal Generators */
|
||||
tsc_sig_gen@c6a0000 {
|
||||
compatible = "nvidia,tegra234-cam-cdi-tsc";
|
||||
ranges = <0x0 0x0 0xc6a0000 0x10000>;
|
||||
reg = <0x0 0xc6a0000 0x0 0x18>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
status = "okay";
|
||||
/* EDGE_OUT #0 */
|
||||
generator@380 {
|
||||
reg = <0x380 0x80>;
|
||||
freq_hz = <30>;
|
||||
duty_cycle = <25>;
|
||||
offset_ms = <0>;
|
||||
gpio_pinmux = <&gpio_aon TEGRA234_AON_GPIO(BB, 2) GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
/* EDGE_OUT #1 */
|
||||
generator@400 {
|
||||
reg = <0x400 0x80>;
|
||||
freq_hz = <30>;
|
||||
duty_cycle = <25>;
|
||||
offset_ms = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
/* EDGE_OUT #2 */
|
||||
generator@480 {
|
||||
reg = <0x480 0x80>;
|
||||
freq_hz = <30>;
|
||||
duty_cycle = <25>;
|
||||
offset_ms = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
/* EDGE_OUT #3 */
|
||||
generator@500 {
|
||||
reg = <0x500 0x80>;
|
||||
freq_hz = <30>;
|
||||
duty_cycle = <25>;
|
||||
offset_ms = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user