Files
nix-config/packages/edk2/patches/platforms/0018-Set-pinctrl-lengths-for-D0.patch
2026-01-07 21:28:20 -06:00

1075 lines
34 KiB
Diff

From db0ee2dd37b6d74701c342eef87a36d8c277eb4b Mon Sep 17 00:00:00 2001
From: MattP <63603528+NumberOneGit@users.noreply.github.com>
Date: Mon, 5 May 2025 21:49:49 -0400
Subject: [PATCH 18/29] Set pinctrl lengths for D0
---
.../Include/IndustryStandard/Bcm2712.h | 4 +-
.../Include/IndustryStandard/Bcm2712Pinctrl.h | 635 ++++--------------
.../Library/Bcm2712GpioLib/Bcm2712GpioLib.c | 146 ++--
3 files changed, 200 insertions(+), 585 deletions(-)
diff --git a/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712.h b/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712.h
index f2daa41a..8af26de2 100644
--- a/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712.h
+++ b/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712.h
@@ -24,9 +24,9 @@
#define BCM2712_BRCMSTB_GIO_AON_LENGTH 0x40
#define BCM2712_PINCTRL_BASE 0x107d504100
-#define BCM2712_PINCTRL_LENGTH 0x30
+#define BCM2712_PINCTRL_LENGTH 0x20
#define BCM2712_PINCTRL_AON_BASE 0x107d510700
-#define BCM2712_PINCTRL_AON_LENGTH 0x20
+#define BCM2712_PINCTRL_AON_LENGTH 0x1C
#define BCM2712_BRCMSTB_SDIO1_HOST_BASE 0x1000fff000
#define BCM2712_BRCMSTB_SDIO1_CFG_BASE 0x1000fff400
diff --git a/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712Pinctrl.h b/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712Pinctrl.h
index 12c47999..2124ff42 100644
--- a/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712Pinctrl.h
+++ b/Silicon/Broadcom/Bcm27xx/Include/IndustryStandard/Bcm2712Pinctrl.h
@@ -16,551 +16,243 @@
//
// General Input/Output (GIO)
//
+
typedef enum {
- GIO_PIN0_ALT_BSC_M3 = 1,
- GIO_PIN0_ALT_VC_I2C0,
- GIO_PIN0_ALT_GPCLK0,
- GIO_PIN0_ALT_ENET0,
- GIO_PIN0_ALT_VC_PWM1,
- GIO_PIN0_ALT_VC_SPI0,
- GIO_PIN0_ALT_IR_IN,
-} GIO_PIN0_ALT;
-
-typedef enum {
- GIO_PIN1_ALT_BSC_M3 = 1,
- GIO_PIN1_ALT_VC_I2C0,
- GIO_PIN1_ALT_GPCLK1,
- GIO_PIN1_ALT_ENET0,
- GIO_PIN1_ALT_VC_PWM1,
+ GIO_PIN1_ALT_VC_I2C0 = 1,
+ GIO_PIN1_ALT_USB_PWR,
+ GIO_PIN1_ALT_GPCLK0,
+ GIO_PIN1_ALT_SD_CARD_E,
+ GIO_PIN1_ALT_VC_SPI3,
GIO_PIN1_ALT_SR_EDM_SENSE,
GIO_PIN1_ALT_VC_SPI0,
- GIO_PIN1_ALT_VC_UART3,
+ GIO_PIN1_ALT_VC_UART0,
} GIO_PIN1_ALT;
typedef enum {
- GIO_PIN2_ALT_PDM = 1,
- GIO_PIN2_ALT_I2S_IN,
- GIO_PIN2_ALT_GPCLK2,
- GIO_PIN2_ALT_VC_SPI4,
- GIO_PIN2_ALT_PKT,
+ GIO_PIN2_ALT_VC_I2C0 = 1,
+ GIO_PIN2_ALT_USB_PWR,
+ GIO_PIN2_ALT_GPCLK1,
+ GIO_PIN2_ALT_SD_CARD_E,
+ GIO_PIN2_ALT_VC_SPI3,
+ GIO_PIN2_ALT_CLK_OBSERVE,
GIO_PIN2_ALT_VC_SPI0,
- GIO_PIN2_ALT_VC_UART3,
+ GIO_PIN2_ALT_VC_UART0,
} GIO_PIN2_ALT;
typedef enum {
- GIO_PIN3_ALT_PDM = 1,
- GIO_PIN3_ALT_I2S_IN,
- GIO_PIN3_ALT_VC_SPI4,
- GIO_PIN3_ALT_PKT,
+ GIO_PIN3_ALT_VC_I2C3 = 1,
+ GIO_PIN3_ALT_USB_VBUS,
+ GIO_PIN3_ALT_GPCLK2,
+ GIO_PIN3_ALT_SD_CARD_E,
+ GIO_PIN3_ALT_VC_SPI3,
GIO_PIN3_ALT_VC_SPI0,
- GIO_PIN3_ALT_VC_UART3,
+ GIO_PIN3_ALT_VC_UART0,
} GIO_PIN3_ALT;
typedef enum {
- GIO_PIN4_ALT_PDM = 1,
- GIO_PIN4_ALT_I2S_IN,
- GIO_PIN4_ALT_ARM_JTAG,
- GIO_PIN4_ALT_VC_SPI4,
- GIO_PIN4_ALT_PKT,
+ GIO_PIN4_ALT_VC_I2C3 = 1,
+ GIO_PIN4_ALT_VC_PWM1,
+ GIO_PIN4_ALT_VC_SPI3,
+ GIO_PIN4_ALT_SD_CARD_E,
+ GIO_PIN4_ALT_VC_SPI3_2,
GIO_PIN4_ALT_VC_SPI0,
- GIO_PIN4_ALT_VC_UART3,
+ GIO_PIN4_ALT_VC_UART0,
} GIO_PIN4_ALT;
-typedef enum {
- GIO_PIN5_ALT_PDM = 1,
- GIO_PIN5_ALT_VC_I2C3,
- GIO_PIN5_ALT_ARM_JTAG,
- GIO_PIN5_ALT_SD_CARD_E,
- GIO_PIN5_ALT_VC_SPI4,
- GIO_PIN5_ALT_PKT,
- GIO_PIN5_ALT_VC_PCM,
- GIO_PIN5_ALT_VC_I2C5,
-} GIO_PIN5_ALT;
-
-typedef enum {
- GIO_PIN6_ALT_PDM = 1,
- GIO_PIN6_ALT_VC_I2C3,
- GIO_PIN6_ALT_ARM_JTAG,
- GIO_PIN6_ALT_SD_CARD_E,
- GIO_PIN6_ALT_VC_SPI4,
- GIO_PIN6_ALT_PKT,
- GIO_PIN6_ALT_VC_PCM,
- GIO_PIN6_ALT_VC_I2C5,
-} GIO_PIN6_ALT;
-
-typedef enum {
- GIO_PIN7_ALT_I2S_OUT = 1,
- GIO_PIN7_ALT_SPDIF_OUT,
- GIO_PIN7_ALT_ARM_JTAG,
- GIO_PIN7_ALT_SD_CARD_E,
- GIO_PIN7_ALT_VC_I2C3,
- GIO_PIN7_ALT_ENET0_RGMII,
- GIO_PIN7_ALT_VC_PCM,
- GIO_PIN7_ALT_VC_SPI4,
-} GIO_PIN7_ALT;
-
-typedef enum {
- GIO_PIN8_ALT_I2S_OUT = 1,
- GIO_PIN8_ALT_AUD_FS_CLK0,
- GIO_PIN8_ALT_ARM_JTAG,
- GIO_PIN8_ALT_SD_CARD_E,
- GIO_PIN8_ALT_VC_I2C3,
- GIO_PIN8_ALT_ENET0_MII,
- GIO_PIN8_ALT_VC_PCM,
- GIO_PIN8_ALT_VC_SPI4,
-} GIO_PIN8_ALT;
-
-typedef enum {
- GIO_PIN9_ALT_I2S_OUT = 1,
- GIO_PIN9_ALT_AUD_FS_CLK0,
- GIO_PIN9_ALT_ARM_JTAG,
- GIO_PIN9_ALT_SD_CARD_E,
- GIO_PIN9_ALT_ENET0_MII,
- GIO_PIN9_ALT_SD_CARD_C,
- GIO_PIN9_ALT_VC_SPI4,
-} GIO_PIN9_ALT;
-
typedef enum {
GIO_PIN10_ALT_BSC_M3 = 1,
- GIO_PIN10_ALT_MTSIF_ALT1,
- GIO_PIN10_ALT_I2S_IN,
- GIO_PIN10_ALT_I2S_OUT,
- GIO_PIN10_ALT_VC_SPI5,
- GIO_PIN10_ALT_ENET0_MII,
- GIO_PIN10_ALT_SD_CARD_C,
- GIO_PIN10_ALT_VC_SPI4,
+ GIO_PIN10_ALT_VC_PWM1,
+ GIO_PIN10_ALT_VC_SPI3,
+ GIO_PIN10_ALT_SD_CARD_E,
+ GIO_PIN10_ALT_VC_SPI3_2,
+ GIO_PIN10_ALT_GPCLK0,
} GIO_PIN10_ALT;
typedef enum {
GIO_PIN11_ALT_BSC_M3 = 1,
- GIO_PIN11_ALT_MTSIF_ALT1,
- GIO_PIN11_ALT_I2S_IN,
- GIO_PIN11_ALT_I2S_OUT,
- GIO_PIN11_ALT_VC_SPI5,
- GIO_PIN11_ALT_ENET0_MII,
+ GIO_PIN11_ALT_VC_SPI3,
+ GIO_PIN11_ALT_CLK_OBSERVE,
GIO_PIN11_ALT_SD_CARD_C,
- GIO_PIN11_ALT_VC_SPI4,
+ GIO_PIN11_ALT_GPCLK1,
} GIO_PIN11_ALT;
typedef enum {
GIO_PIN12_ALT_SPI_S = 1,
- GIO_PIN12_ALT_MTSIF_ALT1,
- GIO_PIN12_ALT_I2S_IN,
- GIO_PIN12_ALT_I2S_OUT,
- GIO_PIN12_ALT_VC_SPI5,
- GIO_PIN12_ALT_VC_I2CSL,
- GIO_PIN12_ALT_SD0,
+ GIO_PIN12_ALT_VC_SPI3,
+ GIO_PIN12_ALT_SD_CARD_C,
GIO_PIN12_ALT_SD_CARD_D,
} GIO_PIN12_ALT;
typedef enum {
GIO_PIN13_ALT_SPI_S = 1,
- GIO_PIN13_ALT_MTSIF_ALT1,
- GIO_PIN13_ALT_I2S_OUT,
- GIO_PIN13_ALT_USB_VBUS,
- GIO_PIN13_ALT_VC_SPI5,
- GIO_PIN13_ALT_VC_I2CSL,
- GIO_PIN13_ALT_SD0,
+ GIO_PIN13_ALT_VC_SPI3,
+ GIO_PIN13_ALT_SD_CARD_C,
GIO_PIN13_ALT_SD_CARD_D,
} GIO_PIN13_ALT;
typedef enum {
GIO_PIN14_ALT_SPI_S = 1,
- GIO_PIN14_ALT_VC_I2CSL,
- GIO_PIN14_ALT_ENET0_RGMII,
+ GIO_PIN14_ALT_UUI,
GIO_PIN14_ALT_ARM_JTAG,
- GIO_PIN14_ALT_VC_SPI5,
GIO_PIN14_ALT_VC_PWM0,
- GIO_PIN14_ALT_VC_I2C4,
+ GIO_PIN14_ALT_VC_I2C0,
GIO_PIN14_ALT_SD_CARD_D,
} GIO_PIN14_ALT;
typedef enum {
GIO_PIN15_ALT_SPI_S = 1,
- GIO_PIN15_ALT_VC_I2CSL,
- GIO_PIN15_ALT_VC_SPI3,
+ GIO_PIN15_ALT_UUI,
GIO_PIN15_ALT_ARM_JTAG,
GIO_PIN15_ALT_VC_PWM0,
- GIO_PIN15_ALT_VC_I2C4,
+ GIO_PIN15_ALT_VC_I2C0,
GIO_PIN15_ALT_GPCLK0,
} GIO_PIN15_ALT;
typedef enum {
- GIO_PIN16_ALT_SD_CARD_B = 1,
- GIO_PIN16_ALT_I2S_OUT,
- GIO_PIN16_ALT_VC_SPI3,
- GIO_PIN16_ALT_I2S_IN,
- GIO_PIN16_ALT_SD0,
- GIO_PIN16_ALT_ENET0_RGMII,
- GIO_PIN16_ALT_GPCLK1,
-} GIO_PIN16_ALT;
-
-typedef enum {
- GIO_PIN17_ALT_SD_CARD_B = 1,
- GIO_PIN17_ALT_I2S_OUT,
- GIO_PIN17_ALT_VC_SPI3,
- GIO_PIN17_ALT_I2S_IN,
- GIO_PIN17_ALT_EXT_SC_CLK,
- GIO_PIN17_ALT_SD0,
- GIO_PIN17_ALT_ENET0_RGMII,
- GIO_PIN17_ALT_GPCLK2,
-} GIO_PIN17_ALT;
-
-typedef enum {
- GIO_PIN18_ALT_SD_CARD_B = 1,
- GIO_PIN18_ALT_I2S_OUT,
- GIO_PIN18_ALT_VC_SPI3,
- GIO_PIN18_ALT_I2S_IN,
- GIO_PIN18_ALT_SD0,
- GIO_PIN18_ALT_ENET0_RGMII,
+ GIO_PIN18_ALT_SD_CARD_F = 1,
GIO_PIN18_ALT_VC_PWM1,
} GIO_PIN18_ALT;
typedef enum {
- GIO_PIN19_ALT_SD_CARD_B = 1,
+ GIO_PIN19_ALT_SD_CARD_F = 1,
GIO_PIN19_ALT_USB_PWR,
- GIO_PIN19_ALT_VC_SPI3,
- GIO_PIN19_ALT_PKT,
- GIO_PIN19_ALT_SPDIF_OUT,
- GIO_PIN19_ALT_SD0,
- GIO_PIN19_ALT_IR_IN,
GIO_PIN19_ALT_VC_PWM1,
} GIO_PIN19_ALT;
typedef enum {
- GIO_PIN20_ALT_SD_CARD_B = 1,
+ GIO_PIN20_ALT_VC_I2C3 = 1,
GIO_PIN20_ALT_UUI,
GIO_PIN20_ALT_VC_UART0,
GIO_PIN20_ALT_ARM_JTAG,
- GIO_PIN20_ALT_UART2,
- GIO_PIN20_ALT_USB_PWR,
- GIO_PIN20_ALT_VC_PCM,
- GIO_PIN20_ALT_VC_UART4,
+ GIO_PIN20_ALT_VC_UART2,
} GIO_PIN20_ALT;
typedef enum {
- GIO_PIN21_ALT_USB_PWR = 1,
+ GIO_PIN21_ALT_VC_I2C3 = 1,
GIO_PIN21_ALT_UUI,
GIO_PIN21_ALT_VC_UART0,
GIO_PIN21_ALT_ARM_JTAG,
- GIO_PIN21_ALT_UART2,
- GIO_PIN21_ALT_SD_CARD_B,
- GIO_PIN21_ALT_VC_PCM,
- GIO_PIN21_ALT_VC_UART4,
+ GIO_PIN21_ALT_VC_UART2,
} GIO_PIN21_ALT;
typedef enum {
- GIO_PIN22_ALT_USB_PWR = 1,
- GIO_PIN22_ALT_ENET0,
+ GIO_PIN22_ALT_SD_CARD_F = 1,
GIO_PIN22_ALT_VC_UART0,
- GIO_PIN22_ALT_MTSIF,
- GIO_PIN22_ALT_UART2,
- GIO_PIN22_ALT_USB_VBUS,
- GIO_PIN22_ALT_VC_PCM,
- GIO_PIN22_ALT_VC_I2C5,
+ GIO_PIN22_ALT_VC_I2C3,
} GIO_PIN22_ALT;
typedef enum {
- GIO_PIN23_ALT_USB_VBUS = 1,
- GIO_PIN23_ALT_ENET0,
- GIO_PIN23_ALT_VC_UART0,
- GIO_PIN23_ALT_MTSIF,
- GIO_PIN23_ALT_UART2,
- GIO_PIN23_ALT_I2S_OUT,
- GIO_PIN23_ALT_VC_PCM,
- GIO_PIN23_ALT_VC_I2C5,
+ GIO_PIN23_ALT_VC_UART0 = 1,
+ GIO_PIN23_ALT_VC_I2C3,
} GIO_PIN23_ALT;
typedef enum {
- GIO_PIN24_ALT_MTSIF = 1,
- GIO_PIN24_ALT_PKT,
+ GIO_PIN24_ALT_SD_CARD_B = 1,
+ GIO_PIN24_ALT_VC_SPI0,
+ GIO_PIN24_ALT_ARM_JTAG,
GIO_PIN24_ALT_UART0,
- GIO_PIN24_ALT_ENET0_RGMII,
- GIO_PIN24_ALT_ENET0_RGMII_2,
- GIO_PIN24_ALT_VC_I2C4,
- GIO_PIN24_ALT_VC_UART3,
+ GIO_PIN24_ALT_USB_PWR,
+ GIO_PIN24_ALT_VC_UART2,
+ GIO_PIN24_ALT_VC_UART0,
} GIO_PIN24_ALT;
typedef enum {
- GIO_PIN25_ALT_MTSIF = 1,
- GIO_PIN25_ALT_PKT,
- GIO_PIN25_ALT_SC0,
+ GIO_PIN25_ALT_SD_CARD_B = 1,
+ GIO_PIN25_ALT_VC_SPI0,
+ GIO_PIN25_ALT_ARM_JTAG,
GIO_PIN25_ALT_UART0,
- GIO_PIN25_ALT_ENET0_RGMII,
- GIO_PIN25_ALT_ENET0_RGMII_2,
- GIO_PIN25_ALT_VC_I2C4,
- GIO_PIN25_ALT_VC_UART3,
+ GIO_PIN25_ALT_USB_PWR,
+ GIO_PIN25_ALT_VC_UART2,
+ GIO_PIN25_ALT_VC_UART0,
} GIO_PIN25_ALT;
typedef enum {
- GIO_PIN26_ALT_MTSIF = 1,
- GIO_PIN26_ALT_PKT,
- GIO_PIN26_ALT_SC0,
+ GIO_PIN26_ALT_SD_CARD_B = 1,
+ GIO_PIN26_ALT_VC_SPI0,
+ GIO_PIN26_ALT_ARM_JTAG,
GIO_PIN26_ALT_UART0,
- GIO_PIN26_ALT_ENET0_RGMII,
- GIO_PIN26_ALT_VC_UART4,
- GIO_PIN26_ALT_VC_SPI5,
+ GIO_PIN26_ALT_USB_VBUS,
+ GIO_PIN26_ALT_VC_UART2,
+ GIO_PIN26_ALT_VC_SPI0_2,
} GIO_PIN26_ALT;
typedef enum {
- GIO_PIN27_ALT_MTSIF = 1,
- GIO_PIN27_ALT_PKT,
- GIO_PIN27_ALT_SC0,
+ GIO_PIN27_ALT_SD_CARD_B = 1,
+ GIO_PIN27_ALT_VC_SPI0,
+ GIO_PIN27_ALT_ARM_JTAG,
GIO_PIN27_ALT_UART0,
- GIO_PIN27_ALT_ENET0_RGMII,
- GIO_PIN27_ALT_VC_UART4,
- GIO_PIN27_ALT_VC_SPI5,
+ GIO_PIN27_ALT_VC_UART2,
+ GIO_PIN27_ALT_VC_SPI0_2,
} GIO_PIN27_ALT;
typedef enum {
- GIO_PIN28_ALT_MTSIF = 1,
- GIO_PIN28_ALT_PKT,
- GIO_PIN28_ALT_SC0,
- GIO_PIN28_ALT_ENET0_RGMII,
- GIO_PIN28_ALT_VC_UART4,
- GIO_PIN28_ALT_VC_SPI5,
+ GIO_PIN28_ALT_SD_CARD_B = 1,
+ GIO_PIN28_ALT_VC_SPI0,
+ GIO_PIN28_ALT_ARM_JTAG,
+ GIO_PIN28_ALT_VC_I2C0,
+ GIO_PIN28_ALT_VC_SPI0_2,
} GIO_PIN28_ALT;
typedef enum {
- GIO_PIN29_ALT_MTSIF = 1,
- GIO_PIN29_ALT_PKT,
- GIO_PIN29_ALT_SC0,
- GIO_PIN29_ALT_ENET0_RGMII,
- GIO_PIN29_ALT_VC_UART4,
- GIO_PIN29_ALT_VC_SPI5,
+ GIO_PIN29_ALT_ARM_JTAG = 1,
+ GIO_PIN29_ALT_VC_I2C0,
+ GIO_PIN29_ALT_VC_SPI0,
} GIO_PIN29_ALT;
typedef enum {
- GIO_PIN30_ALT_MTSIF = 1,
- GIO_PIN30_ALT_PKT,
- GIO_PIN30_ALT_SC0,
- GIO_PIN30_ALT_SD2,
- GIO_PIN30_ALT_ENET0_RGMII,
+ GIO_PIN30_ALT_SD2 = 1,
GIO_PIN30_ALT_GPCLK0,
GIO_PIN30_ALT_VC_PWM0,
} GIO_PIN30_ALT;
typedef enum {
- GIO_PIN31_ALT_MTSIF = 1,
- GIO_PIN31_ALT_PKT,
- GIO_PIN31_ALT_SC0,
- GIO_PIN31_ALT_SD2,
- GIO_PIN31_ALT_ENET0_RGMII,
+ GIO_PIN31_ALT_SD2 = 1,
GIO_PIN31_ALT_VC_SPI3,
GIO_PIN31_ALT_VC_PWM0,
} GIO_PIN31_ALT;
typedef enum {
- GIO_PIN32_ALT_MTSIF = 1,
- GIO_PIN32_ALT_PKT,
- GIO_PIN32_ALT_SC0,
- GIO_PIN32_ALT_SD2,
- GIO_PIN32_ALT_ENET0_RGMII,
+ GIO_PIN32_ALT_SD2 = 1,
GIO_PIN32_ALT_VC_SPI3,
GIO_PIN32_ALT_VC_UART3,
} GIO_PIN32_ALT;
typedef enum {
- GIO_PIN33_ALT_MTSIF = 1,
- GIO_PIN33_ALT_PKT,
- GIO_PIN33_ALT_SD2,
- GIO_PIN33_ALT_ENET0_RGMII,
+ GIO_PIN33_ALT_SD2 = 1,
GIO_PIN33_ALT_VC_SPI3,
GIO_PIN33_ALT_VC_UART3,
} GIO_PIN33_ALT;
typedef enum {
- GIO_PIN34_ALT_MTSIF = 1,
- GIO_PIN34_ALT_PKT,
- GIO_PIN34_ALT_EXT_SC_CLK,
- GIO_PIN34_ALT_SD2,
- GIO_PIN34_ALT_ENET0_RGMII,
+ GIO_PIN34_ALT_SD2 = 1,
GIO_PIN34_ALT_VC_SPI3,
GIO_PIN34_ALT_VC_I2C5,
} GIO_PIN34_ALT;
typedef enum {
- GIO_PIN35_ALT_MTSIF = 1,
- GIO_PIN35_ALT_PKT,
- GIO_PIN35_ALT_SD2,
- GIO_PIN35_ALT_ENET0_RGMII,
+ GIO_PIN35_ALT_SD2 = 1,
GIO_PIN35_ALT_VC_SPI3,
GIO_PIN35_ALT_VC_I2C5,
} GIO_PIN35_ALT;
-typedef enum {
- GIO_PIN36_ALT_SD0 = 1,
- GIO_PIN36_ALT_MTSIF,
- GIO_PIN36_ALT_SC0,
- GIO_PIN36_ALT_I2S_IN,
- GIO_PIN36_ALT_VC_UART3,
- GIO_PIN36_ALT_VC_UART2,
-} GIO_PIN36_ALT;
-
-typedef enum {
- GIO_PIN37_ALT_SD0 = 1,
- GIO_PIN37_ALT_MTSIF,
- GIO_PIN37_ALT_SC0,
- GIO_PIN37_ALT_VC_SPI0,
- GIO_PIN37_ALT_I2S_IN,
- GIO_PIN37_ALT_VC_UART3,
- GIO_PIN37_ALT_VC_UART2,
-} GIO_PIN37_ALT;
-
-typedef enum {
- GIO_PIN38_ALT_SD0 = 1,
- GIO_PIN38_ALT_MTSIF_ALT,
- GIO_PIN38_ALT_SC0,
- GIO_PIN38_ALT_VC_SPI0,
- GIO_PIN38_ALT_I2S_IN,
- GIO_PIN38_ALT_VC_UART3,
- GIO_PIN38_ALT_VC_UART2,
-} GIO_PIN38_ALT;
-
-typedef enum {
- GIO_PIN39_ALT_SD0 = 1,
- GIO_PIN39_ALT_MTSIF_ALT,
- GIO_PIN39_ALT_SC0,
- GIO_PIN39_ALT_VC_SPI0,
- GIO_PIN39_ALT_VC_UART3,
- GIO_PIN39_ALT_VC_UART2,
-} GIO_PIN39_ALT;
-
-typedef enum {
- GIO_PIN40_ALT_SD0 = 1,
- GIO_PIN40_ALT_MTSIF_ALT,
- GIO_PIN40_ALT_SC0,
- GIO_PIN40_ALT_VC_SPI0,
- GIO_PIN40_ALT_BSC_M3,
-} GIO_PIN40_ALT;
-
-typedef enum {
- GIO_PIN41_ALT_SD0 = 1,
- GIO_PIN41_ALT_MTSIF_ALT,
- GIO_PIN41_ALT_SC0,
- GIO_PIN41_ALT_VC_SPI0,
- GIO_PIN41_ALT_BSC_M3,
-} GIO_PIN41_ALT;
-
-typedef enum {
- GIO_PIN42_ALT_VC_SPI0 = 1,
- GIO_PIN42_ALT_MTSIF_ALT,
- GIO_PIN42_ALT_VC_I2C0,
- GIO_PIN42_ALT_SD_CARD_A,
- GIO_PIN42_ALT_MTSIF_ALT1,
- GIO_PIN42_ALT_ARM_JTAG,
- GIO_PIN42_ALT_PDM,
- GIO_PIN42_ALT_SPI_M,
-} GIO_PIN42_ALT;
-
-typedef enum {
- GIO_PIN43_ALT_VC_SPI0 = 1,
- GIO_PIN43_ALT_MTSIF_ALT,
- GIO_PIN43_ALT_VC_I2C0,
- GIO_PIN43_ALT_SD_CARD_A,
- GIO_PIN43_ALT_MTSIF_ALT1,
- GIO_PIN43_ALT_ARM_JTAG,
- GIO_PIN43_ALT_PDM,
- GIO_PIN43_ALT_SPI_M,
-} GIO_PIN43_ALT;
-
-typedef enum {
- GIO_PIN44_ALT_VC_SPI0 = 1,
- GIO_PIN44_ALT_MTSIF_ALT,
- GIO_PIN44_ALT_ENET0,
- GIO_PIN44_ALT_SD_CARD_A,
- GIO_PIN44_ALT_MTSIF_ALT1,
- GIO_PIN44_ALT_ARM_JTAG,
- GIO_PIN44_ALT_PDM,
- GIO_PIN44_ALT_SPI_M,
-} GIO_PIN44_ALT;
-
-typedef enum {
- GIO_PIN45_ALT_VC_SPI0 = 1,
- GIO_PIN45_ALT_MTSIF_ALT,
- GIO_PIN45_ALT_ENET0,
- GIO_PIN45_ALT_SD_CARD_A,
- GIO_PIN45_ALT_MTSIF_ALT1,
- GIO_PIN45_ALT_ARM_JTAG,
- GIO_PIN45_ALT_PDM,
- GIO_PIN45_ALT_SPI_M,
-} GIO_PIN45_ALT;
-
-typedef enum {
- GIO_PIN46_ALT_VC_SPI0 = 1,
- GIO_PIN46_ALT_MTSIF_ALT,
- GIO_PIN46_ALT_SD_CARD_A,
- GIO_PIN46_ALT_MTSIF_ALT1,
- GIO_PIN46_ALT_ARM_JTAG,
- GIO_PIN46_ALT_PDM,
- GIO_PIN46_ALT_SPI_M,
-} GIO_PIN46_ALT;
-
-typedef enum {
- GIO_PIN47_ALT_ENET0 = 1,
- GIO_PIN47_ALT_MTSIF_ALT,
- GIO_PIN47_ALT_I2S_OUT,
- GIO_PIN47_ALT_MTSIF_ALT1,
- GIO_PIN47_ALT_ARM_JTAG,
-} GIO_PIN47_ALT;
-
-typedef enum {
- GIO_PIN48_ALT_SC0 = 1,
- GIO_PIN48_ALT_USB_PWR,
- GIO_PIN48_ALT_SPDIF_OUT,
- GIO_PIN48_ALT_MTSIF,
-} GIO_PIN48_ALT;
-
-typedef enum {
- GIO_PIN49_ALT_SC0 = 1,
- GIO_PIN49_ALT_USB_PWR,
- GIO_PIN49_ALT_AUD_FS_CLK0,
- GIO_PIN49_ALT_MTSIF,
-} GIO_PIN49_ALT;
-
-typedef enum {
- GIO_PIN50_ALT_SC0 = 1,
- GIO_PIN50_ALT_USB_VBUS,
- GIO_PIN50_ALT_SC0_2,
-} GIO_PIN50_ALT;
-
-typedef enum {
- GIO_PIN51_ALT_SC0 = 1,
- GIO_PIN51_ALT_ENET0,
- GIO_PIN51_ALT_SC0_2,
- GIO_PIN51_ALT_SR_EDM_SENSE,
-} GIO_PIN51_ALT;
-
-typedef enum {
- GIO_PIN52_ALT_SC0 = 1,
- GIO_PIN52_ALT_ENET0,
- GIO_PIN52_ALT_VC_PWM1,
-} GIO_PIN52_ALT;
-
-typedef enum {
- GIO_PIN53_ALT_SC0 = 1,
- GIO_PIN53_ALT_ENET0_RGMII,
- GIO_PIN53_ALT_EXT_SC_CLK,
-} GIO_PIN53_ALT;
-
//
// General Input/Output Always ON (GIO AON)
//
typedef enum {
GIO_AON_PIN0_ALT_IR_IN = 1,
GIO_AON_PIN0_ALT_VC_SPI0,
- GIO_AON_PIN0_ALT_VC_UART3,
+ GIO_AON_PIN0_ALT_VC_UART0,
GIO_AON_PIN0_ALT_VC_I2C3,
- GIO_AON_PIN0_ALT_TE0,
+ GIO_AON_PIN0_ALT_UART0,
GIO_AON_PIN0_ALT_VC_I2C0,
} GIO_AON_PIN0_ALT;
typedef enum {
GIO_AON_PIN1_ALT_VC_PWM0 = 1,
GIO_AON_PIN1_ALT_VC_SPI0,
- GIO_AON_PIN1_ALT_VC_UART3,
+ GIO_AON_PIN1_ALT_VC_UART0,
GIO_AON_PIN1_ALT_VC_I2C3,
- GIO_AON_PIN1_ALT_TE1,
+ GIO_AON_PIN1_ALT_UART0,
GIO_AON_PIN1_ALT_AON_PWM,
GIO_AON_PIN1_ALT_VC_I2C0,
GIO_AON_PIN1_ALT_VC_PWM1,
@@ -569,9 +261,9 @@ typedef enum {
typedef enum {
GIO_AON_PIN2_ALT_VC_PWM0 = 1,
GIO_AON_PIN2_ALT_VC_SPI0,
- GIO_AON_PIN2_ALT_VC_UART3,
+ GIO_AON_PIN2_ALT_VC_UART0,
GIO_AON_PIN2_ALT_CTL_HDMI_5V,
- GIO_AON_PIN2_ALT_FL0,
+ GIO_AON_PIN2_ALT_UART0,
GIO_AON_PIN2_ALT_AON_PWM,
GIO_AON_PIN2_ALT_IR_IN,
GIO_AON_PIN2_ALT_VC_PWM1,
@@ -580,9 +272,8 @@ typedef enum {
typedef enum {
GIO_AON_PIN3_ALT_IR_IN = 1,
GIO_AON_PIN3_ALT_VC_SPI0,
- GIO_AON_PIN3_ALT_VC_UART3,
- GIO_AON_PIN3_ALT_AON_FP_4SEC_RESETB,
- GIO_AON_PIN3_ALT_FL1,
+ GIO_AON_PIN3_ALT_VC_UART0,
+ GIO_AON_PIN3_ALT_UART0,
GIO_AON_PIN3_ALT_SD_CARD_G,
GIO_AON_PIN3_ALT_AON_GPCLK,
} GIO_AON_PIN3_ALT;
@@ -590,8 +281,6 @@ typedef enum {
typedef enum {
GIO_AON_PIN4_ALT_GPCLK0 = 1,
GIO_AON_PIN4_ALT_VC_SPI0,
- GIO_AON_PIN4_ALT_VC_I2CSL,
- GIO_AON_PIN4_ALT_AON_GPCLK,
GIO_AON_PIN4_ALT_PM_LED_OUT,
GIO_AON_PIN4_ALT_AON_PWM,
GIO_AON_PIN4_ALT_SD_CARD_G,
@@ -601,8 +290,6 @@ typedef enum {
typedef enum {
GIO_AON_PIN5_ALT_GPCLK1 = 1,
GIO_AON_PIN5_ALT_IR_IN,
- GIO_AON_PIN5_ALT_VC_I2CSL,
- GIO_AON_PIN5_ALT_CLK_OBSERVE,
GIO_AON_PIN5_ALT_AON_PWM,
GIO_AON_PIN5_ALT_SD_CARD_G,
GIO_AON_PIN5_ALT_VC_PWM0,
@@ -610,79 +297,45 @@ typedef enum {
typedef enum {
GIO_AON_PIN6_ALT_UART1 = 1,
- GIO_AON_PIN6_ALT_VC_UART4,
- GIO_AON_PIN6_ALT_GPCLK2,
+ GIO_AON_PIN6_ALT_VC_UART2,
GIO_AON_PIN6_ALT_CTL_HDMI_5V,
- GIO_AON_PIN6_ALT_VC_UART0,
+ GIO_AON_PIN6_ALT_GPCLK2,
GIO_AON_PIN6_ALT_VC_SPI3,
} GIO_AON_PIN6_ALT;
-typedef enum {
- GIO_AON_PIN7_ALT_UART1 = 1,
- GIO_AON_PIN7_ALT_VC_UART4,
- GIO_AON_PIN7_ALT_GPCLK0,
- GIO_AON_PIN7_ALT_AON_PWM,
- GIO_AON_PIN7_ALT_VC_UART0,
- GIO_AON_PIN7_ALT_VC_SPI3,
-} GIO_AON_PIN7_ALT;
-
typedef enum {
GIO_AON_PIN8_ALT_UART1 = 1,
- GIO_AON_PIN8_ALT_VC_UART4,
- GIO_AON_PIN8_ALT_VC_I2CSL,
+ GIO_AON_PIN8_ALT_VC_UART2,
GIO_AON_PIN8_ALT_CTL_HDMI_5V,
- GIO_AON_PIN8_ALT_VC_UART0,
+ GIO_AON_PIN8_ALT_VC_SPI0,
GIO_AON_PIN8_ALT_VC_SPI3,
} GIO_AON_PIN8_ALT;
typedef enum {
GIO_AON_PIN9_ALT_UART1 = 1,
- GIO_AON_PIN9_ALT_VC_UART4,
- GIO_AON_PIN9_ALT_VC_I2CSL,
- GIO_AON_PIN9_ALT_AON_PWM,
+ GIO_AON_PIN9_ALT_VC_UART2,
GIO_AON_PIN9_ALT_VC_UART0,
+ GIO_AON_PIN9_ALT_AON_PWM,
+ GIO_AON_PIN9_ALT_VC_SPI0,
+ GIO_AON_PIN9_ALT_VC_UART2_2,
GIO_AON_PIN9_ALT_VC_SPI3,
} GIO_AON_PIN9_ALT;
typedef enum {
- GIO_AON_PIN10_ALT_TSIO = 1,
- GIO_AON_PIN10_ALT_CTL_HDMI_5V,
- GIO_AON_PIN10_ALT_SC0,
- GIO_AON_PIN10_ALT_SPDIF_OUT,
- GIO_AON_PIN10_ALT_VC_SPI5,
- GIO_AON_PIN10_ALT_USB_PWR,
- GIO_AON_PIN10_ALT_AON_GPCLK,
- GIO_AON_PIN10_ALT_SD_CARD_F,
-} GIO_AON_PIN10_ALT;
-
-typedef enum {
- GIO_AON_PIN11_ALT_TSIO = 1,
- GIO_AON_PIN11_ALT_UART0,
- GIO_AON_PIN11_ALT_SC0,
- GIO_AON_PIN11_ALT_AUD_FS_CLK0,
- GIO_AON_PIN11_ALT_VC_SPI5,
- GIO_AON_PIN11_ALT_USB_VBUS,
- GIO_AON_PIN11_ALT_VC_UART2,
- GIO_AON_PIN11_ALT_SD_CARD_F,
-} GIO_AON_PIN11_ALT;
-
-typedef enum {
- GIO_AON_PIN12_ALT_TSIO = 1,
- GIO_AON_PIN12_ALT_UART0,
+ GIO_AON_PIN12_ALT_UART1 = 1,
+ GIO_AON_PIN12_ALT_VC_UART2,
GIO_AON_PIN12_ALT_VC_UART0,
- GIO_AON_PIN12_ALT_TSIO_2,
- GIO_AON_PIN12_ALT_VC_SPI5,
+ GIO_AON_PIN12_ALT_VC_SPI0,
GIO_AON_PIN12_ALT_USB_PWR,
- GIO_AON_PIN12_ALT_VC_UART2,
- GIO_AON_PIN12_ALT_SD_CARD_F,
+ GIO_AON_PIN12_ALT_VC_UART2_2,
+ GIO_AON_PIN12_ALT_VC_SPI3,
} GIO_AON_PIN12_ALT;
typedef enum {
GIO_AON_PIN13_ALT_BSC_M1 = 1,
- GIO_AON_PIN13_ALT_UART0,
GIO_AON_PIN13_ALT_VC_UART0,
GIO_AON_PIN13_ALT_UUI,
- GIO_AON_PIN13_ALT_VC_SPI5,
+ GIO_AON_PIN13_ALT_VC_SPI0,
GIO_AON_PIN13_ALT_ARM_JTAG,
GIO_AON_PIN13_ALT_VC_UART2,
GIO_AON_PIN13_ALT_VC_I2C3,
@@ -690,75 +343,55 @@ typedef enum {
typedef enum {
GIO_AON_PIN14_ALT_BSC_M1 = 1,
- GIO_AON_PIN14_ALT_UART0,
+ GIO_AON_PIN14_ALT_AON_GPCLK,
GIO_AON_PIN14_ALT_VC_UART0,
GIO_AON_PIN14_ALT_UUI,
- GIO_AON_PIN14_ALT_VC_SPI5,
+ GIO_AON_PIN14_ALT_VC_SPI0,
GIO_AON_PIN14_ALT_ARM_JTAG,
GIO_AON_PIN14_ALT_VC_UART2,
GIO_AON_PIN14_ALT_VC_I2C3,
} GIO_AON_PIN14_ALT;
typedef enum {
- GIO_AON_PIN15_ALT_IR_IN = 1,
- GIO_AON_PIN15_ALT_AON_FP_4SEC_RESETB,
- GIO_AON_PIN15_ALT_VC_UART0,
- GIO_AON_PIN15_ALT_PM_LED_OUT,
- GIO_AON_PIN15_ALT_CTL_HDMI_5V,
- GIO_AON_PIN15_ALT_AON_PWM,
- GIO_AON_PIN15_ALT_AON_GPCLK,
+ GIO_AON_PIN15_ALT_HDMI_TX0_BSC = 1,
+ GIO_AON_PIN15_ALT_HDMI_TX0_AUTO_I2C,
+ GIO_AON_PIN15_ALT_BSC_M0,
+ GIO_AON_PIN15_ALT_VC_I2C0,
} GIO_AON_PIN15_ALT;
typedef enum {
- GIO_AON_PIN16_ALT_AON_CPU_STANDBYB = 1,
- GIO_AON_PIN16_ALT_GPCLK0,
- GIO_AON_PIN16_ALT_PM_LED_OUT,
- GIO_AON_PIN16_ALT_CTL_HDMI_5V,
- GIO_AON_PIN16_ALT_VC_PWM0,
- GIO_AON_PIN16_ALT_USB_PWR,
- GIO_AON_PIN16_ALT_AUD_FS_CLK0,
+ GIO_AON_PIN16_ALT_HDMI_TX0_BSC = 1,
+ GIO_AON_PIN16_ALT_HDMI_TX0_AUTO_I2C,
+ GIO_AON_PIN16_ALT_BSC_M0,
+ GIO_AON_PIN16_ALT_VC_I2C0,
} GIO_AON_PIN16_ALT;
typedef enum {
- GIO_AON_PIN17_ALT_HDMI_TX0_BSC = 1,
- GIO_AON_PIN17_ALT_HDMI_TX0_AUTO_I2C,
- GIO_AON_PIN17_ALT_BSC_M0,
+ GIO_AON_PIN17_ALT_HDMI_TX1_BSC = 1,
+ GIO_AON_PIN17_ALT_HDMI_TX1_AUTO_I2C,
+ GIO_AON_PIN17_ALT_BSC_M1,
GIO_AON_PIN17_ALT_VC_I2C0,
+ GIO_AON_PIN17_ALT_CTL_HDMI_5V,
} GIO_AON_PIN17_ALT;
typedef enum {
- GIO_AON_PIN18_ALT_HDMI_TX0_BSC = 1,
- GIO_AON_PIN18_ALT_HDMI_TX0_AUTO_I2C,
- GIO_AON_PIN18_ALT_BSC_M0,
+ GIO_AON_PIN18_ALT_HDMI_TX1_BSC = 1,
+ GIO_AON_PIN18_ALT_HDMI_TX1_AUTO_I2C,
+ GIO_AON_PIN18_ALT_BSC_M1,
GIO_AON_PIN18_ALT_VC_I2C0,
} GIO_AON_PIN18_ALT;
typedef enum {
- GIO_AON_PIN19_ALT_HDMI_TX1_BSC = 1,
- GIO_AON_PIN19_ALT_HDMI_TX1_AUTO_I2C,
- GIO_AON_PIN19_ALT_BSC_M1,
- GIO_AON_PIN19_ALT_VC_I2C4,
+ GIO_AON_PIN19_ALT_AVS_PMU_BSC = 1,
+ GIO_AON_PIN19_ALT_BSC_M2,
+ GIO_AON_PIN19_ALT_VC_I2C3,
GIO_AON_PIN19_ALT_CTL_HDMI_5V,
} GIO_AON_PIN19_ALT;
typedef enum {
- GIO_AON_PIN20_ALT_HDMI_TX1_BSC = 1,
- GIO_AON_PIN20_ALT_HDMI_TX1_AUTO_I2C,
- GIO_AON_PIN20_ALT_BSC_M1,
- GIO_AON_PIN20_ALT_VC_I2C4,
+ GIO_AON_PIN20_ALT_AVS_PMU_BSC = 1,
+ GIO_AON_PIN20_ALT_BSC_M2,
+ GIO_AON_PIN20_ALT_VC_I2C3,
} GIO_AON_PIN20_ALT;
-typedef enum {
- GIO_AON_PIN21_ALT_AVS_PMU_BSC = 1,
- GIO_AON_PIN21_ALT_BSC_M2,
- GIO_AON_PIN21_ALT_VC_I2C5,
- GIO_AON_PIN21_ALT_CTL_HDMI_5V,
-} GIO_AON_PIN21_ALT;
-
-typedef enum {
- GIO_AON_PIN22_ALT_AVS_PMU_BSC = 1,
- GIO_AON_PIN22_ALT_BSC_M2,
- GIO_AON_PIN22_ALT_VC_I2C5,
-} GIO_AON_PIN22_ALT;
-
#endif // __BCM2712_PINCTRL_H__
diff --git a/Silicon/Broadcom/Bcm27xx/Library/Bcm2712GpioLib/Bcm2712GpioLib.c b/Silicon/Broadcom/Bcm27xx/Library/Bcm2712GpioLib/Bcm2712GpioLib.c
index 2d9019ed..266f7878 100644
--- a/Silicon/Broadcom/Bcm27xx/Library/Bcm2712GpioLib/Bcm2712GpioLib.c
+++ b/Silicon/Broadcom/Bcm27xx/Library/Bcm2712GpioLib/Bcm2712GpioLib.c
@@ -41,91 +41,73 @@ typedef struct {
} BCM2712_GPIO_CONTROLLER;
STATIC BCM2712_PINCTRL_REGISTERS Bcm2712PinctrlGioRegisters[] = {
- [0] = { .MuxReg = 0x0, .MuxBit = 0, .CtlReg = 0x1C, .CtlBit = 14 },
- [1] = { .MuxReg = 0x0, .MuxBit = 4, .CtlReg = 0x1C, .CtlBit = 16 },
- [2] = { .MuxReg = 0x0, .MuxBit = 8, .CtlReg = 0x1C, .CtlBit = 18 },
- [3] = { .MuxReg = 0x0, .MuxBit = 12, .CtlReg = 0x1C, .CtlBit = 20 },
- [4] = { .MuxReg = 0x0, .MuxBit = 16, .CtlReg = 0x1C, .CtlBit = 22 },
- [5] = { .MuxReg = 0x0, .MuxBit = 20, .CtlReg = 0x1C, .CtlBit = 24 },
- [6] = { .MuxReg = 0x0, .MuxBit = 24, .CtlReg = 0x1C, .CtlBit = 26 },
- [7] = { .MuxReg = 0x0, .MuxBit = 28, .CtlReg = 0x1C, .CtlBit = 28 },
- [8] = { .MuxReg = 0x4, .MuxBit = 0, .CtlReg = 0x20, .CtlBit = 0 },
- [9] = { .MuxReg = 0x4, .MuxBit = 4, .CtlReg = 0x20, .CtlBit = 2 },
- [10] = { .MuxReg = 0x4, .MuxBit = 8, .CtlReg = 0x20, .CtlBit = 4 },
- [11] = { .MuxReg = 0x4, .MuxBit = 12, .CtlReg = 0x20, .CtlBit = 6 },
- [12] = { .MuxReg = 0x4, .MuxBit = 16, .CtlReg = 0x20, .CtlBit = 8 },
- [13] = { .MuxReg = 0x4, .MuxBit = 20, .CtlReg = 0x20, .CtlBit = 10 },
- [14] = { .MuxReg = 0x4, .MuxBit = 24, .CtlReg = 0x20, .CtlBit = 12 },
- [15] = { .MuxReg = 0x4, .MuxBit = 28, .CtlReg = 0x20, .CtlBit = 14 },
- [16] = { .MuxReg = 0x8, .MuxBit = 0, .CtlReg = 0x20, .CtlBit = 16 },
- [17] = { .MuxReg = 0x8, .MuxBit = 4, .CtlReg = 0x20, .CtlBit = 18 },
- [18] = { .MuxReg = 0x8, .MuxBit = 8, .CtlReg = 0x20, .CtlBit = 20 },
- [19] = { .MuxReg = 0x8, .MuxBit = 12, .CtlReg = 0x20, .CtlBit = 22 },
- [20] = { .MuxReg = 0x8, .MuxBit = 16, .CtlReg = 0x20, .CtlBit = 24 },
- [21] = { .MuxReg = 0x8, .MuxBit = 20, .CtlReg = 0x20, .CtlBit = 26 },
- [22] = { .MuxReg = 0x8, .MuxBit = 24, .CtlReg = 0x20, .CtlBit = 28 },
- [23] = { .MuxReg = 0x8, .MuxBit = 28, .CtlReg = 0x24, .CtlBit = 0 },
- [24] = { .MuxReg = 0xC, .MuxBit = 0, .CtlReg = 0x24, .CtlBit = 2 },
- [25] = { .MuxReg = 0xC, .MuxBit = 4, .CtlReg = 0x24, .CtlBit = 4 },
- [26] = { .MuxReg = 0xC, .MuxBit = 8, .CtlReg = 0x24, .CtlBit = 6 },
- [27] = { .MuxReg = 0xC, .MuxBit = 12, .CtlReg = 0x24, .CtlBit = 8 },
- [28] = { .MuxReg = 0xC, .MuxBit = 16, .CtlReg = 0x24, .CtlBit = 10 },
- [29] = { .MuxReg = 0xC, .MuxBit = 20, .CtlReg = 0x24, .CtlBit = 12 },
- [30] = { .MuxReg = 0xC, .MuxBit = 24, .CtlReg = 0x24, .CtlBit = 14 },
- [31] = { .MuxReg = 0xC, .MuxBit = 28, .CtlReg = 0x24, .CtlBit = 16 },
- [32] = { .MuxReg = 0x10, .MuxBit = 0, .CtlReg = 0x24, .CtlBit = 18 },
- [33] = { .MuxReg = 0x10, .MuxBit = 4, .CtlReg = 0x24, .CtlBit = 20 },
- [34] = { .MuxReg = 0x10, .MuxBit = 8, .CtlReg = 0x24, .CtlBit = 22 },
- [35] = { .MuxReg = 0x10, .MuxBit = 12, .CtlReg = 0x24, .CtlBit = 24 },
- [36] = { .MuxReg = 0x10, .MuxBit = 16, .CtlReg = 0x24, .CtlBit = 26 },
- [37] = { .MuxReg = 0x10, .MuxBit = 20, .CtlReg = 0x24, .CtlBit = 28 },
- [38] = { .MuxReg = 0x10, .MuxBit = 24, .CtlReg = 0x28, .CtlBit = 0 },
- [39] = { .MuxReg = 0x10, .MuxBit = 28, .CtlReg = 0x28, .CtlBit = 2 },
- [40] = { .MuxReg = 0x14, .MuxBit = 0, .CtlReg = 0x28, .CtlBit = 4 },
- [41] = { .MuxReg = 0x14, .MuxBit = 4, .CtlReg = 0x28, .CtlBit = 6 },
- [42] = { .MuxReg = 0x14, .MuxBit = 8, .CtlReg = 0x28, .CtlBit = 8 },
- [43] = { .MuxReg = 0x14, .MuxBit = 12, .CtlReg = 0x28, .CtlBit = 10 },
- [44] = { .MuxReg = 0x14, .MuxBit = 16, .CtlReg = 0x28, .CtlBit = 12 },
- [45] = { .MuxReg = 0x14, .MuxBit = 20, .CtlReg = 0x28, .CtlBit = 14 },
- [46] = { .MuxReg = 0x14, .MuxBit = 24, .CtlReg = 0x28, .CtlBit = 16 },
- [47] = { .MuxReg = 0x14, .MuxBit = 28, .CtlReg = 0x28, .CtlBit = 18 },
- [48] = { .MuxReg = 0x18, .MuxBit = 0, .CtlReg = 0x28, .CtlBit = 20 },
- [49] = { .MuxReg = 0x18, .MuxBit = 4, .CtlReg = 0x28, .CtlBit = 22 },
- [50] = { .MuxReg = 0x18, .MuxBit = 8, .CtlReg = 0x28, .CtlBit = 24 },
- [51] = { .MuxReg = 0x18, .MuxBit = 12, .CtlReg = 0x28, .CtlBit = 26 },
- [52] = { .MuxReg = 0x18, .MuxBit = 16, .CtlReg = 0x28, .CtlBit = 28 },
- [53] = { .MuxReg = 0x18, .MuxBit = 20, .CtlReg = 0x2C, .CtlBit = 0 },
- [54] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 2 },
- [55] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 4 },
- [56] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 6 },
- [57] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 8 },
- [58] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 10 },
- [59] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 12 },
- [60] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 14 },
- [61] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 16 },
- [62] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 18 },
- [63] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 20 },
- [64] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x2C, .CtlBit = 22 },
+ [0] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [1] = { .MuxReg = 0x0, .MuxBit = 0, .CtlReg = 0x10, .CtlBit = 10 },
+ [2] = { .MuxReg = 0x0, .MuxBit = 4, .CtlReg = 0x10, .CtlBit = 12 },
+ [3] = { .MuxReg = 0x0, .MuxBit = 8, .CtlReg = 0x10, .CtlBit = 14 },
+ [4] = { .MuxReg = 0x0, .MuxBit = 12, .CtlReg = 0x10, .CtlBit = 16 },
+ [5] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [6] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [7] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [8] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [9] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [10] = { .MuxReg = 0x0, .MuxBit = 16, .CtlReg = 0x10, .CtlBit = 18 },
+ [11] = { .MuxReg = 0x0, .MuxBit = 20, .CtlReg = 0x10, .CtlBit = 20 },
+ [12] = { .MuxReg = 0x0, .MuxBit = 24, .CtlReg = 0x10, .CtlBit = 22 },
+ [13] = { .MuxReg = 0x0, .MuxBit = 28, .CtlReg = 0x10, .CtlBit = 24 },
+ [14] = { .MuxReg = 0x4, .MuxBit = 0, .CtlReg = 0x10, .CtlBit = 26 },
+ [15] = { .MuxReg = 0x4, .MuxBit = 4, .CtlReg = 0x10, .CtlBit = 28 },
+ [16] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [17] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [18] = { .MuxReg = 0x4, .MuxBit = 8, .CtlReg = 0x14, .CtlBit = 0 },
+ [19] = { .MuxReg = 0x4, .MuxBit = 12, .CtlReg = 0x14, .CtlBit = 2 },
+ [20] = { .MuxReg = 0x4, .MuxBit = 16, .CtlReg = 0x14, .CtlBit = 4 },
+ [21] = { .MuxReg = 0x4, .MuxBit = 20, .CtlReg = 0x14, .CtlBit = 6 },
+ [22] = { .MuxReg = 0x4, .MuxBit = 24, .CtlReg = 0x14, .CtlBit = 8 },
+ [23] = { .MuxReg = 0x4, .MuxBit = 28, .CtlReg = 0x14, .CtlBit = 10 },
+ [24] = { .MuxReg = 0x8, .MuxBit = 0, .CtlReg = 0x14, .CtlBit = 12 },
+ [25] = { .MuxReg = 0x8, .MuxBit = 4, .CtlReg = 0x14, .CtlBit = 14 },
+ [26] = { .MuxReg = 0x8, .MuxBit = 8, .CtlReg = 0x14, .CtlBit = 16 },
+ [27] = { .MuxReg = 0x8, .MuxBit = 12, .CtlReg = 0x14, .CtlBit = 18 },
+ [28] = { .MuxReg = 0x8, .MuxBit = 16, .CtlReg = 0x14, .CtlBit = 20 },
+ [29] = { .MuxReg = 0x8, .MuxBit = 20, .CtlReg = 0x14, .CtlBit = 22 },
+ [30] = { .MuxReg = 0x8, .MuxBit = 24, .CtlReg = 0x14, .CtlBit = 24 },
+ [31] = { .MuxReg = 0x8, .MuxBit = 28, .CtlReg = 0x14, .CtlBit = 26 },
+ [32] = { .MuxReg = 0xC, .MuxBit = 0, .CtlReg = 0x14, .CtlBit = 28 },
+ [33] = { .MuxReg = 0xC, .MuxBit = 4, .CtlReg = 0x18, .CtlBit = 0 },
+ [34] = { .MuxReg = 0xC, .MuxBit = 8, .CtlReg = 0x18, .CtlBit = 2 },
+ [35] = { .MuxReg = 0xC, .MuxBit = 12, .CtlReg = 0x18, .CtlBit = 4 },
+ [36] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 6 },
+ [37] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 8 },
+ [38] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 10 },
+ [39] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 12 },
+ [40] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 14 },
+ [41] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 16 },
+ [42] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 18 },
+ [43] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 20 },
+ [44] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 22 },
+ [45] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 24 },
+ [46] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 26 },
};
STATIC BCM2712_PINCTRL_REGISTERS Bcm2712PinctrlGioAonRegisters[] = {
- [0] = { .MuxReg = 0xC, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 20 },
- [1] = { .MuxReg = 0xC, .MuxBit = 4, .CtlReg = 0x18, .CtlBit = 22 },
- [2] = { .MuxReg = 0xC, .MuxBit = 8, .CtlReg = 0x18, .CtlBit = 24 },
- [3] = { .MuxReg = 0xC, .MuxBit = 12, .CtlReg = 0x18, .CtlBit = 26 },
- [4] = { .MuxReg = 0xC, .MuxBit = 16, .CtlReg = 0x18, .CtlBit = 28 },
- [5] = { .MuxReg = 0xC, .MuxBit = 20, .CtlReg = 0x1C, .CtlBit = 0 },
- [6] = { .MuxReg = 0xC, .MuxBit = 24, .CtlReg = 0x1C, .CtlBit = 2 },
- [7] = { .MuxReg = 0xC, .MuxBit = 28, .CtlReg = 0x1C, .CtlBit = 4 },
- [8] = { .MuxReg = 0x10, .MuxBit = 0, .CtlReg = 0x1C, .CtlBit = 6 },
- [9] = { .MuxReg = 0x10, .MuxBit = 4, .CtlReg = 0x1C, .CtlBit = 8 },
- [10] = { .MuxReg = 0x10, .MuxBit = 8, .CtlReg = 0x1C, .CtlBit = 10 },
- [11] = { .MuxReg = 0x10, .MuxBit = 12, .CtlReg = 0x1C, .CtlBit = 12 },
- [12] = { .MuxReg = 0x10, .MuxBit = 16, .CtlReg = 0x1C, .CtlBit = 14 },
- [13] = { .MuxReg = 0x10, .MuxBit = 20, .CtlReg = 0x1C, .CtlBit = 16 },
- [14] = { .MuxReg = 0x10, .MuxBit = 24, .CtlReg = 0x1C, .CtlBit = 18 },
- [15] = { .MuxReg = 0x10, .MuxBit = 28, .CtlReg = 0x1C, .CtlBit = 20 },
- [16] = { .MuxReg = 0x14, .MuxBit = 0, .CtlReg = 0x1C, .CtlBit = 22 },
+ [0] = { .MuxReg = 0xC, .MuxBit = 0, .CtlReg = 0x14, .CtlBit = 18 },
+ [1] = { .MuxReg = 0xC, .MuxBit = 4, .CtlReg = 0x14, .CtlBit = 20 },
+ [2] = { .MuxReg = 0xC, .MuxBit = 8, .CtlReg = 0x14, .CtlBit = 22 },
+ [3] = { .MuxReg = 0xC, .MuxBit = 12, .CtlReg = 0x14, .CtlBit = 24 },
+ [4] = { .MuxReg = 0xC, .MuxBit = 16, .CtlReg = 0x14, .CtlBit = 26 },
+ [5] = { .MuxReg = 0xC, .MuxBit = 20, .CtlReg = 0x14, .CtlBit = 28 },
+ [6] = { .MuxReg = 0xC, .MuxBit = 24, .CtlReg = 0x18, .CtlBit = 0 },
+ [7] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [8] = { .MuxReg = 0xC, .MuxBit = 28, .CtlReg = 0x18, .CtlBit = 2 },
+ [9] = { .MuxReg = 0x10, .MuxBit = 0, .CtlReg = 0x18, .CtlBit = 4 },
+ [10] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [11] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [12] = { .MuxReg = 0x10, .MuxBit = 4, .CtlReg = 0x18, .CtlBit = 6 },
+ [13] = { .MuxReg = 0x10, .MuxBit = 8, .CtlReg = 0x18, .CtlBit = 8 },
+ [14] = { .MuxReg = 0x10, .MuxBit = 12, .CtlReg = 0x18, .CtlBit = 10 },
+ [15] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
+ [16] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
[17] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
[18] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
[19] = { .MuxReg = PINCTRL_REG_UNUSED, .MuxBit = 0, .CtlReg = PINCTRL_REG_UNUSED, .CtlBit = 0 },
--
2.51.2