summaryrefslogtreecommitdiff
path: root/src/mainboard/dell/latitude_e7240_bdw/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/dell/latitude_e7240_bdw/gpio.c')
-rw-r--r--src/mainboard/dell/latitude_e7240_bdw/gpio.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/mainboard/dell/latitude_e7240_bdw/gpio.c b/src/mainboard/dell/latitude_e7240_bdw/gpio.c
new file mode 100644
index 0000000000..4d3f4746d9
--- /dev/null
+++ b/src/mainboard/dell/latitude_e7240_bdw/gpio.c
@@ -0,0 +1,110 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/gpio.h>
+
+const struct gpio_config mainboard_gpio_config[] = {
+ [0] = PCH_GPIO_OUT_LOW,
+ [1] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [2] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [3] = PCH_GPIO_OUT_LOW,
+ [4] = PCH_GPIO_NATIVE,
+ [5] = PCH_GPIO_NATIVE,
+ [6] = PCH_GPIO_NATIVE,
+ [7] = PCH_GPIO_NATIVE,
+ [8] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [9] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [10] = PCH_GPIO_OUT_LOW,
+ [11] = PCH_GPIO_NATIVE,
+ [12] = PCH_GPIO_NATIVE,
+ [13] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [14] = PCH_GPIO_OUT_LOW,
+ [15] = PCH_GPIO_OUT_LOW,
+ [16] = PCH_GPIO_OUT_HIGH,
+ [17] = PCH_GPIO_OUT_LOW,
+ [18] = PCH_GPIO_NATIVE,
+ [19] = PCH_GPIO_NATIVE,
+ [20] = PCH_GPIO_NATIVE,
+ [21] = PCH_GPIO_NATIVE,
+ [22] = PCH_GPIO_NATIVE,
+ [23] = PCH_GPIO_NATIVE,
+ [24] = PCH_GPIO_OUT_LOW,
+ [25] = PCH_GPIO_OUT_LOW,
+ [26] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT },
+ [27] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [28] = PCH_GPIO_OUT_LOW,
+ [29] = PCH_GPIO_NATIVE,
+ [30] = PCH_GPIO_NATIVE,
+ [31] = PCH_GPIO_NATIVE,
+ [32] = PCH_GPIO_NATIVE,
+ [33] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [34] = PCH_GPIO_OUT_HIGH,
+ [35] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [36] = PCH_GPIO_OUT_LOW,
+ [37] = PCH_GPIO_NATIVE,
+ [38] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [39] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [40] = PCH_GPIO_NATIVE,
+ [41] = PCH_GPIO_NATIVE,
+ [42] = PCH_GPIO_NATIVE,
+ [43] = PCH_GPIO_NATIVE,
+ [44] = PCH_GPIO_OUT_LOW,
+ [45] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [46] = PCH_GPIO_OUT_LOW,
+ [47] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [48] = PCH_GPIO_OUT_LOW,
+ [49] = PCH_GPIO_OUT_LOW,
+ [50] = PCH_GPIO_OUT_HIGH,
+ [51] = PCH_GPIO_OUT_LOW,
+ [52] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [53] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT, .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [54] = PCH_GPIO_OUT_LOW,
+ [55] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [56] = PCH_GPIO_OUT_HIGH,
+ [57] = PCH_GPIO_OUT_HIGH,
+ [58] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT },
+ [59] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [60] = PCH_GPIO_OUT_LOW,
+ [61] = PCH_GPIO_NATIVE,
+ [62] = PCH_GPIO_NATIVE,
+ [63] = PCH_GPIO_NATIVE,
+ [64] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [65] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [66] = PCH_GPIO_OUT_LOW,
+ [67] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [68] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [69] = PCH_GPIO_OUT_HIGH,
+ [70] = PCH_GPIO_OUT_LOW,
+ [71] = PCH_GPIO_NATIVE,
+ [72] = PCH_GPIO_NATIVE,
+ [73] = PCH_GPIO_OUT_LOW,
+ [74] = PCH_GPIO_NATIVE,
+ [75] = PCH_GPIO_NATIVE,
+ [76] = PCH_GPIO_OUT_HIGH,
+ [77] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [78] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [79] = PCH_GPIO_OUT_LOW,
+ [80] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [81] = PCH_GPIO_NATIVE,
+ [82] = PCH_GPIO_NATIVE,
+ [83] = PCH_GPIO_OUT_HIGH,
+ [84] = PCH_GPIO_OUT_HIGH,
+ [85] = PCH_GPIO_OUT_HIGH,
+ [86] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [87] = PCH_GPIO_OUT_LOW,
+ [88] = PCH_GPIO_OUT_LOW,
+ [89] = PCH_GPIO_OUT_HIGH,
+ [90] = PCH_GPIO_OUT_HIGH,
+ [91] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [92] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [93] = PCH_GPIO_OUT_LOW,
+ [94] = PCH_GPIO_OUT_LOW,
+ PCH_GPIO_END
+};