intel/minnow3: Clean up Kconfig, devicetree and FMAP

This patch cleans up the code by:
o adding necessary default definitions to Kconfig
o removing incorrect definitions from devicetree
o removing irrelevant entries from FMD file

devicetree.cb and minnow3.fmd carried over a lot of code from google/reef
which is not correct for Minnow3 hardware.  Minnow3 is not intended to
boot Chrome OS and does not need Chrome related flash regions. The
erroneous code is removed.

These changes are the same as those done for leafhill in commit:
6a48923 mainboard/intel/leafhill: Clean up

This was tested by building with the new configuration and
booting to UEFI Payload

Change-Id: I620dcbcd622f9326917c74b2a38984d9e49cff2b
Signed-off-by: Brenton Dong <brenton.m.dong@intel.com>
Reviewed-on: https://review.coreboot.org/18963
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Brenton Dong 2017-03-23 16:23:47 -07:00 committed by Martin Roth
parent 9931f66581
commit 44ff10eaa6
3 changed files with 114 additions and 252 deletions

View File

@ -14,4 +14,64 @@ config MAINBOARD_PART_NUMBER
string string
default "Minnow3" default "Minnow3"
config FMDFILE
string
default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/minnow3.fmd"
config UART_FOR_CONSOLE
int "Number of UART port to use for serial log"
default 2
config NEED_IFWI
# this must be set to y
bool "Use IFWI stitching"
default n
config IFWI_FMAP_NAME
string "section in .fmd file to place ifwi blob"
depends on NEED_IFWI
default "IFWI"
config IFWI_FILE_NAME
string "path to image coming from FIT tool"
depends on NEED_IFWI
default ""
config IFD_BIN_PATH
string "path to descriptor.bin"
depends on NEED_IFWI
default ""
config HAVE_IFD_BIN
bool
depends on NEED_IFWI
default y
config SOC_UART_DEBUG
bool "use serial port debugging"
default y
config ADD_FSP_BINARIES
bool "Add FSP blobs"
depends on PLATFORM_USES_FSP2_0
default n
config FSP_M_FILE
string "path to FSP-M.Fv blob"
depends on ADD_FSP_BINARIES
default ""
config FSP_S_FILE
string "path to FSP-S.Fv blob"
depends on ADD_FSP_BINARIES
default ""
config FSP_S_CBFS
string
default "fsps.bin"
config FSP_M_CBFS
string
default "fspm.bin"
endif # BOARD_INTEL_MINNOW3 endif # BOARD_INTEL_MINNOW3

View File

