|  | /* | 
|  | * Device Tree for the ST-Ericsson Nomadik S8815 board | 
|  | * Produced by Calao Systems | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  | #include <dt-bindings/interrupt-controller/irq.h> | 
|  | #include "ste-nomadik-stn8815.dtsi" | 
|  |  | 
|  | / { | 
|  | model = "Calao Systems USB-S8815"; | 
|  | compatible = "calaosystems,usb-s8815"; | 
|  |  | 
|  | chosen { | 
|  | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; | 
|  | }; | 
|  |  | 
|  | src@101e0000 { | 
|  | /* These chrystal drivers are not used on this board */ | 
|  | disable-sxtalo; | 
|  | disable-mxtalo; | 
|  | }; | 
|  |  | 
|  | 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 */ | 
|  | pins = "GPIO111_H21"; | 
|  | ste,input = <0>; | 
|  | }; | 
|  | cd_default_cfg2 { | 
|  | /* CD GPIO biasing */ | 
|  | pins = "GPIO112_J21"; | 
|  | ste,output = <0>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | gpioi2c { | 
|  | gpioi2c_default_mode: gpioi2c_default { | 
|  | gpioi2c_default_cfg { | 
|  | pins = "GPIO73_C21", "GPIO74_C20"; | 
|  | ste,input = <0>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | user-led { | 
|  | user_led_default_mode: user_led_default { | 
|  | user_led_default_cfg { | 
|  | pins = "GPIO2_C5"; | 
|  | ste,output = <1>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | user-button { | 
|  | user_button_default_mode: user_button_default { | 
|  | user_button_default_cfg { | 
|  | pins = "GPIO3_A4"; | 
|  | ste,input = <0>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /* 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 */ | 
|  | usb-s8815 { | 
|  | /* This will bias the MMC/SD card detect line */ | 
|  | mmcsd-gpio { | 
|  | gpios = <&gpio3 16 0x1>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /* The user LED on the board is set up to be used for heartbeat */ | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  | user-led { | 
|  | label = "user_led"; | 
|  | gpios = <&gpio0 2 0x1>; | 
|  | default-state = "off"; | 
|  | linux,default-trigger = "heartbeat"; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&user_led_default_mode>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /* User key mapped in as "escape" */ | 
|  | gpio-keys { | 
|  | compatible = "gpio-keys"; | 
|  | user-button { | 
|  | label = "user_button"; | 
|  | gpios = <&gpio0 3 0x1>; | 
|  | linux,code = <1>; /* KEY_ESC */ | 
|  | gpio-key,wakeup; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&user_button_default_mode>; | 
|  | }; | 
|  | }; | 
|  | }; |