Path: blob/master/arch/riscv/boot/dts/starfive/jh7110-pinfunc.h
26513 views
/* SPDX-License-Identifier: GPL-2.0 OR MIT */1/*2* Copyright (C) 2022 Emil Renner Berthing <[email protected]>3* Copyright (C) 2022 StarFive Technology Co., Ltd.4*/56#ifndef __JH7110_PINFUNC_H__7#define __JH7110_PINFUNC_H__89/*10* mux bits:11* | 31 - 24 | 23 - 16 | 15 - 10 | 9 - 8 | 7 - 0 |12* | din | dout | doen | function | gpio nr |13*14* dout: output signal15* doen: output enable signal16* din: optional input signal, 0xff = none17* function: function selector18* gpio nr: gpio number, 0 - 6319*/20#define GPIOMUX(n, dout, doen, din) ( \21(((din) & 0xff) << 24) | \22(((dout) & 0xff) << 16) | \23(((doen) & 0x3f) << 10) | \24((n) & 0x3f))2526#define PINMUX(n, func) ((1 << 10) | (((func) & 0x3) << 8) | ((n) & 0xff))2728/* sys_iomux dout */29#define GPOUT_LOW 030#define GPOUT_HIGH 131#define GPOUT_SYS_WAVE511_UART_TX 232#define GPOUT_SYS_CAN0_STBY 333#define GPOUT_SYS_CAN0_TST_NEXT_BIT 434#define GPOUT_SYS_CAN0_TST_SAMPLE_POINT 535#define GPOUT_SYS_CAN0_TXD 636#define GPOUT_SYS_USB_DRIVE_VBUS 737#define GPOUT_SYS_QSPI_CS1 838#define GPOUT_SYS_SPDIF 939#define GPOUT_SYS_HDMI_CEC_SDA 1040#define GPOUT_SYS_HDMI_DDC_SCL 1141#define GPOUT_SYS_HDMI_DDC_SDA 1242#define GPOUT_SYS_WATCHDOG 1343#define GPOUT_SYS_I2C0_CLK 1444#define GPOUT_SYS_I2C0_DATA 1545#define GPOUT_SYS_SDIO0_BACK_END_POWER 1646#define GPOUT_SYS_SDIO0_CARD_POWER_EN 1747#define GPOUT_SYS_SDIO0_CCMD_OD_PULLUP_EN 1848#define GPOUT_SYS_SDIO0_RST 1949#define GPOUT_SYS_UART0_TX 2050#define GPOUT_SYS_HIFI4_JTAG_TDO 2151#define GPOUT_SYS_JTAG_TDO 2252#define GPOUT_SYS_PDM_MCLK 2353#define GPOUT_SYS_PWM_CHANNEL0 2454#define GPOUT_SYS_PWM_CHANNEL1 2555#define GPOUT_SYS_PWM_CHANNEL2 2656#define GPOUT_SYS_PWM_CHANNEL3 2757#define GPOUT_SYS_PWMDAC_LEFT 2858#define GPOUT_SYS_PWMDAC_RIGHT 2959#define GPOUT_SYS_SPI0_CLK 3060#define GPOUT_SYS_SPI0_FSS 3161#define GPOUT_SYS_SPI0_TXD 3262#define GPOUT_SYS_GMAC_PHYCLK 3363#define GPOUT_SYS_I2SRX_BCLK 3464#define GPOUT_SYS_I2SRX_LRCK 3565#define GPOUT_SYS_I2STX0_BCLK 3666#define GPOUT_SYS_I2STX0_LRCK 3767#define GPOUT_SYS_MCLK 3868#define GPOUT_SYS_TDM_CLK 3969#define GPOUT_SYS_TDM_SYNC 4070#define GPOUT_SYS_TDM_TXD 4171#define GPOUT_SYS_TRACE_DATA0 4272#define GPOUT_SYS_TRACE_DATA1 4373#define GPOUT_SYS_TRACE_DATA2 4474#define GPOUT_SYS_TRACE_DATA3 4575#define GPOUT_SYS_TRACE_REF 4676#define GPOUT_SYS_CAN1_STBY 4777#define GPOUT_SYS_CAN1_TST_NEXT_BIT 4878#define GPOUT_SYS_CAN1_TST_SAMPLE_POINT 4979#define GPOUT_SYS_CAN1_TXD 5080#define GPOUT_SYS_I2C1_CLK 5181#define GPOUT_SYS_I2C1_DATA 5282#define GPOUT_SYS_SDIO1_BACK_END_POWER 5383#define GPOUT_SYS_SDIO1_CARD_POWER_EN 5484#define GPOUT_SYS_SDIO1_CLK 5585#define GPOUT_SYS_SDIO1_CMD_OD_PULLUP_EN 5686#define GPOUT_SYS_SDIO1_CMD 5787#define GPOUT_SYS_SDIO1_DATA0 5888#define GPOUT_SYS_SDIO1_DATA1 5989#define GPOUT_SYS_SDIO1_DATA2 6090#define GPOUT_SYS_SDIO1_DATA3 6191#define GPOUT_SYS_SDIO1_DATA4 6292#define GPOUT_SYS_SDIO1_DATA5 6393#define GPOUT_SYS_SDIO1_DATA6 6494#define GPOUT_SYS_SDIO1_DATA7 6595#define GPOUT_SYS_SDIO1_RST 6696#define GPOUT_SYS_UART1_RTS 6797#define GPOUT_SYS_UART1_TX 6898#define GPOUT_SYS_I2STX1_SDO0 6999#define GPOUT_SYS_I2STX1_SDO1 70100#define GPOUT_SYS_I2STX1_SDO2 71101#define GPOUT_SYS_I2STX1_SDO3 72102#define GPOUT_SYS_SPI1_CLK 73103#define GPOUT_SYS_SPI1_FSS 74104#define GPOUT_SYS_SPI1_TXD 75105#define GPOUT_SYS_I2C2_CLK 76106#define GPOUT_SYS_I2C2_DATA 77107#define GPOUT_SYS_UART2_RTS 78108#define GPOUT_SYS_UART2_TX 79109#define GPOUT_SYS_SPI2_CLK 80110#define GPOUT_SYS_SPI2_FSS 81111#define GPOUT_SYS_SPI2_TXD 82112#define GPOUT_SYS_I2C3_CLK 83113#define GPOUT_SYS_I2C3_DATA 84114#define GPOUT_SYS_UART3_TX 85115#define GPOUT_SYS_SPI3_CLK 86116#define GPOUT_SYS_SPI3_FSS 87117#define GPOUT_SYS_SPI3_TXD 88118#define GPOUT_SYS_I2C4_CLK 89119#define GPOUT_SYS_I2C4_DATA 90120#define GPOUT_SYS_UART4_RTS 91121#define GPOUT_SYS_UART4_TX 92122#define GPOUT_SYS_SPI4_CLK 93123#define GPOUT_SYS_SPI4_FSS 94124#define GPOUT_SYS_SPI4_TXD 95125#define GPOUT_SYS_I2C5_CLK 96126#define GPOUT_SYS_I2C5_DATA 97127#define GPOUT_SYS_UART5_RTS 98128#define GPOUT_SYS_UART5_TX 99129#define GPOUT_SYS_SPI5_CLK 100130#define GPOUT_SYS_SPI5_FSS 101131#define GPOUT_SYS_SPI5_TXD 102132#define GPOUT_SYS_I2C6_CLK 103133#define GPOUT_SYS_I2C6_DATA 104134#define GPOUT_SYS_SPI6_CLK 105135#define GPOUT_SYS_SPI6_FSS 106136#define GPOUT_SYS_SPI6_TXD 107137138/* aon_iomux dout */139#define GPOUT_AON_CLK_32K_OUT 2140#define GPOUT_AON_PTC0_PWM4 3141#define GPOUT_AON_PTC0_PWM5 4142#define GPOUT_AON_PTC0_PWM6 5143#define GPOUT_AON_PTC0_PWM7 6144#define GPOUT_AON_CLK_GCLK0 7145#define GPOUT_AON_CLK_GCLK1 8146#define GPOUT_AON_CLK_GCLK2 9147148/* sys_iomux doen */149#define GPOEN_ENABLE 0150#define GPOEN_DISABLE 1151#define GPOEN_SYS_HDMI_CEC_SDA 2152#define GPOEN_SYS_HDMI_DDC_SCL 3153#define GPOEN_SYS_HDMI_DDC_SDA 4154#define GPOEN_SYS_I2C0_CLK 5155#define GPOEN_SYS_I2C0_DATA 6156#define GPOEN_SYS_HIFI4_JTAG_TDO 7157#define GPOEN_SYS_JTAG_TDO 8158#define GPOEN_SYS_PWM0_CHANNEL0 9159#define GPOEN_SYS_PWM0_CHANNEL1 10160#define GPOEN_SYS_PWM0_CHANNEL2 11161#define GPOEN_SYS_PWM0_CHANNEL3 12162#define GPOEN_SYS_SPI0_NSSPCTL 13163#define GPOEN_SYS_SPI0_NSSP 14164#define GPOEN_SYS_TDM_SYNC 15165#define GPOEN_SYS_TDM_TXD 16166#define GPOEN_SYS_I2C1_CLK 17167#define GPOEN_SYS_I2C1_DATA 18168#define GPOEN_SYS_SDIO1_CMD 19169#define GPOEN_SYS_SDIO1_DATA0 20170#define GPOEN_SYS_SDIO1_DATA1 21171#define GPOEN_SYS_SDIO1_DATA2 22172#define GPOEN_SYS_SDIO1_DATA3 23173#define GPOEN_SYS_SDIO1_DATA4 24174#define GPOEN_SYS_SDIO1_DATA5 25175#define GPOEN_SYS_SDIO1_DATA6 26176#define GPOEN_SYS_SDIO1_DATA7 27177#define GPOEN_SYS_SPI1_NSSPCTL 28178#define GPOEN_SYS_SPI1_NSSP 29179#define GPOEN_SYS_I2C2_CLK 30180#define GPOEN_SYS_I2C2_DATA 31181#define GPOEN_SYS_SPI2_NSSPCTL 32182#define GPOEN_SYS_SPI2_NSSP 33183#define GPOEN_SYS_I2C3_CLK 34184#define GPOEN_SYS_I2C3_DATA 35185#define GPOEN_SYS_SPI3_NSSPCTL 36186#define GPOEN_SYS_SPI3_NSSP 37187#define GPOEN_SYS_I2C4_CLK 38188#define GPOEN_SYS_I2C4_DATA 39189#define GPOEN_SYS_SPI4_NSSPCTL 40190#define GPOEN_SYS_SPI4_NSSP 41191#define GPOEN_SYS_I2C5_CLK 42192#define GPOEN_SYS_I2C5_DATA 43193#define GPOEN_SYS_SPI5_NSSPCTL 44194#define GPOEN_SYS_SPI5_NSSP 45195#define GPOEN_SYS_I2C6_CLK 46196#define GPOEN_SYS_I2C6_DATA 47197#define GPOEN_SYS_SPI6_NSSPCTL 48198#define GPOEN_SYS_SPI6_NSSP 49199200/* aon_iomux doen */201#define GPOEN_AON_PTC0_OE_N_4 2202#define GPOEN_AON_PTC0_OE_N_5 3203#define GPOEN_AON_PTC0_OE_N_6 4204#define GPOEN_AON_PTC0_OE_N_7 5205206/* sys_iomux gin */207#define GPI_NONE 255208209#define GPI_SYS_WAVE511_UART_RX 0210#define GPI_SYS_CAN0_RXD 1211#define GPI_SYS_USB_OVERCURRENT 2212#define GPI_SYS_SPDIF 3213#define GPI_SYS_JTAG_RST 4214#define GPI_SYS_HDMI_CEC_SDA 5215#define GPI_SYS_HDMI_DDC_SCL 6216#define GPI_SYS_HDMI_DDC_SDA 7217#define GPI_SYS_HDMI_HPD 8218#define GPI_SYS_I2C0_CLK 9219#define GPI_SYS_I2C0_DATA 10220#define GPI_SYS_SDIO0_CD 11221#define GPI_SYS_SDIO0_INT 12222#define GPI_SYS_SDIO0_WP 13223#define GPI_SYS_UART0_RX 14224#define GPI_SYS_HIFI4_JTAG_TCK 15225#define GPI_SYS_HIFI4_JTAG_TDI 16226#define GPI_SYS_HIFI4_JTAG_TMS 17227#define GPI_SYS_HIFI4_JTAG_RST 18228#define GPI_SYS_JTAG_TDI 19229#define GPI_SYS_JTAG_TMS 20230#define GPI_SYS_PDM_DMIC0 21231#define GPI_SYS_PDM_DMIC1 22232#define GPI_SYS_I2SRX_SDIN0 23233#define GPI_SYS_I2SRX_SDIN1 24234#define GPI_SYS_I2SRX_SDIN2 25235#define GPI_SYS_SPI0_CLK 26236#define GPI_SYS_SPI0_FSS 27237#define GPI_SYS_SPI0_RXD 28238#define GPI_SYS_JTAG_TCK 29239#define GPI_SYS_MCLK_EXT 30240#define GPI_SYS_I2SRX_BCLK 31241#define GPI_SYS_I2SRX_LRCK 32242#define GPI_SYS_I2STX1_BCLK 33243#define GPI_SYS_I2STX1_LRCK 34244#define GPI_SYS_TDM_CLK 35245#define GPI_SYS_TDM_RXD 36246#define GPI_SYS_TDM_SYNC 37247#define GPI_SYS_CAN1_RXD 38248#define GPI_SYS_I2C1_CLK 39249#define GPI_SYS_I2C1_DATA 40250#define GPI_SYS_SDIO1_CD 41251#define GPI_SYS_SDIO1_INT 42252#define GPI_SYS_SDIO1_WP 43253#define GPI_SYS_SDIO1_CMD 44254#define GPI_SYS_SDIO1_DATA0 45255#define GPI_SYS_SDIO1_DATA1 46256#define GPI_SYS_SDIO1_DATA2 47257#define GPI_SYS_SDIO1_DATA3 48258#define GPI_SYS_SDIO1_DATA4 49259#define GPI_SYS_SDIO1_DATA5 50260#define GPI_SYS_SDIO1_DATA6 51261#define GPI_SYS_SDIO1_DATA7 52262#define GPI_SYS_SDIO1_STRB 53263#define GPI_SYS_UART1_CTS 54264#define GPI_SYS_UART1_RX 55265#define GPI_SYS_SPI1_CLK 56266#define GPI_SYS_SPI1_FSS 57267#define GPI_SYS_SPI1_RXD 58268#define GPI_SYS_I2C2_CLK 59269#define GPI_SYS_I2C2_DATA 60270#define GPI_SYS_UART2_CTS 61271#define GPI_SYS_UART2_RX 62272#define GPI_SYS_SPI2_CLK 63273#define GPI_SYS_SPI2_FSS 64274#define GPI_SYS_SPI2_RXD 65275#define GPI_SYS_I2C3_CLK 66276#define GPI_SYS_I2C3_DATA 67277#define GPI_SYS_UART3_RX 68278#define GPI_SYS_SPI3_CLK 69279#define GPI_SYS_SPI3_FSS 70280#define GPI_SYS_SPI3_RXD 71281#define GPI_SYS_I2C4_CLK 72282#define GPI_SYS_I2C4_DATA 73283#define GPI_SYS_UART4_CTS 74284#define GPI_SYS_UART4_RX 75285#define GPI_SYS_SPI4_CLK 76286#define GPI_SYS_SPI4_FSS 77287#define GPI_SYS_SPI4_RXD 78288#define GPI_SYS_I2C5_CLK 79289#define GPI_SYS_I2C5_DATA 80290#define GPI_SYS_UART5_CTS 81291#define GPI_SYS_UART5_RX 82292#define GPI_SYS_SPI5_CLK 83293#define GPI_SYS_SPI5_FSS 84294#define GPI_SYS_SPI5_RXD 85295#define GPI_SYS_I2C6_CLK 86296#define GPI_SYS_I2C6_DATA 87297#define GPI_SYS_SPI6_CLK 88298#define GPI_SYS_SPI6_FSS 89299#define GPI_SYS_SPI6_RXD 90300301/* aon_iomux gin */302#define GPI_AON_PMU_GPIO_WAKEUP_0 0303#define GPI_AON_PMU_GPIO_WAKEUP_1 1304#define GPI_AON_PMU_GPIO_WAKEUP_2 2305#define GPI_AON_PMU_GPIO_WAKEUP_3 3306307#endif308309310