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;
435 nand_all_pins: nand-all-pins {
436 mux {
451 input-enable;
452 bias-pull-up;
457 mux {
460 bias-pull-down;
465 mux {
468 bias-pull-down;
472 eth_rgmii_x_pins: eth-x-rgmii {
473 mux {
489 bias-disable;
493 eth_rgmii_y_pins: eth-y-rgmii {
494 mux {
510 bias-disable;
514 eth_rmii_x_pins: eth-x-rmii {
515 mux {
526 bias-disable;
530 eth_rmii_y_pins: eth-y-rmii {
531 mux {
542 bias-disable;
547 mux {
550 bias-disable;
555 mux {
558 bias-disable;
563 mux {
566 bias-disable;
571 mux {
574 bias-disable;
579 mux {
582 bias-disable;
587 mux {
590 bias-disable;
595 mux {
598 bias-disable;
603 mux {
606 bias-disable;
611 mux {
614 bias-disable;
619 mux {
622 bias-disable;
627 mux {
630 bias-disable;
635 mux {
638 bias-disable;
643 mux {
646 bias-disable;
651 mux {
654 bias-disable;
659 mux {
662 bias-disable;
667 mux {
670 bias-disable;
675 mux {
678 bias-disable;
683 mux {
686 bias-disable;
691 mux {
694 bias-disable;
699 mux {
702 bias-disable;
707 mux-0 {
714 bias-pull-up;
717 mux-1 {
720 bias-disable;
725 mux {
728 bias-pull-down;
733 mux {
736 bias-disable;
741 mux {
744 bias-disable;
749 mux {
752 bias-disable;
757 mux {
760 bias-disable;
765 mux {
768 bias-disable;
773 mux {
776 bias-disable;
781 mux {
784 bias-disable;
789 mux {
792 bias-disable;
797 mux {
800 bias-disable;
805 mux {
808 bias-disable;
813 mux {
818 bias-disable;
823 mux {
826 bias-disable;
831 mux {
834 bias-disable;
839 mux {
842 bias-disable;
847 mux {
852 bias-disable;
857 mux {
860 bias-disable;
865 mux {
868 bias-disable;
873 mux {
878 bias-disable;
883 mux {
886 bias-disable;
891 mux {
894 bias-disable;
899 mux {
902 bias-disable;
907 mux {
910 bias-disable;
915 mux {
918 bias-disable;
923 mux {
926 bias-disable;
931 mux {
934 bias-disable;
939 mux {
942 bias-disable;
947 mux {
950 bias-disable;
955 mux {
958 bias-disable;
963 mux {
966 bias-disable;
971 mux {
974 bias-disable;
979 mux {
982 bias-disable;
987 mux {
990 bias-disable;
995 mux {
998 bias-disable;
1003 mux {
1006 bias-disable;
1011 mux {
1014 bias-disable;
1019 mux {
1022 bias-disable;
1027 mux {
1030 bias-disable;
1035 mux {
1038 bias-disable;
1043 mux {
1046 bias-disable;
1051 mux {
1054 bias-disable;
1059 mux {
1062 bias-disable;
1067 mux {
1070 bias-disable;
1075 mux {
1078 bias-disable;
1083 mux {
1086 bias-disable;
1091 mux {
1094 bias-disable;
1099 mux {
1102 bias-disable;
1107 mux {
1110 bias-disable;
1115 mux {
1118 bias-disable;
1123 mux {
1126 bias-disable;
1131 mux {
1134 bias-disable;
1139 mux {
1142 bias-disable;
1147 mux {
1150 bias-disable;
1155 mux {
1159 bias-disable;
1164 mux {
1168 bias-disable;
1173 mux {
1177 bias-disable;
1182 mux {
1186 bias-disable;
1191 mux {
1195 bias-disable;
1200 mux {
1204 bias-disable;
1209 mux {
1213 bias-disable;
1218 mux {
1222 bias-disable;
1229 compatible = "simple-bus";
1231 #address-cells = <2>;
1232 #size-cells = <2>;
1235 sysctrl: system-controller@0 {
1236 compatible = "amlogic,meson-axg-hhi-sysctrl",
1237 "simple-mfd", "syscon";
1240 clkc: clock-controller {
1241 compatible = "amlogic,axg-clkc";
1242 #clock-cells = <1>;
1244 clock-names = "xtal";
1247 pwrc: power-controller {
1248 compatible = "amlogic,meson-axg-pwrc";
1249 #power-domain-cells = <1>;
1250 amlogic,ao-sysctrl = <&sysctrl_AO>;
1256 reset-names = "viu", "venc", "vcbus",
1260 clock-names = "vpu", "vapb";
1264 * free mux to safely change frequency while running.
1265 * Same for VAPB but with a final gate after the glitch free mux.
1267 assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1269 <&clkc CLKID_VPU>, /* Glitch free mux */
1272 <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1273 assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
1279 assigned-clock-rates = <0>, /* Do Nothing */
1288 compatible = "amlogic,axg-mipi-pcie-analog-phy";
1289 #phy-cells = <0>;
1296 compatible = "amlogic,meson-gxbb-mhu";
1301 #mbox-cells = <1>;
1305 compatible = "amlogic,axg-mipi-dphy";
1308 clock-names = "pclk";
1310 reset-names = "phy";
1312 phy-names = "analog";
1313 #phy-cells = <0>;
1318 compatible = "simple-bus";
1320 #address-cells = <2>;
1321 #size-cells = <2>;
1324 clkc_audio: clock-controller@0 {
1325 compatible = "amlogic,axg-audio-clkc";
1327 #clock-cells = <1>;
1338 clock-names = "pclk",
1351 toddr_a: audio-controller@100 {
1352 compatible = "amlogic,axg-toddr";
1354 #sound-dai-cells = <0>;
1355 sound-name-prefix = "TODDR_A";
1359 amlogic,fifo-depth = <512>;
1363 toddr_b: audio-controller@140 {
1364 compatible = "amlogic,axg-toddr";
1366 #sound-dai-cells = <0>;
1367 sound-name-prefix = "TODDR_B";
1371 amlogic,fifo-depth = <256>;
1375 toddr_c: audio-controller@180 {
1376 compatible = "amlogic,axg-toddr";
1378 #sound-dai-cells = <0>;
1379 sound-name-prefix = "TODDR_C";
1383 amlogic,fifo-depth = <256>;
1387 frddr_a: audio-controller@1c0 {
1388 compatible = "amlogic,axg-frddr";
1390 #sound-dai-cells = <0>;
1391 sound-name-prefix = "FRDDR_A";
1395 amlogic,fifo-depth = <512>;
1399 frddr_b: audio-controller@200 {
1400 compatible = "amlogic,axg-frddr";
1402 #sound-dai-cells = <0>;
1403 sound-name-prefix = "FRDDR_B";
1407 amlogic,fifo-depth = <256>;
1411 frddr_c: audio-controller@240 {
1412 compatible = "amlogic,axg-frddr";
1414 #sound-dai-cells = <0>;
1415 sound-name-prefix = "FRDDR_C";
1419 amlogic,fifo-depth = <256>;
1423 arb: reset-controller@280 {
1424 compatible = "amlogic,meson-axg-audio-arb";
1426 #reset-cells = <1>;
1430 tdmin_a: audio-controller@300 {
1431 compatible = "amlogic,axg-tdmin";
1433 sound-name-prefix = "TDMIN_A";
1439 clock-names = "pclk", "sclk", "sclk_sel",
1444 tdmin_b: audio-controller@340 {
1445 compatible = "amlogic,axg-tdmin";
1447 sound-name-prefix = "TDMIN_B";
1453 clock-names = "pclk", "sclk", "sclk_sel",
1458 tdmin_c: audio-controller@380 {
1459 compatible = "amlogic,axg-tdmin";
1461 sound-name-prefix = "TDMIN_C";
1467 clock-names = "pclk", "sclk", "sclk_sel",
1472 tdmin_lb: audio-controller@3c0 {
1473 compatible = "amlogic,axg-tdmin";
1475 sound-name-prefix = "TDMIN_LB";
1481 clock-names = "pclk", "sclk", "sclk_sel",
1486 spdifin: audio-controller@400 {
1487 compatible = "amlogic,axg-spdifin";
1489 #sound-dai-cells = <0>;
1490 sound-name-prefix = "SPDIFIN";
1494 clock-names = "pclk", "refclk";
1498 spdifout: audio-controller@480 {
1499 compatible = "amlogic,axg-spdifout";
1501 #sound-dai-cells = <0>;
1502 sound-name-prefix = "SPDIFOUT";
1505 clock-names = "pclk", "mclk";
1509 tdmout_a: audio-controller@500 {
1510 compatible = "amlogic,axg-tdmout";
1512 sound-name-prefix = "TDMOUT_A";
1518 clock-names = "pclk", "sclk", "sclk_sel",
1523 tdmout_b: audio-controller@540 {
1524 compatible = "amlogic,axg-tdmout";
1526 sound-name-prefix = "TDMOUT_B";
1532 clock-names = "pclk", "sclk", "sclk_sel",
1537 tdmout_c: audio-controller@580 {
1538 compatible = "amlogic,axg-tdmout";
1540 sound-name-prefix = "TDMOUT_C";
1546 clock-names = "pclk", "sclk", "sclk_sel",
1553 compatible = "simple-bus";
1555 #address-cells = <2>;
1556 #size-cells = <2>;
1559 sysctrl_AO: sys-ctrl@0 {
1560 compatible = "amlogic,meson-axg-ao-sysctrl", "simple-mfd", "syscon";
1563 clkc_AO: clock-controller {
1564 compatible = "amlogic,meson-axg-aoclkc";
1565 #clock-cells = <1>;
1566 #reset-cells = <1>;
1568 clock-names = "xtal", "mpeg-clk";
1573 compatible = "amlogic,meson-axg-aobus-pinctrl";
1574 #address-cells = <2>;
1575 #size-cells = <2>;
1582 reg-names = "mux", "pull", "gpio";
1583 gpio-controller;
1584 #gpio-cells = <2>;
1585 gpio-ranges = <&pinctrl_aobus 0 0 15>;
1589 mux {
1592 bias-disable;
1597 mux {
1600 bias-disable;
1605 mux {
1608 bias-disable;
1613 mux {
1616 bias-disable;
1621 mux {
1624 bias-disable;
1629 mux {
1632 bias-disable;
1637 mux {
1640 bias-disable;
1645 mux {
1649 bias-disable;
1654 mux {
1658 bias-disable;
1663 mux {
1667 bias-disable;
1672 mux {
1676 bias-disable;
1681 sec_AO: ao-secure@140 {
1682 compatible = "amlogic,meson-gx-ao-secure", "syscon";
1684 amlogic,has-chip-id;
1688 compatible = "amlogic,meson-axg-ao-pwm";
1690 #pwm-cells = <3>;
1695 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1699 clock-names = "xtal", "pclk", "baud";
1704 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1708 clock-names = "xtal", "pclk", "baud";
1713 compatible = "amlogic,meson-axg-i2c";
1717 #address-cells = <1>;
1718 #size-cells = <0>;
1723 compatible = "amlogic,meson-axg-ao-pwm";
1725 #pwm-cells = <3>;
1730 compatible = "amlogic,meson-gxbb-ir";
1737 compatible = "amlogic,meson-axg-saradc",
1738 "amlogic,meson-saradc";
1740 #io-channel-cells = <1>;
1746 clock-names = "clkin", "core", "adc_clk", "adc_sel";
1752 compatible = "amlogic,axg-ge2d";
1759 gic: interrupt-controller@ffc01000 {
1760 compatible = "arm,gic-400";
1765 interrupt-controller;
1768 #interrupt-cells = <3>;
1769 #address-cells = <0>;
1773 compatible = "simple-bus";
1775 #address-cells = <2>;
1776 #size-cells = <2>;
1779 reset: reset-controller@1004 {
1780 compatible = "amlogic,meson-axg-reset";
1782 #reset-cells = <1>;
1785 gpio_intc: interrupt-controller@f080 {
1786 compatible = "amlogic,meson-axg-gpio-intc",
1787 "amlogic,meson-gpio-intc";
1789 interrupt-controller;
1790 #interrupt-cells = <2>;
1791 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
1795 compatible = "amlogic,meson-gxbb-wdt";
1801 compatible = "amlogic,meson-axg-ee-pwm";
1803 #pwm-cells = <3>;
1808 compatible = "amlogic,meson-axg-ee-pwm";
1810 #pwm-cells = <3>;
1815 compatible = "amlogic,meson-axg-spicc";
1819 clock-names = "core";
1820 #address-cells = <1>;
1821 #size-cells = <0>;
1826 compatible = "amlogic,meson-axg-spicc";
1830 clock-names = "core";
1831 #address-cells = <1>;
1832 #size-cells = <0>;
1836 clk_msr: clock-measure@18000 {
1837 compatible = "amlogic,meson-axg-clk-measure";
1842 compatible = "amlogic,meson-axg-i2c";
1846 #address-cells = <1>;
1847 #size-cells = <0>;
1852 compatible = "amlogic,meson-axg-i2c";
1856 #address-cells = <1>;
1857 #size-cells = <0>;
1862 compatible = "amlogic,meson-axg-i2c";
1866 #address-cells = <1>;
1867 #size-cells = <0>;
1872 compatible = "amlogic,meson-axg-i2c";
1876 #address-cells = <1>;
1877 #size-cells = <0>;
1882 compatible = "amlogic,meson-gx-uart";
1887 clock-names = "xtal", "pclk", "baud";
1891 compatible = "amlogic,meson-gx-uart";
1896 clock-names = "xtal", "pclk", "baud";
1897 fifo-size = <128>;
1902 compatible = "simple-bus";
1904 #address-cells = <2>;
1905 #size-cells = <2>;
1909 compatible = "amlogic,meson-axg-mmc";
1916 clock-names = "core", "clkin0", "clkin1";
1921 compatible = "amlogic,meson-axg-mmc";
1928 clock-names = "core", "clkin0", "clkin1";
1932 nfc: nand-controller@7800 {
1933 compatible = "amlogic,meson-axg-nfc";
1936 reg-names = "nfc", "emmc";
1937 pinctrl-0 = <&nand_all_pins>;
1938 pinctrl-names = "default";
1939 #address-cells = <1>;
1940 #size-cells = <0>;
1944 clock-names = "core", "device";
1948 compatible = "amlogic,meson-gxl-usb2-phy";
1949 #phy-cells = <0>;
1952 clock-names = "phy";
1954 reset-names = "phy";
1959 compatible = "mmio-sram";
1961 #address-cells = <1>;
1962 #size-cells = <1>;
1965 cpu_scp_lpri: scp-sram@13000 {
1966 compatible = "amlogic,meson-axg-scp-shmem";
1970 cpu_scp_hpri: scp-sram@13400 {
1971 compatible = "amlogic,meson-axg-scp-shmem";
1978 compatible = "arm,armv8-timer";
1989 xtal: xtal-clk {
1990 compatible = "fixed-clock";
1991 clock-frequency = <24000000>;
1992 clock-output-names = "xtal";
1993 #clock-cells = <0>;