Home
last modified time | relevance | path

Searched full:serdes (Results 1 – 25 of 495) sorted by relevance

12345678910>>...20

/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/
H A Dphy-ocelot-serdes.txt1 Microsemi Ocelot SerDes muxing driver
5 space for setting up the SerDes to switch port muxing.
7 A SerDes X can be "muxed" to work with switch port Y or Z for example.
8 One specific SerDes can also be used as a PCIe interface.
10 Hence, a SerDes represents an interface, be it an Ethernet or a PCIe one.
12 There are two kinds of SerDes: SERDES1G supports 10/100Mbps in
24 - compatible: should be "mscc,vsc7514-serdes"
27 SerDes macro. The second defines the macro to use. They are
28 defined in dt-bindings/phy/phy-ocelot-serdes.h
32 serdes: serdes {
[all …]
H A Dti,phy-am654-serdes.txt1 TI AM654 SERDES
4 - compatible: Should be "ti,phy-am654-serdes"
9 include/dt-bindings/phy/phy.h) and the 2nd cell should be the serdes
21 - clocks: List of clock-specifiers representing the input to the SERDES.
25 SERDES. Should have 3 items for CMU reference clock,
34 The following macros are defined in dt-bindings/phy/phy-am654-serdes.h
36 specifying the clocks created by SERDES.
60 serdes0: serdes@900000 {
61 compatible = "ti,phy-am654-serdes";
63 reg-names = "serdes";
[all …]
H A Dti,phy-j721e-wiz.yaml8 title: TI J721E WIZ (SERDES Wrapper)
63 If GPIO is active, lane 0 and lane 1 of SERDES will be swapped to
81 the SERDES.
106 provided by the SERDES.
148 "^serdes@[0-9a-f]+$":
151 WIZ node should have '1' subnode for the SERDES. It could be either
152 Sierra SERDES or Torrent SERDES. Sierra SERDES should follow the
155 Torrent SERDES should follow the bindings specified in
220 serdes@5000000 {
222 reg-names = "serdes";
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/amd/
H A Damd-seattle-xgbe-b.dtsi40 <0 0xe1240800 0 0x00400>, /* SERDES RX/TX0 */
41 <0 0xe1250000 0 0x00060>, /* SERDES IR 1/2 */
42 <0 0xe12500f8 0 0x00004>; /* SERDES IR 2/2 */
48 amd,serdes-blwc = <1>, <1>, <0>;
49 amd,serdes-cdr-rate = <2>, <2>, <7>;
50 amd,serdes-pq-skew = <10>, <10>, <18>;
51 amd,serdes-tx-amp = <0>, <0>, <0>;
52 amd,serdes-dfe-tap-config = <3>, <3>, <3>;
53 amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
66 <0 0xe1240c00 0 0x00400>, /* SERDES RX/TX1 */
[all …]
/OK3568_Linux_fs/u-boot/drivers/soc/keystone/
H A Dkeystone_serdes.c2 * TI serdes driver for keystone2.
50 /* SERDES PHY lane enable configuration value, indexed by PHY interface */
56 /* SERDES PHY PLL enable configuration value, indexed by PHY interface */
63 * Array to hold all possible serdes configurations.
140 static void ks2_serdes_cmu_comlane_enable(u32 base, struct ks2_serdes *serdes) in ks2_serdes_cmu_comlane_enable() argument
142 /* Bring SerDes out of Reset */ in ks2_serdes_cmu_comlane_enable()
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()
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/net/
H A Damd-xgbe.txt8 - SerDes Rx/Tx registers
9 - SerDes integration registers (1/2)
10 - SerDes integration registers (2/2)
43 - amd,serdes-blwc: Baseline wandering correction enablement
46 - amd,serdes-cdr-rate: CDR rate speed selection
47 - amd,serdes-pq-skew: PQ (data sampling) skew
48 - amd,serdes-tx-amp: TX amplitude boost
49 - amd,serdes-dfe-tap-config: DFE taps available to run
50 - amd,serdes-dfe-tap-enable: DFE taps to enable
70 amd,serdes-blwc = <1>, <1>, <0>;
[all …]
H A Dhisilicon-hns-dsaf.txt17 The second region is SerDes base register and size(optional, only used when
18 serdes-syscon in port node does not exist). It is recommended using
19 serdes-syscon rather than this address.
40 - serdes-syscon: is syscon handle for SerDes register.
81 serdes-syscon = <&serdes>;
87 serdes-syscon = <&serdes>;
/OK3568_Linux_fs/u-boot/arch/powerpc/cpu/mpc85xx/
H A Dfsl_corenet_serdes.c20 * The work-arounds for erratum SERDES8 and SERDES-A001 are linked together.
135 /* Is serdes enabled at all? */ in is_serdes_configured()
158 * Returns the SERDES lane (0..SRDS_MAX_LANES-1) that routes to the given
159 * device. This depends on the current SERDES protocol, as defined in the RCW.
161 * Returns a negative error code if SERDES is disabled or the given device is
162 * not supported in the current SERDES protocol.
171 /* Is serdes enabled at all? */ in serdes_get_first_lane()
182 * Returns the SERDES bank (1, 2, or 3) that a given device is on for a given
183 * SERDES protocol.
186 * given SERDES protocol.
[all …]
H A Dfsl_corenet2_serdes.c154 printf("invalid SerDes%d\n", sd); in serdes_get_first_lane()
157 /* Is serdes enabled at all? */ in serdes_get_first_lane()
216 * The workaround requires factory pre-set SerDes calibration values to be in serdes_init()
219 * entire temperature range for all SerDes. These values are then written into in serdes_init()
220 * the SerDes registers to calibrate the SerDes PLL. in serdes_init()
236 /* Read factory pre-set SerDes calibration values in serdes_init()
324 printf("A007186 Serdes PLL not locked\n"); in serdes_init()
326 debug("A007186 Serdes PLL locked\n"); in serdes_init()
332 printf("Using SERDES%d Protocol: %d (0x%x)\n", sd + 1, cfg, cfg); in serdes_init()
334 printf("SERDES%d[PRTCL] = 0x%x is not valid\n", sd + 1, cfg); in serdes_init()
[all …]
H A Dt4240_serdes.c20 /* SerDes 1 */
74 /* SerDes 2 */
210 /* SerDes 3 */
246 /* SerDes 4 */
268 /* SerDes 1 */
297 /* SerDes 2 */
413 /* SerDes 3 */
449 /* SerDes 4 */
469 #error "Need to define SerDes protocol"
478 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane) in serdes_get_prtcl() argument
[all …]
/OK3568_Linux_fs/u-boot/arch/arm/include/asm/ti-common/
H A Dkeystone_serdes.h2 * Texas Instruments Keystone SerDes driver
13 /* SERDES Reference clock */
22 /* SERDES Lane Baud Rate */
32 /* SERDES Lane Rate Mode */
39 /* SERDES PHY TYPE */
42 SERDES_PHY_PCSR, /* XGE SERDES */
53 int ks2_serdes_init(u32 base, struct ks2_serdes *serdes, u32 num_lanes);
/OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/fsl-layerscape/
H A Dls1046a_serdes.c17 /* SerDes 1 */
41 /* SerDes 2 */
58 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane) in serdes_get_prtcl() argument
62 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in serdes_get_prtcl()
65 ptr = serdes_cfg_tbl[serdes]; in serdes_get_prtcl()
75 int is_serdes_prtcl_valid(int serdes, u32 prtcl) in is_serdes_prtcl_valid() argument
80 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in is_serdes_prtcl_valid()
83 ptr = serdes_cfg_tbl[serdes]; in is_serdes_prtcl_valid()
H A Dls1043a_serdes.c17 /* SerDes 1 */
45 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane) in serdes_get_prtcl() argument
49 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in serdes_get_prtcl()
52 ptr = serdes_cfg_tbl[serdes]; in serdes_get_prtcl()
62 int is_serdes_prtcl_valid(int serdes, u32 prtcl) in is_serdes_prtcl_valid() argument
67 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in is_serdes_prtcl_valid()
70 ptr = serdes_cfg_tbl[serdes]; in is_serdes_prtcl_valid()
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()
H A Dls2080a_serdes.c16 /* SerDes 1 */
46 /* SerDes 2 */
83 enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane) in serdes_get_prtcl() argument
87 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in serdes_get_prtcl()
90 ptr = serdes_cfg_tbl[serdes]; in serdes_get_prtcl()
100 int is_serdes_prtcl_valid(int serdes, u32 prtcl) in is_serdes_prtcl_valid() argument
105 if (serdes >= ARRAY_SIZE(serdes_cfg_tbl)) in is_serdes_prtcl_valid()
108 ptr = serdes_cfg_tbl[serdes]; in is_serdes_prtcl_valid()
/OK3568_Linux_fs/u-boot/arch/arm/mach-mvebu/serdes/a38x/
H A Dhigh_speed_env_spec-38x.c41 printf("hws_serdes_seq_init: Error: Serdes initialization fail\n"); in hws_serdes_seq_init()
75 printf("%s: Device ID Error, using 4 SerDes lanes\n", in hws_serdes_get_max_lane()
122 * DESCRIPTION: Get the mapping of Serdes Selector values according to the
123 * Serdes revision number
124 * INPUT: serdes_num - Serdes number
125 * serdes_type - Serdes type
128 * Mapping of Serdes Selector values
148 * For 6810, there are 5 Serdes and Serdes Num 4 doesn't in hws_get_physical_serdes_num()
149 * exist. Instead Serdes Num 5 is connected. in hws_get_physical_serdes_num()
H A Dhigh_speed_env_spec.h21 /* Serdes revision */
22 /* Serdes revision 1.2 (for A38x-Z1) */
24 /* Serdes revision 2.1 (for A39x-Z1, A38x-A0) */
33 /* Serdes lane types */
57 /* Serdes baud rates */
70 /* Serdes modes */
90 /* Serdes ref clock options */
98 /* Serdes sequences */
H A Dhigh_speed_env_spec.c25 * serdes_seq_db - holds all serdes sequences, their size and the
43 * serdes_lane_in_use_count contains the exact amount of serdes lanes
112 "DEFAULT SERDES",
410 /* PEX and USB3 - power up seq for Serdes Rev 1.2 */
426 /* PEX and USB3 - power up seq for Serdes Rev 2.1 */
771 * DESCRIPTION: Get the Serdes revision number
778 * 8bit Serdes revision number
800 printf("%s: Warning: Wrong serdes type %s serdes#%d\n", in hws_serdes_topology_verify()
809 /* if didn't exceed amount of required Serdes lanes for current type */ in hws_serdes_topology_verify()
811 /* update amount of required Serdes lanes for current type */ in hws_serdes_topology_verify()
[all …]
/OK3568_Linux_fs/kernel/drivers/phy/mscc/
H A Dphy-ocelot-serdes.c3 * SerDes PHY driver for Microsemi Ocelot
19 #include <dt-bindings/phy/phy-ocelot-serdes.h>
60 static int serdes_init_s6g(struct regmap *regmap, u8 serdes, int mode) in serdes_init_s6g() argument
89 ret = serdes_update_mcb_s6g(regmap, serdes); in serdes_init_s6g()
146 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
222 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
230 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
244 ret = serdes_commit_mcb_s6g(regmap, serdes); in serdes_init_s6g()
292 static int serdes_init_s1g(struct regmap *regmap, u8 serdes) in serdes_init_s1g() argument
296 ret = serdes_update_mcb_s1g(regmap, serdes); in serdes_init_s1g()
[all …]
/OK3568_Linux_fs/u-boot/drivers/net/phy/
H A Dbroadcom.c30 #define MIIM_BCM54XX_EXP_SEL_SSD 0x0e00 /* Secondary SerDes select */
149 /* Initial config/enable of secondary SerDes interface */ in bcm5482_config()
152 /* Write intial value to secondary SerDes Contol */ in bcm5482_config()
227 * Find out if PHY is in copper or serdes mode by looking at Expansion Reg
233 int serdes = 0; in bcm5482_is_serdes() local
242 case 0x0f: /* RGMII-to-SerDes */ in bcm5482_is_serdes()
243 case 0x12: /* SGMII-to-SerDes */ in bcm5482_is_serdes()
245 case 0x16: /* SerDes-to-Serdes */ in bcm5482_is_serdes()
246 serdes = 1; in bcm5482_is_serdes()
250 case 0x17: /* SerDes-to-Copper */ in bcm5482_is_serdes()
[all …]
/OK3568_Linux_fs/u-boot/board/freescale/b4860qds/
H A Deth_b4860qds.c15 * one Fman device on B4860. The SERDES configuration is used to determine
19 * is done at boot time by reading SERDES protocol from RCW.
41 * Mapping of all 16 SERDES lanes to board slots. A value n(>0) will mean that
73 * SERDES: 2 in initialize_lane_to_slot()
81 * SERDES: 2 in initialize_lane_to_slot()
89 * SERDES: 2 in initialize_lane_to_slot()
96 * SERDES: 2 in initialize_lane_to_slot()
103 * SERDES: 2 in initialize_lane_to_slot()
111 * SERDES: 2 in initialize_lane_to_slot()
121 * SERDES: 2 in initialize_lane_to_slot()
[all …]
H A Db4860qds.c66 * Display the actual SERDES reference clocks as configured by the in checkboard()
69 * values that the SERDES expects (or vice versa). For now, however, in checkboard()
73 puts("SERDES Reference Clocks: "); in checkboard()
365 * SERDES: 1 in configure_vsc3316_3308()
414 * SERDES: 1 in configure_vsc3316_3308()
445 * SERDES: 1 in configure_vsc3316_3308()
601 /* Steps For SerDes PLLs reset and reconfiguration in calibrate_pll()
792 /* To prevent generation of reset request from SerDes in config_serdes1_refclks()
794 * SerDes reset event cannot cause a reset request in config_serdes1_refclks()
830 debug("Configuring idt8t49n222a for CPRI SerDes clks:" in config_serdes1_refclks()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/ethernet/sfc/
H A Denum.h17 * @LOOPBACK_XAUI: loopback within BPX before XAUI serdes
21 * @LOOPBACK_XFI: loopback within BPX before XFI serdes
22 * @LOOPBACK_XAUI_FAR: loopback within BPX after XAUI serdes
25 * @LOOPBACK_XFI_FAR: loopback after XFI serdes
32 * @LOOPBACK_XAUI_WS: wireside loopback within BPX within XAUI serdes
33 * @LOOPBACK_XAUI_WS_FAR: wireside loopback within BPX including XAUI serdes
34 * @LOOPBACK_XAUI_WS_NEAR: wireside loopback within BPX excluding XAUI serdes
36 * @LOOPBACK_XFI_WS: wireside loopback excluding XFI serdes
37 * @LOOPBACK_XFI_WS_FAR: wireside loopback including XFI serdes
/OK3568_Linux_fs/kernel/drivers/net/ethernet/sfc/falcon/
H A Denum.h17 * @LOOPBACK_XAUI: loopback within BPX before XAUI serdes
21 * @LOOPBACK_XFI: loopback within BPX before XFI serdes
22 * @LOOPBACK_XAUI_FAR: loopback within BPX after XAUI serdes
25 * @LOOPBACK_XFI_FAR: loopback after XFI serdes
32 * @LOOPBACK_XAUI_WS: wireside loopback within BPX within XAUI serdes
33 * @LOOPBACK_XAUI_WS_FAR: wireside loopback within BPX including XAUI serdes
34 * @LOOPBACK_XAUI_WS_NEAR: wireside loopback within BPX excluding XAUI serdes
36 * @LOOPBACK_XFI_WS: wireside loopback excluding XFI serdes
37 * @LOOPBACK_XFI_WS_FAR: wireside loopback including XFI serdes
/OK3568_Linux_fs/kernel/drivers/phy/marvell/
H A DKconfig36 shared serdes PHYs on Marvell Armada 3700. Its serdes lanes can be
55 shared serdes PHYs on Marvell Armada 38x. Its serdes lanes can be
66 shared serdes PHYs on Marvell Armada 7k/8k (in the CP110). Its serdes

12345678910>>...20