Nomadik changes for the v3.19 development series:

- Rearrange the DTS files to make a pure SoC-specific file and
   a pure board file for S8815.
 - Add the device tree for the NDK15 board.
 - Update the defconfig and configure in the STMPE expander by
   default on the Nomadik.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUWyzIAAoJEEEQszewGV1z0Q0P/3yvUT1NWTSRAhu+5V1ycVSi
 UmctP58ZPSU14Zavvb6E4XunfgrLNRIGTXAL1YbSUURGLNJ6+bsKLmBHQB3z/oQ4
 4ynSE0pqdLna3fxhgxqfikh4Oc1213Nppnb1RcGupS1S7ya5JGsg6PD50nSlUCan
 xR+WG4U5ZQ80Z0eWMoafFeESt4n2xv4J1BwNyiFDoSDaAmUdRJTiWtXYlVaMcuXD
 Ysrp7QNSihvUO74AcS43H2zv1nMxnUDgKpKWTq4UGHMRkdDSlAo2zskATmYhenBd
 CteDwuGHgTtBcnUOEA+AHidSw25Pl2QmS5CX9Dgt70DNq/OCKIOyi2nwn4NnKhWY
 +WfL4TKLshREe83GCBOkDO5bBNV4qP9W81ASisIp2T6ALCQQEqyRU4BIF1vsAJuR
 fynPzzSDuwAzPbxOTVB8HVyzY2XEKEzMOwAFLBt7U1dteuIGkOUbfM8bso13AAYR
 bI4XPaPpY5l5TE5OKC3AzdMltiVU8onwsMaBfx4Gp3aIhzVN+OH/Tr4Bu1TDAhSb
 hSZ74Z+SAKdrLBvZRe6FJUp+8bV5znTFq/R9g4QmIruw3drOWzxIdZFvvA+Oyz/J
 pGH/kBSRKze1TJfYy2QMbZ1vKj2sD0S8AOIOGTL+hXjHZFDyd7367JsuSWrTGXK6
 oHtUyZhKmHQ+rIUhawy6
 =6oZZ
 -----END PGP SIGNATURE-----

Merge tag 'nomadik-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt

Merge "Nomadik updates for the v3.19 series" from Linus Walleij:

Nomadik changes for the v3.19 development series:
- Rearrange the DTS files to make a pure SoC-specific file and
  a pure board file for S8815.
- Add the device tree for the NDK15 board.
- Update the defconfig and configure in the STMPE expander by
  default on the Nomadik.

* tag 'nomadik-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: nomadik: configure in STMPE support
  ARM: update Nomadik config
  ARM: nomadik: device tree for NHK15 board
  ARM: nomadik: push ethernet down to board
  ARM: nomadik: set up MCDATDIR2
  ARM: nomadik: move GPIO I2C to S8815 board file
  ARM: nomadik: disable chrystals in top level board files
  ARM: nomadik: move MMC/SD card detect GPIO to board DTS

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2014-11-08 16:59:39 -08:00
commit 17908a13a4
7 changed files with 215 additions and 58 deletions

View File

@ -10,6 +10,12 @@ Required root node property: src
Boards with the Nomadik SoC include: Boards with the Nomadik SoC include:
Nomadik NHK-15 board manufactured by ST Microelectronics:
Required root node property:
compatible="st,nomadik-nhk-15";
S8815 "MiniKit" manufactured by Calao Systems: S8815 "MiniKit" manufactured by Calao Systems:
Required root node property: Required root node property:

View File

@ -279,7 +279,8 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
imx28-m28evk.dtb \ imx28-m28evk.dtb \
imx28-sps1.dtb \ imx28-sps1.dtb \
imx28-tx28.dtb imx28-tx28.dtb
dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \
ste-nomadik-nhk15.dtb
dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \
nspire-tp.dtb \ nspire-tp.dtb \
nspire-clp.dtb nspire-clp.dtb

View File

