1. Correct the io_conf_reg address when pin number >= PAD_QSPI_SCLK.
2. The pull-down bit is the fourth bit, so the mask is 0x10.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
if (pin_data->pin < PAD_GMAC1_MDC) {
pin_reg->io_conf_reg = (pin_data->pin * GPO_PDA_CFG_OFFSET)
+ SYS_GPO_PDA_0_74_CFG_BASE_REG;
- } else if (pin_data->pin > PAD_GMAC1_TXC) {
- pin_reg->io_conf_reg = (pin_data->pin * GPO_PDA_CFG_OFFSET)
+ } else if (pin_data->pin >= PAD_QSPI_SCLK &&
+ pin_data->pin <= PAD_QSPI_DATA3) {
+ pin_reg->io_conf_reg =
+ ((pin_data->pin - PAD_QSPI_SCLK) * GPO_PDA_CFG_OFFSET)
+ SYS_GPO_PDA_89_94_CFG_BASE_REG;
}
#define GPIO_IE(data) ((data << 0x0U) & 0x1U)
#define GPIO_DS(data) ((data << 0x1U) & 0x6U)
#define GPIO_PU(data) ((data << 0x3U) & 0x8U)
-#define GPIO_PD(data) ((data << 0x4U) & 0x7U)
+#define GPIO_PD(data) ((data << 0x4U) & 0x10U)
#define GPIO_SLEW(data) ((data << 0x5U) & 0x20U)
#define GPIO_SMT(data) ((data << 0x6U) & 0x40U)
#define GPIO_POS(data) ((data << 0x7U) & 0x80U)