bayleybay: modify board related settings for baytrail CRB

This commit includes bayleybay board related settings for bring up baytrail crb

BUG=none
TEST=emerge-bayleybay coreboot chromeos-bootimage compile ok.
It can boot to dev chromium desktop without verify boot(due to no TPM built in bayleybay)

Change-Id: I659293d7a8fcdae40b60fd127e19b7284e75aa10
Signed-off-by: Kane Chen <kane.chen@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/201002
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kane Chen 2014-05-21 10:01:50 +08:00 committed by chrome-internal-fetch
commit e3ecc46d21
5 changed files with 262 additions and 196 deletions

View file

@ -26,3 +26,12 @@ Device (PWRB)
// Wake from deep sleep via GPIO27
Name(_PRW, Package(){27, 4})
}
Scope (\_SB.LPEA)
{
Name (GBUF, ResourceTemplate ()
{
//There is no LPE device on bayleybay
//If we don't add this Name space here, it will cause compile error
})
}

View file

@ -30,7 +30,6 @@
#include <device/pci_ids.h>
#include <cpu/cpu.h>
#include <cpu/x86/msr.h>
#include <vendorcode/google/chromeos/gnvs.h>
#include <baytrail/acpi.h>
#include <baytrail/nvs.h>
#include <baytrail/iomap.h>
@ -39,7 +38,7 @@ extern const unsigned char AmlCode[];
static void acpi_create_gnvs(global_nvs_t *gnvs)
{
gnvs->pcnt = dev_count_cpu();
acpi_init_gnvs(gnvs);
/* Enable USB ports in S3 */
gnvs->s3u0 = 1;
@ -49,23 +48,11 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
gnvs->s5u0 = 0;
gnvs->s5u1 = 0;
/* CBMEM TOC */
gnvs->cmem = 0;
/* Top of Low Memory (start of resource allocation) */
gnvs->tolm = nc_read_top_of_low_memory();
/* TPM Present */
gnvs->tpmp = 1;
#if CONFIG_CHROMEOS
chromeos_init_vboot(&(gnvs->chromeos));
/* Bayley Bay does not have a Chrome EC */
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
#endif
/* Update the mem console pointer. */
gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
/* Enable DPTF */
gnvs->dpte = 1;
}
unsigned long acpi_fill_madt(unsigned long current)

View file

@ -1,10 +1,75 @@
chip soc/intel/baytrail
#bayleybay will need itp all the time
register "enable_xdp_tap" = "1"
# SATA port enable mask (2 ports)
register "sata_port_map" = "0x1"
register "sata_ahci" = "0x1"
register "ide_legacy_combined" = "0x0"
# Route USB ports to XHCI
register "usb_route_to_xhci" = "1"
# USB Port Disable Mask
register "usb2_port_disable_mask" = "0x0"
register "usb3_port_disable_mask" = "0x0"
# USB PHY settings
# TODO: These values are from Baytrail and need tuned for Rambi board
register "usb2_per_port_lane0" = "0x0004f201"
register "usb2_per_port_rcomp_hs_pullup0" = "0x05004015"
register "usb2_per_port_lane1" = "0x00049a09"
register "usb2_per_port_rcomp_hs_pullup1" = "0x00004011"
register "usb2_per_port_lane2" = "0x00049a09"
register "usb2_per_port_rcomp_hs_pullup2" = "0x00004011"
register "usb2_per_port_lane3" = "0x00049a09"
register "usb2_per_port_rcomp_hs_pullup3" = "0x00004011"
# Allow PCIe devices to wake system from suspend
register "pcie_wake_enable" = "1"
# VR PS2 control
register "vnn_ps2_enable" = "1"
register "vcc_ps2_enable" = "1"
# Disable SLP_X stretching after SUS power well fail.
register "disable_slp_x_stretch_sus_fail" = "1"
device cpu_cluster 0 on
device lapic 0 on end
end
device domain 0 on
device pci 00.0 on end # SoC router
device pci 02.0 on end # GFX
device pci 1f.0 on end # LPC Bridge
device pci 00.0 on end # SoC router
device pci 02.0 on end # GFX
device pci 11.0 off end # SDIO
device pci 13.0 on end # SATA
device pci 14.0 on end # XHCI
device pci 15.0 on end # LPE
device pci 16.0 off end # SD
device pci 17.0 off end # MMC
device pci 18.0 on end # SIO_DMA1
device pci 18.1 on end # I2C1
device pci 18.2 on end # I2C2
device pci 18.3 off end # I2C3
device pci 18.4 off end # I2C4
device pci 18.5 on end # I2C5
device pci 18.6 on end # I2C6
device pci 18.7 off end # I2C7
device pci 1a.0 on end # TXE
device pci 1b.0 on end # HDA
device pci 1c.0 on end # PCIE_PORT1
device pci 1c.1 on end # PCIE_PORT2
device pci 1c.2 off end # PCIE_PORT3
device pci 1c.3 off end # PCIE_PORT4
device pci 1d.0 off end # EHCI
device pci 1e.0 on end # SIO_DMA2
device pci 1e.1 off end # PWM1
device pci 1e.2 off end # PWM2
device pci 1e.3 off end # HSUART1
device pci 1e.4 off end # HSUART2
device pci 1e.5 off end # SPI
device pci 1f.0 on
end # LPC Bridge
device pci 1f.3 off end # SMBus
end
end

