Lines Matching refs:instance

319 	struct mtk_phy_instance *instance)  in hs_slew_rate_calibrate()  argument
321 struct u2phy_banks *u2_banks = &instance->u2_banks; in hs_slew_rate_calibrate()
329 if (instance->eye_src) in hs_slew_rate_calibrate()
348 tmp |= P2F_RG_MONCLK_SEL_VAL(instance->index >> 1); in hs_slew_rate_calibrate()
383 instance->index, fm_out, calibration_val, in hs_slew_rate_calibrate()
399 struct mtk_phy_instance *instance) in u3_phy_instance_init() argument
401 struct u3phy_banks *u3_banks = &instance->u3_banks; in u3_phy_instance_init()
445 dev_dbg(tphy->dev, "%s(%d)\n", __func__, instance->index); in u3_phy_instance_init()
449 struct mtk_phy_instance *instance) in u2_phy_instance_init() argument
451 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_instance_init()
453 u32 index = instance->index; in u2_phy_instance_init()
511 struct mtk_phy_instance *instance) in u2_phy_instance_power_on() argument
513 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_instance_power_on()
515 u32 index = instance->index; in u2_phy_instance_power_on()
545 struct mtk_phy_instance *instance) in u2_phy_instance_power_off() argument
547 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_instance_power_off()
549 u32 index = instance->index; in u2_phy_instance_power_off()
580 struct mtk_phy_instance *instance) in u2_phy_instance_exit() argument
582 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_instance_exit()
584 u32 index = instance->index; in u2_phy_instance_exit()
599 struct mtk_phy_instance *instance, in u2_phy_instance_set_mode() argument
602 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_instance_set_mode()
624 struct mtk_phy_instance *instance) in pcie_phy_instance_init() argument
626 struct u3phy_banks *u3_banks = &instance->u3_banks; in pcie_phy_instance_init()
693 dev_dbg(tphy->dev, "%s(%d)\n", __func__, instance->index); in pcie_phy_instance_init()
697 struct mtk_phy_instance *instance) in pcie_phy_instance_power_on() argument
699 struct u3phy_banks *bank = &instance->u3_banks; in pcie_phy_instance_power_on()
712 struct mtk_phy_instance *instance) in pcie_phy_instance_power_off() argument
715 struct u3phy_banks *bank = &instance->u3_banks; in pcie_phy_instance_power_off()
728 struct mtk_phy_instance *instance) in sata_phy_instance_init() argument
730 struct u3phy_banks *u3_banks = &instance->u3_banks; in sata_phy_instance_init()
782 dev_dbg(tphy->dev, "%s(%d)\n", __func__, instance->index); in sata_phy_instance_init()
786 struct mtk_phy_instance *instance) in phy_v1_banks_init() argument
788 struct u2phy_banks *u2_banks = &instance->u2_banks; in phy_v1_banks_init()
789 struct u3phy_banks *u3_banks = &instance->u3_banks; in phy_v1_banks_init()
791 switch (instance->type) { in phy_v1_banks_init()
795 u2_banks->com = instance->port_base + SSUSB_SIFSLV_V1_U2PHY_COM; in phy_v1_banks_init()
801 u3_banks->phyd = instance->port_base + SSUSB_SIFSLV_V1_U3PHYD; in phy_v1_banks_init()
802 u3_banks->phya = instance->port_base + SSUSB_SIFSLV_V1_U3PHYA; in phy_v1_banks_init()
805 u3_banks->phyd = instance->port_base + SSUSB_SIFSLV_V1_U3PHYD; in phy_v1_banks_init()
814 struct mtk_phy_instance *instance) in phy_v2_banks_init() argument
816 struct u2phy_banks *u2_banks = &instance->u2_banks; in phy_v2_banks_init()
817 struct u3phy_banks *u3_banks = &instance->u3_banks; in phy_v2_banks_init()
819 switch (instance->type) { in phy_v2_banks_init()
821 u2_banks->misc = instance->port_base + SSUSB_SIFSLV_V2_MISC; in phy_v2_banks_init()
822 u2_banks->fmreg = instance->port_base + SSUSB_SIFSLV_V2_U2FREQ; in phy_v2_banks_init()
823 u2_banks->com = instance->port_base + SSUSB_SIFSLV_V2_U2PHY_COM; in phy_v2_banks_init()
827 u3_banks->spllc = instance->port_base + SSUSB_SIFSLV_V2_SPLLC; in phy_v2_banks_init()
828 u3_banks->chip = instance->port_base + SSUSB_SIFSLV_V2_CHIP; in phy_v2_banks_init()
829 u3_banks->phyd = instance->port_base + SSUSB_SIFSLV_V2_U3PHYD; in phy_v2_banks_init()
830 u3_banks->phya = instance->port_base + SSUSB_SIFSLV_V2_U3PHYA; in phy_v2_banks_init()
839 struct mtk_phy_instance *instance) in phy_parse_property() argument
841 struct device *dev = &instance->phy->dev; in phy_parse_property()
843 if (instance->type != PHY_TYPE_USB2) in phy_parse_property()
846 instance->bc12_en = device_property_read_bool(dev, "mediatek,bc12"); in phy_parse_property()
848 &instance->eye_src); in phy_parse_property()
850 &instance->eye_vrt); in phy_parse_property()
852 &instance->eye_term); in phy_parse_property()
854 instance->bc12_en, instance->eye_src, in phy_parse_property()
855 instance->eye_vrt, instance->eye_term); in phy_parse_property()
859 struct mtk_phy_instance *instance) in u2_phy_props_set() argument
861 struct u2phy_banks *u2_banks = &instance->u2_banks; in u2_phy_props_set()
865 if (instance->bc12_en) { in u2_phy_props_set()
871 if (instance->eye_src) { in u2_phy_props_set()
874 tmp |= PA5_RG_U2_HSTX_SRCTRL_VAL(instance->eye_src); in u2_phy_props_set()
878 if (instance->eye_vrt) { in u2_phy_props_set()
881 tmp |= PA1_RG_VRT_SEL_VAL(instance->eye_vrt); in u2_phy_props_set()
885 if (instance->eye_term) { in u2_phy_props_set()
888 tmp |= PA1_RG_TERM_SEL_VAL(instance->eye_term); in u2_phy_props_set()
895 struct mtk_phy_instance *instance = phy_get_drvdata(phy); in mtk_phy_init() local
905 ret = clk_prepare_enable(instance->ref_clk); in mtk_phy_init()
911 switch (instance->type) { in mtk_phy_init()
913 u2_phy_instance_init(tphy, instance); in mtk_phy_init()
914 u2_phy_props_set(tphy, instance); in mtk_phy_init()
917 u3_phy_instance_init(tphy, instance); in mtk_phy_init()
920 pcie_phy_instance_init(tphy, instance); in mtk_phy_init()
923 sata_phy_instance_init(tphy, instance); in mtk_phy_init()
935 struct mtk_phy_instance *instance = phy_get_drvdata(phy); in mtk_phy_power_on() local
938 if (instance->type == PHY_TYPE_USB2) { in mtk_phy_power_on()
939 u2_phy_instance_power_on(tphy, instance); in mtk_phy_power_on()
940 hs_slew_rate_calibrate(tphy, instance); in mtk_phy_power_on()
941 } else if (instance->type == PHY_TYPE_PCIE) { in mtk_phy_power_on()
942 pcie_phy_instance_power_on(tphy, instance); in mtk_phy_power_on()
950 struct mtk_phy_instance *instance = phy_get_drvdata(phy); in mtk_phy_power_off() local
953 if (instance->type == PHY_TYPE_USB2) in mtk_phy_power_off()
954 u2_phy_instance_power_off(tphy, instance); in mtk_phy_power_off()
955 else if (instance->type == PHY_TYPE_PCIE) in mtk_phy_power_off()
956 pcie_phy_instance_power_off(tphy, instance); in mtk_phy_power_off()
963 struct mtk_phy_instance *instance = phy_get_drvdata(phy); in mtk_phy_exit() local
966 if (instance->type == PHY_TYPE_USB2) in mtk_phy_exit()
967 u2_phy_instance_exit(tphy, instance); in mtk_phy_exit()
969 clk_disable_unprepare(instance->ref_clk); in mtk_phy_exit()
976 struct mtk_phy_instance *instance = phy_get_drvdata(phy); in mtk_phy_set_mode() local
979 if (instance->type == PHY_TYPE_USB2) in mtk_phy_set_mode()
980 u2_phy_instance_set_mode(tphy, instance, mode); in mtk_phy_set_mode()
989 struct mtk_phy_instance *instance = NULL; in mtk_phy_xlate() local
1000 instance = tphy->phys[index]; in mtk_phy_xlate()
1004 if (!instance) { in mtk_phy_xlate()
1009 instance->type = args->args[0]; in mtk_phy_xlate()
1010 if (!(instance->type == PHY_TYPE_USB2 || in mtk_phy_xlate()
1011 instance->type == PHY_TYPE_USB3 || in mtk_phy_xlate()
1012 instance->type == PHY_TYPE_PCIE || in mtk_phy_xlate()
1013 instance->type == PHY_TYPE_SATA)) { in mtk_phy_xlate()
1014 dev_err(dev, "unsupported device type: %d\n", instance->type); in mtk_phy_xlate()
1019 phy_v1_banks_init(tphy, instance); in mtk_phy_xlate()
1021 phy_v2_banks_init(tphy, instance); in mtk_phy_xlate()
1027 phy_parse_property(tphy, instance); in mtk_phy_xlate()
1029 return instance->phy; in mtk_phy_xlate()
1119 struct mtk_phy_instance *instance; in mtk_tphy_probe() local
1122 instance = devm_kzalloc(dev, sizeof(*instance), GFP_KERNEL); in mtk_tphy_probe()
1123 if (!instance) { in mtk_tphy_probe()
1128 tphy->phys[port] = instance; in mtk_tphy_probe()
1144 instance->port_base = devm_ioremap_resource(&phy->dev, &res); in mtk_tphy_probe()
1145 if (IS_ERR(instance->port_base)) { in mtk_tphy_probe()
1147 retval = PTR_ERR(instance->port_base); in mtk_tphy_probe()
1151 instance->phy = phy; in mtk_tphy_probe()
1152 instance->index = port; in mtk_tphy_probe()
1153 phy_set_drvdata(phy, instance); in mtk_tphy_probe()
1160 instance->ref_clk = devm_clk_get(&phy->dev, "ref"); in mtk_tphy_probe()
1161 if (IS_ERR(instance->ref_clk)) { in mtk_tphy_probe()
1163 retval = PTR_ERR(instance->ref_clk); in mtk_tphy_probe()