Re: [PATCH 11/17] ARM: dts: Add missing mcasp node for omap4

Peter Ujfalusi
2017-08-31T05:47:32Z

﻿

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

On 2017-08-30 18:19, Tony Lindgren wrote:
> On omap4 we're missing the mcasp node with it's related "ti,hwmods"
> property that the SoC interconnect code needs.
>
> Note that this will only show up as a bug with "doesn't have
> mpu register target base" boot errors when the legacy platform
> data is removed.
>
> Cc: Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Cc: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
> Cc: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Signed-off-by: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
> ---
> Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt | 1 +
> arch/arm/boot/dts/omap4.dtsi | 9 +++++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
> --- a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
> +++ b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
> @@ -6,6 +6,7 @@ Required properties:
> "ti,da830-mcasp-audio" : for both DA830 & DA850 platforms
> "ti,am33xx-mcasp-audio" : for AM33xx platforms (AM33xx, AM43xx, TI81xx)
> "ti,dra7-mcasp-audio" : for DRA7xx platforms
> + "ti,omap4-mcasp-audio" : for OMAP4 platforms
>
> - reg : Should contain reg specifiers for the entries in the reg-names property.
> - reg-names : Should contain:
> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
> --- a/arch/arm/boot/dts/omap4.dtsi
> +++ b/arch/arm/boot/dts/omap4.dtsi
> @@ -775,6 +775,15 @@
> status = "disabled";
> };
>
> + mcasp: mcasp@40128000 {
> + compatible = "ti,omap4-mcasp-audio";
> + reg = <0x40128000 0x400>, /* MPU private access */
> + <0x49028000 0x400>; /* L3 Interconnect */
> + reg-names = "mpu", "dma";
> + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
> + ti,hwmods = "mcasp";
> + };

I would not do this. We don't support the NcASP on OMAP4 or OMAP5 for
that matter.
In theory it is the same IP as found in other SoCs, but in OMAP4 the TX
path is disabled and (in theory) the i2s support is also a thing which
is not supported - only DIT mode.
We do not even have any hardware where it can be tested (Galaxy Nexus
uses McASP for S/PDIF output when it is docked.
For Android we have had omap-mcasp driver, but it is not upstream and is
never will as if we are going to support McASP it should be done via the
davinci-mcasp driver.

By adding the node we might give the impression that McASP on OMAP4/5 is
usable, which is not.

On the other hand, the DT describes the HW, so it should be OK to add
all peripherals even if there is no driver to support it. In this case
the status = "disabled"; must be there.

> +
> slimbus1: slimbus@4012c000 {
> compatible = "ti,omap4-slimbus";
> reg = <0x4012c000 0x400>, /* MPU private access */
>

- Péter