Symbol: rtk_phy
drivers/phy/realtek/phy-rtk-usb2.c
1007
struct rtk_phy *rtk_phy;
drivers/phy/realtek/phy-rtk-usb2.c
1020
rtk_phy = devm_kzalloc(dev, sizeof(*rtk_phy), GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb2.c
1021
if (!rtk_phy)
drivers/phy/realtek/phy-rtk-usb2.c
1024
rtk_phy->dev = &pdev->dev;
drivers/phy/realtek/phy-rtk-usb2.c
1025
rtk_phy->phy_cfg = devm_kzalloc(dev, sizeof(*phy_cfg), GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb2.c
1026
if (!rtk_phy->phy_cfg)
drivers/phy/realtek/phy-rtk-usb2.c
1029
memcpy(rtk_phy->phy_cfg, phy_cfg, sizeof(*phy_cfg));
drivers/phy/realtek/phy-rtk-usb2.c
1031
rtk_phy->num_phy = phy_cfg->num_phy;
drivers/phy/realtek/phy-rtk-usb2.c
1033
ret = parse_phy_data(rtk_phy);
drivers/phy/realtek/phy-rtk-usb2.c
1037
platform_set_drvdata(pdev, rtk_phy);
drivers/phy/realtek/phy-rtk-usb2.c
1039
generic_phy = devm_phy_create(rtk_phy->dev, NULL, &ops);
drivers/phy/realtek/phy-rtk-usb2.c
1043
phy_set_drvdata(generic_phy, rtk_phy);
drivers/phy/realtek/phy-rtk-usb2.c
1045
phy_provider = devm_of_phy_provider_register(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
1050
create_debug_files(rtk_phy);
drivers/phy/realtek/phy-rtk-usb2.c
1058
struct rtk_phy *rtk_phy = platform_get_drvdata(pdev);
drivers/phy/realtek/phy-rtk-usb2.c
1060
remove_debug_files(rtk_phy);
drivers/phy/realtek/phy-rtk-usb2.c
262
static void update_dc_disconnect_level_at_page0(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
274
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
299
dev_err(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
335
static void update_dc_disconnect_level_at_page1(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
346
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
370
dev_err(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
375
static void update_dc_disconnect_level(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
378
struct phy_cfg *phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
381
update_dc_disconnect_level_at_page0(rtk_phy, phy_parameter, update);
drivers/phy/realtek/phy-rtk-usb2.c
383
update_dc_disconnect_level_at_page1(rtk_phy, phy_parameter, update);
drivers/phy/realtek/phy-rtk-usb2.c
415
static void update_dc_driving_level(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
422
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
438
dev_dbg(rtk_phy->dev, "%s driving_level=%d => dts driving_level=%d\n",
drivers/phy/realtek/phy-rtk-usb2.c
450
static void update_hs_clk_select(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
456
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
470
static void do_rtk_phy_toggle(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
480
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
481
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb2.c
539
update_dc_disconnect_level(rtk_phy, phy_parameter, false);
drivers/phy/realtek/phy-rtk-usb2.c
554
update_dc_disconnect_level(rtk_phy, phy_parameter, true);
drivers/phy/realtek/phy-rtk-usb2.c
560
static int do_rtk_phy_init(struct rtk_phy *rtk_phy, int index)
drivers/phy/realtek/phy-rtk-usb2.c
568
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
569
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb2.c
573
dev_dbg(rtk_phy->dev, "%s phy#%d use default parameter\n",
drivers/phy/realtek/phy-rtk-usb2.c
591
dev_err(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
611
dev_err(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
634
dev_err(rtk_phy->dev,
drivers/phy/realtek/phy-rtk-usb2.c
642
do_rtk_phy_toggle(rtk_phy, index, false);
drivers/phy/realtek/phy-rtk-usb2.c
649
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb2.c
653
if (!rtk_phy)
drivers/phy/realtek/phy-rtk-usb2.c
656
for (i = 0; i < rtk_phy->num_phy; i++)
drivers/phy/realtek/phy-rtk-usb2.c
657
ret = do_rtk_phy_init(rtk_phy, i);
drivers/phy/realtek/phy-rtk-usb2.c
659
dev_dbg(rtk_phy->dev, "Initialized RTK USB 2.0 PHY (take %dms)\n",
drivers/phy/realtek/phy-rtk-usb2.c
669
static void rtk_phy_toggle(struct rtk_phy *rtk_phy, bool connect, int port)
drivers/phy/realtek/phy-rtk-usb2.c
673
if (index > rtk_phy->num_phy) {
drivers/phy/realtek/phy-rtk-usb2.c
674
dev_err(rtk_phy->dev, "%s: The port=%d is not in usb phy (num_phy=%d)\n",
drivers/phy/realtek/phy-rtk-usb2.c
675
__func__, index, rtk_phy->num_phy);
drivers/phy/realtek/phy-rtk-usb2.c
679
do_rtk_phy_toggle(rtk_phy, index, connect);
drivers/phy/realtek/phy-rtk-usb2.c
684
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb2.c
686
dev_dbg(rtk_phy->dev, "%s port=%d\n", __func__, port);
drivers/phy/realtek/phy-rtk-usb2.c
687
rtk_phy_toggle(rtk_phy, true, port);
drivers/phy/realtek/phy-rtk-usb2.c
694
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb2.c
696
dev_dbg(rtk_phy->dev, "%s port=%d\n", __func__, port);
drivers/phy/realtek/phy-rtk-usb2.c
697
rtk_phy_toggle(rtk_phy, false, port);
drivers/phy/realtek/phy-rtk-usb2.c
724
struct rtk_phy *rtk_phy = s->private;
drivers/phy/realtek/phy-rtk-usb2.c
728
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
756
for (index = 0; index < rtk_phy->num_phy; index++) {
drivers/phy/realtek/phy-rtk-usb2.c
761
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb2.c
846
static inline void create_debug_files(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb2.c
854
rtk_phy->debug_dir = debugfs_create_dir(dev_name(rtk_phy->dev),
drivers/phy/realtek/phy-rtk-usb2.c
857
debugfs_create_file("parameter", 0444, rtk_phy->debug_dir, rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
861
static inline void remove_debug_files(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb2.c
863
debugfs_remove_recursive(rtk_phy->debug_dir);
drivers/phy/realtek/phy-rtk-usb2.c
866
static inline void create_debug_files(struct rtk_phy *rtk_phy) { }
drivers/phy/realtek/phy-rtk-usb2.c
867
static inline void remove_debug_files(struct rtk_phy *rtk_phy) { }
drivers/phy/realtek/phy-rtk-usb2.c
870
static int get_phy_data_by_efuse(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb2.c
873
struct phy_cfg *phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb2.c
884
cell = nvmem_cell_get(rtk_phy->dev, "usb-dc-cal");
drivers/phy/realtek/phy-rtk-usb2.c
886
dev_dbg(rtk_phy->dev, "%s no usb-dc-cal: %ld\n",
drivers/phy/realtek/phy-rtk-usb2.c
910
dev_dbg(rtk_phy->dev, "For groot IC we need a workaround to adjust efuse_usb_dc_cal\n");
drivers/phy/realtek/phy-rtk-usb2.c
926
cell = nvmem_cell_get(rtk_phy->dev, "usb-dc-dis");
drivers/phy/realtek/phy-rtk-usb2.c
928
dev_dbg(rtk_phy->dev, "%s no usb-dc-dis: %ld\n",
drivers/phy/realtek/phy-rtk-usb2.c
958
static int parse_phy_data(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb2.c
960
struct device *dev = rtk_phy->dev;
drivers/phy/realtek/phy-rtk-usb2.c
966
rtk_phy->phy_parameter = devm_kzalloc(dev, sizeof(struct phy_parameter) *
drivers/phy/realtek/phy-rtk-usb2.c
967
rtk_phy->num_phy, GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb2.c
968
if (!rtk_phy->phy_parameter)
drivers/phy/realtek/phy-rtk-usb2.c
971
for (index = 0; index < rtk_phy->num_phy; index++) {
drivers/phy/realtek/phy-rtk-usb2.c
972
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb2.c
995
get_phy_data_by_efuse(rtk_phy, phy_parameter, index);
drivers/phy/realtek/phy-rtk-usb2.c
997
update_dc_driving_level(rtk_phy, phy_parameter);
drivers/phy/realtek/phy-rtk-usb2.c
999
update_hs_clk_select(rtk_phy, phy_parameter);
drivers/phy/realtek/phy-rtk-usb3.c
150
static void do_rtk_usb3_phy_toggle(struct rtk_phy *rtk_phy, int index, bool connect)
drivers/phy/realtek/phy-rtk-usb3.c
152
struct phy_cfg *phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb3.c
160
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb3.c
183
static int do_rtk_phy_init(struct rtk_phy *rtk_phy, int index)
drivers/phy/realtek/phy-rtk-usb3.c
190
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb3.c
191
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb3.c
212
do_rtk_usb3_phy_toggle(rtk_phy, index, false);
drivers/phy/realtek/phy-rtk-usb3.c
239
dev_info(rtk_phy->dev, "toggle fail addr=0x%02x, data=0x%04x\n",
drivers/phy/realtek/phy-rtk-usb3.c
262
dev_warn(rtk_phy->dev, "Don't update rx_offset_range (rx_offset_code=0x%x, rx_offset_range=0x%x)\n",
drivers/phy/realtek/phy-rtk-usb3.c
284
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
289
for (i = 0; i < rtk_phy->num_phy; i++)
drivers/phy/realtek/phy-rtk-usb3.c
290
ret = do_rtk_phy_init(rtk_phy, i);
drivers/phy/realtek/phy-rtk-usb3.c
292
dev_dbg(rtk_phy->dev, "Initialized RTK USB 3.0 PHY (take %dms)\n",
drivers/phy/realtek/phy-rtk-usb3.c
303
static void rtk_phy_toggle(struct rtk_phy *rtk_phy, bool connect, int port)
drivers/phy/realtek/phy-rtk-usb3.c
307
if (index > rtk_phy->num_phy) {
drivers/phy/realtek/phy-rtk-usb3.c
308
dev_err(rtk_phy->dev, "%s: The port=%d is not in usb phy (num_phy=%d)\n",
drivers/phy/realtek/phy-rtk-usb3.c
309
__func__, index, rtk_phy->num_phy);
drivers/phy/realtek/phy-rtk-usb3.c
313
do_rtk_usb3_phy_toggle(rtk_phy, index, connect);
drivers/phy/realtek/phy-rtk-usb3.c
318
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
320
dev_dbg(rtk_phy->dev, "%s port=%d\n", __func__, port);
drivers/phy/realtek/phy-rtk-usb3.c
321
rtk_phy_toggle(rtk_phy, true, port);
drivers/phy/realtek/phy-rtk-usb3.c
328
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
330
dev_dbg(rtk_phy->dev, "%s port=%d\n", __func__, port);
drivers/phy/realtek/phy-rtk-usb3.c
331
rtk_phy_toggle(rtk_phy, false, port);
drivers/phy/realtek/phy-rtk-usb3.c
358
struct rtk_phy *rtk_phy = s->private;
drivers/phy/realtek/phy-rtk-usb3.c
362
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb3.c
374
for (index = 0; index < rtk_phy->num_phy; index++) {
drivers/phy/realtek/phy-rtk-usb3.c
378
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb3.c
409
static inline void create_debug_files(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb3.c
418
rtk_phy->debug_dir = debugfs_create_dir(dev_name(rtk_phy->dev), phy_debug_root);
drivers/phy/realtek/phy-rtk-usb3.c
420
debugfs_create_file("parameter", 0444, rtk_phy->debug_dir, rtk_phy,
drivers/phy/realtek/phy-rtk-usb3.c
424
static inline void remove_debug_files(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb3.c
426
debugfs_remove_recursive(rtk_phy->debug_dir);
drivers/phy/realtek/phy-rtk-usb3.c
429
static inline void create_debug_files(struct rtk_phy *rtk_phy) { }
drivers/phy/realtek/phy-rtk-usb3.c
430
static inline void remove_debug_files(struct rtk_phy *rtk_phy) { }
drivers/phy/realtek/phy-rtk-usb3.c
433
static int get_phy_data_by_efuse(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb3.c
436
struct phy_cfg *phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb3.c
443
cell = nvmem_cell_get(rtk_phy->dev, "usb_u3_tx_lfps_swing_trim");
drivers/phy/realtek/phy-rtk-usb3.c
445
dev_dbg(rtk_phy->dev, "%s no usb_u3_tx_lfps_swing_trim: %ld\n",
drivers/phy/realtek/phy-rtk-usb3.c
468
static void update_amplitude_control_value(struct rtk_phy *rtk_phy,
drivers/phy/realtek/phy-rtk-usb3.c
475
phy_cfg = rtk_phy->phy_cfg;
drivers/phy/realtek/phy-rtk-usb3.c
524
static int parse_phy_data(struct rtk_phy *rtk_phy)
drivers/phy/realtek/phy-rtk-usb3.c
526
struct device *dev = rtk_phy->dev;
drivers/phy/realtek/phy-rtk-usb3.c
531
rtk_phy->phy_parameter = devm_kzalloc(dev, sizeof(struct phy_parameter) *
drivers/phy/realtek/phy-rtk-usb3.c
532
rtk_phy->num_phy, GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb3.c
533
if (!rtk_phy->phy_parameter)
drivers/phy/realtek/phy-rtk-usb3.c
536
for (index = 0; index < rtk_phy->num_phy; index++) {
drivers/phy/realtek/phy-rtk-usb3.c
537
phy_parameter = &((struct phy_parameter *)rtk_phy->phy_parameter)[index];
drivers/phy/realtek/phy-rtk-usb3.c
551
get_phy_data_by_efuse(rtk_phy, phy_parameter, index);
drivers/phy/realtek/phy-rtk-usb3.c
553
update_amplitude_control_value(rtk_phy, phy_parameter);
drivers/phy/realtek/phy-rtk-usb3.c
561
struct rtk_phy *rtk_phy;
drivers/phy/realtek/phy-rtk-usb3.c
574
rtk_phy = devm_kzalloc(dev, sizeof(*rtk_phy), GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb3.c
575
if (!rtk_phy)
drivers/phy/realtek/phy-rtk-usb3.c
578
rtk_phy->dev = &pdev->dev;
drivers/phy/realtek/phy-rtk-usb3.c
579
rtk_phy->phy_cfg = devm_kzalloc(dev, sizeof(*phy_cfg), GFP_KERNEL);
drivers/phy/realtek/phy-rtk-usb3.c
580
if (!rtk_phy->phy_cfg)
drivers/phy/realtek/phy-rtk-usb3.c
583
memcpy(rtk_phy->phy_cfg, phy_cfg, sizeof(*phy_cfg));
drivers/phy/realtek/phy-rtk-usb3.c
585
rtk_phy->num_phy = 1;
drivers/phy/realtek/phy-rtk-usb3.c
587
ret = parse_phy_data(rtk_phy);
drivers/phy/realtek/phy-rtk-usb3.c
591
platform_set_drvdata(pdev, rtk_phy);
drivers/phy/realtek/phy-rtk-usb3.c
593
generic_phy = devm_phy_create(rtk_phy->dev, NULL, &ops);
drivers/phy/realtek/phy-rtk-usb3.c
597
phy_set_drvdata(generic_phy, rtk_phy);
drivers/phy/realtek/phy-rtk-usb3.c
599
phy_provider = devm_of_phy_provider_register(rtk_phy->dev, of_phy_simple_xlate);
drivers/phy/realtek/phy-rtk-usb3.c
603
create_debug_files(rtk_phy);
drivers/phy/realtek/phy-rtk-usb3.c
611
struct rtk_phy *rtk_phy = platform_get_drvdata(pdev);
drivers/phy/realtek/phy-rtk-usb3.c
613
remove_debug_files(rtk_phy);