2014-02-03 21:32:20 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2014 Linaro Ltd.
|
|
|
|
*
|
|
|
|
* The code contained herein is licensed under the GNU General Public
|
|
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
|
|
* Version 2 or later at the following locations:
|
|
|
|
*
|
|
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
|
|
*/
|
|
|
|
|
|
|
|
/ {
|
|
|
|
soc {
|
|
|
|
prcmu@80157000 {
|
|
|
|
ab8500 {
|
|
|
|
ab8500-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>,
|
2014-02-03 21:46:19 +08:00
|
|
|
<&gpio35_default_mode>,
|
2014-02-03 21:57:22 +08:00
|
|
|
<&ycbcr_default_mode>,
|
2014-02-03 22:43:22 +08:00
|
|
|
<&pwm_default_mode>,
|
2014-02-04 05:43:45 +08:00
|
|
|
<&adi1_default_mode>,
|
2014-02-04 05:51:58 +08:00
|
|
|
<&usbuicc_default_mode>,
|
2014-02-04 05:56:27 +08:00
|
|
|
<&dmic_default_mode>,
|
2014-02-04 06:02:02 +08:00
|
|
|
<&extcpena_default_mode>,
|
|
|
|
<&modsclsda_default_mode>;
|
2014-02-03 21:32:20 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* 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 {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio2_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO2_T9";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio4 {
|
|
|
|
gpio4_default_mode: gpio4_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio4_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO4_W2";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio10 {
|
|
|
|
gpio10_default_mode: gpio10_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio10_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO10_U17";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio11 {
|
|
|
|
gpio11_default_mode: gpio11_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio11_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO11_AA18";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio12 {
|
|
|
|
gpio12_default_mode: gpio12_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio12_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO12_U16";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio13 {
|
|
|
|
gpio13_default_mode: gpio13_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio13_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO13_W17";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio16 {
|
|
|
|
gpio16_default_mode: gpio16_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio16_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO16_F15";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio24 {
|
|
|
|
gpio24_default_mode: gpio24_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio24_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO24_T14";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio25 {
|
|
|
|
gpio25_default_mode: gpio25_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio25_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO25_R16";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio36 {
|
|
|
|
gpio36_default_mode: gpio36_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio36_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO36_A17";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio37 {
|
|
|
|
gpio37_default_mode: gpio37_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio37_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO37_E15";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio38 {
|
|
|
|
gpio38_default_mode: gpio38_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio38_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO38_C17";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio39 {
|
|
|
|
gpio39_default_mode: gpio39_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio39_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO39_E16";
|
2014-02-03 21:32:20 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio42 {
|
|
|
|
gpio42_default_mode: gpio42_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio42_a_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO42_U2";
|
2014-02-03 21:32:20 +08:00
|
|
|
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 {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio26_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO26_M16";
|
2014-02-03 21:32:20 +08:00
|
|
|
output-low;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
gpio35 {
|
|
|
|
gpio35_default_mode: gpio35_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio35_d_1";
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO35_W15";
|
2014-02-03 21:32:20 +08:00
|
|
|
output-low;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-03 21:46:19 +08:00
|
|
|
/*
|
|
|
|
* 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 {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "ycbcr";
|
|
|
|
groups = "ycbcr0123_d_1";
|
2014-02-03 21:46:19 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO6_Y18",
|
2014-02-03 21:46:19 +08:00
|
|
|
"GPIO7_AA20",
|
|
|
|
"GPIO8_W18",
|
|
|
|
"GPIO9_AA19";
|
|
|
|
input-enable;
|
|
|
|
bias-disable;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-03 21:57:22 +08:00
|
|
|
/* This sets up the PWM pins 14 and 15 */
|
|
|
|
pwm {
|
|
|
|
pwm_default_mode: pwm_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "pwmout";
|
|
|
|
groups = "pwmout1_d_1", "pwmout2_d_1";
|
2014-02-03 21:57:22 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO14_F14",
|
2014-02-03 21:57:22 +08:00
|
|
|
"GPIO15_B17";
|
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-03 22:43:22 +08:00
|
|
|
/* This sets up audio interface 1 */
|
|
|
|
adi1 {
|
|
|
|
adi1_default_mode: adi1_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "adi1";
|
|
|
|
groups = "adi1_d_1";
|
2014-02-03 22:43:22 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO17_P5",
|
2014-02-03 22:43:22 +08:00
|
|
|
"GPIO18_R5",
|
|
|
|
"GPIO19_U5",
|
|
|
|
"GPIO20_T5";
|
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-04 05:43:45 +08:00
|
|
|
/* This sets up the USB UICC pins */
|
|
|
|
usbuicc {
|
|
|
|
usbuicc_default_mode: usbuicc_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "usbuicc";
|
|
|
|
groups = "usbuicc_d_1";
|
2014-02-04 05:43:45 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO21_H19",
|
2014-02-04 05:43:45 +08:00
|
|
|
"GPIO22_G20",
|
|
|
|
"GPIO23_G19";
|
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-04 05:51:58 +08:00
|
|
|
/* This sets up the microphone pins */
|
|
|
|
dmic {
|
|
|
|
dmic_default_mode: dmic_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "dmic";
|
|
|
|
groups = "dmic12_d_1",
|
2014-02-04 05:51:58 +08:00
|
|
|
"dmic34_d_1",
|
|
|
|
"dmic56_d_1";
|
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO27_J6",
|
2014-02-04 05:51:58 +08:00
|
|
|
"GPIO28_K6",
|
|
|
|
"GPIO29_G6",
|
|
|
|
"GPIO30_H6",
|
|
|
|
"GPIO31_F5",
|
|
|
|
"GPIO32_G5";
|
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-04 05:56:27 +08:00
|
|
|
extcpena {
|
|
|
|
extcpena_default_mode: extcpena_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "extcpena";
|
|
|
|
groups = "extcpena_d_1";
|
2014-02-04 05:56:27 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO34_R17";
|
2014-02-04 05:56:27 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-04 06:02:02 +08:00
|
|
|
/* Modem I2C setup (SCL and SDA pins) */
|
|
|
|
modsclsda {
|
|
|
|
modsclsda_default_mode: modsclsda_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "modsclsda";
|
|
|
|
groups = "modsclsda_d_1";
|
2014-02-04 06:02:02 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO40_T19",
|
2014-02-04 06:02:02 +08:00
|
|
|
"GPIO41_U19";
|
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-04 06:16:49 +08:00
|
|
|
/*
|
|
|
|
* Clock output pins associated with regulators.
|
|
|
|
*/
|
|
|
|
sysclkreq2 {
|
|
|
|
sysclkreq2_default_mode: sysclkreq2_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "sysclkreq";
|
|
|
|
groups = "sysclkreq2_d_1";
|
2014-02-04 06:16:49 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO1_T10";
|
2014-02-04 06:16:49 +08:00
|
|
|
input-enable;
|
|
|
|
bias-disable;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
sysclkreq2_sleep_mode: sysclkreq2_sleep {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio1_a_1";
|
2014-02-04 06:16:49 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO1_T10";
|
2014-02-04 06:16:49 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
sysclkreq4 {
|
|
|
|
sysclkreq4_default_mode: sysclkreq4_default {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "sysclkreq";
|
|
|
|
groups = "sysclkreq4_d_1";
|
2014-02-04 06:16:49 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO3_U9";
|
2014-02-04 06:16:49 +08:00
|
|
|
input-enable;
|
|
|
|
bias-disable;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
sysclkreq4_sleep_mode: sysclkreq4_sleep {
|
|
|
|
default_mux {
|
2014-09-30 18:10:11 +08:00
|
|
|
function = "gpio";
|
|
|
|
groups = "gpio3_a_1";
|
2014-02-04 06:16:49 +08:00
|
|
|
};
|
|
|
|
default_cfg {
|
2014-09-30 18:19:40 +08:00
|
|
|
pins = "GPIO3_U9";
|
2014-02-04 06:16:49 +08:00
|
|
|
input-enable;
|
|
|
|
bias-pull-down;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2014-02-03 21:32:20 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|