Some boards need to set the OUTn_MONO register to configurates the output signal path as a mono differential output. This wlf,out-mono property is optional. If present, values must be specified less than or equal to the number of output signals. If values less than the number of output signals, elements that has not been specified are set to 0 by default. Example: - wlf,out-mono = <1 0 1>; /* set OUT1,OUT3 to mono differential */ Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> --- drivers/mfd/arizona-core.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index bce7c07..117be32 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -561,6 +561,16 @@ static int arizona_of_get_core_pdata(struct arizona *arizona) count++; } + count = 0; + of_property_for_each_u32(arizona->dev->of_node, "wlf,out-mono", prop, + cur, val) { + if (count == ARRAY_SIZE(arizona->pdata.out_mono)) + break; + + arizona->pdata.out_mono[count] = !!val; + count++; + } + return 0; } -- 2.0.0.390.gcb682f8 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html