@ -1,227 +1,56 @@
chip soc/intel/apollolake chip soc/intel/apollolake
device cpu_cluster 0 on register "pcie_rp0_clkreq_pin" = "CLKREQ_DISABLED"
device lapic 0 on end
end
register "pcie_rp0_clkreq_pin" = "0" # wifi/bt
# Disable unused clkreq of PCIe root ports
register "pcie_rp1_clkreq_pin" = "CLKREQ_DISABLED" register "pcie_rp1_clkreq_pin" = "CLKREQ_DISABLED"
register "pcie_rp2_clkreq_pin" = "CLKREQ_DISABLED" register "pcie_rp2_clkreq_pin" = "CLKREQ_DISABLED"
register "pcie_rp3_clkreq_pin" = "CLKREQ_DISABLED" register "pcie_rp3_clkreq_pin" = "CLKREQ_DISABLED"
register "pcie_rp4_clkreq_pin" = "CLKREQ_DISABLED" register "pcie_rp4_clkreq_pin" = "CLKREQ_DISABLED"
register "pcie_rp5_clkreq_pin" = "CLKREQ_DISABLED" register "pcie_rp5_clkreq_pin" = "CLKREQ_DISABLED"
# GPIO for PERST_0 device cpu_cluster 0 on
# If the Board has PERST_0 signal, assign the GPIO device lapic 0 on end
# If the Board does not have PERST_0, assign GPIO_PRT0_UDEF end
register "prt0_gpio" = "GPIO_122"
# EMMC TX DATA Delay 1
# Refer to EDS-Vol2-22.3.
# [14:8] steps of delay for HS400, each 125ps.
# [6:0] steps of delay for SDR104/HS200, each 125ps.
register "emmc_tx_data_cntl1" = "0x0C16"
# EMMC TX DATA Delay 2
# Refer to EDS-Vol2-22.3.
# [30:24] steps of delay for SDR50, each 125ps.
# [22:16] steps of delay for DDR50, each 125ps.
# [14:8] steps of delay for SDR25/HS50, each 125ps.
# [6:0] steps of delay for SDR12, each 125ps.
register "emmc_tx_data_cntl2" = "0x28162828"
# EMMC RX CMD/DATA Delay 1
# Refer to EDS-Vol2-22.3.
# [30:24] steps of delay for SDR50, each 125ps.
# [22:16] steps of delay for DDR50, each 125ps.
# [14:8] steps of delay for SDR25/HS50, each 125ps.
# [6:0] steps of delay for SDR12, each 125ps.
register "emmc_rx_cmd_data_cntl1" = "0x00181717"
# EMMC RX CMD/DATA Delay 2
# Refer to EDS-Vol2-22.3.
# [17:16] stands for Rx Clock before Output Buffer
# [14:8] steps of delay for Auto Tuning Mode, each 125ps.
# [6:0] steps of delay for HS200, each 125ps.
register "emmc_rx_cmd_data_cntl2" = "0x10008"
# Enable DPTF
register "dptf_enable" = "1"
# PL1 override 12000 mW: the energy calculation is wrong with the
# current VR solution. Experiments show that SoC TDP max (6W) can
# be reached when RAPL PL1 is set to 12W.
register "tdp_pl1_override_mw" = "12000"
# Set RAPL PL2 to 15W.
register "tdp_pl2_override_mw" = "15000"
# Enable Audio Clock and Power gating
register "hdaudio_clk_gate_enable" = "1"
register "hdaudio_pwr_gate_enable" = "1"
register "hdaudio_bios_config_lockdown" = "1"
# Enable lpss s0ix
register "lpss_s0ix_enable" = "1"
# GPE configuration
# Note that GPE events called out in ASL code rely on this
# route, i.e., if this route changes then the affected GPE
# offset bits also need to be changed. This sets the PMC register
# GPE_CFG fields.
register "gpe0_dw1" = "PMC_GPE_N_31_0"
register "gpe0_dw2" = "PMC_GPE_N_63_32"
register "gpe0_dw3" = "PMC_GPE_SW_31_0"
# Enable I2C0 for audio codec at 400kHz
register "i2c[0]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 104,
.fall_time_ns = 52,
}"
# Enable I2C2 bus early for TPM at 400kHz
register "i2c[2]" = "{
.early_init = 1,
.speed = I2C_SPEED_FAST,
.rise_time_ns = 57,
.fall_time_ns = 28,
}"
# touchscreen at 400kHz
register "i2c[3]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 76,
.fall_time_ns = 164,
}"
# trackpad at 400kHz
register "i2c[4]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 114,
.fall_time_ns = 164,
}"
# digitizer at 400kHz
register "i2c[5]" = "{
.speed = I2C_SPEED_FAST,
.rise_time_ns = 152,
.fall_time_ns = 30,
}"
# Minimum SLP S3 assertion width 28ms.
register "slp_s3_assertion_width_usecs" = "28000"
device domain 0 on device domain 0 on
device pci 00.0 on end # - Host Bridge device pci 00.0 on end # - Host Bridge
device pci 00.1 on end # - DPTF device pci 00.1 on end # - DPTF
device pci 00.2 on end # - NPK device pci 00.2 on end # - NPK
device pci 02.0 on end # - Gen device pci 02.0 on end # - Gen
device pci 03.0 on end # - Iunit device pci 03.0 on end # - Iunit
device pci 0d.0 on end # - P2SB device pci 0d.0 on end # - P2SB
device pci 0d.1 on end # - PMC device pci 0d.1 on end # - PMC
device pci 0d.2 on end # - SPI device pci 0d.2 on end # - SPI
device pci 0d.3 on end # - Shared SRAM device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio device pci 0e.0 on end # - Audio
chip drivers/generic/max98357a device pci 11.0 on end # - ISH
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)" device pci 12.0 on end # - SATA
register "sdmode_delay" = "5" device pci 13.0 on end # - PCIe-A 0
device generic 0 on end device pci 13.2 on end # - Onboard Lan
end device pci 13.3 on end # - PCIe-A 3
end device pci 14.0 on end # - PCIe-B 0
device pci 11.0 off end # - ISH device pci 14.1 on end # - Onboard M2 Slot(Wifi/BT)
device pci 12.0 off end # - SATA device pci 15.0 on end # - XHCI
device pci 13.0 off end # - Root Port 2 - PCIe-A 0 device pci 15.1 on end # - XDCI
device pci 13.1 off end # - Root Port 3 - PCIe-A 1 device pci 16.0 on end # - I2C 0
device pci 13.2 off end # - Root Port 4 - PCIe-A 2 device pci 16.1 on end # - I2C 1
device pci 13.3 off end # - Root Port 5 - PCIe-A 3 device pci 16.2 on end # - I2C 2
device pci 14.0 on device pci 16.3 on end # - I2C 3
chip drivers/intel/wifi device pci 17.0 on end # - I2C 4
register "wake" = "GPE0_DW3_00" device pci 17.1 on end # - I2C 5
device pci 00.0 on end device pci 17.2 on end # - I2C 6
end device pci 17.3 on end # - I2C 7
end # - Root Port 0 - PCIe-B 0 - Wifi device pci 18.0 on end # - UART 0
device pci 14.1 off end # - Root Port 1 - PCIe-B 1 device pci 18.1 on end # - UART 1
device pci 15.0 on end # - XHCI device pci 18.2 on end # - UART 2
device pci 15.1 off end # - XDCI device pci 18.3 on end # - UART 3
device pci 16.0 on # - I2C 0 device pci 19.0 on end # - SPI 0
chip drivers/i2c/da7219 device pci 19.1 on end # - SPI 1
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_116_IRQ)" device pci 19.2 on end # - SPI 2
register "btn_cfg" = "50" device pci 1a.0 on end # - PWM
register "mic_det_thr" = "500" device pci 1b.0 on end # - SDCARD
register "jack_ins_deb" = "20" device pci 1c.0 on end # - eMMC
register "jack_det_rate" = ""32ms_64ms"" device pci 1e.0 on end # - SDIO
register "jack_rem_deb" = "1" device pci 1f.0 on end # - LPC
register "a_d_btn_thr" = "0xa" device pci 1f.1 on end # - SMBUS
register "d_b_btn_thr" = "0x16"
register "b_c_btn_thr" = "0x21"
register "c_mic_btn_thr" = "0x3e"
register "btn_avg" = "4"
register "adc_1bit_rpt" = "1"
register "micbias_lvl" = "2600"
register "mic_amp_in_sel" = ""diff""
device i2c 1a on end
end
end
device pci 16.1 on end # - I2C 1
device pci 16.2 on
chip drivers/i2c/tpm
register "hid" = ""GOOG0005""
register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_28_IRQ)"
device i2c 50 on end
end
end # - I2C 2
device pci 16.3 on
chip drivers/i2c/generic
register "hid" = ""ELAN0001""
register "desc" = ""ELAN Touchscreen""
register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_21_IRQ)"
register "probed" = "1"
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_36)"
register "reset_delay_ms" = "20"
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)"
register "enable_delay_ms" = "1"
register "has_power_resource" = "1"
device i2c 10 on end
end
end # - I2C 3
device pci 17.0 on
chip drivers/i2c/generic
register "hid" = ""ELAN0000""
register "desc" = ""ELAN Touchpad""
register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_18_IRQ)"
register "wake" = "GPE0_DW1_15"
register "probed" = "1"
device i2c 15 on end
end
end # - I2C 4
device pci 17.1 on
chip drivers/i2c/hid
register "generic.hid" = ""WCOM50C1""
register "generic.desc" = ""WCOM Digitizer""
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_13_IRQ)"
register "hid_desc_reg_offset" = "0x1"
device i2c 0x9 on end
end
end # - I2C 5
device pci 17.2 off end # - I2C 6
device pci 17.3 off end # - I2C 7
device pci 18.0 on end # - UART 0
device pci 18.1 on end # - UART 1
device pci 18.2 on end # - UART 2
device pci 18.3 off end # - UART 3
device pci 19.0 on end # - SPI 0
device pci 19.1 off end # - SPI 1
device pci 19.2 off end # - SPI 2
device pci 1a.0 on end # - PWM
device pci 1b.0 on end # - SDCARD
device pci 1c.0 on end # - eMMC
device pci 1e.0 off end # - SDIO
device pci 1f.0 on # - LPC
chip ec/google/chromeec
device pnp 0c09.0 on end
end
end
device pci 1f.1 on end # - SMBUS
end end
end end

