13a1a18ffSSimon Glass/* 23a1a18ffSSimon Glass * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com> 33a1a18ffSSimon Glass * 43a1a18ffSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 53a1a18ffSSimon Glass */ 63a1a18ffSSimon Glass 73a1a18ffSSimon Glass/dts-v1/; 83a1a18ffSSimon Glass 95e74e5a6SBin Meng#include <asm/arch-baytrail/fsp/fsp_configs.h> 105318f18dSGabriel Huau#include <dt-bindings/gpio/x86-gpio.h> 11ef910819SSimon Glass#include <dt-bindings/interrupt-router/intel-irq.h> 125318f18dSGabriel Huau 133a1a18ffSSimon Glass/include/ "skeleton.dtsi" 143a1a18ffSSimon Glass/include/ "serial.dtsi" 1593f8a311SBin Meng/include/ "rtc.dtsi" 1680af3984SBin Meng/include/ "tsc_timer.dtsi" 172d3c573eSBin Meng/include/ "coreboot_fb.dtsi" 183a1a18ffSSimon Glass 193a1a18ffSSimon Glass/ { 203a1a18ffSSimon Glass model = "Intel Minnowboard Max"; 213a1a18ffSSimon Glass compatible = "intel,minnowmax", "intel,baytrail"; 223a1a18ffSSimon Glass 233a1a18ffSSimon Glass aliases { 243a1a18ffSSimon Glass serial0 = &serial; 2581aaa3d9SBin Meng spi0 = &spi; 263a1a18ffSSimon Glass }; 273a1a18ffSSimon Glass 283a1a18ffSSimon Glass config { 293a1a18ffSSimon Glass silent_console = <0>; 303a1a18ffSSimon Glass }; 313a1a18ffSSimon Glass 325318f18dSGabriel Huau pch_pinctrl { 335318f18dSGabriel Huau compatible = "intel,x86-pinctrl"; 34e264e3ccSBin Meng reg = <0 0>; 355318f18dSGabriel Huau 36cce7e0faSSimon Glass /* GPIO E0 */ 37cce7e0faSSimon Glass soc_gpio_s5_0@0 { 38cce7e0faSSimon Glass gpio-offset = <0x80 0>; 39cce7e0faSSimon Glass mode-gpio; 40cce7e0faSSimon Glass output-value = <0>; 41cce7e0faSSimon Glass direction = <PIN_OUTPUT>; 42cce7e0faSSimon Glass }; 43cce7e0faSSimon Glass 44cce7e0faSSimon Glass /* GPIO E1 */ 45cce7e0faSSimon Glass soc_gpio_s5_1@0 { 46cce7e0faSSimon Glass gpio-offset = <0x80 1>; 47cce7e0faSSimon Glass mode-gpio; 48cce7e0faSSimon Glass output-value = <0>; 49cce7e0faSSimon Glass direction = <PIN_OUTPUT>; 50cce7e0faSSimon Glass }; 51cce7e0faSSimon Glass 52cce7e0faSSimon Glass /* GPIO E2 */ 53cce7e0faSSimon Glass soc_gpio_s5_2@0 { 54cce7e0faSSimon Glass gpio-offset = <0x80 2>; 55cce7e0faSSimon Glass mode-gpio; 56cce7e0faSSimon Glass output-value = <0>; 57cce7e0faSSimon Glass direction = <PIN_OUTPUT>; 58cce7e0faSSimon Glass }; 59cce7e0faSSimon Glass 605318f18dSGabriel Huau pin_usb_host_en0@0 { 615318f18dSGabriel Huau gpio-offset = <0x80 8>; 625318f18dSGabriel Huau mode-gpio; 635318f18dSGabriel Huau output-value = <1>; 645318f18dSGabriel Huau direction = <PIN_OUTPUT>; 655318f18dSGabriel Huau }; 665318f18dSGabriel Huau 675318f18dSGabriel Huau pin_usb_host_en1@0 { 685318f18dSGabriel Huau gpio-offset = <0x80 9>; 695318f18dSGabriel Huau mode-gpio; 705318f18dSGabriel Huau output-value = <1>; 715318f18dSGabriel Huau direction = <PIN_OUTPUT>; 725318f18dSGabriel Huau }; 73f7a01e48SBin Meng 74f7a01e48SBin Meng /* 75f7a01e48SBin Meng * As of today, the latest version FSP (gold4) for BayTrail 76f7a01e48SBin Meng * misses the PAD configuration of the SD controller's Card 77f7a01e48SBin Meng * Detect signal. The default PAD value for the CD pin sets 78f7a01e48SBin Meng * the pin to work in GPIO mode, which causes card detect 79f7a01e48SBin Meng * status cannot be reflected by the Present State register 80f7a01e48SBin Meng * in the SD controller (bit 16 & bit 18 are always zero). 81f7a01e48SBin Meng * 82f7a01e48SBin Meng * Configure this pin to function 1 (SD controller). 83f7a01e48SBin Meng */ 84f7a01e48SBin Meng sdmmc3_cd@0 { 85f7a01e48SBin Meng pad-offset = <0x3a0>; 86f7a01e48SBin Meng mode-func = <1>; 87f7a01e48SBin Meng }; 885318f18dSGabriel Huau }; 895318f18dSGabriel Huau 903a1a18ffSSimon Glass chosen { 913a1a18ffSSimon Glass stdout-path = "/serial"; 923a1a18ffSSimon Glass }; 933a1a18ffSSimon Glass 94281239adSSimon Glass cpus { 95281239adSSimon Glass #address-cells = <1>; 96281239adSSimon Glass #size-cells = <0>; 97281239adSSimon Glass 98281239adSSimon Glass cpu@0 { 99281239adSSimon Glass device_type = "cpu"; 100281239adSSimon Glass compatible = "intel,baytrail-cpu"; 101281239adSSimon Glass reg = <0>; 102281239adSSimon Glass intel,apic-id = <0>; 103281239adSSimon Glass }; 104281239adSSimon Glass 105281239adSSimon Glass cpu@1 { 106281239adSSimon Glass device_type = "cpu"; 107281239adSSimon Glass compatible = "intel,baytrail-cpu"; 108281239adSSimon Glass reg = <1>; 109281239adSSimon Glass intel,apic-id = <4>; 110281239adSSimon Glass }; 111281239adSSimon Glass 112281239adSSimon Glass }; 113281239adSSimon Glass 114b71f9dcaSSimon Glass pci { 115b71f9dcaSSimon Glass compatible = "intel,pci-baytrail", "pci-x86"; 116b71f9dcaSSimon Glass #address-cells = <3>; 117b71f9dcaSSimon Glass #size-cells = <2>; 118b71f9dcaSSimon Glass u-boot,dm-pre-reloc; 119ef910819SSimon Glass ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000 120ef910819SSimon Glass 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000 121b71f9dcaSSimon Glass 0x01000000 0x0 0x2000 0x2000 0 0xe000>; 122ef910819SSimon Glass 123f2b85ab5SSimon Glass pch@1f,0 { 124ef910819SSimon Glass reg = <0x0000f800 0 0 0 0>; 125f2b85ab5SSimon Glass compatible = "pci8086,0f1c", "intel,pch9"; 1263ddc1c7bSBin Meng #address-cells = <1>; 1273ddc1c7bSBin Meng #size-cells = <1>; 128f2b85ab5SSimon Glass 129f2b85ab5SSimon Glass irq-router { 130ef910819SSimon Glass compatible = "intel,irq-router"; 131ef910819SSimon Glass intel,pirq-config = "ibase"; 132ef910819SSimon Glass intel,ibase-offset = <0x50>; 133ce8dd77dSBin Meng intel,actl-addr = <0>; 134ef910819SSimon Glass intel,pirq-link = <8 8>; 135ef910819SSimon Glass intel,pirq-mask = <0xdee0>; 136ef910819SSimon Glass intel,pirq-routing = < 137ef910819SSimon Glass /* BayTrail PCI devices */ 138ef910819SSimon Glass PCI_BDF(0, 2, 0) INTA PIRQA 139ef910819SSimon Glass PCI_BDF(0, 3, 0) INTA PIRQA 140ef910819SSimon Glass PCI_BDF(0, 16, 0) INTA PIRQA 141ef910819SSimon Glass PCI_BDF(0, 17, 0) INTA PIRQA 142ef910819SSimon Glass PCI_BDF(0, 18, 0) INTA PIRQA 143ef910819SSimon Glass PCI_BDF(0, 19, 0) INTA PIRQA 144ef910819SSimon Glass PCI_BDF(0, 20, 0) INTA PIRQA 145ef910819SSimon Glass PCI_BDF(0, 21, 0) INTA PIRQA 146ef910819SSimon Glass PCI_BDF(0, 22, 0) INTA PIRQA 147ef910819SSimon Glass PCI_BDF(0, 23, 0) INTA PIRQA 148ef910819SSimon Glass PCI_BDF(0, 24, 0) INTA PIRQA 149ef910819SSimon Glass PCI_BDF(0, 24, 1) INTC PIRQC 150ef910819SSimon Glass PCI_BDF(0, 24, 2) INTD PIRQD 151ef910819SSimon Glass PCI_BDF(0, 24, 3) INTB PIRQB 152ef910819SSimon Glass PCI_BDF(0, 24, 4) INTA PIRQA 153ef910819SSimon Glass PCI_BDF(0, 24, 5) INTC PIRQC 154ef910819SSimon Glass PCI_BDF(0, 24, 6) INTD PIRQD 155ef910819SSimon Glass PCI_BDF(0, 24, 7) INTB PIRQB 156ef910819SSimon Glass PCI_BDF(0, 26, 0) INTA PIRQA 157ef910819SSimon Glass PCI_BDF(0, 27, 0) INTA PIRQA 158ef910819SSimon Glass PCI_BDF(0, 28, 0) INTA PIRQA 159ef910819SSimon Glass PCI_BDF(0, 28, 1) INTB PIRQB 160ef910819SSimon Glass PCI_BDF(0, 28, 2) INTC PIRQC 161ef910819SSimon Glass PCI_BDF(0, 28, 3) INTD PIRQD 162ef910819SSimon Glass PCI_BDF(0, 29, 0) INTA PIRQA 163ef910819SSimon Glass PCI_BDF(0, 30, 0) INTA PIRQA 164ef910819SSimon Glass PCI_BDF(0, 30, 1) INTD PIRQD 165ef910819SSimon Glass PCI_BDF(0, 30, 2) INTB PIRQB 166ef910819SSimon Glass PCI_BDF(0, 30, 3) INTC PIRQC 167ef910819SSimon Glass PCI_BDF(0, 30, 4) INTD PIRQD 168ef910819SSimon Glass PCI_BDF(0, 30, 5) INTB PIRQB 169ef910819SSimon Glass PCI_BDF(0, 31, 3) INTB PIRQB 170ef910819SSimon Glass 171f2b85ab5SSimon Glass /* 172f2b85ab5SSimon Glass * PCIe root ports downstream 173f2b85ab5SSimon Glass * interrupts 174f2b85ab5SSimon Glass */ 175ef910819SSimon Glass PCI_BDF(1, 0, 0) INTA PIRQA 176ef910819SSimon Glass PCI_BDF(1, 0, 0) INTB PIRQB 177ef910819SSimon Glass PCI_BDF(1, 0, 0) INTC PIRQC 178ef910819SSimon Glass PCI_BDF(1, 0, 0) INTD PIRQD 179ef910819SSimon Glass PCI_BDF(2, 0, 0) INTA PIRQB 180ef910819SSimon Glass PCI_BDF(2, 0, 0) INTB PIRQC 181ef910819SSimon Glass PCI_BDF(2, 0, 0) INTC PIRQD 182ef910819SSimon Glass PCI_BDF(2, 0, 0) INTD PIRQA 183ef910819SSimon Glass PCI_BDF(3, 0, 0) INTA PIRQC 184ef910819SSimon Glass PCI_BDF(3, 0, 0) INTB PIRQD 185ef910819SSimon Glass PCI_BDF(3, 0, 0) INTC PIRQA 186ef910819SSimon Glass PCI_BDF(3, 0, 0) INTD PIRQB 187ef910819SSimon Glass PCI_BDF(4, 0, 0) INTA PIRQD 188ef910819SSimon Glass PCI_BDF(4, 0, 0) INTB PIRQA 189ef910819SSimon Glass PCI_BDF(4, 0, 0) INTC PIRQB 190ef910819SSimon Glass PCI_BDF(4, 0, 0) INTD PIRQC 191ef910819SSimon Glass >; 192ef910819SSimon Glass }; 193f2b85ab5SSimon Glass 19481aaa3d9SBin Meng spi: spi { 195f2b85ab5SSimon Glass #address-cells = <1>; 196f2b85ab5SSimon Glass #size-cells = <0>; 1971f9eb59dSBin Meng compatible = "intel,ich9-spi"; 198f2b85ab5SSimon Glass spi-flash@0 { 199f2b85ab5SSimon Glass #address-cells = <1>; 200f2b85ab5SSimon Glass #size-cells = <1>; 201f2b85ab5SSimon Glass reg = <0>; 202f2b85ab5SSimon Glass compatible = "stmicro,n25q064a", 203f2b85ab5SSimon Glass "spi-flash"; 204f2b85ab5SSimon Glass memory-map = <0xff800000 0x00800000>; 205f2b85ab5SSimon Glass rw-mrc-cache { 206f2b85ab5SSimon Glass label = "rw-mrc-cache"; 207f2b85ab5SSimon Glass reg = <0x006f0000 0x00010000>; 208f2b85ab5SSimon Glass }; 209f2b85ab5SSimon Glass }; 210f2b85ab5SSimon Glass }; 2113ddc1c7bSBin Meng 2123ddc1c7bSBin Meng gpioa { 2133ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2143ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2153ddc1c7bSBin Meng reg = <0 0x20>; 2163ddc1c7bSBin Meng bank-name = "A"; 217770ee017SBin Meng use-lvl-write-cache; 2183ddc1c7bSBin Meng }; 2193ddc1c7bSBin Meng 2203ddc1c7bSBin Meng gpiob { 2213ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2223ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2233ddc1c7bSBin Meng reg = <0x20 0x20>; 2243ddc1c7bSBin Meng bank-name = "B"; 225770ee017SBin Meng use-lvl-write-cache; 2263ddc1c7bSBin Meng }; 2273ddc1c7bSBin Meng 2283ddc1c7bSBin Meng gpioc { 2293ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2303ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2313ddc1c7bSBin Meng reg = <0x40 0x20>; 2323ddc1c7bSBin Meng bank-name = "C"; 233770ee017SBin Meng use-lvl-write-cache; 2343ddc1c7bSBin Meng }; 2353ddc1c7bSBin Meng 2363ddc1c7bSBin Meng gpiod { 2373ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2383ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2393ddc1c7bSBin Meng reg = <0x60 0x20>; 2403ddc1c7bSBin Meng bank-name = "D"; 241770ee017SBin Meng use-lvl-write-cache; 2423ddc1c7bSBin Meng }; 2433ddc1c7bSBin Meng 2443ddc1c7bSBin Meng gpioe { 2453ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2463ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2473ddc1c7bSBin Meng reg = <0x80 0x20>; 2483ddc1c7bSBin Meng bank-name = "E"; 249770ee017SBin Meng use-lvl-write-cache; 2503ddc1c7bSBin Meng }; 2513ddc1c7bSBin Meng 2523ddc1c7bSBin Meng gpiof { 2533ddc1c7bSBin Meng compatible = "intel,ich6-gpio"; 2543ddc1c7bSBin Meng u-boot,dm-pre-reloc; 2553ddc1c7bSBin Meng reg = <0xA0 0x20>; 2563ddc1c7bSBin Meng bank-name = "F"; 257770ee017SBin Meng use-lvl-write-cache; 2583ddc1c7bSBin Meng }; 259f2b85ab5SSimon Glass }; 260b71f9dcaSSimon Glass }; 261b71f9dcaSSimon Glass 262f3b84a30SAndrew Bradford fsp { 263f3b84a30SAndrew Bradford compatible = "intel,baytrail-fsp"; 2645e74e5a6SBin Meng fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_1MB>; 2655e74e5a6SBin Meng fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>; 266f3b84a30SAndrew Bradford fsp,mrc-init-spd-addr1 = <0xa0>; 267f3b84a30SAndrew Bradford fsp,mrc-init-spd-addr2 = <0xa2>; 2685e74e5a6SBin Meng fsp,emmc-boot-mode = <EMMC_BOOT_MODE_AUTO>; 269f3b84a30SAndrew Bradford fsp,enable-sdio; 270f3b84a30SAndrew Bradford fsp,enable-sdcard; 271f3b84a30SAndrew Bradford fsp,enable-hsuart1; 272f3b84a30SAndrew Bradford fsp,enable-spi; 273f3b84a30SAndrew Bradford fsp,enable-sata; 2745e74e5a6SBin Meng fsp,sata-mode = <SATA_MODE_AHCI>; 275*c9621012SBin Meng#ifdef CONFIG_USB_XHCI_HCD 276*c9621012SBin Meng fsp,enable-xhci; 277*c9621012SBin Meng#endif 278f8f291b0SBin Meng fsp,lpe-mode = <LPE_MODE_PCI>; 279f8f291b0SBin Meng fsp,lpss-sio-mode = <LPSS_SIO_MODE_PCI>; 280f3b84a30SAndrew Bradford fsp,enable-dma0; 281f3b84a30SAndrew Bradford fsp,enable-dma1; 282f3b84a30SAndrew Bradford fsp,enable-i2c0; 283f3b84a30SAndrew Bradford fsp,enable-i2c1; 284f3b84a30SAndrew Bradford fsp,enable-i2c2; 285f3b84a30SAndrew Bradford fsp,enable-i2c3; 286f3b84a30SAndrew Bradford fsp,enable-i2c4; 287f3b84a30SAndrew Bradford fsp,enable-i2c5; 288f3b84a30SAndrew Bradford fsp,enable-i2c6; 289f3b84a30SAndrew Bradford fsp,enable-pwm0; 290f3b84a30SAndrew Bradford fsp,enable-pwm1; 2915e74e5a6SBin Meng fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_64MB>; 2925e74e5a6SBin Meng fsp,aperture-size = <APERTURE_SIZE_256MB>; 2935e74e5a6SBin Meng fsp,gtt-size = <GTT_SIZE_2MB>; 294f8f291b0SBin Meng fsp,scc-mode = <SCC_MODE_PCI>; 2955e74e5a6SBin Meng fsp,os-selection = <OS_SELECTION_LINUX>; 296f3b84a30SAndrew Bradford fsp,emmc45-ddr50-enabled; 297f3b84a30SAndrew Bradford fsp,emmc45-retune-timer-value = <8>; 298f3b84a30SAndrew Bradford fsp,enable-igd; 299f3b84a30SAndrew Bradford fsp,enable-memory-down; 300f3b84a30SAndrew Bradford fsp,memory-down-params { 301f3b84a30SAndrew Bradford compatible = "intel,baytrail-fsp-mdp"; 3025e74e5a6SBin Meng fsp,dram-speed = <DRAM_SPEED_1066MTS>; 3035e74e5a6SBin Meng fsp,dram-type = <DRAM_TYPE_DDR3L>; 304f3b84a30SAndrew Bradford fsp,dimm-0-enable; 3055e74e5a6SBin Meng fsp,dimm-width = <DIMM_WIDTH_X16>; 3065e74e5a6SBin Meng fsp,dimm-density = <DIMM_DENSITY_4GBIT>; 3075e74e5a6SBin Meng fsp,dimm-bus-width = <DIMM_BUS_WIDTH_64BITS>; 3085e74e5a6SBin Meng fsp,dimm-sides = <DIMM_SIDES_1RANKS>; 309f3b84a30SAndrew Bradford fsp,dimm-tcl = <0xb>; 310f3b84a30SAndrew Bradford fsp,dimm-trpt-rcd = <0xb>; 311f3b84a30SAndrew Bradford fsp,dimm-twr = <0xc>; 312f3b84a30SAndrew Bradford fsp,dimm-twtr = <6>; 313f3b84a30SAndrew Bradford fsp,dimm-trrd = <6>; 314f3b84a30SAndrew Bradford fsp,dimm-trtp = <6>; 315f3b84a30SAndrew Bradford fsp,dimm-tfaw = <0x14>; 316f3b84a30SAndrew Bradford }; 317f3b84a30SAndrew Bradford }; 318f3b84a30SAndrew Bradford 3193a1a18ffSSimon Glass microcode { 3203a1a18ffSSimon Glass update@0 { 321bab4b961SBin Meng#include "microcode/m0130673325.dtsi" 3223a1a18ffSSimon Glass }; 3235fb01516SBin Meng update@1 { 324bab4b961SBin Meng#include "microcode/m0130679907.dtsi" 3255fb01516SBin Meng }; 3263a1a18ffSSimon Glass }; 3273a1a18ffSSimon Glass 3283a1a18ffSSimon Glass}; 329