Jetpack/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-i2c.dtsi

211 lines
6.2 KiB
Plaintext

/*
* Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#include <dt-bindings/gpio/tegra194-gpio.h>
/ {
aliases {
i2c0 = &gen1_i2c;
i2c1 = &gen2_i2c;
i2c2 = &cam_i2c;
i2c3 = &dp_aux_ch1_i2c;
i2c4 = &pwr_i2c;
i2c5 = &dp_aux_ch0_i2c;
i2c6 = &dp_aux_ch2_i2c;
i2c7 = &gen8_i2c;
i2c8 = &dp_aux_ch3_i2c;
};
gen1_i2c: i2c@3160000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x3160000 0x0 0x100>;
nvidia,hw-instance-id = <0x0>;
interrupts = <0 TEGRA194_IRQ_I2C1 0x04>;
scl-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(I, 3) 0>;
sda-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(I, 4) 0>;
status = "disabled";
clock-frequency = <400000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C1
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C1>;
reset-names = "i2c";
dmas = <&gpcdma 21>, <&gpcdma 21>;
dma-names = "rx", "tx";
};
gen2_i2c: i2c@c240000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0xc240000 0x0 0x100>;
nvidia,hw-instance-id = <0x1>;
interrupts = <0 TEGRA194_IRQ_I2C2 0x04>;
scl-gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 7) 0>;
sda-gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(DD, 0) 0>;
status = "disabled";
clock-frequency = <100000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C2
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C2>;
reset-names = "i2c";
dmas = <&gpcdma 22>, <&gpcdma 22>;
dma-names = "rx", "tx";
};
cam_i2c: i2c@3180000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x3180000 0x0 0x100>;
nvidia,hw-instance-id = <0x2>;
interrupts = <0 TEGRA194_IRQ_I2C3 0x04>;
scl-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(P, 2) 0>;
sda-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(P, 3) 0>;
status = "disabled";
clock-frequency = <400000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C3
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C3>;
reset-names = "i2c";
dmas = <&gpcdma 23>, <&gpcdma 23>;
dma-names = "rx", "tx";
};
dp_aux_ch1_i2c: i2c@3190000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x3190000 0x0 0x100>;
nvidia,hw-instance-id = <0x3>;
interrupts = <0 TEGRA194_IRQ_I2C4 0x04>;
status = "disabled";
clock-frequency = <100000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C4
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C4>;
reset-names = "i2c";
dmas = <&gpcdma 26>, <&gpcdma 26>;
dma-names = "rx", "tx";
};
pwr_i2c: bpmp_i2c {
#address-cells = <1>;
#size-cells = <0>;
compatible = "nvidia,tegra186-bpmp-i2c";
status = "disabled";
nvidia,hw-instance-id = <0x4>;
adapter = <5>;
};
dp_aux_ch0_i2c: i2c@31b0000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x31b0000 0x0 0x100>;
nvidia,hw-instance-id = <0x5>;
interrupts = <0 TEGRA194_IRQ_I2C6 0x04>;
status = "disabled";
clock-frequency = <100000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C6
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C6>;
reset-names = "i2c";
dmas = <&gpcdma 30>, <&gpcdma 30>;
dma-names = "rx", "tx";
};
dp_aux_ch2_i2c: i2c@31c0000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x31c0000 0x0 0x100>;
nvidia,hw-instance-id = <0x6>;
interrupts = <0 TEGRA194_IRQ_I2C7 0x04>;
status = "disabled";
clock-frequency = <100000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C7
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C7>;
reset-names = "i2c";
dmas = <&gpcdma 27>, <&gpcdma 27>;
dma-names = "rx", "tx";
};
gen8_i2c: i2c@c250000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0xc250000 0x0 0x100>;
nvidia,hw-instance-id = <0x7>;
interrupts = <0 TEGRA194_IRQ_I2C8 0x04>;
scl-gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(DD, 1) 0>;
sda-gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(DD, 2) 0>;
status = "disabled";
clock-frequency = <400000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C8
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C8>;
reset-names = "i2c";
dmas = <&gpcdma 0>, <&gpcdma 0>;
dma-names = "rx", "tx";
};
dp_aux_ch3_i2c: i2c@31e0000 {
#address-cells = <1>;
#size-cells = <0>;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
dma-coherent;
compatible = "nvidia,tegra194-i2c";
reg = <0x0 0x31e0000 0x0 0x100>;
nvidia,hw-instance-id = <0x8>;
interrupts = <0 TEGRA194_IRQ_I2C9 0x04>;
status = "disabled";
clock-frequency = <100000>;
clocks = <&bpmp_clks TEGRA194_CLK_I2C9
&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = "div-clk", "parent";
resets = <&bpmp_resets TEGRA194_RESET_I2C9>;
reset-names = "i2c";
dmas = <&gpcdma 31>, <&gpcdma 31>;
dma-names = "rx", "tx";
};
};