* [RFC 1/6] ARM: DTS: omap5-l4-abe: we do not need separate target-modules for dmem, cmem, smem
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 2/6] ARM: DTS: omap5-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child H. Nikolaus Schaller
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap, H. Nikolaus Schaller
They are part of the Audio Engine target module.
The address ranges are handled by the aess child node.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi | 27 ---------------------
1 file changed, 27 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
index a03bca5a35844..7d223f938d479 100644
--- a/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
@@ -404,33 +404,6 @@ timer8: timer@0 {
};
};
- target-module@80000 { /* 0x40180000, ap 26 1a.0 */
- compatible = "ti,sysc";
- status = "disabled";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0x80000 0x10000>,
- <0x49080000 0x49080000 0x10000>;
- };
-
- target-module@a0000 { /* 0x401a0000, ap 28 1c.0 */
- compatible = "ti,sysc";
- status = "disabled";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0xa0000 0x10000>,
- <0x490a0000 0x490a0000 0x10000>;
- };
-
- target-module@c0000 { /* 0x401c0000, ap 30 1e.0 */
- compatible = "ti,sysc";
- status = "disabled";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0xc0000 0x10000>,
- <0x490c0000 0x490c0000 0x10000>;
- };
-
target-module@f1000 { /* 0x401f1000, ap 32 20.0 */
compatible = "ti,sysc-omap4", "ti,sysc";
reg = <0xf1000 0x4>,
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [RFC 2/6] ARM: DTS: omap5-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 1/6] ARM: DTS: omap5-l4-abe: we do not need separate target-modules for dmem, cmem, smem H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 3/6] ARM: DTS: omap5-board-common: enable aess, add phandles for aess and mcbsp1/2/3 H. Nikolaus Schaller
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap, H. Nikolaus Schaller
make the aess module a child of the target-module.
Define ranges, register names, interrupts, dmas.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi | 71 +++++++++++++++++----
1 file changed, 57 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
index 7d223f938d479..611c92e04fe7a 100644
--- a/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap5-l4-abe.dtsi
@@ -41,12 +41,14 @@ segment@0 { /* 0x40100000 */
<0x0003d000 0x0003d000 0x001000>, /* ap 23 */
<0x0003e000 0x0003e000 0x001000>, /* ap 24 */
<0x0003f000 0x0003f000 0x001000>, /* ap 25 */
- <0x00080000 0x00080000 0x010000>, /* ap 26 */
- <0x00080000 0x00080000 0x001000>, /* ap 27 */
- <0x000a0000 0x000a0000 0x010000>, /* ap 28 */
- <0x000a0000 0x000a0000 0x001000>, /* ap 29 */
- <0x000c0000 0x000c0000 0x010000>, /* ap 30 */
- <0x000c0000 0x000c0000 0x001000>, /* ap 31 */
+ <0x00080000 0x00080000 0x010000>, /* dmem */
+ <0x00090000 0x00090000 0x001000>, /* dmem */
+ <0x000a0000 0x000a0000 0x010000>, /* cmem */
+ <0x000b0000 0x000b0000 0x001000>, /* cmem */
+ <0x000c0000 0x000c0000 0x010000>, /* smem */
+ <0x000d0000 0x000d0000 0x001000>, /* smem */
+ <0x000e0000 0x000e0000 0x010000>, /* pmem */
+ <0x000f0000 0x000f0000 0x001000>, /* pmem */
<0x000f1000 0x000f1000 0x001000>, /* ap 32 */
<0x000f2000 0x000f2000 0x001000>, /* ap 33 */
@@ -77,12 +79,14 @@ segment@0 { /* 0x40100000 */
<0x4903d000 0x4903d000 0x001000>, /* ap 23 */
<0x4903e000 0x4903e000 0x001000>, /* ap 24 */
<0x4903f000 0x4903f000 0x001000>, /* ap 25 */
- <0x49080000 0x49080000 0x010000>, /* ap 26 */
- <0x49080000 0x49080000 0x001000>, /* ap 27 */
- <0x490a0000 0x490a0000 0x010000>, /* ap 28 */
- <0x490a0000 0x490a0000 0x001000>, /* ap 29 */
- <0x490c0000 0x490c0000 0x010000>, /* ap 30 */
- <0x490c0000 0x490c0000 0x001000>, /* ap 31 */
+ <0x49080000 0x49080000 0x010000>, /* dmem */
+ <0x49090000 0x49090000 0x001000>, /* dmem */
+ <0x490a0000 0x490a0000 0x010000>, /* cmem */
+ <0x490b0000 0x490b0000 0x001000>, /* cmem */
+ <0x490c0000 0x490c0000 0x010000>, /* smem */
+ <0x490d0000 0x490d0000 0x001000>, /* smem */
+ <0x490e0000 0x490e0000 0x010000>, /* pmem */
+ <0x490f0000 0x490f0000 0x001000>, /* pmem */
<0x490f1000 0x490f1000 0x001000>, /* ap 32 */
<0x490f2000 0x490f2000 0x001000>; /* ap 33 */
@@ -421,8 +425,47 @@ target-module@f1000 { /* 0x401f1000, ap 32 20.0 */
clock-names = "fck";
#address-cells = <1>;
#size-cells = <1>;
- ranges = <0x0 0xf1000 0x1000>,
- <0x490f1000 0x490f1000 0x1000>;
+
+ /* CHECKME: OMAP4 and OMAP5 may differ in memory sizes, here we define more than available... */
+ ranges = <0 0xf1000 0x1000>, /* MPU private access */
+ <0x80000 0x80000 0x10000>, /* DMEM 64KiB - MPU */
+ <0xa0000 0xa0000 0x10000>, /* CMEM 6KiB - MPU */
+ <0xc0000 0xc0000 0x10000>, /* SMEM 64KiB - MPU */
+ <0xe0000 0xe0000 0x10000>, /* PMEM 8KiB - MPU */
+ <0x490f1000 0x490f1000 0x10000>, /* L3 Interconnect */
+ <0x49080000 0x49080000 0x10000>, /* DMEM 64KiB - L3 */
+ <0x490a0000 0x490a0000 0x10000>, /* CMEM 6KiB - L3 */
+ <0x490ce000 0x490c0000 0x10000>, /* SMEM 64KiB - L3 */
+ <0x490e0000 0x490e0000 0x10000>; /* PMEM 8KiB - L3 */
+
+ aess: aess {
+ compatible = "ti,omap4-aess";
+ status = "disabled";
+ reg = <0 0xfff>, /* MPU private access */
+ <0x80000 0xffff>, /* DMEM - MPU */
+ <0xa0000 0xffff>, /* CMEM - MPU */
+ <0xc0000 0xffff>, /* SMEM - MPU */
+ <0xe0000 0xffff>, /* PMEM - MPU */
+ <0x490f1000 0xfff>, /* L3 Interconnect */
+ <0x49080000 0xffff>, /* DMEM - L3 */
+ <0x490a0000 0xffff>, /* CMEM - L3 */
+ <0x490ce000 0xffff>, /* SMEM - L3 */
+ <0x490e0000 0xffff>; /* PMEM - L3 */
+ reg-names = "mpu", "dmem", "cmem", "smem", "pmem",
+ "dma", "dmem_dma", "cmem_dma", "smem_dma",
+ "pmem_dma";
+ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&sdma 101>,
+ <&sdma 102>,
+ <&sdma 103>,
+ <&sdma 104>,
+ <&sdma 105>,
+ <&sdma 106>,
+ <&sdma 107>,
+ <&sdma 108>;
+ dma-names = "fifo0", "fifo1", "fifo2", "fifo3", "fifo4",
+ "fifo5", "fifo6", "fifo7";
+ };
};
};
};
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [RFC 3/6] ARM: DTS: omap5-board-common: enable aess, add phandles for aess and mcbsp1/2/3
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 1/6] ARM: DTS: omap5-l4-abe: we do not need separate target-modules for dmem, cmem, smem H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 2/6] ARM: DTS: omap5-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 4/6] ARM: DTS: omap4-l4-abe: Add McASP configuration H. Nikolaus Schaller
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap, Marek Belisko
From: Marek Belisko <marek.belisko@open-nandra.com>
and extend audio-routing.
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
arch/arm/boot/dts/ti/omap/omap5-board-common.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm/boot/dts/ti/omap/omap5-board-common.dtsi b/arch/arm/boot/dts/ti/omap/omap5-board-common.dtsi
index 6f46f1ecf1e57..49ced2f4096fb 100644
--- a/arch/arm/boot/dts/ti/omap/omap5-board-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap5-board-common.dtsi
@@ -123,22 +123,37 @@ sound: sound {
ti,mclk-freq = <19200000>;
ti,mcpdm = <&mcpdm>;
+ ti,mcbsp1 = <&mcbsp1>; /* bluetooth */
+ ti,mcbsp2 = <&mcbsp2>; /* fm radio */
+ ti,mcbsp3 = <&mcbsp3>; /* modem */
ti,twl6040 = <&twl6040>;
+ ti,aess = <&aess>;
/* Audio routing */
ti,audio-routing =
"Headset Stereophone", "HSOL",
"Headset Stereophone", "HSOR",
+ "Earphone Spk", "EP",
"Line Out", "AUXL",
"Line Out", "AUXR",
+ "Vibrator", "VIBRAL",
+ "Vibrator", "VIBRAR",
"HSMIC", "Headset Mic",
"Headset Mic", "Headset Mic Bias",
+ "MAINMIC", "Main Handset Mic",
+ "Main Handset Mic", "Main Mic Bias",
+ "SUBMIC", "Sub Handset Mic",
+ "Sub Handset Mic", "Main Mic Bias",
"AFML", "Line In",
"AFMR", "Line In";
};
};
+&aess {
+ status = "okay";
+};
+
&gpio8 {
/* TI trees use GPIO instead of msecure, see also muxing */
msecure-hog {
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [RFC 4/6] ARM: DTS: omap4-l4-abe: Add McASP configuration
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
` (2 preceding siblings ...)
2023-09-05 12:50 ` [RFC 3/6] ARM: DTS: omap5-board-common: enable aess, add phandles for aess and mcbsp1/2/3 H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
2023-09-07 5:35 ` Tony Lindgren
2023-09-05 12:50 ` [RFC 5/6] ARM: DTS: omap4-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child H. Nikolaus Schaller
2023-09-05 12:50 ` [RFC 6/6] ARM: DTS: omap4-panda-common: enable aess, add phandles for aess and mcbsp1/2/3 H. Nikolaus Schaller
5 siblings, 1 reply; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap
From: Peter Ujfalusi <peter.ujfalusi@gmail.com>
OMAP4 has a single McASP instance with single serializer and locked for DIT
mode.
To be able to enable the support the following fixes needed:
- Add the DAT port ranges to the target module's ranges
- SIDLE mode must be disabled as it is not working with McASP
most likely module integration issue with McASP
We can already fill in the op-mode and serial-dir for McASP as it only
supports this configuration, but keep the module disabled as there is no
known device available where it is used.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
---
arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
index 7ae8b620515c5..a8d66240d17d5 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
@@ -192,8 +192,7 @@ target-module@28000 { /* 0x40128000, ap 8 08.0 */
<0x28004 0x4>;
reg-names = "rev", "sysc";
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
- <SYSC_IDLE_NO>,
- <SYSC_IDLE_SMART>;
+ <SYSC_IDLE_NO>;
/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>;
clock-names = "fck";
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [RFC 4/6] ARM: DTS: omap4-l4-abe: Add McASP configuration
2023-09-05 12:50 ` [RFC 4/6] ARM: DTS: omap4-l4-abe: Add McASP configuration H. Nikolaus Schaller
@ 2023-09-07 5:35 ` Tony Lindgren
0 siblings, 0 replies; 9+ messages in thread
From: Tony Lindgren @ 2023-09-07 5:35 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Andreas Kemnade, Patrik Dahlström, peter.ujfalusi,
letux-kernel, kernel, linux-omap
* H. Nikolaus Schaller <hns@goldelico.com> [230905 15:58]:
> From: Peter Ujfalusi <peter.ujfalusi@gmail.com>
>
> OMAP4 has a single McASP instance with single serializer and locked for DIT
> mode.
> To be able to enable the support the following fixes needed:
> - Add the DAT port ranges to the target module's ranges
I think the above has been already done?
> - SIDLE mode must be disabled as it is not working with McASP
> most likely module integration issue with McASP
Best to keep the dts entry as is and add quirk handling to ti-sysc driver
instead based on mcasp revision register detection. The dts is meant to
describe hardware and the register values exist.. But looking at ti-sysc
we already have mcasp tagged with SYSC_QUIRK_SWSUP_SIDLE.
If this patch is still needed, maybe check the revision register value and
mask in case there are multiple revisions, that's this line in ti-sysc:
SYSC_QUIRK("mcasp", 0, 0, 0x4, -ENODEV, 0x44306302, 0xffffffff,
SYSC_QUIRK_SWSUP_SIDLE),
Regards,
Tony
^ permalink raw reply [flat|nested] 9+ messages in thread
* [RFC 5/6] ARM: DTS: omap4-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
` (3 preceding siblings ...)
2023-09-05 12:50 ` [RFC 4/6] ARM: DTS: omap4-l4-abe: Add McASP configuration H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
2023-09-07 5:29 ` Tony Lindgren
2023-09-05 12:50 ` [RFC 6/6] ARM: DTS: omap4-panda-common: enable aess, add phandles for aess and mcbsp1/2/3 H. Nikolaus Schaller
5 siblings, 1 reply; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap, H. Nikolaus Schaller
make the aess module a child of the target-module.
Define ranges, register names, interrupts, dmas.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi | 75 +++++++++++++++------
1 file changed, 56 insertions(+), 19 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
index a8d66240d17d5..7ca7b369b4e59 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
@@ -41,12 +41,14 @@ segment@0 { /* 0x40100000 */
<0x0003d000 0x0003d000 0x001000>, /* ap 23 */
<0x0003e000 0x0003e000 0x001000>, /* ap 24 */
<0x0003f000 0x0003f000 0x001000>, /* ap 25 */
- <0x00080000 0x00080000 0x010000>, /* ap 26 */
- <0x00080000 0x00080000 0x001000>, /* ap 27 */
- <0x000a0000 0x000a0000 0x010000>, /* ap 28 */
- <0x000a0000 0x000a0000 0x001000>, /* ap 29 */
- <0x000c0000 0x000c0000 0x010000>, /* ap 30 */
- <0x000c0000 0x000c0000 0x001000>, /* ap 31 */
+ <0x00080000 0x00080000 0x010000>, /* dmem */
+ <0x00090000 0x00090000 0x001000>, /* dmem */
+ <0x000a0000 0x000a0000 0x010000>, /* cmem */
+ <0x000b0000 0x000b0000 0x001000>, /* cmem */
+ <0x000c0000 0x000c0000 0x010000>, /* smem */
+ <0x000d0000 0x000d0000 0x001000>, /* smem */
+ <0x000e0000 0x000e0000 0x010000>, /* pmem */
+ <0x000f0000 0x000f0000 0x001000>, /* pmem */
<0x000f1000 0x000f1000 0x001000>, /* ap 32 */
<0x000f2000 0x000f2000 0x001000>, /* ap 33 */
@@ -77,12 +79,14 @@ segment@0 { /* 0x40100000 */
<0x4903d000 0x4903d000 0x001000>, /* ap 23 */
<0x4903e000 0x4903e000 0x001000>, /* ap 24 */
<0x4903f000 0x4903f000 0x001000>, /* ap 25 */
- <0x49080000 0x49080000 0x010000>, /* ap 26 */
- <0x49080000 0x49080000 0x001000>, /* ap 27 */
- <0x490a0000 0x490a0000 0x010000>, /* ap 28 */
- <0x490a0000 0x490a0000 0x001000>, /* ap 29 */
- <0x490c0000 0x490c0000 0x010000>, /* ap 30 */
- <0x490c0000 0x490c0000 0x001000>, /* ap 31 */
+ <0x49080000 0x49080000 0x010000>, /* dmem */
+ <0x49090000 0x49090000 0x001000>, /* dmem */
+ <0x490a0000 0x490a0000 0x010000>, /* cmem */
+ <0x490b0000 0x490b0000 0x001000>, /* cmem */
+ <0x490c0000 0x490c0000 0x010000>, /* smem */
+ <0x490d0000 0x490d0000 0x001000>, /* smem */
+ <0x490e0000 0x490e0000 0x010000>, /* pmem */
+ <0x490f0000 0x490f0000 0x001000>, /* pmem */
<0x490f1000 0x490f1000 0x001000>, /* ap 32 */
<0x490f2000 0x490f2000 0x001000>; /* ap 33 */
@@ -482,14 +486,47 @@ target-module@f1000 { /* 0x401f1000, ap 32 20.0 */
clock-names = "fck";
#address-cells = <1>;
#size-cells = <1>;
- ranges = <0x0 0xf1000 0x1000>,
- <0x490f1000 0x490f1000 0x1000>;
- /*
- * No child device binding or driver in mainline.
- * See Android tree and related upstreaming efforts
- * for the old driver.
- */
+ /* CHECKME: OMAP4 and OMAP5 may differ in memory sizes, here we define more than available... */
+ ranges = <0 0xf1000 0x1000>, /* MPU private access */
+ <0x80000 0x80000 0x10000>, /* DMEM 64KiB - MPU */
+ <0xa0000 0xa0000 0x10000>, /* CMEM 6KiB - MPU */
+ <0xc0000 0xc0000 0x10000>, /* SMEM 64KiB - MPU */
+ <0xe0000 0xe0000 0x10000>, /* PMEM 8KiB - MPU */
+ <0x490f1000 0x490f1000 0x10000>, /* L3 Interconnect */
+ <0x49080000 0x49080000 0x10000>, /* DMEM 64KiB - L3 */
+ <0x490a0000 0x490a0000 0x10000>, /* CMEM 6KiB - L3 */
+ <0x490ce000 0x490c0000 0x10000>, /* SMEM 64KiB - L3 */
+ <0x490e0000 0x490e0000 0x10000>; /* PMEM 8KiB - L3 */
+
+ aess: aess {
+ compatible = "ti,omap4-aess";
+ status = "disabled";
+ reg = <0 0xfff>, /* MPU private access */
+ <0x80000 0xffff>, /* DMEM - MPU */
+ <0xa0000 0xffff>, /* CMEM - MPU */
+ <0xc0000 0xffff>, /* SMEM - MPU */
+ <0xe0000 0xffff>, /* PMEM - MPU */
+ <0x490f1000 0xfff>, /* L3 Interconnect */
+ <0x49080000 0xffff>, /* DMEM - L3 */
+ <0x490a0000 0xffff>, /* CMEM - L3 */
+ <0x490ce000 0xffff>, /* SMEM - L3 */
+ <0x490e0000 0xffff>; /* PMEM - L3 */
+ reg-names = "mpu", "dmem", "cmem", "smem", "pmem",
+ "dma", "dmem_dma", "cmem_dma", "smem_dma",
+ "pmem_dma";
+ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&sdma 101>,
+ <&sdma 102>,
+ <&sdma 103>,
+ <&sdma 104>,
+ <&sdma 105>,
+ <&sdma 106>,
+ <&sdma 107>,
+ <&sdma 108>;
+ dma-names = "fifo0", "fifo1", "fifo2", "fifo3", "fifo4",
+ "fifo5", "fifo6", "fifo7";
+ };
};
};
};
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [RFC 5/6] ARM: DTS: omap4-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child
2023-09-05 12:50 ` [RFC 5/6] ARM: DTS: omap4-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child H. Nikolaus Schaller
@ 2023-09-07 5:29 ` Tony Lindgren
0 siblings, 0 replies; 9+ messages in thread
From: Tony Lindgren @ 2023-09-07 5:29 UTC (permalink / raw)
To: H. Nikolaus Schaller
Cc: Andreas Kemnade, Patrik Dahlström, peter.ujfalusi,
letux-kernel, kernel, linux-omap
Hi,
* H. Nikolaus Schaller <hns@goldelico.com> [230905 15:58]:
> make the aess module a child of the target-module.
How about something like this for the patch description:
"Move aess specific memory ranges to the aess module and remove the entries
generated from the hardware ap registers. There is no need to set up
separate child device nodes for aess as these are all memory ranges used
only by the aess driver."
And then just combine this patch with the one removing the entries
generated from ap registers.
> diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
> index a8d66240d17d5..7ca7b369b4e59 100644
> --- a/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
> +++ b/arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi
> @@ -41,12 +41,14 @@ segment@0 { /* 0x40100000 */
> <0x0003d000 0x0003d000 0x001000>, /* ap 23 */
> <0x0003e000 0x0003e000 0x001000>, /* ap 24 */
> <0x0003f000 0x0003f000 0x001000>, /* ap 25 */
> - <0x00080000 0x00080000 0x010000>, /* ap 26 */
> - <0x00080000 0x00080000 0x001000>, /* ap 27 */
> - <0x000a0000 0x000a0000 0x010000>, /* ap 28 */
> - <0x000a0000 0x000a0000 0x001000>, /* ap 29 */
> - <0x000c0000 0x000c0000 0x010000>, /* ap 30 */
> - <0x000c0000 0x000c0000 0x001000>, /* ap 31 */
> + <0x00080000 0x00080000 0x010000>, /* dmem */
> + <0x00090000 0x00090000 0x001000>, /* dmem */
> + <0x000a0000 0x000a0000 0x010000>, /* cmem */
> + <0x000b0000 0x000b0000 0x001000>, /* cmem */
> + <0x000c0000 0x000c0000 0x010000>, /* smem */
> + <0x000d0000 0x000d0000 0x001000>, /* smem */
> + <0x000e0000 0x000e0000 0x010000>, /* pmem */
> + <0x000f0000 0x000f0000 0x001000>, /* pmem */
> <0x000f1000 0x000f1000 0x001000>, /* ap 32 */
> <0x000f2000 0x000f2000 0x001000>, /* ap 33 */
>
So looks like pmem has no ranges defined in the ap registers, just add the
new ranges with comments like "dmem interrconnect" "pmem, not listed in ap".
Right now this change is hard to read as it's not obvious what is changing as
you're adding the new ranges and changing comments for the existing ranges.
Please keep the ap entry reference for the existing ones, not sure we need
comments for the existing ranges. Probably best to add comments in a separate
patch to keep the range changes readable.
> @@ -482,14 +486,47 @@ target-module@f1000 { /* 0x401f1000, ap 32 20.0 */
> clock-names = "fck";
> #address-cells = <1>;
> #size-cells = <1>;
> - ranges = <0x0 0xf1000 0x1000>,
> - <0x490f1000 0x490f1000 0x1000>;
>
> - /*
> - * No child device binding or driver in mainline.
> - * See Android tree and related upstreaming efforts
> - * for the old driver.
> - */
> + /* CHECKME: OMAP4 and OMAP5 may differ in memory sizes, here we define more than available... */
> + ranges = <0 0xf1000 0x1000>, /* MPU private access */
> + <0x80000 0x80000 0x10000>, /* DMEM 64KiB - MPU */
> + <0xa0000 0xa0000 0x10000>, /* CMEM 6KiB - MPU */
> + <0xc0000 0xc0000 0x10000>, /* SMEM 64KiB - MPU */
> + <0xe0000 0xe0000 0x10000>, /* PMEM 8KiB - MPU */
> + <0x490f1000 0x490f1000 0x10000>, /* L3 Interconnect */
> + <0x49080000 0x49080000 0x10000>, /* DMEM 64KiB - L3 */
> + <0x490a0000 0x490a0000 0x10000>, /* CMEM 6KiB - L3 */
> + <0x490ce000 0x490c0000 0x10000>, /* SMEM 64KiB - L3 */
> + <0x490e0000 0x490e0000 0x10000>; /* PMEM 8KiB - L3 */
> +
> + aess: aess {
> + compatible = "ti,omap4-aess";
> + status = "disabled";
> + reg = <0 0xfff>, /* MPU private access */
> + <0x80000 0xffff>, /* DMEM - MPU */
> + <0xa0000 0xffff>, /* CMEM - MPU */
> + <0xc0000 0xffff>, /* SMEM - MPU */
> + <0xe0000 0xffff>, /* PMEM - MPU */
> + <0x490f1000 0xfff>, /* L3 Interconnect */
> + <0x49080000 0xffff>, /* DMEM - L3 */
> + <0x490a0000 0xffff>, /* CMEM - L3 */
> + <0x490ce000 0xffff>, /* SMEM - L3 */
> + <0x490e0000 0xffff>; /* PMEM - L3 */
> + reg-names = "mpu", "dmem", "cmem", "smem", "pmem",
> + "dma", "dmem_dma", "cmem_dma", "smem_dma",
> + "pmem_dma";
> + interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
> + dmas = <&sdma 101>,
> + <&sdma 102>,
> + <&sdma 103>,
> + <&sdma 104>,
> + <&sdma 105>,
> + <&sdma 106>,
> + <&sdma 107>,
> + <&sdma 108>;
> + dma-names = "fifo0", "fifo1", "fifo2", "fifo3", "fifo4",
> + "fifo5", "fifo6", "fifo7";
> + };
> };
> };
> };
Hmm so what registers is the driver accessing in the l3 interconnect
registers named dma above? If there's something sysc and syss register
related it's better off done in a generic way in ti-sysc.c.
In general looks OK to me for the ti,omap4-aess child device. Yeah seems
like no need to set up separate child device nodes for the memory ranges.
Regards,
Tony
^ permalink raw reply [flat|nested] 9+ messages in thread
* [RFC 6/6] ARM: DTS: omap4-panda-common: enable aess, add phandles for aess and mcbsp1/2/3
2023-09-05 12:50 [RFC 0/6] tentative additions to fix ABE/AESS device tree entries for OMAP4&5 H. Nikolaus Schaller
` (4 preceding siblings ...)
2023-09-05 12:50 ` [RFC 5/6] ARM: DTS: omap4-l4-abe: add an aess (audio DSP of OMAP4 and OMAP5) child H. Nikolaus Schaller
@ 2023-09-05 12:50 ` H. Nikolaus Schaller
5 siblings, 0 replies; 9+ messages in thread
From: H. Nikolaus Schaller @ 2023-09-05 12:50 UTC (permalink / raw)
To: Tony Lindgren, Andreas Kemnade, Patrik Dahlström,
peter.ujfalusi
Cc: letux-kernel, kernel, linux-omap, H. Nikolaus Schaller
and extend audio-routing.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
.../boot/dts/ti/omap/omap4-panda-common.dtsi | 22 +++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi b/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi
index f528511c2537b..3409cb693d1d5 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi
@@ -82,21 +82,31 @@ sound: sound {
ti,model = "PandaBoard";
ti,mclk-freq = <38400000>;
+ ti,mclk-freq = <38400000>; // CHECKME: 19200000?
ti,mcpdm = <&mcpdm>;
+ ti,mcbsp1 = <&mcbsp1>; /* bluetooth */
+ ti,mcbsp2 = <&mcbsp2>; /* fm radio */
+ ti,mcbsp3 = <&mcbsp3>; /* modem */
ti,twl6040 = <&twl6040>;
+ ti,aess = <&aess>;
/* Audio routing */
ti,audio-routing =
"Headset Stereophone", "HSOL",
"Headset Stereophone", "HSOR",
- "Ext Spk", "HFL",
- "Ext Spk", "HFR",
+ "Earphone Spk", "EP",
"Line Out", "AUXL",
"Line Out", "AUXR",
+ "Vibrator", "VIBRAL",
+ "Vibrator", "VIBRAR",
"HSMIC", "Headset Mic",
"Headset Mic", "Headset Mic Bias",
+ "MAINMIC", "Main Handset Mic",
+ "Main Handset Mic", "Main Mic Bias",
+ "SUBMIC", "Sub Handset Mic",
+ "Sub Handset Mic", "Main Mic Bias",
"AFML", "Line In",
"AFMR", "Line In";
};
@@ -227,6 +237,10 @@ hdmi_connector_in: endpoint {
};
};
+&aess {
+ status = "okay";
+};
+
&omap4_pmx_core {
pinctrl-names = "default";
pinctrl-0 = <
@@ -517,6 +531,10 @@ &mcbsp1 {
status = "okay";
};
+&mcbsp2 {
+ status = "okay";
+};
+
&twl_usb_comparator {
usb-supply = <&vusb>;
};
--
2.42.0
^ permalink raw reply related [flat|nested] 9+ messages in thread