diff mbox series

pinctrl: rockchip: Add iomux-route switching support for rk3288

Message ID 20171021085310.16246-1-heiko@sntech.de
State New
Headers show
Series pinctrl: rockchip: Add iomux-route switching support for rk3288 | expand

Commit Message

Heiko Stuebner Oct. 21, 2017, 8:53 a.m. UTC
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 <heiko@sntech.de>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
---
 drivers/pinctrl/pinctrl-rockchip.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

David Wu Oct. 24, 2017, 1:23 a.m. UTC | #1
Hi Heiko,

在 2017/10/21 16:53, Heiko Stuebner 写道:
> 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 <heiko@sntech.de>
> Tested-by: Hans Verkuil <hans.verkuil@cisco.com>

Reviewed-by: David Wu <david.wu@rock-chips.com>
Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Oct. 31, 2017, 9:14 a.m. UTC | #2
On Sat, Oct 21, 2017 at 10:53 AM, Heiko Stuebner <heiko@sntech.de> wrote:

> 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 <heiko@sntech.de>
> Tested-by: Hans Verkuil <hans.verkuil@cisco.com>

Patch applied with David's review tag.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index b5cb7858ffdc..8dd49e2e144b 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -884,6 +884,24 @@  static struct rockchip_mux_route_data rk3228_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 */
@@ -3391,6 +3409,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,
 };