Home
last modified time | relevance | path

Searched full:dsi (Results 1 – 25 of 565) sorted by relevance

12345678910>>...23

/Linux-v6.1/drivers/gpu/drm/bridge/
Dnwl-dsi.c3 * i.MX8 NWL MIPI DSI host driver
34 #include "nwl-dsi.h"
36 #define DRV_NAME "nwl-dsi"
77 * The DSI host controller needs this reset sequence according to NWL:
78 * 1. Deassert pclk reset to get access to DSI regs
79 * 2. Configure DSI Host and DPHY and enable DPHY
81 * 4. Send DSI cmds to configure peripheral (handled by panel drv)
83 * DSI data
85 * TODO: Since panel_bridges do their DSI setup in enable we
94 /* DSI clocks */
[all …]
Dcdns-dsi.c508 static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi, in cdns_dsi_mode2cfg() argument
513 struct cdns_dsi_output *output = &dsi->output; in cdns_dsi_mode2cfg()
554 static int cdns_dsi_adjust_phy_config(struct cdns_dsi *dsi, in cdns_dsi_adjust_phy_config() argument
560 struct cdns_dsi_output *output = &dsi->output; in cdns_dsi_adjust_phy_config()
577 * Make sure DSI htotal is aligned on a lane boundary when calculating in cdns_dsi_adjust_phy_config()
603 static int cdns_dsi_check_conf(struct cdns_dsi *dsi, in cdns_dsi_check_conf() argument
608 struct cdns_dsi_output *output = &dsi->output; in cdns_dsi_check_conf()
614 ret = cdns_dsi_mode2cfg(dsi, mode, dsi_cfg, mode_valid_check); in cdns_dsi_check_conf()
622 ret = cdns_dsi_adjust_phy_config(dsi, dsi_cfg, phy_cfg, mode, mode_valid_check); in cdns_dsi_check_conf()
626 ret = phy_validate(dsi->dphy, PHY_MODE_MIPI_DPHY, 0, &output->phy_opts); in cdns_dsi_check_conf()
[all …]
/Linux-v6.1/drivers/gpu/drm/mediatek/
Dmtk_dsi.c222 static void mtk_dsi_mask(struct mtk_dsi *dsi, u32 offset, u32 mask, u32 data) in mtk_dsi_mask() argument
224 u32 temp = readl(dsi->regs + offset); in mtk_dsi_mask()
226 writel((temp & ~mask) | (data & mask), dsi->regs + offset); in mtk_dsi_mask()
229 static void mtk_dsi_phy_timconfig(struct mtk_dsi *dsi) in mtk_dsi_phy_timconfig() argument
232 u32 data_rate_mhz = DIV_ROUND_UP(dsi->data_rate, 1000000); in mtk_dsi_phy_timconfig()
233 struct mtk_phy_timing *timing = &dsi->phy_timing; in mtk_dsi_phy_timconfig()
261 writel(timcon0, dsi->regs + DSI_PHY_TIMECON0); in mtk_dsi_phy_timconfig()
262 writel(timcon1, dsi->regs + DSI_PHY_TIMECON1); in mtk_dsi_phy_timconfig()
263 writel(timcon2, dsi->regs + DSI_PHY_TIMECON2); in mtk_dsi_phy_timconfig()
264 writel(timcon3, dsi->regs + DSI_PHY_TIMECON3); in mtk_dsi_phy_timconfig()
[all …]
/Linux-v6.1/drivers/gpu/drm/panel/
Dpanel-sony-tulip-truly-nt35521.c5 * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree:
22 struct mipi_dsi_device *dsi; member
36 #define dsi_generic_write_seq(dsi, seq...) do { \ argument
39 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \
56 struct mipi_dsi_device *dsi = ctx->dsi; in truly_nt35521_on() local
57 struct device *dev = &dsi->dev; in truly_nt35521_on()
60 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in truly_nt35521_on()
62 dsi_generic_write_seq(dsi, 0xf0, 0x55, 0xaa, 0x52, 0x08, 0x00); in truly_nt35521_on()
63 dsi_generic_write_seq(dsi, 0xff, 0xaa, 0x55, 0xa5, 0x80); in truly_nt35521_on()
64 dsi_generic_write_seq(dsi, 0x6f, 0x11, 0x00); in truly_nt35521_on()
[all …]
Dpanel-asus-z00t-tm5p5-n35596.c16 struct mipi_dsi_device *dsi; member
27 #define dsi_generic_write_seq(dsi, seq...) do { \ argument
30 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \
35 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument
38 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \
55 struct mipi_dsi_device *dsi = ctx->dsi; in tm5p5_nt35596_on() local
57 dsi_generic_write_seq(dsi, 0xff, 0x05); in tm5p5_nt35596_on()
58 dsi_generic_write_seq(dsi, 0xfb, 0x01); in tm5p5_nt35596_on()
59 dsi_generic_write_seq(dsi, 0xc5, 0x31); in tm5p5_nt35596_on()
60 dsi_generic_write_seq(dsi, 0xff, 0x04); in tm5p5_nt35596_on()
[all …]
Dpanel-jdi-fhd-r63452.c5 * Generated using linux-mdss-dsi-panel-driver-generator from Lineage OS device tree:
22 struct mipi_dsi_device *dsi; member
32 #define dsi_generic_write_seq(dsi, seq...) do { \ argument
35 ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \
40 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument
43 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \
60 struct mipi_dsi_device *dsi = ctx->dsi; in jdi_fhd_r63452_on() local
61 struct device *dev = &dsi->dev; in jdi_fhd_r63452_on()
64 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in jdi_fhd_r63452_on()
66 dsi_generic_write_seq(dsi, 0xb0, 0x00); in jdi_fhd_r63452_on()
[all …]
Dpanel-samsung-sofef00.c3 * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree:
24 struct mipi_dsi_device *dsi; member
37 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument
40 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \
57 struct mipi_dsi_device *dsi = ctx->dsi; in sofef00_panel_on() local
58 struct device *dev = &dsi->dev; in sofef00_panel_on()
61 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in sofef00_panel_on()
63 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in sofef00_panel_on()
70 dsi_dcs_write_seq(dsi, 0xf0, 0x5a, 0x5a); in sofef00_panel_on()
72 ret = mipi_dsi_dcs_set_tear_on(dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK); in sofef00_panel_on()
[all …]
Dpanel-jdi-lt070me05000.c35 struct mipi_dsi_device *dsi; member
57 struct mipi_dsi_device *dsi = jdi->dsi; in jdi_panel_init() local
58 struct device *dev = &jdi->dsi->dev; in jdi_panel_init()
61 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in jdi_panel_init()
63 ret = mipi_dsi_dcs_soft_reset(dsi); in jdi_panel_init()
69 ret = mipi_dsi_dcs_set_pixel_format(dsi, MIPI_DCS_PIXEL_FMT_24BIT << 4); in jdi_panel_init()
75 ret = mipi_dsi_dcs_set_column_address(dsi, 0, jdi->mode->hdisplay - 1); in jdi_panel_init()
81 ret = mipi_dsi_dcs_set_page_address(dsi, 0, jdi->mode->vdisplay - 1); in jdi_panel_init()
93 ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY, in jdi_panel_init()
101 ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_POWER_SAVE, in jdi_panel_init()
[all …]
Dpanel-elida-kd35t133.c3 * Elida kd35t133 5.5" MIPI-DSI panel driver
8 * Rockteck jh057n00900 5.5" MIPI-DSI panel driver
26 /* Manufacturer specific Commands send via DSI */
54 #define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ argument
57 ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \
64 struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); in kd35t133_init_sequence() local
71 dsi_dcs_write_seq(dsi, KD35T133_CMD_POSITIVEGAMMA, in kd35t133_init_sequence()
74 dsi_dcs_write_seq(dsi, KD35T133_CMD_NEGATIVEGAMMA, in kd35t133_init_sequence()
77 dsi_dcs_write_seq(dsi, KD35T133_CMD_POWERCONTROL1, 0x18, 0x17); in kd35t133_init_sequence()
78 dsi_dcs_write_seq(dsi, KD35T133_CMD_POWERCONTROL2, 0x41); in kd35t133_init_sequence()
[all …]
Dpanel-samsung-s6e88a0-ams452ef01.c18 struct mipi_dsi_device *dsi; member
31 #define dsi_dcs_write_seq(dsi, seq...) do { \ argument
34 ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \
51 struct mipi_dsi_device *dsi = ctx->dsi; in s6e88a0_ams452ef01_on() local
52 struct device *dev = &dsi->dev; in s6e88a0_ams452ef01_on()
55 dsi->mode_flags |= MIPI_DSI_MODE_LPM; in s6e88a0_ams452ef01_on()
57 dsi_dcs_write_seq(dsi, 0xf0, 0x5a, 0x5a); // enable LEVEL2 commands in s6e88a0_ams452ef01_on()
58 dsi_dcs_write_seq(dsi, 0xcc, 0x4c); // set Pixel Clock Divider polarity in s6e88a0_ams452ef01_on()
60 ret = mipi_dsi_dcs_exit_sleep_mode(dsi); in s6e88a0_ams452ef01_on()
68 dsi_dcs_write_seq(dsi, 0xca, in s6e88a0_ams452ef01_on()
[all …]
/Linux-v6.1/drivers/gpu/drm/bridge/synopsys/
Ddw-mipi-dsi.c7 * This generic Synopsys DesignWare MIPI DSI host driver is based on the
8 * Rockchip version from rockchip/dw-mipi-dsi.c with phy & bridge APIs.
226 #define VPG_DEFS(name, dsi) \ argument
227 ((void __force *)&((*dsi).vpg_defs.name))
229 #define REGISTER(name, mask, dsi) \ argument
230 { #name, VPG_DEFS(name, dsi), mask, dsi }
236 struct dw_mipi_dsi *dsi; member
265 struct dw_mipi_dsi *master; /* dual-dsi master ptr */
266 struct dw_mipi_dsi *slave; /* dual-dsi slave ptr */
274 static inline bool dw_mipi_is_dual_mode(struct dw_mipi_dsi *dsi) in dw_mipi_is_dual_mode() argument
[all …]
/Linux-v6.1/drivers/gpu/drm/omapdrm/dss/
Ddsi.c7 #define DSS_SUBSYS_NAME "DSI"
48 #include "dsi.h"
50 #define REG_GET(dsi, idx, start, end) \ argument
51 FLD_GET(dsi_read_reg(dsi, idx), start, end)
53 #define REG_FLD_MOD(dsi, idx, val, start, end) \ argument
54 dsi_write_reg(dsi, idx, FLD_MOD(dsi_read_reg(dsi, idx), val, start, end))
56 static int dsi_init_dispc(struct dsi_data *dsi);
57 static void dsi_uninit_dispc(struct dsi_data *dsi);
59 static int dsi_vc_send_null(struct dsi_data *dsi, int vc, int channel);
61 static ssize_t _omap_dsi_host_transfer(struct dsi_data *dsi, int vc,
[all …]
/Linux-v6.1/drivers/gpu/drm/rockchip/
Ddw-mipi-dsi-rockchip.c357 static inline void dsi_write(struct dw_mipi_dsi_rockchip *dsi, u32 reg, u32 val) in dsi_write() argument
359 writel(val, dsi->base + reg); in dsi_write()
362 static inline u32 dsi_read(struct dw_mipi_dsi_rockchip *dsi, u32 reg) in dsi_read() argument
364 return readl(dsi->base + reg); in dsi_read()
367 static inline void dsi_update_bits(struct dw_mipi_dsi_rockchip *dsi, u32 reg, in dsi_update_bits() argument
370 dsi_write(dsi, reg, (dsi_read(dsi, reg) & ~mask) | val); in dsi_update_bits()
373 static void dw_mipi_dsi_phy_write(struct dw_mipi_dsi_rockchip *dsi, in dw_mipi_dsi_phy_write() argument
382 dsi_write(dsi, DSI_PHY_TST_CTRL0, PHY_TESTCLK | PHY_UNTESTCLR); in dw_mipi_dsi_phy_write()
384 dsi_write(dsi, DSI_PHY_TST_CTRL1, PHY_TESTEN | PHY_TESTDOUT(0) | in dw_mipi_dsi_phy_write()
387 dsi_write(dsi, DSI_PHY_TST_CTRL0, PHY_UNTESTCLK | PHY_UNTESTCLR); in dw_mipi_dsi_phy_write()
[all …]
/Linux-v6.1/drivers/gpu/drm/rcar-du/
Drcar_mipi_dsi.c3 * R-Car MIPI DSI Encoder
45 struct clk *dsi; member
127 static void rcar_mipi_dsi_write(struct rcar_mipi_dsi *dsi, u32 reg, u32 data) in rcar_mipi_dsi_write() argument
129 iowrite32(data, dsi->mmio + reg); in rcar_mipi_dsi_write()
132 static u32 rcar_mipi_dsi_read(struct rcar_mipi_dsi *dsi, u32 reg) in rcar_mipi_dsi_read() argument
134 return ioread32(dsi->mmio + reg); in rcar_mipi_dsi_read()
137 static void rcar_mipi_dsi_clr(struct rcar_mipi_dsi *dsi, u32 reg, u32 clr) in rcar_mipi_dsi_clr() argument
139 rcar_mipi_dsi_write(dsi, reg, rcar_mipi_dsi_read(dsi, reg) & ~clr); in rcar_mipi_dsi_clr()
142 static void rcar_mipi_dsi_set(struct rcar_mipi_dsi *dsi, u32 reg, u32 set) in rcar_mipi_dsi_set() argument
144 rcar_mipi_dsi_write(dsi, reg, rcar_mipi_dsi_read(dsi, reg) | set); in rcar_mipi_dsi_set()
[all …]
/Linux-v6.1/drivers/gpu/drm/tegra/
Ddsi.c29 #include "dsi.h"
102 static struct tegra_dsi_state *tegra_dsi_get_state(struct tegra_dsi *dsi) in tegra_dsi_get_state() argument
104 return to_dsi_state(dsi->output.connector.state); in tegra_dsi_get_state()
107 static inline u32 tegra_dsi_readl(struct tegra_dsi *dsi, unsigned int offset) in tegra_dsi_readl() argument
109 u32 value = readl(dsi->regs + (offset << 2)); in tegra_dsi_readl()
111 trace_dsi_readl(dsi->dev, offset, value); in tegra_dsi_readl()
116 static inline void tegra_dsi_writel(struct tegra_dsi *dsi, u32 value, in tegra_dsi_writel() argument
119 trace_dsi_writel(dsi->dev, offset, value); in tegra_dsi_writel()
120 writel(value, dsi->regs + (offset << 2)); in tegra_dsi_writel()
202 struct tegra_dsi *dsi = node->info_ent->data; in tegra_dsi_show_regs() local
[all …]
/Linux-v6.1/drivers/gpu/drm/
Ddrm_mipi_dsi.c2 * MIPI DSI Bus
41 * DOC: dsi helpers
43 * These functions contain some common logic and helpers to deal with MIPI DSI
46 * Helpers are provided for a number of standard MIPI DSI command as well as a
52 struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); in mipi_dsi_device_match() local
58 /* compare DSI device and driver names */ in mipi_dsi_device_match()
59 if (!strcmp(dsi->name, drv->name)) in mipi_dsi_device_match()
67 struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); in mipi_dsi_uevent() local
75 dsi->name); in mipi_dsi_uevent()
92 .name = "mipi-dsi",
[all …]
/Linux-v6.1/drivers/gpu/drm/exynos/
Dexynos_drm_dsi.c3 * Samsung SoC MIPI DSI Master driver.
316 static inline void exynos_dsi_write(struct exynos_dsi *dsi, enum reg_idx idx, in exynos_dsi_write() argument
320 writel(val, dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in exynos_dsi_write()
323 static inline u32 exynos_dsi_read(struct exynos_dsi *dsi, enum reg_idx idx) in exynos_dsi_read() argument
325 return readl(dsi->reg_base + dsi->driver_data->reg_ofs[idx]); in exynos_dsi_read()
505 { .compatible = "samsung,exynos3250-mipi-dsi",
507 { .compatible = "samsung,exynos4210-mipi-dsi",
509 { .compatible = "samsung,exynos5410-mipi-dsi",
511 { .compatible = "samsung,exynos5422-mipi-dsi",
513 { .compatible = "samsung,exynos5433-mipi-dsi",
[all …]
/Linux-v6.1/drivers/gpu/drm/sun4i/
Dsun6i_mipi_dsi.c291 static void sun6i_dsi_inst_abort(struct sun6i_dsi *dsi) in sun6i_dsi_inst_abort() argument
293 regmap_update_bits(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG, in sun6i_dsi_inst_abort()
297 static void sun6i_dsi_inst_commit(struct sun6i_dsi *dsi) in sun6i_dsi_inst_commit() argument
299 regmap_update_bits(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG, in sun6i_dsi_inst_commit()
304 static int sun6i_dsi_inst_wait_for_completion(struct sun6i_dsi *dsi) in sun6i_dsi_inst_wait_for_completion() argument
308 return regmap_read_poll_timeout(dsi->regs, SUN6I_DSI_BASIC_CTL0_REG, in sun6i_dsi_inst_wait_for_completion()
314 static void sun6i_dsi_inst_setup(struct sun6i_dsi *dsi, in sun6i_dsi_inst_setup() argument
321 regmap_write(dsi->regs, SUN6I_DSI_INST_FUNC_REG(id), in sun6i_dsi_inst_setup()
329 static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi, in sun6i_dsi_inst_init() argument
334 sun6i_dsi_inst_setup(dsi, DSI_INST_ID_LP11, DSI_INST_MODE_STOP, in sun6i_dsi_inst_init()
[all …]
/Linux-v6.1/include/drm/
Ddrm_mipi_dsi.h3 * MIPI DSI Bus
24 * struct mipi_dsi_msg - read/write DSI buffer
49 * struct mipi_dsi_packet - represents a MIPI DSI packet in protocol format
67 * struct mipi_dsi_host_ops - DSI bus operations
68 * @attach: attach DSI device to DSI host
69 * @detach: detach DSI device from DSI host
70 * @transfer: transmit a DSI packet
72 * DSI packets transmitted by .transfer() are passed in as mipi_dsi_msg
80 * Note that typically DSI packet transmission is atomic, so the .transfer()
91 struct mipi_dsi_device *dsi);
[all …]
/Linux-v6.1/drivers/gpu/drm/stm/
Ddw_mipi_dsi-stm.c25 /* DSI digital registers & bit definitions */
29 /* DSI wrapper registers & bit definitions */
32 #define WCFGR_DSIM BIT(0) /* DSI Mode */
36 #define WCR_DSIEN BIT(3) /* DSI ENable */
60 /* dsi color format coding according to the datasheet */
80 struct dw_mipi_dsi *dsi; member
87 static inline void dsi_write(struct dw_mipi_dsi_stm *dsi, u32 reg, u32 val) in dsi_write() argument
89 writel(val, dsi->base + reg); in dsi_write()
92 static inline u32 dsi_read(struct dw_mipi_dsi_stm *dsi, u32 reg) in dsi_read() argument
94 return readl(dsi->base + reg); in dsi_read()
[all …]
/Linux-v6.1/drivers/gpu/drm/vc4/
Dvc4_dsi.c9 * BCM2835 contains two DSI modules, DSI0 and DSI1. DSI0 is a
10 * single-lane DSI controller, while DSI1 is a more modern 4-lane DSI
550 /* General DSI hardware state. */
571 /* DSI channel for the panel we're connected to. */
578 /* Input clock from CPRMAN to the digital PHY, for the DSI
583 /* Input clock to the analog PHY, used to generate the DSI bit
588 /* HS Clocks generated within the DSI analog PHY. */
613 dsi_dma_workaround_write(struct vc4_dsi *dsi, u32 offset, u32 val) in dsi_dma_workaround_write() argument
615 struct dma_chan *chan = dsi->reg_dma_chan; in dsi_dma_workaround_write()
622 writel(val, dsi->regs + offset); in dsi_dma_workaround_write()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/display/
Dmipi-dsi-bus.txt1 MIPI DSI (Display Serial Interface) busses
6 define the syntax used to represent a DSI bus in a device tree.
8 This document describes DSI bus-specific properties only or defines existing
9 standard properties in the context of the DSI bus.
11 Each DSI host provides a DSI bus. The DSI host controller's node contains a
15 The following assumes that only a single peripheral is connected to a DSI
18 DSI host
22 a DSI host, the following properties apply to a node representing a DSI host.
26 bus. DSI peripherals are addressed using a 2-bit virtual channel number, so
34 conjunction with another DSI host to drive the same peripheral. Hardware
[all …]
/Linux-v6.1/drivers/video/fbdev/omap2/omapfb/dss/
Ddsi.c3 * linux/drivers/video/omap2/dss/dsi.c
9 #define DSS_SUBSYS_NAME "DSI"
46 /* DSI Protocol Engine */
212 /* DSI PLL HSDIV indices */
434 struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); in dsi_write_reg() local
438 case DSI_PROTO: base = dsi->proto_base; break; in dsi_write_reg()
439 case DSI_PHY: base = dsi->phy_base; break; in dsi_write_reg()
440 case DSI_PLL: base = dsi->pll_base; break; in dsi_write_reg()
450 struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); in dsi_read_reg() local
454 case DSI_PROTO: base = dsi->proto_base; break; in dsi_read_reg()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/display/tegra/
Dnvidia,tegra20-dsi.yaml4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-dsi.yaml#
17 - nvidia,tegra20-dsi
18 - nvidia,tegra30-dsi
19 - nvidia,tegra114-dsi
20 - nvidia,tegra124-dsi
21 - nvidia,tegra210-dsi
22 - nvidia,tegra186-dsi
25 - const: nvidia,tegra132-dsi
26 - const: nvidia,tegra124-dsi
48 - const: dsi
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/clock/
Dqcom,mmcc.yaml85 - description: DSI phy instance 1 dsi clock
86 - description: DSI phy instance 1 byte clock
87 - description: DSI phy instance 2 dsi clock
88 - description: DSI phy instance 2 byte clock
129 - description: DSI phy instance 0 dsi clock
130 - description: DSI phy instance 0 byte clock
131 - description: DSI phy instance 1 dsi clock
132 - description: DSI phy instance 1 byte clock
159 - description: DSI phy instance 0 dsi clock
160 - description: DSI phy instance 0 byte clock
[all …]

12345678910>>...23