Home
last modified time | relevance | path

Searched refs:serdes (Results 1 – 25 of 80) sorted by relevance

1234

/rk3399_rockchip-uboot/drivers/video/drm/display-serdes/
H A Dcore.h76 struct serdes;
140 int (*power_on)(struct serdes *serdes);
141 int (*init)(struct serdes *serdes);
142 int (*attach)(struct serdes *serdes);
143 bool (*detect)(struct serdes *serdes, int link);
144 int (*get_modes)(struct serdes *serdes);
145 int (*pre_enable)(struct serdes *serdes);
146 int (*enable)(struct serdes *serdes);
147 int (*disable)(struct serdes *serdes);
148 int (*post_disable)(struct serdes *serdes);
[all …]
H A Dserdes-i2c.c12 static struct serdes *g_serdes_ser_split[MAX_NUM_SERDES_SPLIT];
14 static void serdes_i2c_init(struct serdes *serdes) in serdes_i2c_init() argument
16 if (serdes->vpower_supply) in serdes_i2c_init()
17 regulator_set_enable(serdes->vpower_supply, true); in serdes_i2c_init()
19 if (dm_gpio_is_valid(&serdes->enable_gpio)) in serdes_i2c_init()
20 dm_gpio_set_value(&serdes->enable_gpio, 1); in serdes_i2c_init()
26 if (serdes->chip_data->bridge_ops->init) in serdes_i2c_init()
27 serdes->chip_data->bridge_ops->init(serdes); in serdes_i2c_init()
29 serdes_i2c_set_sequence(serdes); in serdes_i2c_init()
32 serdes->dev->name, in serdes_i2c_init()
[all …]
H A Dserdes-panel.c12 static void serdes_panel_init(struct serdes *serdes) in serdes_panel_init() argument
14 if (serdes->vpower_supply) in serdes_panel_init()
15 regulator_set_enable(serdes->vpower_supply, true); in serdes_panel_init()
17 if (dm_gpio_is_valid(&serdes->enable_gpio)) in serdes_panel_init()
18 dm_gpio_set_value(&serdes->enable_gpio, 1); in serdes_panel_init()
22 if (serdes->chip_data->panel_ops->init) in serdes_panel_init()
23 serdes->chip_data->panel_ops->init(serdes); in serdes_panel_init()
25 if (serdes->chip_data->serdes_type == TYPE_DES) in serdes_panel_init()
26 serdes_i2c_set_sequence(serdes); in serdes_panel_init()
28 SERDES_DBG_MFD("%s: %s %s\n", __func__, serdes->dev->name, in serdes_panel_init()
[all …]
H A Dserdes-panel-split.c12 static void serdes_panel_split_init(struct serdes *serdes) in serdes_panel_split_init() argument
14 if (serdes->vpower_supply) in serdes_panel_split_init()
15 regulator_set_enable(serdes->vpower_supply, true); in serdes_panel_split_init()
17 if (dm_gpio_is_valid(&serdes->enable_gpio)) in serdes_panel_split_init()
18 dm_gpio_set_value(&serdes->enable_gpio, 1); in serdes_panel_split_init()
22 if (serdes->chip_data->panel_ops->init) in serdes_panel_split_init()
23 serdes->chip_data->panel_ops->init(serdes); in serdes_panel_split_init()
25 if (serdes->chip_data->serdes_type == TYPE_DES) in serdes_panel_split_init()
26 serdes_i2c_set_sequence(serdes); in serdes_panel_split_init()
28 SERDES_DBG_MFD("%s: %s %s\n", __func__, serdes->dev->name, in serdes_panel_split_init()
[all …]
H A Dserdes-bridge-split.c12 static void serdes_bridge_split_init(struct serdes *serdes) in serdes_bridge_split_init() argument
14 if (serdes->vpower_supply) in serdes_bridge_split_init()
15 regulator_set_enable(serdes->vpower_supply, true); in serdes_bridge_split_init()
17 if (dm_gpio_is_valid(&serdes->enable_gpio)) in serdes_bridge_split_init()
18 dm_gpio_set_value(&serdes->enable_gpio, 1); in serdes_bridge_split_init()
24 if (serdes->chip_data->bridge_ops->init) in serdes_bridge_split_init()
25 serdes->chip_data->bridge_ops->init(serdes); in serdes_bridge_split_init()
27 serdes_i2c_set_sequence(serdes); in serdes_bridge_split_init()
30 serdes->dev->name, in serdes_bridge_split_init()
31 serdes->chip_data->name); in serdes_bridge_split_init()
[all …]
H A Dserdes-bridge.c12 static void serdes_bridge_init(struct serdes *serdes) in serdes_bridge_init() argument
14 if (serdes->vpower_supply) in serdes_bridge_init()
15 regulator_set_enable(serdes->vpower_supply, true); in serdes_bridge_init()
17 if (dm_gpio_is_valid(&serdes->enable_gpio)) in serdes_bridge_init()
18 dm_gpio_set_value(&serdes->enable_gpio, 1); in serdes_bridge_init()
24 if (serdes->chip_data->bridge_ops->init) in serdes_bridge_init()
25 serdes->chip_data->bridge_ops->init(serdes); in serdes_bridge_init()
27 serdes_i2c_set_sequence(serdes); in serdes_bridge_init()
30 serdes->dev->name, in serdes_bridge_init()
31 serdes->chip_data->name); in serdes_bridge_init()
[all …]
H A Dserdes-pinctrl.c28 struct serdes *serdes = dev_get_priv(dev->parent); in serdes_pinctrl_get_pins_count() local
30 if (serdes->chip_data->pinctrl_info->num_pins) in serdes_pinctrl_get_pins_count()
31 return serdes->chip_data->pinctrl_info->num_pins; in serdes_pinctrl_get_pins_count()
39 struct serdes *serdes = dev_get_priv(dev->parent); in serdes_pinctrl_get_pin_name() local
41 if (serdes->chip_data->pinctrl_info->pins[selector].name) in serdes_pinctrl_get_pin_name()
42 return serdes->chip_data->pinctrl_info->pins[selector].name; in serdes_pinctrl_get_pin_name()
49 struct serdes *serdes = dev_get_priv(dev->parent); in serdes_pinctrl_get_groups_count() local
51 if (serdes->chip_data->pinctrl_info->num_groups) in serdes_pinctrl_get_groups_count()
52 return serdes->chip_data->pinctrl_info->num_groups; in serdes_pinctrl_get_groups_count()
60 struct serdes *serdes = dev_get_priv(dev->parent); in serdes_pinctrl_get_group_name() local
[all …]
H A Dserdes-core.c86 int serdes_reg_read(struct serdes *serdes, in serdes_reg_read() argument
91 if (serdes->chip_data->reg_val_type == REG_8BIT_VAL_8IT) in serdes_reg_read()
92 value = dm_i2c_reg_read_u8(serdes->dev, reg); in serdes_reg_read()
94 value = dm_i2c_reg_read(serdes->dev, reg); in serdes_reg_read()
98 __func__, serdes->dev->name, in serdes_reg_read()
99 serdes->dev->name, reg, *val); in serdes_reg_read()
111 int serdes_reg_write(struct serdes *serdes, unsigned int reg, in serdes_reg_write() argument
117 __func__, serdes->dev->name, in serdes_reg_write()
118 reg, val, serdes->chip_data->reg_val_type); in serdes_reg_write()
119 if (serdes->chip_data->reg_val_type == REG_8BIT_VAL_8IT) { in serdes_reg_write()
[all …]
H A Dserdes-gpio.c16 struct serdes *serdes = serdes_pinctrl->parent; in serdes_gpio_get() local
19 if (serdes->chip_data->gpio_ops->get_level) in serdes_gpio_get()
20 ret = serdes->chip_data->gpio_ops->get_level(serdes, offset); in serdes_gpio_get()
23 serdes->dev->name, in serdes_gpio_get()
24 serdes->chip_data->name, offset); in serdes_gpio_get()
32 struct serdes *serdes = serdes_pinctrl->parent; in serdes_gpio_set() local
35 if (serdes->chip_data->gpio_ops->set_level) in serdes_gpio_set()
36 ret = serdes->chip_data->gpio_ops->set_level(serdes, offset, value); in serdes_gpio_set()
39 serdes->dev->name, in serdes_gpio_set()
40 serdes->chip_data->name, offset, value); in serdes_gpio_set()
[all …]
H A DMakefile14 …ES_DISPLAY) +=serdes-i2c.o serdes-core.o serdes-bridge.o serdes-bridge-split.o serdes-panel.o serd…
H A DKconfig8 comment "driver for different display serdes"
11 tristate "rockchip display serdes drivers support"
20 This driver supports different serdes devices from different vendor such as
24 source "drivers/video/drm/display-serdes/maxim/Kconfig"
25 source "drivers/video/drm/display-serdes/rohm/Kconfig"
26 source "drivers/video/drm/display-serdes/rockchip/Kconfig"
27 source "drivers/video/drm/display-serdes/novo/Kconfig"
/rk3399_rockchip-uboot/drivers/video/drm/display-serdes/maxim/
H A Dmaxim-max96772.c301 static int max96772_aux_dpcd_read(struct serdes *serdes, in max96772_aux_dpcd_read() argument
305 serdes_reg_write(serdes, 0xe778, reg & 0xff); in max96772_aux_dpcd_read()
306 serdes_reg_write(serdes, 0xe779, (reg >> 8) & 0xff); in max96772_aux_dpcd_read()
307 serdes_reg_write(serdes, 0xe77c, (reg >> 16) & 0xff); in max96772_aux_dpcd_read()
308 serdes_reg_write(serdes, 0xe776, 0x10); in max96772_aux_dpcd_read()
309 serdes_reg_write(serdes, 0xe777, 0x80); in max96772_aux_dpcd_read()
312 serdes_reg_read(serdes, 0xe77a, value); in max96772_aux_dpcd_read()
317 static int max96772_panel_init(struct serdes *serdes) in max96772_panel_init() argument
322 static int max96772_panel_prepare(struct serdes *serdes) in max96772_panel_prepare() argument
324 const struct drm_display_mode *mode = &serdes->serdes_panel->mode; in max96772_panel_prepare()
[all …]
H A Dmaxim-max96745.c351 static bool max96745_bridge_linka_locked(struct serdes *serdes) in max96745_bridge_linka_locked() argument
355 if (dm_gpio_is_valid(&serdes->lock_gpio)) { in max96745_bridge_linka_locked()
356 val = dm_gpio_get_value(&serdes->lock_gpio); in max96745_bridge_linka_locked()
361 if (serdes_reg_read(serdes, 0x002a, &val)) { in max96745_bridge_linka_locked()
374 static bool max96745_bridge_linkb_locked(struct serdes *serdes) in max96745_bridge_linkb_locked() argument
378 if (dm_gpio_is_valid(&serdes->lock_gpio)) { in max96745_bridge_linkb_locked()
379 val = dm_gpio_get_value(&serdes->lock_gpio); in max96745_bridge_linkb_locked()
384 if (serdes_reg_read(serdes, 0x002a, &val)) { in max96745_bridge_linkb_locked()
397 static bool max96745_bridge_detect(struct serdes *serdes, int link) in max96745_bridge_detect() argument
400 return max96745_bridge_linka_locked(serdes); in max96745_bridge_detect()
[all …]
H A Dmaxim-max96752.c251 static int max96752_panel_prepare(struct serdes *serdes) in max96752_panel_prepare() argument
256 static int max96752_panel_unprepare(struct serdes *serdes) in max96752_panel_unprepare() argument
263 static int max96752_panel_enable(struct serdes *serdes) in max96752_panel_enable() argument
268 static int max96752_panel_disable(struct serdes *serdes) in max96752_panel_disable() argument
273 static int max96752_panel_backlight_enable(struct serdes *serdes) in max96752_panel_backlight_enable() argument
278 static int max96752_panel_backlight_disable(struct serdes *serdes) in max96752_panel_backlight_disable() argument
292 static int max96752_pinctrl_set_pin_mux(struct serdes *serdes, in max96752_pinctrl_set_pin_mux() argument
301 func = &serdes->chip_data->pinctrl_info->functions[func_selector]; in max96752_pinctrl_set_pin_mux()
307 pin = &serdes->chip_data->pinctrl_info->pins[pin_selector]; in max96752_pinctrl_set_pin_mux()
314 __func__, serdes->dev->name, in max96752_pinctrl_set_pin_mux()
[all …]
H A Dmaxim-max96755.c310 static bool max96755_bridge_linka_locked(struct serdes *serdes) in max96755_bridge_linka_locked() argument
314 if (dm_gpio_is_valid(&serdes->lock_gpio)) { in max96755_bridge_linka_locked()
315 val = dm_gpio_get_value(&serdes->lock_gpio); in max96755_bridge_linka_locked()
320 if (serdes_reg_read(serdes, 0x0013, &val)) { in max96755_bridge_linka_locked()
333 static bool max96755_bridge_linkb_locked(struct serdes *serdes) in max96755_bridge_linkb_locked() argument
337 if (dm_gpio_is_valid(&serdes->lock_gpio)) { in max96755_bridge_linkb_locked()
338 val = dm_gpio_get_value(&serdes->lock_gpio); in max96755_bridge_linkb_locked()
343 if (serdes_reg_read(serdes, 0x0013, &val)) { in max96755_bridge_linkb_locked()
356 static bool max96755_bridge_detect(struct serdes *serdes, int link) in max96755_bridge_detect() argument
359 return max96755_bridge_linka_locked(serdes); in max96755_bridge_detect()
[all …]
H A Dmaxim-max96789.c310 static bool max96789_bridge_linka_locked(struct serdes *serdes) in max96789_bridge_linka_locked() argument
316 if (serdes_reg_read(serdes, 0x001f, &val)) { in max96789_bridge_linka_locked()
333 static bool max96789_bridge_linkb_locked(struct serdes *serdes) in max96789_bridge_linkb_locked() argument
339 if (serdes_reg_read(serdes, 0x001f, &val)) { in max96789_bridge_linkb_locked()
356 static bool max96789_bridge_detect(struct serdes *serdes, int link) in max96789_bridge_detect() argument
359 return max96789_bridge_linka_locked(serdes); in max96789_bridge_detect()
361 return max96789_bridge_linkb_locked(serdes); in max96789_bridge_detect()
364 static int max96789_bridge_enable(struct serdes *serdes) in max96789_bridge_enable() argument
369 __func__, serdes->chip_data->name, ret); in max96789_bridge_enable()
373 static int max96789_bridge_disable(struct serdes *serdes) in max96789_bridge_disable() argument
[all …]
H A DKconfig6 # maxim display serdes drivers configuration
10 tristate "maxim serdes device support"
14 maxim serdes.
18 tristate "maxim max96745 serdes"
21 To support maxim max96745 display serdes.
24 tristate "maxim max96752 serdes"
27 To support maxim max96752 display serdes.
30 tristate "maxim max96755 serdes"
33 To support maxim max96755 display serdes.
36 tristate "maxim max96772 serdes"
[all …]
/rk3399_rockchip-uboot/drivers/video/drm/display-serdes/rohm/
H A Drohm-bu18tl82.c130 void bu18tl82_bridge_swrst(struct serdes *serdes) in bu18tl82_bridge_swrst() argument
134 ret = serdes_reg_write(serdes, BU18TL82_REG_SWRST_INTERNAL, 0x00ef); in bu18tl82_bridge_swrst()
136 dev_err(serdes->dev, in bu18tl82_bridge_swrst()
140 ret = serdes_reg_write(serdes, BU18TL82_REG_SWRST_MIPIRX, 0x0003); in bu18tl82_bridge_swrst()
142 dev_err(serdes->dev, in bu18tl82_bridge_swrst()
149 __func__, serdes->dev->name, ret); in bu18tl82_bridge_swrst()
152 void bu18tl82_enable_hwint(struct serdes *serdes, int enable) in bu18tl82_enable_hwint() argument
158 ret = serdes_reg_write(serdes, bu18tl82_reg_ien[i].reg, in bu18tl82_enable_hwint()
163 serdes->dev->name, bu18tl82_reg_ien[i].reg); in bu18tl82_enable_hwint()
165 ret = serdes_reg_write(serdes, bu18tl82_reg_ien[i].reg, 0); in bu18tl82_enable_hwint()
[all …]
H A Drohm-bu18rl82.c169 void bu18rl82_bridge_swrst(struct serdes *serdes) in bu18rl82_bridge_swrst() argument
173 ret = serdes_reg_write(serdes, BU18RL82_REG_RESET, in bu18rl82_bridge_swrst()
182 __func__, serdes->dev->name, ret); in bu18rl82_bridge_swrst()
185 void bu18rl82_enable_hwint(struct serdes *serdes, int enable) in bu18rl82_enable_hwint() argument
191 ret = serdes_reg_write(serdes, bu18rl82_reg_ien[i].reg, in bu18rl82_enable_hwint()
197 ret = serdes_reg_write(serdes, bu18rl82_reg_ien[i].reg, 0); in bu18rl82_enable_hwint()
206 serdes->dev->name, enable); in bu18rl82_enable_hwint()
209 int bu18rl82_bridge_init(struct serdes *serdes) in bu18rl82_bridge_init() argument
211 if (!dm_gpio_is_valid(&serdes->reset_gpio)) { in bu18rl82_bridge_init()
212 bu18rl82_bridge_swrst(serdes); in bu18rl82_bridge_init()
[all …]
H A DKconfig6 # rohm serdes drivers configuration
10 tristate "rohm serdes device support"
14 rohm serdes.
18 tristate "rohm bu18tl82 serdes"
21 To support rohm bu18tl82 display serdes.
24 tristate "rohm bu18rl82 serdes"
27 To support rohm bu18rl82 display serdes.
/rk3399_rockchip-uboot/drivers/video/drm/display-serdes/rockchip/
H A Drockchip-rkx111.c12 int rkx111_bridge_init(struct serdes *serdes) in rkx111_bridge_init() argument
17 int rkx111_bridge_enable(struct serdes *serdes) in rkx111_bridge_enable() argument
22 int rkx111_bridge_disable(struct serdes *serdes) in rkx111_bridge_disable() argument
H A Drockchip-rkx121.c12 int rkx121_bridge_init(struct serdes *serdes) in rkx121_bridge_init() argument
17 int rkx121_bridge_enable(struct serdes *serdes) in rkx121_bridge_enable() argument
22 int rkx121_bridge_disable(struct serdes *serdes) in rkx121_bridge_disable() argument
H A DKconfig6 # rockchip display serdes drivers configuration
10 tristate "rockchip serdes device support"
14 rockchip serdes.
18 tristate "rockchip rkx111 serdes"
21 To support rockchip rkx111 display serdes.
24 tristate "rockchip rkx121 serdes"
27 To support rockchip rkx121 display serdes.
/rk3399_rockchip-uboot/drivers/soc/keystone/
H A Dkeystone_serdes.c140 static void ks2_serdes_cmu_comlane_enable(u32 base, struct ks2_serdes *serdes) in ks2_serdes_cmu_comlane_enable() argument
144 if (serdes->intf == SERDES_PHY_PCSR) in ks2_serdes_cmu_comlane_enable()
149 if (serdes->intf == SERDES_PHY_PCSR) in ks2_serdes_cmu_comlane_enable()
155 static void ks2_serdes_pll_enable(u32 base, struct ks2_serdes *serdes) in ks2_serdes_pll_enable() argument
157 writel(serdes_cfg_pll_enable[serdes->intf], in ks2_serdes_pll_enable()
172 struct ks2_serdes *serdes, u32 lane) in ks2_serdes_lane_enable() argument
177 writel(SERDES_LANE_EN_VAL(serdes_cfg_lane_enable, serdes->intf, in ks2_serdes_lane_enable()
178 serdes->rate_mode), in ks2_serdes_lane_enable()
182 if (serdes->loopback) in ks2_serdes_lane_enable()
187 int ks2_serdes_init(u32 base, struct ks2_serdes *serdes, u32 num_lanes) in ks2_serdes_init() argument
[all …]
/rk3399_rockchip-uboot/arch/arm/cpu/armv8/fsl-layerscape/
H A Dls1012a_serdes.c33 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane) in serdes_get_prtcl() argument
37 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in serdes_get_prtcl()
40 ptr = serdes_cfg_tbl[serdes]; in serdes_get_prtcl()
50 int is_serdes_prtcl_valid(int serdes, u32 prtcl) in is_serdes_prtcl_valid() argument
55 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in is_serdes_prtcl_valid()
58 ptr = serdes_cfg_tbl[serdes]; in is_serdes_prtcl_valid()

1234