/* SPDX-License-Identifier: GPL-2.0-only */ /* * Get GPIO Value * Arg0 - GPIO Number */ Method (GRXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } Local0 = PAD_CFG0_RX_STATE & (VAL0 >> PAD_CFG0_RX_STATE_BIT) Return (Local0) } /* * Get GPIO Tx Value * Arg0 - GPIO Number */ Method (GTXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } Local0 = PAD_CFG0_TX_STATE & VAL0 Return (Local0) } /* * Set GPIO Tx Value * Arg0 - GPIO Number */ Method (STXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } VAL0 = PAD_CFG0_TX_STATE | VAL0 } /* * Clear GPIO Tx Value * Arg0 - GPIO Number */ Method (CTXS, 1, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } VAL0 = ~PAD_CFG0_TX_STATE & VAL0 } /* * Set Pad mode * Arg0 - GPIO Number * Arg1 - Pad mode * 0 = GPIO control pad * 1 = Native Function 1 * 2 = Native Function 2 * 3 = Native Function 3 */ Method (GPMO, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } Local0 = ~PAD_CFG0_MODE_MASK & VAL0 Arg1 = (Arg1 << PAD_CFG0_MODE_SHIFT) & PAD_CFG0_MODE_MASK VAL0 = Local0 | Arg1 } /* * Enable/Disable Tx buffer * Arg0 - GPIO Number * Arg1 - TxBuffer state * 0 = Disable Tx Buffer * 1 = Enable Tx Buffer */ Method (GTXE, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } If (Arg1 == 1) { VAL0 = ~PAD_CFG0_TX_DISABLE & VAL0 } ElseIf (Arg1 == 0){ VAL0 = PAD_CFG0_TX_DISABLE | VAL0 } } /* * Enable/Disable Rx buffer * Arg0 - GPIO Number * Arg1 - RxBuffer state * 0 = Disable Rx Buffer * 1 = Enable Rx Buffer */ Method (GRXE, 2, Serialized) { OperationRegion (PREG, SystemMemory, GADD (Arg0), 4) Field (PREG, AnyAcc, NoLock, Preserve) { VAL0, 32 } If (Arg1 == 1) { VAL0 = ~PAD_CFG0_RX_DISABLE & VAL0 } ElseIf (Arg1 == 0){ VAL0 = PAD_CFG0_RX_DISABLE | VAL0 } }