diff options
author | LCPD Auto Merger | 2023-04-07 04:34:04 -0500 |
---|---|---|
committer | LCPD Auto Merger | 2023-04-07 04:34:04 -0500 |
commit | 991c5ce91e43cb620f534dc9fe7b0ad21f4f4388 (patch) | |
tree | 670d43e51acfc9af7ed93cfd3d615e88778c6332 | |
parent | 2c23e6c538c879e380401ae4b236f54020618eaa (diff) | |
parent | a11b43647f65c78ab86e9eb4a951a24bfd04a36f (diff) | |
download | ti-linux-kernel-ti-linux-5.10.y.tar.gz ti-linux-kernel-ti-linux-5.10.y.tar.xz ti-linux-kernel-ti-linux-5.10.y.zip |
Merged TI feature platform_base into ti-linux-5.10.y-cicdcicd.dunfell.202304260757cicd.dunfell.202304172200cicd.dunfell.202304171346cicd.dunfell.202304140842cicd.dunfell.202304132200cicd.dunfell.202304122200ti-linux-5.10.y-cicdti-linux-5.10.y
TI-Feature: platform_base
TI-Branch: platform-ti-linux-5.10.y
* 'platform-ti-linux-5.10.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/platform:
arm64: dts: ti: k3-j784s4-main: Use BCDMA channels for CSI
arm64: dts: ti: k3-j784s4-main: Enable BCDMA instance for CSI2RX
arm64: dts: ti: k3-j721s2-main: Use BCDMA channels for CSI
arm64: dts: ti: k3-j721s2-main: Enable BCDMA instance for CSI2RX
dmaengine: ti: k3-udma: Add support for J721S2 CSI BCDMA instance
dt-bindings: dma: ti: Add bindings for J721S2 BCDMA
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-rw-r--r-- | Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml | 22 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 30 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 37 | ||||
-rw-r--r-- | drivers/dma/ti/k3-udma.c | 26 |
4 files changed, 98 insertions, 17 deletions
diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml index 8f2e6d8e23b4..0b5eab6be681 100644 --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml | |||
@@ -33,6 +33,7 @@ properties: | |||
33 | enum: | 33 | enum: |
34 | - ti,am62a-dmss-bcdma-csirx | 34 | - ti,am62a-dmss-bcdma-csirx |
35 | - ti,am64-dmss-bcdma | 35 | - ti,am64-dmss-bcdma |
36 | - ti,j721s2-dmss-bcdma-csi | ||
36 | 37 | ||
37 | reg: | 38 | reg: |
38 | minItems: 3 | 39 | minItems: 3 |
@@ -149,7 +150,28 @@ allOf: | |||
149 | 150 | ||
150 | required: | 151 | required: |
151 | - power-domains | 152 | - power-domains |
153 | - if: | ||
154 | properties: | ||
155 | compatible: | ||
156 | contains: | ||
157 | const: ti,j721s2-dmss-bcdma-csi | ||
158 | then: | ||
159 | properties: | ||
160 | ti,sci-rm-range-bchan: false | ||
161 | |||
162 | reg: | ||
163 | maxItems: 3 | ||
152 | 164 | ||
165 | reg-names: | ||
166 | items: | ||
167 | - const: gcfg | ||
168 | - const: rchanrt | ||
169 | - const: tchanrt | ||
170 | - const: ringrt | ||
171 | |||
172 | required: | ||
173 | - ti,sci-rm-range-rchan | ||
174 | - ti,sci-rm-range-tchan | ||
153 | else: | 175 | else: |
154 | properties: | 176 | properties: |
155 | reg: | 177 | reg: |
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi index bd6b849fa14f..69216fe05787 100644 --- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | |||
@@ -538,6 +538,7 @@ | |||
538 | ti,sci = <&sms>; | 538 | ti,sci = <&sms>; |
539 | ti,sci-dev-id = <265>; | 539 | ti,sci-dev-id = <265>; |
540 | ti,interrupt-ranges = <0 0 256>; | 540 | ti,interrupt-ranges = <0 0 256>; |
541 | ti,unmapped-event-sources = <&main_bcdma_csi>; | ||
541 | }; | 542 | }; |
542 | 543 | ||
543 | secure_proxy_main: mailbox@32c00000 { | 544 | secure_proxy_main: mailbox@32c00000 { |
@@ -809,6 +810,21 @@ | |||
809 | ti,sci-rm-range-rflow = <0x00>; /* GP RFLOW */ | 810 | ti,sci-rm-range-rflow = <0x00>; /* GP RFLOW */ |
810 | }; | 811 | }; |
811 | 812 | ||
813 | main_bcdma_csi: dma-controller@311a0000 { | ||
814 | compatible = "ti,j721s2-dmss-bcdma-csi"; | ||
815 | reg = <0x00 0x311a0000 0x00 0x100>, | ||
816 | <0x00 0x35d00000 0x00 0x20000>, | ||
817 | <0x00 0x35c00000 0x00 0x10000>, | ||
818 | <0x00 0x35e00000 0x00 0x80000>; | ||
819 | reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt"; | ||
820 | msi-parent = <&main_udmass_inta>; | ||
821 | #dma-cells = <3>; | ||
822 | ti,sci = <&sms>; | ||
823 | ti,sci-dev-id = <225>; | ||
824 | ti,sci-rm-range-rchan = <0x21>; | ||
825 | ti,sci-rm-range-tchan = <0x22>; | ||
826 | }; | ||
827 | |||
812 | cpts@310d0000 { | 828 | cpts@310d0000 { |
813 | compatible = "ti,j721e-cpts"; | 829 | compatible = "ti,j721e-cpts"; |
814 | reg = <0x0 0x310d0000 0x0 0x400>; | 830 | reg = <0x0 0x310d0000 0x0 0x400>; |
@@ -1593,9 +1609,10 @@ | |||
1593 | 1609 | ||
1594 | ti_csi2rx0: ticsi2rx@4500000 { | 1610 | ti_csi2rx0: ticsi2rx@4500000 { |
1595 | compatible = "ti,j721e-csi2rx"; | 1611 | compatible = "ti,j721e-csi2rx"; |
1596 | dmas = <&main_udmap 0x4940>, <&main_udmap 0x4941>, <&main_udmap 0x4942>, | 1612 | dmas = <&main_bcdma_csi 0 0x4940 0>, <&main_bcdma_csi 0 0x4941 0>, |
1597 | <&main_udmap 0x4943>, <&main_udmap 0x4944>, <&main_udmap 0x4945>, | 1613 | <&main_bcdma_csi 0 0x4942 0>, <&main_bcdma_csi 0 0x4943 0>, |
1598 | <&main_udmap 0x4946>, <&main_udmap 0x4947>; | 1614 | <&main_bcdma_csi 0 0x4944 0>, <&main_bcdma_csi 0 0x4945 0>, |
1615 | <&main_bcdma_csi 0 0x4946 0>, <&main_bcdma_csi 0 0x4947 0>; | ||
1599 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; | 1616 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; |
1600 | reg = <0x00 0x04500000 0x00 0x1000>; | 1617 | reg = <0x00 0x04500000 0x00 0x1000>; |
1601 | power-domains = <&k3_pds 38 TI_SCI_PD_EXCLUSIVE>; | 1618 | power-domains = <&k3_pds 38 TI_SCI_PD_EXCLUSIVE>; |
@@ -1643,9 +1660,10 @@ | |||
1643 | 1660 | ||
1644 | ti_csi2rx1: ticsi2rx@4510000 { | 1661 | ti_csi2rx1: ticsi2rx@4510000 { |
1645 | compatible = "ti,j721e-csi2rx"; | 1662 | compatible = "ti,j721e-csi2rx"; |
1646 | dmas = <&main_udmap 0x4960>, <&main_udmap 0x4961>, <&main_udmap 0x4962>, | 1663 | dmas = <&main_bcdma_csi 0 0x4960 0>, <&main_bcdma_csi 0 0x4961 0>, |
1647 | <&main_udmap 0x4963>, <&main_udmap 0x4964>, <&main_udmap 0x4965>, | 1664 | <&main_bcdma_csi 0 0x4962 0>, <&main_bcdma_csi 0 0x4963 0>, |
1648 | <&main_udmap 0x4966>, <&main_udmap 0x4967>; | 1665 | <&main_bcdma_csi 0 0x4964 0>, <&main_bcdma_csi 0 0x4965 0>, |
1666 | <&main_bcdma_csi 0 0x4966 0>, <&main_bcdma_csi 0 0x4967 0>; | ||
1649 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; | 1667 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; |
1650 | reg = <0x00 0x04510000 0x00 0x1000>; | 1668 | reg = <0x00 0x04510000 0x00 0x1000>; |
1651 | power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>; | 1669 | power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>; |
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi index a968672b4f8d..08fa262efb73 100644 --- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | |||
@@ -621,6 +621,7 @@ | |||
621 | ti,sci = <&sms>; | 621 | ti,sci = <&sms>; |
622 | ti,sci-dev-id = <321>; | 622 | ti,sci-dev-id = <321>; |
623 | ti,interrupt-ranges = <0 0 256>; | 623 | ti,interrupt-ranges = <0 0 256>; |
624 | ti,unmapped-event-sources = <&main_bcdma_csi>; | ||
624 | status = "disabled"; | 625 | status = "disabled"; |
625 | }; | 626 | }; |
626 | 627 | ||
@@ -920,6 +921,21 @@ | |||
920 | status = "disabled"; | 921 | status = "disabled"; |
921 | }; | 922 | }; |
922 | 923 | ||
924 | main_bcdma_csi: dma-controller@311a0000 { | ||
925 | compatible = "ti,j721s2-dmss-bcdma-csi"; | ||
926 | reg = <0x00 0x311a0000 0x00 0x100>, | ||
927 | <0x00 0x35d00000 0x00 0x20000>, | ||
928 | <0x00 0x35c00000 0x00 0x10000>, | ||
929 | <0x00 0x35e00000 0x00 0x80000>; | ||
930 | reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt"; | ||
931 | msi-parent = <&main_udmass_inta>; | ||
932 | #dma-cells = <3>; | ||
933 | ti,sci = <&sms>; | ||
934 | ti,sci-dev-id = <281>; | ||
935 | ti,sci-rm-range-rchan = <0x21>; | ||
936 | ti,sci-rm-range-tchan = <0x22>; | ||
937 | }; | ||
938 | |||
923 | cpts@310d0000 { | 939 | cpts@310d0000 { |
924 | compatible = "ti,j721e-cpts"; | 940 | compatible = "ti,j721e-cpts"; |
925 | reg = <0x0 0x310d0000 0x0 0x400>; | 941 | reg = <0x0 0x310d0000 0x0 0x400>; |
@@ -2008,9 +2024,10 @@ | |||
2008 | ti_csi2rx0: ticsi2rx@4500000 { | 2024 | ti_csi2rx0: ticsi2rx@4500000 { |
2009 | status = "disabled"; | 2025 | status = "disabled"; |
2010 | compatible = "ti,j721e-csi2rx"; | 2026 | compatible = "ti,j721e-csi2rx"; |
2011 | dmas = <&main_udmap 0x4940>, <&main_udmap 0x4941>, <&main_udmap 0x4942>, | 2027 | dmas = <&main_bcdma_csi 0 0x4940 0>, <&main_bcdma_csi 0 0x4941 0>, |
2012 | <&main_udmap 0x4943>, <&main_udmap 0x4944>, <&main_udmap 0x4945>, | 2028 | <&main_bcdma_csi 0 0x4942 0>, <&main_bcdma_csi 0 0x4943 0>, |
2013 | <&main_udmap 0x4946>, <&main_udmap 0x4947>; | 2029 | <&main_bcdma_csi 0 0x4944 0>, <&main_bcdma_csi 0 0x4945 0>, |
2030 | <&main_bcdma_csi 0 0x4946 0>, <&main_bcdma_csi 0 0x4947 0>; | ||
2014 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; | 2031 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; |
2015 | reg = <0x00 0x04500000 0x00 0x00001000>; | 2032 | reg = <0x00 0x04500000 0x00 0x00001000>; |
2016 | power-domains = <&k3_pds 72 TI_SCI_PD_EXCLUSIVE>; | 2033 | power-domains = <&k3_pds 72 TI_SCI_PD_EXCLUSIVE>; |
@@ -2065,10 +2082,9 @@ | |||
2065 | ti_csi2rx1: ticsi2rx@4510000 { | 2082 | ti_csi2rx1: ticsi2rx@4510000 { |
2066 | status = "disabled"; | 2083 | status = "disabled"; |
2067 | compatible = "ti,j721e-csi2rx"; | 2084 | compatible = "ti,j721e-csi2rx"; |
2068 | dmas = <&main_udmap 0x4960>, <&main_udmap 0x4961>, <&main_udmap 0x4962>, | 2085 | dmas = <&main_bcdma_csi 0 0x4960 0>, <&main_bcdma_csi 0 0x4961 0>, |
2069 | <&main_udmap 0x4963>, <&main_udmap 0x4964>, <&main_udmap 0x4965>, | 2086 | <&main_bcdma_csi 0 0x4962 0>, <&main_bcdma_csi 0 0x4963 0>; |
2070 | <&main_udmap 0x4966>, <&main_udmap 0x4967>; | 2087 | dma-names = "rx0", "rx1", "rx2", "rx3"; |
2071 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; | ||
2072 | reg = <0x00 0x04510000 0x00 0x00001000>; | 2088 | reg = <0x00 0x04510000 0x00 0x00001000>; |
2073 | power-domains = <&k3_pds 73 TI_SCI_PD_EXCLUSIVE>; | 2089 | power-domains = <&k3_pds 73 TI_SCI_PD_EXCLUSIVE>; |
2074 | #address-cells = <2>; | 2090 | #address-cells = <2>; |
@@ -2122,10 +2138,9 @@ | |||
2122 | ti_csi2rx2: ticsi2rx@4520000 { | 2138 | ti_csi2rx2: ticsi2rx@4520000 { |
2123 | status = "disabled"; | 2139 | status = "disabled"; |
2124 | compatible = "ti,j721e-csi2rx"; | 2140 | compatible = "ti,j721e-csi2rx"; |
2125 | dmas = <&main_udmap 0x4980>, <&main_udmap 0x4981>, <&main_udmap 0x4982>, | 2141 | dmas = <&main_bcdma_csi 0 0x4980 0>, <&main_bcdma_csi 0 0x4981 0>, |
2126 | <&main_udmap 0x4983>, <&main_udmap 0x4984>, <&main_udmap 0x4985>, | 2142 | <&main_bcdma_csi 0 0x4982 0>, <&main_bcdma_csi 0 0x4983 0>; |
2127 | <&main_udmap 0x4986>, <&main_udmap 0x4987>; | 2143 | dma-names = "rx0", "rx1", "rx2", "rx3"; |
2128 | dma-names = "rx0", "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7"; | ||
2129 | reg = <0x00 0x04520000 0x00 0x00001000>; | 2144 | reg = <0x00 0x04520000 0x00 0x00001000>; |
2130 | power-domains = <&k3_pds 74 TI_SCI_PD_EXCLUSIVE>; | 2145 | power-domains = <&k3_pds 74 TI_SCI_PD_EXCLUSIVE>; |
2131 | #address-cells = <2>; | 2146 | #address-cells = <2>; |
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 0d117c1c49fe..8cde54fbb62b 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c | |||
@@ -4308,6 +4308,15 @@ static struct udma_match_data j721e_mcu_data = { | |||
4308 | }, | 4308 | }, |
4309 | }; | 4309 | }; |
4310 | 4310 | ||
4311 | static struct udma_soc_data j721s2_bcdma_soc_data = { | ||
4312 | .oes = { | ||
4313 | .bcdma_tchan_data = 0x800, | ||
4314 | .bcdma_tchan_ring = 0xa00, | ||
4315 | .bcdma_rchan_data = 0xe00, | ||
4316 | .bcdma_rchan_ring = 0x1000, | ||
4317 | }, | ||
4318 | }; | ||
4319 | |||
4311 | static struct udma_soc_data am62a_dmss_csi_soc_data = { | 4320 | static struct udma_soc_data am62a_dmss_csi_soc_data = { |
4312 | .oes = { | 4321 | .oes = { |
4313 | .bcdma_rchan_data = 0xe00, | 4322 | .bcdma_rchan_data = 0xe00, |
@@ -4328,6 +4337,19 @@ static struct udma_match_data am62a_bcdma_csirx_data = { | |||
4328 | .order_id = 8, | 4337 | .order_id = 8, |
4329 | }; | 4338 | }; |
4330 | 4339 | ||
4340 | static struct udma_match_data j721s2_bcdma_data = { | ||
4341 | .type = DMA_TYPE_BCDMA, | ||
4342 | .psil_base = 0x2000, | ||
4343 | .enable_memcpy_support = false, | ||
4344 | .burst_size = { | ||
4345 | TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */ | ||
4346 | 0, /* No H Channels */ | ||
4347 | 0, /* No UH Channels */ | ||
4348 | }, | ||
4349 | .soc_data = &j721s2_bcdma_soc_data, | ||
4350 | .order_id = 15, | ||
4351 | }; | ||
4352 | |||
4331 | static struct udma_match_data am64_bcdma_data = { | 4353 | static struct udma_match_data am64_bcdma_data = { |
4332 | .type = DMA_TYPE_BCDMA, | 4354 | .type = DMA_TYPE_BCDMA, |
4333 | .psil_base = 0x2000, /* for tchan and rchan, not applicable to bchan */ | 4355 | .psil_base = 0x2000, /* for tchan and rchan, not applicable to bchan */ |
@@ -4381,6 +4403,10 @@ static const struct of_device_id udma_of_match[] = { | |||
4381 | .compatible = "ti,am62a-dmss-bcdma-csirx", | 4403 | .compatible = "ti,am62a-dmss-bcdma-csirx", |
4382 | .data = &am62a_bcdma_csirx_data, | 4404 | .data = &am62a_bcdma_csirx_data, |
4383 | }, | 4405 | }, |
4406 | { | ||
4407 | .compatible = "ti,j721s2-dmss-bcdma-csi", | ||
4408 | .data = &j721s2_bcdma_data, | ||
4409 | }, | ||
4384 | { /* Sentinel */ }, | 4410 | { /* Sentinel */ }, |
4385 | }; | 4411 | }; |
4386 | 4412 | ||