0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree for the ST-Ericsson Nomadik S8815 board
0004 * Produced by Calao Systems
0005 */
0006
0007 /dts-v1/;
0008 #include <dt-bindings/interrupt-controller/irq.h>
0009 #include "ste-nomadik-stn8815.dtsi"
0010
0011 / {
0012 model = "Calao Systems USB-S8815";
0013 compatible = "calaosystems,usb-s8815";
0014
0015 chosen {
0016 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
0017 };
0018
0019 aliases {
0020 serial0 = &uart0;
0021 serial1 = &uart1;
0022 };
0023
0024 gpio3: gpio@101e7000 {
0025 /* This hog will bias the MMC/SD card detect line */
0026 mmcsd-gpio {
0027 gpio-hog;
0028 gpios = <16 0x0>;
0029 output-low;
0030 line-name = "card detect bias";
0031 };
0032 };
0033
0034 src@101e0000 {
0035 /* These chrystal drivers are not used on this board */
0036 disable-sxtalo;
0037 disable-mxtalo;
0038 };
0039
0040 pinctrl {
0041 /* Hog CD pins */
0042 pinctrl-names = "default";
0043 pinctrl-0 = <&cd_default_mode>;
0044
0045 uart0 {
0046 /* Only use RX/TX pins */
0047 uart0_s8815_mode: uart0_mux {
0048 u0_default_mux {
0049 function = "u0";
0050 groups = "u0txrx_a_1";
0051 };
0052 };
0053 };
0054 mmcsd-cd {
0055 cd_default_mode: cd_default {
0056 cd_default_cfg1 {
0057 /* CD input GPIO */
0058 pins = "GPIO111_H21";
0059 ste,input = <0>;
0060 };
0061 cd_default_cfg2 {
0062 /* CD GPIO biasing */
0063 pins = "GPIO112_J21";
0064 ste,output = <0>;
0065 };
0066 };
0067 };
0068 gpioi2c {
0069 gpioi2c_default_mode: gpioi2c_default {
0070 gpioi2c_default_cfg {
0071 pins = "GPIO73_C21", "GPIO74_C20";
0072 ste,input = <0>;
0073 };
0074 };
0075 };
0076 user-led {
0077 user_led_default_mode: user_led_default {
0078 user_led_default_cfg {
0079 pins = "GPIO2_C5";
0080 ste,output = <1>;
0081 };
0082 };
0083 };
0084 user-button {
0085 user_button_default_mode: user_button_default {
0086 user_button_default_cfg {
0087 pins = "GPIO3_A4";
0088 ste,input = <0>;
0089 };
0090 };
0091 };
0092 };
0093
0094 /* Ethernet */
0095 external-bus@34000000 {
0096 compatible = "simple-bus";
0097 reg = <0x34000000 0x1000000>;
0098 #address-cells = <1>;
0099 #size-cells = <1>;
0100 ranges = <0 0x34000000 0x1000000>;
0101 ethernet@300 {
0102 compatible = "smsc,lan91c111";
0103 reg = <0x300 0x0fd00>;
0104 interrupt-parent = <&gpio3>;
0105 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
0106 };
0107 };
0108
0109 i2c1 {
0110 lis3lv02dl@1d {
0111 /* Accelerometer */
0112 compatible = "st,lis3lv02dl-accel";
0113 reg = <0x1d>;
0114 };
0115 };
0116
0117 /* GPIO I2C connected to the USB portions of the STw4811 only */
0118 gpio-i2c {
0119 compatible = "i2c-gpio";
0120 gpios = <&gpio2 10 0>, /* sda */
0121 <&gpio2 9 0>; /* scl */
0122 #address-cells = <1>;
0123 #size-cells = <0>;
0124 pinctrl-names = "default";
0125 pinctrl-0 = <&gpioi2c_default_mode>;
0126
0127 stw4811@2d {
0128 compatible = "st,stw4811-usb";
0129 reg = <0x2d>;
0130 };
0131 };
0132
0133
0134 amba {
0135 /* Activate RXTX on UART 0 */
0136 uart0: uart@101fd000 {
0137 pinctrl-names = "default";
0138 pinctrl-0 = <&uart0_s8815_mode>;
0139 status = "okay";
0140 };
0141 /* Configure card detect for the uSD slot */
0142 mmc@101f6000 {
0143 cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
0144 };
0145 };
0146
0147 /* The user LED on the board is set up to be used for heartbeat */
0148 leds {
0149 compatible = "gpio-leds";
0150 user-led {
0151 label = "user_led";
0152 gpios = <&gpio0 2 0x1>;
0153 default-state = "off";
0154 linux,default-trigger = "heartbeat";
0155 pinctrl-names = "default";
0156 pinctrl-0 = <&user_led_default_mode>;
0157 };
0158 };
0159
0160 /* User key mapped in as "escape" */
0161 gpio-keys {
0162 compatible = "gpio-keys";
0163 user-button {
0164 label = "user_button";
0165 gpios = <&gpio0 3 0x1>;
0166 linux,code = <1>; /* KEY_ESC */
0167 wakeup-source;
0168 pinctrl-names = "default";
0169 pinctrl-0 = <&user_button_default_mode>;
0170 };
0171 };
0172 };