/* * Copyright (C) 2015 Pengutronix, Uwe Kleine-König * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ #include #include #include #include #include
#include "dtblint.h" #define IMX_NO_PAD_CTL 0x80000000 /* no pin config need */ #define IMX_PAD_SION 0x40000000 /* set SION */ #define IOMUXC_CONFIG_SION (1 << 4) struct padinfo { const char *padname; off_t swmux_regoffset; uint32_t swmux_reset_default; uint32_t swmux_writeable_mask; off_t swpad_regoffset; uint32_t swpad_reset_default; uint32_t swpad_writeable_mask; }; struct socinfo { const struct padinfo *padinfo; size_t size_padinfo; }; static const struct padinfo imx25_iomux_padinfo[] = { { .padname = "A10", .swmux_regoffset = 0x008, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, { .padname = "A13", .swmux_regoffset = 0x00c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x22c, .swpad_reset_default = 0x80, .swpad_writeable_mask = 0x80, }, { .padname = "A14", .swmux_regoffset = 0x010, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x230, .swpad_reset_default = 0x80, .swpad_writeable_mask = 0x80, }, { .padname = "A15", .swmux_regoffset = 0x014, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x234, .swpad_reset_default = 0x80, .swpad_writeable_mask = 0x80, }, { .padname = "A16", .swmux_regoffset = 0x018, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "A17", .swmux_regoffset = 0x01c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x238, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A18", .swmux_regoffset = 0x020, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x23c, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A19", .swmux_regoffset = 0x024, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x240, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A20", .swmux_regoffset = 0x028, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x244, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A21", .swmux_regoffset = 0x02c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x248, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A22", .swmux_regoffset = 0x030, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "A23", .swmux_regoffset = 0x034, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x24c, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A24", .swmux_regoffset = 0x038, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x250, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "A25", .swmux_regoffset = 0x03c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x254, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "EB0", .swmux_regoffset = 0x040, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x258, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "EB1", .swmux_regoffset = 0x044, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x25c, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "OE", .swmux_regoffset = 0x048, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x260, .swpad_reset_default = 0x00, .swpad_writeable_mask = 0x80, }, { .padname = "CS0", .swmux_regoffset = 0x04c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, { .padname = "CS1", .swmux_regoffset = 0x050, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, { .padname = "CS4", .swmux_regoffset = 0x054, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x264, .swpad_reset_default = 0x2001, .swpad_writeable_mask = 0x20b1, }, { .padname = "CS5", .swmux_regoffset = 0x058, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x268, .swpad_reset_default = 0x2001, .swpad_writeable_mask = 0x21b1, }, { .padname = "NF_CE0", .swmux_regoffset = 0x05c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x26c, .swpad_reset_default = 0x0001, .swpad_writeable_mask = 0x81, }, { .padname = "ECB", .swmux_regoffset = 0x060, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x270, .swpad_reset_default = 0x2e80, .swpad_writeable_mask = 0x2180, }, { .padname = "LBA", .swmux_regoffset = 0x064, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x274, .swpad_reset_default = 0x0000, .swpad_writeable_mask = 0x80, }, { .padname = "BCLK", .swmux_regoffset = 0x068, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, { .padname = "RW", .swmux_regoffset = 0x06c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x278, .swpad_reset_default = 0x0000, .swpad_writeable_mask = 0x80, }, { .padname = "NFWE_B", .swmux_regoffset = 0x070, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "NFRE_B", .swmux_regoffset = 0x074, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "NFALE", .swmux_regoffset = 0x078, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "NFCLE", .swmux_regoffset = 0x07c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "NFWP_B", .swmux_regoffset = 0x080, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "NFRB", .swmux_regoffset = 0x084, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x27c, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x80, }, { .padname = "D15", .swmux_regoffset = 0x088, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x280, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D14", .swmux_regoffset = 0x08c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x284, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D13", .swmux_regoffset = 0x090, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x288, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D12", .swmux_regoffset = 0x094, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x28c, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D11", .swmux_regoffset = 0x098, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x290, /* * specified as 0xa1 in IMX25RM; IMX25CEC says * "100 kOhm Pull-Up" which would correspond to 0xe1. */ .swpad_reset_default = 0x0021, .swpad_writeable_mask = 0x00f1, }, { .padname = "D10", .swmux_regoffset = 0x09c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x294, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D9", .swmux_regoffset = 0x0a0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x298, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x00f1, }, { .padname = "D8", .swmux_regoffset = 0x0a4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x29c, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "D7", .swmux_regoffset = 0x0a8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2a0, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D6", .swmux_regoffset = 0x0ac, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2a4, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D5", .swmux_regoffset = 0x0b0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2a8, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D4", .swmux_regoffset = 0x0b4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2ac, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D3", .swmux_regoffset = 0x0b8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2b0, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D2", .swmux_regoffset = 0x0bc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2b4, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "D1", .swmux_regoffset = 0x0c0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2b8, .swpad_reset_default = 0x0000, .swpad_writeable_mask = 0x0040, }, { .padname = "D0", .swmux_regoffset = 0x0c4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = 0x2bc, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x0040, }, { .padname = "LD0", .swmux_regoffset = 0x0c8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2c0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f0, }, { .padname = "LD1", .swmux_regoffset = 0x0cc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2c4, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f0, }, { .padname = "LD2", .swmux_regoffset = 0x0d0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2c8, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD3", .swmux_regoffset = 0x0d4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2cc, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f0, }, { .padname = "LD4", .swmux_regoffset = 0x0d8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2d0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD5", .swmux_regoffset = 0x0dc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2d4, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD6", .swmux_regoffset = 0x0e0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2d8, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD7", .swmux_regoffset = 0x0e4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2dc, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD8", .swmux_regoffset = 0x0e8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2e0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD9", .swmux_regoffset = 0x0ec, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2e4, .swpad_reset_default = 0x0160, .swpad_writeable_mask = 0x01f1, }, { .padname = "LD10", .swmux_regoffset = 0x0f0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2e8, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD11", .swmux_regoffset = 0x0f4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2ec, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "LD12", .swmux_regoffset = 0x0f8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2f0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f9, }, { .padname = "LD13", .swmux_regoffset = 0x0fc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2f4, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f9, }, { .padname = "LD14", .swmux_regoffset = 0x100, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2f8, .swpad_reset_default = 0x0020, .swpad_writeable_mask = 0x00b8, }, { .padname = "LD15", .swmux_regoffset = 0x104, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x2fc, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f8, }, { .padname = "HSYNC", .swmux_regoffset = 0x108, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x300, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f9, }, { .padname = "VSYNC", .swmux_regoffset = 0x10c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x304, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f9, }, { .padname = "LSCLK", .swmux_regoffset = 0x110, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x308, .swpad_reset_default = 0x0061, .swpad_writeable_mask = 0x00f1, }, { .padname = "OE_ACD", .swmux_regoffset = 0x114, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x30c, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "CONTRAST", .swmux_regoffset = 0x118, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x310, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f0, }, { .padname = "PWM", .swmux_regoffset = 0x11c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x314, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00f6, }, { .padname = "CSI_D2", .swmux_regoffset = 0x120, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x318, .swpad_reset_default = 0x00a1, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_D3", .swmux_regoffset = 0x124, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x31c, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_D4", .swmux_regoffset = 0x128, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x320, .swpad_reset_default = 0x01a1, .swpad_writeable_mask = 0x01f1, }, { .padname = "CSI_D5", .swmux_regoffset = 0x12c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x324, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_D6", .swmux_regoffset = 0x130, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x328, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f9, }, { .padname = "CSI_D7", .swmux_regoffset = 0x134, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x32c, .swpad_reset_default = 0x01a0, .swpad_writeable_mask = 0x01f9, }, { .padname = "CSI_D8", .swmux_regoffset = 0x138, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x330, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f9, }, { .padname = "CSI_D9", .swmux_regoffset = 0x13c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x334, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f9, }, { .padname = "CSI_MCLK", .swmux_regoffset = 0x140, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x338, .swpad_reset_default = 0x0061, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_VSYNC", .swmux_regoffset = 0x144, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x33c, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_HSYNC", .swmux_regoffset = 0x148, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x340, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSI_PIXCLK", .swmux_regoffset = 0x14c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x344, .swpad_reset_default = 0x01a0, .swpad_writeable_mask = 0x01f1, }, { .padname = "I2C1_CLK", .swmux_regoffset = 0x150, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x348, .swpad_reset_default = 0x00e8, .swpad_writeable_mask = 0x00be, }, { .padname = "I2C1_DAT", .swmux_regoffset = 0x154, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x34c, .swpad_reset_default = 0x00e8, .swpad_writeable_mask = 0x00be, }, { .padname = "CSPI1_MOSI", .swmux_regoffset = 0x158, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x350, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b1, }, { .padname = "CSPI1_MISO", .swmux_regoffset = 0x15c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x354, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00b1, }, { .padname = "CSPI1_SS0", .swmux_regoffset = 0x160, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x358, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00f1, }, { .padname = "CSPI1_SS1", .swmux_regoffset = 0x164, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x35c, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b9, }, { .padname = "CSPI1_SCLK", .swmux_regoffset = 0x168, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x360, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b1, }, { .padname = "CSPI1_RDY", .swmux_regoffset = 0x16c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x364, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b1, }, { .padname = "UART1_RXD", .swmux_regoffset = 0x170, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x368, .swpad_reset_default = 0x00a0, .swpad_writeable_mask = 0x00b0, }, { .padname = "UART1_TXD", .swmux_regoffset = 0x174, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x36c, .swpad_reset_default = 0x0020, .swpad_writeable_mask = 0x00b0, }, { .padname = "UART1_RTS", .swmux_regoffset = 0x178, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x370, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00f0, }, { .padname = "UART1_CTS", .swmux_regoffset = 0x17c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x374, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f0, }, { .padname = "UART2_RXD", .swmux_regoffset = 0x180, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x378, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00f0, }, { .padname = "UART2_TXD", .swmux_regoffset = 0x184, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x37c, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "UART2_RTS", .swmux_regoffset = 0x188, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x380, .swpad_reset_default = 0x00e1, .swpad_writeable_mask = 0x00f1, }, { .padname = "UART2_CTS", .swmux_regoffset = 0x18c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x384, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "SD1_CMD", .swmux_regoffset = 0x190, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x388, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x00f1, }, { .padname = "SD1_CLK", .swmux_regoffset = 0x194, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x38c, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x01f1, }, { .padname = "SD1_DATA0", .swmux_regoffset = 0x198, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x390, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x00f1, }, { .padname = "SD1_DATA1", .swmux_regoffset = 0x19c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x394, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x00f1, }, { .padname = "SD1_DATA2", .swmux_regoffset = 0x1a0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x398, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x00f1, }, { .padname = "SD1_DATA3", .swmux_regoffset = 0x1a4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x39c, .swpad_reset_default = 0x00d1, .swpad_writeable_mask = 0x00f1, }, { .padname = "KPP_ROW0", .swmux_regoffset = 0x1a8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a0, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b8, }, { .padname = "KPP_ROW1", .swmux_regoffset = 0x1ac, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a4, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00b8, }, { .padname = "KPP_ROW2", .swmux_regoffset = 0x1b0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a8, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00f8, }, { .padname = "KPP_ROW3", .swmux_regoffset = 0x1b4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3ac, .swpad_reset_default = 0x00e0, .swpad_writeable_mask = 0x00f8, }, { .padname = "KPP_COL0", .swmux_regoffset = 0x1b8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b0, .swpad_reset_default = 0x00a8, .swpad_writeable_mask = 0x00b8, }, { .padname = "KPP_COL1", .swmux_regoffset = 0x1bc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b4, .swpad_reset_default = 0x00a8, .swpad_writeable_mask = 0x00b8, }, { .padname = "KPP_COL2", .swmux_regoffset = 0x1c0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b8, .swpad_reset_default = 0x00a8, .swpad_writeable_mask = 0x00b8, }, { .padname = "KPP_COL3", .swmux_regoffset = 0x1c4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3bc, .swpad_reset_default = 0x00a8, .swpad_writeable_mask = 0x00b8, }, { .padname = "FEC_MDC", .swmux_regoffset = 0x1c8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "FEC_MDIO", .swmux_regoffset = 0x1cc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c4, .swpad_reset_default = 0x01f0, .swpad_writeable_mask = 0x01f1, }, { .padname = "FEC_TDATA0", .swmux_regoffset = 0x1d0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c8, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "FEC_TDATA1", .swmux_regoffset = 0x1d4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3cc, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f1, }, { .padname = "FEC_TX_EN", .swmux_regoffset = 0x1d8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d0, .swpad_reset_default = 0x0060, .swpad_writeable_mask = 0x00f9, }, { .padname = "FEC_RDATA0", .swmux_regoffset = 0x1dc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d4, .swpad_reset_default = 0x00c1, .swpad_writeable_mask = 0x00f9, }, { .padname = "FEC_RDATA1", .swmux_regoffset = 0x1e0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d8, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00f9, }, { .padname = "FEC_RX_DV", .swmux_regoffset = 0x1e4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3dc, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00f9, }, { .padname = "FEC_TX_CLK", .swmux_regoffset = 0x1e8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3e0, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x01f1, }, { .padname = "RTCK", .swmux_regoffset = 0x1ec, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3e4, .swpad_reset_default = 0x0062, .swpad_writeable_mask = 0x00ff, }, { .padname = "TDO", .swpad_regoffset = 0x3e8, .swpad_reset_default = 0x0002, .swpad_writeable_mask = 0x0006, }, { .padname = "DE_B", .swmux_regoffset = 0x1f0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3ec, .swpad_reset_default = 0x00d0, .swpad_writeable_mask = 0x0006, }, { .padname = "GPIO_A", .swmux_regoffset = 0x1f4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f0, /* IMX25CE: no configuration after reset */ .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00fe, }, { .padname = "GPIO_B", .swmux_regoffset = 0x1f8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f4, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00fe, }, { .padname = "GPIO_C", .swmux_regoffset = 0x1fc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f8, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00fe, }, { .padname = "GPIO_D", .swmux_regoffset = 0x200, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3fc, .swpad_reset_default = 0x0020, .swpad_writeable_mask = 0x00be, }, { .padname = "GPIO_E", .swmux_regoffset = 0x204, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x400, .swpad_reset_default = 0x00e8, .swpad_writeable_mask = 0x00be, }, { .padname = "GPIO_F", .swmux_regoffset = 0x208, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x404, .swpad_reset_default = 0x0020, .swpad_writeable_mask = 0x00b6, }, { .padname = "EXT_ARMCLK", .swmux_regoffset = 0x20c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "UPLL_BYPCLK", .swmux_regoffset = 0x210, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = -1, }, { .padname = "VSTBY_REQ", .swmux_regoffset = 0x214, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x408, .swpad_reset_default = 0x0000, .swpad_writeable_mask = 0x0086, }, { .padname = "VSTBY_ACK", .swmux_regoffset = 0x218, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x40c, .swpad_reset_default = 0x0080, .swpad_writeable_mask = 0x00b6, }, { .padname = "POWER_FAIL", .swmux_regoffset = 0x21c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x410, .swpad_reset_default = 0x00c0, .swpad_writeable_mask = 0x00b6, }, { .padname = "CLKO", .swmux_regoffset = 0x220, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x414, .swpad_reset_default = 0x0004, .swpad_writeable_mask = 0x0006, }, { .padname = "BOOT_MODE0", .swmux_regoffset = 0x224, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, { .padname = "BOOT_MODE1", .swmux_regoffset = 0x228, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000007, .swpad_regoffset = -1, }, }; static const struct socinfo imx25_socinfo = { .padinfo = imx25_iomux_padinfo, .size_padinfo = ARRAY_SIZE(imx25_iomux_padinfo), }; static const struct padinfo imx6q_iomux_padinfo[] = { { .padname = "SD2_DATA1", .swmux_regoffset = 0x04c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x360, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD2_DATA2", .swmux_regoffset = 0x050, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x364, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD2_DATA0", .swmux_regoffset = 0x054, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x368, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "RGMII_TXC", .swmux_regoffset = 0x058, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x36c, .swpad_reset_default = 0x00013030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_TD0", .swmux_regoffset = 0x05c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x370, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_TD1", .swmux_regoffset = 0x060, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x374, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_TD2", .swmux_regoffset = 0x064, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x378, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_TD3", .swmux_regoffset = 0x068, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x37c, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RX_CTL", .swmux_regoffset = 0x06c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x380, .swpad_reset_default = 0x00013030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RD0", .swmux_regoffset = 0x070, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x384, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_TX_CTL", .swmux_regoffset = 0x074, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x388, .swpad_reset_default = 0x00013030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RD1", .swmux_regoffset = 0x078, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x38c, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RD2", .swmux_regoffset = 0x07c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x390, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RD3", .swmux_regoffset = 0x080, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x394, .swpad_reset_default = 0x0001b030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "RGMII_RXC", .swmux_regoffset = 0x084, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x398, .swpad_reset_default = 0x00013030, .swpad_writeable_mask = 0x0001f038, }, { .padname = "EIM_ADDR25", .swmux_regoffset = 0x088, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x39c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_EB2_B", .swmux_regoffset = 0x08c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA16", .swmux_regoffset = 0x090, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA17", .swmux_regoffset = 0x094, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3a8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA18", .swmux_regoffset = 0x098, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3ac, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA19", .swmux_regoffset = 0x09c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA20", .swmux_regoffset = 0x0a0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA21", .swmux_regoffset = 0x0a4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3b8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA22", .swmux_regoffset = 0x0a8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3bc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA23", .swmux_regoffset = 0x0ac, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_EB3_B", .swmux_regoffset = 0x0b0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA24", .swmux_regoffset = 0x0b4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3c8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA25", .swmux_regoffset = 0x0b8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3cc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA26", .swmux_regoffset = 0x0bc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA27", .swmux_regoffset = 0x0c0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA28", .swmux_regoffset = 0x0c4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3d8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA29", .swmux_regoffset = 0x0c8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3dc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA30", .swmux_regoffset = 0x0cc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3e0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_DATA31", .swmux_regoffset = 0x0d0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3e4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR24", .swmux_regoffset = 0x0d4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3e8, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR23", .swmux_regoffset = 0x0d8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3ec, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR22", .swmux_regoffset = 0x0dc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f0, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR21", .swmux_regoffset = 0x0e0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f4, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR20", .swmux_regoffset = 0x0e4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3f8, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR19", .swmux_regoffset = 0x0e8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x3fc, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR18", .swmux_regoffset = 0x0ec, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x400, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR17", .swmux_regoffset = 0x0f0, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x404, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_ADDR16", .swmux_regoffset = 0x0f4, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x408, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_CS0_B", .swmux_regoffset = 0x0f8, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x40c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_CS1_B", .swmux_regoffset = 0x0fc, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x410, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_OE_B", .swmux_regoffset = 0x100, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x414, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_RW", .swmux_regoffset = 0x104, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x418, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_LBA_B", .swmux_regoffset = 0x108, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x41c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_EB0_B", .swmux_regoffset = 0x10c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x420, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_EB1_B", .swmux_regoffset = 0x110, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x424, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD00", .swmux_regoffset = 0x114, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x428, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD01", .swmux_regoffset = 0x118, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x42c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD02", .swmux_regoffset = 0x11c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x430, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD03", .swmux_regoffset = 0x120, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x434, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD04", .swmux_regoffset = 0x124, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x438, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD05", .swmux_regoffset = 0x128, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x43c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD06", .swmux_regoffset = 0x12c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x440, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD07", .swmux_regoffset = 0x130, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x444, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD08", .swmux_regoffset = 0x134, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x448, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD09", .swmux_regoffset = 0x138, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x44c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD10", .swmux_regoffset = 0x13c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x450, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD11", .swmux_regoffset = 0x140, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x454, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD12", .swmux_regoffset = 0x144, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x458, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD13", .swmux_regoffset = 0x148, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x45c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD14", .swmux_regoffset = 0x14c, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x460, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_AD15", .swmux_regoffset = 0x150, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x464, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_WAIT_B", .swmux_regoffset = 0x154, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x468, .swpad_reset_default = 0x0000b060, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "EIM_BCLK", .swmux_regoffset = 0x158, .swmux_reset_default = 0x00000000, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x46c, .swpad_reset_default = 0x0000b0b1, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DI0_DISP_CLK", .swmux_regoffset = 0x15c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x470, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DI0_PIN15", .swmux_regoffset = 0x160, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x474, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DI0_PIN02", .swmux_regoffset = 0x164, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x478, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DI0_PIN03", .swmux_regoffset = 0x168, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x47c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DI0_PIN04", .swmux_regoffset = 0x16c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x480, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA00", .swmux_regoffset = 0x170, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x484, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA01", .swmux_regoffset = 0x174, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x488, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA02", .swmux_regoffset = 0x178, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x48c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA03", .swmux_regoffset = 0x17c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x490, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA04", .swmux_regoffset = 0x180, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x494, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA05", .swmux_regoffset = 0x184, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x498, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA06", .swmux_regoffset = 0x188, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x49c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA07", .swmux_regoffset = 0x18c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4a0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA08", .swmux_regoffset = 0x190, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4a4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA09", .swmux_regoffset = 0x194, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4a8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA10", .swmux_regoffset = 0x198, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4ac, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA11", .swmux_regoffset = 0x19c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4b0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA12", .swmux_regoffset = 0x1a0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4b4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA13", .swmux_regoffset = 0x1a4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4b8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA14", .swmux_regoffset = 0x1a8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4bc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA15", .swmux_regoffset = 0x1ac, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4c0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA16", .swmux_regoffset = 0x1b0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4c4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA17", .swmux_regoffset = 0x1b4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4c8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA18", .swmux_regoffset = 0x1b8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4cc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA19", .swmux_regoffset = 0x1bc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4d0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA20", .swmux_regoffset = 0x1c0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4d4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA21", .swmux_regoffset = 0x1c4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4d8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA22", .swmux_regoffset = 0x1c8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4dc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "DISP0_DATA23", .swmux_regoffset = 0x1cc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4e0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_MDIO", .swmux_regoffset = 0x1d0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4e4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_REF_CLK", .swmux_regoffset = 0x1d4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4e8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_RX_ER", .swmux_regoffset = 0x1d8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4ec, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_CRS_DV", .swmux_regoffset = 0x1dc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4f0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_RX_DATA1", .swmux_regoffset = 0x1e0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4f4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_RX_DATA0", .swmux_regoffset = 0x1e4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4f8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_TX_EN", .swmux_regoffset = 0x1e8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x4fc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_TX_DATA1", .swmux_regoffset = 0x1ec, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x500, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_TX_DATA0", .swmux_regoffset = 0x1f0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x504, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "ENET_MDC", .swmux_regoffset = 0x1f4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x508, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_COL0", .swmux_regoffset = 0x1f8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5c8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_ROW0", .swmux_regoffset = 0x1fc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5cc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_COL1", .swmux_regoffset = 0x200, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5d0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_ROW1", .swmux_regoffset = 0x204, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5d4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_COL2", .swmux_regoffset = 0x208, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5d8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_ROW2", .swmux_regoffset = 0x20c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5dc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_COL3", .swmux_regoffset = 0x210, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5e0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_ROW3", .swmux_regoffset = 0x214, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5e4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_COL4", .swmux_regoffset = 0x218, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5e8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "KEY_ROW4", .swmux_regoffset = 0x21c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5ec, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO00", .swmux_regoffset = 0x220, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5f0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO01", .swmux_regoffset = 0x224, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5f4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO09", .swmux_regoffset = 0x228, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5f8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO03", .swmux_regoffset = 0x22c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x5fc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO06", .swmux_regoffset = 0x230, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x600, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO02", .swmux_regoffset = 0x234, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x604, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO04", .swmux_regoffset = 0x238, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x608, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO05", .swmux_regoffset = 0x23c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x60c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO07", .swmux_regoffset = 0x240, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x610, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO08", .swmux_regoffset = 0x244, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x614, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO16", .swmux_regoffset = 0x248, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x618, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO17", .swmux_regoffset = 0x24c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x61c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO18", .swmux_regoffset = 0x250, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x620, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "GPIO19", .swmux_regoffset = 0x254, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x624, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_PIXCLK", .swmux_regoffset = 0x258, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x628, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_HSYNC", .swmux_regoffset = 0x25c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x62c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA_EN", .swmux_regoffset = 0x260, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x630, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_VSYNC", .swmux_regoffset = 0x264, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x634, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA04", .swmux_regoffset = 0x268, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x638, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA05", .swmux_regoffset = 0x26c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x63c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA06", .swmux_regoffset = 0x270, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x640, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA07", .swmux_regoffset = 0x274, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x644, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA08", .swmux_regoffset = 0x278, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x648, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA9", .swmux_regoffset = 0x27c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x64c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA10", .swmux_regoffset = 0x280, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x650, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA11", .swmux_regoffset = 0x284, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x654, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA12", .swmux_regoffset = 0x288, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x658, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA13", .swmux_regoffset = 0x28c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x65c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA14", .swmux_regoffset = 0x290, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x660, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA15", .swmux_regoffset = 0x294, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x664, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA16", .swmux_regoffset = 0x298, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x668, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA17", .swmux_regoffset = 0x29c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x66c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA18", .swmux_regoffset = 0x2a0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x670, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "CSI0_DATA19", .swmux_regoffset = 0x2a4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x674, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "JTAG_TMS", .swpad_regoffset = 0x678, .swpad_reset_default = 0x00007060, .swpad_writeable_mask = 0x0001d000, /* XXX: there are more JTAG pads here with swpad only */ }, { .padname = "SD3_DATA7", .swmux_regoffset = 0x2a8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x690, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA6", .swmux_regoffset = 0x2ac, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x694, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA5", .swmux_regoffset = 0x2b0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x698, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA4", .swmux_regoffset = 0x2b4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x69c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_CMD", .swmux_regoffset = 0x2b8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6a0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_CLK", .swmux_regoffset = 0x2bc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6a4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA0", .swmux_regoffset = 0x2c0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6a8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA1", .swmux_regoffset = 0x2c4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6ac, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA2", .swmux_regoffset = 0x2c8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6b0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_DATA3", .swmux_regoffset = 0x2cc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6b4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD3_RESET", .swmux_regoffset = 0x2d0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6b8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_CLE", .swmux_regoffset = 0x2d4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6bc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_ALE", .swmux_regoffset = 0x2d8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6c0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_WP_B", .swmux_regoffset = 0x2dc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6c4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_READY_B", .swmux_regoffset = 0x2e0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6c8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_CS0_B", .swmux_regoffset = 0x2e4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6cc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_CS1_B", .swmux_regoffset = 0x2e8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6d0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_CS2_B", .swmux_regoffset = 0x2ec, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6d4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_CS3_B", .swmux_regoffset = 0x2f0, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6d8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_CMD", .swmux_regoffset = 0x2f4, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6dc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_CLK", .swmux_regoffset = 0x2f8, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6e0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA00", .swmux_regoffset = 0x2fc, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6e4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA01", .swmux_regoffset = 0x300, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6e8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA02", .swmux_regoffset = 0x304, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6ec, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA03", .swmux_regoffset = 0x308, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6f0, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA04", .swmux_regoffset = 0x30c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6f4, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA05", .swmux_regoffset = 0x310, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6f8, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA06", .swmux_regoffset = 0x314, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x6fc, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "NAND_DATA07", .swmux_regoffset = 0x318, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x700, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA0", .swmux_regoffset = 0x31c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x704, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA1", .swmux_regoffset = 0x320, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x708, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA2", .swmux_regoffset = 0x324, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x70c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA3", .swmux_regoffset = 0x328, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x710, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA4", .swmux_regoffset = 0x32c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x714, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA5", .swmux_regoffset = 0x330, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x718, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA6", .swmux_regoffset = 0x334, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x71c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD4_DATA7", .swmux_regoffset = 0x338, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x720, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_DATA1", .swmux_regoffset = 0x33c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x724, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_DATA0", .swmux_regoffset = 0x340, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x728, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_DATA3", .swmux_regoffset = 0x344, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x72c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_CMD", .swmux_regoffset = 0x348, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x730, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_DATA2", .swmux_regoffset = 0x34c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x734, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD1_CLK", .swmux_regoffset = 0x350, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x738, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD2_CLK", .swmux_regoffset = 0x354, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x73c, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD2_CMD", .swmux_regoffset = 0x358, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x740, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, }, { .padname = "SD2_DATA3", .swmux_regoffset = 0x35c, .swmux_reset_default = 0x00000005, .swmux_writeable_mask = 0x00000017, .swpad_regoffset = 0x744, .swpad_reset_default = 0x0001b0b0, .swpad_writeable_mask = 0x0001f8f9, } }; static const struct socinfo imx6q_socinfo = { .padinfo = imx6q_iomux_padinfo, .size_padinfo = ARRAY_SIZE(imx6q_iomux_padinfo), }; static const struct padinfo *find_padinfo(off_t swmux_regoffset, const struct socinfo *socinfo) { size_t i; for (i = 0; i < socinfo->size_padinfo; ++i) { if (socinfo->padinfo[i].swmux_regoffset == swmux_regoffset) return &socinfo->padinfo[i]; } return NULL; } static int parse_function(struct device_node *funcnode, const struct socinfo *socinfo) { const __be32 *list; int size, i; list = of_get_property(funcnode, "fsl,pins", &size); if (!list) { fprintf(stderr, "no fsl,pins property in node %s\n", funcnode->full_name); return -EINVAL; } if (!size || size % 24) { fprintf(stderr, "fsl,pins invalid in node %s\n", funcnode->full_name); return -EINVAL; } for (i = 0; i < size / 24; ++i) { uint32_t mux_reg = be32_to_cpu(*list++); off_t conf_reg; uint32_t mux_mode; uint32_t input_reg; uint32_t input_val; uint32_t config; const struct padinfo *padinfo; conf_reg = be32_to_cpu(*list++); if (!conf_reg) conf_reg = -1; input_reg = be32_to_cpu(*list++); (void)input_reg; mux_mode = be32_to_cpu(*list++); input_val = be32_to_cpu(*list++); (void)input_val; config = be32_to_cpu(*list++); if (config & IMX_PAD_SION) mux_mode |= IOMUXC_CONFIG_SION; config = config & ~IMX_PAD_SION; /* sanity checks */ padinfo = find_padinfo(mux_reg, socinfo); if (!padinfo) { fprintf(stderr, "unknown pad (muxreg: %lx)\n", (unsigned long)mux_reg); continue; } if (conf_reg != padinfo->swpad_regoffset) printf("E: wrong offset for SW_PAD register (%s)\n", padinfo->padname); if (conf_reg == -1) { if (config != 0x80000000) printf("E: config value without config register (%s)\n", padinfo->padname); } else { if (config == 0x80000000) { printf("S: explicitly use 0x%08x as config value for %s\n", padinfo->swpad_reset_default & padinfo->swpad_writeable_mask, padinfo->padname); } else if (config & ~padinfo->swpad_writeable_mask) { printf("E: config value specified for reserved bit (%s, %" PRIx32 ")\n", padinfo->padname, config & ~padinfo->swpad_writeable_mask); } } } return 0; } struct iomux_id_t { const char *compatible; const struct socinfo *socinfo; }; static const struct iomux_id_t iomux_id[] = { { .compatible = "fsl,imx25-iomuxc", .socinfo = &imx25_socinfo, }, { .compatible = "fsl,imx6q-iomuxc", .socinfo = &imx6q_socinfo, } }; void dtblint_imx_pinmux(void) { struct device_node *np; size_t i; for (i = 0; i < ARRAY_SIZE(iomux_id); ++i) { for_each_compatible_node(np, NULL, iomux_id[i].compatible) { struct device_node *npc; pr_debug("Found iomuxc %s\n", np->full_name); for_each_child_of_node(np, npc) { if (of_property_read_bool(npc, "fsl,pins")) { pr_debug("Found function node %s\n", npc->full_name); parse_function(npc, iomux_id[i].socinfo); } else { struct device_node *npcc; for_each_child_of_node(npc, npcc) parse_function(npcc, iomux_id[i].socinfo); } } } } }