* [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support
@ 2017-08-23 8:00 David Wu
2017-08-25 9:23 ` Heiko Stuebner
2017-08-31 13:26 ` Linus Walleij
0 siblings, 2 replies; 3+ messages in thread
From: David Wu @ 2017-08-23 8:00 UTC (permalink / raw)
To: heiko, linus.walleij
Cc: huangtao, andy.yan, linux-rockchip, linux-gpio, linux-kernel,
David Wu
The pins from GPIO1A0 to GPIO1B1 are special, need to recalculate
iomux. And the register offset is larger than the u8 range, so changed
to u32.
Signed-off-by: David Wu <david.wu@rock-chips.com>
---
drivers/pinctrl/pinctrl-rockchip.c | 68 +++++++++++++++++++++++++++++++++++++-
1 file changed, 67 insertions(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index c6f472e..b5cb785 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -301,7 +301,7 @@ struct rockchip_pin_bank {
struct rockchip_mux_recalced_data {
u8 num;
u8 pin;
- u8 reg;
+ u32 reg;
u8 bit;
u8 mask;
};
@@ -558,6 +558,70 @@ static void rockchip_dt_free_map(struct pinctrl_dev *pctldev,
* Hardware access
*/
+static struct rockchip_mux_recalced_data rv1108_mux_recalced_data[] = {
+ {
+ .num = 1,
+ .pin = 0,
+ .reg = 0x418,
+ .bit = 0,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 1,
+ .reg = 0x418,
+ .bit = 2,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 2,
+ .reg = 0x418,
+ .bit = 4,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 3,
+ .reg = 0x418,
+ .bit = 6,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 4,
+ .reg = 0x418,
+ .bit = 8,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 5,
+ .reg = 0x418,
+ .bit = 10,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 6,
+ .reg = 0x418,
+ .bit = 12,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 7,
+ .reg = 0x418,
+ .bit = 14,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 8,
+ .reg = 0x41c,
+ .bit = 0,
+ .mask = 0x3
+ }, {
+ .num = 1,
+ .pin = 9,
+ .reg = 0x41c,
+ .bit = 2,
+ .mask = 0x3
+ },
+};
+
static struct rockchip_mux_recalced_data rk3128_mux_recalced_data[] = {
{
.num = 2,
@@ -3162,6 +3226,8 @@ static int rockchip_pinctrl_probe(struct platform_device *pdev)
.type = RV1108,
.grf_mux_offset = 0x10,
.pmu_mux_offset = 0x0,
+ .iomux_recalced = rv1108_mux_recalced_data,
+ .niomux_recalced = ARRAY_SIZE(rv1108_mux_recalced_data),
.pull_calc_reg = rv1108_calc_pull_reg_and_bit,
.drv_calc_reg = rv1108_calc_drv_reg_and_bit,
.schmitt_calc_reg = rv1108_calc_schmitt_reg_and_bit,
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support
2017-08-23 8:00 [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support David Wu
@ 2017-08-25 9:23 ` Heiko Stuebner
2017-08-31 13:26 ` Linus Walleij
1 sibling, 0 replies; 3+ messages in thread
From: Heiko Stuebner @ 2017-08-25 9:23 UTC (permalink / raw)
To: David Wu
Cc: linus.walleij, huangtao, andy.yan, linux-rockchip, linux-gpio,
linux-kernel
Am Mittwoch, 23. August 2017, 16:00:07 CEST schrieb David Wu:
> The pins from GPIO1A0 to GPIO1B1 are special, need to recalculate
> iomux. And the register offset is larger than the u8 range, so changed
> to u32.
>
> Signed-off-by: David Wu <david.wu@rock-chips.com>
While I'm still struggling trying to understand why some chip-designer
would move these iomux settings into the general SOC_CON registers,
this matches the documentation for the rv1108, so
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Heiko
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support
2017-08-23 8:00 [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support David Wu
2017-08-25 9:23 ` Heiko Stuebner
@ 2017-08-31 13:26 ` Linus Walleij
1 sibling, 0 replies; 3+ messages in thread
From: Linus Walleij @ 2017-08-31 13:26 UTC (permalink / raw)
To: David Wu
Cc: Heiko Stübner, Tao Huang, Andy Yan,
open list:ARM/Rockchip SoC..., linux-gpio@vger.kernel.org,
linux-kernel@vger.kernel.org
On Wed, Aug 23, 2017 at 10:00 AM, David Wu <david.wu@rock-chips.com> wrote:
> The pins from GPIO1A0 to GPIO1B1 are special, need to recalculate
> iomux. And the register offset is larger than the u8 range, so changed
> to u32.
>
> Signed-off-by: David Wu <david.wu@rock-chips.com>
Patch applied with Heiko's review tag.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-31 13:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-23 8:00 [PATCH v2] pinctrl: rockchip: Add rv1108 recalculated iomux support David Wu
2017-08-25 9:23 ` Heiko Stuebner
2017-08-31 13:26 ` Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).