Lines Matching +full:spi +full:- +full:samsung
1 // SPDX-License-Identifier: GPL-2.0
3 * Tesla Full Self-Driving SoC device tree source
5 * Copyright (c) 2017-2022 Samsung Electronics Co., Ltd.
6 * https://www.samsung.com
7 * Copyright (c) 2017-2022 Tesla, Inc.
11 #include <dt-bindings/clock/fsd-clk.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
16 interrupt-parent = <&gic>;
17 #address-cells = <2>;
18 #size-cells = <2>;
38 #address-cells = <2>;
39 #size-cells = <0>;
41 cpu-map {
91 compatible = "arm,cortex-a72";
93 enable-method = "psci";
94 clock-frequency = <2400000000>;
95 cpu-idle-states = <&CPU_SLEEP>;
96 i-cache-size = <0xc000>;
97 i-cache-line-size = <64>;
98 i-cache-sets = <256>;
99 d-cache-size = <0x8000>;
100 d-cache-line-size = <64>;
101 d-cache-sets = <256>;
102 next-level-cache = <&cpucl_l2>;
107 compatible = "arm,cortex-a72";
109 enable-method = "psci";
110 clock-frequency = <2400000000>;
111 cpu-idle-states = <&CPU_SLEEP>;
112 i-cache-size = <0xc000>;
113 i-cache-line-size = <64>;
114 i-cache-sets = <256>;
115 d-cache-size = <0x8000>;
116 d-cache-line-size = <64>;
117 d-cache-sets = <256>;
118 next-level-cache = <&cpucl_l2>;
123 compatible = "arm,cortex-a72";
125 enable-method = "psci";
126 clock-frequency = <2400000000>;
127 cpu-idle-states = <&CPU_SLEEP>;
128 i-cache-size = <0xc000>;
129 i-cache-line-size = <64>;
130 i-cache-sets = <256>;
131 d-cache-size = <0x8000>;
132 d-cache-line-size = <64>;
133 d-cache-sets = <256>;
134 next-level-cache = <&cpucl_l2>;
139 compatible = "arm,cortex-a72";
141 enable-method = "psci";
142 cpu-idle-states = <&CPU_SLEEP>;
143 i-cache-size = <0xc000>;
144 i-cache-line-size = <64>;
145 i-cache-sets = <256>;
146 d-cache-size = <0x8000>;
147 d-cache-line-size = <64>;
148 d-cache-sets = <256>;
149 next-level-cache = <&cpucl_l2>;
155 compatible = "arm,cortex-a72";
157 enable-method = "psci";
158 clock-frequency = <2400000000>;
159 cpu-idle-states = <&CPU_SLEEP>;
160 i-cache-size = <0xc000>;
161 i-cache-line-size = <64>;
162 i-cache-sets = <256>;
163 d-cache-size = <0x8000>;
164 d-cache-line-size = <64>;
165 d-cache-sets = <256>;
166 next-level-cache = <&cpucl_l2>;
171 compatible = "arm,cortex-a72";
173 enable-method = "psci";
174 clock-frequency = <2400000000>;
175 cpu-idle-states = <&CPU_SLEEP>;
176 i-cache-size = <0xc000>;
177 i-cache-line-size = <64>;
178 i-cache-sets = <256>;
179 d-cache-size = <0x8000>;
180 d-cache-line-size = <64>;
181 d-cache-sets = <256>;
182 next-level-cache = <&cpucl_l2>;
187 compatible = "arm,cortex-a72";
189 enable-method = "psci";
190 clock-frequency = <2400000000>;
191 cpu-idle-states = <&CPU_SLEEP>;
192 i-cache-size = <0xc000>;
193 i-cache-line-size = <64>;
194 i-cache-sets = <256>;
195 d-cache-size = <0x8000>;
196 d-cache-line-size = <64>;
197 d-cache-sets = <256>;
198 next-level-cache = <&cpucl_l2>;
203 compatible = "arm,cortex-a72";
205 enable-method = "psci";
206 clock-frequency = <2400000000>;
207 cpu-idle-states = <&CPU_SLEEP>;
208 i-cache-size = <0xc000>;
209 i-cache-line-size = <64>;
210 i-cache-sets = <256>;
211 d-cache-size = <0x8000>;
212 d-cache-line-size = <64>;
213 d-cache-sets = <256>;
214 next-level-cache = <&cpucl_l2>;
220 compatible = "arm,cortex-a72";
222 enable-method = "psci";
223 clock-frequency = <2400000000>;
224 cpu-idle-states = <&CPU_SLEEP>;
225 i-cache-size = <0xc000>;
226 i-cache-line-size = <64>;
227 i-cache-sets = <256>;
228 d-cache-size = <0x8000>;
229 d-cache-line-size = <64>;
230 d-cache-sets = <256>;
231 next-level-cache = <&cpucl_l2>;
236 compatible = "arm,cortex-a72";
238 enable-method = "psci";
239 clock-frequency = <2400000000>;
240 cpu-idle-states = <&CPU_SLEEP>;
241 i-cache-size = <0xc000>;
242 i-cache-line-size = <64>;
243 i-cache-sets = <256>;
244 d-cache-size = <0x8000>;
245 d-cache-line-size = <64>;
246 d-cache-sets = <256>;
247 next-level-cache = <&cpucl_l2>;
252 compatible = "arm,cortex-a72";
254 enable-method = "psci";
255 clock-frequency = <2400000000>;
256 cpu-idle-states = <&CPU_SLEEP>;
257 i-cache-size = <0xc000>;
258 i-cache-line-size = <64>;
259 i-cache-sets = <256>;
260 d-cache-size = <0x8000>;
261 d-cache-line-size = <64>;
262 d-cache-sets = <256>;
263 next-level-cache = <&cpucl_l2>;
268 compatible = "arm,cortex-a72";
270 enable-method = "psci";
271 clock-frequency = <2400000000>;
272 cpu-idle-states = <&CPU_SLEEP>;
273 i-cache-size = <0xc000>;
274 i-cache-line-size = <64>;
275 i-cache-sets = <256>;
276 d-cache-size = <0x8000>;
277 d-cache-line-size = <64>;
278 d-cache-sets = <256>;
279 next-level-cache = <&cpucl_l2>;
282 cpucl_l2: l2-cache0 {
284 cache-level = <2>;
285 cache-unified;
286 cache-size = <0x400000>;
287 cache-line-size = <64>;
288 cache-sets = <4096>;
291 idle-states {
292 entry-method = "psci";
294 CPU_SLEEP: cpu-sleep {
295 idle-state-name = "c2";
296 compatible = "arm,idle-state";
297 local-timer-stop;
298 arm,psci-suspend-param = <0x0010000>;
299 entry-latency-us = <30>;
300 exit-latency-us = <75>;
301 min-residency-us = <300>;
306 arm-pmu {
307 compatible = "arm,armv8-pmuv3";
320 interrupt-affinity = <&cpucl0_0>, <&cpucl0_1>, <&cpucl0_2>,
327 compatible = "arm,psci-1.0";
332 compatible = "arm,armv8-timer";
340 compatible = "fixed-clock";
341 clock-output-names = "fin_pll";
342 #clock-cells = <0>;
345 reserved-memory {
346 #address-cells = <2>;
347 #size-cells = <2>;
351 compatible = "shared-dma-pool";
352 no-map;
358 compatible = "simple-bus";
359 #address-cells = <2>;
360 #size-cells = <2>;
362 dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
364 gic: interrupt-controller@10400000 {
365 compatible = "arm,gic-v3";
366 #interrupt-cells = <3>;
367 interrupt-controller;
374 compatible = "arm,mmu-500";
376 #iommu-cells = <2>;
377 #global-interrupts = <7>;
379 <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
381 <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
386 /* Per context non-secure context interrupts, 0-3 interrupts */
394 compatible = "arm,mmu-500";
396 #iommu-cells = <2>;
397 #global-interrupts = <11>;
399 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
401 <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
410 /* Per context non-secure context interrupts, 0-7 interrupts */
422 compatible = "arm,mmu-500";
424 #iommu-cells = <2>;
425 #global-interrupts = <5>;
427 <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
429 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
432 /* Per context non-secure context interrupts, 0-1 interrupts */
438 compatible = "arm,mmu-500";
440 #iommu-cells = <2>;
441 #global-interrupts = <5>;
443 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */
445 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */
448 /* Per context non-secure context interrupts, 0-1 interrupts */
453 clock_imem: clock-controller@10010000 {
454 compatible = "tesla,fsd-clock-imem";
456 #clock-cells = <1>;
461 clock-names = "fin_pll",
467 clock_cmu: clock-controller@11c10000 {
468 compatible = "tesla,fsd-clock-cmu";
470 #clock-cells = <1>;
472 clock-names = "fin_pll";
475 clock_csi: clock-controller@12610000 {
476 compatible = "tesla,fsd-clock-cam_csi";
478 #clock-cells = <1>;
480 clock-names = "fin_pll";
483 sysreg_cam: system-controller@12630000 {
484 compatible = "tesla,fsd-cam-sysreg", "syscon";
488 clock_mfc: clock-controller@12810000 {
489 compatible = "tesla,fsd-clock-mfc";
491 #clock-cells = <1>;
493 clock-names = "fin_pll";
496 clock_peric: clock-controller@14010000 {
497 compatible = "tesla,fsd-clock-peric";
499 #clock-cells = <1>;
506 clock-names = "fin_pll",
514 sysreg_peric: system-controller@14030000 {
515 compatible = "tesla,fsd-peric-sysreg", "syscon";
519 clock_fsys0: clock-controller@15010000 {
520 compatible = "tesla,fsd-clock-fsys0";
522 #clock-cells = <1>;
527 clock-names = "fin_pll",
533 sysreg_fsys0: system-controller@15030000 {
534 compatible = "tesla,fsd-fsys0-sysreg", "syscon";
538 clock_fsys1: clock-controller@16810000 {
539 compatible = "tesla,fsd-clock-fsys1";
541 #clock-cells = <1>;
545 clock-names = "fin_pll",
550 sysreg_fsys1: system-controller@16830000 {
551 compatible = "tesla,fsd-fsys1-sysreg", "syscon";
555 mdma0: dma-controller@10100000 {
559 #dma-cells = <1>;
561 clock-names = "apb_pclk";
565 mdma1: dma-controller@10110000 {
569 #dma-cells = <1>;
571 clock-names = "apb_pclk";
575 pdma0: dma-controller@14280000 {
579 #dma-cells = <1>;
581 clock-names = "apb_pclk";
585 pdma1: dma-controller@14290000 {
589 #dma-cells = <1>;
591 clock-names = "apb_pclk";
596 compatible = "tesla,fsd-uart", "samsung,exynos4210-uart";
600 dma-names = "rx", "tx";
603 clock-names = "uart", "clk_uart_baud0";
608 compatible = "tesla,fsd-uart", "samsung,exynos4210-uart";
612 dma-names = "rx", "tx";
615 clock-names = "uart", "clk_uart_baud0";
619 pmu_system_controller: system-controller@11400000 {
620 compatible = "tesla,fsd-pmu", "samsung,exynos7-pmu", "syscon";
625 compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
628 samsung,syscon-phandle = <&pmu_system_controller>;
630 clock-names = "watchdog";
634 compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
637 samsung,syscon-phandle = <&pmu_system_controller>;
639 clock-names = "watchdog";
643 compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
646 samsung,syscon-phandle = <&pmu_system_controller>;
648 clock-names = "watchdog";
652 compatible = "tesla,fsd-pwm", "samsung,exynos4210-pwm";
654 samsung,pwm-outputs = <0>, <1>, <2>, <3>;
655 #pwm-cells = <3>;
657 clock-names = "timers";
662 compatible = "tesla,fsd-pwm", "samsung,exynos4210-pwm";
664 samsung,pwm-outputs = <0>, <1>, <2>, <3>;
665 #pwm-cells = <3>;
667 clock-names = "timers";
672 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
675 #address-cells = <1>;
676 #size-cells = <0>;
677 pinctrl-names = "default";
678 pinctrl-0 = <&hs_i2c0_bus>;
680 clock-names = "hsi2c";
685 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
688 #address-cells = <1>;
689 #size-cells = <0>;
690 pinctrl-names = "default";
691 pinctrl-0 = <&hs_i2c1_bus>;
693 clock-names = "hsi2c";
698 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
701 #address-cells = <1>;
702 #size-cells = <0>;
703 pinctrl-names = "default";
704 pinctrl-0 = <&hs_i2c2_bus>;
706 clock-names = "hsi2c";
711 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
714 #address-cells = <1>;
715 #size-cells = <0>;
716 pinctrl-names = "default";
717 pinctrl-0 = <&hs_i2c3_bus>;
719 clock-names = "hsi2c";
724 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
727 #address-cells = <1>;
728 #size-cells = <0>;
729 pinctrl-names = "default";
730 pinctrl-0 = <&hs_i2c4_bus>;
732 clock-names = "hsi2c";
737 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
740 #address-cells = <1>;
741 #size-cells = <0>;
742 pinctrl-names = "default";
743 pinctrl-0 = <&hs_i2c5_bus>;
745 clock-names = "hsi2c";
750 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
753 #address-cells = <1>;
754 #size-cells = <0>;
755 pinctrl-names = "default";
756 pinctrl-0 = <&hs_i2c6_bus>;
758 clock-names = "hsi2c";
763 compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c";
766 #address-cells = <1>;
767 #size-cells = <0>;
768 pinctrl-names = "default";
769 pinctrl-0 = <&hs_i2c7_bus>;
771 clock-names = "hsi2c";
776 compatible = "tesla,fsd-i2s";
780 dma-names = "tx", "rx", "tx-sec";
781 #clock-cells = <1>;
785 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
786 pinctrl-names = "default";
787 pinctrl-0 = <&i2s0_bus>;
788 #sound-dai-cells = <1>;
793 compatible = "tesla,fsd-i2s";
797 dma-names = "tx", "rx", "tx-sec";
798 #clock-cells = <1>;
802 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
803 pinctrl-names = "default";
804 pinctrl-0 = <&i2s1_bus>;
805 #sound-dai-cells = <1>;
810 compatible = "tesla,fsd-pinctrl";
815 compatible = "tesla,fsd-pinctrl";
821 compatible = "tesla,fsd-pinctrl";
830 reg-names = "m_can", "message_ram";
833 interrupt-names = "int0", "int1";
834 pinctrl-names = "default";
835 pinctrl-0 = <&m_can0_bus>;
838 clock-names = "hclk", "cclk";
839 bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
847 reg-names = "m_can", "message_ram";
850 interrupt-names = "int0", "int1";
851 pinctrl-names = "default";
852 pinctrl-0 = <&m_can1_bus>;
855 clock-names = "hclk", "cclk";
856 bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
864 reg-names = "m_can", "message_ram";
867 interrupt-names = "int0", "int1";
868 pinctrl-names = "default";
869 pinctrl-0 = <&m_can2_bus>;
872 clock-names = "hclk", "cclk";
873 bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
881 reg-names = "m_can", "message_ram";
884 interrupt-names = "int0", "int1";
885 pinctrl-names = "default";
886 pinctrl-0 = <&m_can3_bus>;
889 clock-names = "hclk", "cclk";
890 bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
894 spi_0: spi@14140000 {
895 compatible = "tesla,fsd-spi";
899 dma-names = "tx", "rx";
900 #address-cells = <1>;
901 #size-cells = <0>;
904 clock-names = "spi", "spi_busclk0";
905 samsung,spi-src-clk = <0>;
906 pinctrl-names = "default";
907 pinctrl-0 = <&spi0_bus>;
908 num-cs = <1>;
912 spi_1: spi@14150000 {
913 compatible = "tesla,fsd-spi";
917 dma-names = "tx", "rx";
918 #address-cells = <1>;
919 #size-cells = <0>;
922 clock-names = "spi", "spi_busclk0";
923 samsung,spi-src-clk = <0>;
924 pinctrl-names = "default";
925 pinctrl-0 = <&spi1_bus>;
926 num-cs = <1>;
930 spi_2: spi@14160000 {
931 compatible = "tesla,fsd-spi";
935 dma-names = "tx", "rx";
936 #address-cells = <1>;
937 #size-cells = <0>;
940 clock-names = "spi", "spi_busclk0";
941 samsung,spi-src-clk = <0>;
942 pinctrl-names = "default";
943 pinctrl-0 = <&spi2_bus>;
944 num-cs = <1>;
949 compatible = "tesla,fsd-mct", "samsung,exynos4210-mct";
968 clock-names = "fin_pll", "mct";
972 compatible = "tesla,fsd-mfc";
975 clock-names = "mfc";
977 memory-region = <&mfc_left>;
981 compatible = "tesla,fsd-ufs";
986 reg-names = "hci", "vs_hci", "unipro", "ufsp";
990 clock-names = "core_clk", "sclk_unipro_main";
991 freq-table-hz = <0 0>, <0 0>;
992 pinctrl-names = "default";
993 pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
995 phy-names = "ufs-phy";
999 ufs_phy: ufs-phy@15124000 {
1000 compatible = "tesla,fsd-ufs-phy";
1002 reg-names = "phy-pma";
1003 samsung,pmu-syscon = <&pmu_system_controller>;
1004 #phy-cells = <0>;
1006 clock-names = "ref_clk";
1011 #include "fsd-pinctrl.dtsi"