* [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4
@ 2021-07-17 12:09 Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 1/3] ARM: dts: omap4-l4-abe: Correct sidle modes for McASP Peter Ujfalusi
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2021-07-17 12:09 UTC (permalink / raw)
To: tony, bcousson; +Cc: robh+dt, linux-omap, devicetree, linux-kernel, hns
Hi,
This series is the dts / ti-sysc part of the McASP DIT and OMAP4 support:
https://lore.kernel.org/alsa-devel/20210705194249.2385-1-peter.ujfalusi@gmail.com/
The ASoC part has been picked up and it is in linux-next.
I have followed the advice from Tony and added a quirk via ti-sysc to disable the
non working SIDLE mode for McASP.
Tested on PandaES.
Since I have kept the McASP node disabled the ti-sysc patch can go via different
tree if it is easier to handle.
Regards,
Peter
---
Peter Ujfalusi (3):
ARM: dts: omap4-l4-abe: Correct sidle modes for McASP
bus: ti-sysc: Add quirk for OMAP4 McASP to disable SIDLE mode
ARM: dts: omap4-l4-abe: Add McASP configuration
arch/arm/boot/dts/omap4-l4-abe.dtsi | 38 +++++++++++++++--------------
drivers/bus/ti-sysc.c | 3 ++-
2 files changed, 22 insertions(+), 19 deletions(-)
--
2.32.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] ARM: dts: omap4-l4-abe: Correct sidle modes for McASP
2021-07-17 12:09 [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Peter Ujfalusi
@ 2021-07-17 12:09 ` Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 2/3] bus: ti-sysc: Add quirk for OMAP4 McASP to disable SIDLE mode Peter Ujfalusi
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2021-07-17 12:09 UTC (permalink / raw)
To: tony, bcousson; +Cc: robh+dt, linux-omap, devicetree, linux-kernel, hns
McASP only supports Force-idle, No-idle and Smart-idle modes
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
---
arch/arm/boot/dts/omap4-l4-abe.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-l4-abe.dtsi b/arch/arm/boot/dts/omap4-l4-abe.dtsi
index a9573d441dea..8287fdaa526e 100644
--- a/arch/arm/boot/dts/omap4-l4-abe.dtsi
+++ b/arch/arm/boot/dts/omap4-l4-abe.dtsi
@@ -192,8 +192,7 @@ target-module@28000 { /* 0x40128000, ap 8 08.0 */
reg-names = "rev", "sysc";
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
<SYSC_IDLE_NO>,
- <SYSC_IDLE_SMART>,
- <SYSC_IDLE_SMART_WKUP>;
+ <SYSC_IDLE_SMART>;
/* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */
clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>;
clock-names = "fck";
--
2.32.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] bus: ti-sysc: Add quirk for OMAP4 McASP to disable SIDLE mode
2021-07-17 12:09 [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 1/3] ARM: dts: omap4-l4-abe: Correct sidle modes for McASP Peter Ujfalusi
@ 2021-07-17 12:09 ` Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 3/3] ARM: dts: omap4-l4-abe: Add McASP configuration Peter Ujfalusi
2021-07-27 8:49 ` [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Tony Lindgren
3 siblings, 0 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2021-07-17 12:09 UTC (permalink / raw)
To: tony, bcousson; +Cc: robh+dt, linux-omap, devicetree, linux-kernel, hns
The McASP module in OMAP4 does not work if the SIDLE mode is enabled, most
like due to module integration issue that the signaling is not working
correctly.
Add a quirk for the module to select only NOIDLE mode when it is in use.
Suggested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
---
drivers/bus/ti-sysc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index 9df1e674d3f2..9faae119774e 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -1501,6 +1501,8 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
SYSC_MODULE_QUIRK_SGX),
SYSC_QUIRK("lcdc", 0, 0, 0x54, -ENODEV, 0x4f201000, 0xffffffff,
SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY),
+ SYSC_QUIRK("mcasp", 0, 0, 0x4, -ENODEV, 0x44306302, 0xffffffff,
+ SYSC_QUIRK_SWSUP_SIDLE),
SYSC_QUIRK("rtc", 0, 0x74, 0x78, -ENODEV, 0x4eb01908, 0xffff00f0,
SYSC_MODULE_QUIRK_RTC_UNLOCK),
SYSC_QUIRK("tptc", 0, 0, 0x10, -ENODEV, 0x40006c00, 0xffffefff,
@@ -1557,7 +1559,6 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
SYSC_QUIRK("hsi", 0, 0, 0x10, 0x14, 0x50043101, 0xffffffff, 0),
SYSC_QUIRK("iss", 0, 0, 0x10, -ENODEV, 0x40000101, 0xffffffff, 0),
SYSC_QUIRK("keypad", 0x4a31c000, 0, 0x10, 0x14, 0x00000020, 0xffffffff, 0),
- SYSC_QUIRK("mcasp", 0, 0, 0x4, -ENODEV, 0x44306302, 0xffffffff, 0),
SYSC_QUIRK("mcasp", 0, 0, 0x4, -ENODEV, 0x44307b02, 0xffffffff, 0),
SYSC_QUIRK("mcbsp", 0, -ENODEV, 0x8c, -ENODEV, 0, 0, 0),
SYSC_QUIRK("mcspi", 0, 0, 0x10, -ENODEV, 0x40300a0b, 0xffff00ff, 0),
--
2.32.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] ARM: dts: omap4-l4-abe: Add McASP configuration
2021-07-17 12:09 [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 1/3] ARM: dts: omap4-l4-abe: Correct sidle modes for McASP Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 2/3] bus: ti-sysc: Add quirk for OMAP4 McASP to disable SIDLE mode Peter Ujfalusi
@ 2021-07-17 12:09 ` Peter Ujfalusi
2021-07-27 8:49 ` [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Tony Lindgren
3 siblings, 0 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2021-07-17 12:09 UTC (permalink / raw)
To: tony, bcousson; +Cc: robh+dt, linux-omap, devicetree, linux-kernel, hns
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
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/omap4-l4-abe.dtsi | 35 ++++++++++++++++-------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-l4-abe.dtsi b/arch/arm/boot/dts/omap4-l4-abe.dtsi
index 8287fdaa526e..7ae8b620515c 100644
--- a/arch/arm/boot/dts/omap4-l4-abe.dtsi
+++ b/arch/arm/boot/dts/omap4-l4-abe.dtsi
@@ -186,6 +186,7 @@ mcbsp3: mcbsp@0 {
};
target-module@28000 { /* 0x40128000, ap 8 08.0 */
+ /* 0x4012a000, ap 10 0a.0 */
compatible = "ti,sysc-mcasp", "ti,sysc";
reg = <0x28000 0x4>,
<0x28004 0x4>;
@@ -199,23 +200,25 @@ target-module@28000 { /* 0x40128000, ap 8 08.0 */
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x28000 0x1000>,
- <0x49028000 0x49028000 0x1000>;
-
- /*
- * Child device unsupported by davinci-mcasp. At least
- * RX path is disabled for omap4, and only DIT mode
- * works with no I2S. See also old Android kernel
- * omap-mcasp driver for more information.
- */
- };
-
- target-module@2a000 { /* 0x4012a000, ap 10 0a.0 */
- compatible = "ti,sysc";
- status = "disabled";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0x2a000 0x1000>,
+ <0x49028000 0x49028000 0x1000>,
+ <0x2000 0x2a000 0x1000>,
<0x4902a000 0x4902a000 0x1000>;
+
+ mcasp0: mcasp@0 {
+ compatible = "ti,omap4-mcasp-audio";
+ reg = <0x0 0x2000>,
+ <0x4902a000 0x1000>; /* L3 data port */
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx";
+ dmas = <&sdma 8>;
+ dma-names = "tx";
+ clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>;
+ clock-names = "fck";
+ op-mode = <1>; /* MCASP_DIT_MODE */
+ serial-dir = < 1 >; /* 1 TX serializers */
+ status = "disabled";
+ };
};
target-module@2e000 { /* 0x4012e000, ap 12 0c.0 */
--
2.32.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4
2021-07-17 12:09 [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Peter Ujfalusi
` (2 preceding siblings ...)
2021-07-17 12:09 ` [PATCH 3/3] ARM: dts: omap4-l4-abe: Add McASP configuration Peter Ujfalusi
@ 2021-07-27 8:49 ` Tony Lindgren
3 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2021-07-27 8:49 UTC (permalink / raw)
To: Peter Ujfalusi
Cc: bcousson, robh+dt, linux-omap, devicetree, linux-kernel, hns
* Peter Ujfalusi <peter.ujfalusi@gmail.com> [210717 15:07]:
> Hi,
>
> This series is the dts / ti-sysc part of the McASP DIT and OMAP4 support:
> https://lore.kernel.org/alsa-devel/20210705194249.2385-1-peter.ujfalusi@gmail.com/
>
> The ASoC part has been picked up and it is in linux-next.
>
> I have followed the advice from Tony and added a quirk via ti-sysc to disable the
> non working SIDLE mode for McASP.
Thanks applying all three.
Regards,
Tony
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-07-27 8:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-17 12:09 [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 1/3] ARM: dts: omap4-l4-abe: Correct sidle modes for McASP Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 2/3] bus: ti-sysc: Add quirk for OMAP4 McASP to disable SIDLE mode Peter Ujfalusi
2021-07-17 12:09 ` [PATCH 3/3] ARM: dts: omap4-l4-abe: Add McASP configuration Peter Ujfalusi
2021-07-27 8:49 ` [PATCH 0/3] ARM: dts / ti-sysc: Enable McASP on OMAP4 Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).