Lines Matching refs:r
60 static void write_clkset1_for_usb_extal(struct rcar_gen3_usb3 *r, bool reset) in write_clkset1_for_usb_extal() argument
68 writew(val, r->base + USB30_CLKSET1); in write_clkset1_for_usb_extal()
71 static void rcar_gen3_phy_usb3_enable_ssc(struct rcar_gen3_usb3 *r) in rcar_gen3_phy_usb3_enable_ssc() argument
75 switch (r->ssc_range) { in rcar_gen3_phy_usb3_enable_ssc()
86 dev_err(&r->phy->dev, "%s: unsupported range (%x)\n", __func__, in rcar_gen3_phy_usb3_enable_ssc()
87 r->ssc_range); in rcar_gen3_phy_usb3_enable_ssc()
91 writew(val, r->base + USB30_SSC_SET); in rcar_gen3_phy_usb3_enable_ssc()
94 static void rcar_gen3_phy_usb3_select_usb_extal(struct rcar_gen3_usb3 *r) in rcar_gen3_phy_usb3_select_usb_extal() argument
96 write_clkset1_for_usb_extal(r, false); in rcar_gen3_phy_usb3_select_usb_extal()
97 if (r->ssc_range) in rcar_gen3_phy_usb3_select_usb_extal()
98 rcar_gen3_phy_usb3_enable_ssc(r); in rcar_gen3_phy_usb3_select_usb_extal()
100 r->base + USB30_CLKSET0); in rcar_gen3_phy_usb3_select_usb_extal()
101 writew(PHY_ENABLE_RESET_EN, r->base + USB30_PHY_ENABLE); in rcar_gen3_phy_usb3_select_usb_extal()
102 write_clkset1_for_usb_extal(r, true); in rcar_gen3_phy_usb3_select_usb_extal()
104 write_clkset1_for_usb_extal(r, false); in rcar_gen3_phy_usb3_select_usb_extal()
109 struct rcar_gen3_usb3 *r = phy_get_drvdata(p); in rcar_gen3_phy_usb3_init() local
111 dev_vdbg(&r->phy->dev, "%s: enter (%d, %d, %d)\n", __func__, in rcar_gen3_phy_usb3_init()
112 r->usb3s_clk, r->usb_extal, r->ssc_range); in rcar_gen3_phy_usb3_init()
114 if (!r->usb3s_clk && r->usb_extal) in rcar_gen3_phy_usb3_init()
115 rcar_gen3_phy_usb3_select_usb_extal(r); in rcar_gen3_phy_usb3_init()
118 writew(VBUS_EN_VBUS_EN, r->base + USB30_VBUS_EN); in rcar_gen3_phy_usb3_init()
137 struct rcar_gen3_usb3 *r; in rcar_gen3_phy_usb3_probe() local
148 r = devm_kzalloc(dev, sizeof(*r), GFP_KERNEL); in rcar_gen3_phy_usb3_probe()
149 if (!r) in rcar_gen3_phy_usb3_probe()
153 r->base = devm_ioremap_resource(dev, res); in rcar_gen3_phy_usb3_probe()
154 if (IS_ERR(r->base)) in rcar_gen3_phy_usb3_probe()
155 return PTR_ERR(r->base); in rcar_gen3_phy_usb3_probe()
159 r->usb3s_clk = !!clk_get_rate(clk); in rcar_gen3_phy_usb3_probe()
164 r->usb_extal = !!clk_get_rate(clk); in rcar_gen3_phy_usb3_probe()
168 if (!r->usb3s_clk && !r->usb_extal) { in rcar_gen3_phy_usb3_probe()
180 r->phy = devm_phy_create(dev, NULL, &rcar_gen3_phy_usb3_ops); in rcar_gen3_phy_usb3_probe()
181 if (IS_ERR(r->phy)) { in rcar_gen3_phy_usb3_probe()
183 ret = PTR_ERR(r->phy); in rcar_gen3_phy_usb3_probe()
187 of_property_read_u32(dev->of_node, "renesas,ssc-range", &r->ssc_range); in rcar_gen3_phy_usb3_probe()
189 platform_set_drvdata(pdev, r); in rcar_gen3_phy_usb3_probe()
190 phy_set_drvdata(r->phy, r); in rcar_gen3_phy_usb3_probe()