93 lines
2.3 KiB
C
93 lines
2.3 KiB
C
/*
|
|
* Copyright (c) 2020 Nuvoton Technology Corporation.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef _NUVOTON_NPCX_SOC_PINS_H_
|
|
#define _NUVOTON_NPCX_SOC_PINS_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "reg/reg_def.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief NPCX pin-mux configuration structure
|
|
*
|
|
* Used to indicate the device's corresponding DEVALT register/bit for
|
|
* pin-muxing and its polarity to enable alternative functionality.
|
|
*/
|
|
struct npcx_alt {
|
|
uint8_t group;
|
|
uint8_t bit:3;
|
|
uint8_t inverted:1;
|
|
uint8_t reserved:4;
|
|
};
|
|
|
|
/**
|
|
* @brief NPCX low-voltage configuration structure
|
|
*
|
|
* Used to indicate the device's corresponding LV_GPIO_CTL register/bit for
|
|
* low-voltage detection.
|
|
*/
|
|
struct npcx_lvol {
|
|
uint8_t ctrl:5; /** Related register index for low-voltage conf. */
|
|
uint8_t bit:3; /** Related register bit for low-voltage conf. */
|
|
};
|
|
|
|
/**
|
|
* @brief Select i2c port pads of i2c controller
|
|
*
|
|
* @param controller i2c controller device
|
|
* @param port index for i2c port pads
|
|
*/
|
|
void npcx_pinctrl_i2c_port_sel(int controller, int port);
|
|
|
|
/**
|
|
* @brief Force the internal SPI flash write-protect pin (WP) to low level to
|
|
* protect the flash Status registers.
|
|
*/
|
|
int npcx_pinctrl_flash_write_protect_set(void);
|
|
|
|
/**
|
|
* @brief Get write protection status
|
|
*
|
|
* @return 1 if write protection is set, 0 otherwise.
|
|
*/
|
|
bool npcx_pinctrl_flash_write_protect_is_set(void);
|
|
|
|
/**
|
|
* @brief Enable low-voltage input detection
|
|
*
|
|
* @param lvol_ctrl Related register index for low-voltage detection
|
|
* @param lvol_bit Related register bit for low-voltage detection
|
|
* @param enable True to enable low-voltage input detection, false to disable.
|
|
*/
|
|
void npcx_lvol_set_detect_level(int lvol_ctrl, int lvol_bit, bool enable);
|
|
|
|
/**
|
|
* @brief Get status of low-voltage input detection
|
|
*
|
|
* @param lvol_ctrl Related register index for low-voltage detection
|
|
* @param lvol_bit Related register bit for low-voltage detection
|
|
* @return True means the low-voltage power supply is enabled, otherwise disabled.
|
|
*/
|
|
bool npcx_lvol_get_detect_level(int lvol_ctrl, int lvol_bit);
|
|
|
|
/**
|
|
* @brief Select the host interface type
|
|
*
|
|
* @param hif_type host interface type
|
|
*/
|
|
void npcx_host_interface_sel(enum npcx_hif_type hif_type);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _NUVOTON_NPCX_SOC_PINS_H_ */
|