/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2019 MediaTek Inc. */ /* CAMERA GPIO standardization */ &pio { camera0_mclk_2mA: camera0_mclk_2mA@gpio100 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera0_mclk_4mA: camera0_mclk_4mA@gpio100 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera0_mclk_6mA: camera0_mclk_6mA@gpio100 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera0_mclk_8mA: camera0_mclk_8mA@gpio100 { pins_cmd_dat { pinmux = ; drive-strength = <7>; }; }; camera0_mclk_off: camera0_mclk_gpio_mode@gpio100 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera1_mclk_2mA: camera1_mclk_2mA@gpio99 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera1_mclk_4mA: camera1_mclk_4mA@gpio99 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera1_mclk_6mA: camera1_mclk_6mA@gpio99 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera1_mclk_8mA: camera1_mclk_8mA@gpio99 { pins_cmd_dat { pinmux = ; drive-strength = <7>; }; }; camera1_mclk_off: camera1_mclk_gpio_mode@gpio99 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera2_mclk_2mA: camera2_mclk_2mA@gpio111 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera2_mclk_4mA: camera2_mclk_4mA@gpio111 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera2_mclk_6mA: camera2_mclk_6mA@gpio111 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera2_mclk_8mA: camera2_mclk_8mA@gpio111 { pins_cmd_dat { pinmux = ; drive-strength = <7>; }; }; camera2_mclk_off: camera2_mclk_gpio_mode@gpio111 { pins_cmd_dat { pinmux = ; drive-strength = ; }; }; camera0_rst_low: camera0_rst_output_low@gpio102 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_rst_high: camera0_rst_output_high@gpio102 { pins_cmd_dat { pinmux = ; output-high; }; }; camera0_pdn_low: camera0_pdn_output_low@gpio98 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_pdn_high: camera0_pdn_output_high@gpio98 { pins_cmd_dat { pinmux = ; output-high; }; }; camera1_rst_low: camera1_rst_output_low@gpio101 { pins_cmd_dat { pinmux = ; output-low; }; }; camera1_rst_high: camera1_rst_output_high@gpio101 { pins_cmd_dat { pinmux = ; output-high; }; }; camera1_pdn_low: camera1_pdn_output_low@gpio97 { pins_cmd_dat { pinmux = ; slew-rate = <1>; output-low; }; }; camera1_pdn_high: camera1_pdn_output_high@gpio97 { pins_cmd_dat { pinmux = ; output-high; }; }; camera2_rst_low: camera2_rst_output_low@gpio109 { pins_cmd_dat { pinmux = ; output-low; }; }; camera2_rst_high: camera2_rst_output_high@gpio109 { pins_cmd_dat { pinmux = ; output-high; }; }; camera2_pdn_low: camera2_pdn_output_low@gpio110 { pins_cmd_dat { pinmux = ; output-low; }; }; camera2_pdn_high: camera2_pdn_output_high@gpio110 { pins_cmd_dat { pinmux = ; output-high; }; }; camera0_vcamd_off: camera0_vcamd_output_low@gpio178 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_vcamd_on: camera0_vcamd_output_high@gpio178 { pins_cmd_dat { pinmux = ; output-high; }; }; camera1_vcamd_off: camera1_vcamd_output_low@gpio179 { pins_cmd_dat { pinmux = ; output-low; }; }; camera1_vcamd_on: camera1_vcamd_output_high@gpio179 { pins_cmd_dat { pinmux = ; output-high; }; }; camera2_vcama_off: camera2_vcama_output_low@gpio107 { pins_cmd_dat { pinmux = ; output-low; }; }; camera2_vcama_on: camera2_vcama_output_high@gpio107 { pins_cmd_dat { pinmux = ; output-high; }; }; 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", "cam0_vcamd_on", "cam0_vcamd_off", "cam1_vcamd_on", "cam1_vcamd_off", "cam2_vcama_on", "cam2_vcama_off", "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"; 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 = <&camera0_vcamd_on>; pinctrl-14 = <&camera0_vcamd_off>; pinctrl-15 = <&camera1_vcamd_on>; pinctrl-16 = <&camera1_vcamd_off>; pinctrl-17 = <&camera2_vcama_on>; pinctrl-18 = <&camera2_vcama_off>; pinctrl-19 = <&camera0_mclk_off>; pinctrl-20 = <&camera0_mclk_2mA>; pinctrl-21 = <&camera0_mclk_4mA>; pinctrl-22 = <&camera0_mclk_6mA>; pinctrl-23 = <&camera0_mclk_8mA>; pinctrl-24 = <&camera1_mclk_off>; pinctrl-25 = <&camera1_mclk_2mA>; pinctrl-26 = <&camera1_mclk_4mA>; pinctrl-27 = <&camera1_mclk_6mA>; pinctrl-28 = <&camera1_mclk_8mA>; pinctrl-29 = <&camera2_mclk_off>; pinctrl-30 = <&camera2_mclk_2mA>; pinctrl-31 = <&camera2_mclk_4mA>; pinctrl-32 = <&camera2_mclk_6mA>; pinctrl-33 = <&camera2_mclk_8mA>; cam0_vcama-supply = <&mt_pmic_vcama1_ldo_reg>; cam1_vcama-supply = <&mt_pmic_vcama2_ldo_reg>; cam2_vcamd-supply = <&mt_pmic_vcamd_ldo_reg>; cam0_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>; cam1_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>; cam2_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>; status = "okay"; }; /* CAMERA GPIO end */