diff --git a/src/mainboard/intel/bayleybay/acpi/mainboard.asl b/src/mainboard/intel/bayleybay/acpi/mainboard.asl index 3e0eb339ee..99dc630b91 100644 --- a/src/mainboard/intel/bayleybay/acpi/mainboard.asl +++ b/src/mainboard/intel/bayleybay/acpi/mainboard.asl @@ -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 + }) +} + diff --git a/src/mainboard/intel/bayleybay/acpi_tables.c b/src/mainboard/intel/bayleybay/acpi_tables.c index 55eed90866..890e1df966 100644 --- a/src/mainboard/intel/bayleybay/acpi_tables.c +++ b/src/mainboard/intel/bayleybay/acpi_tables.c @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -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) diff --git a/src/mainboard/intel/bayleybay/devicetree.cb b/src/mainboard/intel/bayleybay/devicetree.cb index c6ea97cb76..fe4a3212e1 100644 --- a/src/mainboard/intel/bayleybay/devicetree.cb +++ b/src/mainboard/intel/bayleybay/devicetree.cb @@ -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 diff --git a/src/mainboard/intel/bayleybay/dsdt.asl b/src/mainboard/intel/bayleybay/dsdt.asl index 1d9a43a79b..6d18aa079d 100644 --- a/src/mainboard/intel/bayleybay/dsdt.asl +++ b/src/mainboard/intel/bayleybay/dsdt.asl @@ -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 - //#include "acpi/thermal.asl" - #include Scope (\_SB) { @@ -52,4 +50,6 @@ DefinitionBlock( /* Chipset specific sleep states */ #include + + #include "acpi/mainboard.asl" } diff --git a/src/mainboard/intel/bayleybay/gpio.c b/src/mainboard/intel/bayleybay/gpio.c index f3b4a04fd0..cbeb8aad69 100644 --- a/src/mainboard/intel/bayleybay/gpio.c +++ b/src/mainboard/intel/bayleybay/gpio.c @@ -19,199 +19,204 @@ #include #include +#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)