273 lines
6.2 KiB
Plaintext
273 lines
6.2 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Device Tree for the ST Microelectronics Nomadik NHK8815 board
|
|
*/
|
|
|
|
/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 {
|
|
serial0 = &uart0;
|
|
serial1 = &uart1;
|
|
stmpe-i2c0 = &stmpe0;
|
|
stmpe-i2c1 = &stmpe1;
|
|
};
|
|
|
|
pinctrl {
|
|
uart0 {
|
|
uart0_nhk_mode: uart0_mux {
|
|
u0_default_mux {
|
|
function = "u0";
|
|
groups = "u0txrx_a_1", "u0ctsrts_a_1";
|
|
};
|
|
};
|
|
};
|
|
|
|
stmpe2401_1 {
|
|
stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
|
|
nhk_cfg1 {
|
|
pins = "GPIO76_B20"; // IRQ line
|
|
ste,input = <0>;
|
|
};
|
|
nhk_cfg2 {
|
|
pins = "GPIO77_B8"; // reset line
|
|
ste,output = <1>;
|
|
};
|
|
};
|
|
};
|
|
stmpe2401_2 {
|
|
stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
|
|
nhk_cfg1 {
|
|
pins = "GPIO78_A8"; // IRQ line
|
|
ste,input = <0>;
|
|
};
|
|
nhk_cfg2 {
|
|
pins = "GPIO79_C9"; // reset line
|
|
ste,output = <1>;
|
|
};
|
|
};
|
|
};
|
|
lis3lv02dl {
|
|
lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
|
|
nhk_cfg1 {
|
|
pins = "GPIO82_C10"; // IRQ line
|
|
ste,input = <0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
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 {
|
|
lis3lv02dl@1d {
|
|
/* Accelerometer */
|
|
compatible = "st,lis3lv02dl-accel";
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
|
|
pinctrl-0 = <&lis3lv02dl_nhk_mode>;
|
|
pinctrl-names = "default";
|
|
reg = <0x1d>;
|
|
};
|
|
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
|
|
};
|
|
stmpe0_pwm: stmpe_pwm {
|
|
compatible = "st,stmpe-pwm";
|
|
#pwm-cells = <2>;
|
|
};
|
|
};
|
|
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>;
|
|
/*
|
|
* This will turn off SATA so that MMC/SD
|
|
* can thrive
|
|
*/
|
|
mmcsd-gpio {
|
|
gpio-hog;
|
|
gpios = <2 0x0>;
|
|
output-low;
|
|
line-name = "SATA EN";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
amba {
|
|
clcd@10120000 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&clcd_24bit_mux>;
|
|
port {
|
|
nomadik_clcd: endpoint {
|
|
remote-endpoint = <&nomadik_clcd_panel>;
|
|
arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
/* Activate RX/TX and CTS/RTS on UART 0 */
|
|
uart0: uart@101fd000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_nhk_mode>;
|
|
status = "okay";
|
|
};
|
|
mmcsd: sdi@101f6000 {
|
|
cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
spi {
|
|
compatible = "spi-gpio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
/*
|
|
* As we're dealing with 3wire SPI, we only define SCK
|
|
* and MOSI (in the spec MOSI is called "SDA").
|
|
*/
|
|
gpio-sck = <&gpio0 5 GPIO_ACTIVE_HIGH>;
|
|
gpio-mosi = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
|
/*
|
|
* It's not actually active high, but the frameworks assume
|
|
* the polarity of the passed-in GPIO is "normal" (active
|
|
* high) then actively drives the line low to select the
|
|
* chip.
|
|
*/
|
|
cs-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
|
num-chipselects = <1>;
|
|
|
|
/*
|
|
* WVGA connector 21
|
|
* WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
|
|
* with TPO touch screen.
|
|
*/
|
|
panel: display@0 {
|
|
/*
|
|
* The TPO display driver is connected to a
|
|
* 5.7" OSD OSD057VA01CT TFT display.
|
|
*/
|
|
compatible = "tpo,tpg110";
|
|
reg = <0>;
|
|
spi-3wire;
|
|
/* 320 ns min period ~= 3 MHz */
|
|
spi-max-frequency = <3000000>;
|
|
/* Width and height from the OSD data sheet */
|
|
width-mm = <116>;
|
|
height-mm = <87>;
|
|
grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
|
|
backlight = <&bl>;
|
|
|
|
port {
|
|
nomadik_clcd_panel: endpoint {
|
|
remote-endpoint = <&nomadik_clcd>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
bl: backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&stmpe0_pwm 0 500000>;
|
|
pwm-names = "backlight";
|
|
brightness-levels = <
|
|
0 1 2 3 4 5 6 7 8 9
|
|
10 11 12 13 14 15 16 17 18 19
|
|
20 21 22 23 24 25 26 27 28 29
|
|
30 31 32 33 34 35 36 37 38 39
|
|
40 41 42 43 44 45 46 47 48 49
|
|
50 51 52 53 54 55 56 57 58 59
|
|
60 61 62 63 64 65 66 67 68 69
|
|
70 71 72 73 74 75 76 77 78 79
|
|
80 81 82 83 84 85 86 87 88 89
|
|
90 91 92 93 94 95 96 97 98 99
|
|
100
|
|
>;
|
|
default-brightness-level = <100>;
|
|
};
|
|
};
|