// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

use crate::with_unknown;

with_unknown! {
    pub enum PinmuxPeripheralIn: u32 [default = Self::End] {
        GpioGpio0 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio0,
        GpioGpio1 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio1,
        GpioGpio2 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio2,
        GpioGpio3 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio3,
        GpioGpio4 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio4,
        GpioGpio5 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio5,
        GpioGpio6 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio6,
        GpioGpio7 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio7,
        GpioGpio8 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio8,
        GpioGpio9 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio9,
        GpioGpio10 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio10,
        GpioGpio11 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio11,
        GpioGpio12 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio12,
        GpioGpio13 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio13,
        GpioGpio14 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio14,
        GpioGpio15 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio15,
        GpioGpio16 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio16,
        GpioGpio17 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio17,
        GpioGpio18 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio18,
        GpioGpio19 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio19,
        GpioGpio20 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio20,
        GpioGpio21 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio21,
        GpioGpio22 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio22,
        GpioGpio23 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio23,
        GpioGpio24 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio24,
        GpioGpio25 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio25,
        GpioGpio26 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio26,
        GpioGpio27 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio27,
        GpioGpio28 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio28,
        GpioGpio29 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio29,
        GpioGpio30 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio30,
        GpioGpio31 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInGpioGpio31,
        I2c0Sda = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c0Sda,
        I2c0Scl = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c0Scl,
        I2c1Sda = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c1Sda,
        I2c1Scl = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c1Scl,
        I2c2Sda = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c2Sda,
        I2c2Scl = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInI2c2Scl,
        SpiHost1Sd0 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSpiHost1Sd0,
        SpiHost1Sd1 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSpiHost1Sd1,
        SpiHost1Sd2 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSpiHost1Sd2,
        SpiHost1Sd3 = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSpiHost1Sd3,
        Uart0Rx = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInUart0Rx,
        Uart1Rx = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInUart1Rx,
        Uart2Rx = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInUart2Rx,
        Uart3Rx = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInUart3Rx,
        SpiDeviceTpmCsb = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSpiDeviceTpmCsb,
        FlashCtrlTck = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInFlashCtrlTck,
        FlashCtrlTms = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInFlashCtrlTms,
        FlashCtrlTdi = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInFlashCtrlTdi,
        SysrstCtrlAonAcPresent = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonAcPresent,
        SysrstCtrlAonKey0In = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey0In,
        SysrstCtrlAonKey1In = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey1In,
        SysrstCtrlAonKey2In = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey2In,
        SysrstCtrlAonPwrbIn = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonPwrbIn,
        SysrstCtrlAonLidOpen = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonLidOpen,
        UsbdevSense = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInUsbdevSense,
        End = bindgen::earlgrey::top_earlgrey_pinmux_peripheral_in_kTopEarlgreyPinmuxPeripheralInLast + 1,
    }

    pub enum PinmuxInsel: u32 [default = Self::End] {
        ConstantZero = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselConstantZero,
        ConstantOne = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselConstantOne,
        Ioa0 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa0,
        Ioa1 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa1,
        Ioa2 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa2,
        Ioa3 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa3,
        Ioa4 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa4,
        Ioa5 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa5,
        Ioa6 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa6,
        Ioa7 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa7,
        Ioa8 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoa8,
        Iob0 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob0,
        Iob1 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob1,
        Iob2 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob2,
        Iob3 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob3,
        Iob4 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob4,
        Iob5 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob5,
        Iob6 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob6,
        Iob7 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob7,
        Iob8 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob8,
        Iob9 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob9,
        Iob10 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob10,
        Iob11 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob11,
        Iob12 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIob12,
        Ioc0 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc0,
        Ioc1 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc1,
        Ioc2 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc2,
        Ioc3 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc3,
        Ioc4 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc4,
        Ioc5 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc5,
        Ioc6 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc6,
        Ioc7 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc7,
        Ioc8 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc8,
        Ioc9 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc9,
        Ioc10 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc10,
        Ioc11 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc11,
        Ioc12 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIoc12,
        Ior0 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor0,
        Ior1 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor1,
        Ior2 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor2,
        Ior3 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor3,
        Ior4 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor4,
        Ior5 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor5,
        Ior6 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor6,
        Ior7 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor7,
        Ior10 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor10,
        Ior11 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor11,
        Ior12 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor12,
        Ior13 = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselIor13,
        End = bindgen::earlgrey::top_earlgrey_pinmux_insel_kTopEarlgreyPinmuxInselLast + 1,
    }

    pub enum PinmuxMioOut: u32 [default = Self::End] {
        Ioa0 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa0,
        Ioa1 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa1,
        Ioa2 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa2,
        Ioa3 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa3,
        Ioa4 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa4,
        Ioa5 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa5,
        Ioa6 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa6,
        Ioa7 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa7,
        Ioa8 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoa8,
        Iob0 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob0,
        Iob1 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob1,
        Iob2 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob2,
        Iob3 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob3,
        Iob4 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob4,
        Iob5 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob5,
        Iob6 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob6,
        Iob7 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob7,
        Iob8 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob8,
        Iob9 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob9,
        Iob10 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob10,
        Iob11 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob11,
        Iob12 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIob12,
        Ioc0 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc0,
        Ioc1 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc1,
        Ioc2 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc2,
        Ioc3 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc3,
        Ioc4 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc4,
        Ioc5 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc5,
        Ioc6 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc6,
        Ioc7 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc7,
        Ioc8 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc8,
        Ioc9 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc9,
        Ioc10 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc10,
        Ioc11 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc11,
        Ioc12 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIoc12,
        Ior0 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor0,
        Ior1 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor1,
        Ior2 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor2,
        Ior3 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor3,
        Ior4 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor4,
        Ior5 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor5,
        Ior6 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor6,
        Ior7 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor7,
        Ior10 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor10,
        Ior11 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor11,
        Ior12 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor12,
        Ior13 = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutIor13,
        End = bindgen::earlgrey::top_earlgrey_pinmux_mio_out_kTopEarlgreyPinmuxMioOutLast + 1,
    }

    pub enum PinmuxOutsel: u32 [default = Self::End] {
        ConstantZero = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselConstantZero,
        ConstantOne = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselConstantOne,
        ConstantHighZ = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselConstantHighZ,
        GpioGpio0 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio0,
        GpioGpio1 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio1,
        GpioGpio2 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio2,
        GpioGpio3 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio3,
        GpioGpio4 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio4,
        GpioGpio5 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio5,
        GpioGpio6 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio6,
        GpioGpio7 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio7,
        GpioGpio8 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio8,
        GpioGpio9 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio9,
        GpioGpio10 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio10,
        GpioGpio11 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio11,
        GpioGpio12 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio12,
        GpioGpio13 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio13,
        GpioGpio14 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio14,
        GpioGpio15 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio15,
        GpioGpio16 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio16,
        GpioGpio17 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio17,
        GpioGpio18 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio18,
        GpioGpio19 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio19,
        GpioGpio20 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio20,
        GpioGpio21 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio21,
        GpioGpio22 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio22,
        GpioGpio23 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio23,
        GpioGpio24 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio24,
        GpioGpio25 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio25,
        GpioGpio26 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio26,
        GpioGpio27 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio27,
        GpioGpio28 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio28,
        GpioGpio29 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio29,
        GpioGpio30 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio30,
        GpioGpio31 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselGpioGpio31,
        I2c0Sda = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c0Sda,
        I2c0Scl = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c0Scl,
        I2c1Sda = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c1Sda,
        I2c1Scl = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c1Scl,
        I2c2Sda = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c2Sda,
        I2c2Scl = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselI2c2Scl,
        SpiHost1Sd0 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Sd0,
        SpiHost1Sd1 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Sd1,
        SpiHost1Sd2 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Sd2,
        SpiHost1Sd3 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Sd3,
        Uart0Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselUart0Tx,
        Uart1Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselUart1Tx,
        Uart2Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselUart2Tx,
        Uart3Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselUart3Tx,
        PattgenPda0Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPattgenPda0Tx,
        PattgenPcl0Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPattgenPcl0Tx,
        PattgenPda1Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPattgenPda1Tx,
        PattgenPcl1Tx = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPattgenPcl1Tx,
        SpiHost1Sck = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Sck,
        SpiHost1Csb = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSpiHost1Csb,
        FlashCtrlTdo = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselFlashCtrlTdo,
        SensorCtrlAstDebugOut0 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut0,
        SensorCtrlAstDebugOut1 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut1,
        SensorCtrlAstDebugOut2 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut2,
        SensorCtrlAstDebugOut3 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut3,
        SensorCtrlAstDebugOut4 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut4,
        SensorCtrlAstDebugOut5 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut5,
        SensorCtrlAstDebugOut6 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut6,
        SensorCtrlAstDebugOut7 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut7,
        SensorCtrlAstDebugOut8 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut8,
        PwmAonPwm0 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm0,
        PwmAonPwm1 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm1,
        PwmAonPwm2 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm2,
        PwmAonPwm3 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm3,
        PwmAonPwm4 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm4,
        PwmAonPwm5 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselPwmAonPwm5,
        OtpCtrlTest0 = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselOtpCtrlTest0,
        SysrstCtrlAonBatDisable = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonBatDisable,
        SysrstCtrlAonKey0Out = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonKey0Out,
        SysrstCtrlAonKey1Out = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonKey1Out,
        SysrstCtrlAonKey2Out = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonKey2Out,
        SysrstCtrlAonPwrbOut = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonPwrbOut,
        SysrstCtrlAonZ3Wakeup = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselSysrstCtrlAonZ3Wakeup,
        End = bindgen::earlgrey::top_earlgrey_pinmux_outsel_kTopEarlgreyPinmuxOutselLast + 1,
    }

    pub enum DirectPads: u32 [default = Self::End] {
        UsbdevUsbDp = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsUsbdevUsbDp,
        UsbdevUsbDn = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsUsbdevUsbDn,
        SpiHost0Sd0 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Sd0,
        SpiHost0Sd1 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Sd1,
        SpiHost0Sd2 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Sd2,
        SpiHost0Sd3 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Sd3,
        SpiDeviceSd0 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceSd0,
        SpiDeviceSd1 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceSd1,
        SpiDeviceSd2 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceSd2,
        SpiDeviceSd3 = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceSd3,
        SysrstCtrlAonEcRstL = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSysrstCtrlAonEcRstL,
        SysrstCtrlAonFlashWpL = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSysrstCtrlAonFlashWpL,
        SpiDeviceSck = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceSck,
        SpiDeviceCsb = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiDeviceCsb,
        SpiHost0Sck = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Sck,
        SpiHost0Csb = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsSpiHost0Csb,
        End = bindgen::earlgrey::top_earlgrey_direct_pads_kTopEarlgreyDirectPadsLast + 1,
    }

    pub enum MuxedPads: u32 [default = Self::End] {
        Ioa0 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa0,
        Ioa1 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa1,
        Ioa2 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa2,
        Ioa3 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa3,
        Ioa4 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa4,
        Ioa5 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa5,
        Ioa6 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa6,
        Ioa7 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa7,
        Ioa8 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoa8,
        Iob0 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob0,
        Iob1 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob1,
        Iob2 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob2,
        Iob3 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob3,
        Iob4 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob4,
        Iob5 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob5,
        Iob6 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob6,
        Iob7 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob7,
        Iob8 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob8,
        Iob9 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob9,
        Iob10 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob10,
        Iob11 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob11,
        Iob12 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIob12,
        Ioc0 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc0,
        Ioc1 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc1,
        Ioc2 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc2,
        Ioc3 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc3,
        Ioc4 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc4,
        Ioc5 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc5,
        Ioc6 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc6,
        Ioc7 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc7,
        Ioc8 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc8,
        Ioc9 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc9,
        Ioc10 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc10,
        Ioc11 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc11,
        Ioc12 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIoc12,
        Ior0 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor0,
        Ior1 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor1,
        Ior2 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor2,
        Ior3 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor3,
        Ior4 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor4,
        Ior5 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor5,
        Ior6 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor6,
        Ior7 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor7,
        Ior10 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor10,
        Ior11 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor11,
        Ior12 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor12,
        Ior13 = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsIor13,
        End = bindgen::earlgrey::top_earlgrey_muxed_pads_kTopEarlgreyMuxedPadsLast + 1,
    }
}

#[allow(non_camel_case_types)]
pub mod ujson_alias {
    use super::*;
    // Create aliases for the C names of these types so that the ujson
    // created structs can access these structures by their C names.
    pub type pinmux_peripheral_in_t = PinmuxPeripheralIn;
    pub type pinmux_insel_t = PinmuxInsel;
    pub type pinmux_mio_out_t = PinmuxMioOut;
    pub type pinmux_outsel_t = PinmuxOutsel;
}
