On Wed, Sep 23, 2015 at 11:41:22AM +0800, Sugar Zhang wrote:
- /* configure tx/rx lrck use mode */
- if (!of_property_read_u32(node, "rockchip,lrck-mode", &val)) {
if (val >= LRCK_TXRX && val <= LRCK_RX_SHARE)
regmap_update_bits(i2s->regmap, I2S_CKR,
I2S_CKR_TRCM_MASK,
I2S_CKR_TRCM(val));
- }
This looks like it's for a board configuration thing so I'd not really expect this to be handled in a device specific property - it's fairly common to have this situation and we already have the symmetric_rates flag for the DAI to handle it (and if we do end up adding this property we'd need the driver to set that flag so that the core can handle things properly and make sure that userspace doesn't try to set different rates in different directions).
My initial thought here is that the machine driver should be responsible for setting this and then the DAI driver should check to see if symmetric_rates are in use and configure itself appropriately. Is there a reason why this won't work here?