Lines Matching +full:cp +full:- +full:intc
1 // SPDX-License-Identifier: GPL-2.0-only
10 * in your board-specific code:
29 * interrupt-parent = <&mpic>;
30 * bosch,external-clock-frequency = <16000000>;
53 MODULE_DESCRIPTION("Socket-CAN driver for CC770 on the platform bus");
61 return ioread8(priv->reg_base + reg); in cc770_platform_read_reg()
67 iowrite8(val, priv->reg_base + reg); in cc770_platform_write_reg()
74 struct device_node *np = pdev->dev.of_node; in cc770_get_of_node_data()
76 of_property_read_u32(np, "bosch,external-clock-frequency", &clkext); in cc770_get_of_node_data()
77 priv->can.clock.freq = clkext; in cc770_get_of_node_data()
80 if (priv->can.clock.freq > 10000000) { in cc770_get_of_node_data()
81 priv->cpu_interface |= CPUIF_DSC; in cc770_get_of_node_data()
82 priv->can.clock.freq /= 2; in cc770_get_of_node_data()
86 if (priv->can.clock.freq > 8000000) in cc770_get_of_node_data()
87 priv->cpu_interface |= CPUIF_DMC; in cc770_get_of_node_data()
89 if (of_property_read_bool(np, "bosch,divide-memory-clock")) in cc770_get_of_node_data()
90 priv->cpu_interface |= CPUIF_DMC; in cc770_get_of_node_data()
91 if (of_property_read_bool(np, "bosch,iso-low-speed-mux")) in cc770_get_of_node_data()
92 priv->cpu_interface |= CPUIF_MUX; in cc770_get_of_node_data()
94 if (!of_property_read_bool(np, "bosch,no-comperator-bypass")) in cc770_get_of_node_data()
95 priv->bus_config |= BUSCFG_CBY; in cc770_get_of_node_data()
96 if (of_property_read_bool(np, "bosch,disconnect-rx0-input")) in cc770_get_of_node_data()
97 priv->bus_config |= BUSCFG_DR0; in cc770_get_of_node_data()
98 if (of_property_read_bool(np, "bosch,disconnect-rx1-input")) in cc770_get_of_node_data()
99 priv->bus_config |= BUSCFG_DR1; in cc770_get_of_node_data()
100 if (of_property_read_bool(np, "bosch,disconnect-tx1-output")) in cc770_get_of_node_data()
101 priv->bus_config |= BUSCFG_DT1; in cc770_get_of_node_data()
102 if (of_property_read_bool(np, "bosch,polarity-dominant")) in cc770_get_of_node_data()
103 priv->bus_config |= BUSCFG_POL; in cc770_get_of_node_data()
105 of_property_read_u32(np, "bosch,clock-out-frequency", &clkout); in cc770_get_of_node_data()
112 priv->cpu_interface |= CPUIF_CEN; in cc770_get_of_node_data()
113 priv->clkout |= (cdv - 1) & CLKOUT_CD_MASK; in cc770_get_of_node_data()
115 if (of_property_read_u32(np, "bosch,slew-rate", &slew)) { in cc770_get_of_node_data()
118 CLKOUT_SL_SHIFT) - in cc770_get_of_node_data()
119 ((cdv * clkext - 1) / 8000000); in cc770_get_of_node_data()
123 priv->clkout |= (slew << CLKOUT_SL_SHIFT) & in cc770_get_of_node_data()
126 dev_dbg(&pdev->dev, "invalid clock-out-frequency\n"); in cc770_get_of_node_data()
137 struct cc770_platform_data *pdata = dev_get_platdata(&pdev->dev); in cc770_get_platform_data()
139 priv->can.clock.freq = pdata->osc_freq; in cc770_get_platform_data()
140 if (priv->cpu_interface & CPUIF_DSC) in cc770_get_platform_data()
141 priv->can.clock.freq /= 2; in cc770_get_platform_data()
142 priv->clkout = pdata->cor; in cc770_get_platform_data()
143 priv->bus_config = pdata->bcr; in cc770_get_platform_data()
144 priv->cpu_interface = pdata->cir; in cc770_get_platform_data()
161 return -ENODEV; in cc770_platform_probe()
164 if (!request_mem_region(mem->start, mem_size, pdev->name)) in cc770_platform_probe()
165 return -EBUSY; in cc770_platform_probe()
167 base = ioremap(mem->start, mem_size); in cc770_platform_probe()
169 err = -ENOMEM; in cc770_platform_probe()
175 err = -ENOMEM; in cc770_platform_probe()
179 dev->irq = irq; in cc770_platform_probe()
181 priv->read_reg = cc770_platform_read_reg; in cc770_platform_probe()
182 priv->write_reg = cc770_platform_write_reg; in cc770_platform_probe()
183 priv->irq_flags = IRQF_SHARED; in cc770_platform_probe()
184 priv->reg_base = base; in cc770_platform_probe()
186 if (pdev->dev.of_node) in cc770_platform_probe()
188 else if (dev_get_platdata(&pdev->dev)) in cc770_platform_probe()
191 err = -ENODEV; in cc770_platform_probe()
195 dev_dbg(&pdev->dev, in cc770_platform_probe()
198 priv->reg_base, dev->irq, priv->can.clock.freq, in cc770_platform_probe()
199 priv->cpu_interface, priv->bus_config, priv->clkout); in cc770_platform_probe()
202 SET_NETDEV_DEV(dev, &pdev->dev); in cc770_platform_probe()
206 dev_err(&pdev->dev, in cc770_platform_probe()
218 release_mem_region(mem->start, mem_size); in cc770_platform_probe()
230 iounmap(priv->reg_base); in cc770_platform_remove()
234 release_mem_region(mem->start, resource_size(mem)); in cc770_platform_remove()
239 {.compatible = "intc,82527"}, /* AN82527 from Intel CP */