Lines Matching +full:mux +full:- +full:controller

1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/axg-aoclkc.h>
7 #include <dt-bindings/clock/axg-audio-clkc.h>
8 #include <dt-bindings/clock/axg-clkc.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/gpio/meson-axg-gpio.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
14 #include <dt-bindings/reset/amlogic,meson-axg-reset.h>
15 #include <dt-bindings/power/meson-axg-power.h>
18 compatible = "amlogic,meson-axg";
20 interrupt-parent = <&gic>;
21 #address-cells = <2>;
22 #size-cells = <2>;
24 tdmif_a: audio-controller-0 {
25 compatible = "amlogic,axg-tdm-iface";
26 #sound-dai-cells = <0>;
27 sound-name-prefix = "TDM_A";
31 clock-names = "mclk", "sclk", "lrclk";
35 tdmif_b: audio-controller-1 {
36 compatible = "amlogic,axg-tdm-iface";
37 #sound-dai-cells = <0>;
38 sound-name-prefix = "TDM_B";
42 clock-names = "mclk", "sclk", "lrclk";
46 tdmif_c: audio-controller-2 {
47 compatible = "amlogic,axg-tdm-iface";
48 #sound-dai-cells = <0>;
49 sound-name-prefix = "TDM_C";
53 clock-names = "mclk", "sclk", "lrclk";
57 arm-pmu {
58 compatible = "arm,cortex-a53-pmu";
63 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
67 #address-cells = <0x2>;
68 #size-cells = <0x0>;
72 compatible = "arm,cortex-a53";
74 enable-method = "psci";
75 next-level-cache = <&l2>;
81 compatible = "arm,cortex-a53";
83 enable-method = "psci";
84 next-level-cache = <&l2>;
90 compatible = "arm,cortex-a53";
92 enable-method = "psci";
93 next-level-cache = <&l2>;
99 compatible = "arm,cortex-a53";
101 enable-method = "psci";
102 next-level-cache = <&l2>;
106 l2: l2-cache0 {
108 cache-level = <2>;
109 cache-unified;
113 sm: secure-monitor {
114 compatible = "amlogic,meson-gxbb-sm";
118 compatible = "amlogic,meson-gxbb-efuse";
120 #address-cells = <1>;
121 #size-cells = <1>;
122 read-only;
123 secure-monitor = <&sm>;
127 compatible = "arm,psci-1.0";
131 reserved-memory {
132 #address-cells = <2>;
133 #size-cells = <2>;
139 no-map;
145 no-map;
150 compatible = "arm,scpi-pre-1.0";
155 compatible = "arm,scpi-clocks";
157 scpi_dvfs: clocks-0 {
158 compatible = "arm,scpi-dvfs-clocks";
159 #clock-cells = <1>;
160 clock-indices = <0>;
161 clock-output-names = "vcpu";
166 compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors";
167 #thermal-sensor-cells = <1>;
172 compatible = "simple-bus";
173 #address-cells = <2>;
174 #size-cells = <2>;
178 compatible = "amlogic,axg-pcie", "snps,dw-pcie";
182 reg-names = "elbi", "cfg", "config";
184 #interrupt-cells = <1>;
185 interrupt-map-mask = <0 0 0 0>;
186 interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
187 bus-range = <0x0 0xff>;
188 #address-cells = <3>;
189 #size-cells = <2>;
194 clock-names = "general", "pclk", "port";
196 reset-names = "port", "apb";
197 num-lanes = <1>;
199 phy-names = "pcie";
204 compatible = "amlogic,axg-pcie", "snps,dw-pcie";
208 reg-names = "elbi", "cfg", "config";
210 #interrupt-cells = <1>;
211 interrupt-map-mask = <0 0 0 0>;
212 interrupt-map = <0 0 0 0 &gic GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
213 bus-range = <0x0 0xff>;
214 #address-cells = <3>;
215 #size-cells = <2>;
220 clock-names = "general", "pclk", "port";
222 reset-names = "port", "apb";
223 num-lanes = <1>;
225 phy-names = "pcie";
230 compatible = "amlogic,meson-axg-usb-ctrl";
233 #address-cells = <2>;
234 #size-cells = <2>;
238 clock-names = "usb_ctrl", "ddr";
244 phy-names = "usb2-phy1";
247 compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
251 clock-names = "otg";
254 g-rx-fifo-size = <192>;
255 g-np-tx-fifo-size = <128>;
256 g-tx-fifo-size = <128 128 16 16 16>;
264 maximum-speed = "high-speed";
270 compatible = "amlogic,meson-axg-dwmac",
271 "snps,dwmac-3.70a",
276 interrupt-names = "macirq";
281 clock-names = "stmmaceth", "clkin0", "clkin1",
282 "timing-adjustment";
283 rx-fifo-depth = <4096>;
284 tx-fifo-depth = <2048>;
285 power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>;
290 compatible = "amlogic,axg-pcie-phy";
294 phy-names = "analog";
295 #phy-cells = <0>;
298 pdm: audio-controller@ff632000 {
299 compatible = "amlogic,axg-pdm";
301 #sound-dai-cells = <0>;
302 sound-name-prefix = "PDM";
306 clock-names = "pclk", "dclk", "sysclk";
311 compatible = "simple-bus";
313 #address-cells = <2>;
314 #size-cells = <2>;
318 compatible = "amlogic,meson-rng";
321 clock-names = "core";
325 compatible = "amlogic,meson-axg-periphs-pinctrl";
326 #address-cells = <2>;
327 #size-cells = <2>;
335 reg-names = "mux", "pull", "pull-enable", "gpio";
336 gpio-controller;
337 #gpio-cells = <2>;
338 gpio-ranges = <&pinctrl_periphs 0 0 86>;
342 mux {
346 bias-disable;
351 mux {
355 bias-disable;
360 mux {
364 bias-disable;
369 mux {
373 bias-disable;
378 mux {
382 bias-disable;
387 mux {
391 bias-disable;
396 mux {
400 bias-disable;
405 mux {
409 bias-disable;
414 mux-0 {
425 bias-pull-up;
428 mux-1 {
431 bias-disable;
436 mux {
439 bias-pull-down;
444 mux {
447 bias-pull-down;
451 eth_rgmii_x_pins: eth-x-rgmii {
452 mux {
468 bias-disable;
472 eth_rgmii_y_pins: eth-y-rgmii {
473 mux {
489 bias-disable;
493 eth_rmii_x_pins: eth-x-rmii {
494 mux {
505 bias-disable;
509 eth_rmii_y_pins: eth-y-rmii {
510 mux {
521 bias-disable;
526 mux {
529 bias-disable;
534 mux {
537 bias-disable;
542 mux {
545 bias-disable;
550 mux {
553 bias-disable;
558 mux {
561 bias-disable;
566 mux {
569 bias-disable;
574 mux {
577 bias-disable;
582 mux {
585 bias-disable;
590 mux {
593 bias-disable;
598 mux {
601 bias-disable;
606 mux {
609 bias-disable;
614 mux {
617 bias-disable;
622 mux {
625 bias-disable;
630 mux {
633 bias-disable;
638 mux {
641 bias-disable;
646 mux {
649 bias-disable;
654 mux {
657 bias-disable;
662 mux {
665 bias-disable;
670 mux {
673 bias-disable;
678 mux {
681 bias-disable;
686 mux-0 {
693 bias-pull-up;
696 mux-1 {
699 bias-disable;
704 mux {
707 bias-pull-down;
712 mux {
715 bias-disable;
720 mux {
723 bias-disable;
728 mux {
731 bias-disable;
736 mux {
739 bias-disable;
744 mux {
747 bias-disable;
752 mux {
755 bias-disable;
760 mux {
763 bias-disable;
768 mux {
771 bias-disable;
776 mux {
779 bias-disable;
784 mux {
787 bias-disable;
792 mux {
797 bias-disable;
802 mux {
805 bias-disable;
810 mux {
813 bias-disable;
818 mux {
821 bias-disable;
826 mux {
831 bias-disable;
836 mux {
839 bias-disable;
844 mux {
847 bias-disable;
852 mux {
857 bias-disable;
862 mux {
865 bias-disable;
870 mux {
873 bias-disable;
878 mux {
881 bias-disable;
886 mux {
889 bias-disable;
894 mux {
897 bias-disable;
902 mux {
905 bias-disable;
910 mux {
913 bias-disable;
918 mux {
921 bias-disable;
926 mux {
929 bias-disable;
934 mux {
937 bias-disable;
942 mux {
945 bias-disable;
950 mux {
953 bias-disable;
958 mux {
961 bias-disable;
966 mux {
969 bias-disable;
974 mux {
977 bias-disable;
982 mux {
985 bias-disable;
990 mux {
993 bias-disable;
998 mux {
1001 bias-disable;
1006 mux {
1009 bias-disable;
1014 mux {
1017 bias-disable;
1022 mux {
1025 bias-disable;
1030 mux {
1033 bias-disable;
1038 mux {
1041 bias-disable;
1046 mux {
1049 bias-disable;
1054 mux {
1057 bias-disable;
1062 mux {
1065 bias-disable;
1070 mux {
1073 bias-disable;
1078 mux {
1081 bias-disable;
1086 mux {
1089 bias-disable;
1094 mux {
1097 bias-disable;
1102 mux {
1105 bias-disable;
1110 mux {
1113 bias-disable;
1118 mux {
1121 bias-disable;
1126 mux {
1129 bias-disable;
1134 mux {
1138 bias-disable;
1143 mux {
1147 bias-disable;
1152 mux {
1156 bias-disable;
1161 mux {
1165 bias-disable;
1170 mux {
1174 bias-disable;
1179 mux {
1183 bias-disable;
1188 mux {
1192 bias-disable;
1197 mux {
1201 bias-disable;
1208 compatible = "simple-bus";
1210 #address-cells = <2>;
1211 #size-cells = <2>;
1214 sysctrl: system-controller@0 {
1215 compatible = "amlogic,meson-axg-hhi-sysctrl",
1216 "simple-mfd", "syscon";
1219 clkc: clock-controller {
1220 compatible = "amlogic,axg-clkc";
1221 #clock-cells = <1>;
1223 clock-names = "xtal";
1226 pwrc: power-controller {
1227 compatible = "amlogic,meson-axg-pwrc";
1228 #power-domain-cells = <1>;
1229 amlogic,ao-sysctrl = <&sysctrl_AO>;
1235 reset-names = "viu", "venc", "vcbus",
1239 clock-names = "vpu", "vapb";
1243 * free mux to safely change frequency while running.
1244 * Same for VAPB but with a final gate after the glitch free mux.
1246 assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1248 <&clkc CLKID_VPU>, /* Glitch free mux */
1251 <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1252 assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
1258 assigned-clock-rates = <0>, /* Do Nothing */
1267 compatible = "amlogic,axg-mipi-pcie-analog-phy";
1268 #phy-cells = <0>;
1275 compatible = "amlogic,meson-gxbb-mhu";
1280 #mbox-cells = <1>;
1284 compatible = "amlogic,axg-mipi-dphy";
1287 clock-names = "pclk";
1289 reset-names = "phy";
1291 phy-names = "analog";
1292 #phy-cells = <0>;
1297 compatible = "simple-bus";
1299 #address-cells = <2>;
1300 #size-cells = <2>;
1303 clkc_audio: clock-controller@0 {
1304 compatible = "amlogic,axg-audio-clkc";
1306 #clock-cells = <1>;
1317 clock-names = "pclk",
1330 toddr_a: audio-controller@100 {
1331 compatible = "amlogic,axg-toddr";
1333 #sound-dai-cells = <0>;
1334 sound-name-prefix = "TODDR_A";
1338 amlogic,fifo-depth = <512>;
1342 toddr_b: audio-controller@140 {
1343 compatible = "amlogic,axg-toddr";
1345 #sound-dai-cells = <0>;
1346 sound-name-prefix = "TODDR_B";
1350 amlogic,fifo-depth = <256>;
1354 toddr_c: audio-controller@180 {
1355 compatible = "amlogic,axg-toddr";
1357 #sound-dai-cells = <0>;
1358 sound-name-prefix = "TODDR_C";
1362 amlogic,fifo-depth = <256>;
1366 frddr_a: audio-controller@1c0 {
1367 compatible = "amlogic,axg-frddr";
1369 #sound-dai-cells = <0>;
1370 sound-name-prefix = "FRDDR_A";
1374 amlogic,fifo-depth = <512>;
1378 frddr_b: audio-controller@200 {
1379 compatible = "amlogic,axg-frddr";
1381 #sound-dai-cells = <0>;
1382 sound-name-prefix = "FRDDR_B";
1386 amlogic,fifo-depth = <256>;
1390 frddr_c: audio-controller@240 {
1391 compatible = "amlogic,axg-frddr";
1393 #sound-dai-cells = <0>;
1394 sound-name-prefix = "FRDDR_C";
1398 amlogic,fifo-depth = <256>;
1402 arb: reset-controller@280 {
1403 compatible = "amlogic,meson-axg-audio-arb";
1405 #reset-cells = <1>;
1409 tdmin_a: audio-controller@300 {
1410 compatible = "amlogic,axg-tdmin";
1412 sound-name-prefix = "TDMIN_A";
1418 clock-names = "pclk", "sclk", "sclk_sel",
1423 tdmin_b: audio-controller@340 {
1424 compatible = "amlogic,axg-tdmin";
1426 sound-name-prefix = "TDMIN_B";
1432 clock-names = "pclk", "sclk", "sclk_sel",
1437 tdmin_c: audio-controller@380 {
1438 compatible = "amlogic,axg-tdmin";
1440 sound-name-prefix = "TDMIN_C";
1446 clock-names = "pclk", "sclk", "sclk_sel",
1451 tdmin_lb: audio-controller@3c0 {
1452 compatible = "amlogic,axg-tdmin";
1454 sound-name-prefix = "TDMIN_LB";
1460 clock-names = "pclk", "sclk", "sclk_sel",
1465 spdifin: audio-controller@400 {
1466 compatible = "amlogic,axg-spdifin";
1468 #sound-dai-cells = <0>;
1469 sound-name-prefix = "SPDIFIN";
1473 clock-names = "pclk", "refclk";
1477 spdifout: audio-controller@480 {
1478 compatible = "amlogic,axg-spdifout";
1480 #sound-dai-cells = <0>;
1481 sound-name-prefix = "SPDIFOUT";
1484 clock-names = "pclk", "mclk";
1488 tdmout_a: audio-controller@500 {
1489 compatible = "amlogic,axg-tdmout";
1491 sound-name-prefix = "TDMOUT_A";
1497 clock-names = "pclk", "sclk", "sclk_sel",
1502 tdmout_b: audio-controller@540 {
1503 compatible = "amlogic,axg-tdmout";
1505 sound-name-prefix = "TDMOUT_B";
1511 clock-names = "pclk", "sclk", "sclk_sel",
1516 tdmout_c: audio-controller@580 {
1517 compatible = "amlogic,axg-tdmout";
1519 sound-name-prefix = "TDMOUT_C";
1525 clock-names = "pclk", "sclk", "sclk_sel",
1532 compatible = "simple-bus";
1534 #address-cells = <2>;
1535 #size-cells = <2>;
1538 sysctrl_AO: sys-ctrl@0 {
1539 compatible = "amlogic,meson-axg-ao-sysctrl", "simple-mfd", "syscon";
1542 clkc_AO: clock-controller {
1543 compatible = "amlogic,meson-axg-aoclkc";
1544 #clock-cells = <1>;
1545 #reset-cells = <1>;
1547 clock-names = "xtal", "mpeg-clk";
1552 compatible = "amlogic,meson-axg-aobus-pinctrl";
1553 #address-cells = <2>;
1554 #size-cells = <2>;
1561 reg-names = "mux", "pull", "gpio";
1562 gpio-controller;
1563 #gpio-cells = <2>;
1564 gpio-ranges = <&pinctrl_aobus 0 0 15>;
1568 mux {
1571 bias-disable;
1576 mux {
1579 bias-disable;
1584 mux {
1587 bias-disable;
1592 mux {
1595 bias-disable;
1600 mux {
1603 bias-disable;
1608 mux {
1611 bias-disable;
1616 mux {
1619 bias-disable;
1624 mux {
1628 bias-disable;
1633 mux {
1637 bias-disable;
1642 mux {
1646 bias-disable;
1651 mux {
1655 bias-disable;
1660 sec_AO: ao-secure@140 {
1661 compatible = "amlogic,meson-gx-ao-secure", "syscon";
1663 amlogic,has-chip-id;
1667 compatible = "amlogic,meson-axg-ao-pwm";
1669 #pwm-cells = <3>;
1674 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1678 clock-names = "xtal", "pclk", "baud";
1683 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1687 clock-names = "xtal", "pclk", "baud";
1692 compatible = "amlogic,meson-axg-i2c";
1696 #address-cells = <1>;
1697 #size-cells = <0>;
1702 compatible = "amlogic,meson-axg-ao-pwm";
1704 #pwm-cells = <3>;
1709 compatible = "amlogic,meson-gxbb-ir";
1716 compatible = "amlogic,meson-axg-saradc",
1717 "amlogic,meson-saradc";
1719 #io-channel-cells = <1>;
1725 clock-names = "clkin", "core", "adc_clk", "adc_sel";
1731 compatible = "amlogic,axg-ge2d";
1738 gic: interrupt-controller@ffc01000 {
1739 compatible = "arm,gic-400";
1744 interrupt-controller;
1747 #interrupt-cells = <3>;
1748 #address-cells = <0>;
1752 compatible = "simple-bus";
1754 #address-cells = <2>;
1755 #size-cells = <2>;
1758 reset: reset-controller@1004 {
1759 compatible = "amlogic,meson-axg-reset";
1761 #reset-cells = <1>;
1764 gpio_intc: interrupt-controller@f080 {
1765 compatible = "amlogic,meson-axg-gpio-intc",
1766 "amlogic,meson-gpio-intc";
1768 interrupt-controller;
1769 #interrupt-cells = <2>;
1770 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
1774 compatible = "amlogic,meson-gxbb-wdt";
1780 compatible = "amlogic,meson-axg-ee-pwm";
1782 #pwm-cells = <3>;
1787 compatible = "amlogic,meson-axg-ee-pwm";
1789 #pwm-cells = <3>;
1794 compatible = "amlogic,meson-axg-spicc";
1798 clock-names = "core";
1799 #address-cells = <1>;
1800 #size-cells = <0>;
1805 compatible = "amlogic,meson-axg-spicc";
1809 clock-names = "core";
1810 #address-cells = <1>;
1811 #size-cells = <0>;
1815 clk_msr: clock-measure@18000 {
1816 compatible = "amlogic,meson-axg-clk-measure";
1821 compatible = "amlogic,meson-axg-i2c";
1825 #address-cells = <1>;
1826 #size-cells = <0>;
1831 compatible = "amlogic,meson-axg-i2c";
1835 #address-cells = <1>;
1836 #size-cells = <0>;
1841 compatible = "amlogic,meson-axg-i2c";
1845 #address-cells = <1>;
1846 #size-cells = <0>;
1851 compatible = "amlogic,meson-axg-i2c";
1855 #address-cells = <1>;
1856 #size-cells = <0>;
1861 compatible = "amlogic,meson-gx-uart";
1866 clock-names = "xtal", "pclk", "baud";
1870 compatible = "amlogic,meson-gx-uart";
1875 clock-names = "xtal", "pclk", "baud";
1876 fifo-size = <128>;
1881 compatible = "simple-bus";
1883 #address-cells = <2>;
1884 #size-cells = <2>;
1888 compatible = "amlogic,meson-axg-mmc";
1895 clock-names = "core", "clkin0", "clkin1";
1900 compatible = "amlogic,meson-axg-mmc";
1907 clock-names = "core", "clkin0", "clkin1";
1912 compatible = "amlogic,meson-gxl-usb2-phy";
1913 #phy-cells = <0>;
1916 clock-names = "phy";
1918 reset-names = "phy";
1923 compatible = "mmio-sram";
1925 #address-cells = <1>;
1926 #size-cells = <1>;
1929 cpu_scp_lpri: scp-sram@13000 {
1930 compatible = "amlogic,meson-axg-scp-shmem";
1934 cpu_scp_hpri: scp-sram@13400 {
1935 compatible = "amlogic,meson-axg-scp-shmem";
1942 compatible = "arm,armv8-timer";
1953 xtal: xtal-clk {
1954 compatible = "fixed-clock";
1955 clock-frequency = <24000000>;
1956 clock-output-names = "xtal";
1957 #clock-cells = <0>;