Home
last modified time | relevance | path

Searched refs:zldev (Results 1 – 11 of 11) sorted by relevance

/linux/drivers/dpll/zl3073x/
H A Dcore.c85 zl3073x_check_reg(struct zl3073x_dev *zldev, unsigned int reg, size_t size) in zl3073x_check_reg() argument
92 lockdep_assert_held(&zldev->multiop_lock); in zl3073x_check_reg()
96 dev_err(zldev->dev, "Index out of range for reg 0x%04lx\n", in zl3073x_check_reg()
102 dev_err(zldev->dev, "Invalid size %zu for reg 0x%04lx\n", in zl3073x_check_reg()
111 zl3073x_read_reg(struct zl3073x_dev *zldev, unsigned int reg, void *val, in zl3073x_read_reg() argument
116 if (!zl3073x_check_reg(zldev, reg, size)) in zl3073x_read_reg()
122 rc = regmap_bulk_read(zldev->regmap, reg, val, size); in zl3073x_read_reg()
124 dev_err(zldev->dev, "Failed to read reg 0x%04x: %pe\n", reg, in zl3073x_read_reg()
133 zl3073x_write_reg(struct zl3073x_dev *zldev, unsigned int reg, const void *val, in zl3073x_write_reg() argument
138 if (!zl3073x_check_reg(zldev, reg, size)) in zl3073x_write_reg()
[all …]
H A Dchan.c20 int zl3073x_chan_state_update(struct zl3073x_dev *zldev, u8 index) in zl3073x_chan_state_update() argument
22 struct zl3073x_chan *chan = &zldev->chan[index]; in zl3073x_chan_state_update()
26 rc = zl3073x_read_u8(zldev, ZL_REG_DPLL_MON_STATUS(index), in zl3073x_chan_state_update()
31 rc = zl3073x_read_u8(zldev, ZL_REG_DPLL_REFSEL_STATUS(index), in zl3073x_chan_state_update()
45 rc = zl3073x_poll_zero_u8(zldev, ZL_REG_DPLL_DF_READ(index), in zl3073x_chan_state_update()
51 rc = zl3073x_write_u8(zldev, ZL_REG_DPLL_DF_READ(index), in zl3073x_chan_state_update()
56 rc = zl3073x_poll_zero_u8(zldev, ZL_REG_DPLL_DF_READ(index), in zl3073x_chan_state_update()
62 rc = zl3073x_read_u48(zldev, ZL_REG_DPLL_DF_OFFSET(index), &val); in zl3073x_chan_state_update()
83 int zl3073x_chan_nco_mode_set(struct zl3073x_dev *zldev, u8 index) in zl3073x_chan_nco_mode_set() argument
85 struct zl3073x_chan *chan = &zldev->chan[index]; in zl3073x_chan_nco_mode_set()
[all …]
H A Dcore.h107 int zl3073x_dev_probe(struct zl3073x_dev *zldev);
109 int zl3073x_dev_start(struct zl3073x_dev *zldev, bool full);
110 void zl3073x_dev_stop(struct zl3073x_dev *zldev);
112 static inline u8 zl3073x_dev_phase_avg_factor_get(struct zl3073x_dev *zldev) in zl3073x_dev_phase_avg_factor_get() argument
114 return READ_ONCE(zldev->phase_avg_factor); in zl3073x_dev_phase_avg_factor_get()
117 int zl3073x_dev_phase_avg_factor_set(struct zl3073x_dev *zldev, u8 factor);
145 int zl3073x_mb_op(struct zl3073x_dev *zldev, unsigned int op_reg, u8 op_val,
147 int zl3073x_poll_zero_u8(struct zl3073x_dev *zldev, unsigned int reg,
149 int zl3073x_read_u8(struct zl3073x_dev *zldev, unsigned int reg, u8 *val);
150 int zl3073x_read_u16(struct zl3073x_dev *zldev, unsigned int reg, u16 *val);
[all …]
H A Dref.c61 int zl3073x_ref_state_update(struct zl3073x_dev *zldev, u8 index) in zl3073x_ref_state_update() argument
63 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_update()
65 return zl3073x_read_u8(zldev, ZL_REG_REF_MON_STATUS(index), in zl3073x_ref_state_update()
79 int zl3073x_ref_state_fetch(struct zl3073x_dev *zldev, u8 index) in zl3073x_ref_state_fetch() argument
81 struct zl3073x_ref *ref = &zldev->ref[index]; in zl3073x_ref_state_fetch()
98 rc = zl3073x_ref_state_update(zldev, index); in zl3073x_ref_state_fetch()
102 guard(mutex)(&zldev->multiop_lock); in zl3073x_ref_state_fetch()
105 rc = zl3073x_mb_op(zldev, ZL_REG_REF_MB_SEM, ZL_REF_MB_SEM_RD, in zl3073x_ref_state_fetch()
111 rc = zl3073x_read_u8(zldev, ZL_REG_REF_CONFIG, &ref->config); in zl3073x_ref_state_fetch()
116 rc = zl3073x_read_u16(zldev, ZL_REG_REF_FREQ_BASE, &ref->freq_base); in zl3073x_ref_state_fetch()
[all …]
H A Dout.c23 int zl3073x_out_state_fetch(struct zl3073x_dev *zldev, u8 index) in zl3073x_out_state_fetch() argument
25 struct zl3073x_out *out = &zldev->out[index]; in zl3073x_out_state_fetch()
29 rc = zl3073x_read_u8(zldev, ZL_REG_OUTPUT_CTRL(index), &out->ctrl); in zl3073x_out_state_fetch()
33 dev_dbg(zldev->dev, "OUT%u is %s and connected to SYNTH%u\n", index, in zl3073x_out_state_fetch()
37 guard(mutex)(&zldev->multiop_lock); in zl3073x_out_state_fetch()
40 rc = zl3073x_mb_op(zldev, ZL_REG_OUTPUT_MB_SEM, ZL_OUTPUT_MB_SEM_RD, in zl3073x_out_state_fetch()
46 rc = zl3073x_read_u8(zldev, ZL_REG_OUTPUT_MODE, &out->mode); in zl3073x_out_state_fetch()
50 dev_dbg(zldev->dev, "OUT%u has signal format 0x%02x\n", index, in zl3073x_out_state_fetch()
54 rc = zl3073x_read_u32(zldev, ZL_REG_OUTPUT_DIV, &out->div); in zl3073x_out_state_fetch()
59 dev_err(zldev->dev, "Zero divisor for OUT%u got from device\n", in zl3073x_out_state_fetch()
[all …]
H A Dprop.c30 zl3073x_pin_check_freq(struct zl3073x_dev *zldev, enum dpll_pin_direction dir, in zl3073x_pin_check_freq() argument
49 synth = zl3073x_dev_out_synth_get(zldev, out); in zl3073x_pin_check_freq()
52 synth_freq = zl3073x_dev_synth_freq_get(zldev, synth); in zl3073x_pin_check_freq()
62 dev_warn(zldev->dev, in zl3073x_pin_check_freq()
84 zl3073x_prop_pin_package_label_set(struct zl3073x_dev *zldev, in zl3073x_prop_pin_package_label_set() argument
96 is_diff = zl3073x_dev_ref_is_diff(zldev, ref); in zl3073x_prop_pin_package_label_set()
102 is_diff = zl3073x_dev_out_is_diff(zldev, out); in zl3073x_prop_pin_package_label_set()
129 zl3073x_prop_pin_fwnode_get(struct zl3073x_dev *zldev, in zl3073x_prop_pin_fwnode_get() argument
142 pins_node = device_get_named_child_node(zldev->dev, node_name); in zl3073x_prop_pin_fwnode_get()
144 dev_dbg(zldev->dev, "'%s' sub-node is missing\n", node_name); in zl3073x_prop_pin_fwnode_get()
[all …]
H A Ddpll.c157 struct zl3073x_dev *zldev = zldpll->dev; in zl3073x_dpll_input_pin_esync_get() local
165 ref = zl3073x_ref_state_get(zldev, ref_id); in zl3073x_dpll_input_pin_esync_get()
195 struct zl3073x_dev *zldev = zldpll->dev; in zl3073x_dpll_input_pin_esync_set() local
203 ref = *zl3073x_ref_state_get(zldev, ref_id); in zl3073x_dpll_input_pin_esync_set()
219 return zl3073x_ref_state_set(zldev, ref_id, &ref); in zl3073x_dpll_input_pin_esync_set()
233 struct zl3073x_dev *zldev = zldpll->dev; in zl3073x_dpll_input_pin_ref_sync_get() local
240 ref = zl3073x_ref_state_get(zldev, ref_id); in zl3073x_dpll_input_pin_ref_sync_get()
264 struct zl3073x_dev *zldev = zldpll->dev; in zl3073x_dpll_input_pin_ref_sync_set() local
275 ref = *zl3073x_ref_state_get(zldev, ref_id); in zl3073x_dpll_input_pin_ref_sync_set()
281 sync_ref = zl3073x_ref_state_get(zldev, sync_ref_id); in zl3073x_dpll_input_pin_ref_sync_set()
[all …]
H A Dchan.h38 int zl3073x_chan_state_fetch(struct zl3073x_dev *zldev, u8 index);
39 const struct zl3073x_chan *zl3073x_chan_state_get(struct zl3073x_dev *zldev,
41 int zl3073x_chan_state_set(struct zl3073x_dev *zldev, u8 index,
44 int zl3073x_chan_state_update(struct zl3073x_dev *zldev, u8 index);
45 int zl3073x_chan_nco_mode_set(struct zl3073x_dev *zldev, u8 index);
47 int zl3073x_chan_tod_ready_wait(struct zl3073x_dev *zldev, u8 ch);
48 int zl3073x_chan_tod_read(struct zl3073x_dev *zldev, u8 ch,
51 int zl3073x_chan_tod_write(struct zl3073x_dev *zldev, u8 ch,
53 int zl3073x_chan_tod_adjust(struct zl3073x_dev *zldev, u8 ch,
55 int zl3073x_chan_phase_step(struct zl3073x_dev *zldev, u8 ch,
[all …]
H A Dfw.c198 zl3073x_fw_component_load(struct zl3073x_dev *zldev, in zl3073x_fw_component_load() argument
205 struct device *dev = zldev->dev; in zl3073x_fw_component_load()
307 struct zl3073x_fw *zl3073x_fw_load(struct zl3073x_dev *zldev, const char *data, in zl3073x_fw_load() argument
322 rc = zl3073x_fw_component_load(zldev, &comp, &data, &size, in zl3073x_fw_load()
363 zl3073x_fw_component_flash(struct zl3073x_dev *zldev, in zl3073x_fw_component_flash() argument
377 rc = zl3073x_flash_sectors(zldev, info->name, info->dest_page, in zl3073x_fw_component_flash()
382 rc = zl3073x_flash_page(zldev, info->name, info->dest_page, in zl3073x_fw_component_flash()
387 rc = zl3073x_flash_page(zldev, info->name, info->dest_page, in zl3073x_fw_component_flash()
391 rc = zl3073x_flash_page_copy(zldev, info->name, in zl3073x_fw_component_flash()
403 int zl3073x_fw_flash(struct zl3073x_dev *zldev, struct zl3073x_fw *zlfw, in zl3073x_fw_flash() argument
[all …]
H A Dprop.h26 enum dpll_type zl3073x_prop_dpll_type_get(struct zl3073x_dev *zldev, u8 index);
28 struct zl3073x_pin_props *zl3073x_pin_props_get(struct zl3073x_dev *zldev,
H A Ddpll.h46 struct zl3073x_dpll *zl3073x_dpll_alloc(struct zl3073x_dev *zldev, u8 ch);
52 int zl3073x_dpll_init_fine_phase_adjust(struct zl3073x_dev *zldev);