GPDIR
uint32_t old_dir = bus_space_read_4(gc->gc_bst, gc->gc_bsh, GPDIR);
bus_space_write_4(gc->gc_bst, gc->gc_bsh, GPDIR, new_dir);