unplugged-kernel/arch/arm64/boot/dts/mediatek/cust_mt6885_alpha_camera.dtsi

583 lines
14 KiB
Plaintext

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2019 MediaTek Inc.
*/
/* CAMERA GPIO standardization */
&pio {
camera0_rst_low: camera0_rst_output_low@gpio144 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO144__FUNC_GPIO144>;
output-low;
};
};
camera0_rst_high: camera0_rst_output_high@gpio144 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO144__FUNC_GPIO144>;
output-high;
};
};
camera0_pdn_low: camera0_pdn_output_low {
pins_cmd_dat1 {
pinmux = <PINMUX_GPIO133__FUNC_GPIO133>;
output-low;
};
pins_cmd_dat2 {
pinmux = <PINMUX_GPIO135__FUNC_GPIO135>;
output-low;
};
};
camera0_pdn_high: camera0_pdn_output_high {
pins_cmd_dat1 {
pinmux = <PINMUX_GPIO133__FUNC_GPIO133>;
output-high;
};
pins_cmd_dat2 {
pinmux = <PINMUX_GPIO135__FUNC_GPIO135>;
output-high;
};
};
camera1_rst_low: camera1_rst_output_low@gpio143 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO143__FUNC_GPIO143>;
output-low;
};
};
camera1_rst_high: camera1_rst_output_high@gpio143 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO143__FUNC_GPIO143>;
output-high;
};
};
camera1_pdn_low: camera1_pdn_output_low@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
output-low;
};
};
camera1_pdn_high: camera1_pdn_output_high@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
output-high;
};
};
camera2_rst_low: camera2_rst_output_low@gpio145 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO145__FUNC_GPIO145>;
output-low;
};
};
camera2_rst_high: camera2_rst_output_high@gpio145 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO145__FUNC_GPIO145>;
output-high;
};
};
camera2_pdn_low: camera2_pdn_output_low@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-low;
};
};
camera2_pdn_high: camera2_pdn_output_high@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-high;
};
};
camera3_rst_low: camera3_rst_output_low@gpio130 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO130__FUNC_GPIO130>;
output-low;
};
};
camera3_rst_high: camera3_rst_output_high@gpio130 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO130__FUNC_GPIO130>;
output-high;
};
};
camera3_pdn_low: camera3_pdn_output_low@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-low;
};
};
camera3_pdn_high: camera3_pdn_output_high@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-high;
};
};
camera4_rst_low: camera4_rst_output_low@gpio131 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO131__FUNC_GPIO131>;
output-low;
};
};
camera4_rst_high: camera4_rst_output_high@gpio131 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO131__FUNC_GPIO131>;
output-high;
};
};
camera4_pdn_low: camera4_pdn_output_low@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-low;
};
};
camera4_pdn_high: camera4_pdn_output_high@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-high;
};
};
camera0_vcama_off: camera0_vcama_off {
pins_cmd1_dat {
pinmux = <PINMUX_GPIO133__FUNC_GPIO133>;
output-low;
};
pins_cmd2_dat {
pinmux = <PINMUX_GPIO135__FUNC_GPIO135>;
output-low;
};
};
camera0_vcama_on: camera0_vcama_on {
pins_cmd1_dat {
pinmux = <PINMUX_GPIO133__FUNC_GPIO133>;
output-high;
};
pins_cmd2_dat {
pinmux = <PINMUX_GPIO135__FUNC_GPIO135>;
output-high;
};
};
camera0_vcamd_off: camera0_vcamd_output_low@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
slew-rate = <1>;
output-low;
};
};
camera0_vcamd_on: camera0_vcamd_output_high@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
output-high;
};
};
camera1_vcama_off: camera1_vcama_output_low@gpio8 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
output-low;
};
};
camera1_vcama_on: camera1_vcama_output_high@gpio8 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
output-high;
};
};
camera1_vcamd_off: camera1_vcamd_output_low@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
slew-rate = <1>;
output-low;
};
};
camera1_vcamd_on: camera1_vcamd_output_high@gpio147 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO147__FUNC_GPIO147>;
output-high;
};
};
camera2_vcama_off: camera2_vcama_output_low@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-low;
};
};
camera2_vcama_on: camera2_vcama_output_high@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-high;
};
};
camera2_vcamd_off: camera2_vcamd_output_low@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-low;
};
};
camera2_vcamd_on: camera2_vcamd_output_high@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-high;
};
};
camera3_vcama_off: camera3_vcama_output_low@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-low;
};
};
camera3_vcama_on: camera3_vcama_output_hgigh@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-high;
};
};
camera3_vcamd_off: camera3_vcamd_output_low@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
slew-rate = <1>;
output-low;
};
};
camera3_vcamd_on: camera3_vcamd_output_high@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-high;
};
};
camera4_vcama_off: camera4_vcama_output_low@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-low;
};
};
camera4_vcama_on: camera4_vcama_output_high@gpio148 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO148__FUNC_GPIO148>;
output-high;
};
};
camera4_vcamd_off: camera4_vcamd_output_low@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-low;
};
};
camera4_vcamd_on: camera4_vcamd_output_high@gpio146 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO146__FUNC_GPIO146>;
output-high;
};
};
camera0_mclk_2ma: camera0_mclk_2ma@gpio150 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
drive-strength = <0>;
};
};
camera0_mclk_4ma: camera0_mclk_4ma@gpio150 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
drive-strength = <1>;
};
};
camera0_mclk_6ma: camera0_mclk_6ma@gpio150 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
drive-strength = <2>;
};
};
camera0_mclk_8ma: camera0_mclk_8ma@gpio150 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
drive-strength = <3>;
};
};
camera0_mclk_off: camera0_mclk_gpio_mode@gpio150 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO150__FUNC_GPIO150>;
drive-strength = <1>;
};
};
camera1_mclk_2ma: camera1_mclk_2ma@gpio149 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
drive-strength = <0>;
};
};
camera1_mclk_4ma: camera1_mclk_4ma@gpio149 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
drive-strength = <1>;
};
};
camera1_mclk_6ma: camera1_mclk_6ma@gpio149 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
drive-strength = <2>;
};
};
camera1_mclk_8ma: camera1_mclk_8ma@gpio149 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
drive-strength = <3>;
};
};
camera1_mclk_off: camera1_mclk_gpio_mode@gpio149 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO149__FUNC_GPIO149>;
drive-strength = <1>;
};
};
camera2_mclk_2ma: camera2_mclk_2ma@gpio151 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
drive-strength = <0>;
};
};
camera2_mclk_4ma: camera2_mclk_4ma@gpio151 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
drive-strength = <1>;
};
};
camera2_mclk_6ma: camera2_mclk_6ma@gpio151 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
drive-strength = <2>;
};
};
camera2_mclk_8ma: camera2_mclk_8ma@gpio151 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
drive-strength = <3>;
};
};
camera2_mclk_off: camera2_mclk_gpio_mode@gpio151 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
drive-strength = <1>;
};
};
camera3_mclk_2ma: camera3_mclk_2ma@gpio136 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO136__FUNC_CMMCLK3>;
drive-strength = <0>;
};
};
camera3_mclk_4ma: camera3_mclk_4ma@gpio136 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO136__FUNC_CMMCLK3>;
drive-strength = <1>;
};
};
camera3_mclk_6ma: camera3_mclk_6ma@gpio136 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO136__FUNC_CMMCLK3>;
drive-strength = <2>;
};
};
camera3_mclk_8ma: camera3_mclk_8ma@gpio136 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO136__FUNC_CMMCLK3>;
drive-strength = <3>;
};
};
camera3_mclk_off: camera3_mclk_gpio_mode@gpio136 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO136__FUNC_GPIO136>;
drive-strength = <1>;
};
};
camera4_mclk_2ma: camera4_mclk_2ma@gpio137 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO137__FUNC_CMMCLK4>;
drive-strength = <0>;
};
};
camera4_mclk_4ma: camera4_mclk_4ma@gpio137 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO137__FUNC_CMMCLK4>;
drive-strength = <1>;
};
};
camera4_mclk_6ma: camera4_mclk_6ma@gpio137 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO137__FUNC_CMMCLK4>;
drive-strength = <2>;
};
};
camera4_mclk_8ma: camera4_mclk_8ma@gpio137 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO137__FUNC_CMMCLK4>;
drive-strength = <3>;
};
};
camera4_mclk_off: camera4_mclk_gpio_mode@gpio137 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO137__FUNC_GPIO137>;
drive-strength = <1>;
};
};
camera_pins_default: camdefault {
};
};
&kd_camera_hw1 {
pinctrl-names = "default",
"cam0_rst0", "cam0_rst1",
"cam0_pnd0", "cam0_pnd1",
"cam1_rst0", "cam1_rst1",
"cam1_pnd0", "cam1_pnd1",
"cam2_rst0", "cam2_rst1",
"cam2_pnd0", "cam2_pnd1",
"cam3_rst0", "cam3_rst1",
"cam3_pnd0", "cam3_pnd1",
"cam4_rst0", "cam4_rst1",
"cam4_pnd0", "cam4_pnd1",
"cam0_ldo_vcama_0", "cam0_ldo_vcama_1",
"cam0_ldo_vcamd_0", "cam0_ldo_vcamd_1",
"cam1_ldo_vcama_0", "cam1_ldo_vcama_1",
"cam1_ldo_vcamd_0", "cam1_ldo_vcamd_1",
"cam2_ldo_vcama_0", "cam2_ldo_vcama_1",
"cam2_ldo_vcamd_0", "cam2_ldo_vcamd_1",
"cam3_ldo_vcama_0", "cam3_ldo_vcama_1",
"cam3_ldo_vcamd_0", "cam3_ldo_vcamd_1",
"cam4_ldo_vcama_0", "cam4_ldo_vcama_1",
"cam4_ldo_vcamd_0", "cam4_ldo_vcamd_1",
"cam0_mclk_off",
"cam0_mclk_2mA", "cam0_mclk_4mA",
"cam0_mclk_6mA", "cam0_mclk_8mA",
"cam1_mclk_off",
"cam1_mclk_2mA", "cam1_mclk_4mA",
"cam1_mclk_6mA", "cam1_mclk_8mA",
"cam2_mclk_off",
"cam2_mclk_2mA", "cam2_mclk_4mA",
"cam2_mclk_6mA", "cam2_mclk_8mA",
"cam3_mclk_off",
"cam3_mclk_2mA", "cam3_mclk_4mA",
"cam3_mclk_6mA", "cam3_mclk_8mA",
"cam4_mclk_off",
"cam4_mclk_2mA", "cam4_mclk_4mA",
"cam4_mclk_6mA", "cam4_mclk_8mA";
pinctrl-0 = <&camera_pins_default>;
pinctrl-1 = <&camera0_rst_low>;
pinctrl-2 = <&camera0_rst_high>;
pinctrl-3 = <&camera0_pdn_low>;
pinctrl-4 = <&camera0_pdn_high>;
pinctrl-5 = <&camera1_rst_low>;
pinctrl-6 = <&camera1_rst_high>;
pinctrl-7 = <&camera1_pdn_low>;
pinctrl-8 = <&camera1_pdn_high>;
pinctrl-9 = <&camera2_rst_low>;
pinctrl-10 = <&camera2_rst_high>;
pinctrl-11 = <&camera2_pdn_low>;
pinctrl-12 = <&camera2_pdn_high>;
pinctrl-13 = <&camera3_rst_low>;
pinctrl-14 = <&camera3_rst_high>;
pinctrl-15 = <&camera3_pdn_low>;
pinctrl-16 = <&camera3_pdn_high>;
pinctrl-17 = <&camera4_rst_low>;
pinctrl-18 = <&camera4_rst_high>;
pinctrl-19 = <&camera4_pdn_low>;
pinctrl-20 = <&camera4_pdn_high>;
pinctrl-21 = <&camera0_vcama_off>;
pinctrl-22 = <&camera0_vcama_on>;
pinctrl-23 = <&camera0_vcamd_off>;
pinctrl-24 = <&camera0_vcamd_on>;
pinctrl-25 = <&camera1_vcama_off>;
pinctrl-26 = <&camera1_vcama_on>;
pinctrl-27 = <&camera1_vcamd_off>;
pinctrl-28 = <&camera1_vcamd_on>;
pinctrl-29 = <&camera2_vcama_off>;
pinctrl-30 = <&camera2_vcama_on>;
pinctrl-31 = <&camera2_vcamd_off>;
pinctrl-32 = <&camera2_vcamd_on>;
pinctrl-33 = <&camera3_vcama_off>;
pinctrl-34 = <&camera3_vcama_on>;
pinctrl-35 = <&camera3_vcamd_off>;
pinctrl-36 = <&camera3_vcamd_on>;
pinctrl-37 = <&camera4_vcama_off>;
pinctrl-38 = <&camera4_vcama_on>;
pinctrl-39 = <&camera4_vcamd_off>;
pinctrl-40 = <&camera4_vcamd_on>;
pinctrl-41 = <&camera0_mclk_off>;
pinctrl-42 = <&camera0_mclk_2ma>;
pinctrl-43 = <&camera0_mclk_4ma>;
pinctrl-44 = <&camera0_mclk_6ma>;
pinctrl-45 = <&camera0_mclk_8ma>;
pinctrl-46 = <&camera1_mclk_off>;
pinctrl-47 = <&camera1_mclk_2ma>;
pinctrl-48 = <&camera1_mclk_4ma>;
pinctrl-49 = <&camera1_mclk_6ma>;
pinctrl-50 = <&camera1_mclk_8ma>;
pinctrl-51 = <&camera2_mclk_off>;
pinctrl-52 = <&camera2_mclk_2ma>;
pinctrl-53 = <&camera2_mclk_4ma>;
pinctrl-54 = <&camera2_mclk_6ma>;
pinctrl-55 = <&camera2_mclk_8ma>;
pinctrl-56 = <&camera3_mclk_off>;
pinctrl-57 = <&camera3_mclk_2ma>;
pinctrl-58 = <&camera3_mclk_4ma>;
pinctrl-59 = <&camera3_mclk_6ma>;
pinctrl-60 = <&camera3_mclk_8ma>;
pinctrl-61 = <&camera4_mclk_off>;
pinctrl-62 = <&camera4_mclk_2ma>;
pinctrl-63 = <&camera4_mclk_4ma>;
pinctrl-64 = <&camera4_mclk_6ma>;
pinctrl-65 = <&camera4_mclk_8ma>;
cam0_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;
cam1_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;
cam2_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;
cam3_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;
cam4_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;
cam0_enable_sensor = "imx686_mipi_raw imx586_mipi_raw";
cam1_enable_sensor = "s5kgd1sp_mipi_raw imx616_mipi_raw";
cam2_enable_sensor = "hi846_mipi_raw";
cam3_enable_sensor = "gc02m0_mipi_raw ov02a10_mipi_mono";
cam4_enable_sensor = "gc02m0_mipi_raw ov02a10_mipi_mono";
status = "okay";
};
/* CAMERA GPIO end */
/* CAMERA EEPROM */
&i2c2 {
mtk_camera_eeprom0:camera_eeprom0@50 {
compatible = "mediatek,camera_eeprom";
reg = <0x50>;
status = "okay";
};
};
&i2c4 {
mtk_camera_eeprom1:camera_eeprom1@51 {
compatible = "mediatek,camera_eeprom";
reg = <0x51>;
status = "okay";
};
};
&i2c8 {
mtk_camera_eeprom2:camera_eeprom2@50 {
compatible = "mediatek,camera_eeprom";
reg = <0x50>;
status = "okay";
};
mtk_camera_eeprom3:camera_eeprom3@52 {
compatible = "mediatek,camera_eeprom";
reg = <0x52>;
status = "okay";
};
};
&i2c9 {
mtk_camera_eeprom4:camera_eeprom4@51 {
compatible = "mediatek,camera_eeprom";
reg = <0x51>;
status = "okay";
};
};
/* CAMERA EEPROM end */
/* CAMERA AF */
&camera_af_hw_node {
camaf_m1_pmic-supply = <&mt_pmic_vmc_ldo_reg>;
camaf_m2_pmic-supply = <&mt_pmic_vmc_ldo_reg>;
camaf_m3_pmic-supply = <&mt_pmic_vmc_ldo_reg>;
status = "okay";
};
/* CAMERA AF end */