443 lines
11 KiB
Plaintext
443 lines
11 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) 2021 MediaTek Inc.
|
|
*/
|
|
|
|
/* CAMERA GPIO standardization */
|
|
&pio {
|
|
camera_pins_cam0_rst_0: cam0@0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO159__FUNC_GPIO159>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam0_rst_1: cam0@1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO159__FUNC_GPIO159>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
camera_pins_cam1_rst_0: cam1@0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam1_rst_1: cam1@1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
camera_pins_cam2_rst_0: cam2@0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO157__FUNC_GPIO157>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam2_rst_1: cam2@1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO157__FUNC_GPIO157>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
camera_pins_cam4_rst_0: cam4@0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO161__FUNC_GPIO161>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam4_rst_1: cam4@1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO161__FUNC_GPIO161>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
camera_pins_cam0_vcamd_0: cam0@vcam0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam0_vcamd_1: cam0@vcam1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam0_vcama_0: cam0@vcam2 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO195__FUNC_GPIO195>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam0_vcama_1: cam0@vcam3 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO195__FUNC_GPIO195>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
camera_pins_cam1_vcamd_0: cam1@vcam0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam1_vcamd_1: cam1@vcam1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam1_vcama_0: cam1@vcam2 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO9__FUNC_GPIO9>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam1_vcama_1: cam1@vcam3 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO9__FUNC_GPIO9>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam2_vcamd_0: cam2@vcam0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam2_vcamd_1: cam2@vcam1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam2_vcama_0: cam2@vcam2 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO9__FUNC_GPIO9>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam2_vcama_1: cam2@vcam3 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO9__FUNC_GPIO9>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam4_vcamd_0: cam4@vcam0 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO190__FUNC_GPIO190>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam4_vcamd_1: cam4@vcam1 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO190__FUNC_GPIO190>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam4_vcama_0: cam4@vcam2 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO114__FUNC_GPIO114>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
camera_pins_cam4_vcama_1: cam4@vcam3 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO114__FUNC_GPIO114>;
|
|
slew-rate = <1>;
|
|
output-high;
|
|
};
|
|
};
|
|
camera_pins_cam0_mclk_off: camera_pins_cam0_mclk_off {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam0_mclk_2ma: camera_pins_cam0_mclk_2ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
|
|
drive-strength = <0>;
|
|
};
|
|
};
|
|
camera_pins_cam0_mclk_4ma: camera_pins_cam0_mclk_4ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam0_mclk_6ma: camera_pins_cam0_mclk_6ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
camera_pins_cam0_mclk_8ma: camera_pins_cam0_mclk_8ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO151__FUNC_CMMCLK2>;
|
|
drive-strength = <3>;
|
|
};
|
|
};
|
|
camera_pins_cam1_mclk_off: camera_pins_cam1_mclk_off {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO149__FUNC_GPIO149>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam1_mclk_2ma: camera_pins_cam1_mclk_2ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
|
|
drive-strength = <0>;
|
|
};
|
|
};
|
|
camera_pins_cam1_mclk_4ma: camera_pins_cam1_mclk_4ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam1_mclk_6ma: camera_pins_cam1_mclk_6ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
camera_pins_cam1_mclk_8ma: camera_pins_cam1_mclk_8ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO149__FUNC_CMMCLK0>;
|
|
drive-strength = <3>;
|
|
};
|
|
};
|
|
camera_pins_cam2_mclk_off: camera_pins_cam2_mclk_off {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO150__FUNC_GPIO150>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam2_mclk_2ma: camera_pins_cam2_mclk_2ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
|
|
drive-strength = <0>;
|
|
};
|
|
};
|
|
camera_pins_cam2_mclk_4ma: camera_pins_cam2_mclk_4ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam2_mclk_6ma: camera_pins_cam2_mclk_6ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
camera_pins_cam2_mclk_8ma: camera_pins_cam2_mclk_8ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO150__FUNC_CMMCLK1>;
|
|
drive-strength = <3>;
|
|
};
|
|
};
|
|
camera_pins_cam4_mclk_off: camera_pins_cam4_mclk_off {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO152__FUNC_GPIO152>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam4_mclk_2ma: camera_pins_cam4_mclk_2ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO152__FUNC_CMMCLK3>;
|
|
drive-strength = <0>;
|
|
};
|
|
};
|
|
camera_pins_cam4_mclk_4ma: camera_pins_cam4_mclk_4ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO152__FUNC_CMMCLK3>;
|
|
drive-strength = <1>;
|
|
};
|
|
};
|
|
camera_pins_cam4_mclk_6ma: camera_pins_cam4_mclk_6ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO152__FUNC_CMMCLK3>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
camera_pins_cam4_mclk_8ma: camera_pins_cam4_mclk_8ma {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO152__FUNC_CMMCLK3>;
|
|
drive-strength = <3>;
|
|
};
|
|
};
|
|
camera_pins_default: camdefault {
|
|
};
|
|
};
|
|
&kd_camera_hw1 {
|
|
pinctrl-names = "default",
|
|
"cam0_rst0", "cam0_rst1",
|
|
"cam1_rst0", "cam1_rst1",
|
|
"cam2_rst0", "cam2_rst1",
|
|
"cam4_rst0", "cam4_rst1",
|
|
"cam0_ldo_vcamd_0", "cam0_ldo_vcamd_1",
|
|
"cam0_ldo_vcama_0", "cam0_ldo_vcama_1",
|
|
"cam1_ldo_vcamd_0", "cam1_ldo_vcamd_1",
|
|
"cam1_ldo_vcama_0", "cam1_ldo_vcama_1",
|
|
"cam2_ldo_vcamd_0", "cam2_ldo_vcamd_1",
|
|
"cam2_ldo_vcama_0", "cam2_ldo_vcama_1",
|
|
"cam4_ldo_vcamd_0", "cam4_ldo_vcamd_1",
|
|
"cam4_ldo_vcama_0", "cam4_ldo_vcama_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",
|
|
"cam4_mclk_off",
|
|
"cam4_mclk_2mA", "cam4_mclk_4mA",
|
|
"cam4_mclk_6mA", "cam4_mclk_8mA";
|
|
pinctrl-0 = <&camera_pins_default>;
|
|
pinctrl-1 = <&camera_pins_cam0_rst_0>;
|
|
pinctrl-2 = <&camera_pins_cam0_rst_1>;
|
|
pinctrl-3 = <&camera_pins_cam1_rst_0>;
|
|
pinctrl-4 = <&camera_pins_cam1_rst_1>;
|
|
pinctrl-5 = <&camera_pins_cam2_rst_0>;
|
|
pinctrl-6 = <&camera_pins_cam2_rst_1>;
|
|
pinctrl-7 = <&camera_pins_cam4_rst_0>;
|
|
pinctrl-8 = <&camera_pins_cam4_rst_1>;
|
|
pinctrl-9 = <&camera_pins_cam0_vcamd_0>;
|
|
pinctrl-10 = <&camera_pins_cam0_vcamd_1>;
|
|
pinctrl-11 = <&camera_pins_cam0_vcama_0>;
|
|
pinctrl-12 = <&camera_pins_cam0_vcama_1>;
|
|
pinctrl-13 = <&camera_pins_cam1_vcamd_0>;
|
|
pinctrl-14 = <&camera_pins_cam1_vcamd_1>;
|
|
pinctrl-15 = <&camera_pins_cam1_vcama_0>;
|
|
pinctrl-16 = <&camera_pins_cam1_vcama_1>;
|
|
pinctrl-17 = <&camera_pins_cam2_vcamd_0>;
|
|
pinctrl-18 = <&camera_pins_cam2_vcamd_1>;
|
|
pinctrl-19 = <&camera_pins_cam2_vcama_0>;
|
|
pinctrl-20 = <&camera_pins_cam2_vcama_1>;
|
|
pinctrl-21 = <&camera_pins_cam4_vcamd_0>;
|
|
pinctrl-22 = <&camera_pins_cam4_vcamd_1>;
|
|
pinctrl-23 = <&camera_pins_cam4_vcama_0>;
|
|
pinctrl-24 = <&camera_pins_cam4_vcama_1>;
|
|
pinctrl-25 = <&camera_pins_cam0_mclk_off>;
|
|
pinctrl-26 = <&camera_pins_cam0_mclk_2ma>;
|
|
pinctrl-27 = <&camera_pins_cam0_mclk_4ma>;
|
|
pinctrl-28 = <&camera_pins_cam0_mclk_6ma>;
|
|
pinctrl-29 = <&camera_pins_cam0_mclk_8ma>;
|
|
pinctrl-30 = <&camera_pins_cam1_mclk_off>;
|
|
pinctrl-31 = <&camera_pins_cam1_mclk_2ma>;
|
|
pinctrl-32 = <&camera_pins_cam1_mclk_4ma>;
|
|
pinctrl-33 = <&camera_pins_cam1_mclk_6ma>;
|
|
pinctrl-34 = <&camera_pins_cam1_mclk_8ma>;
|
|
pinctrl-35 = <&camera_pins_cam2_mclk_off>;
|
|
pinctrl-36 = <&camera_pins_cam2_mclk_2ma>;
|
|
pinctrl-37 = <&camera_pins_cam2_mclk_4ma>;
|
|
pinctrl-38 = <&camera_pins_cam2_mclk_6ma>;
|
|
pinctrl-39 = <&camera_pins_cam2_mclk_8ma>;
|
|
pinctrl-40 = <&camera_pins_cam4_mclk_off>;
|
|
pinctrl-41 = <&camera_pins_cam4_mclk_2ma>;
|
|
pinctrl-42 = <&camera_pins_cam4_mclk_4ma>;
|
|
pinctrl-43 = <&camera_pins_cam4_mclk_6ma>;
|
|
pinctrl-44 = <&camera_pins_cam4_mclk_8ma>;
|
|
|
|
/* main (wide) : ldo4 ldo8 --- AVDD_CAM_W, DVDD_CAM_W */
|
|
cam0_vcama-supply = <&rt5133_ldo4>;
|
|
cam0_vcama1-supply = <&rt5133_ldo5>;
|
|
cam0_vcamd-supply = <&rt5133_ldo8>;
|
|
cam0_vcamio-supply = <&rt5133_ldo1>;
|
|
cam0_vcamaf-supply = <&rt5133_ldo3>;
|
|
|
|
/* front */
|
|
cam1_vcama-supply = <&rt5133_ldo6>;
|
|
cam1_vcamd-supply = <&rt5133_ldo7>;
|
|
cam1_vcamio-supply = <&rt5133_ldo1>;
|
|
|
|
/* main2 (tele) */
|
|
cam2_vcama-supply = <&rt5133_ldo6>;
|
|
cam2_vcamd-supply = <&rt5133_ldo7>;
|
|
cam2_vcamio-supply = <&rt5133_ldo1>;
|
|
cam2_vcamaf-supply = <&rt5133_ldo2>;
|
|
|
|
/* main3 (ultra wide) : gpio2 gpio3 --- AVDD_CAM_F_UW, DVDD_CAM_F_UW */
|
|
cam4_vcama-supply = <&rt5133_gpio2>;
|
|
cam4_vcamd-supply = <&rt5133_gpio3>;
|
|
cam4_vcamio-supply = <&rt5133_ldo1>;
|
|
cam4_vcamaf-supply = <&rt5133_gpio1>;
|
|
|
|
cam1_enable_sensor = "imx576_mipi_raw";
|
|
|
|
status = "okay";
|
|
};
|
|
/* CAMERA GPIO end */
|
|
|
|
/* CAMERA EEPROM */
|
|
&i2c2 {
|
|
mtk_camera_eeprom4:camera_eeprom4@51 {
|
|
compatible = "mediatek,camera_eeprom";
|
|
reg = <0x51>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
&i2c4 {
|
|
mtk_camera_eeprom1:camera_eeprom1@51 {
|
|
compatible = "mediatek,camera_eeprom";
|
|
reg = <0x51>;
|
|
status = "okay";
|
|
};
|
|
mtk_camera_eeprom2:camera_eeprom2@50 {
|
|
compatible = "mediatek,camera_eeprom";
|
|
reg = <0x50>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
&i2c8 {
|
|
mtk_camera_eeprom0:camera_eeprom0@50 {
|
|
compatible = "mediatek,camera_eeprom";
|
|
reg = <0x50>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
/* CAMERA EEPROM end */
|
|
|
|
/* CAMERA AF */
|
|
&camera_af_hw_node {
|
|
camaf_m1_pmic-supply = <&rt5133_ldo3>;
|
|
camaf_m2_pmic-supply = <&rt5133_ldo2>;
|
|
camaf_m3_pmic-supply = <&rt5133_gpio1>;
|
|
status = "okay";
|
|
};
|
|
/* CAMERA AF end */
|