Linux Kernel
3.7.1
|
Go to the source code of this file.
Data Structures | |
struct | pinmux_gpio |
struct | pinmux_cfg_reg |
struct | pinmux_data_reg |
struct | pinmux_irq |
struct | pinmux_range |
struct | pfc_window |
struct | sh_pfc |
Macros | |
#define | PINMUX_FLAG_DBIT_SHIFT 5 |
#define | PINMUX_FLAG_DBIT (0x1f << PINMUX_FLAG_DBIT_SHIFT) |
#define | PINMUX_FLAG_DREG_SHIFT 10 |
#define | PINMUX_FLAG_DREG (0x3f << PINMUX_FLAG_DREG_SHIFT) |
#define | PINMUX_GPIO(gpio, data_or_mark) [gpio] = { .name = __stringify(gpio), .enum_id = data_or_mark, .flags = PINMUX_TYPE_NONE } |
#define | PINMUX_DATA(data_or_mark, ids...) data_or_mark, ids, 0 |
#define | PINMUX_CFG_REG(name, r, r_width, f_width) |
#define | PINMUX_CFG_REG_VAR(name, r, r_width, var_fw0, var_fwn...) |
#define | PINMUX_DATA_REG(name, r, r_width) |
#define | PINMUX_IRQ(irq_nr, ids...) { .irq = irq_nr, .enum_ids = (pinmux_enum_t []) { ids, 0 } } \ |
#define | pinmux_info sh_pfc |
#define | PORT_1(fn, pfx, sfx) fn(pfx, sfx) |
#define | PORT_10(fn, pfx, sfx) |
#define | PORT_90(fn, pfx, sfx) |
#define | _PORT_ALL(pfx, sfx) pfx##_##sfx |
#define | _GPIO_PORT(pfx, sfx) PINMUX_GPIO(GPIO_PORT##pfx, PORT##pfx##_DATA) |
#define | PORT_ALL(str) CPU_ALL_PORT(_PORT_ALL, PORT, str) |
#define | GPIO_PORT_ALL() CPU_ALL_PORT(_GPIO_PORT, , unused) |
#define | GPIO_FN(str) PINMUX_GPIO(GPIO_FN_##str, str##_MARK) |
#define | PORT_DATA_I(nr) PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_IN) |
#define | PORT_DATA_I_PD(nr) |
#define | PORT_DATA_I_PU(nr) |
#define | PORT_DATA_I_PU_PD(nr) |
#define | PORT_DATA_O(nr) PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT) |
#define | PORT_DATA_IO(nr) |
#define | PORT_DATA_IO_PD(nr) |
#define | PORT_DATA_IO_PU(nr) |
#define | PORT_DATA_IO_PU_PD(nr) |
#define | _PCRH(in, in_pd, in_pu, out) |
#define | PORTCR(nr, reg) |
Typedefs | |
typedef unsigned short | pinmux_enum_t |
typedef unsigned short | pinmux_flag_t |
Enumerations | |
enum | { PINMUX_TYPE_NONE, PINMUX_TYPE_FUNCTION, PINMUX_TYPE_GPIO, PINMUX_TYPE_OUTPUT, PINMUX_TYPE_INPUT, PINMUX_TYPE_INPUT_PULLUP, PINMUX_TYPE_INPUT_PULLDOWN, PINMUX_FLAG_TYPE } |
enum | { GPIO_CFG_DRYRUN, GPIO_CFG_REQ, GPIO_CFG_FREE } |
Functions | |
int | sh_pfc_register_gpiochip (struct sh_pfc *pfc) |
int | sh_pfc_register_pinctrl (struct sh_pfc *pfc) |
int | register_sh_pfc (struct sh_pfc *pfc) |
int | sh_pfc_read_bit (struct pinmux_data_reg *dr, unsigned long in_pos) |
void | sh_pfc_write_bit (struct pinmux_data_reg *dr, unsigned long in_pos, unsigned long value) |
int | sh_pfc_get_data_reg (struct sh_pfc *pfc, unsigned gpio, struct pinmux_data_reg **drp, int *bitp) |
int | sh_pfc_gpio_to_enum (struct sh_pfc *pfc, unsigned gpio, int pos, pinmux_enum_t *enum_idp) |
int | sh_pfc_config_gpio (struct sh_pfc *pfc, unsigned gpio, int pinmux_type, int cfg_mode) |
#define _GPIO_PORT | ( | pfx, | |
sfx | |||
) | PINMUX_GPIO(GPIO_PORT##pfx, PORT##pfx##_DATA) |
#define GPIO_FN | ( | str | ) | PINMUX_GPIO(GPIO_FN_##str, str##_MARK) |
#define GPIO_PORT_ALL | ( | ) | CPU_ALL_PORT(_GPIO_PORT, , unused) |
#define PINMUX_DATA | ( | data_or_mark, | |
ids... | |||
) | data_or_mark, ids, 0 |
#define PINMUX_GPIO | ( | gpio, | |
data_or_mark | |||
) | [gpio] = { .name = __stringify(gpio), .enum_id = data_or_mark, .flags = PINMUX_TYPE_NONE } |
#define PINMUX_IRQ | ( | irq_nr, | |
ids... | |||
) | { .irq = irq_nr, .enum_ids = (pinmux_enum_t []) { ids, 0 } } \ |
#define PORT_10 | ( | fn, | |
pfx, | |||
sfx | |||
) |
#define PORT_90 | ( | fn, | |
pfx, | |||
sfx | |||
) |
#define PORT_DATA_I_PD | ( | nr | ) |
#define PORT_DATA_I_PU | ( | nr | ) |
#define PORT_DATA_I_PU_PD | ( | nr | ) |
#define PORT_DATA_IO | ( | nr | ) |
#define PORT_DATA_IO_PD | ( | nr | ) |
#define PORT_DATA_IO_PU | ( | nr | ) |
#define PORT_DATA_IO_PU_PD | ( | nr | ) |
typedef unsigned short pinmux_enum_t |
typedef unsigned short pinmux_flag_t |
anonymous enum |
anonymous enum |
int sh_pfc_gpio_to_enum | ( | struct sh_pfc * | pfc, |
unsigned | gpio, | ||
int | pos, | ||
pinmux_enum_t * | enum_idp | ||
) |
int sh_pfc_read_bit | ( | struct pinmux_data_reg * | dr, |
unsigned long | in_pos | ||
) |