1*71423435SHeiko Schocher/* 2*71423435SHeiko Schocher * Common support for Siemens Draco SOM (AM335x based) 3*71423435SHeiko Schocher * 4*71423435SHeiko Schocher * Copyright (C) 2013,2014 - Stefan Roese <sr@denx.de> 5*71423435SHeiko Schocher * 6*71423435SHeiko Schocher * This file is licensed under the terms of the GNU General Public License 7*71423435SHeiko Schocher * version 2. This program is licensed "as is" without any warranty of any 8*71423435SHeiko Schocher * kind, whether express or implied. 9*71423435SHeiko Schocher */ 10*71423435SHeiko Schocher 11*71423435SHeiko Schocher/ { 12*71423435SHeiko Schocher chosen { 13*71423435SHeiko Schocher stdout-path = &uart0; 14*71423435SHeiko Schocher tick-timer = &timer2; 15*71423435SHeiko Schocher }; 16*71423435SHeiko Schocher 17*71423435SHeiko Schocher memory { 18*71423435SHeiko Schocher device_type = "memory"; 19*71423435SHeiko Schocher reg = <0x80000000 0x08000000>; /* 128 MB */ 20*71423435SHeiko Schocher }; 21*71423435SHeiko Schocher 22*71423435SHeiko Schocher ocp { 23*71423435SHeiko Schocher uart0: serial@44e09000 { 24*71423435SHeiko Schocher pinctrl-names = "default"; 25*71423435SHeiko Schocher pinctrl-0 = <&uart0_pins>; 26*71423435SHeiko Schocher status = "okay"; 27*71423435SHeiko Schocher }; 28*71423435SHeiko Schocher 29*71423435SHeiko Schocher i2c0: i2c@44e0b000 { 30*71423435SHeiko Schocher pinctrl-names = "default"; 31*71423435SHeiko Schocher pinctrl-0 = <&i2c0_pins>; 32*71423435SHeiko Schocher 33*71423435SHeiko Schocher status = "okay"; 34*71423435SHeiko Schocher clock-frequency = <400000>; 35*71423435SHeiko Schocher 36*71423435SHeiko Schocher eeprom: eeprom@50 { 37*71423435SHeiko Schocher compatible = "atmel,24c128"; 38*71423435SHeiko Schocher reg = <0x50>; 39*71423435SHeiko Schocher pagesize = <64>; 40*71423435SHeiko Schocher }; 41*71423435SHeiko Schocher }; 42*71423435SHeiko Schocher 43*71423435SHeiko Schocher musb: usb@47400000 { 44*71423435SHeiko Schocher status = "okay"; 45*71423435SHeiko Schocher 46*71423435SHeiko Schocher control@44e10620 { 47*71423435SHeiko Schocher status = "okay"; 48*71423435SHeiko Schocher }; 49*71423435SHeiko Schocher 50*71423435SHeiko Schocher usb-phy@47401300 { 51*71423435SHeiko Schocher status = "okay"; 52*71423435SHeiko Schocher }; 53*71423435SHeiko Schocher 54*71423435SHeiko Schocher usb-phy@47401b00 { 55*71423435SHeiko Schocher status = "okay"; 56*71423435SHeiko Schocher }; 57*71423435SHeiko Schocher 58*71423435SHeiko Schocher usb@47401000 { 59*71423435SHeiko Schocher status = "okay"; 60*71423435SHeiko Schocher }; 61*71423435SHeiko Schocher 62*71423435SHeiko Schocher usb@47401800 { 63*71423435SHeiko Schocher status = "okay"; 64*71423435SHeiko Schocher dr_mode = "host"; 65*71423435SHeiko Schocher }; 66*71423435SHeiko Schocher 67*71423435SHeiko Schocher dma-controller@47402000 { 68*71423435SHeiko Schocher status = "okay"; 69*71423435SHeiko Schocher }; 70*71423435SHeiko Schocher }; 71*71423435SHeiko Schocher }; 72*71423435SHeiko Schocher}; 73*71423435SHeiko Schocher 74*71423435SHeiko Schocher&am33xx_pinmux { 75*71423435SHeiko Schocher i2c0_pins: pinmux_i2c0_pins { 76*71423435SHeiko Schocher pinctrl-single,pins = < 77*71423435SHeiko Schocher 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 78*71423435SHeiko Schocher 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ 79*71423435SHeiko Schocher >; 80*71423435SHeiko Schocher }; 81*71423435SHeiko Schocher 82*71423435SHeiko Schocher uart0_pins: pinmux_uart0_pins { 83*71423435SHeiko Schocher pinctrl-single,pins = < 84*71423435SHeiko Schocher 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 85*71423435SHeiko Schocher 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ 86*71423435SHeiko Schocher >; 87*71423435SHeiko Schocher }; 88*71423435SHeiko Schocher 89*71423435SHeiko Schocher nandflash_pins: nandflash_pins { 90*71423435SHeiko Schocher pinctrl-single,pins = < 91*71423435SHeiko Schocher 0x0 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */ 92*71423435SHeiko Schocher 0x4 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */ 93*71423435SHeiko Schocher 0x8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */ 94*71423435SHeiko Schocher 0xc (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */ 95*71423435SHeiko Schocher 0x10 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */ 96*71423435SHeiko Schocher 0x14 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */ 97*71423435SHeiko Schocher 0x18 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */ 98*71423435SHeiko Schocher 0x1c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */ 99*71423435SHeiko Schocher 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */ 100*71423435SHeiko Schocher 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_30 */ 101*71423435SHeiko Schocher 0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */ 102*71423435SHeiko Schocher 0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */ 103*71423435SHeiko Schocher 0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */ 104*71423435SHeiko Schocher 0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */ 105*71423435SHeiko Schocher 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */ 106*71423435SHeiko Schocher >; 107*71423435SHeiko Schocher }; 108*71423435SHeiko Schocher }; 109*71423435SHeiko Schocher 110*71423435SHeiko Schocher 111*71423435SHeiko Schocher&timer3 { 112*71423435SHeiko Schocher status = "disabled"; 113*71423435SHeiko Schocher}; 114*71423435SHeiko Schocher 115*71423435SHeiko Schocher&uart4 { 116*71423435SHeiko Schocher status = "disabled"; 117*71423435SHeiko Schocher}; 118*71423435SHeiko Schocher 119*71423435SHeiko Schocher&elm { 120*71423435SHeiko Schocher status = "okay"; 121*71423435SHeiko Schocher}; 122*71423435SHeiko Schocher 123*71423435SHeiko Schocher&gpmc { 124*71423435SHeiko Schocher status = "okay"; 125*71423435SHeiko Schocher pinctrl-names = "default"; 126*71423435SHeiko Schocher pinctrl-0 = <&nandflash_pins>; 127*71423435SHeiko Schocher 128*71423435SHeiko Schocher ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */ 129*71423435SHeiko Schocher 130*71423435SHeiko Schocher nand@0,0 { 131*71423435SHeiko Schocher reg = <0 0 0>; /* CS0, offset 0 */ 132*71423435SHeiko Schocher nand-bus-width = <8>; 133*71423435SHeiko Schocher ti,nand-ecc-opt = "bch8"; 134*71423435SHeiko Schocher gpmc,device-nand = "true"; 135*71423435SHeiko Schocher gpmc,device-width = <1>; 136*71423435SHeiko Schocher gpmc,sync-clk-ps = <0>; 137*71423435SHeiko Schocher gpmc,cs-on-ns = <0>; 138*71423435SHeiko Schocher gpmc,cs-rd-off-ns = <44>; 139*71423435SHeiko Schocher gpmc,cs-wr-off-ns = <44>; 140*71423435SHeiko Schocher gpmc,adv-on-ns = <6>; 141*71423435SHeiko Schocher gpmc,adv-rd-off-ns = <34>; 142*71423435SHeiko Schocher gpmc,adv-wr-off-ns = <44>; 143*71423435SHeiko Schocher gpmc,we-on-ns = <0>; 144*71423435SHeiko Schocher gpmc,we-off-ns = <40>; 145*71423435SHeiko Schocher gpmc,oe-on-ns = <0>; 146*71423435SHeiko Schocher gpmc,oe-off-ns = <54>; 147*71423435SHeiko Schocher gpmc,access-ns = <64>; 148*71423435SHeiko Schocher gpmc,rd-cycle-ns = <82>; 149*71423435SHeiko Schocher gpmc,wr-cycle-ns = <82>; 150*71423435SHeiko Schocher gpmc,wait-on-read = "true"; 151*71423435SHeiko Schocher gpmc,wait-on-write = "true"; 152*71423435SHeiko Schocher gpmc,bus-turnaround-ns = <0>; 153*71423435SHeiko Schocher gpmc,cycle2cycle-delay-ns = <0>; 154*71423435SHeiko Schocher gpmc,clk-activation-ns = <0>; 155*71423435SHeiko Schocher gpmc,wait-monitoring-ns = <0>; 156*71423435SHeiko Schocher gpmc,wr-access-ns = <40>; 157*71423435SHeiko Schocher gpmc,wr-data-mux-bus-ns = <0>; 158*71423435SHeiko Schocher 159*71423435SHeiko Schocher #address-cells = <1>; 160*71423435SHeiko Schocher #size-cells = <1>; 161*71423435SHeiko Schocher elm_id = <&elm>; 162*71423435SHeiko Schocher }; 163*71423435SHeiko Schocher}; 164*71423435SHeiko Schocher 165*71423435SHeiko Schocher/* disable the RTC node as its not accessible on the draco/dxr2 board */ 166*71423435SHeiko Schocher&rtc { 167*71423435SHeiko Schocher status = "disabled"; 168*71423435SHeiko Schocher ti,hwmods = "disabled"; 169*71423435SHeiko Schocher}; 170