12 #include <linux/stddef.h>
13 #include <linux/kernel.h>
27 { .compatible =
"marvell,mv64306-devctrl", },
49 of_node_put(mpscrouting);
59 of_node_put(mpscintr);
94 const unsigned int *prop;
101 if (
id == 0 && (err = mv64x60_mpsc_register_shared_pdev(np)))
136 port_number = *(
int *)prop;
140 pdata.cache_mgmt = 1;
145 pdata.max_idle = *prop;
149 pdata.default_baud = *prop;
152 pdata.default_bits = 8;
153 pdata.default_parity =
'n';
154 pdata.default_flow =
'n';
158 pdata.chr_1_val = *prop;
162 pdata.chr_2_val = *prop;
166 pdata.chr_10_val = *prop;
170 pdata.mpcr_val = *prop;
174 pdata.bcr_val = *prop;
176 pdata.brg_can_tune = 1;
180 pdata.brg_clk_src = *prop;
184 pdata.brg_clk_freq = *prop;
246 pdata.shared = shared_pdev;
251 pdata.port_number = *prop;
263 pdata.tx_queue_size = *prop;
267 pdata.rx_queue_size = *prop;
271 pdata.tx_sram_addr = *prop;
275 pdata.tx_sram_size = *prop;
279 pdata.rx_sram_addr = *prop;
283 pdata.rx_sram_size = *prop;
331 const unsigned int *prop;
347 pdata.freq_m = *prop;
352 pdata.freq_n = *prop;
354 pdata.timeout = 1000;
387 const unsigned int *prop;
406 pdata.bus_clk = *prop / 1000000;
431 static int __init mv64x60_device_setup(
void)
439 for_each_compatible_node(np,
"serial",
"marvell,mv64360-mpsc") {
440 err = mv64x60_mpsc_device_setup(np,
id++);
443 "serial device %s: error %d.\n",
449 for_each_compatible_node(np,
NULL,
"marvell,mv64360-eth-group") {
450 pdev = mv64x60_eth_register_shared_pdev(np,
id++);
454 "network block %s: error %d.\n",
460 "marvell,mv64360-eth"))
462 err = mv64x60_eth_device_setup(np2, id2++, pdev);
465 "MV64x60 network device %s: "
472 for_each_compatible_node(np,
"i2c",
"marvell,mv64360-i2c") {
473 err = mv64x60_i2c_device_setup(np,
id++);
476 "bus %s: error %d.\n",
483 if ((err = mv64x60_wdt_device_setup(np,
id)))
485 "Watchdog %s: error %d.\n",
491 for_each_compatible_node(np,
NULL,
"marvell,mv64360")
492 of_platform_bus_probe(np, of_mv64x60_devices,
NULL);
498 static
int __init mv64x60_add_mpsc_console(
void)