mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
pinctrl: realtek: add rtd1625 pinctrl driver
Add support for Realtek RTD1625 SoC using the realtek common pinctrl driver. This patch introduces the RTK_PIN_CONFIG_V2 and RTK_PIN_CONFIG_I2C macros, which are required to describe the specific register layout and electrical features (such as slew rate and high VIL) of the RTD1625 pins. Signed-off-by: Tzuyi Chang <tychang@realtek.com> Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com> Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
dcc9334435
commit
e309dbd523
|
|
@ -22,3 +22,17 @@ config PINCTRL_RTD1315E
|
|||
tristate "Realtek DHC 1315E pin controller driver"
|
||||
depends on PINCTRL_RTD
|
||||
default y
|
||||
|
||||
config PINCTRL_RTD1625
|
||||
tristate "Realtek DHC 1625 pin controller driver"
|
||||
depends on PINCTRL_RTD
|
||||
default y
|
||||
help
|
||||
This driver enables support for the pin controller on the Realtek
|
||||
RTD1625 SoCs.
|
||||
|
||||
It implements pin multiplexing for function selection and GPIO enabling.
|
||||
It also utilizes the generic pin configuration interface to manage
|
||||
electrical properties for both individual pins and pin groups.
|
||||
|
||||
Say Y here to enable the pinctrl driver for RTD1625 SoCs
|
||||
|
|
@ -4,3 +4,4 @@ obj-$(CONFIG_PINCTRL_RTD) += pinctrl-rtd.o
|
|||
obj-$(CONFIG_PINCTRL_RTD1619B) += pinctrl-rtd1619b.o
|
||||
obj-$(CONFIG_PINCTRL_RTD1319D) += pinctrl-rtd1319d.o
|
||||
obj-$(CONFIG_PINCTRL_RTD1315E) += pinctrl-rtd1315e.o
|
||||
obj-$(CONFIG_PINCTRL_RTD1625) += pinctrl-rtd1625.o
|
||||
|
|
@ -98,6 +98,40 @@ struct rtd_pin_reg_list {
|
|||
.curr_type = _curr_type, \
|
||||
}
|
||||
|
||||
#define RTK_PIN_CONFIG_V2(_name, _reg_off, _base_bit, _pud_en_off, \
|
||||
_pud_sel_off, _curr_off, _smt_off, _pow_off, _input_volt_off, \
|
||||
_curr_type) \
|
||||
{ \
|
||||
.name = # _name, \
|
||||
.reg_offset = _reg_off, \
|
||||
.base_bit = _base_bit, \
|
||||
.pud_en_offset = _pud_en_off, \
|
||||
.pud_sel_offset = _pud_sel_off, \
|
||||
.curr_offset = _curr_off, \
|
||||
.smt_offset = _smt_off, \
|
||||
.power_offset = _pow_off, \
|
||||
.input_volt_offset = _input_volt_off, \
|
||||
.curr_type = _curr_type, \
|
||||
}
|
||||
|
||||
#define RTK_PIN_CONFIG_I2C(_name, _reg_off, _base_bit, _pud_en_off, \
|
||||
_pud_sel_off, _curr_off, _smt_off, _hvil_off, _sr_off, _pow_off, \
|
||||
_input_volt_off, _curr_type) \
|
||||
{ \
|
||||
.name = # _name, \
|
||||
.reg_offset = _reg_off, \
|
||||
.base_bit = _base_bit, \
|
||||
.pud_en_offset = _pud_en_off, \
|
||||
.pud_sel_offset = _pud_sel_off, \
|
||||
.curr_offset = _curr_off, \
|
||||
.smt_offset = _smt_off, \
|
||||
.hvil_offset = _hvil_off, \
|
||||
.slew_rate_offset = _sr_off, \
|
||||
.power_offset = _pow_off, \
|
||||
.input_volt_offset = _input_volt_off, \
|
||||
.curr_type = _curr_type, \
|
||||
}
|
||||
|
||||
#define RTK_PIN_SCONFIG(_name, _reg_off, _d_offset, _d_mask, \
|
||||
_n_offset, _n_mask, _p_offset, _p_mask) \
|
||||
{ \
|
||||
|
|
|
|||
3138
drivers/pinctrl/realtek/pinctrl-rtd1625.c
Normal file
3138
drivers/pinctrl/realtek/pinctrl-rtd1625.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user