// 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_

// Register write enable for all control registers.
#define PINMUX_REGEN(id) (PINMUX##id##_BASE_ADDR + 0x0)
#define PINMUX_REGEN 0

// Mux select for peripheral inputs.
#define PINMUX_PERIPH_INSEL0(id) (PINMUX##id##_BASE_ADDR + 0x4)
#define PINMUX_PERIPH_INSEL0_IN0_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN0_OFFSET 0
#define PINMUX_PERIPH_INSEL0_IN1_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN1_OFFSET 4
#define PINMUX_PERIPH_INSEL0_IN2_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN2_OFFSET 8
#define PINMUX_PERIPH_INSEL0_IN3_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN3_OFFSET 12
#define PINMUX_PERIPH_INSEL0_IN4_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN4_OFFSET 16
#define PINMUX_PERIPH_INSEL0_IN5_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN5_OFFSET 20
#define PINMUX_PERIPH_INSEL0_IN6_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN6_OFFSET 24
#define PINMUX_PERIPH_INSEL0_IN7_MASK 0xf
#define PINMUX_PERIPH_INSEL0_IN7_OFFSET 28

// Mux select for peripheral inputs.
#define PINMUX_PERIPH_INSEL1(id) (PINMUX##id##_BASE_ADDR + 0x8)
#define PINMUX_PERIPH_INSEL1_IN8_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN8_OFFSET 0
#define PINMUX_PERIPH_INSEL1_IN9_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN9_OFFSET 4
#define PINMUX_PERIPH_INSEL1_IN10_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN10_OFFSET 8
#define PINMUX_PERIPH_INSEL1_IN11_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN11_OFFSET 12
#define PINMUX_PERIPH_INSEL1_IN12_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN12_OFFSET 16
#define PINMUX_PERIPH_INSEL1_IN13_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN13_OFFSET 20
#define PINMUX_PERIPH_INSEL1_IN14_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN14_OFFSET 24
#define PINMUX_PERIPH_INSEL1_IN15_MASK 0xf
#define PINMUX_PERIPH_INSEL1_IN15_OFFSET 28

// Mux select for MIO outputs.
#define PINMUX_MIO_OUTSEL0(id) (PINMUX##id##_BASE_ADDR + 0xc)
#define PINMUX_MIO_OUTSEL0_OUT0_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT0_OFFSET 0
#define PINMUX_MIO_OUTSEL0_OUT1_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT1_OFFSET 5
#define PINMUX_MIO_OUTSEL0_OUT2_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT2_OFFSET 10
#define PINMUX_MIO_OUTSEL0_OUT3_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT3_OFFSET 15
#define PINMUX_MIO_OUTSEL0_OUT4_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT4_OFFSET 20
#define PINMUX_MIO_OUTSEL0_OUT5_MASK 0x1f
#define PINMUX_MIO_OUTSEL0_OUT5_OFFSET 25

// Mux select for MIO outputs.
#define PINMUX_MIO_OUTSEL1(id) (PINMUX##id##_BASE_ADDR + 0x10)
#define PINMUX_MIO_OUTSEL1_OUT6_MASK 0x1f
#define PINMUX_MIO_OUTSEL1_OUT6_OFFSET 0
#define PINMUX_MIO_OUTSEL1_OUT7_MASK 0x1f
#define PINMUX_MIO_OUTSEL1_OUT7_OFFSET 5

#endif  // _PINMUX_REG_DEFS_
// End generated register defines for PINMUX