View File

@ -1,40 +1,13 @@
FLASH 16M { FLASH 16M {
WP_RO@0x0 0x480000 { SI_DESC@0x0 0x1000
SI_DESC@0x0 0x1000 IFWI@0x1000 0x300000
IFWI@0x1000 0x27f000 FMAP@0x301000 0x800
RO_VPD@0x280000 0x4000 COREBOOT(CBFS)@0x301800 0x3dc800
RO_SECTION@0x284000 0x1fc000 { UNIFIED_MRC_CACHE@0x6de000 0x21000 {
FMAP@0x0 0x800 RECOVERY_MRC_CACHE@0x0 0x10000
COREBOOT(CBFS)@0x1000 0x1bb000 RW_MRC_CACHE@0x10000 0x10000
RO_UNUSED@0x1bc000 0x40000 RW_VAR_MRC_CACHE@0x20000 0x1000
}
} }
MISC_RW@0x480000 0x30000 { DEVICE_EXTENSION@0x6ff000 0x100000
UNIFIED_MRC_CACHE@0x0 0x21000 { UNUSED_HOLE@0x7ff000 0x1000
RECOVERY_MRC_CACHE@0x0 0x10000
RW_MRC_CACHE@0x10000 0x10000
RW_VAR_MRC_CACHE@0x20000 0x1000
}
RW_ELOG@0x21000 0x3000
RW_SHARED@0x24000 0x4000 {
SHARED_DATA@0x0 0x2000
VBLOCK_DEV@0x2000 0x2000
}
RW_VPD@0x28000 0x2000
RW_NVRAM@0x2a000 0x6000
}
RW_LEGACY(CBFS)@0xd30000 0x200000
BIOS_UNUSABLE@0xf30000 0x4f000
DEVICE_EXTENSION@0xf7f000 0x80000
# Currently, it is required that the BIOS region be a multiple of 8KiB.
# This is required so that the recovery mechanism can find SIGN_CSE
# region aligned to 4K at the center of BIOS region. Since the
# descriptor at the beginning uses 4K and BIOS starts at an offset of
# 4K, a hole of 4K is created towards the end of the flash to compensate
# for the size requirement of BIOS region.
# FIT tool thus creates descriptor with following regions:
# Descriptor --> 0 to 4K
# BIOS --> 4K to 0xf7f000
# Device ext --> 0xf7f000 to 0xfff000
UNUSED_HOLE@0xfff000 0x1000
} }