183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+ 2eb45787bSBin Meng/* 3eb45787bSBin Meng * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com> 4eb45787bSBin Meng */ 5eb45787bSBin Meng 6eb45787bSBin Meng/dts-v1/; 7eb45787bSBin Meng 8eb45787bSBin Meng#include <asm/arch-braswell/fsp/fsp_configs.h> 9eb45787bSBin Meng#include <dt-bindings/interrupt-router/intel-irq.h> 10eb45787bSBin Meng 11eb45787bSBin Meng/include/ "skeleton.dtsi" 12eb45787bSBin Meng/include/ "serial.dtsi" 13*b37b7b20SBin Meng/include/ "reset.dtsi" 14eb45787bSBin Meng/include/ "rtc.dtsi" 15eb45787bSBin Meng/include/ "tsc_timer.dtsi" 16eb45787bSBin Meng 17eb45787bSBin Meng/ { 18eb45787bSBin Meng model = "Intel Cherry Hill"; 19eb45787bSBin Meng compatible = "intel,cherryhill", "intel,braswell"; 20eb45787bSBin Meng 21eb45787bSBin Meng aliases { 22eb45787bSBin Meng serial0 = &serial; 23eb45787bSBin Meng spi0 = &spi; 24eb45787bSBin Meng }; 25eb45787bSBin Meng 26eb45787bSBin Meng config { 27eb45787bSBin Meng silent_console = <0>; 28eb45787bSBin Meng }; 29eb45787bSBin Meng 30eb45787bSBin Meng chosen { 31eb45787bSBin Meng stdout-path = "/serial"; 32eb45787bSBin Meng }; 33eb45787bSBin Meng 34eb45787bSBin Meng cpus { 35eb45787bSBin Meng #address-cells = <1>; 36eb45787bSBin Meng #size-cells = <0>; 37eb45787bSBin Meng 38eb45787bSBin Meng cpu@0 { 39eb45787bSBin Meng device_type = "cpu"; 404a5a7fcaSBin Meng compatible = "cpu-x86"; 41eb45787bSBin Meng reg = <0>; 42eb45787bSBin Meng intel,apic-id = <0>; 43eb45787bSBin Meng }; 44eb45787bSBin Meng 45eb45787bSBin Meng cpu@1 { 46eb45787bSBin Meng device_type = "cpu"; 474a5a7fcaSBin Meng compatible = "cpu-x86"; 48eb45787bSBin Meng reg = <1>; 49eb45787bSBin Meng intel,apic-id = <2>; 50eb45787bSBin Meng }; 51eb45787bSBin Meng 52eb45787bSBin Meng cpu@2 { 53eb45787bSBin Meng device_type = "cpu"; 544a5a7fcaSBin Meng compatible = "cpu-x86"; 55eb45787bSBin Meng reg = <2>; 56eb45787bSBin Meng intel,apic-id = <4>; 57eb45787bSBin Meng }; 58eb45787bSBin Meng 59eb45787bSBin Meng cpu@3 { 60eb45787bSBin Meng device_type = "cpu"; 614a5a7fcaSBin Meng compatible = "cpu-x86"; 62eb45787bSBin Meng reg = <3>; 63eb45787bSBin Meng intel,apic-id = <6>; 64eb45787bSBin Meng }; 65eb45787bSBin Meng }; 66eb45787bSBin Meng 67eb45787bSBin Meng pci { 68eb45787bSBin Meng compatible = "pci-x86"; 69eb45787bSBin Meng #address-cells = <3>; 70eb45787bSBin Meng #size-cells = <2>; 71eb45787bSBin Meng u-boot,dm-pre-reloc; 72eb45787bSBin Meng ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000 73eb45787bSBin Meng 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000 74eb45787bSBin Meng 0x01000000 0x0 0x2000 0x2000 0 0xe000>; 75eb45787bSBin Meng 76eb45787bSBin Meng pch@1f,0 { 77eb45787bSBin Meng reg = <0x0000f800 0 0 0 0>; 78eb45787bSBin Meng compatible = "intel,pch9"; 79eb45787bSBin Meng 80eb45787bSBin Meng irq-router { 81eb45787bSBin Meng compatible = "intel,irq-router"; 82eb45787bSBin Meng intel,pirq-config = "ibase"; 83eb45787bSBin Meng intel,ibase-offset = <0x50>; 84eb45787bSBin Meng intel,pirq-link = <8 8>; 85eb45787bSBin Meng intel,pirq-mask = <0xdee0>; 86eb45787bSBin Meng intel,pirq-routing = < 87eb45787bSBin Meng /* Braswell PCI devices */ 88eb45787bSBin Meng PCI_BDF(0, 2, 0) INTA PIRQA 89eb45787bSBin Meng PCI_BDF(0, 3, 0) INTA PIRQA 90eb45787bSBin Meng PCI_BDF(0, 11, 0) INTA PIRQA 91eb45787bSBin Meng PCI_BDF(0, 16, 0) INTA PIRQA 92eb45787bSBin Meng PCI_BDF(0, 17, 0) INTA PIRQA 93eb45787bSBin Meng PCI_BDF(0, 18, 0) INTA PIRQA 94eb45787bSBin Meng PCI_BDF(0, 19, 0) INTA PIRQA 95eb45787bSBin Meng PCI_BDF(0, 20, 0) INTA PIRQA 96eb45787bSBin Meng PCI_BDF(0, 21, 0) INTA PIRQA 97eb45787bSBin Meng PCI_BDF(0, 24, 0) INTA PIRQA 98eb45787bSBin Meng PCI_BDF(0, 24, 1) INTC PIRQC 99eb45787bSBin Meng PCI_BDF(0, 24, 2) INTD PIRQD 100eb45787bSBin Meng PCI_BDF(0, 24, 3) INTB PIRQB 101eb45787bSBin Meng PCI_BDF(0, 24, 4) INTA PIRQA 102eb45787bSBin Meng PCI_BDF(0, 24, 5) INTC PIRQC 103eb45787bSBin Meng PCI_BDF(0, 24, 6) INTD PIRQD 104eb45787bSBin Meng PCI_BDF(0, 24, 7) INTB PIRQB 105eb45787bSBin Meng PCI_BDF(0, 26, 0) INTA PIRQA 106eb45787bSBin Meng PCI_BDF(0, 27, 0) INTA PIRQA 107eb45787bSBin Meng PCI_BDF(0, 28, 0) INTA PIRQA 108eb45787bSBin Meng PCI_BDF(0, 28, 1) INTB PIRQB 109eb45787bSBin Meng PCI_BDF(0, 28, 2) INTC PIRQC 110eb45787bSBin Meng PCI_BDF(0, 28, 3) INTD PIRQD 111eb45787bSBin Meng PCI_BDF(0, 30, 0) INTA PIRQA 112eb45787bSBin Meng PCI_BDF(0, 30, 3) INTA PIRQA 113eb45787bSBin Meng PCI_BDF(0, 30, 4) INTA PIRQA 114eb45787bSBin Meng PCI_BDF(0, 31, 0) INTB PIRQB 115eb45787bSBin Meng PCI_BDF(0, 31, 3) INTB PIRQB 116eb45787bSBin Meng 117eb45787bSBin Meng /* 118eb45787bSBin Meng * PCIe root ports downstream 119eb45787bSBin Meng * interrupts 120eb45787bSBin Meng */ 121eb45787bSBin Meng PCI_BDF(1, 0, 0) INTA PIRQA 122eb45787bSBin Meng PCI_BDF(1, 0, 0) INTB PIRQB 123eb45787bSBin Meng PCI_BDF(1, 0, 0) INTC PIRQC 124eb45787bSBin Meng PCI_BDF(1, 0, 0) INTD PIRQD 125eb45787bSBin Meng PCI_BDF(2, 0, 0) INTA PIRQB 126eb45787bSBin Meng PCI_BDF(2, 0, 0) INTB PIRQC 127eb45787bSBin Meng PCI_BDF(2, 0, 0) INTC PIRQD 128eb45787bSBin Meng PCI_BDF(2, 0, 0) INTD PIRQA 129eb45787bSBin Meng PCI_BDF(3, 0, 0) INTA PIRQC 130eb45787bSBin Meng PCI_BDF(3, 0, 0) INTB PIRQD 131eb45787bSBin Meng PCI_BDF(3, 0, 0) INTC PIRQA 132eb45787bSBin Meng PCI_BDF(3, 0, 0) INTD PIRQB 133eb45787bSBin Meng PCI_BDF(4, 0, 0) INTA PIRQD 134eb45787bSBin Meng PCI_BDF(4, 0, 0) INTB PIRQA 135eb45787bSBin Meng PCI_BDF(4, 0, 0) INTC PIRQB 136eb45787bSBin Meng PCI_BDF(4, 0, 0) INTD PIRQC 137eb45787bSBin Meng >; 138eb45787bSBin Meng }; 139eb45787bSBin Meng 140eb45787bSBin Meng spi: spi { 141eb45787bSBin Meng #address-cells = <1>; 142eb45787bSBin Meng #size-cells = <0>; 143eb45787bSBin Meng compatible = "intel,ich9-spi"; 1444c9f4c5eSBin Meng intel,spi-lock-down; 145eb45787bSBin Meng 146eb45787bSBin Meng spi-flash@0 { 147eb45787bSBin Meng #address-cells = <1>; 148eb45787bSBin Meng #size-cells = <1>; 149eb45787bSBin Meng reg = <0>; 150eb45787bSBin Meng compatible = "macronix,mx25u6435f", "spi-flash"; 151eb45787bSBin Meng memory-map = <0xff800000 0x00800000>; 152eb45787bSBin Meng rw-mrc-cache { 153eb45787bSBin Meng label = "rw-mrc-cache"; 154eb45787bSBin Meng reg = <0x005e0000 0x00010000>; 155eb45787bSBin Meng }; 156eb45787bSBin Meng }; 157eb45787bSBin Meng }; 158eb45787bSBin Meng }; 159eb45787bSBin Meng }; 160eb45787bSBin Meng 161eb45787bSBin Meng fsp { 162eb45787bSBin Meng compatible = "intel,braswell-fsp"; 163eb45787bSBin Meng fsp,memory-upd { 164eb45787bSBin Meng compatible = "intel,braswell-fsp-memory"; 165eb45787bSBin Meng fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_4MB>; 166eb45787bSBin Meng fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>; 167eb45787bSBin Meng fsp,mrc-init-spd-addr1 = <0xa0>; 168eb45787bSBin Meng fsp,mrc-init-spd-addr2 = <0xa2>; 169eb45787bSBin Meng fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_32MB>; 170eb45787bSBin Meng fsp,aperture-size = <APERTURE_SIZE_256MB>; 171eb45787bSBin Meng fsp,gtt-size = <GTT_SIZE_1MB>; 172eb45787bSBin Meng fsp,enable-dvfs; 173eb45787bSBin Meng fsp,memory-type = <DRAM_TYPE_DDR3>; 174eb45787bSBin Meng }; 175eb45787bSBin Meng fsp,silicon-upd { 176eb45787bSBin Meng compatible = "intel,braswell-fsp-silicon"; 177eb45787bSBin Meng fsp,sdcard-mode = <SDCARD_MODE_PCI>; 178eb45787bSBin Meng fsp,enable-hsuart1; 179eb45787bSBin Meng fsp,enable-sata; 180eb45787bSBin Meng fsp,enable-xhci; 181eb45787bSBin Meng fsp,lpe-mode = <LPE_MODE_PCI>; 182eb45787bSBin Meng fsp,enable-dma0; 183eb45787bSBin Meng fsp,enable-dma1; 184eb45787bSBin Meng fsp,enable-i2c0; 185eb45787bSBin Meng fsp,enable-i2c1; 186eb45787bSBin Meng fsp,enable-i2c2; 187eb45787bSBin Meng fsp,enable-i2c3; 188eb45787bSBin Meng fsp,enable-i2c4; 189eb45787bSBin Meng fsp,enable-i2c5; 190eb45787bSBin Meng fsp,enable-i2c6; 191eb45787bSBin Meng fsp,emmc-mode = <EMMC_MODE_PCI>; 192eb45787bSBin Meng fsp,sata-speed = <SATA_SPEED_GEN3>; 193eb45787bSBin Meng fsp,pmic-i2c-bus = <0>; 194eb45787bSBin Meng fsp,enable-isp; 195eb45787bSBin Meng fsp,isp-pci-dev-config = <ISP_PCI_DEV_CONFIG_2>; 196eb45787bSBin Meng fsp,pnp-settings = <PNP_SETTING_POWER_AND_PERF>; 197eb45787bSBin Meng fsp,sd-detect-chk; 198eb45787bSBin Meng }; 199eb45787bSBin Meng }; 200eb45787bSBin Meng 201eb45787bSBin Meng microcode { 202eb45787bSBin Meng update@0 { 203eb45787bSBin Meng#include "microcode/m01406c2220.dtsi" 204eb45787bSBin Meng }; 205eb45787bSBin Meng update@1 { 206eb45787bSBin Meng#include "microcode/m01406c3363.dtsi" 207eb45787bSBin Meng }; 208eb45787bSBin Meng update@2 { 209eb45787bSBin Meng#include "microcode/m01406c440a.dtsi" 210eb45787bSBin Meng }; 211eb45787bSBin Meng }; 212eb45787bSBin Meng 213eb45787bSBin Meng}; 214