// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright 2023 Linus Walleij <[email protected]>
*/
#include "ste-ab8505.dtsi"
/ {
soc {
prcmu@80157000 {
ab8505 {
phy {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&usb_a_1_default>;
pinctrl-1 = <&usb_a_1_sleep>;
};
regulator {
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
regulator-name = "V-DISPLAY";
};
ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
regulator-name = "V-eMMC1";
};
ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
regulator-name = "V-MMC-SD";
};
ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
regulator-name = "V-INTCORE";
};
ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
regulator-name = "V-TVOUT";
};
ab8500_ldo_audio_reg: ab8500_ldo_audio {
regulator-name = "V-AUD";
};
ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
regulator-name = "V-AMIC1";
};
ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
regulator-name = "V-AMIC2";
};
ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
regulator-name = "V-DMIC";
};
ab8500_ldo_ana_reg: ab8500_ldo_ana {
regulator-name = "V-CSI/DSI";
};
};
gpio {
/* Hog a few default settings */
pinctrl-names = "default";
pinctrl-0 = <&gpio2_default_mode>,
<&gpio4_default_mode>,
<&gpio10_default_mode>,
<&gpio11_default_mode>,
<&gpio12_default_mode>,
<&gpio13_default_mode>,
<&gpio16_default_mode>,
<&gpio24_default_mode>,
<&gpio25_default_mode>,
<&gpio36_default_mode>,
<&gpio37_default_mode>,
<&gpio38_default_mode>,
<&gpio39_default_mode>,
<&gpio42_default_mode>,
<&gpio26_default_mode>,
<&gpio35_default_mode>,
<&ycbcr_default_mode>,
<&pwm_default_mode>,
<&adi1_default_mode>,
<&usbuicc_default_mode>,
<&dmic_default_mode>,
<&extcpena_default_mode>,
<&modsclsda_default_mode>;
/*
* Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42
* are muxed in as GPIO, and configured as INPUT PULL DOWN
*/
gpio2 {
gpio2_default_mode: gpio2_default {
default_mux {
function = "gpio";
groups = "gpio2_a_1";
};
default_cfg {
pins = "GPIO2_T9";
input-enable;
bias-pull-down;
};
};
};
gpio4 {
gpio4_default_mode: gpio4_default {
default_mux {
function = "gpio";
groups = "gpio4_a_1";
};
default_cfg {
pins = "GPIO4_W2";
input-enable;
bias-pull-down;
};
};
};
gpio10 {
gpio10_default_mode: gpio10_default {
default_mux {
function = "gpio";
groups = "gpio10_d_1";
};
default_cfg {
pins = "GPIO10_U17";
input-enable;
bias-pull-down;
};
};
};
gpio11 {
gpio11_default_mode: gpio11_default {
default_mux {
function = "gpio";
groups = "gpio11_d_1";
};
default_cfg {
pins = "GPIO11_AA18";
input-enable;
bias-pull-down;
};
};
};
gpio12 {
gpio12_default_mode: gpio12_default {
default_mux {
function = "gpio";
groups = "gpio12_d_1";
};
default_cfg {
pins = "GPIO12_U16";
input-enable;
bias-pull-down;
};
};
};
gpio13 {
gpio13_default_mode: gpio13_default {
default_mux {
function = "gpio";
groups = "gpio13_d_1";
};
default_cfg {
pins = "GPIO13_W17";
input-enable;
bias-pull-down;
};
};
};
gpio16 {
gpio16_default_mode: gpio16_default {
default_mux {
function = "gpio";
groups = "gpio16_a_1";
};
default_cfg {
pins = "GPIO16_F15";
input-enable;
bias-pull-down;
};
};
};
gpio24 {
gpio24_default_mode: gpio24_default {
default_mux {
function = "gpio";
groups = "gpio24_a_1";
};
default_cfg {
pins = "GPIO24_T14";
input-enable;
bias-pull-down;
};
};
};
gpio25 {
gpio25_default_mode: gpio25_default {
default_mux {
function = "gpio";
groups = "gpio25_a_1";
};
default_cfg {
pins = "GPIO25_R16";
input-enable;
bias-pull-down;
};
};
};
gpio36 {
gpio36_default_mode: gpio36_default {
default_mux {
function = "gpio";
groups = "gpio36_a_1";
};
default_cfg {
pins = "GPIO36_A17";
input-enable;
bias-pull-down;
};
};
};
gpio37 {
gpio37_default_mode: gpio37_default {
default_mux {
function = "gpio";
groups = "gpio37_a_1";
};
default_cfg {
pins = "GPIO37_E15";
input-enable;
bias-pull-down;
};
};
};
gpio38 {
gpio38_default_mode: gpio38_default {
default_mux {
function = "gpio";
groups = "gpio38_a_1";
};
default_cfg {
pins = "GPIO38_C17";
input-enable;
bias-pull-down;
};
};
};
gpio39 {
gpio39_default_mode: gpio39_default {
default_mux {
function = "gpio";
groups = "gpio39_a_1";
};
default_cfg {
pins = "GPIO39_E16";
input-enable;
bias-pull-down;
};
};
};
gpio42 {
gpio42_default_mode: gpio42_default {
default_mux {
function = "gpio";
groups = "gpio42_a_1";
};
default_cfg {
pins = "GPIO42_U2";
input-enable;
bias-pull-down;
};
};
};
/*
* Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW
*/
gpio26 {
gpio26_default_mode: gpio26_default {
default_mux {
function = "gpio";
groups = "gpio26_d_1";
};
default_cfg {
pins = "GPIO26_M16";
output-low;
};
};
};
gpio35 {
gpio35_default_mode: gpio35_default {
default_mux {
function = "gpio";
groups = "gpio35_d_1";
};
default_cfg {
pins = "GPIO35_W15";
output-low;
};
};
};
/*
* This sets up the YCBCR connector pins, i.e. analog video out.
* Set as input with no bias.
*/
ycbcr {
ycbcr_default_mode: ycbcr_default {
default_mux {
function = "ycbcr";
groups = "ycbcr0123_d_1";
};
default_cfg {
pins = "GPIO6_Y18",
"GPIO7_AA20",
"GPIO8_W18",
"GPIO9_AA19";
input-enable;
bias-disable;
};
};
};
/* This sets up the PWM pins 14 and 15 */
pwm {
pwm_default_mode: pwm_default {
default_mux {
function = "pwmout";
groups = "pwmout1_d_1", "pwmout2_d_1";
};
default_cfg {
pins = "GPIO14_F14",
"GPIO15_B17";
input-enable;
bias-pull-down;
};
};
};
/* This sets up audio interface 1 */
adi1 {
adi1_default_mode: adi1_default {
default_mux {
function = "adi1";
groups = "adi1_d_1";
};
default_cfg {
pins = "GPIO17_P5",
"GPIO18_R5",
"GPIO19_U5",
"GPIO20_T5";
input-enable;
bias-pull-down;
};
};
};
/* This sets up the USB UICC pins */
usbuicc {
usbuicc_default_mode: usbuicc_default {
default_mux {
function = "usbuicc";
groups = "usbuicc_d_1";
};
default_cfg {
pins = "GPIO21_H19",
"GPIO22_G20",
"GPIO23_G19";
input-enable;
bias-pull-down;
};
};
};
/* This sets up the microphone pins */
dmic {
dmic_default_mode: dmic_default {
default_mux {
function = "dmic";
groups = "dmic12_d_1",
"dmic34_d_1",
"dmic56_d_1";
};
default_cfg {
pins = "GPIO27_J6",
"GPIO28_K6",
"GPIO29_G6",
"GPIO30_H6",
"GPIO31_F5",
"GPIO32_G5";
input-enable;
bias-pull-down;
};
};
};
extcpena {
extcpena_default_mode: extcpena_default {
default_mux {
function = "extcpena";
groups = "extcpena_d_1";
};
default_cfg {
pins = "GPIO34_R17";
input-enable;
bias-pull-down;
};
};
};
/* Modem I2C setup (SCL and SDA pins) */
modsclsda {
modsclsda_default_mode: modsclsda_default {
default_mux {
function = "modsclsda";
groups = "modsclsda_d_1";
};
default_cfg {
pins = "GPIO40_T19",
"GPIO41_U19";
input-enable;
bias-pull-down;
};
};
};
/*
* Clock output pins associated with regulators.
*/
sysclkreq2 {
sysclkreq2_default_mode: sysclkreq2_default {
default_mux {
function = "sysclkreq";
groups = "sysclkreq2_d_1";
};
default_cfg {
pins = "GPIO1_T10";
input-enable;
bias-disable;
};
};
sysclkreq2_sleep_mode: sysclkreq2_sleep {
default_mux {
function = "gpio";
groups = "gpio1_a_1";
};
default_cfg {
pins = "GPIO1_T10";
input-enable;
bias-pull-down;
};
};
};
sysclkreq4 {
sysclkreq4_default_mode: sysclkreq4_default {
default_mux {
function = "sysclkreq";
groups = "sysclkreq4_d_1";
};
default_cfg {
pins = "GPIO3_U9";
input-enable;
bias-disable;
};
};
sysclkreq4_sleep_mode: sysclkreq4_sleep {
default_mux {
function = "gpio";
groups = "gpio3_a_1";
};
default_cfg {
pins = "GPIO3_U9";
input-enable;
bias-pull-down;
};
};
};
};
/*
* Charging is not working on the HREF unless an actual battery is
* mounted, most HREFs have a DC cable in to the "battery power"
* which means this will only be cofusing. So do not enable charging
* of the HREFs.
*/
ab8500_fg {
status = "disabled";
};
ab8500_btemp {
status = "disabled";
};
ab8500_charger {
status = "disabled";
};
ab8500_chargalg {
status = "disabled";
};
};
};
};
};