mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
ARM: nomadik: move the pin configuration to DT
This moves the pin configuration for the Nomadik over to the device tree using Gabriel's bindings. Remove the auxdata nailing down the name of the pin controller as this is no longer necessary. Cc: Gabriel Fernandez <gabriel.fernandez@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
175210a842
commit
49932f5ef1
@ -14,6 +14,43 @@
|
||||
bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
|
||||
};
|
||||
|
||||
pinctrl {
|
||||
/* Hog CD pins */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cd_default_mode>;
|
||||
|
||||
mmcsd-cd {
|
||||
cd_default_mode: cd_default {
|
||||
cd_default_cfg1 {
|
||||
/* CD input GPIO */
|
||||
ste,pins = "GPIO111_H21";
|
||||
ste,input = <0>;
|
||||
};
|
||||
cd_default_cfg2 {
|
||||
/* CD GPIO biasing */
|
||||
ste,pins = "GPIO112_J21";
|
||||
ste,output = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
user-led {
|
||||
user_led_default_mode: user_led_default {
|
||||
user_led_default_cfg {
|
||||
ste,pins = "GPIO2_C5";
|
||||
ste,output = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
user-button {
|
||||
user_button_default_mode: user_button_default {
|
||||
user_button_default_cfg {
|
||||
ste,pins = "GPIO3_A4";
|
||||
ste,input = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Custom board node with GPIO pins to active etc */
|
||||
usb-s8815 {
|
||||
/* The S8815 is using this very GPIO pin for the SMSC91x IRQs */
|
||||
@ -36,6 +73,8 @@
|
||||
gpios = <&gpio0 2 0x1>;
|
||||
default-state = "off";
|
||||
linux,default-trigger = "heartbeat";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&user_led_default_mode>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -47,6 +86,8 @@
|
||||
gpios = <&gpio0 3 0x1>;
|
||||
linux,code = <1>; /* KEY_ESC */
|
||||
gpio-key,wakeup;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&user_button_default_mode>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -94,6 +94,75 @@
|
||||
|
||||
pinctrl {
|
||||
compatible = "stericsson,nmk-pinctrl-stn8815";
|
||||
/* Pin configurations */
|
||||
uart0 {
|
||||
uart0_default_mux: uart0_mux {
|
||||
u0_default_mux {
|
||||
ste,function = "u0";
|
||||
ste,pins = "u0_a_1";
|
||||
};
|
||||
};
|
||||
};
|
||||
uart1 {
|
||||
uart1_default_mux: uart1_mux {
|
||||
u1_default_mux {
|
||||
ste,function = "u1";
|
||||
ste,pins = "u1_a_1";
|
||||
};
|
||||
};
|
||||
};
|
||||
mmcsd {
|
||||
mmcsd_default_mux: mmcsd_mux {
|
||||
mmcsd_default_mux {
|
||||
ste,function = "mmcsd";
|
||||
ste,pins = "mmcsd_a_1";
|
||||
};
|
||||
};
|
||||
mmcsd_default_mode: mmcsd_default {
|
||||
mmcsd_default_cfg1 {
|
||||
/* MCCLK */
|
||||
ste,pins = "GPIO8_B10";
|
||||
ste,output = <0>;
|
||||
};
|
||||
mmcsd_default_cfg2 {
|
||||
/* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */
|
||||
ste,pins = "GPIO10_C11", "GPIO15_A12",
|
||||
"GPIO16_C13";
|
||||
ste,output = <1>;
|
||||
};
|
||||
mmcsd_default_cfg3 {
|
||||
/* MCCMD, MCDAT3-0, MCMSFBCLK */
|
||||
ste,pins = "GPIO9_A10", "GPIO11_B11",
|
||||
"GPIO12_A11", "GPIO13_C12",
|
||||
"GPIO14_B12", "GPIO24_C15";
|
||||
ste,input = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c0 {
|
||||
i2c0_default_mode: i2c0_default {
|
||||
i2c0_default_cfg {
|
||||
ste,pins = "GPIO62_D3", "GPIO63_D2";
|
||||
ste,input = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c1 {
|
||||
i2c1_default_mode: i2c1_default {
|
||||
i2c1_default_cfg {
|
||||
ste,pins = "GPIO53_L4", "GPIO54_L3";
|
||||
ste,input = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c2 {
|
||||
i2c2_default_mode: i2c2_default {
|
||||
i2c2_default_cfg {
|
||||
ste,pins = "GPIO73_C21", "GPIO74_C20";
|
||||
ste,input = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
src: src@101e0000 {
|
||||
@ -191,6 +260,8 @@
|
||||
<&gpio1 30 0>; /* scl */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_default_mode>;
|
||||
|
||||
stw4811@2d {
|
||||
compatible = "st,stw4811";
|
||||
@ -205,6 +276,8 @@
|
||||
<&gpio1 21 0>; /* scl */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_default_mode>;
|
||||
|
||||
camera@2d {
|
||||
compatible = "st,camera";
|
||||
@ -227,6 +300,9 @@
|
||||
<&gpio2 9 0>; /* scl */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_default_mode>;
|
||||
|
||||
stw4811@2d {
|
||||
compatible = "st,stw4811-usb";
|
||||
reg = <0x2d>;
|
||||
@ -260,6 +336,8 @@
|
||||
interrupts = <12>;
|
||||
clocks = <&clk48>, <&pclk>;
|
||||
clock-names = "uartclk", "apb_pclk";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_default_mux>;
|
||||
};
|
||||
|
||||
uart1: uart@101fb000 {
|
||||
@ -269,6 +347,8 @@
|
||||
interrupts = <17>;
|
||||
clocks = <&clk48>, <&pclk>;
|
||||
clock-names = "uartclk", "apb_pclk";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_default_mux>;
|
||||
};
|
||||
|
||||
uart2: uart@101f2000 {
|
||||
@ -310,6 +390,8 @@
|
||||
mmc-cap-sd-highspeed;
|
||||
cd-gpios = <&gpio3 15 0x1>;
|
||||
cd-inverted;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -27,8 +27,6 @@
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/platform_data/clk-nomadik.h>
|
||||
#include <linux/platform_data/pinctrl-nomadik.h>
|
||||
#include <linux/pinctrl/machine.h>
|
||||
#include <linux/clocksource.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_gpio.h>
|
||||
@ -91,52 +89,6 @@
|
||||
#define NOMADIK_L2CC_BASE 0x10210000 /* L2 Cache controller */
|
||||
#define NOMADIK_UART1_VBASE 0xF01FB000
|
||||
|
||||
static unsigned long out_low[] = { PIN_OUTPUT_LOW };
|
||||
static unsigned long out_high[] = { PIN_OUTPUT_HIGH };
|
||||
static unsigned long in_nopull[] = { PIN_INPUT_NOPULL };
|
||||
static unsigned long in_pullup[] = { PIN_INPUT_PULLUP };
|
||||
|
||||
static struct pinctrl_map __initdata nhk8815_pinmap[] = {
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("uart0", "pinctrl-stn8815", "u0_a_1", "u0"),
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("uart1", "pinctrl-stn8815", "u1_a_1", "u1"),
|
||||
/* User LED on S8815 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO2_C5", out_high),
|
||||
/* User button on S8815 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO3_A4", in_nopull),
|
||||
/* Hog in MMC/SD card mux */
|
||||
PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-stn8815", "mmcsd_a_1", "mmcsd"),
|
||||
/* MCCLK */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO8_B10", out_low),
|
||||
/* MCCMD */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO9_A10", in_pullup),
|
||||
/* MCCMDDIR */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO10_C11", out_high),
|
||||
/* MCDAT3-0 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO11_B11", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO12_A11", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO13_C12", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO14_B12", in_pullup),
|
||||
/* MCDAT0DIR */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO15_A12", out_high),
|
||||
/* MCDAT31DIR */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO16_C13", out_high),
|
||||
/* MCMSFBCLK */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO24_C15", in_pullup),
|
||||
/* CD input GPIO */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO111_H21", in_nopull),
|
||||
/* CD bias drive */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO112_J21", out_low),
|
||||
/* I2C0 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO62_D3", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO63_D2", in_pullup),
|
||||
/* I2C1 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO53_L4", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO54_L3", in_pullup),
|
||||
/* I2C2 */
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO73_C21", in_pullup),
|
||||
PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO74_C20", in_pullup),
|
||||
};
|
||||
|
||||
/* This is needed for LL-debug/earlyprintk/debug-macro.S */
|
||||
static struct map_desc cpu8815_io_desc[] __initdata = {
|
||||
{
|
||||
@ -284,8 +236,6 @@ device_initcall(cpu8815_mmcsd_init);
|
||||
|
||||
/* These are mostly to get the right device names for the clock lookups */
|
||||
static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = {
|
||||
OF_DEV_AUXDATA("stericsson,nmk-pinctrl-stn8815", 0,
|
||||
"pinctrl-stn8815", NULL),
|
||||
OF_DEV_AUXDATA("stericsson,fsmc-nand", NOMADIK_FSMC_BASE,
|
||||
NULL, &cpu8815_nand_data),
|
||||
OF_DEV_AUXDATA("arm,primecell", NOMADIK_SDI_BASE,
|
||||
@ -299,7 +249,6 @@ static void __init cpu8815_init_of(void)
|
||||
/* At full speed latency must be >=2, so 0x249 in low bits */
|
||||
l2x0_of_init(0x00730249, 0xfe000fff);
|
||||
#endif
|
||||
pinctrl_register_mappings(nhk8815_pinmap, ARRAY_SIZE(nhk8815_pinmap));
|
||||
of_platform_populate(NULL, of_default_bus_match_table,
|
||||
cpu8815_auxdata_lookup, NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user