pinctrl: rockchip: Add iomux-route switching support for rk3288
authorHeiko Stuebner <heiko@sntech.de>
Sat, 21 Oct 2017 08:53:10 +0000 (10:53 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 31 Oct 2017 09:13:41 +0000 (10:13 +0100)
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>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-rockchip.c

index 9e0cabfd3893deea5f2bec6fe7069aed87a90cb5..2ba17548ad5b5132789fb3b1ed15a89fbf3c4e6a 100644 (file)
@@ -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 */
@@ -3398,6 +3416,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,
 };