aboutsummaryrefslogtreecommitdiff
path: root/drivers/iomuxc-11xx/src/lib.rs
diff options
context:
space:
mode:
authorIan McIntyre <me@mciantyre.dev>2025-11-30 18:52:34 -0500
committerIan McIntyre <me@mciantyre.dev>2025-11-30 19:10:51 -0500
commit76199f21616ad86cf68f3b063c1ce23c6fc5a52f (patch)
tree4c076d0afd649803a2bd9a5ed5cbb1f1c74fb459 /drivers/iomuxc-11xx/src/lib.rs
First commit
Diffstat (limited to 'drivers/iomuxc-11xx/src/lib.rs')
-rw-r--r--drivers/iomuxc-11xx/src/lib.rs475
1 files changed, 475 insertions, 0 deletions
diff --git a/drivers/iomuxc-11xx/src/lib.rs b/drivers/iomuxc-11xx/src/lib.rs
new file mode 100644
index 0000000..54f0c17
--- /dev/null
+++ b/drivers/iomuxc-11xx/src/lib.rs
@@ -0,0 +1,475 @@
+#![no_std]
+
+pub mod iomuxc_gpr {
+ #[repr(C)]
+ #[allow(non_snake_case)]
+ pub struct RegisterBlock {
+ pub GPR: [u32; 76],
+ }
+
+ ral_registers::register!(pub GPR<u32> RW []);
+}
+
+pub mod iomuxc {
+ #[repr(C)]
+ #[allow(non_snake_case)]
+ pub struct RegisterBlock {
+ _reserved: [u8; 16],
+ pub SW_MUX_CTL_PAD: PadLayout,
+ pub SW_PAD_CTL_PAD: PadLayout,
+ pub SELECT_INPUT: [u32; 160],
+ }
+
+ #[doc(hidden)]
+ #[repr(C)]
+ #[allow(non_snake_case)]
+ pub struct PadLayout {
+ pub GPIO_EMC_B1: [u32; 42],
+ pub GPIO_EMC_B2: [u32; 21],
+ pub GPIO_AD: [u32; 36],
+ pub GPIO_SD_B1: [u32; 6],
+ pub GPIO_SD_B2: [u32; 12],
+ pub GPIO_DISP_B1: [u32; 12],
+ pub GPIO_DISP_B2: [u32; 16],
+ }
+
+ const _: () = assert!(size_of::<PadLayout>() == size_of::<[u32; 145]>());
+
+ #[allow(non_snake_case)]
+ pub mod SW_PAD_CTL_PAD {
+ #[doc(inline)]
+ pub use super::PadLayout as RegisterBlock;
+
+ ral_registers::register! {
+ #[doc(hidden)]
+ pub v1<u32> RW [
+ #[doc = "PDRV Field"]
+ PDRV start(1) width(1) RW {
+ HIGH = 0
+ NORMAL = 0x1,
+ }
+ #[doc = "Pull Down Pull Up Field"]
+ PULL start(2) width(2) RW {
+ PULL_UP = 0x1,
+ PULL_DOWN = 0x2,
+ NO_PULL = 0x3,
+ }
+ #[doc = "Open Drain Field"]
+ ODE start(4) width(1) RW {}
+ #[doc = "Domain write protection"]
+ DWP start(28) width(2) RW {}
+ #[doc = "Domain write protection lock"]
+ DWP_LOCK start(30) width(2) RW {}
+ ]
+ }
+
+ ral_registers::register! {
+ #[doc(hidden)]
+ pub v2<u32> RW [
+ #[doc = "Slew Rate Field"]
+ SRE start(0) width(1) RW {
+ SLOW = 0,
+ FAST = 0x1,
+ }
+ #[doc = "Drive Strength Field"]
+ DSE start(1) width(1) RW {
+ NORMAL = 0,
+ HIGH = 0x1,
+ }
+ #[doc = "Pull / Keep Select Field"]
+ PUE start(2) width(1) RW {}
+ #[doc = "Pull Up / Down Config. Field"]
+ PUS start(3) width(1) RW {
+ PULL_DOWN = 0,
+ PULL_UP = 0x1,
+ }
+ #[doc = "Open Drain Field"]
+ ODE start(4) width(1) RW {}
+ #[doc = "Domain write protection"]
+ DWP start(28) width(2) RW {}
+ #[doc = "Domain write protection lock"]
+ DWP_LOCK start(30) width(2) RW {}
+ ]
+ }
+
+ #[doc(inline)]
+ pub use v1 as GPIO_EMC_B1;
+ #[doc(inline)]
+ pub use v1 as GPIO_EMC_B2;
+ #[doc(inline)]
+ pub use v1 as GPIO_SD_B1;
+ #[doc(inline)]
+ pub use v1 as GPIO_SD_B2;
+ #[doc(inline)]
+ pub use v1 as GPIO_DISP_B1;
+
+ #[doc(inline)]
+ pub use v2 as GPIO_AD;
+ #[doc(inline)]
+ pub use v2 as GPIO_DISP_B2;
+ }
+
+ #[allow(non_snake_case)]
+ pub mod SW_MUX_CTL_PAD {
+ #[doc(inline)]
+ pub use super::PadLayout as RegisterBlock;
+
+ ral_registers::register! {
+ #[doc(hidden)]
+ pub common<u32> RW [
+ #[doc = "MUX Mode Select Field."]
+ MUX_MODE start(0) width(4) RW {}
+ #[doc = "Software Input On Field."]
+ SION start(4) width(1) RW {}
+ ]
+ }
+
+ #[doc(inline)]
+ pub use common as GPIO_EMC_B1;
+ #[doc(inline)]
+ pub use common as GPIO_EMC_B2;
+ #[doc(inline)]
+ pub use common as GPIO_SD_B1;
+ #[doc(inline)]
+ pub use common as GPIO_SD_B2;
+ #[doc(inline)]
+ pub use common as GPIO_DISP_B1;
+ #[doc(inline)]
+ pub use common as GPIO_DISP_B2;
+ #[doc(inline)]
+ pub use common as GPIO_AD;
+ }
+
+ pub mod select_input {
+ pub const FLEXCAN1_RX: usize = 0;
+ pub const FLEXCAN2_RX: usize = 1;
+ pub const CCM_ENET_QOS_REF_CLK: usize = 2;
+ pub const CCM_ENET_QOS_TX_CLK: usize = 3;
+ pub const ENET_IPG_CLK_RMII: usize = 4;
+ pub const ENET_MAC0_MDIO: usize = 5;
+ pub const ENET_MAC0_RXDATA_0: usize = 6;
+ pub const ENET_MAC0_RXDATA_1: usize = 7;
+ pub const ENET_MAC0_RXEN: usize = 8;
+ pub const ENET_MAC0_RXERR: usize = 9;
+ pub const ENET_MAC0_TXCLK: usize = 10;
+ pub const ENET_1G_IPG_CLK_RMII: usize = 11;
+ pub const ENET_1G_MAC0_MDIO: usize = 12;
+ pub const ENET_1G_MAC0_RXCLK: usize = 13;
+ pub const ENET_1G_MAC0_RXDATA_0: usize = 14;
+ pub const ENET_1G_MAC0_RXDATA_1: usize = 15;
+ pub const ENET_1G_MAC0_RXDATA_2: usize = 16;
+ pub const ENET_1G_MAC0_RXDATA_3: usize = 17;
+ pub const ENET_1G_MAC0_RXEN: usize = 18;
+ pub const ENET_1G_MAC0_RXERR: usize = 19;
+ pub const ENET_1G_MAC0_TXCLK: usize = 20;
+ pub const ENET_QOS_GMII_MDI_I: usize = 21;
+ pub const ENET_QOS_PHY_RXD_I_0: usize = 22;
+ pub const ENET_QOS_PHY_RXD_I_1: usize = 23;
+ pub const ENET_QOS_PHY_RXDV_I: usize = 24;
+ pub const ENET_QOS_PHY_RXER_I: usize = 25;
+ pub const FLEXPWM1_PWMA_0: usize = 26;
+ pub const FLEXPWM1_PWMA_1: usize = 27;
+ pub const FLEXPWM1_PWMA_2: usize = 28;
+ pub const FLEXPWM1_PWMB_0: usize = 29;
+ pub const FLEXPWM1_PWMB_1: usize = 30;
+ pub const FLEXPWM1_PWMB_2: usize = 31;
+ pub const FLEXPWM2_PWMA_0: usize = 32;
+ pub const FLEXPWM2_PWMA_1: usize = 33;
+ pub const FLEXPWM2_PWMA_2: usize = 34;
+ pub const FLEXPWM2_PWMB_0: usize = 35;
+ pub const FLEXPWM2_PWMB_1: usize = 36;
+ pub const FLEXPWM2_PWMB_2: usize = 37;
+ pub const FLEXPWM3_PWMA_0: usize = 38;
+ pub const FLEXPWM3_PWMA_1: usize = 39;
+ pub const FLEXPWM3_PWMA_2: usize = 40;
+ pub const FLEXPWM3_PWMA_3: usize = 41;
+ pub const FLEXPWM3_PWMB_0: usize = 42;
+ pub const FLEXPWM3_PWMB_1: usize = 43;
+ pub const FLEXPWM3_PWMB_2: usize = 44;
+ pub const FLEXPWM3_PWMB_3: usize = 45;
+ pub const FLEXSPI1_I_DQS_FA: usize = 46;
+ pub const FLEXSPI1_I_IO_FA_0: usize = 47;
+ pub const FLEXSPI1_I_IO_FA_1: usize = 48;
+ pub const FLEXSPI1_I_IO_FA_2: usize = 49;
+ pub const FLEXSPI1_I_IO_FA_3: usize = 50;
+ pub const FLEXSPI1_I_IO_FB_0: usize = 51;
+ pub const FLEXSPI1_I_IO_FB_1: usize = 52;
+ pub const FLEXSPI1_I_IO_FB_2: usize = 53;
+ pub const FLEXSPI1_I_IO_FB_3: usize = 54;
+ pub const FLEXSPI1_I_SCK_FA: usize = 55;
+ pub const FLEXSPI1_I_SCK_FB: usize = 56;
+ pub const FLEXSPI2_I_IO_FA_0: usize = 57;
+ pub const FLEXSPI2_I_IO_FA_1: usize = 58;
+ pub const FLEXSPI2_I_IO_FA_2: usize = 59;
+ pub const FLEXSPI2_I_IO_FA_3: usize = 60;
+ pub const FLEXSPI2_I_SCK_FA: usize = 61;
+ pub const GPT3_CAPIN1: usize = 62;
+ pub const GPT3_CAPIN2: usize = 63;
+ pub const GPT3_CLKIN: usize = 64;
+ pub const KPP_COL_6: usize = 65;
+ pub const KPP_COL_7: usize = 66;
+ pub const KPP_ROW_6: usize = 67;
+ pub const KPP_ROW_7: usize = 68;
+ pub const LPI2C1_LPI2C_SCL: usize = 69;
+ pub const LPI2C1_LPI2C_SDA: usize = 70;
+ pub const LPI2C2_LPI2C_SCL: usize = 71;
+ pub const LPI2C2_LPI2C_SDA: usize = 72;
+ pub const LPI2C3_LPI2C_SCL: usize = 73;
+ pub const LPI2C3_LPI2C_SDA: usize = 74;
+ pub const LPI2C4_LPI2C_SCL: usize = 75;
+ pub const LPI2C4_LPI2C_SDA: usize = 76;
+ pub const LPSPI1_LPSPI_PCS_0: usize = 77;
+ pub const LPSPI1_LPSPI_SCK: usize = 78;
+ pub const LPSPI1_LPSPI_SDI: usize = 79;
+ pub const LPSPI1_LPSPI_SDO: usize = 80;
+ pub const LPSPI2_LPSPI_PCS_0: usize = 81;
+ pub const LPSPI2_LPSPI_PCS_1: usize = 82;
+ pub const LPSPI2_LPSPI_SCK: usize = 83;
+ pub const LPSPI2_LPSPI_SDI: usize = 84;
+ pub const LPSPI2_LPSPI_SDO: usize = 85;
+ pub const LPSPI3_LPSPI_PCS_0: usize = 86;
+ pub const LPSPI3_LPSPI_PCS_1: usize = 87;
+ pub const LPSPI3_LPSPI_PCS_2: usize = 88;
+ pub const LPSPI3_LPSPI_PCS_3: usize = 89;
+ pub const LPSPI3_LPSPI_SCK: usize = 90;
+ pub const LPSPI3_LPSPI_SDI: usize = 91;
+ pub const LPSPI3_LPSPI_SDO: usize = 92;
+ pub const LPSPI4_LPSPI_PCS_0: usize = 93;
+ pub const LPSPI4_LPSPI_SCK: usize = 94;
+ pub const LPSPI4_LPSPI_SDI: usize = 95;
+ pub const LPSPI4_LPSPI_SDO: usize = 96;
+ pub const LPUART1_LPUART_RXD: usize = 97;
+ pub const LPUART1_LPUART_TXD: usize = 98;
+ pub const LPUART10_LPUART_RXD: usize = 99;
+ pub const LPUART10_LPUART_TXD: usize = 100;
+ pub const LPUART7_LPUART_RXD: usize = 101;
+ pub const LPUART7_LPUART_TXD: usize = 102;
+ pub const LPUART8_LPUART_RXD: usize = 103;
+ pub const LPUART8_LPUART_TXD: usize = 104;
+ pub const QTIMER1_TMR0_INPUT: usize = 105;
+ pub const QTIMER1_TMR1_INPUT: usize = 106;
+ pub const QTIMER1_TMR2_INPUT: usize = 107;
+ pub const QTIMER2_TMR0_INPUT: usize = 108;
+ pub const QTIMER2_TMR1_INPUT: usize = 109;
+ pub const QTIMER2_TMR2_INPUT: usize = 110;
+ pub const QTIMER3_TMR0_INPUT: usize = 111;
+ pub const QTIMER3_TMR1_INPUT: usize = 112;
+ pub const QTIMER3_TMR2_INPUT: usize = 113;
+ pub const QTIMER4_TMR0_INPUT: usize = 114;
+ pub const QTIMER4_TMR1_INPUT: usize = 115;
+ pub const QTIMER4_TMR2_INPUT: usize = 116;
+ pub const SAI1_IPG_CLK_SAI_MCLK: usize = 117;
+ pub const SAI1_SAI_RXBCLK: usize = 118;
+ pub const SAI1_SAI_RXDATA_0: usize = 119;
+ pub const SAI1_SAI_RXSYNC: usize = 120;
+ pub const SAI1_SAI_TXBCLK: usize = 121;
+ pub const SAI1_SAI_TXSYNC: usize = 122;
+ pub const EMVSIM1_SIO: usize = 129;
+ pub const EMVSIM1_IPP_SIMPD: usize = 130;
+ pub const EMVSIM1_POWER_FAIL: usize = 131;
+ pub const EMVSIM2_SIO: usize = 132;
+ pub const EMVSIM2_IPP_SIMPD: usize = 133;
+ pub const EMVSIM2_POWER_FAIL: usize = 134;
+ pub const SPDIF_SPDIF_IN1: usize = 135;
+ pub const USB_OTG2_OC: usize = 136;
+ pub const USB_OTG_OC: usize = 137;
+ pub const USBPHY1_USB_ID: usize = 138;
+ pub const USBPHY2_USB_ID: usize = 139;
+ pub const USDHC1_IPP_CARD_DET: usize = 140;
+ pub const USDHC1_IPP_WP_ON: usize = 141;
+ pub const USDHC2_IPP_CARD_DET: usize = 142;
+ pub const USDHC2_IPP_WP_ON: usize = 143;
+ pub const XBAR1_IN_20: usize = 144;
+ pub const XBAR1_IN_21: usize = 145;
+ pub const XBAR1_IN_22: usize = 146;
+ pub const XBAR1_IN_23: usize = 147;
+ pub const XBAR1_IN_24: usize = 148;
+ pub const XBAR1_IN_25: usize = 149;
+ pub const XBAR1_IN_26: usize = 150;
+ pub const XBAR1_IN_27: usize = 151;
+ pub const XBAR1_IN_28: usize = 152;
+ pub const XBAR1_IN_29: usize = 153;
+ pub const XBAR1_IN_30: usize = 154;
+ pub const XBAR1_IN_31: usize = 155;
+ pub const XBAR1_IN_32: usize = 156;
+ pub const XBAR1_IN_33: usize = 157;
+ pub const XBAR1_IN_34: usize = 158;
+ pub const XBAR1_IN_35: usize = 159;
+ }
+
+ ral_registers::register! {
+ pub SELECT_INPUT<u32> RW []
+ }
+}
+
+pub mod iomuxc_lpsr {
+ #[repr(C)]
+ #[allow(non_snake_case)]
+ pub struct RegisterBlock {
+ pub SW_MUX_CTL_PAD: [u32; 16],
+ pub SW_PAD_CTL_PAD: [u32; 16],
+ pub SELECT_INPUT: [u32; 24],
+ }
+
+ #[doc(inline)]
+ pub use super::iomuxc::SW_MUX_CTL_PAD::common as SW_MUX_CTL_PAD;
+
+ ral_registers::register! {
+ pub SW_PAD_CTL_PAD<u32> RW [
+ #[doc = "Slew Rate Field"]
+ SRE start(0) width(1) RW {
+ SLOW = 0,
+ FAST = 0x1,
+ }
+ #[doc = "Drive Strength Field"]
+ DSE start(1) width(1) RW {
+ NORMAL = 0,
+ HIGH = 0x1,
+ }
+ #[doc = "Pull / Keep Select Field"]
+ PUE start(2) width(1) RW {}
+ #[doc = "Pull Up / Down Config. Field"]
+ PUS start(3) width(1) RW {
+ PULL_DOWN = 0,
+ PULL_UP = 0x1,
+ }
+ #[doc = "Open Drain LPSR Field"]
+ ODE start(5) width(1) RW {}
+ #[doc = "Domain write protection"]
+ DWP start(28) width(2) RW {}
+ #[doc = "Domain write protection lock"]
+ DWP_LOCK start(30) width(2) RW {}
+ ]
+ }
+
+ pub mod select_input {
+ pub const CAN3_IPP_IND_CANRX: usize = 0;
+ pub const LPI2C5_IPP_IND_LPI2C_SCL: usize = 1;
+ pub const LPI2C5_IPP_IND_LPI2C_SDA: usize = 2;
+ pub const LPI2C6_IPP_IND_LPI2C_SCL: usize = 3;
+ pub const LPI2C6_IPP_IND_LPI2C_SDA: usize = 4;
+ pub const LPSPI5_IPP_IND_LPSPI_PCS_0: usize = 5;
+ pub const LPSPI5_IPP_IND_LPSPI_SCK: usize = 6;
+ pub const LPSPI5_IPP_IND_LPSPI_SDI: usize = 7;
+ pub const LPSPI5_IPP_IND_LPSPI_SDO: usize = 8;
+ pub const LPUART11_IPP_IND_LPUART_RXD: usize = 9;
+ pub const LPUART11_IPP_IND_LPUART_TXD: usize = 10;
+ pub const LPUART12_IPP_IND_LPUART_RXD: usize = 11;
+ pub const LPUART12_IPP_IND_LPUART_TXD: usize = 12;
+ pub const MIC_IPP_IND_MIC_PDM_BITSTREAM_0: usize = 13;
+ pub const MIC_IPP_IND_MIC_PDM_BITSTREAM_1: usize = 14;
+ pub const MIC_IPP_IND_MIC_PDM_BITSTREAM_2: usize = 15;
+ pub const MIC_IPP_IND_MIC_PDM_BITSTREAM_3: usize = 16;
+ pub const NMI_GLUE_IPP_IND_NMI: usize = 17;
+ pub const SAI4_IPG_CLK_SAI_MCLK: usize = 18;
+ pub const SAI4_IPP_IND_SAI_RXBCLK: usize = 19;
+ pub const SAI4_IPP_IND_SAI_RXDATA_0: usize = 20;
+ pub const SAI4_IPP_IND_SAI_RXSYNC: usize = 21;
+ pub const SAI4_IPP_IND_SAI_TXBCLK: usize = 22;
+ pub const SAI4_IPP_IND_SAI_TXSYNC: usize = 23;
+ }
+
+ ral_registers::register! {
+ pub SELECT_INPUT<u32> RW []
+ }
+}
+
+pub mod iomuxc_aon {
+ #[repr(C)]
+ #[allow(non_snake_case)]
+ pub struct RegisterBlock {
+ pub SW_MUX_CTL_PAD: [u32; 29],
+ pub SW_PAD_CTL_PAD: [u32; 29],
+ pub SELECT_INPUT: [u32; 39],
+ }
+
+ #[doc(inline)]
+ pub use super::iomuxc::SW_MUX_CTL_PAD::common as SW_MUX_CTL_PAD;
+
+ ral_registers::register! {
+ pub SW_PAD_CTL_PAD<u32> RW [
+ #[doc = "Slew Rate Field"]
+ SRE start(0) width(1) RW {
+ FAST = 0,
+ SLOW = 0x1,
+ }
+ #[doc = "Drive Strength Field"]
+ DSE start(1) width(1) RW {
+ NORMAL = 0,
+ HIGH = 0x1,
+ }
+ #[doc = "Pull / Keep Select Field"]
+ PUE start(2) width(1) RW {}
+ #[doc = "Pull Up / Down Config. Field"]
+ PUS start(3) width(1) RW {
+ PULL_DOWN = 0,
+ PULL_UP = 0x1,
+ }
+ #[doc = "Open Drain Field"]
+ ODE start(4) width(1) RW {}
+ #[doc = "Domain write protection"]
+ DWP start(24) width(4) RW {}
+ #[doc = "Domain write protection lock"]
+ DWP_LOCK start(28) width(4) RW {}
+ ]
+ }
+
+ pub mod select_input {
+ pub const I3C1_PIN_SCL_IN: usize = 0;
+ pub const I3C1_PIN_SDA_IN: usize = 1;
+ pub const LPI2C1_IPP_IND_LPI2C_SCL: usize = 2;
+ pub const LPI2C1_IPP_IND_LPI2C_SDA: usize = 3;
+ pub const LPI2C2_IPP_IND_LPI2C_SCL: usize = 4;
+ pub const LPI2C2_IPP_IND_LPI2C_SDA: usize = 5;
+ pub const LPSPI1_IPP_IND_LPSPI_PCS_0: usize = 6;
+ pub const LPSPI1_IPP_IND_LPSPI_PCS_1: usize = 7;
+ pub const LPSPI1_IPP_IND_LPSPI_SCK: usize = 8;
+ pub const LPSPI1_IPP_IND_LPSPI_SDI: usize = 9;
+ pub const LPSPI1_IPP_IND_LPSPI_SDO: usize = 10;
+ pub const LPSPI2_IPP_IND_LPSPI_PCS_0: usize = 11;
+ pub const LPSPI2_IPP_IND_LPSPI_PCS_1: usize = 12;
+ pub const LPSPI2_IPP_IND_LPSPI_PCS_3: usize = 13;
+ pub const LPSPI2_IPP_IND_LPSPI_SCK: usize = 14;
+ pub const LPSPI2_IPP_IND_LPSPI_SDI: usize = 15;
+ pub const LPSPI2_IPP_IND_LPSPI_SDO: usize = 16;
+ pub const LPTMR1_IPP_IND_LPTIMER_1: usize = 17;
+ pub const LPTMR1_IPP_IND_LPTIMER_2: usize = 18;
+ pub const LPTMR1_IPP_IND_LPTIMER_3: usize = 19;
+ pub const LPUART1_IPP_IND_LPUART_CTS_N: usize = 20;
+ pub const LPUART1_IPP_IND_LPUART_DCD_N: usize = 21;
+ pub const LPUART1_IPP_IND_LPUART_DSR_N: usize = 22;
+ pub const LPUART12_IPP_IND_LPUART_CTS_N: usize = 23;
+ pub const LPUART12_IPP_IND_LPUART_RXD: usize = 24;
+ pub const LPUART12_IPP_IND_LPUART_TXD: usize = 25;
+ pub const LPUART2_IPP_IND_LPUART_CTS_N: usize = 26;
+ pub const LPUART2_IPP_IND_LPUART_RXD: usize = 27;
+ pub const LPUART2_IPP_IND_LPUART_TXD: usize = 28;
+ pub const LPUART7_IPP_IND_LPUART_CTS_N: usize = 29;
+ pub const LPUART7_IPP_IND_LPUART_RXD: usize = 30;
+ pub const LPUART7_IPP_IND_LPUART_TXD: usize = 31;
+ pub const SAI1_IPG_CLK_SAI_MCLK: usize = 32;
+ pub const SAI1_IPP_IND_SAI_RXBCLK: usize = 33;
+ pub const SAI1_IPP_IND_SAI_RXDATA_0: usize = 34;
+ pub const SAI1_IPP_IND_SAI_RXDATA_1: usize = 35;
+ pub const SAI1_IPP_IND_SAI_RXSYNC: usize = 36;
+ pub const SAI1_IPP_IND_SAI_TXBCLK: usize = 37;
+ pub const SAI1_IPP_IND_SAI_TXSYNC: usize = 38;
+ }
+
+ ral_registers::register! {
+ pub SELECT_INPUT<u32> RW []
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use core::mem::offset_of;
+
+ use super::iomuxc::RegisterBlock as Iomuxc;
+
+ #[test]
+ fn iomuxc_layout() {
+ assert_eq!(offset_of!(Iomuxc, SW_PAD_CTL_PAD.GPIO_AD), 0x350);
+ assert_eq!(offset_of!(Iomuxc, SELECT_INPUT), 0x498);
+ }
+}