[ppc4xx] Extend 44x GPIO setup with default output state
authorStefan Roese <sr@denx.de>
Fri, 15 Jun 2007 05:39:43 +0000 (07:39 +0200)
committerStefan Roese <sr@denx.de>
Fri, 15 Jun 2007 05:39:43 +0000 (07:39 +0200)
The board config array CFG_440_GPIO_TABLE for the ppc440 GPIO setup
is extended with the default GPIO output state (level).

Signed-off-by: Stefan Roese <sr@denx.de>
cpu/ppc4xx/gpio.c
include/asm-ppc/gpio.h
include/configs/pcs440ep.h

index fb0f575eafc398fa1598aca7d14ad890e3119a87..5235203ea28eae86266010fe16ca20dd75d97d51 100644 (file)
@@ -103,6 +103,18 @@ void gpio_write_bit(int pin, int val)
                out32(GPIO0_OR + offs, in32(GPIO0_OR + offs) & ~GPIO_VAL(pin));
 }
 
+int gpio_read_out_bit(int pin)
+{
+       u32 offs = 0;
+
+       if (pin >= GPIO_MAX) {
+               offs = 0x100;
+               pin -= GPIO_MAX;
+       }
+
+       return (in32(GPIO0_OR + offs) & GPIO_VAL(pin) ? 1 : 0);
+}
+
 #if defined(CFG_440_GPIO_TABLE)
 void gpio_set_chip_configuration(void)
 {
@@ -157,11 +169,37 @@ void gpio_set_chip_configuration(void)
                                switch (gpio_tab[gpio_core][i].alt_nb) {
                                case GPIO_SEL:
                                        if (gpio_core == GPIO0) {
+                                               /*
+                                                * Setup output value
+                                                * 1 -> high level
+                                                * 0 -> low level
+                                                * else -> don't touch
+                                                */
+                                               reg = in32(GPIO0_OR);
+                                               if (gpio_tab[gpio_core][i].out_val == GPIO_OUT_1)
+                                                       reg |= (0x80000000 >> (i));
+                                               else if (gpio_tab[gpio_core][i].out_val == GPIO_OUT_0)
+                                                       reg &= ~(0x80000000 >> (i));
+                                               out32(GPIO0_OR, reg);
+
                                                reg = in32(GPIO0_TCR) | (0x80000000 >> (i));
                                                out32(GPIO0_TCR, reg);
                                        }
 
                                        if (gpio_core == GPIO1) {
+                                               /*
+                                                * Setup output value
+                                                * 1 -> high level
+                                                * 0 -> low level
+                                                * else -> don't touch
+                                                */
+                                               reg = in32(GPIO0_OR);
+                                               if (gpio_tab[gpio_core][i].out_val == GPIO_OUT_1)
+                                                       reg |= (0x80000000 >> (i));
+                                               else if (gpio_tab[gpio_core][i].out_val == GPIO_OUT_0)
+                                                       reg &= ~(0x80000000 >> (i));
+                                               out32(GPIO0_OR, reg);
+
                                                reg = in32(GPIO1_TCR) | (0x80000000 >> (i));
                                                out32(GPIO1_TCR, reg);
                                        }
index 114dc92db9e34d04562718c4dcd9db73f1a98488..c9b6a36b4f95a3934041d9ba713e1b5033deda26 100644 (file)
@@ -45,12 +45,14 @@ typedef enum gpio_driver { GPIO_DIS, GPIO_IN, GPIO_OUT, GPIO_BI } gpio_driver_t;
 typedef enum gpio_out   { GPIO_OUT_0, GPIO_OUT_1, GPIO_OUT_NO_CHG } gpio_out_t;
 
 typedef struct {
-       unsigned long add;      /* gpio core base address       */
-       gpio_driver_t in_out;   /* Driver Setting               */
-       gpio_select_t alt_nb;   /* Selected Alternate           */
+       unsigned long   add;    /* gpio core base address       */
+       gpio_driver_t   in_out; /* Driver Setting               */
+       gpio_select_t   alt_nb; /* Selected Alternate           */
+       gpio_out_t      out_val;/* Default Output Value         */
 } gpio_param_s;
 #endif
 
 void gpio_config(int pin, int in_out, int gpio_alt, int out_val);
 void gpio_write_bit(int pin, int val);
+int gpio_read_out_bit(int pin);
 void gpio_set_chip_configuration(void);
index 23bdfc8dfb99e1821053fb7a8de5025cc7e35521..9e41773f570c99f9c3db00bc4164dd12fe083767 100644 (file)
 /*-----------------------------------------------------------------------
  * PPC440 GPIO Configuration
  */
-#define CFG_440_GPIO_TABLE { /*                GPIO    Alternate1      Alternate2      Alternate3 */ \
+#define CFG_440_GPIO_TABLE { /*          Out                  GPIO     Alternate1      Alternate2   Alternate3 */ \
 {                                                                                      \
 /* GPIO Core 0 */                                                                      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO0  EBC_ADDR(7)     DMA_REQ(2)      */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO1  EBC_ADDR(6)     DMA_ACK(2)      */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO2  EBC_ADDR(5)     DMA_EOT/TC(2)   */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO3  EBC_ADDR(4)     DMA_REQ(3)      */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO4  EBC_ADDR(3)     DMA_ACK(3)      */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO5  EBC_ADDR(2)     DMA_EOT/TC(3)   */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO6  EBC_CS_N(1)                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO7  EBC_CS_N(2)                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO8  EBC_CS_N(3)                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO9  EBC_CS_N(4)                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO10 EBC_CS_N(5)                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_SEL },  /* GPIO11 EBC_BUS_ERR                     */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO12 ZII_p0Rxd(0)                    */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO13 ZII_p0Rxd(1)                    */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO14 ZII_p0Rxd(2)                    */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO15 ZII_p0Rxd(3)                    */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO16 ZII_p0Txd(0)                    */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO17 ZII_p0Txd(1)                    */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO18 ZII_p0Txd(2)                    */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO19 ZII_p0Txd(3)                    */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO20 ZII_p0Rx_er                     */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO21 ZII_p0Rx_dv                     */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO22 ZII_p0RxCrs                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO23 ZII_p0Tx_er                     */      \
-{ GPIO0_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO24 ZII_p0Tx_en                     */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO25 ZII_p0Col                       */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO26                 USB2D_RXVALID   */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO27 EXT_EBC_REQ     USB2D_RXERROR   */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO28                 USB2D_TXVALID   */      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO29 EBC_EXT_HDLA    USB2D_PAD_SUSPNDM */    \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO30 EBC_EXT_ACK     USB2D_XCVRSELECT*/      \
-{ GPIO0_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO31 EBC_EXR_BUSREQ  USB2D_TERMSELECT*/      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO0   EBC_ADDR(7)     DMA_REQ(2)      */ \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO1   EBC_ADDR(6)     DMA_ACK(2)      */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO2   EBC_ADDR(5)     DMA_EOT/TC(2)   */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO3   EBC_ADDR(4)     DMA_REQ(3)      */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO4   EBC_ADDR(3)     DMA_ACK(3)      */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO5   EBC_ADDR(2)     DMA_EOT/TC(3)   */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO6   EBC_CS_N(1)                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO7   EBC_CS_N(2)                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO8   EBC_CS_N(3)                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO9   EBC_CS_N(4)                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO10  EBC_CS_N(5)                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO11  EBC_BUS_ERR                     */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO12  ZII_p0Rxd(0)                    */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO13  ZII_p0Rxd(1)                    */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO14  ZII_p0Rxd(2)                    */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO15  ZII_p0Rxd(3)                    */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO16  ZII_p0Txd(0)                    */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO17  ZII_p0Txd(1)                    */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO18  ZII_p0Txd(2)                    */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO19  ZII_p0Txd(3)                    */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO20  ZII_p0Rx_er                     */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO21  ZII_p0Rx_dv                     */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO22  ZII_p0RxCrs                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO23  ZII_p0Tx_er                     */      \
+{GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO24  ZII_p0Tx_en                     */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO25  ZII_p0Col                       */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO26                  USB2D_RXVALID   */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO27  EXT_EBC_REQ     USB2D_RXERROR   */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO28                  USB2D_TXVALID   */      \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO29  EBC_EXT_HDLA    USB2D_PAD_SUSPNDM */    \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO30  EBC_EXT_ACK     USB2D_XCVRSELECT*/      \
+{GPIO0_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO31  EBC_EXR_BUSREQ  USB2D_TERMSELECT*/      \
 },                                                                                     \
 {                                                                                      \
 /* GPIO Core 1 */                                                                      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO32 USB2D_OPMODE0                   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO33 USB2D_OPMODE1                   */      \
-{ GPIO1_BASE, GPIO_OUT, GPIO_ALT3 }, /* GPIO34 UART0_DCD_N     UART1_DSR_CTS_N UART2_SOUT*/ \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT3 }, /* GPIO35 UART0_8PIN_DSR_N UART1_RTS_DTR_N UART2_SIN*/ \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO36 UART0_8PIN_CTS_N                UART3_SIN*/ \
-{ GPIO1_BASE, GPIO_OUT, GPIO_ALT1 }, /* GPIO37 UART0_RTS_N                     */      \
-{ GPIO1_BASE, GPIO_OUT, GPIO_ALT2 }, /* GPIO38 UART0_DTR_N     UART1_SOUT      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT2 }, /* GPIO39 UART0_RI_N      UART1_SIN       */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO40 UIC_IRQ(0)                      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO41 UIC_IRQ(1)                      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO42 UIC_IRQ(2)                      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO43 UIC_IRQ(3)                      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_ALT1 }, /* GPIO44 UIC_IRQ(4)      DMA_ACK(1)      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO45 UIC_IRQ(6)      DMA_EOT/TC(1)   */      \
-{ GPIO1_BASE, GPIO_BI,  GPIO_SEL },  /* GPIO46 UIC_IRQ(7)      DMA_REQ(0)      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO47 UIC_IRQ(8)      DMA_ACK(0)      */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO48 UIC_IRQ(9)      DMA_EOT/TC(0)   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO49  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO50  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO51  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO52  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO53  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO54  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO55  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO56  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO57  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO58  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO59  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO60  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO61  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO62  Unselect via TraceSelect Bit   */      \
-{ GPIO1_BASE, GPIO_IN,  GPIO_SEL },  /* GPIO63  Unselect via TraceSelect Bit   */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO32  USB2D_OPMODE0                   */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO33  USB2D_OPMODE1                   */      \
+{GPIO1_BASE, GPIO_OUT, GPIO_ALT3, GPIO_OUT_NO_CHG}, /* GPIO34  UART0_DCD_N     UART1_DSR_CTS_N UART2_SOUT*/ \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT3, GPIO_OUT_NO_CHG}, /* GPIO35  UART0_8PIN_DSR_N UART1_RTS_DTR_N UART2_SIN*/ \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO36  UART0_8PIN_CTS_N                UART3_SIN*/ \
+{GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO37  UART0_RTS_N                     */      \
+{GPIO1_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_NO_CHG}, /* GPIO38  UART0_DTR_N     UART1_SOUT      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT2, GPIO_OUT_NO_CHG}, /* GPIO39  UART0_RI_N      UART1_SIN       */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO40  UIC_IRQ(0)                      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO41  UIC_IRQ(1)                      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO42  UIC_IRQ(2)                      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO43  UIC_IRQ(3)                      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG}, /* GPIO44  UIC_IRQ(4)      DMA_ACK(1)      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO45  UIC_IRQ(6)      DMA_EOT/TC(1)   */      \
+{GPIO1_BASE, GPIO_BI,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO46  UIC_IRQ(7)      DMA_REQ(0)      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO47  UIC_IRQ(8)      DMA_ACK(0)      */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO48  UIC_IRQ(9)      DMA_EOT/TC(0)   */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO49  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO50  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO51  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO52  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO53  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO54  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO55  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO56  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO57  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO58  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO59  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO60  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO61  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO62  Unselect via TraceSelect Bit    */      \
+{GPIO1_BASE, GPIO_IN,  GPIO_SEL, GPIO_OUT_NO_CHG},  /* GPIO63  Unselect via TraceSelect Bit    */      \
 }                                                                                      \
 }