arm64: dts: qcom: sc8280xp: camss: Add CCI definitions
sc8280xp has four Camera Control Interface (CCI) blocks which pinout to two I2C master controllers for each CCI. The CCI I2C pins are not muxed so we define them in the dtsi. Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Link: https://lore.kernel.org/r/20240111-linux-next-24-01-02-sc8280xp-camss-core-dtsi-v4-3-cdd5c57ff1dc@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
59c84ee83f
commit
7cfa2e758b
@@ -3451,6 +3451,169 @@
|
||||
};
|
||||
};
|
||||
|
||||
cci0: cci@ac4a000 {
|
||||
compatible = "qcom,sc8280xp-cci", "qcom,msm8996-cci";
|
||||
reg = <0 0x0ac4a000 0 0x1000>;
|
||||
|
||||
interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
|
||||
<&camcc CAMCC_SLOW_AHB_CLK_SRC>,
|
||||
<&camcc CAMCC_CPAS_AHB_CLK>,
|
||||
<&camcc CAMCC_CCI_0_CLK>;
|
||||
clock-names = "camnoc_axi",
|
||||
"slow_ahb_src",
|
||||
"cpas_ahb",
|
||||
"cci";
|
||||
|
||||
power-domains = <&camcc TITAN_TOP_GDSC>;
|
||||
|
||||
pinctrl-0 = <&cci0_default>;
|
||||
pinctrl-1 = <&cci0_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
cci0_i2c0: i2c-bus@0 {
|
||||
reg = <0>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
cci0_i2c1: i2c-bus@1 {
|
||||
reg = <1>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
cci1: cci@ac4b000 {
|
||||
compatible = "qcom,sc8280xp-cci", "qcom,msm8996-cci";
|
||||
reg = <0 0x0ac4b000 0 0x1000>;
|
||||
|
||||
interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
|
||||
<&camcc CAMCC_SLOW_AHB_CLK_SRC>,
|
||||
<&camcc CAMCC_CPAS_AHB_CLK>,
|
||||
<&camcc CAMCC_CCI_1_CLK>;
|
||||
clock-names = "camnoc_axi",
|
||||
"slow_ahb_src",
|
||||
"cpas_ahb",
|
||||
"cci";
|
||||
|
||||
power-domains = <&camcc TITAN_TOP_GDSC>;
|
||||
|
||||
pinctrl-0 = <&cci1_default>;
|
||||
pinctrl-1 = <&cci1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
cci1_i2c0: i2c-bus@0 {
|
||||
reg = <0>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
cci1_i2c1: i2c-bus@1 {
|
||||
reg = <1>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
cci2: cci@ac4c000 {
|
||||
compatible = "qcom,sc8280xp-cci", "qcom,msm8996-cci";
|
||||
reg = <0 0x0ac4c000 0 0x1000>;
|
||||
|
||||
interrupts = <GIC_SPI 651 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
|
||||
<&camcc CAMCC_SLOW_AHB_CLK_SRC>,
|
||||
<&camcc CAMCC_CPAS_AHB_CLK>,
|
||||
<&camcc CAMCC_CCI_2_CLK>;
|
||||
clock-names = "camnoc_axi",
|
||||
"slow_ahb_src",
|
||||
"cpas_ahb",
|
||||
"cci";
|
||||
power-domains = <&camcc TITAN_TOP_GDSC>;
|
||||
|
||||
pinctrl-0 = <&cci2_default>;
|
||||
pinctrl-1 = <&cci2_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
cci2_i2c0: i2c-bus@0 {
|
||||
reg = <0>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
cci2_i2c1: i2c-bus@1 {
|
||||
reg = <1>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
cci3: cci@ac4d000 {
|
||||
compatible = "qcom,sc8280xp-cci", "qcom,msm8996-cci";
|
||||
reg = <0 0x0ac4d000 0 0x1000>;
|
||||
|
||||
interrupts = <GIC_SPI 650 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
|
||||
<&camcc CAMCC_SLOW_AHB_CLK_SRC>,
|
||||
<&camcc CAMCC_CPAS_AHB_CLK>,
|
||||
<&camcc CAMCC_CCI_3_CLK>;
|
||||
clock-names = "camnoc_axi",
|
||||
"slow_ahb_src",
|
||||
"cpas_ahb",
|
||||
"cci";
|
||||
|
||||
power-domains = <&camcc TITAN_TOP_GDSC>;
|
||||
|
||||
pinctrl-0 = <&cci3_default>;
|
||||
pinctrl-1 = <&cci3_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
cci3_i2c0: i2c-bus@0 {
|
||||
reg = <0>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
cci3_i2c1: i2c-bus@1 {
|
||||
reg = <1>;
|
||||
clock-frequency = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
camcc: clock-controller@ad00000 {
|
||||
compatible = "qcom,sc8280xp-camcc";
|
||||
reg = <0 0x0ad00000 0 0x20000>;
|
||||
@@ -4076,6 +4239,150 @@
|
||||
#interrupt-cells = <2>;
|
||||
gpio-ranges = <&tlmm 0 0 230>;
|
||||
wakeup-parent = <&pdc>;
|
||||
|
||||
cci0_default: cci0-default-state {
|
||||
cci0_i2c0_default: cci0-i2c0-default-pins {
|
||||
/* cci_i2c_sda0, cci_i2c_scl0 */
|
||||
pins = "gpio113", "gpio114";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
cci0_i2c1_default: cci0-i2c1-default-pins {
|
||||
/* cci_i2c_sda1, cci_i2c_scl1 */
|
||||
pins = "gpio115", "gpio116";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
cci0_sleep: cci0-sleep-state {
|
||||
cci0_i2c0_sleep: cci0-i2c0-sleep-pins {
|
||||
/* cci_i2c_sda0, cci_i2c_scl0 */
|
||||
pins = "gpio113", "gpio114";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
cci0_i2c1_sleep: cci0-i2c1-sleep-pins {
|
||||
/* cci_i2c_sda1, cci_i2c_scl1 */
|
||||
pins = "gpio115", "gpio116";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
cci1_default: cci1-default-state {
|
||||
cci1_i2c0_default: cci1-i2c0-default-pins {
|
||||
/* cci_i2c_sda2, cci_i2c_scl2 */
|
||||
pins = "gpio10","gpio11";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
cci1_i2c1_default: cci1-i2c1-default-pins {
|
||||
/* cci_i2c_sda3, cci_i2c_scl3 */
|
||||
pins = "gpio123","gpio124";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
cci1_sleep: cci1-sleep-state {
|
||||
cci1_i2c0_sleep: cci1-i2c0-sleep-pins {
|
||||
/* cci_i2c_sda2, cci_i2c_scl2 */
|
||||
pins = "gpio10","gpio11";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
cci1_i2c1_sleep: cci1-i2c1-sleep-pins {
|
||||
/* cci_i2c_sda3, cci_i2c_scl3 */
|
||||
pins = "gpio123","gpio124";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
cci2_default: cci2-default-state {
|
||||
cci2_i2c0_default: cci2-i2c0-default-pins {
|
||||
/* cci_i2c_sda4, cci_i2c_scl4 */
|
||||
pins = "gpio117","gpio118";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
cci2_i2c1_default: cci2-i2c1-default-pins {
|
||||
/* cci_i2c_sda5, cci_i2c_scl5 */
|
||||
pins = "gpio12","gpio13";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
cci2_sleep: cci2-sleep-state {
|
||||
cci2_i2c0_sleep: cci2-i2c0-sleep-pins {
|
||||
/* cci_i2c_sda4, cci_i2c_scl4 */
|
||||
pins = "gpio117","gpio118";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
cci2_i2c1_sleep: cci2-i2c1-sleep-pins {
|
||||
/* cci_i2c_sda5, cci_i2c_scl5 */
|
||||
pins = "gpio12","gpio13";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
cci3_default: cci3-default-state {
|
||||
cci3_i2c0_default: cci3-i2c0-default-pins {
|
||||
/* cci_i2c_sda6, cci_i2c_scl6 */
|
||||
pins = "gpio145","gpio146";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
cci3_i2c1_default: cci3-i2c1-default-pins {
|
||||
/* cci_i2c_sda7, cci_i2c_scl7 */
|
||||
pins = "gpio164","gpio165";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
cci3_sleep: cci3-sleep-state {
|
||||
cci3_i2c0_sleep: cci3-i2c0-sleep-pins {
|
||||
/* cci_i2c_sda6, cci_i2c_scl6 */
|
||||
pins = "gpio145","gpio146";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
cci3_i2c1_sleep: cci3-i2c1-sleep-pins {
|
||||
/* cci_i2c_sda7, cci_i2c_scl7 */
|
||||
pins = "gpio164","gpio165";
|
||||
function = "cci_i2c";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
apps_smmu: iommu@15000000 {
|
||||
|
||||
Reference in New Issue
Block a user