From 3903d9e7f492df8327719c7aa99b554c48ab0d1f Mon Sep 17 00:00:00 2001 From: liangkangnan Date: Fri, 17 Sep 2021 09:06:47 +0800 Subject: [PATCH] rtl:pinmux: add more spi mux Signed-off-by: liangkangnan --- fpga/xilinx/constrs/tinyriscv.xdc | 8 +- rtl/perips/pinmux/pinmux_core.sv | 60 +++-- sdk/bsp/include/pinmux.h | 406 +++++++++++++++--------------- 3 files changed, 246 insertions(+), 228 deletions(-) diff --git a/fpga/xilinx/constrs/tinyriscv.xdc b/fpga/xilinx/constrs/tinyriscv.xdc index 77ccd5f..7351148 100644 --- a/fpga/xilinx/constrs/tinyriscv.xdc +++ b/fpga/xilinx/constrs/tinyriscv.xdc @@ -64,13 +64,13 @@ set_property PACKAGE_PIN T15 [get_ports {io_pins[9]}] set_property IOSTANDARD LVCMOS33 [get_ports {io_pins[2]}] -set_property PACKAGE_PIN P5 [get_ports {io_pins[2]}] +set_property PACKAGE_PIN T13 [get_ports {io_pins[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {io_pins[1]}] -set_property PACKAGE_PIN L5 [get_ports {io_pins[1]}] +set_property PACKAGE_PIN R13 [get_ports {io_pins[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {io_pins[4]}] -set_property PACKAGE_PIN M2 [get_ports {io_pins[4]}] +set_property PACKAGE_PIN R7 [get_ports {io_pins[4]}] set_property IOSTANDARD LVCMOS33 [get_ports {io_pins[5]}] -set_property PACKAGE_PIN N12 [get_ports {io_pins[5]}] +set_property PACKAGE_PIN R6 [get_ports {io_pins[5]}] # JTAG TCK引脚 diff --git a/rtl/perips/pinmux/pinmux_core.sv b/rtl/perips/pinmux/pinmux_core.sv index 1934761..dbcb7e4 100644 --- a/rtl/perips/pinmux/pinmux_core.sv +++ b/rtl/perips/pinmux/pinmux_core.sv @@ -153,10 +153,10 @@ module pinmux_core #( io_val_o[1] = uart_rx_val_i[1]; io_oe_o[1] = uart_rx_oe_i[1]; end - // GPIO1 + // SPI_DQ0 2'b11: begin - io_val_o[1] = gpio_val_i[1]; - io_oe_o[1] = gpio_oe_i[1]; + io_val_o[1] = spi_dq_val_i[0][0]; + io_oe_o[1] = spi_dq_oe_i[0][0]; end default: ; endcase @@ -183,10 +183,10 @@ module pinmux_core #( io_val_o[2] = uart_rx_val_i[2]; io_oe_o[2] = uart_rx_oe_i[2]; end - // GPIO2 + // SPI_DQ1 2'b11: begin - io_val_o[2] = gpio_val_i[2]; - io_oe_o[2] = gpio_oe_i[2]; + io_val_o[2] = spi_dq_val_i[0][1]; + io_oe_o[2] = spi_dq_oe_i[0][1]; end default: ; endcase @@ -243,10 +243,10 @@ module pinmux_core #( io_val_o[4] = uart_rx_val_i[1]; io_oe_o[4] = uart_rx_oe_i[1]; end - // GPIO4 + // SPI_DQ2 2'b11: begin - io_val_o[4] = gpio_val_i[4]; - io_oe_o[4] = gpio_oe_i[4]; + io_val_o[4] = spi_dq_val_i[0][2]; + io_oe_o[4] = spi_dq_oe_i[0][2]; end default: ; endcase @@ -273,10 +273,10 @@ module pinmux_core #( io_val_o[5] = uart_rx_val_i[2]; io_oe_o[5] = uart_rx_oe_i[2]; end - // GPIO5 + // SPI_DQ3 2'b11: begin - io_val_o[5] = gpio_val_i[5]; - io_oe_o[5] = gpio_oe_i[5]; + io_val_o[5] = spi_dq_val_i[0][3]; + io_oe_o[5] = spi_dq_oe_i[0][3]; end default: ; endcase @@ -303,10 +303,10 @@ module pinmux_core #( io_val_o[6] = i2c_sda_val_i[0]; io_oe_o[6] = i2c_sda_oe_i[0]; end - // GPIO6 + // SPI_CLK 2'b11: begin - io_val_o[6] = gpio_val_i[6]; - io_oe_o[6] = gpio_oe_i[6]; + io_val_o[6] = spi_clk_val_i[0]; + io_oe_o[6] = spi_clk_oe_i[0]; end default: ; endcase @@ -363,10 +363,10 @@ module pinmux_core #( io_val_o[8] = i2c_sda_val_i[0]; io_oe_o[8] = i2c_sda_oe_i[0]; end - // GPIO8 + // SPI_SS 2'b11: begin - io_val_o[8] = gpio_val_i[8]; - io_oe_o[8] = gpio_oe_i[8]; + io_val_o[8] = spi_ss_val_i[0]; + io_oe_o[8] = spi_ss_oe_i[0]; end default: ; endcase @@ -591,12 +591,24 @@ module pinmux_core #( (io9_mux == 2'b10) ? io_val_i[9] : 1'b0; - assign spi_clk_val_o[0] = (io10_mux == 2'b01) ? io_val_i[10] : 1'b0; - assign spi_ss_val_o[0] = (io11_mux == 2'b01) ? io_val_i[11] : 1'b0; - assign spi_dq_val_o[0][0] = (io12_mux == 2'b01) ? io_val_i[12] : 1'b0; - assign spi_dq_val_o[0][1] = (io13_mux == 2'b01) ? io_val_i[13] : 1'b0; - assign spi_dq_val_o[0][2] = (io14_mux == 2'b01) ? io_val_i[14] : 1'b0; - assign spi_dq_val_o[0][3] = (io15_mux == 2'b01) ? io_val_i[15] : 1'b0; + assign spi_clk_val_o[0] = (io10_mux == 2'b01) ? io_val_i[10] : + (io6_mux == 2'b11) ? io_val_i[6] : + 1'b0; + assign spi_ss_val_o[0] = (io11_mux == 2'b01) ? io_val_i[11] : + (io8_mux == 2'b11) ? io_val_i[8] : + 1'b0; + assign spi_dq_val_o[0][0] = (io12_mux == 2'b01) ? io_val_i[12] : + (io1_mux == 2'b11) ? io_val_i[1] : + 1'b0; + assign spi_dq_val_o[0][1] = (io13_mux == 2'b01) ? io_val_i[13] : + (io2_mux == 2'b11) ? io_val_i[2] : + 1'b0; + assign spi_dq_val_o[0][2] = (io14_mux == 2'b01) ? io_val_i[14] : + (io4_mux == 2'b11) ? io_val_i[4] : + 1'b0; + assign spi_dq_val_o[0][3] = (io15_mux == 2'b01) ? io_val_i[15] : + (io5_mux == 2'b11) ? io_val_i[5] : + 1'b0; pinmux_reg_top u_pinmux_reg_top ( .clk_i (clk_i), diff --git a/sdk/bsp/include/pinmux.h b/sdk/bsp/include/pinmux.h index aa9f807..d166699 100644 --- a/sdk/bsp/include/pinmux.h +++ b/sdk/bsp/include/pinmux.h @@ -1,201 +1,207 @@ -// Generated register defines for pinmux - -// Copyright information found in source file: -// Copyright lowRISC contributors. - -// Licensing information found in source file: -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#ifndef _PINMUX_REG_DEFS_ -#define _PINMUX_REG_DEFS_ - -#ifdef __cplusplus -extern "C" { -#endif -// Register width -#define PINMUX_PARAM_REG_WIDTH 32 - -#define PINMUX_BASE_ADDR (0x08000000) -#define PINMUX_REG(offset) (*((volatile uint32_t *)(PINMUX_BASE_ADDR + offset))) - -typedef enum { - IO0_GPIO0 = 0x0, - IO0_UART0_TX, - IO0_UART0_RX, -} pinmux_io0_e; - -typedef enum { - IO1_GPIO1 = 0x0, - IO1_UART1_TX, - IO1_UART1_RX, -} pinmux_io1_e; - -typedef enum { - IO2_GPIO2 = 0x0, - IO2_UART2_TX, - IO2_UART2_RX, -} pinmux_io2_e; - -typedef enum { - IO3_GPIO3 = 0x0, - IO3_UART0_TX, - IO3_UART0_RX, -} pinmux_io3_e; - -typedef enum { - IO4_GPIO4 = 0x0, - IO4_UART1_TX, - IO4_UART1_RX, -} pinmux_io4_e; - -typedef enum { - IO5_GPIO5 = 0x0, - IO5_UART2_TX, - IO5_UART2_RX, -} pinmux_io5_e; - -typedef enum { - IO6_GPIO6 = 0x0, - IO6_I2C0_SCL, - IO6_I2C0_SDA, -} pinmux_io6_e; - -typedef enum { - IO7_GPIO7 = 0x0, - IO7_I2C1_SCL, - IO7_I2C1_SDA, -} pinmux_io7_e; - -typedef enum { - IO8_GPIO8 = 0x0, - IO8_I2C0_SCL, - IO8_I2C0_SDA, -} pinmux_io8_e; - -typedef enum { - IO9_GPIO9 = 0x0, - IO9_I2C1_SCL, - IO9_I2C1_SDA, -} pinmux_io9_e; - -typedef enum { - IO10_GPIO10 = 0x0, - IO10_SPI_CLK, -} pinmux_io10_e; - -typedef enum { - IO11_GPIO11 = 0x0, - IO11_SPI_SS, -} pinmux_io11_e; - -typedef enum { - IO12_GPIO12 = 0x0, - IO12_SPI_DQ0, -} pinmux_io12_e; - -typedef enum { - IO13_GPIO13 = 0x0, - IO13_SPI_DQ1, -} pinmux_io13_e; - -typedef enum { - IO14_GPIO14 = 0x0, - IO14_SPI_DQ2, -} pinmux_io14_e; - -typedef enum { - IO15_GPIO15 = 0x0, - IO15_SPI_DQ3, -} pinmux_io15_e; - -void pinmux_set_io0_func(pinmux_io0_e func); -void pinmux_set_io1_func(pinmux_io1_e func); -void pinmux_set_io2_func(pinmux_io2_e func); -void pinmux_set_io3_func(pinmux_io3_e func); -void pinmux_set_io4_func(pinmux_io4_e func); -void pinmux_set_io5_func(pinmux_io5_e func); -void pinmux_set_io6_func(pinmux_io6_e func); -void pinmux_set_io7_func(pinmux_io7_e func); -void pinmux_set_io8_func(pinmux_io8_e func); -void pinmux_set_io9_func(pinmux_io9_e func); -void pinmux_set_io10_func(pinmux_io10_e func); -void pinmux_set_io11_func(pinmux_io11_e func); -void pinmux_set_io12_func(pinmux_io12_e func); -void pinmux_set_io13_func(pinmux_io13_e func); -void pinmux_set_io14_func(pinmux_io14_e func); -void pinmux_set_io15_func(pinmux_io15_e func); - -// Pinmux control register -#define PINMUX_CTRL_REG_OFFSET 0x0 -#define PINMUX_CTRL_REG_RESVAL 0x0 -#define PINMUX_CTRL_IO0_MUX_MASK 0x3 -#define PINMUX_CTRL_IO0_MUX_OFFSET 0 -#define PINMUX_CTRL_IO0_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO0_MUX_MASK, .index = PINMUX_CTRL_IO0_MUX_OFFSET }) -#define PINMUX_CTRL_IO1_MUX_MASK 0x3 -#define PINMUX_CTRL_IO1_MUX_OFFSET 2 -#define PINMUX_CTRL_IO1_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO1_MUX_MASK, .index = PINMUX_CTRL_IO1_MUX_OFFSET }) -#define PINMUX_CTRL_IO2_MUX_MASK 0x3 -#define PINMUX_CTRL_IO2_MUX_OFFSET 4 -#define PINMUX_CTRL_IO2_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO2_MUX_MASK, .index = PINMUX_CTRL_IO2_MUX_OFFSET }) -#define PINMUX_CTRL_IO3_MUX_MASK 0x3 -#define PINMUX_CTRL_IO3_MUX_OFFSET 6 -#define PINMUX_CTRL_IO3_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO3_MUX_MASK, .index = PINMUX_CTRL_IO3_MUX_OFFSET }) -#define PINMUX_CTRL_IO4_MUX_MASK 0x3 -#define PINMUX_CTRL_IO4_MUX_OFFSET 8 -#define PINMUX_CTRL_IO4_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO4_MUX_MASK, .index = PINMUX_CTRL_IO4_MUX_OFFSET }) -#define PINMUX_CTRL_IO5_MUX_MASK 0x3 -#define PINMUX_CTRL_IO5_MUX_OFFSET 10 -#define PINMUX_CTRL_IO5_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO5_MUX_MASK, .index = PINMUX_CTRL_IO5_MUX_OFFSET }) -#define PINMUX_CTRL_IO6_MUX_MASK 0x3 -#define PINMUX_CTRL_IO6_MUX_OFFSET 12 -#define PINMUX_CTRL_IO6_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO6_MUX_MASK, .index = PINMUX_CTRL_IO6_MUX_OFFSET }) -#define PINMUX_CTRL_IO7_MUX_MASK 0x3 -#define PINMUX_CTRL_IO7_MUX_OFFSET 14 -#define PINMUX_CTRL_IO7_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO7_MUX_MASK, .index = PINMUX_CTRL_IO7_MUX_OFFSET }) -#define PINMUX_CTRL_IO8_MUX_MASK 0x3 -#define PINMUX_CTRL_IO8_MUX_OFFSET 16 -#define PINMUX_CTRL_IO8_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO8_MUX_MASK, .index = PINMUX_CTRL_IO8_MUX_OFFSET }) -#define PINMUX_CTRL_IO9_MUX_MASK 0x3 -#define PINMUX_CTRL_IO9_MUX_OFFSET 18 -#define PINMUX_CTRL_IO9_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO9_MUX_MASK, .index = PINMUX_CTRL_IO9_MUX_OFFSET }) -#define PINMUX_CTRL_IO10_MUX_MASK 0x3 -#define PINMUX_CTRL_IO10_MUX_OFFSET 20 -#define PINMUX_CTRL_IO10_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO10_MUX_MASK, .index = PINMUX_CTRL_IO10_MUX_OFFSET }) -#define PINMUX_CTRL_IO11_MUX_MASK 0x3 -#define PINMUX_CTRL_IO11_MUX_OFFSET 22 -#define PINMUX_CTRL_IO11_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO11_MUX_MASK, .index = PINMUX_CTRL_IO11_MUX_OFFSET }) -#define PINMUX_CTRL_IO12_MUX_MASK 0x3 -#define PINMUX_CTRL_IO12_MUX_OFFSET 24 -#define PINMUX_CTRL_IO12_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO12_MUX_MASK, .index = PINMUX_CTRL_IO12_MUX_OFFSET }) -#define PINMUX_CTRL_IO13_MUX_MASK 0x3 -#define PINMUX_CTRL_IO13_MUX_OFFSET 26 -#define PINMUX_CTRL_IO13_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO13_MUX_MASK, .index = PINMUX_CTRL_IO13_MUX_OFFSET }) -#define PINMUX_CTRL_IO14_MUX_MASK 0x3 -#define PINMUX_CTRL_IO14_MUX_OFFSET 28 -#define PINMUX_CTRL_IO14_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO14_MUX_MASK, .index = PINMUX_CTRL_IO14_MUX_OFFSET }) -#define PINMUX_CTRL_IO15_MUX_MASK 0x3 -#define PINMUX_CTRL_IO15_MUX_OFFSET 30 -#define PINMUX_CTRL_IO15_MUX_FIELD \ - ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO15_MUX_MASK, .index = PINMUX_CTRL_IO15_MUX_OFFSET }) - -#ifdef __cplusplus -} // extern "C" -#endif -#endif // _PINMUX_REG_DEFS_ +// Generated register defines for pinmux + +// Copyright information found in source file: +// Copyright lowRISC contributors. + +// Licensing information found in source file: +// Licensed under the Apache License, Version 2.0, see LICENSE for details. +// SPDX-License-Identifier: Apache-2.0 + +#ifndef _PINMUX_REG_DEFS_ +#define _PINMUX_REG_DEFS_ + +#ifdef __cplusplus +extern "C" { +#endif +// Register width +#define PINMUX_PARAM_REG_WIDTH 32 + +#define PINMUX_BASE_ADDR (0x08000000) +#define PINMUX_REG(offset) (*((volatile uint32_t *)(PINMUX_BASE_ADDR + offset))) + +typedef enum { + IO0_GPIO0 = 0x0, + IO0_UART0_TX, + IO0_UART0_RX, +} pinmux_io0_e; + +typedef enum { + IO1_GPIO1 = 0x0, + IO1_UART1_TX, + IO1_UART1_RX, + IO1_SPI_DQ0, +} pinmux_io1_e; + +typedef enum { + IO2_GPIO2 = 0x0, + IO2_UART2_TX, + IO2_UART2_RX, + IO2_SPI_DQ1, +} pinmux_io2_e; + +typedef enum { + IO3_GPIO3 = 0x0, + IO3_UART0_TX, + IO3_UART0_RX, +} pinmux_io3_e; + +typedef enum { + IO4_GPIO4 = 0x0, + IO4_UART1_TX, + IO4_UART1_RX, + IO4_SPI_DQ2, +} pinmux_io4_e; + +typedef enum { + IO5_GPIO5 = 0x0, + IO5_UART2_TX, + IO5_UART2_RX, + IO5_SPI_DQ3, +} pinmux_io5_e; + +typedef enum { + IO6_GPIO6 = 0x0, + IO6_I2C0_SCL, + IO6_I2C0_SDA, + IO6_SPI_CLK, +} pinmux_io6_e; + +typedef enum { + IO7_GPIO7 = 0x0, + IO7_I2C1_SCL, + IO7_I2C1_SDA, +} pinmux_io7_e; + +typedef enum { + IO8_GPIO8 = 0x0, + IO8_I2C0_SCL, + IO8_I2C0_SDA, + IO8_SPI_SS, +} pinmux_io8_e; + +typedef enum { + IO9_GPIO9 = 0x0, + IO9_I2C1_SCL, + IO9_I2C1_SDA, +} pinmux_io9_e; + +typedef enum { + IO10_GPIO10 = 0x0, + IO10_SPI_CLK, +} pinmux_io10_e; + +typedef enum { + IO11_GPIO11 = 0x0, + IO11_SPI_SS, +} pinmux_io11_e; + +typedef enum { + IO12_GPIO12 = 0x0, + IO12_SPI_DQ0, +} pinmux_io12_e; + +typedef enum { + IO13_GPIO13 = 0x0, + IO13_SPI_DQ1, +} pinmux_io13_e; + +typedef enum { + IO14_GPIO14 = 0x0, + IO14_SPI_DQ2, +} pinmux_io14_e; + +typedef enum { + IO15_GPIO15 = 0x0, + IO15_SPI_DQ3, +} pinmux_io15_e; + +void pinmux_set_io0_func(pinmux_io0_e func); +void pinmux_set_io1_func(pinmux_io1_e func); +void pinmux_set_io2_func(pinmux_io2_e func); +void pinmux_set_io3_func(pinmux_io3_e func); +void pinmux_set_io4_func(pinmux_io4_e func); +void pinmux_set_io5_func(pinmux_io5_e func); +void pinmux_set_io6_func(pinmux_io6_e func); +void pinmux_set_io7_func(pinmux_io7_e func); +void pinmux_set_io8_func(pinmux_io8_e func); +void pinmux_set_io9_func(pinmux_io9_e func); +void pinmux_set_io10_func(pinmux_io10_e func); +void pinmux_set_io11_func(pinmux_io11_e func); +void pinmux_set_io12_func(pinmux_io12_e func); +void pinmux_set_io13_func(pinmux_io13_e func); +void pinmux_set_io14_func(pinmux_io14_e func); +void pinmux_set_io15_func(pinmux_io15_e func); + +// Pinmux control register +#define PINMUX_CTRL_REG_OFFSET 0x0 +#define PINMUX_CTRL_REG_RESVAL 0x0 +#define PINMUX_CTRL_IO0_MUX_MASK 0x3 +#define PINMUX_CTRL_IO0_MUX_OFFSET 0 +#define PINMUX_CTRL_IO0_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO0_MUX_MASK, .index = PINMUX_CTRL_IO0_MUX_OFFSET }) +#define PINMUX_CTRL_IO1_MUX_MASK 0x3 +#define PINMUX_CTRL_IO1_MUX_OFFSET 2 +#define PINMUX_CTRL_IO1_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO1_MUX_MASK, .index = PINMUX_CTRL_IO1_MUX_OFFSET }) +#define PINMUX_CTRL_IO2_MUX_MASK 0x3 +#define PINMUX_CTRL_IO2_MUX_OFFSET 4 +#define PINMUX_CTRL_IO2_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO2_MUX_MASK, .index = PINMUX_CTRL_IO2_MUX_OFFSET }) +#define PINMUX_CTRL_IO3_MUX_MASK 0x3 +#define PINMUX_CTRL_IO3_MUX_OFFSET 6 +#define PINMUX_CTRL_IO3_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO3_MUX_MASK, .index = PINMUX_CTRL_IO3_MUX_OFFSET }) +#define PINMUX_CTRL_IO4_MUX_MASK 0x3 +#define PINMUX_CTRL_IO4_MUX_OFFSET 8 +#define PINMUX_CTRL_IO4_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO4_MUX_MASK, .index = PINMUX_CTRL_IO4_MUX_OFFSET }) +#define PINMUX_CTRL_IO5_MUX_MASK 0x3 +#define PINMUX_CTRL_IO5_MUX_OFFSET 10 +#define PINMUX_CTRL_IO5_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO5_MUX_MASK, .index = PINMUX_CTRL_IO5_MUX_OFFSET }) +#define PINMUX_CTRL_IO6_MUX_MASK 0x3 +#define PINMUX_CTRL_IO6_MUX_OFFSET 12 +#define PINMUX_CTRL_IO6_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO6_MUX_MASK, .index = PINMUX_CTRL_IO6_MUX_OFFSET }) +#define PINMUX_CTRL_IO7_MUX_MASK 0x3 +#define PINMUX_CTRL_IO7_MUX_OFFSET 14 +#define PINMUX_CTRL_IO7_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO7_MUX_MASK, .index = PINMUX_CTRL_IO7_MUX_OFFSET }) +#define PINMUX_CTRL_IO8_MUX_MASK 0x3 +#define PINMUX_CTRL_IO8_MUX_OFFSET 16 +#define PINMUX_CTRL_IO8_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO8_MUX_MASK, .index = PINMUX_CTRL_IO8_MUX_OFFSET }) +#define PINMUX_CTRL_IO9_MUX_MASK 0x3 +#define PINMUX_CTRL_IO9_MUX_OFFSET 18 +#define PINMUX_CTRL_IO9_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO9_MUX_MASK, .index = PINMUX_CTRL_IO9_MUX_OFFSET }) +#define PINMUX_CTRL_IO10_MUX_MASK 0x3 +#define PINMUX_CTRL_IO10_MUX_OFFSET 20 +#define PINMUX_CTRL_IO10_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO10_MUX_MASK, .index = PINMUX_CTRL_IO10_MUX_OFFSET }) +#define PINMUX_CTRL_IO11_MUX_MASK 0x3 +#define PINMUX_CTRL_IO11_MUX_OFFSET 22 +#define PINMUX_CTRL_IO11_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO11_MUX_MASK, .index = PINMUX_CTRL_IO11_MUX_OFFSET }) +#define PINMUX_CTRL_IO12_MUX_MASK 0x3 +#define PINMUX_CTRL_IO12_MUX_OFFSET 24 +#define PINMUX_CTRL_IO12_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO12_MUX_MASK, .index = PINMUX_CTRL_IO12_MUX_OFFSET }) +#define PINMUX_CTRL_IO13_MUX_MASK 0x3 +#define PINMUX_CTRL_IO13_MUX_OFFSET 26 +#define PINMUX_CTRL_IO13_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO13_MUX_MASK, .index = PINMUX_CTRL_IO13_MUX_OFFSET }) +#define PINMUX_CTRL_IO14_MUX_MASK 0x3 +#define PINMUX_CTRL_IO14_MUX_OFFSET 28 +#define PINMUX_CTRL_IO14_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO14_MUX_MASK, .index = PINMUX_CTRL_IO14_MUX_OFFSET }) +#define PINMUX_CTRL_IO15_MUX_MASK 0x3 +#define PINMUX_CTRL_IO15_MUX_OFFSET 30 +#define PINMUX_CTRL_IO15_MUX_FIELD \ + ((bitfield_field32_t) { .mask = PINMUX_CTRL_IO15_MUX_MASK, .index = PINMUX_CTRL_IO15_MUX_OFFSET }) + +#ifdef __cplusplus +} // extern "C" +#endif +#endif // _PINMUX_REG_DEFS_ // End generated register defines for pinmux \ No newline at end of file