1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree for the ST-Ericsson Nomadik S8815 board 4*4882a593Smuzhiyun * Produced by Calao Systems 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/dts-v1/; 8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 9*4882a593Smuzhiyun#include "ste-nomadik-stn8815.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun model = "Calao Systems USB-S8815"; 13*4882a593Smuzhiyun compatible = "calaosystems,usb-s8815"; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun chosen { 16*4882a593Smuzhiyun bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun aliases { 20*4882a593Smuzhiyun serial0 = &uart0; 21*4882a593Smuzhiyun serial1 = &uart1; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun gpio3: gpio@101e7000 { 25*4882a593Smuzhiyun /* This hog will bias the MMC/SD card detect line */ 26*4882a593Smuzhiyun mmcsd-gpio { 27*4882a593Smuzhiyun gpio-hog; 28*4882a593Smuzhiyun gpios = <16 0x0>; 29*4882a593Smuzhiyun output-low; 30*4882a593Smuzhiyun line-name = "card detect bias"; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun src@101e0000 { 35*4882a593Smuzhiyun /* These chrystal drivers are not used on this board */ 36*4882a593Smuzhiyun disable-sxtalo; 37*4882a593Smuzhiyun disable-mxtalo; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun pinctrl { 41*4882a593Smuzhiyun /* Hog CD pins */ 42*4882a593Smuzhiyun pinctrl-names = "default"; 43*4882a593Smuzhiyun pinctrl-0 = <&cd_default_mode>; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun uart0 { 46*4882a593Smuzhiyun /* Only use RX/TX pins */ 47*4882a593Smuzhiyun uart0_s8815_mode: uart0_mux { 48*4882a593Smuzhiyun u0_default_mux { 49*4882a593Smuzhiyun function = "u0"; 50*4882a593Smuzhiyun groups = "u0txrx_a_1"; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun mmcsd-cd { 55*4882a593Smuzhiyun cd_default_mode: cd_default { 56*4882a593Smuzhiyun cd_default_cfg1 { 57*4882a593Smuzhiyun /* CD input GPIO */ 58*4882a593Smuzhiyun pins = "GPIO111_H21"; 59*4882a593Smuzhiyun ste,input = <0>; 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun cd_default_cfg2 { 62*4882a593Smuzhiyun /* CD GPIO biasing */ 63*4882a593Smuzhiyun pins = "GPIO112_J21"; 64*4882a593Smuzhiyun ste,output = <0>; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun gpioi2c { 69*4882a593Smuzhiyun gpioi2c_default_mode: gpioi2c_default { 70*4882a593Smuzhiyun gpioi2c_default_cfg { 71*4882a593Smuzhiyun pins = "GPIO73_C21", "GPIO74_C20"; 72*4882a593Smuzhiyun ste,input = <0>; 73*4882a593Smuzhiyun }; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun user-led { 77*4882a593Smuzhiyun user_led_default_mode: user_led_default { 78*4882a593Smuzhiyun user_led_default_cfg { 79*4882a593Smuzhiyun pins = "GPIO2_C5"; 80*4882a593Smuzhiyun ste,output = <1>; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun user-button { 85*4882a593Smuzhiyun user_button_default_mode: user_button_default { 86*4882a593Smuzhiyun user_button_default_cfg { 87*4882a593Smuzhiyun pins = "GPIO3_A4"; 88*4882a593Smuzhiyun ste,input = <0>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun /* Ethernet */ 95*4882a593Smuzhiyun external-bus@34000000 { 96*4882a593Smuzhiyun compatible = "simple-bus"; 97*4882a593Smuzhiyun reg = <0x34000000 0x1000000>; 98*4882a593Smuzhiyun #address-cells = <1>; 99*4882a593Smuzhiyun #size-cells = <1>; 100*4882a593Smuzhiyun ranges = <0 0x34000000 0x1000000>; 101*4882a593Smuzhiyun ethernet@300 { 102*4882a593Smuzhiyun compatible = "smsc,lan91c111"; 103*4882a593Smuzhiyun reg = <0x300 0x0fd00>; 104*4882a593Smuzhiyun interrupt-parent = <&gpio3>; 105*4882a593Smuzhiyun interrupts = <8 IRQ_TYPE_EDGE_RISING>; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun i2c1 { 110*4882a593Smuzhiyun lis3lv02dl@1d { 111*4882a593Smuzhiyun /* Accelerometer */ 112*4882a593Smuzhiyun compatible = "st,lis3lv02dl-accel"; 113*4882a593Smuzhiyun reg = <0x1d>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun /* GPIO I2C connected to the USB portions of the STw4811 only */ 118*4882a593Smuzhiyun gpio-i2c { 119*4882a593Smuzhiyun compatible = "i2c-gpio"; 120*4882a593Smuzhiyun gpios = <&gpio2 10 0>, /* sda */ 121*4882a593Smuzhiyun <&gpio2 9 0>; /* scl */ 122*4882a593Smuzhiyun #address-cells = <1>; 123*4882a593Smuzhiyun #size-cells = <0>; 124*4882a593Smuzhiyun pinctrl-names = "default"; 125*4882a593Smuzhiyun pinctrl-0 = <&gpioi2c_default_mode>; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun stw4811@2d { 128*4882a593Smuzhiyun compatible = "st,stw4811-usb"; 129*4882a593Smuzhiyun reg = <0x2d>; 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun amba { 135*4882a593Smuzhiyun /* Activate RXTX on UART 0 */ 136*4882a593Smuzhiyun uart0: uart@101fd000 { 137*4882a593Smuzhiyun pinctrl-names = "default"; 138*4882a593Smuzhiyun pinctrl-0 = <&uart0_s8815_mode>; 139*4882a593Smuzhiyun status = "okay"; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun /* Configure card detect for the uSD slot */ 142*4882a593Smuzhiyun mmcsd: sdi@101f6000 { 143*4882a593Smuzhiyun cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; 144*4882a593Smuzhiyun }; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* The user LED on the board is set up to be used for heartbeat */ 148*4882a593Smuzhiyun leds { 149*4882a593Smuzhiyun compatible = "gpio-leds"; 150*4882a593Smuzhiyun user-led { 151*4882a593Smuzhiyun label = "user_led"; 152*4882a593Smuzhiyun gpios = <&gpio0 2 0x1>; 153*4882a593Smuzhiyun default-state = "off"; 154*4882a593Smuzhiyun linux,default-trigger = "heartbeat"; 155*4882a593Smuzhiyun pinctrl-names = "default"; 156*4882a593Smuzhiyun pinctrl-0 = <&user_led_default_mode>; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun }; 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun /* User key mapped in as "escape" */ 161*4882a593Smuzhiyun gpio-keys { 162*4882a593Smuzhiyun compatible = "gpio-keys"; 163*4882a593Smuzhiyun user-button { 164*4882a593Smuzhiyun label = "user_button"; 165*4882a593Smuzhiyun gpios = <&gpio0 3 0x1>; 166*4882a593Smuzhiyun linux,code = <1>; /* KEY_ESC */ 167*4882a593Smuzhiyun wakeup-source; 168*4882a593Smuzhiyun pinctrl-names = "default"; 169*4882a593Smuzhiyun pinctrl-0 = <&user_button_default_mode>; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun}; 173