41 u32 data = nv_ro32(bios, entry);
42 u8 line = (data & 0x0000003f);
43 u8 defs = !!(data & 0x00000080);
44 u8 func = (data & 0x0000ff00) >> 8;
45 u8 unk0 = (data & 0x00ff0000) >> 16;
46 u8 unk1 = (data & 0x1f000000) >> 24;
51 gpio->
set(gpio, 0, func, line, defs);
53 nv_mask(priv, 0x00d610 + (line * 4), 0xff, unk0);
55 nv_mask(priv, 0x00d740 + (unk1 * 4), 0xff, line);
62 u32 data = ((dir ^ 1) << 13) | (out << 12);
63 nv_mask(gpio, 0x00d610 + (line * 4), 0x00003000, data);
64 nv_mask(gpio, 0x00d604, 0x00000001, 0x00000001);
71 return !!(nv_rd32(gpio, 0x00d610 + (line * 4)) & 0x00004000);
83 *pobject = nv_object(priv);
87 priv->
base.reset = nvd0_gpio_reset;
88 priv->
base.drive = nvd0_gpio_drive;
89 priv->
base.sense = nvd0_gpio_sense;
99 .ctor = nvd0_gpio_ctor,