18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2017 Sanechips Technology Co., Ltd. 48c2ecf20Sopenharmony_ci * Copyright 2017 Linaro Ltd. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/module.h> 88c2ecf20Sopenharmony_ci#include <linux/of.h> 98c2ecf20Sopenharmony_ci#include <linux/of_address.h> 108c2ecf20Sopenharmony_ci#include <linux/of_device.h> 118c2ecf20Sopenharmony_ci#include <linux/pinctrl/pinctrl.h> 128c2ecf20Sopenharmony_ci#include <linux/platform_device.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#include "pinctrl-zx.h" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#define TOP_REG0 0x00 178c2ecf20Sopenharmony_ci#define TOP_REG1 0x04 188c2ecf20Sopenharmony_ci#define TOP_REG2 0x08 198c2ecf20Sopenharmony_ci#define TOP_REG3 0x0c 208c2ecf20Sopenharmony_ci#define TOP_REG4 0x10 218c2ecf20Sopenharmony_ci#define TOP_REG5 0x14 228c2ecf20Sopenharmony_ci#define TOP_REG6 0x18 238c2ecf20Sopenharmony_ci#define TOP_REG7 0x1c 248c2ecf20Sopenharmony_ci#define TOP_REG8 0x20 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci/* 278c2ecf20Sopenharmony_ci * The pin numbering starts from AON pins with reserved ones included, 288c2ecf20Sopenharmony_ci * so that register data like offset and bit position for AON pins can 298c2ecf20Sopenharmony_ci * be calculated from pin number. 308c2ecf20Sopenharmony_ci */ 318c2ecf20Sopenharmony_cienum zx296718_pin { 328c2ecf20Sopenharmony_ci /* aon_pmm_reg_0 */ 338c2ecf20Sopenharmony_ci I2C3_SCL = 0, 348c2ecf20Sopenharmony_ci I2C3_SDA = 1, 358c2ecf20Sopenharmony_ci AON_RESERVED0 = 2, 368c2ecf20Sopenharmony_ci AON_RESERVED1 = 3, 378c2ecf20Sopenharmony_ci SEC_EN = 4, 388c2ecf20Sopenharmony_ci UART0_RXD = 5, 398c2ecf20Sopenharmony_ci UART0_TXD = 6, 408c2ecf20Sopenharmony_ci IR_IN = 7, 418c2ecf20Sopenharmony_ci SPI0_CLK = 8, 428c2ecf20Sopenharmony_ci SPI0_CS = 9, 438c2ecf20Sopenharmony_ci SPI0_TXD = 10, 448c2ecf20Sopenharmony_ci SPI0_RXD = 11, 458c2ecf20Sopenharmony_ci KEY_COL0 = 12, 468c2ecf20Sopenharmony_ci KEY_COL1 = 13, 478c2ecf20Sopenharmony_ci KEY_COL2 = 14, 488c2ecf20Sopenharmony_ci KEY_ROW0 = 15, 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci /* aon_pmm_reg_1 */ 518c2ecf20Sopenharmony_ci KEY_ROW1 = 16, 528c2ecf20Sopenharmony_ci KEY_ROW2 = 17, 538c2ecf20Sopenharmony_ci HDMI_SCL = 18, 548c2ecf20Sopenharmony_ci HDMI_SDA = 19, 558c2ecf20Sopenharmony_ci JTAG_TCK = 20, 568c2ecf20Sopenharmony_ci JTAG_TRSTN = 21, 578c2ecf20Sopenharmony_ci JTAG_TMS = 22, 588c2ecf20Sopenharmony_ci JTAG_TDI = 23, 598c2ecf20Sopenharmony_ci JTAG_TDO = 24, 608c2ecf20Sopenharmony_ci I2C0_SCL = 25, 618c2ecf20Sopenharmony_ci I2C0_SDA = 26, 628c2ecf20Sopenharmony_ci I2C1_SCL = 27, 638c2ecf20Sopenharmony_ci I2C1_SDA = 28, 648c2ecf20Sopenharmony_ci AON_RESERVED2 = 29, 658c2ecf20Sopenharmony_ci AON_RESERVED3 = 30, 668c2ecf20Sopenharmony_ci AON_RESERVED4 = 31, 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci /* aon_pmm_reg_2 */ 698c2ecf20Sopenharmony_ci SPI1_CLK = 32, 708c2ecf20Sopenharmony_ci SPI1_CS = 33, 718c2ecf20Sopenharmony_ci SPI1_TXD = 34, 728c2ecf20Sopenharmony_ci SPI1_RXD = 35, 738c2ecf20Sopenharmony_ci AON_RESERVED5 = 36, 748c2ecf20Sopenharmony_ci AON_RESERVED6 = 37, 758c2ecf20Sopenharmony_ci AUDIO_DET = 38, 768c2ecf20Sopenharmony_ci SPDIF_OUT = 39, 778c2ecf20Sopenharmony_ci HDMI_CEC = 40, 788c2ecf20Sopenharmony_ci HDMI_HPD = 41, 798c2ecf20Sopenharmony_ci GMAC_25M_OUT = 42, 808c2ecf20Sopenharmony_ci BOOT_SEL0 = 43, 818c2ecf20Sopenharmony_ci BOOT_SEL1 = 44, 828c2ecf20Sopenharmony_ci BOOT_SEL2 = 45, 838c2ecf20Sopenharmony_ci DEEP_SLEEP_OUT_N = 46, 848c2ecf20Sopenharmony_ci AON_RESERVED7 = 47, 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci /* top_pmm_reg_0 */ 878c2ecf20Sopenharmony_ci GMII_GTX_CLK = 48, 888c2ecf20Sopenharmony_ci GMII_TX_CLK = 49, 898c2ecf20Sopenharmony_ci GMII_TXD0 = 50, 908c2ecf20Sopenharmony_ci GMII_TXD1 = 51, 918c2ecf20Sopenharmony_ci GMII_TXD2 = 52, 928c2ecf20Sopenharmony_ci GMII_TXD3 = 53, 938c2ecf20Sopenharmony_ci GMII_TXD4 = 54, 948c2ecf20Sopenharmony_ci GMII_TXD5 = 55, 958c2ecf20Sopenharmony_ci GMII_TXD6 = 56, 968c2ecf20Sopenharmony_ci GMII_TXD7 = 57, 978c2ecf20Sopenharmony_ci GMII_TX_ER = 58, 988c2ecf20Sopenharmony_ci GMII_TX_EN = 59, 998c2ecf20Sopenharmony_ci GMII_RX_CLK = 60, 1008c2ecf20Sopenharmony_ci GMII_RXD0 = 61, 1018c2ecf20Sopenharmony_ci GMII_RXD1 = 62, 1028c2ecf20Sopenharmony_ci GMII_RXD2 = 63, 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci /* top_pmm_reg_1 */ 1058c2ecf20Sopenharmony_ci GMII_RXD3 = 64, 1068c2ecf20Sopenharmony_ci GMII_RXD4 = 65, 1078c2ecf20Sopenharmony_ci GMII_RXD5 = 66, 1088c2ecf20Sopenharmony_ci GMII_RXD6 = 67, 1098c2ecf20Sopenharmony_ci GMII_RXD7 = 68, 1108c2ecf20Sopenharmony_ci GMII_RX_ER = 69, 1118c2ecf20Sopenharmony_ci GMII_RX_DV = 70, 1128c2ecf20Sopenharmony_ci GMII_COL = 71, 1138c2ecf20Sopenharmony_ci GMII_CRS = 72, 1148c2ecf20Sopenharmony_ci GMII_MDC = 73, 1158c2ecf20Sopenharmony_ci GMII_MDIO = 74, 1168c2ecf20Sopenharmony_ci SDIO1_CLK = 75, 1178c2ecf20Sopenharmony_ci SDIO1_CMD = 76, 1188c2ecf20Sopenharmony_ci SDIO1_DATA0 = 77, 1198c2ecf20Sopenharmony_ci SDIO1_DATA1 = 78, 1208c2ecf20Sopenharmony_ci SDIO1_DATA2 = 79, 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci /* top_pmm_reg_2 */ 1238c2ecf20Sopenharmony_ci SDIO1_DATA3 = 80, 1248c2ecf20Sopenharmony_ci SDIO1_CD = 81, 1258c2ecf20Sopenharmony_ci SDIO1_WP = 82, 1268c2ecf20Sopenharmony_ci USIM1_CD = 83, 1278c2ecf20Sopenharmony_ci USIM1_CLK = 84, 1288c2ecf20Sopenharmony_ci USIM1_RST = 85, 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci /* top_pmm_reg_3 */ 1318c2ecf20Sopenharmony_ci USIM1_DATA = 86, 1328c2ecf20Sopenharmony_ci SDIO0_CLK = 87, 1338c2ecf20Sopenharmony_ci SDIO0_CMD = 88, 1348c2ecf20Sopenharmony_ci SDIO0_DATA0 = 89, 1358c2ecf20Sopenharmony_ci SDIO0_DATA1 = 90, 1368c2ecf20Sopenharmony_ci SDIO0_DATA2 = 91, 1378c2ecf20Sopenharmony_ci SDIO0_DATA3 = 92, 1388c2ecf20Sopenharmony_ci SDIO0_CD = 93, 1398c2ecf20Sopenharmony_ci SDIO0_WP = 94, 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci /* top_pmm_reg_4 */ 1428c2ecf20Sopenharmony_ci TSI0_DATA0 = 95, 1438c2ecf20Sopenharmony_ci SPINOR_CLK = 96, 1448c2ecf20Sopenharmony_ci TSI2_DATA = 97, 1458c2ecf20Sopenharmony_ci TSI2_CLK = 98, 1468c2ecf20Sopenharmony_ci TSI2_SYNC = 99, 1478c2ecf20Sopenharmony_ci TSI2_VALID = 100, 1488c2ecf20Sopenharmony_ci SPINOR_CS = 101, 1498c2ecf20Sopenharmony_ci SPINOR_DQ0 = 102, 1508c2ecf20Sopenharmony_ci SPINOR_DQ1 = 103, 1518c2ecf20Sopenharmony_ci SPINOR_DQ2 = 104, 1528c2ecf20Sopenharmony_ci SPINOR_DQ3 = 105, 1538c2ecf20Sopenharmony_ci VGA_HS = 106, 1548c2ecf20Sopenharmony_ci VGA_VS = 107, 1558c2ecf20Sopenharmony_ci TSI3_DATA = 108, 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci /* top_pmm_reg_5 */ 1588c2ecf20Sopenharmony_ci TSI3_CLK = 109, 1598c2ecf20Sopenharmony_ci TSI3_SYNC = 110, 1608c2ecf20Sopenharmony_ci TSI3_VALID = 111, 1618c2ecf20Sopenharmony_ci I2S1_WS = 112, 1628c2ecf20Sopenharmony_ci I2S1_BCLK = 113, 1638c2ecf20Sopenharmony_ci I2S1_MCLK = 114, 1648c2ecf20Sopenharmony_ci I2S1_DIN0 = 115, 1658c2ecf20Sopenharmony_ci I2S1_DOUT0 = 116, 1668c2ecf20Sopenharmony_ci SPI3_CLK = 117, 1678c2ecf20Sopenharmony_ci SPI3_CS = 118, 1688c2ecf20Sopenharmony_ci SPI3_TXD = 119, 1698c2ecf20Sopenharmony_ci NAND_LDO_MS18_SEL = 120, 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci /* top_pmm_reg_6 */ 1728c2ecf20Sopenharmony_ci SPI3_RXD = 121, 1738c2ecf20Sopenharmony_ci I2S0_MCLK = 122, 1748c2ecf20Sopenharmony_ci I2S0_BCLK = 123, 1758c2ecf20Sopenharmony_ci I2S0_WS = 124, 1768c2ecf20Sopenharmony_ci I2S0_DIN0 = 125, 1778c2ecf20Sopenharmony_ci I2S0_DOUT0 = 126, 1788c2ecf20Sopenharmony_ci I2C5_SCL = 127, 1798c2ecf20Sopenharmony_ci I2C5_SDA = 128, 1808c2ecf20Sopenharmony_ci SPI2_CLK = 129, 1818c2ecf20Sopenharmony_ci SPI2_CS = 130, 1828c2ecf20Sopenharmony_ci SPI2_TXD = 131, 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci /* top_pmm_reg_7 */ 1858c2ecf20Sopenharmony_ci SPI2_RXD = 132, 1868c2ecf20Sopenharmony_ci NAND_WP_N = 133, 1878c2ecf20Sopenharmony_ci NAND_PAGE_SIZE0 = 134, 1888c2ecf20Sopenharmony_ci NAND_PAGE_SIZE1 = 135, 1898c2ecf20Sopenharmony_ci NAND_ADDR_CYCLE = 136, 1908c2ecf20Sopenharmony_ci NAND_RB0 = 137, 1918c2ecf20Sopenharmony_ci NAND_RB1 = 138, 1928c2ecf20Sopenharmony_ci NAND_RB2 = 139, 1938c2ecf20Sopenharmony_ci NAND_RB3 = 140, 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci /* top_pmm_reg_8 */ 1968c2ecf20Sopenharmony_ci GMAC_125M_IN = 141, 1978c2ecf20Sopenharmony_ci GMAC_50M_OUT = 142, 1988c2ecf20Sopenharmony_ci SPINOR_SSCLK_LOOPBACK = 143, 1998c2ecf20Sopenharmony_ci SPINOR_SDIO1CLK_LOOPBACK = 144, 2008c2ecf20Sopenharmony_ci}; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_cistatic const struct pinctrl_pin_desc zx296718_pins[] = { 2038c2ecf20Sopenharmony_ci /* aon_pmm_reg_0 */ 2048c2ecf20Sopenharmony_ci AON_PIN(I2C3_SCL, TOP_REG2, 18, 2, 0x48, 0, 2058c2ecf20Sopenharmony_ci AON_MUX(0x0, "ANMI"), /* anmi */ 2068c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio29 */ 2078c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin0 */ 2088c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int4 */ 2098c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2C3"), /* scl */ 2108c2ecf20Sopenharmony_ci TOP_MUX(0x1, "SPI2"), /* txd */ 2118c2ecf20Sopenharmony_ci TOP_MUX(0x2, "I2S1")), /* din0 */ 2128c2ecf20Sopenharmony_ci AON_PIN(I2C3_SDA, TOP_REG2, 20, 2, 0x48, 9, 2138c2ecf20Sopenharmony_ci AON_MUX(0x0, "WD"), /* rst_b */ 2148c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio30 */ 2158c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin1 */ 2168c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int5 */ 2178c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2C3"), /* sda */ 2188c2ecf20Sopenharmony_ci TOP_MUX(0x1, "SPI2"), /* rxd */ 2198c2ecf20Sopenharmony_ci TOP_MUX(0x2, "I2S0")), /* mclk */ 2208c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED0), 2218c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED1), 2228c2ecf20Sopenharmony_ci AON_PIN(SEC_EN, TOP_REG3, 5, 1, 0x50, 0, 2238c2ecf20Sopenharmony_ci AON_MUX(0x0, "SEC"), /* en */ 2248c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio28 */ 2258c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin3 */ 2268c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int7 */ 2278c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2C2"), /* sda */ 2288c2ecf20Sopenharmony_ci TOP_MUX(0x1, "SPI2")), /* cs */ 2298c2ecf20Sopenharmony_ci AON_PIN(UART0_RXD, 0, 0, 0, 0x50, 9, 2308c2ecf20Sopenharmony_ci AON_MUX(0x0, "UART0"), /* rxd */ 2318c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio20 */ 2328c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin34 */ 2338c2ecf20Sopenharmony_ci AON_PIN(UART0_TXD, 0, 0, 0, 0x50, 18, 2348c2ecf20Sopenharmony_ci AON_MUX(0x0, "UART0"), /* txd */ 2358c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio21 */ 2368c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin32 */ 2378c2ecf20Sopenharmony_ci AON_PIN(IR_IN, 0, 0, 0, 0x64, 0, 2388c2ecf20Sopenharmony_ci AON_MUX(0x0, "IR"), /* in */ 2398c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio0 */ 2408c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin27 */ 2418c2ecf20Sopenharmony_ci AON_PIN(SPI0_CLK, TOP_REG3, 16, 1, 0x64, 9, 2428c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int0 */ 2438c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio23 */ 2448c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin5 */ 2458c2ecf20Sopenharmony_ci AON_MUX(0x3, "PCU"), /* test6 */ 2468c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI0"), /* clk */ 2478c2ecf20Sopenharmony_ci TOP_MUX(0x1, "ISP")), /* flash_trig */ 2488c2ecf20Sopenharmony_ci AON_PIN(SPI0_CS, TOP_REG3, 17, 1, 0x64, 18, 2498c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int1 */ 2508c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio24 */ 2518c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin6 */ 2528c2ecf20Sopenharmony_ci AON_MUX(0x3, "PCU"), /* test0 */ 2538c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI0"), /* cs */ 2548c2ecf20Sopenharmony_ci TOP_MUX(0x1, "ISP")), /* prelight_trig */ 2558c2ecf20Sopenharmony_ci AON_PIN(SPI0_TXD, TOP_REG3, 18, 1, 0x68, 0, 2568c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int2 */ 2578c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio25 */ 2588c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin7 */ 2598c2ecf20Sopenharmony_ci AON_MUX(0x3, "PCU"), /* test1 */ 2608c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI0"), /* txd */ 2618c2ecf20Sopenharmony_ci TOP_MUX(0x1, "ISP")), /* shutter_trig */ 2628c2ecf20Sopenharmony_ci AON_PIN(SPI0_RXD, TOP_REG3, 19, 1, 0x68, 9, 2638c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int3 */ 2648c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio26 */ 2658c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin8 */ 2668c2ecf20Sopenharmony_ci AON_MUX(0x3, "PCU"), /* test2 */ 2678c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI0"), /* rxd */ 2688c2ecf20Sopenharmony_ci TOP_MUX(0x1, "ISP")), /* shutter_open */ 2698c2ecf20Sopenharmony_ci AON_PIN(KEY_COL0, TOP_REG3, 20, 1, 0x68, 18, 2708c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* col0 */ 2718c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio5 */ 2728c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin9 */ 2738c2ecf20Sopenharmony_ci AON_MUX(0x3, "PCU"), /* test3 */ 2748c2ecf20Sopenharmony_ci TOP_MUX(0x0, "UART3"), /* rxd */ 2758c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2S0")), /* din1 */ 2768c2ecf20Sopenharmony_ci AON_PIN(KEY_COL1, TOP_REG3, 21, 2, 0x6c, 0, 2778c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* col1 */ 2788c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio6 */ 2798c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin10 */ 2808c2ecf20Sopenharmony_ci TOP_MUX(0x0, "UART3"), /* txd */ 2818c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2S0"), /* din2 */ 2828c2ecf20Sopenharmony_ci TOP_MUX(0x2, "VGA")), /* scl */ 2838c2ecf20Sopenharmony_ci AON_PIN(KEY_COL2, TOP_REG3, 23, 2, 0x6c, 9, 2848c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* col2 */ 2858c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio7 */ 2868c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin11 */ 2878c2ecf20Sopenharmony_ci TOP_MUX(0x0, "PWM"), /* out1 */ 2888c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2S0"), /* din3 */ 2898c2ecf20Sopenharmony_ci TOP_MUX(0x2, "VGA")), /* sda */ 2908c2ecf20Sopenharmony_ci AON_PIN(KEY_ROW0, 0, 0, 0, 0x6c, 18, 2918c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* row0 */ 2928c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio8 */ 2938c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin33 */ 2948c2ecf20Sopenharmony_ci AON_MUX(0x3, "WD")), /* rst_b */ 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ci /* aon_pmm_reg_1 */ 2978c2ecf20Sopenharmony_ci AON_PIN(KEY_ROW1, TOP_REG3, 25, 2, 0x70, 0, 2988c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* row1 */ 2998c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio9 */ 3008c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin12 */ 3018c2ecf20Sopenharmony_ci TOP_MUX(0x0, "LCD"), /* port0 lcd_te */ 3028c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2S0"), /* dout2 */ 3038c2ecf20Sopenharmony_ci TOP_MUX(0x2, "PWM"), /* out2 */ 3048c2ecf20Sopenharmony_ci TOP_MUX(0x3, "VGA")), /* hs1 */ 3058c2ecf20Sopenharmony_ci AON_PIN(KEY_ROW2, TOP_REG3, 27, 2, 0x70, 9, 3068c2ecf20Sopenharmony_ci AON_MUX(0x0, "KEY"), /* row2 */ 3078c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio10 */ 3088c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin13 */ 3098c2ecf20Sopenharmony_ci TOP_MUX(0x0, "LCD"), /* port1 lcd_te */ 3108c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2S0"), /* dout3 */ 3118c2ecf20Sopenharmony_ci TOP_MUX(0x2, "PWM"), /* out3 */ 3128c2ecf20Sopenharmony_ci TOP_MUX(0x3, "VGA")), /* vs1 */ 3138c2ecf20Sopenharmony_ci AON_PIN(HDMI_SCL, TOP_REG3, 29, 1, 0x70, 18, 3148c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test7 */ 3158c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio3 */ 3168c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin14 */ 3178c2ecf20Sopenharmony_ci TOP_MUX(0x0, "HDMI"), /* scl */ 3188c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART3")), /* rxd */ 3198c2ecf20Sopenharmony_ci AON_PIN(HDMI_SDA, TOP_REG3, 30, 1, 0x74, 0, 3208c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test8 */ 3218c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio4 */ 3228c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin15 */ 3238c2ecf20Sopenharmony_ci TOP_MUX(0x0, "HDMI"), /* sda */ 3248c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART3")), /* txd */ 3258c2ecf20Sopenharmony_ci AON_PIN(JTAG_TCK, TOP_REG7, 3, 1, 0x78, 18, 3268c2ecf20Sopenharmony_ci AON_MUX(0x0, "JTAG"), /* tck */ 3278c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio11 */ 3288c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin22 */ 3298c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int4 */ 3308c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI4"), /* clk */ 3318c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART1")), /* rxd */ 3328c2ecf20Sopenharmony_ci AON_PIN(JTAG_TRSTN, TOP_REG7, 4, 1, 0xac, 0, 3338c2ecf20Sopenharmony_ci AON_MUX(0x0, "JTAG"), /* trstn */ 3348c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio12 */ 3358c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin23 */ 3368c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int5 */ 3378c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI4"), /* cs */ 3388c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART1")), /* txd */ 3398c2ecf20Sopenharmony_ci AON_PIN(JTAG_TMS, TOP_REG7, 5, 1, 0xac, 9, 3408c2ecf20Sopenharmony_ci AON_MUX(0x0, "JTAG"), /* tms */ 3418c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio13 */ 3428c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin24 */ 3438c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int6 */ 3448c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI4"), /* txd */ 3458c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART2")), /* rxd */ 3468c2ecf20Sopenharmony_ci AON_PIN(JTAG_TDI, TOP_REG7, 6, 1, 0xac, 18, 3478c2ecf20Sopenharmony_ci AON_MUX(0x0, "JTAG"), /* tdi */ 3488c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio14 */ 3498c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin25 */ 3508c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int7 */ 3518c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI4"), /* rxd */ 3528c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART2")), /* txd */ 3538c2ecf20Sopenharmony_ci AON_PIN(JTAG_TDO, 0, 0, 0, 0xb0, 0, 3548c2ecf20Sopenharmony_ci AON_MUX(0x0, "JTAG"), /* tdo */ 3558c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio15 */ 3568c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin26 */ 3578c2ecf20Sopenharmony_ci AON_PIN(I2C0_SCL, 0, 0, 0, 0xb0, 9, 3588c2ecf20Sopenharmony_ci AON_MUX(0x0, "I2C0"), /* scl */ 3598c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio16 */ 3608c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin28 */ 3618c2ecf20Sopenharmony_ci AON_PIN(I2C0_SDA, 0, 0, 0, 0xb0, 18, 3628c2ecf20Sopenharmony_ci AON_MUX(0x0, "I2C0"), /* sda */ 3638c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio17 */ 3648c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin29 */ 3658c2ecf20Sopenharmony_ci AON_PIN(I2C1_SCL, TOP_REG8, 4, 1, 0xb4, 0, 3668c2ecf20Sopenharmony_ci AON_MUX(0x0, "I2C1"), /* scl */ 3678c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio18 */ 3688c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin30 */ 3698c2ecf20Sopenharmony_ci TOP_MUX(0x0, "LCD")), /* port0 lcd_te */ 3708c2ecf20Sopenharmony_ci AON_PIN(I2C1_SDA, TOP_REG8, 5, 1, 0xb4, 9, 3718c2ecf20Sopenharmony_ci AON_MUX(0x0, "I2C1"), /* sda */ 3728c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio19 */ 3738c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin31 */ 3748c2ecf20Sopenharmony_ci TOP_MUX(0x0, "LCD")), /* port1 lcd_te */ 3758c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED2), 3768c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED3), 3778c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED4), 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci /* aon_pmm_reg_2 */ 3808c2ecf20Sopenharmony_ci AON_PIN(SPI1_CLK, TOP_REG2, 6, 3, 0x40, 9, 3818c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int0 */ 3828c2ecf20Sopenharmony_ci AON_MUX(0x1, "PCU"), /* test12 */ 3838c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin39 */ 3848c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI1"), /* clk */ 3858c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PCM"), /* clk */ 3868c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio35 */ 3878c2ecf20Sopenharmony_ci TOP_MUX(0x3, "I2C4"), /* scl */ 3888c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* mclk */ 3898c2ecf20Sopenharmony_ci TOP_MUX(0x5, "ISP")), /* flash_trig */ 3908c2ecf20Sopenharmony_ci AON_PIN(SPI1_CS, TOP_REG2, 9, 3, 0x40, 18, 3918c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int1 */ 3928c2ecf20Sopenharmony_ci AON_MUX(0x1, "PCU"), /* test13 */ 3938c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin40 */ 3948c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI1"), /* cs */ 3958c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PCM"), /* fs */ 3968c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio36 */ 3978c2ecf20Sopenharmony_ci TOP_MUX(0x3, "I2C4"), /* sda */ 3988c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* bclk */ 3998c2ecf20Sopenharmony_ci TOP_MUX(0x5, "ISP")), /* prelight_trig */ 4008c2ecf20Sopenharmony_ci AON_PIN(SPI1_TXD, TOP_REG2, 12, 3, 0x44, 0, 4018c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int2 */ 4028c2ecf20Sopenharmony_ci AON_MUX(0x1, "PCU"), /* test14 */ 4038c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin41 */ 4048c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI1"), /* txd */ 4058c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PCM"), /* txd */ 4068c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio37 */ 4078c2ecf20Sopenharmony_ci TOP_MUX(0x3, "UART5"), /* rxd */ 4088c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* ws */ 4098c2ecf20Sopenharmony_ci TOP_MUX(0x5, "ISP")), /* shutter_trig */ 4108c2ecf20Sopenharmony_ci AON_PIN(SPI1_RXD, TOP_REG2, 15, 3, 0x44, 9, 4118c2ecf20Sopenharmony_ci AON_MUX(0x0, "EXT_INT"), /* int3 */ 4128c2ecf20Sopenharmony_ci AON_MUX(0x1, "PCU"), /* test15 */ 4138c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin42 */ 4148c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI1"), /* rxd */ 4158c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PCM"), /* rxd */ 4168c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio38 */ 4178c2ecf20Sopenharmony_ci TOP_MUX(0x3, "UART5"), /* txd */ 4188c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* dout0 */ 4198c2ecf20Sopenharmony_ci TOP_MUX(0x5, "ISP")), /* shutter_open */ 4208c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED5), 4218c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED6), 4228c2ecf20Sopenharmony_ci AON_PIN(AUDIO_DET, TOP_REG3, 3, 2, 0x48, 18, 4238c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test4 */ 4248c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio27 */ 4258c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin2 */ 4268c2ecf20Sopenharmony_ci AON_MUX(0x3, "EXT_INT"), /* int16 */ 4278c2ecf20Sopenharmony_ci TOP_MUX(0x0, "AUDIO"), /* detect */ 4288c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2C2"), /* scl */ 4298c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPI2")), /* clk */ 4308c2ecf20Sopenharmony_ci AON_PIN(SPDIF_OUT, TOP_REG3, 14, 2, 0x78, 9, 4318c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test5 */ 4328c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio22 */ 4338c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON"), /* pin4 */ 4348c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPDIF"), /* out */ 4358c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PWM"), /* out0 */ 4368c2ecf20Sopenharmony_ci TOP_MUX(0x2, "ISP")), /* fl_trig */ 4378c2ecf20Sopenharmony_ci AON_PIN(HDMI_CEC, 0, 0, 0, 0x74, 9, 4388c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test9 */ 4398c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio1 */ 4408c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin16 */ 4418c2ecf20Sopenharmony_ci AON_PIN(HDMI_HPD, 0, 0, 0, 0x74, 18, 4428c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test10 */ 4438c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio2 */ 4448c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin17 */ 4458c2ecf20Sopenharmony_ci AON_PIN(GMAC_25M_OUT, 0, 0, 0, 0x78, 0, 4468c2ecf20Sopenharmony_ci AON_MUX(0x0, "PCU"), /* test11 */ 4478c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio31 */ 4488c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin43 */ 4498c2ecf20Sopenharmony_ci AON_PIN(BOOT_SEL0, 0, 0, 0, 0xc0, 9, 4508c2ecf20Sopenharmony_ci AON_MUX(0x0, "BOOT"), /* sel0 */ 4518c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio18 */ 4528c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin18 */ 4538c2ecf20Sopenharmony_ci AON_PIN(BOOT_SEL1, 0, 0, 0, 0xc0, 18, 4548c2ecf20Sopenharmony_ci AON_MUX(0x0, "BOOT"), /* sel1 */ 4558c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio19 */ 4568c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin19 */ 4578c2ecf20Sopenharmony_ci AON_PIN(BOOT_SEL2, 0, 0, 0, 0xc4, 0, 4588c2ecf20Sopenharmony_ci AON_MUX(0x0, "BOOT"), /* sel2 */ 4598c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio20 */ 4608c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin20 */ 4618c2ecf20Sopenharmony_ci AON_PIN(DEEP_SLEEP_OUT_N, 0, 0, 0, 0xc4, 9, 4628c2ecf20Sopenharmony_ci AON_MUX(0x0, "DEEPSLP"), /* deep sleep out_n */ 4638c2ecf20Sopenharmony_ci AON_MUX(0x1, "AGPIO"), /* agpio21 */ 4648c2ecf20Sopenharmony_ci AON_MUX(0x2, "nonAON")), /* pin21 */ 4658c2ecf20Sopenharmony_ci ZX_RESERVED(AON_RESERVED7), 4668c2ecf20Sopenharmony_ci 4678c2ecf20Sopenharmony_ci /* top_pmm_reg_0 */ 4688c2ecf20Sopenharmony_ci TOP_PIN(GMII_GTX_CLK, TOP_REG0, 0, 2, 0x10, 0, 4698c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* gtx_clk */ 4708c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* clk */ 4718c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio0 */ 4728c2ecf20Sopenharmony_ci TOP_PIN(GMII_TX_CLK, TOP_REG0, 2, 2, 0x10, 9, 4738c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* tx_clk */ 4748c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* vs */ 4758c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio1 */ 4768c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD0, TOP_REG0, 4, 2, 0x10, 18, 4778c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd0 */ 4788c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* hs */ 4798c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio2 */ 4808c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD1, TOP_REG0, 6, 2, 0x14, 0, 4818c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd1 */ 4828c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d0 */ 4838c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio3 */ 4848c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD2, TOP_REG0, 8, 2, 0x14, 9, 4858c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd2 */ 4868c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d1 */ 4878c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio4 */ 4888c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD3, TOP_REG0, 10, 2, 0x14, 18, 4898c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd3 */ 4908c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d2 */ 4918c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio5 */ 4928c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD4, TOP_REG0, 12, 2, 0x18, 0, 4938c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd4 */ 4948c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d3 */ 4958c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio6 */ 4968c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD5, TOP_REG0, 14, 2, 0x18, 9, 4978c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd5 */ 4988c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d4 */ 4998c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio7 */ 5008c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD6, TOP_REG0, 16, 2, 0x18, 18, 5018c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd6 */ 5028c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d5 */ 5038c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio8 */ 5048c2ecf20Sopenharmony_ci TOP_PIN(GMII_TXD7, TOP_REG0, 18, 2, 0x1c, 0, 5058c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* txd7 */ 5068c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d6 */ 5078c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio9 */ 5088c2ecf20Sopenharmony_ci TOP_PIN(GMII_TX_ER, TOP_REG0, 20, 2, 0x1c, 9, 5098c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* tx_er */ 5108c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d7 */ 5118c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio10 */ 5128c2ecf20Sopenharmony_ci TOP_PIN(GMII_TX_EN, TOP_REG0, 22, 2, 0x1c, 18, 5138c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* tx_en */ 5148c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d8 */ 5158c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio11 */ 5168c2ecf20Sopenharmony_ci TOP_PIN(GMII_RX_CLK, TOP_REG0, 24, 2, 0x20, 0, 5178c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rx_clk */ 5188c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d9 */ 5198c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio12 */ 5208c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD0, TOP_REG0, 26, 2, 0x20, 9, 5218c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd0 */ 5228c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d10 */ 5238c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio13 */ 5248c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD1, TOP_REG0, 28, 2, 0x20, 18, 5258c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd1 */ 5268c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI0"), /* d11 */ 5278c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio14 */ 5288c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD2, TOP_REG0, 30, 2, 0x24, 0, 5298c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd2 */ 5308c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* clk */ 5318c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio15 */ 5328c2ecf20Sopenharmony_ci 5338c2ecf20Sopenharmony_ci /* top_pmm_reg_1 */ 5348c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD3, TOP_REG1, 0, 2, 0x24, 9, 5358c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd3 */ 5368c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* hs */ 5378c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio16 */ 5388c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD4, TOP_REG1, 2, 2, 0x24, 18, 5398c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd4 */ 5408c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* vs */ 5418c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio17 */ 5428c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD5, TOP_REG1, 4, 2, 0x28, 0, 5438c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd5 */ 5448c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d0 */ 5458c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio18 */ 5468c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI0")), /* dat0 */ 5478c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD6, TOP_REG1, 6, 2, 0x28, 9, 5488c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd6 */ 5498c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d1 */ 5508c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio19 */ 5518c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI0")), /* clk */ 5528c2ecf20Sopenharmony_ci TOP_PIN(GMII_RXD7, TOP_REG1, 8, 2, 0x28, 18, 5538c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rxd7 */ 5548c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d2 */ 5558c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio20 */ 5568c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI0")), /* sync */ 5578c2ecf20Sopenharmony_ci TOP_PIN(GMII_RX_ER, TOP_REG1, 10, 2, 0x2c, 0, 5588c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rx_er */ 5598c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d3 */ 5608c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio21 */ 5618c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI0")), /* valid */ 5628c2ecf20Sopenharmony_ci TOP_PIN(GMII_RX_DV, TOP_REG1, 12, 2, 0x2c, 9, 5638c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* rx_dv */ 5648c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d4 */ 5658c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio22 */ 5668c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI1")), /* dat0 */ 5678c2ecf20Sopenharmony_ci TOP_PIN(GMII_COL, TOP_REG1, 14, 2, 0x2c, 18, 5688c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* col */ 5698c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d5 */ 5708c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio23 */ 5718c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI1")), /* clk */ 5728c2ecf20Sopenharmony_ci TOP_PIN(GMII_CRS, TOP_REG1, 16, 2, 0x30, 0, 5738c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* crs */ 5748c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d6 */ 5758c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio24 */ 5768c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI1")), /* sync */ 5778c2ecf20Sopenharmony_ci TOP_PIN(GMII_MDC, TOP_REG1, 18, 2, 0x30, 9, 5788c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* mdc */ 5798c2ecf20Sopenharmony_ci TOP_MUX(0x1, "DVI1"), /* d7 */ 5808c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio25 */ 5818c2ecf20Sopenharmony_ci TOP_MUX(0x3, "TSI1")), /* valid */ 5828c2ecf20Sopenharmony_ci TOP_PIN(GMII_MDIO, TOP_REG1, 20, 1, 0x30, 18, 5838c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* mdio */ 5848c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio26 */ 5858c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_CLK, TOP_REG1, 21, 2, 0x34, 18, 5868c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* clk */ 5878c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USIM0"), /* clk */ 5888c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio27 */ 5898c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPINOR")), /* clk */ 5908c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_CMD, TOP_REG1, 23, 2, 0x38, 0, 5918c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* cmd */ 5928c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USIM0"), /* cd */ 5938c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio28 */ 5948c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPINOR")), /* cs */ 5958c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_DATA0, TOP_REG1, 25, 2, 0x38, 9, 5968c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* dat0 */ 5978c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USIM0"), /* rst */ 5988c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio29 */ 5998c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPINOR")), /* dq0 */ 6008c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_DATA1, TOP_REG1, 27, 2, 0x38, 18, 6018c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* dat1 */ 6028c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USIM0"), /* data */ 6038c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio30 */ 6048c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPINOR")), /* dq1 */ 6058c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_DATA2, TOP_REG1, 29, 2, 0x3c, 0, 6068c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* dat2 */ 6078c2ecf20Sopenharmony_ci TOP_MUX(0x1, "BGPIO"), /* gpio31 */ 6088c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPINOR")), /* dq2 */ 6098c2ecf20Sopenharmony_ci 6108c2ecf20Sopenharmony_ci /* top_pmm_reg_2 */ 6118c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_DATA3, TOP_REG2, 0, 2, 0x3c, 9, 6128c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* dat3 */ 6138c2ecf20Sopenharmony_ci TOP_MUX(0x1, "BGPIO"), /* gpio32 */ 6148c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPINOR")), /* dq3 */ 6158c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_CD, TOP_REG2, 2, 2, 0x3c, 18, 6168c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* cd */ 6178c2ecf20Sopenharmony_ci TOP_MUX(0x1, "BGPIO"), /* gpio33 */ 6188c2ecf20Sopenharmony_ci TOP_MUX(0x2, "ISP")), /* fl_trig */ 6198c2ecf20Sopenharmony_ci TOP_PIN(SDIO1_WP, TOP_REG2, 4, 2, 0x40, 0, 6208c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO1"), /* wp */ 6218c2ecf20Sopenharmony_ci TOP_MUX(0x1, "BGPIO"), /* gpio34 */ 6228c2ecf20Sopenharmony_ci TOP_MUX(0x2, "ISP")), /* ref_clk */ 6238c2ecf20Sopenharmony_ci TOP_PIN(USIM1_CD, TOP_REG2, 22, 3, 0x44, 18, 6248c2ecf20Sopenharmony_ci TOP_MUX(0x0, "USIM1"), /* cd */ 6258c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART4"), /* rxd */ 6268c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio39 */ 6278c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPI3"), /* clk */ 6288c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S0"), /* bclk */ 6298c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d8 */ 6308c2ecf20Sopenharmony_ci TOP_PIN(USIM1_CLK, TOP_REG2, 25, 3, 0x4c, 18, 6318c2ecf20Sopenharmony_ci TOP_MUX(0x0, "USIM1"), /* clk */ 6328c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART4"), /* txd */ 6338c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio40 */ 6348c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPI3"), /* cs */ 6358c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S0"), /* ws */ 6368c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d9 */ 6378c2ecf20Sopenharmony_ci TOP_PIN(USIM1_RST, TOP_REG2, 28, 3, 0x4c, 0, 6388c2ecf20Sopenharmony_ci TOP_MUX(0x0, "USIM1"), /* rst */ 6398c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART4"), /* cts */ 6408c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio41 */ 6418c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPI3"), /* txd */ 6428c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S0"), /* dout0 */ 6438c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d10 */ 6448c2ecf20Sopenharmony_ci 6458c2ecf20Sopenharmony_ci /* top_pmm_reg_3 */ 6468c2ecf20Sopenharmony_ci TOP_PIN(USIM1_DATA, TOP_REG3, 0, 3, 0x4c, 9, 6478c2ecf20Sopenharmony_ci TOP_MUX(0x0, "USIM1"), /* dat */ 6488c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART4"), /* rst */ 6498c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio42 */ 6508c2ecf20Sopenharmony_ci TOP_MUX(0x3, "SPI3"), /* rxd */ 6518c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S0"), /* din0 */ 6528c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d11 */ 6538c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_CLK, TOP_REG3, 6, 1, 0x58, 0, 6548c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* clk */ 6558c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio43 */ 6568c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_CMD, TOP_REG3, 7, 1, 0x58, 9, 6578c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* cmd */ 6588c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio44 */ 6598c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_DATA0, TOP_REG3, 8, 1, 0x58, 18, 6608c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* dat0 */ 6618c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio45 */ 6628c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_DATA1, TOP_REG3, 9, 1, 0x5c, 0, 6638c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* dat1 */ 6648c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio46 */ 6658c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_DATA2, TOP_REG3, 10, 1, 0x5c, 9, 6668c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* dat2 */ 6678c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio47 */ 6688c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_DATA3, TOP_REG3, 11, 1, 0x5c, 18, 6698c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* dat3 */ 6708c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio48 */ 6718c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_CD, TOP_REG3, 12, 1, 0x60, 0, 6728c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* cd */ 6738c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio49 */ 6748c2ecf20Sopenharmony_ci TOP_PIN(SDIO0_WP, TOP_REG3, 13, 1, 0x60, 9, 6758c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SDIO0"), /* wp */ 6768c2ecf20Sopenharmony_ci TOP_MUX(0x1, "GPIO")), /* gpio50 */ 6778c2ecf20Sopenharmony_ci 6788c2ecf20Sopenharmony_ci /* top_pmm_reg_4 */ 6798c2ecf20Sopenharmony_ci TOP_PIN(TSI0_DATA0, TOP_REG4, 0, 2, 0x60, 18, 6808c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI0"), /* dat0 */ 6818c2ecf20Sopenharmony_ci TOP_MUX(0x1, "LCD"), /* clk */ 6828c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO")), /* gpio51 */ 6838c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_CLK, TOP_REG4, 2, 2, 0xa8, 18, 6848c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* clk */ 6858c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat1 */ 6868c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat0 */ 6878c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio52 */ 6888c2ecf20Sopenharmony_ci TOP_PIN(TSI2_DATA, TOP_REG4, 4, 2, 0x7c, 0, 6898c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI2"), /* dat */ 6908c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat2 */ 6918c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat1 */ 6928c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio53 */ 6938c2ecf20Sopenharmony_ci TOP_PIN(TSI2_CLK, TOP_REG4, 6, 2, 0x7c, 9, 6948c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI2"), /* clk */ 6958c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat3 */ 6968c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat2 */ 6978c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio54 */ 6988c2ecf20Sopenharmony_ci TOP_PIN(TSI2_SYNC, TOP_REG4, 8, 2, 0x7c, 18, 6998c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI2"), /* sync */ 7008c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat4 */ 7018c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat3 */ 7028c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio55 */ 7038c2ecf20Sopenharmony_ci TOP_PIN(TSI2_VALID, TOP_REG4, 10, 2, 0x80, 0, 7048c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI2"), /* valid */ 7058c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat5 */ 7068c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat4 */ 7078c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio56 */ 7088c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_CS, TOP_REG4, 12, 2, 0x80, 9, 7098c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* cs */ 7108c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat6 */ 7118c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat5 */ 7128c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio57 */ 7138c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_DQ0, TOP_REG4, 14, 2, 0x80, 18, 7148c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* dq0 */ 7158c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* dat7 */ 7168c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat6 */ 7178c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio58 */ 7188c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_DQ1, TOP_REG4, 16, 2, 0x84, 0, 7198c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* dq1 */ 7208c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* clk */ 7218c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat7 */ 7228c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio59 */ 7238c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_DQ2, TOP_REG4, 18, 2, 0x84, 9, 7248c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* dq2 */ 7258c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* sync */ 7268c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat8 */ 7278c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio60 */ 7288c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_DQ3, TOP_REG4, 20, 2, 0x84, 18, 7298c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR"), /* dq3 */ 7308c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI0"), /* valid */ 7318c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat9 */ 7328c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio61 */ 7338c2ecf20Sopenharmony_ci TOP_PIN(VGA_HS, TOP_REG4, 22, 3, 0x88, 0, 7348c2ecf20Sopenharmony_ci TOP_MUX(0x0, "VGA"), /* hs */ 7358c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat0 */ 7368c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat10 */ 7378c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio62 */ 7388c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* din1 */ 7398c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* clk */ 7408c2ecf20Sopenharmony_ci TOP_PIN(VGA_VS, TOP_REG4, 25, 3, 0x88, 9, 7418c2ecf20Sopenharmony_ci TOP_MUX(0x0, "VGA"), /* vs0 */ 7428c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat1 */ 7438c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat11 */ 7448c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio63 */ 7458c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* din2 */ 7468c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* vs */ 7478c2ecf20Sopenharmony_ci TOP_PIN(TSI3_DATA, TOP_REG4, 28, 3, 0x88, 18, 7488c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI3"), /* dat */ 7498c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat2 */ 7508c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat12 */ 7518c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio64 */ 7528c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* din3 */ 7538c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* hs */ 7548c2ecf20Sopenharmony_ci 7558c2ecf20Sopenharmony_ci /* top_pmm_reg_5 */ 7568c2ecf20Sopenharmony_ci TOP_PIN(TSI3_CLK, TOP_REG5, 0, 3, 0x8c, 0, 7578c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI3"), /* clk */ 7588c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat3 */ 7598c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat13 */ 7608c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio65 */ 7618c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* dout1 */ 7628c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d0 */ 7638c2ecf20Sopenharmony_ci TOP_PIN(TSI3_SYNC, TOP_REG5, 3, 3, 0x8c, 9, 7648c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI3"), /* sync */ 7658c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat4 */ 7668c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat14 */ 7678c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio66 */ 7688c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* dout2 */ 7698c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d1 */ 7708c2ecf20Sopenharmony_ci TOP_PIN(TSI3_VALID, TOP_REG5, 6, 3, 0x8c, 18, 7718c2ecf20Sopenharmony_ci TOP_MUX(0x0, "TSI3"), /* valid */ 7728c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat5 */ 7738c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat15 */ 7748c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio67 */ 7758c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1"), /* dout3 */ 7768c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d2 */ 7778c2ecf20Sopenharmony_ci TOP_PIN(I2S1_WS, TOP_REG5, 9, 3, 0x90, 0, 7788c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S1"), /* ws */ 7798c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat6 */ 7808c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat16 */ 7818c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio68 */ 7828c2ecf20Sopenharmony_ci TOP_MUX(0x4, "VGA"), /* scl */ 7838c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d3 */ 7848c2ecf20Sopenharmony_ci TOP_PIN(I2S1_BCLK, TOP_REG5, 12, 3, 0x90, 9, 7858c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S1"), /* bclk */ 7868c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* dat7 */ 7878c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat17 */ 7888c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio69 */ 7898c2ecf20Sopenharmony_ci TOP_MUX(0x4, "VGA"), /* sda */ 7908c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI0")), /* d4 */ 7918c2ecf20Sopenharmony_ci TOP_PIN(I2S1_MCLK, TOP_REG5, 15, 2, 0x90, 18, 7928c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S1"), /* mclk */ 7938c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* clk */ 7948c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat18 */ 7958c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio70 */ 7968c2ecf20Sopenharmony_ci TOP_PIN(I2S1_DIN0, TOP_REG5, 17, 2, 0x94, 0, 7978c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S1"), /* din0 */ 7988c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* sync */ 7998c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat19 */ 8008c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio71 */ 8018c2ecf20Sopenharmony_ci TOP_PIN(I2S1_DOUT0, TOP_REG5, 19, 2, 0x94, 9, 8028c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S1"), /* dout0 */ 8038c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSI1"), /* valid */ 8048c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat20 */ 8058c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio72 */ 8068c2ecf20Sopenharmony_ci TOP_PIN(SPI3_CLK, TOP_REG5, 21, 3, 0x94, 18, 8078c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI3"), /* clk */ 8088c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* clk */ 8098c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat21 */ 8108c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio73 */ 8118c2ecf20Sopenharmony_ci TOP_MUX(0x4, "UART5"), /* rxd */ 8128c2ecf20Sopenharmony_ci TOP_MUX(0x5, "PCM"), /* fs */ 8138c2ecf20Sopenharmony_ci TOP_MUX(0x6, "I2S0"), /* din1 */ 8148c2ecf20Sopenharmony_ci TOP_MUX(0x7, "B_DVI0")), /* d5 */ 8158c2ecf20Sopenharmony_ci TOP_PIN(SPI3_CS, TOP_REG5, 24, 3, 0x98, 0, 8168c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI3"), /* cs */ 8178c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat0 */ 8188c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat22 */ 8198c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio74 */ 8208c2ecf20Sopenharmony_ci TOP_MUX(0x4, "UART5"), /* txd */ 8218c2ecf20Sopenharmony_ci TOP_MUX(0x5, "PCM"), /* clk */ 8228c2ecf20Sopenharmony_ci TOP_MUX(0x6, "I2S0"), /* din2 */ 8238c2ecf20Sopenharmony_ci TOP_MUX(0x7, "B_DVI0")), /* d6 */ 8248c2ecf20Sopenharmony_ci TOP_PIN(SPI3_TXD, TOP_REG5, 27, 3, 0x98, 9, 8258c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI3"), /* txd */ 8268c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat1 */ 8278c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* dat23 */ 8288c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio75 */ 8298c2ecf20Sopenharmony_ci TOP_MUX(0x4, "UART5"), /* cts */ 8308c2ecf20Sopenharmony_ci TOP_MUX(0x5, "PCM"), /* txd */ 8318c2ecf20Sopenharmony_ci TOP_MUX(0x6, "I2S0"), /* din3 */ 8328c2ecf20Sopenharmony_ci TOP_MUX(0x7, "B_DVI0")), /* d7 */ 8338c2ecf20Sopenharmony_ci TOP_PIN(NAND_LDO_MS18_SEL, TOP_REG5, 30, 1, 0xe4, 0, 8348c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* ldo_ms18_sel */ 8358c2ecf20Sopenharmony_ci TOP_MUX(0x1, "BGPIO")), /* gpio99 */ 8368c2ecf20Sopenharmony_ci 8378c2ecf20Sopenharmony_ci /* top_pmm_reg_6 */ 8388c2ecf20Sopenharmony_ci TOP_PIN(SPI3_RXD, TOP_REG6, 0, 3, 0x98, 18, 8398c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI3"), /* rxd */ 8408c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat2 */ 8418c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* stvu_vsync */ 8428c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio76 */ 8438c2ecf20Sopenharmony_ci TOP_MUX(0x4, "UART5"), /* rts */ 8448c2ecf20Sopenharmony_ci TOP_MUX(0x5, "PCM"), /* rxd */ 8458c2ecf20Sopenharmony_ci TOP_MUX(0x6, "I2S0"), /* dout1 */ 8468c2ecf20Sopenharmony_ci TOP_MUX(0x7, "B_DVI1")), /* clk */ 8478c2ecf20Sopenharmony_ci TOP_PIN(I2S0_MCLK, TOP_REG6, 3, 3, 0x9c, 0, 8488c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S0"), /* mclk */ 8498c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat3 */ 8508c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* stvd */ 8518c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio77 */ 8528c2ecf20Sopenharmony_ci TOP_MUX(0x4, "USIM0"), /* cd */ 8538c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* vs */ 8548c2ecf20Sopenharmony_ci TOP_PIN(I2S0_BCLK, TOP_REG6, 6, 3, 0x9c, 9, 8558c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S0"), /* bclk */ 8568c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat4 */ 8578c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* sthl_hsync */ 8588c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio78 */ 8598c2ecf20Sopenharmony_ci TOP_MUX(0x4, "USIM0"), /* clk */ 8608c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* hs */ 8618c2ecf20Sopenharmony_ci TOP_PIN(I2S0_WS, TOP_REG6, 9, 3, 0x9c, 18, 8628c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S0"), /* ws */ 8638c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat5 */ 8648c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* sthr */ 8658c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio79 */ 8668c2ecf20Sopenharmony_ci TOP_MUX(0x4, "USIM0"), /* rst */ 8678c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d0 */ 8688c2ecf20Sopenharmony_ci TOP_PIN(I2S0_DIN0, TOP_REG6, 12, 3, 0xa0, 0, 8698c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S0"), /* din0 */ 8708c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat6 */ 8718c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* oev_dataen */ 8728c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio80 */ 8738c2ecf20Sopenharmony_ci TOP_MUX(0x4, "USIM0"), /* dat */ 8748c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d1 */ 8758c2ecf20Sopenharmony_ci TOP_PIN(I2S0_DOUT0, TOP_REG6, 15, 2, 0xa0, 9, 8768c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2S0"), /* dout0 */ 8778c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* dat7 */ 8788c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* ckv */ 8798c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio81 */ 8808c2ecf20Sopenharmony_ci TOP_PIN(I2C5_SCL, TOP_REG6, 17, 3, 0xa0, 18, 8818c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2C5"), /* scl */ 8828c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* sync */ 8838c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* ld */ 8848c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio82 */ 8858c2ecf20Sopenharmony_ci TOP_MUX(0x4, "PWM"), /* out2 */ 8868c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S0"), /* dout2 */ 8878c2ecf20Sopenharmony_ci TOP_MUX(0x6, "B_DVI1")), /* d2 */ 8888c2ecf20Sopenharmony_ci TOP_PIN(I2C5_SDA, TOP_REG6, 20, 3, 0xa4, 0, 8898c2ecf20Sopenharmony_ci TOP_MUX(0x0, "I2C5"), /* sda */ 8908c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO1"), /* vld */ 8918c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* pol */ 8928c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio83 */ 8938c2ecf20Sopenharmony_ci TOP_MUX(0x4, "PWM"), /* out3 */ 8948c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S0"), /* dout3 */ 8958c2ecf20Sopenharmony_ci TOP_MUX(0x6, "B_DVI1")), /* d3 */ 8968c2ecf20Sopenharmony_ci TOP_PIN(SPI2_CLK, TOP_REG6, 23, 3, 0xa4, 9, 8978c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI2"), /* clk */ 8988c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO0"), /* clk */ 8998c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* degsl */ 9008c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio84 */ 9018c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2C4"), /* scl */ 9028c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d4 */ 9038c2ecf20Sopenharmony_ci TOP_PIN(SPI2_CS, TOP_REG6, 26, 3, 0xa4, 18, 9048c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI2"), /* cs */ 9058c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO0"), /* data */ 9068c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* rev */ 9078c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio85 */ 9088c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2C4"), /* sda */ 9098c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d5 */ 9108c2ecf20Sopenharmony_ci TOP_PIN(SPI2_TXD, TOP_REG6, 29, 3, 0xa8, 0, 9118c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI2"), /* txd */ 9128c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO0"), /* sync */ 9138c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* u_d */ 9148c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio86 */ 9158c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2C4"), /* scl */ 9168c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d6 */ 9178c2ecf20Sopenharmony_ci 9188c2ecf20Sopenharmony_ci /* top_pmm_reg_7 */ 9198c2ecf20Sopenharmony_ci TOP_PIN(SPI2_RXD, TOP_REG7, 0, 3, 0xa8, 9, 9208c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPI2"), /* rxd */ 9218c2ecf20Sopenharmony_ci TOP_MUX(0x1, "TSO0"), /* vld */ 9228c2ecf20Sopenharmony_ci TOP_MUX(0x2, "LCD"), /* r_l */ 9238c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio87 */ 9248c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2C3"), /* sda */ 9258c2ecf20Sopenharmony_ci TOP_MUX(0x5, "B_DVI1")), /* d7 */ 9268c2ecf20Sopenharmony_ci TOP_PIN(NAND_WP_N, TOP_REG7, 7, 3, 0x54, 9, 9278c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* wp */ 9288c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PWM"), /* out2 */ 9298c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPI2"), /* clk */ 9308c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio88 */ 9318c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI0"), /* dat0 */ 9328c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S1")), /* din1 */ 9338c2ecf20Sopenharmony_ci TOP_PIN(NAND_PAGE_SIZE0, TOP_REG7, 10, 3, 0xb8, 0, 9348c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* boot_pagesize0 */ 9358c2ecf20Sopenharmony_ci TOP_MUX(0x1, "PWM"), /* out3 */ 9368c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPI2"), /* cs */ 9378c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio89 */ 9388c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI0"), /* clk */ 9398c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S1")), /* din2 */ 9408c2ecf20Sopenharmony_ci TOP_PIN(NAND_PAGE_SIZE1, TOP_REG7, 13, 3, 0xb8, 9, 9418c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* boot_pagesize1 */ 9428c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2C4"), /* scl */ 9438c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPI2"), /* txd */ 9448c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio90 */ 9458c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI0"), /* sync */ 9468c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S1")), /* din3 */ 9478c2ecf20Sopenharmony_ci TOP_PIN(NAND_ADDR_CYCLE, TOP_REG7, 16, 3, 0xb8, 18, 9488c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* boot_addr_cycles */ 9498c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2C4"), /* sda */ 9508c2ecf20Sopenharmony_ci TOP_MUX(0x2, "SPI2"), /* rxd */ 9518c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio91 */ 9528c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI0"), /* valid */ 9538c2ecf20Sopenharmony_ci TOP_MUX(0x5, "I2S1")), /* dout1 */ 9548c2ecf20Sopenharmony_ci TOP_PIN(NAND_RB0, TOP_REG7, 19, 3, 0xbc, 0, 9558c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* rdy_busy0 */ 9568c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2C2"), /* scl */ 9578c2ecf20Sopenharmony_ci TOP_MUX(0x2, "USIM0"), /* cd */ 9588c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio92 */ 9598c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI1")), /* data0 */ 9608c2ecf20Sopenharmony_ci TOP_PIN(NAND_RB1, TOP_REG7, 22, 3, 0xbc, 9, 9618c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* rdy_busy1 */ 9628c2ecf20Sopenharmony_ci TOP_MUX(0x1, "I2C2"), /* sda */ 9638c2ecf20Sopenharmony_ci TOP_MUX(0x2, "USIM0"), /* clk */ 9648c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio93 */ 9658c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI1")), /* clk */ 9668c2ecf20Sopenharmony_ci TOP_PIN(NAND_RB2, TOP_REG7, 25, 3, 0xbc, 18, 9678c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* rdy_busy2 */ 9688c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART5"), /* rxd */ 9698c2ecf20Sopenharmony_ci TOP_MUX(0x2, "USIM0"), /* rst */ 9708c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio94 */ 9718c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI1"), /* sync */ 9728c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1")), /* dout2 */ 9738c2ecf20Sopenharmony_ci TOP_PIN(NAND_RB3, TOP_REG7, 28, 3, 0x54, 18, 9748c2ecf20Sopenharmony_ci TOP_MUX(0x0, "NAND"), /* rdy_busy3 */ 9758c2ecf20Sopenharmony_ci TOP_MUX(0x1, "UART5"), /* txd */ 9768c2ecf20Sopenharmony_ci TOP_MUX(0x2, "USIM0"), /* dat */ 9778c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO"), /* gpio95 */ 9788c2ecf20Sopenharmony_ci TOP_MUX(0x4, "TSI1"), /* valid */ 9798c2ecf20Sopenharmony_ci TOP_MUX(0x4, "I2S1")), /* dout3 */ 9808c2ecf20Sopenharmony_ci 9818c2ecf20Sopenharmony_ci /* top_pmm_reg_8 */ 9828c2ecf20Sopenharmony_ci TOP_PIN(GMAC_125M_IN, TOP_REG8, 0, 2, 0x34, 0, 9838c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* 125m_in */ 9848c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USB2"), /* 0_drvvbus */ 9858c2ecf20Sopenharmony_ci TOP_MUX(0x2, "ISP"), /* ref_clk */ 9868c2ecf20Sopenharmony_ci TOP_MUX(0x3, "BGPIO")), /* gpio96 */ 9878c2ecf20Sopenharmony_ci TOP_PIN(GMAC_50M_OUT, TOP_REG8, 2, 2, 0x34, 9, 9888c2ecf20Sopenharmony_ci TOP_MUX(0x0, "GMII"), /* 50m_out */ 9898c2ecf20Sopenharmony_ci TOP_MUX(0x1, "USB2"), /* 1_drvvbus */ 9908c2ecf20Sopenharmony_ci TOP_MUX(0x2, "BGPIO"), /* gpio97 */ 9918c2ecf20Sopenharmony_ci TOP_MUX(0x3, "USB2")), /* 0_drvvbus */ 9928c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_SSCLK_LOOPBACK, TOP_REG8, 6, 1, 0xc8, 9, 9938c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR")), /* sdio1_clk_i */ 9948c2ecf20Sopenharmony_ci TOP_PIN(SPINOR_SDIO1CLK_LOOPBACK, TOP_REG8, 7, 1, 0xc8, 18, 9958c2ecf20Sopenharmony_ci TOP_MUX(0x0, "SPINOR")), /* ssclk_i */ 9968c2ecf20Sopenharmony_ci}; 9978c2ecf20Sopenharmony_ci 9988c2ecf20Sopenharmony_cistatic struct zx_pinctrl_soc_info zx296718_pinctrl_info = { 9998c2ecf20Sopenharmony_ci .pins = zx296718_pins, 10008c2ecf20Sopenharmony_ci .npins = ARRAY_SIZE(zx296718_pins), 10018c2ecf20Sopenharmony_ci}; 10028c2ecf20Sopenharmony_ci 10038c2ecf20Sopenharmony_cistatic int zx296718_pinctrl_probe(struct platform_device *pdev) 10048c2ecf20Sopenharmony_ci{ 10058c2ecf20Sopenharmony_ci return zx_pinctrl_init(pdev, &zx296718_pinctrl_info); 10068c2ecf20Sopenharmony_ci} 10078c2ecf20Sopenharmony_ci 10088c2ecf20Sopenharmony_cistatic const struct of_device_id zx296718_pinctrl_match[] = { 10098c2ecf20Sopenharmony_ci { .compatible = "zte,zx296718-pmm", }, 10108c2ecf20Sopenharmony_ci {} 10118c2ecf20Sopenharmony_ci}; 10128c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, zx296718_pinctrl_match); 10138c2ecf20Sopenharmony_ci 10148c2ecf20Sopenharmony_cistatic struct platform_driver zx296718_pinctrl_driver = { 10158c2ecf20Sopenharmony_ci .probe = zx296718_pinctrl_probe, 10168c2ecf20Sopenharmony_ci .driver = { 10178c2ecf20Sopenharmony_ci .name = "zx296718-pinctrl", 10188c2ecf20Sopenharmony_ci .of_match_table = zx296718_pinctrl_match, 10198c2ecf20Sopenharmony_ci }, 10208c2ecf20Sopenharmony_ci}; 10218c2ecf20Sopenharmony_cibuiltin_platform_driver(zx296718_pinctrl_driver); 10228c2ecf20Sopenharmony_ci 10238c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("ZTE ZX296718 pinctrl driver"); 10248c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL"); 1025