On Sat, Feb 07, 2015 at 06:18:23AM +0800, Mark Brown wrote:
On Thu, Feb 05, 2015 at 12:53:39PM -0800, Kenneth Westfield wrote:
quoted
+- qcom,system-clock-shift : Add this bool property if the default
+ frequency of the system clock needs to
+ be reduced.
+- qcom,system-clock-shift-compare : A numerical value used to right-shift
+ the default system clock frequency for
+ comparison with the target bit clock
+ frequency.
+- qcom,system-clock-shift-amount : A numerical value used to right-shift
+ the default system clock frequency.
+- qcom,alternate-sysclk : Add this bool property if the default
+ frequency of the system clock cannot
+ divide down to the target bit clock
+ frequency.
+- qcom,alternate-sysclk-bitwidth : A numerical value representing the
+ sample bitwidth which requires use of
+ the alternate system clock frequency.
+- qcom,alternate-sysclk-frequency : A numerical value representing the new
+ system clock frequency to use.
None of these seem like they are appropriate for device tree properties,
they appear to be choosing a specific clocking configuration which is
something that would normally be done as part of the system integration
in the machine driver rather than in the DAI driver. This binding won't
work in cases where the clocks are being changed at runtime and would
limit systems where that becomes possible in future.
So I add a machine driver that selects the clocking freq in hw_params
and calls set_sysclk in the DAIs.
The DT node for the machine driver would look something like:
default_system_clock_frequency = < xxxxxx >;
alternate_system_clock_frequency = < xxxxxx >;
cpu_dai = < &cpu >;
codec_dai = < &codec >;
pinctrl... ?
Does this sound ok? Also, would it make sense to move the pinctrl back
to the machine driver?
--
Kenneth Westfield
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project