blob: 7af8507e456ed270dd211ea74c257ec6e07e1507 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (c) 2017 Intel Corporation
*/
/dts-v1/;
#include <dt-bindings/gpio/x86-gpio.h>
#include <dt-bindings/interrupt-router/intel-irq.h>
/include/ "skeleton.dtsi"
/include/ "rtc.dtsi"
#include "tsc_timer.dtsi"
#include "smbios.dtsi"
/ {
model = "Intel Edison";
compatible = "intel,edison", "intel,tangier";
aliases {
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
};
binman: binman {
multiple-images;
};
chosen {
stdout-path = &serial2;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "cpu-x86";
reg = <0>;
intel,apic-id = <0>;
};
cpu@1 {
device_type = "cpu";
compatible = "cpu-x86";
reg = <1>;
intel,apic-id = <2>;
};
};
pci {
compatible = "pci-x86";
#address-cells = <3>;
#size-cells = <2>;
bootph-all;
ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
0x01000000 0x0 0x2000 0x2000 0 0xe000>;
};
serial0: serial@ff010080 {
compatible = "intel,mid-uart";
reg = <0xff010080 0x100>;
reg-shift = <0>;
clock-frequency = <29491200>;
current-speed = <115200>;
};
serial1: serial@ff010100 {
compatible = "intel,mid-uart";
reg = <0xff010100 0x100>;
reg-shift = <0>;
clock-frequency = <29491200>;
current-speed = <115200>;
};
serial2: serial@ff010180 {
compatible = "intel,mid-uart";
reg = <0xff010180 0x100>;
reg-shift = <0>;
clock-frequency = <29491200>;
current-speed = <115200>;
};
emmc: mmc@ff3fc000 {
compatible = "intel,sdhci-tangier";
reg = <0xff3fc000 0x1000>;
non-removable;
};
sdcard: mmc@ff3fa000 {
compatible = "intel,sdhci-tangier";
reg = <0xff3fa000 0x1000>;
/*
* In the disconnected state of the SD Card Detection pin
* the read value is always the same and inverted to what
* we are expecting in the code.
*/
cd-inverted;
};
pmu: power@ff00b000 {
compatible = "intel,pmu-mid";
reg = <0xff00b000 0x1000>;
};
scu: ipc@ff009000 {
compatible = "intel,scu-ipc";
reg = <0xff009000 0x1000>;
};
usb: usb@f9100000 {
compatible = "intel,tangier-dwc3";
#address-cells = <1>;
#size-cells = <1>;
dwc3: dwc3 {
reg = <0xf9100000 0x100000>;
maximum-speed = "high-speed";
dr_mode = "peripheral";
};
};
watchdog: wdt@0 {
compatible = "intel,tangier-wdt";
};
reset {
compatible = "intel,reset-tangier";
bootph-all;
};
pinctrl {
compatible = "intel,pinctrl-tangier";
reg = <0xff0c0000 0x8000>;
/*
* Disconnect SD card detection pin, so it won't affect
* the reality on two different PCB designs where it's
* using the opposite signaling: Edison/Arduino uses
* Active Low, while SparkFun went with Active High.
*/
sd_cd@0 {
pad-offset = <37>;
mode-func = <3>;
};
/*
* Initial configuration came from the firmware.
* Which quite likely has been used in the phones, where I2C #8,
* that is not part of Atom peripheral, is in use.
* Thus we need to override the leftover.
*/
i2c6_scl@0 {
pad-offset = <111>;
mode-func = <1>;
protected;
};
i2c6_sda@0 {
pad-offset = <112>;
mode-func = <1>;
protected;
};
};
};
&binman {
u-boot-edison {
filename = "u-boot-edison.img";
/* This is the OSIP */
blob {
filename = "edison-osip.dat";
};
u-boot {
offset = <0x200>;
};
u-boot-env {
offset = <0x200200>;
filename = "edison-environment.txt";
size = <0x10000>;
fill-byte = [ff];
};
u-boot-env2 {
type = "u-boot-env";
offset = <0x500200>;
filename = "edison-environment.txt";
size = <0x10000>;
fill-byte = [ff];
};
};
};