]> git.sur5r.net Git - u-boot/blobdiff - board/ti/ks2_evm/mux-k2g.h
ARM: k2g: Add pinmux support for K2G ICE evm
[u-boot] / board / ti / ks2_evm / mux-k2g.h
index 773f9b7f0cadc74e842b0c5c8df024490233db85..630103d0ff4fa8ff3c502147a1508e4832dc3c11 100644 (file)
 #include <asm/io.h>
 #include <asm/arch/mux-k2g.h>
 #include <asm/arch/hardware.h>
+#include "board.h"
+
+struct pin_cfg k2g_generic_pin_cfg[] = {
+       /* UART0 */
+       { 115,  MODE(0) },      /* SOC_UART0_RXD */
+       { 116,  MODE(0) },      /* SOC_UART0_TXD */
+
+       /* I2C 0 */
+       { 223,  MODE(0) },      /* SOC_I2C0_SCL */
+       { 224,  MODE(0) },      /* SOC_I2C0_SDA */
+
+       /* I2C 1 */
+       { 225,  MODE(0) },      /* SOC_I2C1_SCL */
+       { 226,  MODE(0) },      /* SOC_I2C1_SDA */
+       { MAX_PIN_N, }
+};
 
 struct pin_cfg k2g_evm_pin_cfg[] = {
        /* GPMC */
@@ -307,7 +323,34 @@ struct pin_cfg k2g_evm_pin_cfg[] = {
        { MAX_PIN_N, }
 };
 
+struct pin_cfg k2g_ice_evm_pin_cfg[] = {
+       /* MMC 1 */
+       { 63, MODE(0) | PIN_PTD },      /* MMC1_DAT3.MMC1_DAT3 */
+       { 64, MODE(0) | PIN_PTU },      /* MMC1_DAT2.MMC1_DAT2 */
+       { 65, MODE(0) | PIN_PTU },      /* MMC1_DAT1.MMC1_DAT1 */
+       { 66, MODE(0) | PIN_PTD },      /* MMC1_DAT0.MMC1_DAT0 */
+       { 67, MODE(0) | PIN_PTD },      /* MMC1_CLK.MMC1_CLK   */
+       { 68, MODE(0) | PIN_PTD },      /* MMC1_CMD.MMC1_CMD   */
+       { 69, MODE(3) | PIN_PTU },      /* MMC1_SDCD.GPIO0_69  */
+       { 70, MODE(0) | PIN_PTU },      /* MMC1_SDWP.MMC1_SDWP */
+       { 71, MODE(0) | PIN_PTD },      /* MMC1_POW.MMC1_POW   */
+
+       /* I2C 0 */
+       { 223,  MODE(0) },              /* SOC_I2C0_SCL */
+       { 224,  MODE(0) },              /* SOC_I2C0_SDA */
+       { MAX_PIN_N, }
+};
+
 void k2g_mux_config(void)
 {
-       configure_pin_mux(k2g_evm_pin_cfg);
+       if (!board_ti_was_eeprom_read()) {
+               configure_pin_mux(k2g_generic_pin_cfg);
+       } else if (board_is_k2g_gp()) {
+               configure_pin_mux(k2g_evm_pin_cfg);
+       } else if (board_is_k2g_ice()) {
+               configure_pin_mux(k2g_ice_evm_pin_cfg);
+       } else {
+               puts("Unknown board, cannot configure pinmux.");
+               hang();
+       }
 }