OSDN Git Service

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 9e0cabf..2ba1754 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,
 };