/** @file */
|
/******************************************************************************
|
*
|
* Copyright(c) 2019 Realtek Corporation. All rights reserved.
|
*
|
* This program is free software; you can redistribute it and/or modify it
|
* under the terms of version 2 of the GNU General Public License as
|
* published by the Free Software Foundation.
|
*
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
* more details.
|
*
|
******************************************************************************/
|
|
#ifndef _MAC_AX_GPIO_CMD_H_
|
#define _MAC_AX_GPIO_CMD_H_
|
|
#include "../type.h"
|
|
#define MAC_AX_GPIO_MIN 0
|
#define RTW_MAC_GPIO_MAX 21
|
|
/**
|
* @enum pinmux_name
|
*
|
* @brief pinmux_name
|
*
|
* @var pinmux_name::MAC_AX_WL_HWPDN
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_HWPDN
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_SWGPIO
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_HW_EXTWOL
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_SIC
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_SFALSH
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_SFALSH
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_LED
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_SDIO_INT
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_SDIO_INT
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_UART
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_JTAG
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_JTAG
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_LTE_UART
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_LTE_3W
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_GPIO16
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_OSC
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_OSC
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_GPIO13_14_WL_CTRL_EN
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_RF
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_DBG_GNT
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_3DDLS_A
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_3DDLS_B
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_GPIO18
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_PTA
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_PTA
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_UART_TX
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WL_UART_RX
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WLMAC_DBG
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_WLPHY_DBG
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BT_DBG
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_MAILBOX_3W
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_MAILBOX_1W
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_PAON_LNAON_2G_S0
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_0
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_PAON_LNAON_2G_S1
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_1
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_PAON_LNAON_5G_S0
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_2
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_PAON_LNAON_5G_S1
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_3
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BANDSEL_5_6G
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_4
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BANDSEL_5G
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_5
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_PAON_LNAON_6G_S1
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_7
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_BANDSEL_5G_G7G6
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_RFE_WLBT_FUNC_8
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_EXT_XTAL_CLK
|
* Please Place Description here.
|
* @var pinmux_name::MAC_AX_SW_IO
|
* Please Place Description here.
|
*/
|
enum pinmux_name {
|
MAC_AX_WL_HWPDN,
|
MAC_AX_BT_HWPDN,
|
MAC_AX_SWGPIO,
|
MAC_AX_WL_HW_EXTWOL,
|
MAC_AX_SIC,
|
MAC_AX_BT_SFALSH,
|
MAC_AX_WL_SFALSH,
|
MAC_AX_WL_LED,
|
MAC_AX_WL_SDIO_INT,
|
MAC_AX_BT_SDIO_INT,
|
MAC_AX_UART,
|
MAC_AX_BT_JTAG,
|
MAC_AX_WL_JTAG,
|
MAC_AX_LTE_UART,
|
MAC_AX_LTE_3W,
|
MAC_AX_BT_GPIO16,
|
MAC_AX_WL_OSC,
|
MAC_AX_BT_OSC,
|
MAC_AX_GPIO13_14_WL_CTRL_EN,
|
MAC_AX_BT_RF,
|
MAC_AX_DBG_GNT,
|
MAC_AX_BT_3DDLS_A,
|
MAC_AX_BT_3DDLS_B,
|
MAC_AX_BT_GPIO18,
|
MAC_AX_BT_PTA,
|
MAC_AX_WL_PTA,
|
MAC_AX_WL_UART_TX,
|
MAC_AX_WL_UART_RX,
|
MAC_AX_WLMAC_DBG,
|
MAC_AX_WLPHY_DBG,
|
MAC_AX_BT_DBG,
|
MAC_AX_MAILBOX_3W,
|
MAC_AX_MAILBOX_1W,
|
MAC_AX_PAON_LNAON_2G_S0,
|
MAC_AX_RFE_WLBT_FUNC_0,
|
MAC_AX_PAON_LNAON_2G_S1,
|
MAC_AX_RFE_WLBT_FUNC_1,
|
MAC_AX_PAON_LNAON_5G_S0,
|
MAC_AX_RFE_WLBT_FUNC_2,
|
MAC_AX_PAON_LNAON_5G_S1,
|
MAC_AX_RFE_WLBT_FUNC_3,
|
MAC_AX_BANDSEL_5_6G,
|
MAC_AX_RFE_WLBT_FUNC_4,
|
MAC_AX_BANDSEL_5G,
|
MAC_AX_RFE_WLBT_FUNC_5,
|
MAC_AX_PAON_LNAON_6G_S1,
|
MAC_AX_RFE_WLBT_FUNC_7,
|
MAC_AX_BANDSEL_5G_G7G6,
|
MAC_AX_RFE_WLBT_FUNC_8,
|
MAC_AX_EXT_XTAL_CLK,
|
MAC_AX_SW_IO,
|
};
|
|
/**
|
* @enum pinmux_gpio
|
*
|
* @brief pinmux_gpio
|
*
|
* @var pinmux_gpio::MAC_AX_GPIO0
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO1
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO2
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO3
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO4
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO5
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO6
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO7
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO8
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO9
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO10
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO11
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO12
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO13
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO14
|
* Please Place Description here.
|
* @var pinmux_gpio::MAC_AX_GPIO15
|
* Please Place Description here.
|
*/
|
enum pinmux_gpio {
|
MAC_AX_GPIO0,
|
MAC_AX_GPIO1,
|
MAC_AX_GPIO2,
|
MAC_AX_GPIO3,
|
MAC_AX_GPIO4,
|
MAC_AX_GPIO5,
|
MAC_AX_GPIO6,
|
MAC_AX_GPIO7,
|
MAC_AX_GPIO8,
|
MAC_AX_GPIO9,
|
MAC_AX_GPIO10,
|
MAC_AX_GPIO11,
|
MAC_AX_GPIO12,
|
MAC_AX_GPIO13,
|
MAC_AX_GPIO14,
|
MAC_AX_GPIO15,
|
};
|
|
/**
|
* @enum pinmux_gpio_type
|
*
|
* @brief pinmux_gpio_type
|
*
|
* @var pinmux_gpio_type::MAC_AX_GPIO_IN
|
* Please Place Description here.
|
* @var pinmux_gpio_type::MAC_AX_GPIO_OUT
|
* Please Place Description here.
|
* @var pinmux_gpio_type::MAC_AX_GPIO_IN_OUT
|
* Please Place Description here.
|
*/
|
enum pinmux_gpio_type {
|
MAC_AX_GPIO_IN,
|
MAC_AX_GPIO_OUT,
|
MAC_AX_GPIO_IN_OUT,
|
};
|
|
/**
|
* @struct mac_ax_pinmux_list
|
* @brief mac_ax_pinmux_list
|
*
|
* @var mac_ax_pinmux_list::func
|
* Please Place Description here.
|
* @var mac_ax_pinmux_list::id
|
* Please Place Description here.
|
* @var mac_ax_pinmux_list::type
|
* Please Place Description here.
|
* @var mac_ax_pinmux_list::offset
|
* Please Place Description here.
|
* @var mac_ax_pinmux_list::msk
|
* Please Place Description here.
|
* @var mac_ax_pinmux_list::value
|
* Please Place Description here.
|
*/
|
struct mac_ax_pinmux_list {
|
enum pinmux_name func;
|
enum pinmux_gpio id;
|
enum pinmux_gpio_type type;
|
u32 offset;
|
u8 msk;
|
u8 value;
|
};
|
|
/**
|
* @struct mac_ax_pin_list
|
* @brief mac_ax_pin_list
|
*
|
* @var mac_ax_pin_list::func
|
* Please Place Description here.
|
* @var mac_ax_pin_list::offset
|
* Please Place Description here.
|
* @var mac_ax_pin_list::msk
|
* Please Place Description here.
|
* @var mac_ax_pin_list::value
|
* Please Place Description here.
|
*/
|
struct mac_ax_pin_list {
|
enum rtw_mac_gfunc func;
|
u32 offset;
|
u8 msk;
|
u8 value;
|
};
|
|
/**
|
* @struct mac_ax_gpio_func_list
|
* @brief mac_ax_gpio_func_list
|
*
|
* @var mac_ax_gpio_func_list::func
|
* Please Place Description here.
|
* @var mac_ax_gpio_func_list::list
|
* Please Place Description here.
|
*/
|
struct mac_ax_gpio_func_list {
|
enum rtw_mac_gfunc func;
|
struct mac_ax_pin_list *list;
|
};
|
#endif
|