View file

@ -23,7 +23,7 @@
DefinitionBlock(
"dsdt.aml",
"DSDT",
0x02, // DSDT revision: ACPI v2.0
0x05, // DSDT revision: ACPI v5.0
"COREv4", // OEM id
"COREBOOT", // OEM table id
0x20110725 // OEM revision
@ -35,8 +35,6 @@ DefinitionBlock(
// global NVS and variables
#include <soc/intel/baytrail/acpi/globalnvs.asl>
//#include "acpi/thermal.asl"
#include <soc/intel/baytrail/acpi/cpu.asl>
Scope (\_SB) {
@ -52,4 +50,6 @@ DefinitionBlock(
/* Chipset specific sleep states */
#include <soc/intel/baytrail/acpi/sleepstates.asl>
#include "acpi/mainboard.asl"
}

View file

@ -19,199 +19,204 @@
#include <stdlib.h>
#include <baytrail/gpio.h>
#include "irqroute.h"
/* NCORE GPIOs */
static const struct soc_gpio_map gpncore_gpio_map[] = {
GPIO_DEFAULT, /* GPIO 0 */
GPIO_DEFAULT, /* GPIO 1 */
GPIO_DEFAULT, /* GPIO 2 */
GPIO_DEFAULT, /* GPIO 3 */
GPIO_DEFAULT, /* GPIO 4 */
GPIO_DEFAULT, /* GPIO 5 */
GPIO_DEFAULT, /* GPIO 6 */
GPIO_DEFAULT, /* GPIO 7 */
GPIO_DEFAULT, /* GPIO 8 */
GPIO_DEFAULT, /* GPIO 9 */
GPIO_DEFAULT, /* GPIO 10 */
GPIO_DEFAULT, /* GPIO 11 */
GPIO_DEFAULT, /* GPIO 12 */
GPIO_DEFAULT, /* GPIO 13 */
GPIO_DEFAULT, /* GPIO 14 */
GPIO_DEFAULT, /* GPIO 15 */
GPIO_DEFAULT, /* GPIO 16 */
GPIO_DEFAULT, /* GPIO 17 */
GPIO_DEFAULT, /* GPIO 18 */
GPIO_DEFAULT, /* GPIO 19 */
GPIO_DEFAULT, /* GPIO 20 */
GPIO_DEFAULT, /* GPIO 21 */
GPIO_DEFAULT, /* GPIO 22 */
GPIO_DEFAULT, /* GPIO 23 */
GPIO_DEFAULT, /* GPIO 24 */
GPIO_DEFAULT, /* GPIO 25 */
GPIO_DEFAULT, /* GPIO 26 */
GPIO_FUNC(2, PULL_UP, 20K), /* GPIO 0 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 1 */
GPIO_FUNC(2, PULL_UP, 20K), /* GPIO 2 */
GPIO_INPUT_PD_20K, /* GPIO 3 */
GPIO_INPUT_PD_20K, /* GPIO 4 */
GPIO_INPUT_PD_20K, /* GPIO 5 */
GPIO_FUNC(2, PULL_UP, 20K), /* GPIO 6 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 7 */
GPIO_FUNC(2, PULL_UP, 20K), /* GPIO 8 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 9 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 10 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 11 */
GPIO_INPUT_PD_20K, /* GPIO 12 */
GPIO_INPUT_PD_20K, /* GPIO 13 */
GPIO_INPUT_PU_20K, /* GPIO 14 */
GPIO_OUT_LOW, /* GPIO 15 */
GPIO_OUT_LOW, /* GPIO 16 */
GPIO_INPUT_PD_20K, /* GPIO 17 */
GPIO_INPUT_PD_20K, /* GPIO 18 */
GPIO_OUT_LOW, /* GPIO 19 */
GPIO_OUT_LOW, /* GPIO 20 */
GPIO_OUT_LOW, /* GPIO 21 */
GPIO_OUT_LOW, /* GPIO 22 */
GPIO_OUT_LOW, /* GPIO 23 */
GPIO_OUT_LOW, /* GPIO 24 */
GPIO_OUT_LOW, /* GPIO 25 */
GPIO_OUT_LOW, /* GPIO 26 */
GPIO_END
};
/* SCORE GPIOs */
static const struct soc_gpio_map gpscore_gpio_map[] = {
GPIO_DEFAULT, /* GPIO 0 */
GPIO_DEFAULT, /* GPIO 1 */
GPIO_DEFAULT, /* GPIO 2 */
GPIO_DEFAULT, /* GPIO 3 */
GPIO_DEFAULT, /* GPIO 4 */
GPIO_DEFAULT, /* GPIO 5 */
GPIO_DEFAULT, /* GPIO 6 */
GPIO_DEFAULT, /* GPIO 7 */
GPIO_DEFAULT, /* GPIO 8 */
GPIO_DEFAULT, /* GPIO 9 */
GPIO_DEFAULT, /* GPIO 10 */
GPIO_DEFAULT, /* GPIO 11 */
GPIO_DEFAULT, /* GPIO 12 */
GPIO_DEFAULT, /* GPIO 13 */
GPIO_DEFAULT, /* GPIO 14 */
GPIO_DEFAULT, /* GPIO 15 */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 16 MMC1_45_CLK */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 17 MMC1_45_D[0] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 18 MMC1_45_D[1] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 19 MMC1_45_D[2] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 20 MMC1_45_D[3] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 21 MMC1_45_D[4] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 22 MMC1_45_D[5] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 23 MMC1_45_D[6] */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 24 MMC1_45_D[7] */
GPIO_FUNC(3, PULL_UP, 2K), /* GPIO 25 MMC1_45_CMD */
GPIO_FUNC(3, PULL_UP, 10K), /* GPIO 26 MMC1_45_RST */
GPIO_DEFAULT, /* GPIO 27 */
GPIO_DEFAULT, /* GPIO 28 */
GPIO_DEFAULT, /* GPIO 29 */
GPIO_DEFAULT, /* GPIO 30 */
GPIO_DEFAULT, /* GPIO 31 */
GPIO_DEFAULT, /* GPIO 32 */
GPIO_DEFAULT, /* GPIO 33 */
GPIO_DEFAULT, /* GPIO 34 */
GPIO_DEFAULT, /* GPIO 35 */
GPIO_DEFAULT, /* GPIO 36 */
GPIO_DEFAULT, /* GPIO 37 */
GPIO_DEFAULT, /* GPIO 38 */
GPIO_DEFAULT, /* GPIO 39 */
GPIO_DEFAULT, /* GPIO 40 */
GPIO_DEFAULT, /* GPIO 41 */
GPIO_DEFAULT, /* GPIO 42 */
GPIO_DEFAULT, /* GPIO 43 */
GPIO_DEFAULT, /* GPIO 44 */
GPIO_DEFAULT, /* GPIO 45 */
GPIO_DEFAULT, /* GPIO 46 */
GPIO_DEFAULT, /* GPIO 47 */
GPIO_DEFAULT, /* GPIO 48 */
GPIO_DEFAULT, /* GPIO 49 */
GPIO_DEFAULT, /* GPIO 50 */
GPIO_FUNC1, /* GPIO 51 - SMBus DATA */
GPIO_FUNC1, /* GPIO 52 - SMBus CLK */
GPIO_DEFAULT, /* GPIO 53 */
GPIO_DEFAULT, /* GPIO 54 */
GPIO_DEFAULT, /* GPIO 55 */
GPIO_DEFAULT, /* GPIO 56 */
GPIO_FUNC1, /* GPIO 57 - COM1 TXD */
GPIO_DEFAULT, /* GPIO 58 */
GPIO_DEFAULT, /* GPIO 59 */
GPIO_DEFAULT, /* GPIO 60 */
GPIO_FUNC1, /* GPIO 61 - COM1 RXD */
GPIO_DEFAULT, /* GPIO 62 */
GPIO_DEFAULT, /* GPIO 63 */
GPIO_DEFAULT, /* GPIO 64 */
GPIO_DEFAULT, /* GPIO 65 */
GPIO_DEFAULT, /* GPIO 66 */
GPIO_DEFAULT, /* GPIO 67 */
GPIO_DEFAULT, /* GPIO 68 */
GPIO_DEFAULT, /* GPIO 69 */
GPIO_DEFAULT, /* GPIO 70 */
GPIO_DEFAULT, /* GPIO 71 */
GPIO_DEFAULT, /* GPIO 72 */
GPIO_DEFAULT, /* GPIO 73 */
GPIO_DEFAULT, /* GPIO 74 */
GPIO_DEFAULT, /* GPIO 75 */
GPIO_DEFAULT, /* GPIO 76 */
GPIO_DEFAULT, /* GPIO 77 */
GPIO_DEFAULT, /* GPIO 78 */
GPIO_DEFAULT, /* GPIO 79 */
GPIO_DEFAULT, /* GPIO 80 */
GPIO_DEFAULT, /* GPIO 81 */
GPIO_DEFAULT, /* GPIO 82 */
GPIO_DEFAULT, /* GPIO 83 */
GPIO_DEFAULT, /* GPIO 84 */
GPIO_DEFAULT, /* GPIO 85 */
GPIO_DEFAULT, /* GPIO 86 */
GPIO_DEFAULT, /* GPIO 87 */
GPIO_DEFAULT, /* GPIO 88 */
GPIO_DEFAULT, /* GPIO 89 */
GPIO_DEFAULT, /* GPIO 90 */
GPIO_DEFAULT, /* GPIO 91 */
GPIO_DEFAULT, /* GPIO 92 */
GPIO_DEFAULT, /* GPIO 93 */
GPIO_DEFAULT, /* GPIO 94 */
GPIO_DEFAULT, /* GPIO 95 */
GPIO_DEFAULT, /* GPIO 96 */
GPIO_DEFAULT, /* GPIO 97 */
GPIO_DEFAULT, /* GPIO 98 */
GPIO_DEFAULT, /* GPIO 99 */
GPIO_DEFAULT, /* GPIO 100 */
GPIO_DEFAULT, /* GPIO 101 */
GPIO_DIRQ_EDGEHIGH_PD_20K, /* GPIO 0 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 1 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 2 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 3 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 4 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 5 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 6 */
GPIO_FUNC(2, PULL_UP, 20K), /* GPIO 7 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 8 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 9 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 10 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 11 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 12 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 13 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 14 */
GPIO_FUNC(2, PULL_DOWN, 20K), /* GPIO 15 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 16 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 17 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 18 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 19 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 20 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 21 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 22 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 23 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 24 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 25 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 26 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 27 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 28 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 29 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 30 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 31 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 32 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 33 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 34 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 35 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 36 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 37 */
GPIO_DIRQ_EDGEBOTH_PU_20K, /* GPIO 38 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 39 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 40 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 41 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 42 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 43 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 44 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 45 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 46 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 47 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 48 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 49 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 50 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 51 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 52 */
GPIO_FUNC(1, PULL_UP, 20K), /* GPIO 53 */
GPIO_FUNC(1, PULL_DOWN, 20K), /* GPIO 54 */
GPIO_OUT_LOW, /* GPIO 55 */
GPIO_INPUT, /* GPIO 56 */
GPIO_FUNC1, /* GPIO 57 */
GPIO_INPUT, /* GPIO 58 */
GPIO_OUT_HIGH, /* GPIO 59 */
GPIO_OUT_HIGH, /* GPIO 60 */
GPIO_FUNC1, /* GPIO 61 */
GPIO_FUNC1, /* GPIO 62 */
GPIO_FUNC1, /* GPIO 63 */
GPIO_FUNC1, /* GPIO 64 */
GPIO_FUNC1, /* GPIO 65 */
GPIO_FUNC1, /* GPIO 66 */
GPIO_FUNC1, /* GPIO 67 */
GPIO_FUNC1, /* GPIO 68 */
GPIO_FUNC1, /* GPIO 69 */
GPIO_FUNC1, /* GPIO 70 */
GPIO_FUNC1, /* GPIO 71 */
GPIO_FUNC1, /* GPIO 72 */
GPIO_FUNC1, /* GPIO 73 */
GPIO_FUNC1, /* GPIO 74 */
GPIO_FUNC1, /* GPIO 75 */
GPIO_FUNC1, /* GPIO 76 */
GPIO_FUNC1, /* GPIO 77 */
GPIO_FUNC1, /* GPIO 78 */
GPIO_FUNC1, /* GPIO 79 */
GPIO_FUNC1, /* GPIO 80 */
GPIO_FUNC1, /* GPIO 81 */
GPIO_FUNC1, /* GPIO 82 */
GPIO_FUNC1, /* GPIO 83 */
GPIO_FUNC1, /* GPIO 84 */
GPIO_FUNC1, /* GPIO 85 */
GPIO_FUNC1, /* GPIO 86 */
GPIO_FUNC1, /* GPIO 87 */
GPIO_FUNC1, /* GPIO 88 */
GPIO_FUNC1, /* GPIO 89 */
GPIO_FUNC1, /* GPIO 90 */
GPIO_FUNC1, /* GPIO 91 */
GPIO_FUNC0, /* GPIO 92 */
GPIO_FUNC0, /* GPIO 93 */
GPIO_DIRQ, /* GPIO 94 */
GPIO_OUT_LOW, /* GPIO 95 */
GPIO_FUNC1, /* GPIO 96 */
GPIO_OUT_LOW, /* GPIO 97 */
GPIO_OUT_LOW, /* GPIO 98 */
GPIO_FUNC1, /* GPIO 99 */
GPIO_OUT_HIGH, /* GPIO 100 */
GPIO_FUNC1, /* GPIO 101 */
GPIO_END
};
/* SSUS GPIOs */
static const struct soc_gpio_map gpssus_gpio_map[] = {
GPIO_DEFAULT, /* GPIO 0 */
GPIO_DEFAULT, /* GPIO 1 */
GPIO_DEFAULT, /* GPIO 2 */
GPIO_DEFAULT, /* GPIO 3 */
GPIO_DEFAULT, /* GPIO 4 */
GPIO_DEFAULT, /* GPIO 5 */
GPIO_DEFAULT, /* GPIO 6 */
GPIO_DEFAULT, /* GPIO 7 */
GPIO_DEFAULT, /* GPIO 8 */
GPIO_DEFAULT, /* GPIO 9 */
GPIO_DEFAULT, /* GPIO 10 */
GPIO_DEFAULT, /* GPIO 11 */
GPIO_DEFAULT, /* GPIO 12 */
GPIO_DEFAULT, /* GPIO 13 */
GPIO_DEFAULT, /* GPIO 14 */
GPIO_DEFAULT, /* GPIO 15 */
GPIO_DEFAULT, /* GPIO 16 */
GPIO_DEFAULT, /* GPIO 17 */
GPIO_DEFAULT, /* GPIO 18 */
GPIO_DEFAULT, /* GPIO 19 */
GPIO_DEFAULT, /* GPIO 20 */
GPIO_DEFAULT, /* GPIO 21 */
GPIO_DEFAULT, /* GPIO 22 */
GPIO_DEFAULT, /* GPIO 23 */
GPIO_DEFAULT, /* GPIO 24 */
GPIO_DEFAULT, /* GPIO 25 */
GPIO_DEFAULT, /* GPIO 26 */
GPIO_DEFAULT, /* GPIO 27 */
GPIO_DEFAULT, /* GPIO 28 */
GPIO_DEFAULT, /* GPIO 29 */
GPIO_DEFAULT, /* GPIO 30 */
GPIO_DEFAULT, /* GPIO 31 */
GPIO_DEFAULT, /* GPIO 32 */
GPIO_DEFAULT, /* GPIO 33 */
GPIO_DEFAULT, /* GPIO 34 */
GPIO_DEFAULT, /* GPIO 35 */
GPIO_DEFAULT, /* GPIO 36 */
GPIO_DEFAULT, /* GPIO 37 */
GPIO_DEFAULT, /* GPIO 38 */
GPIO_DEFAULT, /* GPIO 39 */
GPIO_DEFAULT, /* GPIO 40 */
GPIO_DEFAULT, /* GPIO 41 */
GPIO_DEFAULT, /* GPIO 42 */
GPIO_DEFAULT, /* GPIO 43 */
GPIO_DIRQ_EDGELOW_PU_20K,/* GPIO 0 */
GPIO_FUNC6, /* GPIO 1 */
GPIO_FUNC6, /* GPIO 2 */
GPIO_DIRQ_LEVELLOW_PU_20K, /* GPIO 3 */
GPIO_DIRQ_EDGEHIGH_PD_20K, /* GPIO 4 */
GPIO_FUNC1, /* GPIO 5 */
GPIO_DIRQ_LEVELLOW_PU_20K, /* GPIO 6 */
GPIO_INPUT_PD_20K, /* GPIO 7 */
GPIO_OUT_HIGH, /* GPIO 8 */
GPIO_OUT_LOW, /* GPIO 9 */
GPIO_DIRQ_LEVELLOW_PU_20K, /* GPIO 10 */
GPIO_FUNC0, /* GPIO 11 */
GPIO_FUNC0, /* GPIO 12 */
GPIO_FUNC0, /* GPIO 13 */
GPIO_OUT_HIGH, /* GPIO 14 */
GPIO_FUNC0, /* GPIO 15 */
GPIO_FUNC0, /* GPIO 16 */
GPIO_DIRQ_LEVELHIGH_NO_PULL, /* GPIO 17 */
GPIO_FUNC0, /* GPIO 18 */
GPIO_FUNC0, /* GPIO 19 */
GPIO_FUNC0, /* GPIO 20 */
GPIO_NC, /* GPIO 21 */
GPIO_NC, /* XDP_GPIO_DFX0 */
GPIO_NC, /* XDP_GPIO_DFX1 */
GPIO_NC, /* XDP_GPIO_DFX2 */
GPIO_NC, /* XDP_GPIO_DFX3 */
GPIO_NC, /* XDP_GPIO_DFX4 */
GPIO_NC, /* XDP_GPIO_DFX5 */
GPIO_NC, /* XDP_GPIO_DFX6 */
GPIO_NC, /* XDP_GPIO_DFX7 */
GPIO_NC, /* XDP_GPIO_DFX8 */
GPIO_OUT_LOW, /* GPIO 31 */
GPIO_OUT_LOW, /* GPIO 32 */
GPIO_OUT_LOW, /* GPIO 33 */
GPIO_INPUT, /* GPIO 34 */
GPIO_OUT_LOW, /* GPIO 35 */
GPIO_OUT_LOW, /* GPIO 36 */
GPIO_OUT_HIGH, /* GPIO 37 */
GPIO_INPUT, /* GPIO 38 */
GPIO_INPUT, /* GPIO 39 */
GPIO_INPUT, /* GPIO 40 */
GPIO_OUT_HIGH, /* GPIO 41 */
GPIO_INPUT, /* GPIO 42 */
GPIO_INPUT, /* GPIO 43 */
GPIO_END
};
static struct soc_gpio_config gpio_config = {
.ncore = gpncore_gpio_map,
.score = gpscore_gpio_map,
.ssus = gpssus_gpio_map
.ssus = gpssus_gpio_map,
.core_dirq = NULL,
.sus_dirq = NULL,
};
struct soc_gpio_config* mainboard_get_gpios(void)