From 9476cd4af44322cc538562f39175fe9d5243ca97 Mon Sep 17 00:00:00 2001 From: Heiko Stuebner Date: Sat, 21 Oct 2017 10:53:10 +0200 Subject: [PATCH] UPSTREAM: pinctrl: rockchip: Add iomux-route switching support for rk3288 The rk3288 also has one function that can be routed to one of two pins, the hdmi cec functionality can use either gpio7c0 or gpio7c7. So add the route switching support for it. Signed-off-by: Heiko Stuebner Tested-by: Hans Verkuil Reviewed-by: David Wu Signed-off-by: Linus Walleij (cherry picked from commit 4e96fd3042d9cfd2c5ed176ada7d3bd2b1674f88) Change-Id: Id9fa17392a299a5a4035db5157946c150a5ab55e Signed-off-by: David Wu --- drivers/pinctrl/pinctrl-rockchip.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index e27aa14a880e..30379c3f8118 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -1165,6 +1165,24 @@ static struct rockchip_mux_route_data rk3308_mux_route_data[] = { }, }; +static struct rockchip_mux_route_data rk3288_mux_route_data[] = { + { + /* edphdmi_cecinoutt1 */ + .bank_num = 7, + .pin = 16, + .func = 2, + .route_offset = 0x264, + .route_val = BIT(16 + 12) | BIT(12), + }, { + /* edphdmi_cecinout */ + .bank_num = 7, + .pin = 23, + .func = 4, + .route_offset = 0x264, + .route_val = BIT(16 + 12), + }, +}; + static struct rockchip_mux_route_data rk3328_mux_route_data[] = { { /* uart2dbg_rxm0 */ @@ -4166,6 +4184,8 @@ static struct rockchip_pin_ctrl rk3288_pin_ctrl = { .type = RK3288, .grf_mux_offset = 0x0, .pmu_mux_offset = 0x84, + .iomux_routes = rk3288_mux_route_data, + .niomux_routes = ARRAY_SIZE(rk3288_mux_route_data), .pull_calc_reg = rk3288_calc_pull_reg_and_bit, .drv_calc_reg = rk3288_calc_drv_reg_and_bit, };