/* * Copyright (c) 2017 MediaTek Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * 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. */ /* CAMERA GPIO standardization */ &pio { camera0_rst_low: camera0_rst_output_low@gpio118 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_rst_high: camera0_rst_output_high@gpio118 { pins_cmd_dat { pinmux = ; output-high; }; }; camera0_pdn_low: camera0_pdn_output_low@gpio114 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_pdn_high: camera0_pdn_output_high@gpio114 { pins_cmd_dat { pinmux = ; output-high; }; }; camera1_rst_low: camera1_rst_output_low@gpio119 { pins_cmd_dat { pinmux = ; output-low; }; }; camera1_rst_high: camera1_rst_output_high@gpio119 { pins_cmd_dat { pinmux = ; output-high; }; }; camera0_vcama_off: camera0_vcama_output_low@gpio195 { pins_cmd_dat { pinmux = ; output-low; }; }; camera0_vcama_on: camera0_vcama_output_high@gpio195 { pins_cmd_dat { pinmux = ; output-high; }; }; camera1_vcama_off: camera1_vcama_output_low@gpio195 { pins_cmd_dat { pinmux = ; output-low; }; }; camera1_vcama_on: camera1_vcama_output_hgigh@gpio195 { pins_cmd_dat { pinmux = ; output-high; }; }; camera0_mclk_2ma: camera0_mclk_2ma@gpio116 { pins_cmd_dat { pinmux = ; drive-strength = <0>; }; }; camera0_mclk_4ma: camera0_mclk_4ma@gpio116 { pins_cmd_dat { pinmux = ; drive-strength = <1>; }; }; camera0_mclk_6ma: camera0_mclk_6ma@gpio116 { pins_cmd_dat { pinmux = ; drive-strength = <2>; }; }; camera0_mclk_8ma: camera0_mclk_8ma@gpio116 { pins_cmd_dat { pinmux = ; drive-strength = <3>; }; }; camera0_mclk_off: camera0_mclk_gpio_mode@gpio116 { pins_cmd_dat { pinmux = ; drive-strength = <1>; }; }; camera1_mclk_2ma: camera1_mclk_2ma@gpio117 { pins_cmd_dat { pinmux = ; drive-strength = <0>; }; }; camera1_mclk_4ma: camera1_mclk_4ma@gpio117 { pins_cmd_dat { pinmux = ; drive-strength = <1>; }; }; camera1_mclk_6ma: camera1_mclk_6ma@gpio117 { pins_cmd_dat { pinmux = ; drive-strength = <2>; }; }; camera1_mclk_8ma: camera1_mclk_8ma@gpio117 { pins_cmd_dat { pinmux = ; drive-strength = <3>; }; }; camera1_mclk_off: camera1_mclk_gpio_mode@gpio117 { pins_cmd_dat { pinmux = ; 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", "cam0_ldo_vcama_0", "cam0_ldo_vcama_1", "cam1_ldo_vcama_0", "cam1_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"; 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 = <&camera0_vcama_off>; pinctrl-8 = <&camera0_vcama_on>; pinctrl-9 = <&camera1_vcama_off>; pinctrl-10 = <&camera1_vcama_on>; pinctrl-11 = <&camera0_mclk_off>; pinctrl-12 = <&camera0_mclk_2ma>; pinctrl-13 = <&camera0_mclk_4ma>; pinctrl-14 = <&camera0_mclk_6ma>; pinctrl-15 = <&camera0_mclk_8ma>; pinctrl-16 = <&camera1_mclk_off>; pinctrl-17 = <&camera1_mclk_2ma>; pinctrl-18 = <&camera1_mclk_4ma>; pinctrl-19 = <&camera1_mclk_6ma>; pinctrl-20 = <&camera1_mclk_8ma>; vcamd_sub-supply = <&mt_pmic_vrf12_ldo_reg>; status = "okay"; }; /* CAMERA GPIO end */