/*
 * This file is auto-generated, do not modify!
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */

#pragma once
#include <fwupdplugin.h>
/**
 * FuParadeLspconDeviceKind:
 */
typedef enum {
    /**
     * FU_PARADE_LSPCON_DEVICE_KIND_UNKNOWN:
     */
    FU_PARADE_LSPCON_DEVICE_KIND_UNKNOWN,
    /**
     * FU_PARADE_LSPCON_DEVICE_KIND_PS175:
     */
    FU_PARADE_LSPCON_DEVICE_KIND_PS175,
    /**
     * FU_PARADE_LSPCON_DEVICE_KIND_PS185:
     */
    FU_PARADE_LSPCON_DEVICE_KIND_PS185,
}  FuParadeLspconDeviceKind;
#define FU_PARADE_LSPCON_DEVICE_KIND_LAST 3
const gchar *fu_parade_lspcon_device_kind_to_string(FuParadeLspconDeviceKind val) G_GNUC_CONST;
FuParadeLspconDeviceKind fu_parade_lspcon_device_kind_from_string(const gchar *val) G_GNUC_CONST G_GNUC_NON_NULL(1);
/**
 * FuParadeLspconPage1Addr:
 */
typedef enum {
    /**
     * FU_PARADE_LSPCON_PAGE1_ADDR_DPCD:
     *
     * page1, DPCD
     */
    FU_PARADE_LSPCON_PAGE1_ADDR_DPCD = 0xC0,
}  FuParadeLspconPage1Addr;
/**
 * FuParadeLspconPage2Addr:
 */
typedef enum {
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_SPICFG3:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_SPICFG3 = 0x82,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_FLASH_ADDR_LO:
     *
     * 24-bit flash address that gets mapped into page 7
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_FLASH_ADDR_LO = 0x8E,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_FLASH_ADDR_HI:
     *
     * writing = 0x01,0x42 will map the 256 bytes from 0x420100 into page 7
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_FLASH_ADDR_HI = 0x8F,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_WR_FIFO:
     *
     * 16-deep SPI write and read buffer FIFOs
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_WR_FIFO = 0x90,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_RD_FIFO:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_RD_FIFO = 0x91,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_SPI_LEN:
     *
     * low nibble is write operation length, high nibble is read commands
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_SPI_LEN = 0x92,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_SPI_CTL:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_SPI_CTL = 0x93,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_SPI_STATUS:
     *
     * 1=operation-begins, 2=cmd-sent, 0=complete
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_SPI_STATUS = 0x9E,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_IOCFG1:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_IOCFG1 = 0xA6,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_I_ROM_CTRL:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_I_ROM_CTRL = 0xB0,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_WR_PROTECT:
     *
     * permit flash write operations
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_WR_PROTECT = 0xB3,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_MPU:
     *
     * MPU control register
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_MPU = 0xBC,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_MAP_WRITE:
     *
     * write a magic to enable writes to page 7
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_MAP_WRITE = 0xDA,
    /**
     * FU_PARADE_LSPCON_PAGE2_ADDR_ROM_WP_CFG:
     */
    FU_PARADE_LSPCON_PAGE2_ADDR_ROM_WP_CFG = 0xF6,
}  FuParadeLspconPage2Addr;
/**
 * FuParadeLspconPage5Addr:
 */
typedef enum {
    /**
     * FU_PARADE_LSPCON_PAGE5_ADDR_ACTIVE_PARTITION:
     */
    FU_PARADE_LSPCON_PAGE5_ADDR_ACTIVE_PARTITION = 0x0E,
}  FuParadeLspconPage5Addr;
/**
 * FuParadeLspconI2cAddr:
 *
 * device registers are split into pages, where each page has its own I2C address
 */
typedef enum {
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE1:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE1 = 0x09,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE2:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE2 = 0x0A,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE3:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE3 = 0x0B,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE4:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE4 = 0x0C,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE5:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE5 = 0x0D,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE6:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE6 = 0x0E,
    /**
     * FU_PARADE_LSPCON_I2C_ADDR_PAGE7:
     */
    FU_PARADE_LSPCON_I2C_ADDR_PAGE7 = 0x0F,
}  FuParadeLspconI2cAddr;
