1 | /* SPDX-License-Identifier: GPL-2.0 |
---|---|
2 | * |
3 | * SuperH Pin Function Controller support. |
4 | * |
5 | * Copyright (C) 2012 Renesas Solutions Corp. |
6 | */ |
7 | #ifndef __SH_PFC_CORE_H__ |
8 | #define __SH_PFC_CORE_H__ |
9 | |
10 | #include <linux/types.h> |
11 | |
12 | #include "sh_pfc.h" |
13 | |
14 | struct sh_pfc_pin_range { |
15 | u16 start; |
16 | u16 end; |
17 | }; |
18 | |
19 | int sh_pfc_register_gpiochip(struct sh_pfc *pfc); |
20 | |
21 | int sh_pfc_register_pinctrl(struct sh_pfc *pfc); |
22 | |
23 | u32 sh_pfc_read_raw_reg(void __iomem *mapped_reg, unsigned int reg_width); |
24 | void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned int reg_width, |
25 | u32 data); |
26 | u32 sh_pfc_read(struct sh_pfc *pfc, u32 reg); |
27 | void sh_pfc_write(struct sh_pfc *pfc, u32 reg, u32 data); |
28 | |
29 | int sh_pfc_get_pin_index(struct sh_pfc *pfc, unsigned int pin); |
30 | int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type); |
31 | |
32 | #endif /* __SH_PFC_CORE_H__ */ |
33 |