Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Add am335x mcasp with l3 data port ranges

Earlier attempt to move am335x mcasp to probe with ti-sysc
interconnect target module caused audio to stop working and and
the dts changes were reverted by commit 5d2632a577ba ("ARM: dts:
Revert am335x mcasp ti-sysc changes").

Turns out we were missing the l3 data port ranges for mcasp. This
caused mcasp dma to attempt to use wrong port address. So let's
try again essentially reverting the earlier revert and adding the
missing l3 data port ranges.

Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

+36 -35
+36 -6
arch/arm/boot/dts/am33xx-l4.dtsi
··· 824 824 ranges = <0x00000000 0x48000000 0x100000>, /* segment 0 */ 825 825 <0x00100000 0x48100000 0x100000>, /* segment 1 */ 826 826 <0x00200000 0x48200000 0x100000>, /* segment 2 */ 827 - <0x00300000 0x48300000 0x100000>; /* segment 3 */ 827 + <0x00300000 0x48300000 0x100000>, /* segment 3 */ 828 + <0x46000000 0x46000000 0x400000>, /* l3 data port */ 829 + <0x46400000 0x46400000 0x400000>; /* l3 data port */ 828 830 829 831 segment@0 { /* 0x48000000 */ 830 832 compatible = "simple-bus"; ··· 883 881 <0x000cc000 0x000cc000 0x001000>, /* ap 89 */ 884 882 <0x000cd000 0x000cd000 0x001000>, /* ap 90 */ 885 883 <0x000ca000 0x000ca000 0x001000>, /* ap 91 */ 886 - <0x000cb000 0x000cb000 0x001000>; /* ap 92 */ 884 + <0x000cb000 0x000cb000 0x001000>, /* ap 92 */ 885 + <0x46000000 0x46000000 0x400000>, /* l3 data port */ 886 + <0x46400000 0x46400000 0x400000>; /* l3 data port */ 887 887 888 888 target-module@8000 { /* 0x48008000, ap 6 10.0 */ 889 889 compatible = "ti,sysc"; ··· 1059 1055 clock-names = "fck"; 1060 1056 #address-cells = <1>; 1061 1057 #size-cells = <1>; 1062 - ranges = <0x0 0x38000 0x2000>; 1063 - status = "disabled"; 1058 + ranges = <0x0 0x38000 0x2000>, 1059 + <0x46000000 0x46000000 0x400000>; 1060 + 1061 + mcasp0: mcasp@0 { 1062 + compatible = "ti,am33xx-mcasp-audio"; 1063 + reg = <0x0 0x2000>, 1064 + <0x46000000 0x400000>; 1065 + reg-names = "mpu", "dat"; 1066 + interrupts = <80>, <81>; 1067 + interrupt-names = "tx", "rx"; 1068 + status = "disabled"; 1069 + dmas = <&edma 8 2>, 1070 + <&edma 9 2>; 1071 + dma-names = "tx", "rx"; 1072 + }; 1064 1073 }; 1065 1074 1066 1075 target-module@3c000 { /* 0x4803c000, ap 20 32.0 */ ··· 1090 1073 clock-names = "fck"; 1091 1074 #address-cells = <1>; 1092 1075 #size-cells = <1>; 1093 - ranges = <0x0 0x3c000 0x2000>; 1094 - status = "disabled"; 1076 + ranges = <0x0 0x3c000 0x2000>, 1077 + <0x46400000 0x46400000 0x400000>; 1078 + 1079 + mcasp1: mcasp@0 { 1080 + compatible = "ti,am33xx-mcasp-audio"; 1081 + reg = <0x0 0x2000>, 1082 + <0x46400000 0x400000>; 1083 + reg-names = "mpu", "dat"; 1084 + interrupts = <82>, <83>; 1085 + interrupt-names = "tx", "rx"; 1086 + status = "disabled"; 1087 + dmas = <&edma 10 2>, 1088 + <&edma 11 2>; 1089 + dma-names = "tx", "rx"; 1090 + }; 1095 1091 }; 1096 1092 1097 1093 target-module@40000 { /* 0x48040000, ap 22 1e.0 */
-29
arch/arm/boot/dts/am33xx.dtsi
··· 440 440 <&edma 5 0>; 441 441 dma-names = "tx", "rx"; 442 442 }; 443 - 444 - mcasp0: mcasp@48038000 { 445 - compatible = "ti,am33xx-mcasp-audio"; 446 - ti,hwmods = "mcasp0"; 447 - reg = <0x48038000 0x2000>, 448 - <0x46000000 0x400000>; 449 - reg-names = "mpu", "dat"; 450 - interrupts = <80>, <81>; 451 - interrupt-names = "tx", "rx"; 452 - status = "disabled"; 453 - dmas = <&edma 8 2>, 454 - <&edma 9 2>; 455 - dma-names = "tx", "rx"; 456 - }; 457 - 458 - mcasp1: mcasp@4803c000 { 459 - compatible = "ti,am33xx-mcasp-audio"; 460 - ti,hwmods = "mcasp1"; 461 - reg = <0x4803C000 0x2000>, 462 - <0x46400000 0x400000>; 463 - reg-names = "mpu", "dat"; 464 - interrupts = <82>, <83>; 465 - interrupt-names = "tx", "rx"; 466 - status = "disabled"; 467 - dmas = <&edma 10 2>, 468 - <&edma 11 2>; 469 - dma-names = "tx", "rx"; 470 - }; 471 443 }; 472 - 473 444 }; 474 445 475 446 #include "am33xx-l4.dtsi"