.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2015 Freescale Semiconductor, Inc. |
---|
3 | | - * |
---|
4 | | - * This program is free software; you can redistribute it and/or modify |
---|
5 | | - * it under the terms of the GNU General Public License version 2 as |
---|
6 | | - * published by the Free Software Foundation. |
---|
7 | 4 | */ |
---|
8 | 5 | #include <linux/irqchip.h> |
---|
9 | 6 | #include <linux/mfd/syscon.h> |
---|
.. | .. |
---|
32 | 29 | val = phy_read(dev, 0xe); |
---|
33 | 30 | val &= ~(0x1 << 8); |
---|
34 | 31 | phy_write(dev, 0xe, val); |
---|
35 | | - |
---|
36 | | - /* introduce tx clock delay */ |
---|
37 | | - phy_write(dev, 0x1d, 0x5); |
---|
38 | | - val = phy_read(dev, 0x1e); |
---|
39 | | - val |= 0x0100; |
---|
40 | | - phy_write(dev, 0x1e, val); |
---|
41 | 32 | |
---|
42 | 33 | return 0; |
---|
43 | 34 | } |
---|
.. | .. |
---|
87 | 78 | |
---|
88 | 79 | static void __init imx7d_init_machine(void) |
---|
89 | 80 | { |
---|
90 | | - struct device *parent; |
---|
91 | | - |
---|
92 | | - parent = imx_soc_device_init(); |
---|
93 | | - if (parent == NULL) |
---|
94 | | - pr_warn("failed to initialize soc device\n"); |
---|
95 | | - |
---|
96 | 81 | imx_anatop_init(); |
---|
97 | 82 | imx7d_enet_init(); |
---|
| 83 | +} |
---|
| 84 | + |
---|
| 85 | +static void __init imx7d_init_late(void) |
---|
| 86 | +{ |
---|
| 87 | + if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT)) |
---|
| 88 | + platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0); |
---|
98 | 89 | } |
---|
99 | 90 | |
---|
100 | 91 | static void __init imx7d_init_irq(void) |
---|
.. | .. |
---|
113 | 104 | DT_MACHINE_START(IMX7D, "Freescale i.MX7 Dual (Device Tree)") |
---|
114 | 105 | .init_irq = imx7d_init_irq, |
---|
115 | 106 | .init_machine = imx7d_init_machine, |
---|
| 107 | + .init_late = imx7d_init_late, |
---|
116 | 108 | .dt_compat = imx7d_dt_compat, |
---|
117 | 109 | MACHINE_END |
---|