QE_PIO_PINS
#define PIN_MASK(gpio) (1UL << (QE_PIO_PINS - 1 - (gpio)))
u32 mask1 = 1 << (QE_PIO_PINS - (pin + 1));
u32 mask2 = 0x3 << (QE_PIO_PINS - (pin % (QE_PIO_PINS / 2) + 1) * 2);
bool second_reg = pin > (QE_PIO_PINS / 2) - 1;
gc->ngpio = QE_PIO_PINS;
if (pin >= QE_PIO_PINS)
pin_mask = (u32) (1 << (QE_PIO_PINS - 1 - pin));
pin_mask1bit = (u32) (1 << (QE_PIO_PINS - (pin + 1)));
tmp_val = (pin > (QE_PIO_PINS / 2) - 1) ?
pin_mask2bits = (u32) (0x3 << (QE_PIO_PINS -
(pin % (QE_PIO_PINS / 2) + 1) * 2));
new_mask2bits = (u32) (dir << (QE_PIO_PINS -
(pin % (QE_PIO_PINS / 2) + 1) * 2));
if (pin > (QE_PIO_PINS / 2) - 1) {
tmp_val = (pin > (QE_PIO_PINS / 2) - 1) ?
new_mask2bits = (u32) (assignment << (QE_PIO_PINS -
(pin % (QE_PIO_PINS / 2) + 1) * 2));
if (pin > (QE_PIO_PINS / 2) - 1) {