1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (c) 2017 Intel Corporation 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/gpio/x86-gpio.h> 9#include <dt-bindings/interrupt-router/intel-irq.h> 10 11/include/ "skeleton.dtsi" 12/include/ "rtc.dtsi" 13 14#include "tsc_timer.dtsi" 15#include "smbios.dtsi" 16 17/ { 18 model = "Intel Edison"; 19 compatible = "intel,edison", "intel,tangier"; 20 21 aliases { 22 serial0 = &serial0; 23 serial1 = &serial1; 24 serial2 = &serial2; 25 }; 26 27 binman: binman { 28 multiple-images; 29 }; 30 31 chosen { 32 stdout-path = &serial2; 33 }; 34 35 cpus { 36 #address-cells = <1>; 37 #size-cells = <0>; 38 39 cpu@0 { 40 device_type = "cpu"; 41 compatible = "cpu-x86"; 42 reg = <0>; 43 intel,apic-id = <0>; 44 }; 45 46 cpu@1 { 47 device_type = "cpu"; 48 compatible = "cpu-x86"; 49 reg = <1>; 50 intel,apic-id = <2>; 51 }; 52 }; 53 54 pci { 55 compatible = "pci-x86"; 56 #address-cells = <3>; 57 #size-cells = <2>; 58 u-boot,dm-pre-reloc; 59 ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000 60 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000 61 0x01000000 0x0 0x2000 0x2000 0 0xe000>; 62 }; 63 64 serial0: serial@ff010080 { 65 compatible = "intel,mid-uart"; 66 reg = <0xff010080 0x100>; 67 reg-shift = <0>; 68 clock-frequency = <29491200>; 69 current-speed = <115200>; 70 }; 71 72 serial1: serial@ff010100 { 73 compatible = "intel,mid-uart"; 74 reg = <0xff010100 0x100>; 75 reg-shift = <0>; 76 clock-frequency = <29491200>; 77 current-speed = <115200>; 78 }; 79 80 serial2: serial@ff010180 { 81 compatible = "intel,mid-uart"; 82 reg = <0xff010180 0x100>; 83 reg-shift = <0>; 84 clock-frequency = <29491200>; 85 current-speed = <115200>; 86 }; 87 88 emmc: mmc@ff3fc000 { 89 compatible = "intel,sdhci-tangier"; 90 reg = <0xff3fc000 0x1000>; 91 non-removable; 92 }; 93 94 sdcard: mmc@ff3fa000 { 95 compatible = "intel,sdhci-tangier"; 96 reg = <0xff3fa000 0x1000>; 97 /* 98 * In the disconnected state of the SD Card Detection pin 99 * the read value is always the same and inverted to what 100 * we are expecting in the code. 101 */ 102 cd-inverted; 103 }; 104 105 pmu: power@ff00b000 { 106 compatible = "intel,pmu-mid"; 107 reg = <0xff00b000 0x1000>; 108 }; 109 110 scu: ipc@ff009000 { 111 compatible = "intel,scu-ipc"; 112 reg = <0xff009000 0x1000>; 113 }; 114 115 usb: usb@f9100000 { 116 compatible = "intel,tangier-dwc3"; 117 #address-cells = <1>; 118 #size-cells = <1>; 119 120 dwc3: dwc3 { 121 reg = <0xf9100000 0x100000>; 122 maximum-speed = "high-speed"; 123 dr_mode = "peripheral"; 124 }; 125 }; 126 127 watchdog: wdt@0 { 128 compatible = "intel,tangier-wdt"; 129 }; 130 131 reset { 132 compatible = "intel,reset-tangier"; 133 u-boot,dm-pre-reloc; 134 }; 135 136 pinctrl { 137 compatible = "intel,pinctrl-tangier"; 138 reg = <0xff0c0000 0x8000>; 139 140 /* 141 * Disconnect SD card detection pin, so it won't affect 142 * the reality on two different PCB designs where it's 143 * using the opposite signaling: Edison/Arduino uses 144 * Active Low, while SparkFun went with Active High. 145 */ 146 sd_cd@0 { 147 pad-offset = <37>; 148 mode-func = <3>; 149 }; 150 151 /* 152 * Initial configuration came from the firmware. 153 * Which quite likely has been used in the phones, where I2C #8, 154 * that is not part of Atom peripheral, is in use. 155 * Thus we need to override the leftover. 156 */ 157 i2c6_scl@0 { 158 pad-offset = <111>; 159 mode-func = <1>; 160 protected; 161 }; 162 i2c6_sda@0 { 163 pad-offset = <112>; 164 mode-func = <1>; 165 protected; 166 }; 167 }; 168}; 169 170&binman { 171 u-boot-edison { 172 filename = "u-boot-edison.img"; 173 174 /* This is the OSIP */ 175 blob { 176 filename = "edison-osip.dat"; 177 }; 178 179 u-boot { 180 offset = <0x200>; 181 }; 182 183 u-boot-env { 184 offset = <0x200200>; 185 filename = "edison-environment.txt"; 186 size = <0x10000>; 187 fill-byte = [ff]; 188 }; 189 190 u-boot-env2 { 191 type = "u-boot-env"; 192 offset = <0x500200>; 193 filename = "edison-environment.txt"; 194 size = <0x10000>; 195 fill-byte = [ff]; 196 }; 197 }; 198}; 199