Use available info from register rather than shift and mask in gpio_read()
[lpc82x] / core / pio.c
index a1ffd11..77b8ee8 100644 (file)
@@ -99,7 +99,7 @@ static void config_pio_safe(const struct pio* pp, const struct pin_matrix_entry*
        if (pp->pin >= PORT0_NB_PINS) {
                return;
        }
-       /* Movable (offset0 & 0x80) or Fixed pin function */
+       /* Movable and GPIO have (offset0 & 0x80) */
        if (pp->offset0 & 0x80) {
                /* Disable fixed pin functions for this pin */
                if ((pp->offset0 & 0x7F) <= 31) {
@@ -108,7 +108,7 @@ static void config_pio_safe(const struct pio* pp, const struct pin_matrix_entry*
                if (pp->offset1 <= 31) {
                        matrix->pin_enable[0] |= (1 << pp->offset1);
                }
-               /* Assign the function to the pin if not a GPIO or fixed pin function */
+               /* Assign the function to the pin if not a GPIO */
                if ((me != NULL) && (me->reg_offset < LPC_MATRIX_NB_PIN_ASSIGN)) {
                        matrix->pin_assign[me->reg_offset] &= ~(0xFF << me->bit_shift);
                        matrix->pin_assign[me->reg_offset] |= (pp->pin << me->bit_shift);
@@ -117,6 +117,7 @@ static void config_pio_safe(const struct pio* pp, const struct pin_matrix_entry*
                handle = pio_regs_handles_port0[pp->pin];
                *handle = mode;
        } else {
+               /* Fixed pin function */
                /* Maybe disable the other fixed pin entry ? */
                if (pp->offset1 <= 31) {
                        matrix->pin_enable[0] |= (1 << pp->offset1);