@ -0,0 +1,151 @@
/*
* Device Tree for the ST-Ericsson Nomadik S8815 board
* Produced by Calao Systems
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include "ste-nomadik-stn8815.dtsi"
/ {
model = "Nomadik STN8815NHK";
compatible = "st,nomadik-nhk-15";
chosen {
bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
};
aliases {
stmpe-i2c0 = &stmpe0;
stmpe-i2c1 = &stmpe1;
};
pinctrl {
stmpe2401_1 {
stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
nhk_cfg1 {
ste,pins = "GPIO76_B20"; // IRQ line
ste,input = <0>;
};
nhk_cfg2 {
ste,pins = "GPIO77_B8"; // reset line
ste,output = <1>;
};
};
};
stmpe2401_2 {
stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
nhk_cfg1 {
ste,pins = "GPIO78_A8"; // IRQ line
ste,input = <0>;
};
nhk_cfg2 {
ste,pins = "GPIO79_C9"; // reset line
ste,output = <1>;
};
};
};
};
src@101e0000 {
/* These chrystal outputs are not used on this board */
disable-sxtalo;
disable-mxtalo;
};
/* This is where the interrupt is routed on the NHK-15 debug board */
external-bus@34000000 {
compatible = "simple-bus";
reg = <0x34000000 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x34000000 0x1000000>;
ethernet@300 {
compatible = "smsc,lan91c111";
reg = <0x300 0x0fd00>;
reg-io-width = <2>;
reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&stmpe_gpio44>;
interrupts = <11 IRQ_TYPE_EDGE_RISING>;
};
};
i2c0 {
stmpe0: stmpe2401@43 {
compatible = "st,stmpe2401";
reg = <0x43>;
reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
interrupt-parent = <&gpio2>;
interrupt-controller;
wakeup-source;
pinctrl-names = "default";
pinctrl-0 = <&stmpe2401_1_nhk_mode>;
stmpe_gpio43: stmpe_gpio {
compatible = "st,stmpe-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
/* Some pins in alternate functions */
st,norequest-mask = <0xf0f002>;
};
stmpe_keypad {
compatible = "st,stmpe-keypad";
debounce-interval = <64>;
st,scan-count = <8>;
st,no-autorepeat;
keypad,num-rows = <8>;
keypad,num-columns = <8>;
linux,keymap = <0x00020072 // Vol down
0x00030073 // Vol up
0x0100009e // Back
0x010100e3 // TV out
0x01020098 // Lock
0x0103013b // Start
0x020000a3 // Next
0x020100a4 // Play
0x020200a5 // Prev
0x02030160 // OK
0x03000069 // Left
0x0301006a // Right
0x03020067 // Up
0x0303006c>; // Down
};
};
stmpe1: stmpe2401@44 {
compatible = "st,stmpe2401";
reg = <0x44>;
reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
interrupt-parent = <&gpio2>;
interrupt-controller;
wakeup-source;
pinctrl-names = "default";
pinctrl-0 = <&stmpe2401_2_nhk_mode>;
stmpe_gpio44: stmpe_gpio {
compatible = "st,stmpe-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};
};
amba {
mmcsd: sdi@101f6000 {
cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
};
};
/* Custom board node with GPIO pins to active etc */
usb-s8815 {
/* This will turn off SATA so that MMC/SD can thrive */
mmcsd-gpio {
gpios = <&stmpe_gpio44 2 0x1>;
};
};
};

View File

@ -4,6 +4,7 @@
*/ */
/dts-v1/; /dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include "ste-nomadik-stn8815.dtsi" #include "ste-nomadik-stn8815.dtsi"
/ { / {
@ -14,14 +15,6 @@
bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
}; };
/* This is where the interrupt is routed on the S8815 board */
external-bus@34000000 {
ethernet@300 {
interrupt-parent = <&gpio3>;
interrupts = <8 0x1>;
};
};
src@101e0000 { src@101e0000 {
/* These chrystal drivers are not used on this board */ /* These chrystal drivers are not used on this board */
disable-sxtalo; disable-sxtalo;
@ -47,6 +40,14 @@
}; };
}; };
}; };
gpioi2c {
gpioi2c_default_mode: gpioi2c_default {
gpioi2c_default_cfg {
ste,pins = "GPIO73_C21", "GPIO74_C20";
ste,input = <0>;
};
};
};
user-led { user-led {
user_led_default_mode: user_led_default { user_led_default_mode: user_led_default {
user_led_default_cfg { user_led_default_cfg {
@ -65,6 +66,45 @@
}; };
}; };
/* Ethernet */
external-bus@34000000 {
compatible = "simple-bus";
reg = <0x34000000 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x34000000 0x1000000>;
ethernet@300 {
compatible = "smsc,lan91c111";
reg = <0x300 0x0fd00>;
interrupt-parent = <&gpio3>;
interrupts = <8 IRQ_TYPE_EDGE_RISING>;
};
};
/* GPIO I2C connected to the USB portions of the STw4811 only */
gpio-i2c {
compatible = "i2c-gpio";
gpios = <&gpio2 10 0>, /* sda */
<&gpio2 9 0>; /* scl */
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&gpioi2c_default_mode>;
stw4811@2d {
compatible = "st,stw4811-usb";
reg = <0x2d>;
};
};
/* Configure card detect for the uSD slot */
amba {
mmcsd: sdi@101f6000 {
cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
};
};
/* Custom board node with GPIO pins to active etc */ /* Custom board node with GPIO pins to active etc */
usb-s8815 { usb-s8815 {
/* This will bias the MMC/SD card detect line */ /* This will bias the MMC/SD card detect line */

View File

@ -117,7 +117,7 @@
mmcsd_default_mux: mmcsd_mux { mmcsd_default_mux: mmcsd_mux {
mmcsd_default_mux { mmcsd_default_mux {
ste,function = "mmcsd"; ste,function = "mmcsd";
ste,pins = "mmcsd_a_1"; ste,pins = "mmcsd_a_1", "mmcsd_b_1";
}; };
}; };
mmcsd_default_mode: mmcsd_default { mmcsd_default_mode: mmcsd_default {
@ -127,9 +127,9 @@
ste,output = <0>; ste,output = <0>;
}; };
mmcsd_default_cfg2 { mmcsd_default_cfg2 {
/* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */ /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2 */
ste,pins = "GPIO10_C11", "GPIO15_A12", ste,pins = "GPIO10_C11", "GPIO15_A12",
"GPIO16_C13"; "GPIO16_C13", "GPIO23_D15";
ste,output = <1>; ste,output = <1>;
}; };
mmcsd_default_cfg3 { mmcsd_default_cfg3 {
@ -169,21 +169,11 @@
}; };
}; };
}; };
i2c2 {
i2c2_default_mode: i2c2_default {
i2c2_default_cfg {
ste,pins = "GPIO73_C21", "GPIO74_C20";
ste,input = <0>;
};
};
};
}; };
src: src@101e0000 { src: src@101e0000 {
compatible = "stericsson,nomadik-src"; compatible = "stericsson,nomadik-src";
reg = <0x101e0000 0x1000>; reg = <0x101e0000 0x1000>;
disable-sxtalo;
disable-mxtalo;
/* /*
* MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz
@ -683,18 +673,6 @@
}; };
}; };
external-bus@34000000 {
compatible = "simple-bus";
reg = <0x34000000 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x34000000 0x1000000>;
ethernet@300 {
compatible = "smsc,lan91c111";
reg = <0x300 0x0fd00>;
};
};
/* I2C0 connected to the STw4811 power management chip */ /* I2C0 connected to the STw4811 power management chip */
i2c0 { i2c0 {
compatible = "st,nomadik-i2c", "arm,primecell"; compatible = "st,nomadik-i2c", "arm,primecell";
@ -749,22 +727,6 @@
}; };
}; };
/* I2C2 connected to the USB portions of the STw4811 only */
i2c2 {
compatible = "i2c-gpio";
gpios = <&gpio2 10 0>, /* sda */
<&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>;
};
};
amba { amba {
compatible = "arm,amba-bus"; compatible = "arm,amba-bus";
#address-cells = <1>; #address-cells = <1>;
@ -844,7 +806,6 @@
bus-width = <4>; bus-width = <4>;
cap-mmc-highspeed; cap-mmc-highspeed;
cap-sd-highspeed; cap-sd-highspeed;
cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
vmmc-supply = <&vmmc_regulator>; vmmc-supply = <&vmmc_regulator>;

View File

@ -20,7 +20,6 @@ CONFIG_PREEMPT=y
CONFIG_AEABI=y CONFIG_AEABI=y
CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_FPE_NWFPE=y
CONFIG_NET=y CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
CONFIG_UNIX=y CONFIG_UNIX=y
@ -57,14 +56,12 @@ CONFIG_MTD_NAND_FSMC=y
CONFIG_MTD_ONENAND=y CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_GENERIC=y CONFIG_MTD_ONENAND_GENERIC=y
CONFIG_PROC_DEVICETREE=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_SCSI=y CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_SCAN_ASYNC=y
@ -83,21 +80,21 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set # CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_GPIO=y CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_STMPE=y
# CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_PS2 is not set
# CONFIG_SERIO is not set # CONFIG_SERIO is not set
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_NOMADIK=y
CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y
CONFIG_I2C_GPIO=y CONFIG_I2C_GPIO=y
CONFIG_I2C_NOMADIK=y
CONFIG_DEBUG_GPIO=y CONFIG_DEBUG_GPIO=y
CONFIG_GPIO_STMPE=y
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
CONFIG_MFD_STMPE=y
CONFIG_REGULATOR=y CONFIG_REGULATOR=y
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_BLOCK_BOUNCE is not set # CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_MMC_ARMMMCI=y CONFIG_MMC_ARMMMCI=y
CONFIG_NEW_LEDS=y CONFIG_NEW_LEDS=y
@ -125,12 +122,12 @@ CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y CONFIG_NLS_ISO8859_15=y
CONFIG_DEBUG_INFO=y
# CONFIG_ENABLE_MUST_CHECK is not set # CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set # CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set # CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_DEBUG_INFO=y
CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_DES=y

View File

@ -144,6 +144,7 @@ static int __init cpu8815_mmcsd_init(void)
device_initcall(cpu8815_mmcsd_init); device_initcall(cpu8815_mmcsd_init);
static const char * cpu8815_board_compat[] = { static const char * cpu8815_board_compat[] = {
"st,nomadik-nhk-15",
"calaosystems,usb-s8815", "calaosystems,usb-s8815",
NULL, NULL,
}; };