Lines Matching full:dd
25 struct r8a779f0_eth_serdes_drv_data *dd; member
80 r8a779f0_eth_serdes_common_init_ram(struct r8a779f0_eth_serdes_drv_data *dd) in r8a779f0_eth_serdes_common_init_ram() argument
86 channel = &dd->channel[i]; in r8a779f0_eth_serdes_common_init_ram()
92 r8a779f0_eth_serdes_write32(dd->addr, 0x026c, 0x180, 0x03); in r8a779f0_eth_serdes_common_init_ram()
100 struct r8a779f0_eth_serdes_drv_data *dd = channel->dd; in r8a779f0_eth_serdes_common_setting() local
103 r8a779f0_eth_serdes_write32(dd->addr, 0x0244, 0x180, 0x00d7); in r8a779f0_eth_serdes_common_setting()
104 r8a779f0_eth_serdes_write32(dd->addr, 0x01cc, 0x180, 0xc200); in r8a779f0_eth_serdes_common_setting()
105 r8a779f0_eth_serdes_write32(dd->addr, 0x01c4, 0x180, 0x0042); in r8a779f0_eth_serdes_common_setting()
106 r8a779f0_eth_serdes_write32(dd->addr, 0x01c8, 0x180, 0x0000); in r8a779f0_eth_serdes_common_setting()
107 r8a779f0_eth_serdes_write32(dd->addr, 0x01dc, 0x180, 0x002f); in r8a779f0_eth_serdes_common_setting()
108 r8a779f0_eth_serdes_write32(dd->addr, 0x01d0, 0x180, 0x0060); in r8a779f0_eth_serdes_common_setting()
109 r8a779f0_eth_serdes_write32(dd->addr, 0x01d8, 0x180, 0x2200); in r8a779f0_eth_serdes_common_setting()
110 r8a779f0_eth_serdes_write32(dd->addr, 0x01d4, 0x180, 0x0000); in r8a779f0_eth_serdes_common_setting()
111 r8a779f0_eth_serdes_write32(dd->addr, 0x01e0, 0x180, 0x003d); in r8a779f0_eth_serdes_common_setting()
263 struct r8a779f0_eth_serdes_drv_data *dd = channel->dd; in r8a779f0_eth_serdes_hw_init() local
266 if (dd->initialized) in r8a779f0_eth_serdes_hw_init()
269 reset_control_reset(dd->reset); in r8a779f0_eth_serdes_hw_init()
273 ret = r8a779f0_eth_serdes_common_init_ram(dd); in r8a779f0_eth_serdes_hw_init()
278 ret = r8a779f0_eth_serdes_reg_wait(&dd->channel[i], 0x0000, in r8a779f0_eth_serdes_hw_init()
285 r8a779f0_eth_serdes_write32(dd->channel[i].addr, 0x03d4, 0x380, 0x0443); in r8a779f0_eth_serdes_hw_init()
292 r8a779f0_eth_serdes_write32(dd->channel[i].addr, 0x03d0, 0x380, 0x0001); in r8a779f0_eth_serdes_hw_init()
295 r8a779f0_eth_serdes_write32(dd->addr, 0x0000, 0x380, 0x8000); in r8a779f0_eth_serdes_hw_init()
297 ret = r8a779f0_eth_serdes_common_init_ram(dd); in r8a779f0_eth_serdes_hw_init()
301 return r8a779f0_eth_serdes_reg_wait(&dd->channel[0], 0x0000, 0x380, BIT(15), 0); in r8a779f0_eth_serdes_hw_init()
311 channel->dd->initialized = true; in r8a779f0_eth_serdes_init()
320 channel->dd->initialized = false; in r8a779f0_eth_serdes_exit()
412 struct r8a779f0_eth_serdes_drv_data *dd = dev_get_drvdata(dev); in r8a779f0_eth_serdes_xlate() local
417 return dd->channel[args->args[0]].phy; in r8a779f0_eth_serdes_xlate()
428 struct r8a779f0_eth_serdes_drv_data *dd; in r8a779f0_eth_serdes_probe() local
432 dd = devm_kzalloc(&pdev->dev, sizeof(*dd), GFP_KERNEL); in r8a779f0_eth_serdes_probe()
433 if (!dd) in r8a779f0_eth_serdes_probe()
436 platform_set_drvdata(pdev, dd); in r8a779f0_eth_serdes_probe()
437 dd->pdev = pdev; in r8a779f0_eth_serdes_probe()
438 dd->addr = devm_platform_ioremap_resource(pdev, 0); in r8a779f0_eth_serdes_probe()
439 if (IS_ERR(dd->addr)) in r8a779f0_eth_serdes_probe()
440 return PTR_ERR(dd->addr); in r8a779f0_eth_serdes_probe()
442 dd->reset = devm_reset_control_get(&pdev->dev, NULL); in r8a779f0_eth_serdes_probe()
443 if (IS_ERR(dd->reset)) in r8a779f0_eth_serdes_probe()
444 return PTR_ERR(dd->reset); in r8a779f0_eth_serdes_probe()
447 struct r8a779f0_eth_serdes_channel *channel = &dd->channel[i]; in r8a779f0_eth_serdes_probe()
453 channel->addr = dd->addr + R8A779F0_ETH_SERDES_OFFSET * i; in r8a779f0_eth_serdes_probe()
454 channel->dd = dd; in r8a779f0_eth_serdes_probe()