[coreboot-gerrit] Patch set updated for coreboot: 5937400 baytrail: fix direct irq pad configuration

Aaron Durbin (adurbin@google.com) gerrit at coreboot.org
Wed May 7 17:11:13 CEST 2014


Aaron Durbin (adurbin at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4975

-gerrit

commit 5937400385e8c21c2641a7d74df2835b79952142
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Nov 14 17:39:04 2013 -0600

    baytrail: fix direct irq pad configuration
    
    When a pad is configured for direct IRQ it needs to be in
    non-legacy. Additionally, the signal is passed directly to
    the APIC by setting the LEVEL and TPE bits in the pad config
    register. The APIC can then be configured for level, edge,
    and rising/falling.
    
    BUG=chrome-os-partner:24037
    BUG=chrome-os-partner:22863
    BRANCH=None
    TEST=Built and booted with this config. Trackpad is firing interrupts
         more than it should, but it appears to be a trackpad firmware
         and/or configuration issue.
    
    Change-Id: I00042b2ddba67d6bf23f0e7468d0719196e6f865
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/176793
    Reviewed-by: Shawn Nematbakhsh <shawnn at chromium.org>
---
 src/soc/intel/baytrail/baytrail/gpio.h | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/src/soc/intel/baytrail/baytrail/gpio.h b/src/soc/intel/baytrail/baytrail/gpio.h
index bdb33f1..1b5eacf 100644
--- a/src/soc/intel/baytrail/baytrail/gpio.h
+++ b/src/soc/intel/baytrail/baytrail/gpio.h
@@ -182,25 +182,13 @@
 	  .use_sel   = GPIO_USE_LEGACY, \
 	  .io_sel    = GPIO_DIR_INPUT }
 
-/* Direct / dedicated IRQ input - falling-edge triggered */
+/* Direct / dedicated IRQ input - pass signal directly to apic */
 #define GPIO_DIRQ \
 	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT \
-		     | PAD_FUNC0 | PAD_IRQ_EN | PAD_TNE_IRQ, \
+		     | PAD_FUNC0 | PAD_IRQ_EN | PAD_TPE_IRQ | PAD_LEVEL_IRQ, \
 	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .tne       = GPIO_NEDGE_ENABLE }
+	  .pad_val   = PAD_VAL_INPUT, }
 
-/* Direct / dedicated IRQ input - rising-edge triggered */
-#define GPIO_DIRQ_INVERT \
-	{ .pad_conf0 = PAD_PU_10K | PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT \
-		     | PAD_FUNC0 | PAD_IRQ_EN | PAD_TPE_IRQ, \
-	  .pad_conf1 = PAD_CONFIG1_DEFAULT, \
-	  .pad_val   = PAD_VAL_INPUT, \
-	  .use_sel   = GPIO_USE_LEGACY, \
-	  .io_sel    = GPIO_DIR_INPUT, \
-	  .tne       = GPIO_PEDGE_ENABLE }
 
 #define GPIO_OUT_LOW \
 	{ .pad_conf0 = PAD_PULL_DISABLE | PAD_CONFIG0_DEFAULT \



More information about the coreboot-gerrit mailing list