1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com> 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/mrc/quark.h> 9#include <dt-bindings/interrupt-router/intel-irq.h> 10 11/include/ "skeleton.dtsi" 12/include/ "reset.dtsi" 13/include/ "rtc.dtsi" 14/include/ "tsc_timer.dtsi" 15 16/ { 17 model = "Intel Galileo"; 18 compatible = "intel,galileo", "intel,quark"; 19 20 aliases { 21 spi0 = &spi; 22 }; 23 24 config { 25 silent_console = <0>; 26 }; 27 28 chosen { 29 stdout-path = &pciuart0; 30 }; 31 32 cpus { 33 #address-cells = <1>; 34 #size-cells = <0>; 35 36 cpu@0 { 37 device_type = "cpu"; 38 compatible = "cpu-x86"; 39 reg = <0>; 40 intel,apic-id = <0>; 41 }; 42 }; 43 44 tsc-timer { 45 clock-frequency = <400000000>; 46 }; 47 48 mrc { 49 compatible = "intel,quark-mrc"; 50 flags = <MRC_FLAG_SCRAMBLE_EN>; 51 dram-width = <DRAM_WIDTH_X8>; 52 dram-speed = <DRAM_FREQ_800>; 53 dram-type = <DRAM_TYPE_DDR3>; 54 rank-mask = <DRAM_RANK(0)>; 55 chan-mask = <DRAM_CHANNEL(0)>; 56 chan-width = <DRAM_CHANNEL_WIDTH_X16>; 57 addr-mode = <DRAM_ADDR_MODE0>; 58 refresh-rate = <DRAM_REFRESH_RATE_785US>; 59 sr-temp-range = <DRAM_SRT_RANGE_NORMAL>; 60 ron-value = <DRAM_RON_34OHM>; 61 rtt-nom-value = <DRAM_RTT_NOM_120OHM>; 62 rd-odt-value = <DRAM_RD_ODT_OFF>; 63 dram-density = <DRAM_DENSITY_1G>; 64 dram-cl = <6>; 65 dram-ras = <0x0000927c>; 66 dram-wtr = <0x00002710>; 67 dram-rrd = <0x00002710>; 68 dram-faw = <0x00009c40>; 69 }; 70 71 pci { 72 #address-cells = <3>; 73 #size-cells = <2>; 74 compatible = "pci-x86"; 75 u-boot,dm-pre-reloc; 76 ranges = <0x02000000 0x0 0x90000000 0x90000000 0 0x20000000 77 0x42000000 0x0 0xb0000000 0xb0000000 0 0x20000000 78 0x01000000 0x0 0x2000 0x2000 0 0xe000>; 79 80 pciuart0: uart@14,5 { 81 compatible = "pci8086,0936.00", 82 "pci8086,0936", 83 "pciclass,070002", 84 "pciclass,0700", 85 "ns16550"; 86 u-boot,dm-pre-reloc; 87 reg = <0x0000a500 0x0 0x0 0x0 0x0 88 0x0200a510 0x0 0x0 0x0 0x0>; 89 reg-shift = <2>; 90 clock-frequency = <44236800>; 91 current-speed = <115200>; 92 }; 93 94 pch@1f,0 { 95 reg = <0x0000f800 0 0 0 0>; 96 compatible = "intel,pch7"; 97 #address-cells = <1>; 98 #size-cells = <1>; 99 100 irq-router { 101 compatible = "intel,irq-router"; 102 intel,pirq-config = "pci"; 103 intel,actl-addr = <0x58>; 104 intel,pirq-link = <0x60 8>; 105 intel,pirq-mask = <0xdef8>; 106 intel,pirq-routing = < 107 PCI_BDF(0, 20, 0) INTA PIRQE 108 PCI_BDF(0, 20, 1) INTB PIRQF 109 PCI_BDF(0, 20, 2) INTC PIRQG 110 PCI_BDF(0, 20, 3) INTD PIRQH 111 PCI_BDF(0, 20, 4) INTA PIRQE 112 PCI_BDF(0, 20, 5) INTB PIRQF 113 PCI_BDF(0, 20, 6) INTC PIRQG 114 PCI_BDF(0, 20, 7) INTD PIRQH 115 PCI_BDF(0, 21, 0) INTA PIRQE 116 PCI_BDF(0, 21, 1) INTB PIRQF 117 PCI_BDF(0, 21, 2) INTC PIRQG 118 PCI_BDF(0, 23, 0) INTA PIRQA 119 PCI_BDF(0, 23, 1) INTB PIRQB 120 121 /* PCIe root ports downstream interrupts */ 122 PCI_BDF(1, 0, 0) INTA PIRQA 123 PCI_BDF(1, 0, 0) INTB PIRQB 124 PCI_BDF(1, 0, 0) INTC PIRQC 125 PCI_BDF(1, 0, 0) INTD PIRQD 126 PCI_BDF(2, 0, 0) INTA PIRQB 127 PCI_BDF(2, 0, 0) INTB PIRQC 128 PCI_BDF(2, 0, 0) INTC PIRQD 129 PCI_BDF(2, 0, 0) INTD PIRQA 130 >; 131 }; 132 133 spi: spi { 134 #address-cells = <1>; 135 #size-cells = <0>; 136 compatible = "intel,ich7-spi"; 137 spi-flash@0 { 138 #size-cells = <1>; 139 #address-cells = <1>; 140 reg = <0>; 141 compatible = "winbond,w25q64", 142 "jedec,spi-nor"; 143 memory-map = <0xff800000 0x00800000>; 144 rw-mrc-cache { 145 label = "rw-mrc-cache"; 146 reg = <0x00010000 0x00010000>; 147 }; 148 }; 149 }; 150 151 gpioa { 152 compatible = "intel,ich6-gpio"; 153 u-boot,dm-pre-reloc; 154 reg = <0 0x20>; 155 bank-name = "A"; 156 }; 157 158 gpiob { 159 compatible = "intel,ich6-gpio"; 160 u-boot,dm-pre-reloc; 161 reg = <0x20 0x20>; 162 bank-name = "B"; 163 }; 164 }; 165 }; 166 167 smbios { 168 compatible = "u-boot,sysinfo-smbios"; 169 170 /* 171 * Override the default product name U-Boot reports in the 172 * SMBIOS table, to be compatible with the Intel provided UEFI 173 * BIOS, as Linux kernel drivers 174 * (drivers/mfd/intel_quark_i2c_gpio.c and 175 * drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c) make use of 176 * it to do different board level configuration. 177 * 178 * This can be "Galileo" for GEN1 Galileo board. 179 */ 180 smbios { 181 system { 182 product = "GalileoGen2"; 183 }; 184 185 baseboard { 186 product = "GalileoGen2"; 187 }; 188 189 chassis { 190 product = "GalileoGen2"; 191 }; 192 }; 193 }; 194 195}; 196