blob: 3ad8ae9dcb5a142d13b35642b9276b54e963643c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
nsc_gpio.c
National Semiconductor GPIO common access methods.
struct nsc_gpio_ops abstracts the low-level access
operations for the GPIO units on 2 NSC chip families; the GEODE
integrated CPU, and the PC-8736[03456] integrated PC-peripheral
chips.
The GPIO units on these chips have the same pin architecture, but
the access methods differ. Thus, scx200_gpio and pc8736x_gpio
implement their own versions of these routines; and use the common
file-operations routines implemented in nsc_gpio module.
Copyright (c) 2005 Jim Cromie <jim.cromie@gmail.com>
NB: this work was tested on the Geode SC-1100 and PC-87366 chips.
NSC sold the GEODE line to AMD, and the PC-8736x line to Winbond.
*/
struct nsc_gpio_ops {
struct module* owner;
u32 (*gpio_config) (unsigned iminor, u32 mask, u32 bits);
void (*gpio_dump) (unsigned iminor);
int (*gpio_get) (unsigned iminor);
void (*gpio_set) (unsigned iminor, int state);
void (*gpio_set_high)(unsigned iminor);
void (*gpio_set_low) (unsigned iminor);
void (*gpio_change) (unsigned iminor);
int (*gpio_current) (unsigned iminor);
};
|