Message ID | 20201217154142.24301-1-rf@opensource.cirrus.com |
---|---|
Headers | show |
Series | Add support for Rpi4b + Cirrus Lochnagar2 and CS47L15 | expand |
On 12/17/20 7:41 AM, 'Richard Fitzgerald' via BCM-KERNEL-FEEDBACK-LIST,PDL wrote: > This adds a devicetree configuration for Raspberry Pi 4b connected to > Cirrus Logic Lochnagar 2 audio development board and CS47L15 codec. > > The common (codec-independent) Lochnagar 2 configuration is separated > into a dtsi to simplify re-using it for other codecs. > > Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> > --- > MAINTAINERS | 1 + > arch/arm/boot/dts/Makefile | 1 + > ...bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dts | 186 ++++++++++++++++ > .../dts/bcm2711-rpi4b-cirrus-lochnagar.dtsi | 201 ++++++++++++++++++ > 4 files changed, 389 insertions(+) > create mode 100644 arch/arm/boot/dts/bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dts > create mode 100644 arch/arm/boot/dts/bcm2711-rpi4b-cirrus-lochnagar.dtsi > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5cc595ac7b28..7dca1db52144 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4193,6 +4193,7 @@ M: Charles Keepax <ckeepax@opensource.cirrus.com> > M: Richard Fitzgerald <rf@opensource.cirrus.com> > L: patches@opensource.cirrus.com > S: Supported > +F: arch/arm/boot/dts/bcm2711-rpi4b-cirrus-lochnagar* > F: Documentation/devicetree/bindings/clock/cirrus,lochnagar.yaml > F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.yaml > F: Documentation/devicetree/bindings/mfd/cirrus,lochnagar.yaml > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index ce66ffd5a1bb..240cc58fd954 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -93,6 +93,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ > bcm2837-rpi-3-b-plus.dtb \ > bcm2837-rpi-cm3-io3.dtb \ > bcm2711-rpi-4-b.dtb \ > + bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dtb \ Is there a reason you are not following the convention established above and have this file be named: bcm2711-rpi-4-b-cirrus-lochnagar-cs47l15.dtb?
Hi Richard Thank you for your patch. This is v3 patch, but I think this is the first time for me to receive patch... > Some codecs need plls and/or sysclks to be configured using the > snd_soc_component_set_[sysclk|pll] functions. These drivers cannot > necessarily be converted to use the clock framework. If the codec is on > a I2C/SPI bus, a nested clk_get would be needed to enable the bus clock. > But the clock framework does not support nested operations and this would > deadlock. > > This patch adds new dt properties that list phandles of components with > the pll/sysclk settings to be applied. Multiple settings can be given for > the same phandle to allow for components with multiple clocks and plls. > The plls and sysclks are enabled when the card bias level moves to STANDBY > and disabled when it moves to OFF. > > The implementation does not attempt to handle specifying complex clock > ordering interdependencies between components. The plls and sysclks are > applied to a component as it is passed to the card set_bias_level/ > set_bias_level_post callbacks. It follows from this that the order > components are configured is the order that they are passed to those > callbacks. > > Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> > --- > include/sound/simple_card_utils.h | 25 +++ > sound/soc/generic/audio-graph-card.c | 16 +- > sound/soc/generic/simple-card-utils.c | 236 ++++++++++++++++++++++++++ > 3 files changed, 275 insertions(+), 2 deletions(-) I understand that you need sysclk/pll and .set_bias_level_xxx(). But I guess makes it generic code is difficult (?). Thus, as Sameer doing on Tegra, creating custom audio-graph-card is better idea for you ? # Now I'm creating new audio-graph-card2 which also supports # overwriting/customizing each/all functions. # It is not full compatible with audio-graph-card, but almost same if you # uses normal connection. # I hope I can post it next year Thank you for your help !! Best regards --- Kuninori Morimoto
On 18/12/2020 00:03, Kuninori Morimoto wrote: > > Hi Richard > > Thank you for your patch. > This is v3 patch, but I think this is the first time for me > to receive patch... Yes sorry. Somehow I missed you off V1 and V2 emails. > >> Some codecs need plls and/or sysclks to be configured using the >> snd_soc_component_set_[sysclk|pll] functions. These drivers cannot >> necessarily be converted to use the clock framework. If the codec is on >> a I2C/SPI bus, a nested clk_get would be needed to enable the bus clock. >> But the clock framework does not support nested operations and this would >> deadlock. >> >> This patch adds new dt properties that list phandles of components with >> the pll/sysclk settings to be applied. Multiple settings can be given for >> the same phandle to allow for components with multiple clocks and plls. >> The plls and sysclks are enabled when the card bias level moves to STANDBY >> and disabled when it moves to OFF. >> >> The implementation does not attempt to handle specifying complex clock >> ordering interdependencies between components. The plls and sysclks are >> applied to a component as it is passed to the card set_bias_level/ >> set_bias_level_post callbacks. It follows from this that the order >> components are configured is the order that they are passed to those >> callbacks. >> >> Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> >> --- >> include/sound/simple_card_utils.h | 25 +++ >> sound/soc/generic/audio-graph-card.c | 16 +- >> sound/soc/generic/simple-card-utils.c | 236 ++++++++++++++++++++++++++ >> 3 files changed, 275 insertions(+), 2 deletions(-) > > I understand that you need sysclk/pll and .set_bias_level_xxx(). > But I guess makes it generic code is difficult (?). > Thus, as Sameer doing on Tegra, creating custom audio-graph-card is better > idea for you ? > > # Now I'm creating new audio-graph-card2 which also supports > # overwriting/customizing each/all functions. > # It is not full compatible with audio-graph-card, but almost same if you > # uses normal connection. > # I hope I can post it next year > > Thank you for your help !! > > Best regards > --- > Kuninori Morimoto >