From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 03 Jan 2024 09:43:39 +0000 Subject: [PATCH] update kernel to 5.10.198 --- kernel/drivers/mfd/rkx110_x120/rkx120.c | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/kernel/drivers/mfd/rkx110_x120/rkx120.c b/kernel/drivers/mfd/rkx110_x120/rkx120.c index 75150fe..2f38af1 100644 --- a/kernel/drivers/mfd/rkx110_x120/rkx120.c +++ b/kernel/drivers/mfd/rkx110_x120/rkx120.c @@ -21,16 +21,24 @@ .base = RKX120_PATTERN_GEN_DSI_BASE, .link_src_reg = DES_GRF_SOC_CON2, .link_src_offset = 12, + .type = RK_SERDES_DSI_TX0, + }, { + .name = "dual-lvds", + .link_src_reg = DES_GRF_SOC_CON1, + .link_src_offset = 14, + .type = RK_SERDES_DUAL_LVDS_TX, }, { .name = "lvds0", .base = RKX120_PATTERN_GEN_LVDS0_BASE, .link_src_reg = DES_GRF_SOC_CON2, .link_src_offset = 13, + .type = RK_SERDES_LVDS_TX0, }, { .name = "lvds1", .base = RKX120_PATTERN_GEN_LVDS1_BASE, .link_src_reg = DES_GRF_SOC_CON2, .link_src_offset = 14, + .type = RK_SERDES_LVDS_TX1, }, { /* sentinel */ } }; @@ -111,6 +119,11 @@ .name = "pcs1", .reg_base = RKX120_DES_PCS1_BASE, .reg_len = 0x1c0, + }, + { + .name = "pwm", + .reg_base = RKX120_PWM_BASE, + .reg_len = 0x100, }, { .name = "pma0", @@ -231,8 +244,13 @@ void rkx120_debugfs_init(struct rk_serdes_chip *chip, struct dentry *dentry) { const struct rk_serdes_reg *regs = rkx120_regs; - struct pattern_gen *pattern_gen = rkx120_pattern_gen; + struct pattern_gen *pattern_gen; struct dentry *dir; + + pattern_gen = devm_kmemdup(chip->serdes->dev, &rkx120_pattern_gen, + sizeof(rkx120_pattern_gen), GFP_KERNEL); + if (!pattern_gen) + return; dir = debugfs_create_dir("registers", dentry); if (!IS_ERR(dir)) { @@ -289,6 +307,8 @@ u8 phy_id) { struct i2c_client *client = serdes->chip[remote_id].client; + struct rk_serdes_panel *sd_panel = container_of(route, struct rk_serdes_panel, route); + struct rkx120_combtxphy *combtxphy = &sd_panel->combtxphy; if (phy_id) { serdes->i2c_write_reg(client, DES_GRF_SOC_CON7, 0xfff00630); @@ -298,12 +318,12 @@ serdes->i2c_write_reg(client, DES_GRF_SOC_CON2, 0x00040004); } - rkx120_combtxphy_set_mode(serdes, COMBTX_PHY_MODE_VIDEO_LVDS); + rkx120_combtxphy_set_mode(combtxphy, COMBTX_PHY_MODE_VIDEO_LVDS); if (route->remote0_port0 & RK_SERDES_DUAL_LVDS_TX) - rkx120_combtxphy_set_rate(serdes, route->vm.pixelclock * 7 / 2); + rkx120_combtxphy_set_rate(combtxphy, route->vm.pixelclock * 7 / 2); else - rkx120_combtxphy_set_rate(serdes, route->vm.pixelclock * 7); - rkx120_combtxphy_power_on(serdes, remote_id, phy_id); + rkx120_combtxphy_set_rate(combtxphy, route->vm.pixelclock * 7); + rkx120_combtxphy_power_on(serdes, combtxphy, remote_id, phy_id); return 0; } -- Gitblit v1.6.2