Kumar Gala wrote: > is 19 the actual value you'd end up using from the HW? or is it related > to some random enum value?
Random enum value. Here's the code in ucc_geth: prop = of_get_property(np, "rx-clock", NULL); ug_info->uf_info.rx_clock = *prop; Here's the data type: struct ucc_fast_info { int ucc_num; enum qe_clock rx_clock; enum qe_clock tx_clock; ... As you can see, it doesn't even validate the property. My uart driver has this: rx-clock-source = "BRG5"; tx-clock-source = "BRG6"; sprop = of_get_property(np, "rx-clock-source", NULL); if (!sprop) { printk(KERN_ERR "ucc-uart: missing rx-clock-source in device tree\n"); kfree(qe_port); return -ENODEV; } qe_port->us_info.rx_clock = of_clock_source(sprop); if ((qe_port->us_info.rx_clock < QE_BRG1) || (qe_port->us_info.rx_clock > QE_BRG16)) { printk(KERN_ERR "ucc-uart: rx-clock-source must be a BRG for UART\n"); kfree(qe_port); return -ENODEV; } I will be submitting patches to ucc_geth to fix this problem. -- Timur Tabi Linux Kernel Developer @ Freescale _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev