// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com> */ /dts-v1/; #include <asm/arch-braswell/fsp/fsp_configs.h> #include <dt-bindings/interrupt-router/intel-irq.h> /include/ "skeleton.dtsi" /include/ "serial.dtsi" /include/ "rtc.dtsi" /include/ "tsc_timer.dtsi" / { model = "Intel Cherry Hill"; compatible = "intel,cherryhill", "intel,braswell"; aliases { serial0 = &serial; spi0 = &spi; }; config { silent_console = <0>; }; chosen { stdout-path = "/serial"; }; 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>; }; cpu@2 { device_type = "cpu"; compatible = "cpu-x86"; reg = <2>; intel,apic-id = <4>; }; cpu@3 { device_type = "cpu"; compatible = "cpu-x86"; reg = <3>; intel,apic-id = <6>; }; }; pci { compatible = "pci-x86"; #address-cells = <3>; #size-cells = <2>; u-boot,dm-pre-reloc; ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000 0x01000000 0x0 0x2000 0x2000 0 0xe000>; pch@1f,0 { reg = <0x0000f800 0 0 0 0>; compatible = "intel,pch9"; irq-router { compatible = "intel,irq-router"; intel,pirq-config = "ibase"; intel,ibase-offset = <0x50>; intel,pirq-link = <8 8>; intel,pirq-mask = <0xdee0>; intel,pirq-routing = < /* Braswell PCI devices */ PCI_BDF(0, 2, 0) INTA PIRQA PCI_BDF(0, 3, 0) INTA PIRQA PCI_BDF(0, 11, 0) INTA PIRQA PCI_BDF(0, 16, 0) INTA PIRQA PCI_BDF(0, 17, 0) INTA PIRQA PCI_BDF(0, 18, 0) INTA PIRQA PCI_BDF(0, 19, 0) INTA PIRQA PCI_BDF(0, 20, 0) INTA PIRQA PCI_BDF(0, 21, 0) INTA PIRQA PCI_BDF(0, 24, 0) INTA PIRQA PCI_BDF(0, 24, 1) INTC PIRQC PCI_BDF(0, 24, 2) INTD PIRQD PCI_BDF(0, 24, 3) INTB PIRQB PCI_BDF(0, 24, 4) INTA PIRQA PCI_BDF(0, 24, 5) INTC PIRQC PCI_BDF(0, 24, 6) INTD PIRQD PCI_BDF(0, 24, 7) INTB PIRQB PCI_BDF(0, 26, 0) INTA PIRQA PCI_BDF(0, 27, 0) INTA PIRQA PCI_BDF(0, 28, 0) INTA PIRQA PCI_BDF(0, 28, 1) INTB PIRQB PCI_BDF(0, 28, 2) INTC PIRQC PCI_BDF(0, 28, 3) INTD PIRQD PCI_BDF(0, 30, 0) INTA PIRQA PCI_BDF(0, 30, 3) INTA PIRQA PCI_BDF(0, 30, 4) INTA PIRQA PCI_BDF(0, 31, 0) INTB PIRQB PCI_BDF(0, 31, 3) INTB PIRQB /* * PCIe root ports downstream * interrupts */ PCI_BDF(1, 0, 0) INTA PIRQA PCI_BDF(1, 0, 0) INTB PIRQB PCI_BDF(1, 0, 0) INTC PIRQC PCI_BDF(1, 0, 0) INTD PIRQD PCI_BDF(2, 0, 0) INTA PIRQB PCI_BDF(2, 0, 0) INTB PIRQC PCI_BDF(2, 0, 0) INTC PIRQD PCI_BDF(2, 0, 0) INTD PIRQA PCI_BDF(3, 0, 0) INTA PIRQC PCI_BDF(3, 0, 0) INTB PIRQD PCI_BDF(3, 0, 0) INTC PIRQA PCI_BDF(3, 0, 0) INTD PIRQB PCI_BDF(4, 0, 0) INTA PIRQD PCI_BDF(4, 0, 0) INTB PIRQA PCI_BDF(4, 0, 0) INTC PIRQB PCI_BDF(4, 0, 0) INTD PIRQC >; }; spi: spi { #address-cells = <1>; #size-cells = <0>; compatible = "intel,ich9-spi"; intel,spi-lock-down; spi-flash@0 { #address-cells = <1>; #size-cells = <1>; reg = <0>; compatible = "macronix,mx25u6435f", "spi-flash"; memory-map = <0xff800000 0x00800000>; rw-mrc-cache { label = "rw-mrc-cache"; reg = <0x005e0000 0x00010000>; }; }; }; }; }; fsp { compatible = "intel,braswell-fsp"; fsp,memory-upd { compatible = "intel,braswell-fsp-memory"; fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_4MB>; fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>; fsp,mrc-init-spd-addr1 = <0xa0>; fsp,mrc-init-spd-addr2 = <0xa2>; fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_32MB>; fsp,aperture-size = <APERTURE_SIZE_256MB>; fsp,gtt-size = <GTT_SIZE_1MB>; fsp,enable-dvfs; fsp,memory-type = <DRAM_TYPE_DDR3>; }; fsp,silicon-upd { compatible = "intel,braswell-fsp-silicon"; fsp,sdcard-mode = <SDCARD_MODE_PCI>; fsp,enable-hsuart1; fsp,enable-sata; fsp,enable-xhci; fsp,lpe-mode = <LPE_MODE_PCI>; fsp,enable-dma0; fsp,enable-dma1; fsp,enable-i2c0; fsp,enable-i2c1; fsp,enable-i2c2; fsp,enable-i2c3; fsp,enable-i2c4; fsp,enable-i2c5; fsp,enable-i2c6; fsp,emmc-mode = <EMMC_MODE_PCI>; fsp,sata-speed = <SATA_SPEED_GEN3>; fsp,pmic-i2c-bus = <0>; fsp,enable-isp; fsp,isp-pci-dev-config = <ISP_PCI_DEV_CONFIG_2>; fsp,pnp-settings = <PNP_SETTING_POWER_AND_PERF>; fsp,sd-detect-chk; }; }; microcode { update@0 { #include "microcode/m01406c2220.dtsi" }; update@1 { #include "microcode/m01406c3363.dtsi" }; update@2 { #include "microcode/m01406c440a.dtsi" }; }; };