meson-axg.dtsi 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
  4. */
  5. #include <dt-bindings/clock/axg-aoclkc.h>
  6. #include <dt-bindings/clock/axg-audio-clkc.h>
  7. #include <dt-bindings/clock/axg-clkc.h>
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include <dt-bindings/gpio/meson-axg-gpio.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/interrupt-controller/arm-gic.h>
  12. #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
  13. #include <dt-bindings/reset/amlogic,meson-axg-reset.h>
  14. #include <dt-bindings/power/meson-axg-power.h>
  15. / {
  16. compatible = "amlogic,meson-axg";
  17. interrupt-parent = <&gic>;
  18. #address-cells = <2>;
  19. #size-cells = <2>;
  20. tdmif_a: audio-controller-0 {
  21. compatible = "amlogic,axg-tdm-iface";
  22. #sound-dai-cells = <0>;
  23. sound-name-prefix = "TDM_A";
  24. clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
  25. <&clkc_audio AUD_CLKID_MST_A_SCLK>,
  26. <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
  27. clock-names = "mclk", "sclk", "lrclk";
  28. status = "disabled";
  29. };
  30. tdmif_b: audio-controller-1 {
  31. compatible = "amlogic,axg-tdm-iface";
  32. #sound-dai-cells = <0>;
  33. sound-name-prefix = "TDM_B";
  34. clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
  35. <&clkc_audio AUD_CLKID_MST_B_SCLK>,
  36. <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
  37. clock-names = "mclk", "sclk", "lrclk";
  38. status = "disabled";
  39. };
  40. tdmif_c: audio-controller-2 {
  41. compatible = "amlogic,axg-tdm-iface";
  42. #sound-dai-cells = <0>;
  43. sound-name-prefix = "TDM_C";
  44. clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
  45. <&clkc_audio AUD_CLKID_MST_C_SCLK>,
  46. <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
  47. clock-names = "mclk", "sclk", "lrclk";
  48. status = "disabled";
  49. };
  50. arm-pmu {
  51. compatible = "arm,cortex-a53-pmu";
  52. interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  53. <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  54. <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
  55. <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
  56. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  57. };
  58. cpus {
  59. #address-cells = <0x2>;
  60. #size-cells = <0x0>;
  61. cpu0: cpu@0 {
  62. device_type = "cpu";
  63. compatible = "arm,cortex-a53";
  64. reg = <0x0 0x0>;
  65. enable-method = "psci";
  66. next-level-cache = <&l2>;
  67. clocks = <&scpi_dvfs 0>;
  68. };
  69. cpu1: cpu@1 {
  70. device_type = "cpu";
  71. compatible = "arm,cortex-a53";
  72. reg = <0x0 0x1>;
  73. enable-method = "psci";
  74. next-level-cache = <&l2>;
  75. clocks = <&scpi_dvfs 0>;
  76. };
  77. cpu2: cpu@2 {
  78. device_type = "cpu";
  79. compatible = "arm,cortex-a53";
  80. reg = <0x0 0x2>;
  81. enable-method = "psci";
  82. next-level-cache = <&l2>;
  83. clocks = <&scpi_dvfs 0>;
  84. };
  85. cpu3: cpu@3 {
  86. device_type = "cpu";
  87. compatible = "arm,cortex-a53";
  88. reg = <0x0 0x3>;
  89. enable-method = "psci";
  90. next-level-cache = <&l2>;
  91. clocks = <&scpi_dvfs 0>;
  92. };
  93. l2: l2-cache0 {
  94. compatible = "cache";
  95. };
  96. };
  97. sm: secure-monitor {
  98. compatible = "amlogic,meson-gxbb-sm";
  99. };
  100. efuse: efuse {
  101. compatible = "amlogic,meson-gxbb-efuse";
  102. clocks = <&clkc CLKID_EFUSE>;
  103. #address-cells = <1>;
  104. #size-cells = <1>;
  105. read-only;
  106. secure-monitor = <&sm>;
  107. };
  108. psci {
  109. compatible = "arm,psci-1.0";
  110. method = "smc";
  111. };
  112. reserved-memory {
  113. #address-cells = <2>;
  114. #size-cells = <2>;
  115. ranges;
  116. /* 16 MiB reserved for Hardware ROM Firmware */
  117. hwrom_reserved: hwrom@0 {
  118. reg = <0x0 0x0 0x0 0x1000000>;
  119. no-map;
  120. };
  121. /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
  122. secmon_reserved: secmon@5000000 {
  123. reg = <0x0 0x05000000 0x0 0x300000>;
  124. no-map;
  125. };
  126. };
  127. scpi {
  128. compatible = "arm,scpi-pre-1.0";
  129. mboxes = <&mailbox 1 &mailbox 2>;
  130. shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
  131. scpi_clocks: clocks {
  132. compatible = "arm,scpi-clocks";
  133. scpi_dvfs: clocks-0 {
  134. compatible = "arm,scpi-dvfs-clocks";
  135. #clock-cells = <1>;
  136. clock-indices = <0>;
  137. clock-output-names = "vcpu";
  138. };
  139. };
  140. scpi_sensors: sensors {
  141. compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors";
  142. #thermal-sensor-cells = <1>;
  143. };
  144. };
  145. soc {
  146. compatible = "simple-bus";
  147. #address-cells = <2>;
  148. #size-cells = <2>;
  149. ranges;
  150. pcieA: pcie@f9800000 {
  151. compatible = "amlogic,axg-pcie", "snps,dw-pcie";
  152. reg = <0x0 0xf9800000 0x0 0x400000>,
  153. <0x0 0xff646000 0x0 0x2000>,
  154. <0x0 0xf9f00000 0x0 0x100000>;
  155. reg-names = "elbi", "cfg", "config";
  156. interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
  157. #interrupt-cells = <1>;
  158. interrupt-map-mask = <0 0 0 0>;
  159. interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
  160. bus-range = <0x0 0xff>;
  161. #address-cells = <3>;
  162. #size-cells = <2>;
  163. device_type = "pci";
  164. ranges = <0x82000000 0 0xf9c00000 0x0 0xf9c00000 0 0x00300000>;
  165. clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_A>, <&clkc CLKID_PCIE_CML_EN0>;
  166. clock-names = "general", "pclk", "port";
  167. resets = <&reset RESET_PCIE_A>, <&reset RESET_PCIE_APB>;
  168. reset-names = "port", "apb";
  169. num-lanes = <1>;
  170. phys = <&pcie_phy>;
  171. phy-names = "pcie";
  172. status = "disabled";
  173. };
  174. pcieB: pcie@fa000000 {
  175. compatible = "amlogic,axg-pcie", "snps,dw-pcie";
  176. reg = <0x0 0xfa000000 0x0 0x400000>,
  177. <0x0 0xff648000 0x0 0x2000>,
  178. <0x0 0xfa400000 0x0 0x100000>;
  179. reg-names = "elbi", "cfg", "config";
  180. interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
  181. #interrupt-cells = <1>;
  182. interrupt-map-mask = <0 0 0 0>;
  183. interrupt-map = <0 0 0 0 &gic GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
  184. bus-range = <0x0 0xff>;
  185. #address-cells = <3>;
  186. #size-cells = <2>;
  187. device_type = "pci";
  188. ranges = <0x82000000 0 0xfa500000 0x0 0xfa500000 0 0x00300000>;
  189. clocks = <&clkc CLKID_USB>, <&clkc CLKID_PCIE_B>, <&clkc CLKID_PCIE_CML_EN1>;
  190. clock-names = "general", "pclk", "port";
  191. resets = <&reset RESET_PCIE_B>, <&reset RESET_PCIE_APB>;
  192. reset-names = "port", "apb";
  193. num-lanes = <1>;
  194. phys = <&pcie_phy>;
  195. phy-names = "pcie";
  196. status = "disabled";
  197. };
  198. usb: usb@ffe09080 {
  199. compatible = "amlogic,meson-axg-usb-ctrl";
  200. reg = <0x0 0xffe09080 0x0 0x20>;
  201. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  202. #address-cells = <2>;
  203. #size-cells = <2>;
  204. ranges;
  205. clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1_DDR_BRIDGE>;
  206. clock-names = "usb_ctrl", "ddr";
  207. resets = <&reset RESET_USB_OTG>;
  208. dr_mode = "otg";
  209. phys = <&usb2_phy1>;
  210. phy-names = "usb2-phy1";
  211. dwc2: usb@ff400000 {
  212. compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
  213. reg = <0x0 0xff400000 0x0 0x40000>;
  214. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  215. clocks = <&clkc CLKID_USB1>;
  216. clock-names = "otg";
  217. phys = <&usb2_phy1>;
  218. dr_mode = "peripheral";
  219. g-rx-fifo-size = <192>;
  220. g-np-tx-fifo-size = <128>;
  221. g-tx-fifo-size = <128 128 16 16 16>;
  222. };
  223. dwc3: usb@ff500000 {
  224. compatible = "snps,dwc3";
  225. reg = <0x0 0xff500000 0x0 0x100000>;
  226. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  227. dr_mode = "host";
  228. maximum-speed = "high-speed";
  229. snps,dis_u2_susphy_quirk;
  230. };
  231. };
  232. ethmac: ethernet@ff3f0000 {
  233. compatible = "amlogic,meson-axg-dwmac",
  234. "snps,dwmac-3.70a",
  235. "snps,dwmac";
  236. reg = <0x0 0xff3f0000 0x0 0x10000>,
  237. <0x0 0xff634540 0x0 0x8>;
  238. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  239. interrupt-names = "macirq";
  240. clocks = <&clkc CLKID_ETH>,
  241. <&clkc CLKID_FCLK_DIV2>,
  242. <&clkc CLKID_MPLL2>,
  243. <&clkc CLKID_FCLK_DIV2>;
  244. clock-names = "stmmaceth", "clkin0", "clkin1",
  245. "timing-adjustment";
  246. rx-fifo-depth = <4096>;
  247. tx-fifo-depth = <2048>;
  248. power-domains = <&pwrc PWRC_AXG_ETHERNET_MEM_ID>;
  249. status = "disabled";
  250. };
  251. pcie_phy: phy@ff644000 {
  252. compatible = "amlogic,axg-pcie-phy";
  253. reg = <0x0 0xff644000 0x0 0x1c>;
  254. resets = <&reset RESET_PCIE_PHY>;
  255. phys = <&mipi_pcie_analog_dphy>;
  256. phy-names = "analog";
  257. #phy-cells = <0>;
  258. };
  259. pdm: audio-controller@ff632000 {
  260. compatible = "amlogic,axg-pdm";
  261. reg = <0x0 0xff632000 0x0 0x34>;
  262. #sound-dai-cells = <0>;
  263. sound-name-prefix = "PDM";
  264. clocks = <&clkc_audio AUD_CLKID_PDM>,
  265. <&clkc_audio AUD_CLKID_PDM_DCLK>,
  266. <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
  267. clock-names = "pclk", "dclk", "sysclk";
  268. status = "disabled";
  269. };
  270. periphs: bus@ff634000 {
  271. compatible = "simple-bus";
  272. reg = <0x0 0xff634000 0x0 0x2000>;
  273. #address-cells = <2>;
  274. #size-cells = <2>;
  275. ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
  276. hwrng: rng@18 {
  277. compatible = "amlogic,meson-rng";
  278. reg = <0x0 0x18 0x0 0x4>;
  279. clocks = <&clkc CLKID_RNG0>;
  280. clock-names = "core";
  281. };
  282. pinctrl_periphs: pinctrl@480 {
  283. compatible = "amlogic,meson-axg-periphs-pinctrl";
  284. #address-cells = <2>;
  285. #size-cells = <2>;
  286. ranges;
  287. gpio: bank@480 {
  288. reg = <0x0 0x00480 0x0 0x40>,
  289. <0x0 0x004e8 0x0 0x14>,
  290. <0x0 0x00520 0x0 0x14>,
  291. <0x0 0x00430 0x0 0x3c>;
  292. reg-names = "mux", "pull", "pull-enable", "gpio";
  293. gpio-controller;
  294. #gpio-cells = <2>;
  295. gpio-ranges = <&pinctrl_periphs 0 0 86>;
  296. };
  297. i2c0_pins: i2c0 {
  298. mux {
  299. groups = "i2c0_sck",
  300. "i2c0_sda";
  301. function = "i2c0";
  302. bias-disable;
  303. };
  304. };
  305. i2c1_x_pins: i2c1_x {
  306. mux {
  307. groups = "i2c1_sck_x",
  308. "i2c1_sda_x";
  309. function = "i2c1";
  310. bias-disable;
  311. };
  312. };
  313. i2c1_z_pins: i2c1_z {
  314. mux {
  315. groups = "i2c1_sck_z",
  316. "i2c1_sda_z";
  317. function = "i2c1";
  318. bias-disable;
  319. };
  320. };
  321. i2c2_a_pins: i2c2_a {
  322. mux {
  323. groups = "i2c2_sck_a",
  324. "i2c2_sda_a";
  325. function = "i2c2";
  326. bias-disable;
  327. };
  328. };
  329. i2c2_x_pins: i2c2_x {
  330. mux {
  331. groups = "i2c2_sck_x",
  332. "i2c2_sda_x";
  333. function = "i2c2";
  334. bias-disable;
  335. };
  336. };
  337. i2c3_a6_pins: i2c3_a6 {
  338. mux {
  339. groups = "i2c3_sda_a6",
  340. "i2c3_sck_a7";
  341. function = "i2c3";
  342. bias-disable;
  343. };
  344. };
  345. i2c3_a12_pins: i2c3_a12 {
  346. mux {
  347. groups = "i2c3_sda_a12",
  348. "i2c3_sck_a13";
  349. function = "i2c3";
  350. bias-disable;
  351. };
  352. };
  353. i2c3_a19_pins: i2c3_a19 {
  354. mux {
  355. groups = "i2c3_sda_a19",
  356. "i2c3_sck_a20";
  357. function = "i2c3";
  358. bias-disable;
  359. };
  360. };
  361. emmc_pins: emmc {
  362. mux-0 {
  363. groups = "emmc_nand_d0",
  364. "emmc_nand_d1",
  365. "emmc_nand_d2",
  366. "emmc_nand_d3",
  367. "emmc_nand_d4",
  368. "emmc_nand_d5",
  369. "emmc_nand_d6",
  370. "emmc_nand_d7",
  371. "emmc_cmd";
  372. function = "emmc";
  373. bias-pull-up;
  374. };
  375. mux-1 {
  376. groups = "emmc_clk";
  377. function = "emmc";
  378. bias-disable;
  379. };
  380. };
  381. emmc_ds_pins: emmc_ds {
  382. mux {
  383. groups = "emmc_ds";
  384. function = "emmc";
  385. bias-pull-down;
  386. };
  387. };
  388. emmc_clk_gate_pins: emmc_clk_gate {
  389. mux {
  390. groups = "BOOT_8";
  391. function = "gpio_periphs";
  392. bias-pull-down;
  393. };
  394. };
  395. eth_rgmii_x_pins: eth-x-rgmii {
  396. mux {
  397. groups = "eth_mdio_x",
  398. "eth_mdc_x",
  399. "eth_rgmii_rx_clk_x",
  400. "eth_rx_dv_x",
  401. "eth_rxd0_x",
  402. "eth_rxd1_x",
  403. "eth_rxd2_rgmii",
  404. "eth_rxd3_rgmii",
  405. "eth_rgmii_tx_clk",
  406. "eth_txen_x",
  407. "eth_txd0_x",
  408. "eth_txd1_x",
  409. "eth_txd2_rgmii",
  410. "eth_txd3_rgmii";
  411. function = "eth";
  412. bias-disable;
  413. };
  414. };
  415. eth_rgmii_y_pins: eth-y-rgmii {
  416. mux {
  417. groups = "eth_mdio_y",
  418. "eth_mdc_y",
  419. "eth_rgmii_rx_clk_y",
  420. "eth_rx_dv_y",
  421. "eth_rxd0_y",
  422. "eth_rxd1_y",
  423. "eth_rxd2_rgmii",
  424. "eth_rxd3_rgmii",
  425. "eth_rgmii_tx_clk",
  426. "eth_txen_y",
  427. "eth_txd0_y",
  428. "eth_txd1_y",
  429. "eth_txd2_rgmii",
  430. "eth_txd3_rgmii";
  431. function = "eth";
  432. bias-disable;
  433. };
  434. };
  435. eth_rmii_x_pins: eth-x-rmii {
  436. mux {
  437. groups = "eth_mdio_x",
  438. "eth_mdc_x",
  439. "eth_rgmii_rx_clk_x",
  440. "eth_rx_dv_x",
  441. "eth_rxd0_x",
  442. "eth_rxd1_x",
  443. "eth_txen_x",
  444. "eth_txd0_x",
  445. "eth_txd1_x";
  446. function = "eth";
  447. bias-disable;
  448. };
  449. };
  450. eth_rmii_y_pins: eth-y-rmii {
  451. mux {
  452. groups = "eth_mdio_y",
  453. "eth_mdc_y",
  454. "eth_rgmii_rx_clk_y",
  455. "eth_rx_dv_y",
  456. "eth_rxd0_y",
  457. "eth_rxd1_y",
  458. "eth_txen_y",
  459. "eth_txd0_y",
  460. "eth_txd1_y";
  461. function = "eth";
  462. bias-disable;
  463. };
  464. };
  465. mclk_b_pins: mclk_b {
  466. mux {
  467. groups = "mclk_b";
  468. function = "mclk_b";
  469. bias-disable;
  470. };
  471. };
  472. mclk_c_pins: mclk_c {
  473. mux {
  474. groups = "mclk_c";
  475. function = "mclk_c";
  476. bias-disable;
  477. };
  478. };
  479. pdm_dclk_a14_pins: pdm_dclk_a14 {
  480. mux {
  481. groups = "pdm_dclk_a14";
  482. function = "pdm";
  483. bias-disable;
  484. };
  485. };
  486. pdm_dclk_a19_pins: pdm_dclk_a19 {
  487. mux {
  488. groups = "pdm_dclk_a19";
  489. function = "pdm";
  490. bias-disable;
  491. };
  492. };
  493. pdm_din0_pins: pdm_din0 {
  494. mux {
  495. groups = "pdm_din0";
  496. function = "pdm";
  497. bias-disable;
  498. };
  499. };
  500. pdm_din1_pins: pdm_din1 {
  501. mux {
  502. groups = "pdm_din1";
  503. function = "pdm";
  504. bias-disable;
  505. };
  506. };
  507. pdm_din2_pins: pdm_din2 {
  508. mux {
  509. groups = "pdm_din2";
  510. function = "pdm";
  511. bias-disable;
  512. };
  513. };
  514. pdm_din3_pins: pdm_din3 {
  515. mux {
  516. groups = "pdm_din3";
  517. function = "pdm";
  518. bias-disable;
  519. };
  520. };
  521. pwm_a_a_pins: pwm_a_a {
  522. mux {
  523. groups = "pwm_a_a";
  524. function = "pwm_a";
  525. bias-disable;
  526. };
  527. };
  528. pwm_a_x18_pins: pwm_a_x18 {
  529. mux {
  530. groups = "pwm_a_x18";
  531. function = "pwm_a";
  532. bias-disable;
  533. };
  534. };
  535. pwm_a_x20_pins: pwm_a_x20 {
  536. mux {
  537. groups = "pwm_a_x20";
  538. function = "pwm_a";
  539. bias-disable;
  540. };
  541. };
  542. pwm_a_z_pins: pwm_a_z {
  543. mux {
  544. groups = "pwm_a_z";
  545. function = "pwm_a";
  546. bias-disable;
  547. };
  548. };
  549. pwm_b_a_pins: pwm_b_a {
  550. mux {
  551. groups = "pwm_b_a";
  552. function = "pwm_b";
  553. bias-disable;
  554. };
  555. };
  556. pwm_b_x_pins: pwm_b_x {
  557. mux {
  558. groups = "pwm_b_x";
  559. function = "pwm_b";
  560. bias-disable;
  561. };
  562. };
  563. pwm_b_z_pins: pwm_b_z {
  564. mux {
  565. groups = "pwm_b_z";
  566. function = "pwm_b";
  567. bias-disable;
  568. };
  569. };
  570. pwm_c_a_pins: pwm_c_a {
  571. mux {
  572. groups = "pwm_c_a";
  573. function = "pwm_c";
  574. bias-disable;
  575. };
  576. };
  577. pwm_c_x10_pins: pwm_c_x10 {
  578. mux {
  579. groups = "pwm_c_x10";
  580. function = "pwm_c";
  581. bias-disable;
  582. };
  583. };
  584. pwm_c_x17_pins: pwm_c_x17 {
  585. mux {
  586. groups = "pwm_c_x17";
  587. function = "pwm_c";
  588. bias-disable;
  589. };
  590. };
  591. pwm_d_x11_pins: pwm_d_x11 {
  592. mux {
  593. groups = "pwm_d_x11";
  594. function = "pwm_d";
  595. bias-disable;
  596. };
  597. };
  598. pwm_d_x16_pins: pwm_d_x16 {
  599. mux {
  600. groups = "pwm_d_x16";
  601. function = "pwm_d";
  602. bias-disable;
  603. };
  604. };
  605. sdio_pins: sdio {
  606. mux-0 {
  607. groups = "sdio_d0",
  608. "sdio_d1",
  609. "sdio_d2",
  610. "sdio_d3",
  611. "sdio_cmd";
  612. function = "sdio";
  613. bias-pull-up;
  614. };
  615. mux-1 {
  616. groups = "sdio_clk";
  617. function = "sdio";
  618. bias-disable;
  619. };
  620. };
  621. sdio_clk_gate_pins: sdio_clk_gate {
  622. mux {
  623. groups = "GPIOX_4";
  624. function = "gpio_periphs";
  625. bias-pull-down;
  626. };
  627. };
  628. spdif_in_z_pins: spdif_in_z {
  629. mux {
  630. groups = "spdif_in_z";
  631. function = "spdif_in";
  632. bias-disable;
  633. };
  634. };
  635. spdif_in_a1_pins: spdif_in_a1 {
  636. mux {
  637. groups = "spdif_in_a1";
  638. function = "spdif_in";
  639. bias-disable;
  640. };
  641. };
  642. spdif_in_a7_pins: spdif_in_a7 {
  643. mux {
  644. groups = "spdif_in_a7";
  645. function = "spdif_in";
  646. bias-disable;
  647. };
  648. };
  649. spdif_in_a19_pins: spdif_in_a19 {
  650. mux {
  651. groups = "spdif_in_a19";
  652. function = "spdif_in";
  653. bias-disable;
  654. };
  655. };
  656. spdif_in_a20_pins: spdif_in_a20 {
  657. mux {
  658. groups = "spdif_in_a20";
  659. function = "spdif_in";
  660. bias-disable;
  661. };
  662. };
  663. spdif_out_a1_pins: spdif_out_a1 {
  664. mux {
  665. groups = "spdif_out_a1";
  666. function = "spdif_out";
  667. bias-disable;
  668. };
  669. };
  670. spdif_out_a11_pins: spdif_out_a11 {
  671. mux {
  672. groups = "spdif_out_a11";
  673. function = "spdif_out";
  674. bias-disable;
  675. };
  676. };
  677. spdif_out_a19_pins: spdif_out_a19 {
  678. mux {
  679. groups = "spdif_out_a19";
  680. function = "spdif_out";
  681. bias-disable;
  682. };
  683. };
  684. spdif_out_a20_pins: spdif_out_a20 {
  685. mux {
  686. groups = "spdif_out_a20";
  687. function = "spdif_out";
  688. bias-disable;
  689. };
  690. };
  691. spdif_out_z_pins: spdif_out_z {
  692. mux {
  693. groups = "spdif_out_z";
  694. function = "spdif_out";
  695. bias-disable;
  696. };
  697. };
  698. spi0_pins: spi0 {
  699. mux {
  700. groups = "spi0_miso",
  701. "spi0_mosi",
  702. "spi0_clk";
  703. function = "spi0";
  704. bias-disable;
  705. };
  706. };
  707. spi0_ss0_pins: spi0_ss0 {
  708. mux {
  709. groups = "spi0_ss0";
  710. function = "spi0";
  711. bias-disable;
  712. };
  713. };
  714. spi0_ss1_pins: spi0_ss1 {
  715. mux {
  716. groups = "spi0_ss1";
  717. function = "spi0";
  718. bias-disable;
  719. };
  720. };
  721. spi0_ss2_pins: spi0_ss2 {
  722. mux {
  723. groups = "spi0_ss2";
  724. function = "spi0";
  725. bias-disable;
  726. };
  727. };
  728. spi1_a_pins: spi1_a {
  729. mux {
  730. groups = "spi1_miso_a",
  731. "spi1_mosi_a",
  732. "spi1_clk_a";
  733. function = "spi1";
  734. bias-disable;
  735. };
  736. };
  737. spi1_ss0_a_pins: spi1_ss0_a {
  738. mux {
  739. groups = "spi1_ss0_a";
  740. function = "spi1";
  741. bias-disable;
  742. };
  743. };
  744. spi1_ss1_pins: spi1_ss1 {
  745. mux {
  746. groups = "spi1_ss1";
  747. function = "spi1";
  748. bias-disable;
  749. };
  750. };
  751. spi1_x_pins: spi1_x {
  752. mux {
  753. groups = "spi1_miso_x",
  754. "spi1_mosi_x",
  755. "spi1_clk_x";
  756. function = "spi1";
  757. bias-disable;
  758. };
  759. };
  760. spi1_ss0_x_pins: spi1_ss0_x {
  761. mux {
  762. groups = "spi1_ss0_x";
  763. function = "spi1";
  764. bias-disable;
  765. };
  766. };
  767. tdma_din0_pins: tdma_din0 {
  768. mux {
  769. groups = "tdma_din0";
  770. function = "tdma";
  771. bias-disable;
  772. };
  773. };
  774. tdma_dout0_x14_pins: tdma_dout0_x14 {
  775. mux {
  776. groups = "tdma_dout0_x14";
  777. function = "tdma";
  778. bias-disable;
  779. };
  780. };
  781. tdma_dout0_x15_pins: tdma_dout0_x15 {
  782. mux {
  783. groups = "tdma_dout0_x15";
  784. function = "tdma";
  785. bias-disable;
  786. };
  787. };
  788. tdma_dout1_pins: tdma_dout1 {
  789. mux {
  790. groups = "tdma_dout1";
  791. function = "tdma";
  792. bias-disable;
  793. };
  794. };
  795. tdma_din1_pins: tdma_din1 {
  796. mux {
  797. groups = "tdma_din1";
  798. function = "tdma";
  799. bias-disable;
  800. };
  801. };
  802. tdma_fs_pins: tdma_fs {
  803. mux {
  804. groups = "tdma_fs";
  805. function = "tdma";
  806. bias-disable;
  807. };
  808. };
  809. tdma_fs_slv_pins: tdma_fs_slv {
  810. mux {
  811. groups = "tdma_fs_slv";
  812. function = "tdma";
  813. bias-disable;
  814. };
  815. };
  816. tdma_sclk_pins: tdma_sclk {
  817. mux {
  818. groups = "tdma_sclk";
  819. function = "tdma";
  820. bias-disable;
  821. };
  822. };
  823. tdma_sclk_slv_pins: tdma_sclk_slv {
  824. mux {
  825. groups = "tdma_sclk_slv";
  826. function = "tdma";
  827. bias-disable;
  828. };
  829. };
  830. tdmb_din0_pins: tdmb_din0 {
  831. mux {
  832. groups = "tdmb_din0";
  833. function = "tdmb";
  834. bias-disable;
  835. };
  836. };
  837. tdmb_din1_pins: tdmb_din1 {
  838. mux {
  839. groups = "tdmb_din1";
  840. function = "tdmb";
  841. bias-disable;
  842. };
  843. };
  844. tdmb_din2_pins: tdmb_din2 {
  845. mux {
  846. groups = "tdmb_din2";
  847. function = "tdmb";
  848. bias-disable;
  849. };
  850. };
  851. tdmb_din3_pins: tdmb_din3 {
  852. mux {
  853. groups = "tdmb_din3";
  854. function = "tdmb";
  855. bias-disable;
  856. };
  857. };
  858. tdmb_dout0_pins: tdmb_dout0 {
  859. mux {
  860. groups = "tdmb_dout0";
  861. function = "tdmb";
  862. bias-disable;
  863. };
  864. };
  865. tdmb_dout1_pins: tdmb_dout1 {
  866. mux {
  867. groups = "tdmb_dout1";
  868. function = "tdmb";
  869. bias-disable;
  870. };
  871. };
  872. tdmb_dout2_pins: tdmb_dout2 {
  873. mux {
  874. groups = "tdmb_dout2";
  875. function = "tdmb";
  876. bias-disable;
  877. };
  878. };
  879. tdmb_dout3_pins: tdmb_dout3 {
  880. mux {
  881. groups = "tdmb_dout3";
  882. function = "tdmb";
  883. bias-disable;
  884. };
  885. };
  886. tdmb_fs_pins: tdmb_fs {
  887. mux {
  888. groups = "tdmb_fs";
  889. function = "tdmb";
  890. bias-disable;
  891. };
  892. };
  893. tdmb_fs_slv_pins: tdmb_fs_slv {
  894. mux {
  895. groups = "tdmb_fs_slv";
  896. function = "tdmb";
  897. bias-disable;
  898. };
  899. };
  900. tdmb_sclk_pins: tdmb_sclk {
  901. mux {
  902. groups = "tdmb_sclk";
  903. function = "tdmb";
  904. bias-disable;
  905. };
  906. };
  907. tdmb_sclk_slv_pins: tdmb_sclk_slv {
  908. mux {
  909. groups = "tdmb_sclk_slv";
  910. function = "tdmb";
  911. bias-disable;
  912. };
  913. };
  914. tdmc_fs_pins: tdmc_fs {
  915. mux {
  916. groups = "tdmc_fs";
  917. function = "tdmc";
  918. bias-disable;
  919. };
  920. };
  921. tdmc_fs_slv_pins: tdmc_fs_slv {
  922. mux {
  923. groups = "tdmc_fs_slv";
  924. function = "tdmc";
  925. bias-disable;
  926. };
  927. };
  928. tdmc_sclk_pins: tdmc_sclk {
  929. mux {
  930. groups = "tdmc_sclk";
  931. function = "tdmc";
  932. bias-disable;
  933. };
  934. };
  935. tdmc_sclk_slv_pins: tdmc_sclk_slv {
  936. mux {
  937. groups = "tdmc_sclk_slv";
  938. function = "tdmc";
  939. bias-disable;
  940. };
  941. };
  942. tdmc_din0_pins: tdmc_din0 {
  943. mux {
  944. groups = "tdmc_din0";
  945. function = "tdmc";
  946. bias-disable;
  947. };
  948. };
  949. tdmc_din1_pins: tdmc_din1 {
  950. mux {
  951. groups = "tdmc_din1";
  952. function = "tdmc";
  953. bias-disable;
  954. };
  955. };
  956. tdmc_din2_pins: tdmc_din2 {
  957. mux {
  958. groups = "tdmc_din2";
  959. function = "tdmc";
  960. bias-disable;
  961. };
  962. };
  963. tdmc_din3_pins: tdmc_din3 {
  964. mux {
  965. groups = "tdmc_din3";
  966. function = "tdmc";
  967. bias-disable;
  968. };
  969. };
  970. tdmc_dout0_pins: tdmc_dout0 {
  971. mux {
  972. groups = "tdmc_dout0";
  973. function = "tdmc";
  974. bias-disable;
  975. };
  976. };
  977. tdmc_dout1_pins: tdmc_dout1 {
  978. mux {
  979. groups = "tdmc_dout1";
  980. function = "tdmc";
  981. bias-disable;
  982. };
  983. };
  984. tdmc_dout2_pins: tdmc_dout2 {
  985. mux {
  986. groups = "tdmc_dout2";
  987. function = "tdmc";
  988. bias-disable;
  989. };
  990. };
  991. tdmc_dout3_pins: tdmc_dout3 {
  992. mux {
  993. groups = "tdmc_dout3";
  994. function = "tdmc";
  995. bias-disable;
  996. };
  997. };
  998. uart_a_pins: uart_a {
  999. mux {
  1000. groups = "uart_tx_a",
  1001. "uart_rx_a";
  1002. function = "uart_a";
  1003. bias-disable;
  1004. };
  1005. };
  1006. uart_a_cts_rts_pins: uart_a_cts_rts {
  1007. mux {
  1008. groups = "uart_cts_a",
  1009. "uart_rts_a";
  1010. function = "uart_a";
  1011. bias-disable;
  1012. };
  1013. };
  1014. uart_b_x_pins: uart_b_x {
  1015. mux {
  1016. groups = "uart_tx_b_x",
  1017. "uart_rx_b_x";
  1018. function = "uart_b";
  1019. bias-disable;
  1020. };
  1021. };
  1022. uart_b_x_cts_rts_pins: uart_b_x_cts_rts {
  1023. mux {
  1024. groups = "uart_cts_b_x",
  1025. "uart_rts_b_x";
  1026. function = "uart_b";
  1027. bias-disable;
  1028. };
  1029. };
  1030. uart_b_z_pins: uart_b_z {
  1031. mux {
  1032. groups = "uart_tx_b_z",
  1033. "uart_rx_b_z";
  1034. function = "uart_b";
  1035. bias-disable;
  1036. };
  1037. };
  1038. uart_b_z_cts_rts_pins: uart_b_z_cts_rts {
  1039. mux {
  1040. groups = "uart_cts_b_z",
  1041. "uart_rts_b_z";
  1042. function = "uart_b";
  1043. bias-disable;
  1044. };
  1045. };
  1046. uart_ao_b_z_pins: uart_ao_b_z {
  1047. mux {
  1048. groups = "uart_ao_tx_b_z",
  1049. "uart_ao_rx_b_z";
  1050. function = "uart_ao_b_z";
  1051. bias-disable;
  1052. };
  1053. };
  1054. uart_ao_b_z_cts_rts_pins: uart_ao_b_z_cts_rts {
  1055. mux {
  1056. groups = "uart_ao_cts_b_z",
  1057. "uart_ao_rts_b_z";
  1058. function = "uart_ao_b_z";
  1059. bias-disable;
  1060. };
  1061. };
  1062. };
  1063. };
  1064. hiubus: bus@ff63c000 {
  1065. compatible = "simple-bus";
  1066. reg = <0x0 0xff63c000 0x0 0x1c00>;
  1067. #address-cells = <2>;
  1068. #size-cells = <2>;
  1069. ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
  1070. sysctrl: system-controller@0 {
  1071. compatible = "amlogic,meson-axg-hhi-sysctrl",
  1072. "simple-mfd", "syscon";
  1073. reg = <0 0 0 0x400>;
  1074. clkc: clock-controller {
  1075. compatible = "amlogic,axg-clkc";
  1076. #clock-cells = <1>;
  1077. clocks = <&xtal>;
  1078. clock-names = "xtal";
  1079. };
  1080. pwrc: power-controller {
  1081. compatible = "amlogic,meson-axg-pwrc";
  1082. #power-domain-cells = <1>;
  1083. amlogic,ao-sysctrl = <&sysctrl_AO>;
  1084. resets = <&reset RESET_VIU>,
  1085. <&reset RESET_VENC>,
  1086. <&reset RESET_VCBUS>,
  1087. <&reset RESET_VENCL>,
  1088. <&reset RESET_VID_LOCK>;
  1089. reset-names = "viu", "venc", "vcbus",
  1090. "vencl", "vid_lock";
  1091. clocks = <&clkc CLKID_VPU>,
  1092. <&clkc CLKID_VAPB>;
  1093. clock-names = "vpu", "vapb";
  1094. /*
  1095. * VPU clocking is provided by two identical clock paths
  1096. * VPU_0 and VPU_1 muxed to a single clock by a glitch
  1097. * free mux to safely change frequency while running.
  1098. * Same for VAPB but with a final gate after the glitch free mux.
  1099. */
  1100. assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
  1101. <&clkc CLKID_VPU_0>,
  1102. <&clkc CLKID_VPU>, /* Glitch free mux */
  1103. <&clkc CLKID_VAPB_0_SEL>,
  1104. <&clkc CLKID_VAPB_0>,
  1105. <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
  1106. assigned-clock-parents = <&clkc CLKID_FCLK_DIV4>,
  1107. <0>, /* Do Nothing */
  1108. <&clkc CLKID_VPU_0>,
  1109. <&clkc CLKID_FCLK_DIV4>,
  1110. <0>, /* Do Nothing */
  1111. <&clkc CLKID_VAPB_0>;
  1112. assigned-clock-rates = <0>, /* Do Nothing */
  1113. <250000000>,
  1114. <0>, /* Do Nothing */
  1115. <0>, /* Do Nothing */
  1116. <250000000>,
  1117. <0>; /* Do Nothing */
  1118. };
  1119. mipi_pcie_analog_dphy: phy {
  1120. compatible = "amlogic,axg-mipi-pcie-analog-phy";
  1121. #phy-cells = <0>;
  1122. status = "disabled";
  1123. };
  1124. };
  1125. };
  1126. mailbox: mailbox@ff63c404 {
  1127. compatible = "amlogic,meson-gxbb-mhu";
  1128. reg = <0 0xff63c404 0 0x4c>;
  1129. interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
  1130. <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
  1131. <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
  1132. #mbox-cells = <1>;
  1133. };
  1134. mipi_dphy: phy@ff640000 {
  1135. compatible = "amlogic,axg-mipi-dphy";
  1136. reg = <0x0 0xff640000 0x0 0x100>;
  1137. clocks = <&clkc CLKID_MIPI_DSI_PHY>;
  1138. clock-names = "pclk";
  1139. resets = <&reset RESET_MIPI_PHY>;
  1140. reset-names = "phy";
  1141. phys = <&mipi_pcie_analog_dphy>;
  1142. phy-names = "analog";
  1143. #phy-cells = <0>;
  1144. status = "disabled";
  1145. };
  1146. audio: bus@ff642000 {
  1147. compatible = "simple-bus";
  1148. reg = <0x0 0xff642000 0x0 0x2000>;
  1149. #address-cells = <2>;
  1150. #size-cells = <2>;
  1151. ranges = <0x0 0x0 0x0 0xff642000 0x0 0x2000>;
  1152. clkc_audio: clock-controller@0 {
  1153. compatible = "amlogic,axg-audio-clkc";
  1154. reg = <0x0 0x0 0x0 0xb4>;
  1155. #clock-cells = <1>;
  1156. clocks = <&clkc CLKID_AUDIO>,
  1157. <&clkc CLKID_MPLL0>,
  1158. <&clkc CLKID_MPLL1>,
  1159. <&clkc CLKID_MPLL2>,
  1160. <&clkc CLKID_MPLL3>,
  1161. <&clkc CLKID_HIFI_PLL>,
  1162. <&clkc CLKID_FCLK_DIV3>,
  1163. <&clkc CLKID_FCLK_DIV4>,
  1164. <&clkc CLKID_GP0_PLL>;
  1165. clock-names = "pclk",
  1166. "mst_in0",
  1167. "mst_in1",
  1168. "mst_in2",
  1169. "mst_in3",
  1170. "mst_in4",
  1171. "mst_in5",
  1172. "mst_in6",
  1173. "mst_in7";
  1174. resets = <&reset RESET_AUDIO>;
  1175. };
  1176. toddr_a: audio-controller@100 {
  1177. compatible = "amlogic,axg-toddr";
  1178. reg = <0x0 0x100 0x0 0x2c>;
  1179. #sound-dai-cells = <0>;
  1180. sound-name-prefix = "TODDR_A";
  1181. interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>;
  1182. clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
  1183. resets = <&arb AXG_ARB_TODDR_A>;
  1184. amlogic,fifo-depth = <512>;
  1185. status = "disabled";
  1186. };
  1187. toddr_b: audio-controller@140 {
  1188. compatible = "amlogic,axg-toddr";
  1189. reg = <0x0 0x140 0x0 0x2c>;
  1190. #sound-dai-cells = <0>;
  1191. sound-name-prefix = "TODDR_B";
  1192. interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
  1193. clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
  1194. resets = <&arb AXG_ARB_TODDR_B>;
  1195. amlogic,fifo-depth = <256>;
  1196. status = "disabled";
  1197. };
  1198. toddr_c: audio-controller@180 {
  1199. compatible = "amlogic,axg-toddr";
  1200. reg = <0x0 0x180 0x0 0x2c>;
  1201. #sound-dai-cells = <0>;
  1202. sound-name-prefix = "TODDR_C";
  1203. interrupts = <GIC_SPI 86 IRQ_TYPE_EDGE_RISING>;
  1204. clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
  1205. resets = <&arb AXG_ARB_TODDR_C>;
  1206. amlogic,fifo-depth = <256>;
  1207. status = "disabled";
  1208. };
  1209. frddr_a: audio-controller@1c0 {
  1210. compatible = "amlogic,axg-frddr";
  1211. reg = <0x0 0x1c0 0x0 0x2c>;
  1212. #sound-dai-cells = <0>;
  1213. sound-name-prefix = "FRDDR_A";
  1214. interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
  1215. clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
  1216. resets = <&arb AXG_ARB_FRDDR_A>;
  1217. amlogic,fifo-depth = <512>;
  1218. status = "disabled";
  1219. };
  1220. frddr_b: audio-controller@200 {
  1221. compatible = "amlogic,axg-frddr";
  1222. reg = <0x0 0x200 0x0 0x2c>;
  1223. #sound-dai-cells = <0>;
  1224. sound-name-prefix = "FRDDR_B";
  1225. interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>;
  1226. clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
  1227. resets = <&arb AXG_ARB_FRDDR_B>;
  1228. amlogic,fifo-depth = <256>;
  1229. status = "disabled";
  1230. };
  1231. frddr_c: audio-controller@240 {
  1232. compatible = "amlogic,axg-frddr";
  1233. reg = <0x0 0x240 0x0 0x2c>;
  1234. #sound-dai-cells = <0>;
  1235. sound-name-prefix = "FRDDR_C";
  1236. interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
  1237. clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
  1238. resets = <&arb AXG_ARB_FRDDR_C>;
  1239. amlogic,fifo-depth = <256>;
  1240. status = "disabled";
  1241. };
  1242. arb: reset-controller@280 {
  1243. compatible = "amlogic,meson-axg-audio-arb";
  1244. reg = <0x0 0x280 0x0 0x4>;
  1245. #reset-cells = <1>;
  1246. clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
  1247. };
  1248. tdmin_a: audio-controller@300 {
  1249. compatible = "amlogic,axg-tdmin";
  1250. reg = <0x0 0x300 0x0 0x40>;
  1251. sound-name-prefix = "TDMIN_A";
  1252. clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
  1253. <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
  1254. <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
  1255. <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
  1256. <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
  1257. clock-names = "pclk", "sclk", "sclk_sel",
  1258. "lrclk", "lrclk_sel";
  1259. status = "disabled";
  1260. };
  1261. tdmin_b: audio-controller@340 {
  1262. compatible = "amlogic,axg-tdmin";
  1263. reg = <0x0 0x340 0x0 0x40>;
  1264. sound-name-prefix = "TDMIN_B";
  1265. clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
  1266. <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
  1267. <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
  1268. <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
  1269. <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
  1270. clock-names = "pclk", "sclk", "sclk_sel",
  1271. "lrclk", "lrclk_sel";
  1272. status = "disabled";
  1273. };
  1274. tdmin_c: audio-controller@380 {
  1275. compatible = "amlogic,axg-tdmin";
  1276. reg = <0x0 0x380 0x0 0x40>;
  1277. sound-name-prefix = "TDMIN_C";
  1278. clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
  1279. <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
  1280. <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
  1281. <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
  1282. <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
  1283. clock-names = "pclk", "sclk", "sclk_sel",
  1284. "lrclk", "lrclk_sel";
  1285. status = "disabled";
  1286. };
  1287. tdmin_lb: audio-controller@3c0 {
  1288. compatible = "amlogic,axg-tdmin";
  1289. reg = <0x0 0x3c0 0x0 0x40>;
  1290. sound-name-prefix = "TDMIN_LB";
  1291. clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
  1292. <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
  1293. <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
  1294. <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
  1295. <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
  1296. clock-names = "pclk", "sclk", "sclk_sel",
  1297. "lrclk", "lrclk_sel";
  1298. status = "disabled";
  1299. };
  1300. spdifin: audio-controller@400 {
  1301. compatible = "amlogic,axg-spdifin";
  1302. reg = <0x0 0x400 0x0 0x30>;
  1303. #sound-dai-cells = <0>;
  1304. sound-name-prefix = "SPDIFIN";
  1305. interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
  1306. clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
  1307. <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
  1308. clock-names = "pclk", "refclk";
  1309. status = "disabled";
  1310. };
  1311. spdifout: audio-controller@480 {
  1312. compatible = "amlogic,axg-spdifout";
  1313. reg = <0x0 0x480 0x0 0x50>;
  1314. #sound-dai-cells = <0>;
  1315. sound-name-prefix = "SPDIFOUT";
  1316. clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
  1317. <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
  1318. clock-names = "pclk", "mclk";
  1319. status = "disabled";
  1320. };
  1321. tdmout_a: audio-controller@500 {
  1322. compatible = "amlogic,axg-tdmout";
  1323. reg = <0x0 0x500 0x0 0x40>;
  1324. sound-name-prefix = "TDMOUT_A";
  1325. clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
  1326. <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
  1327. <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
  1328. <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
  1329. <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
  1330. clock-names = "pclk", "sclk", "sclk_sel",
  1331. "lrclk", "lrclk_sel";
  1332. status = "disabled";
  1333. };
  1334. tdmout_b: audio-controller@540 {
  1335. compatible = "amlogic,axg-tdmout";
  1336. reg = <0x0 0x540 0x0 0x40>;
  1337. sound-name-prefix = "TDMOUT_B";
  1338. clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
  1339. <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
  1340. <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
  1341. <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
  1342. <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
  1343. clock-names = "pclk", "sclk", "sclk_sel",
  1344. "lrclk", "lrclk_sel";
  1345. status = "disabled";
  1346. };
  1347. tdmout_c: audio-controller@580 {
  1348. compatible = "amlogic,axg-tdmout";
  1349. reg = <0x0 0x580 0x0 0x40>;
  1350. sound-name-prefix = "TDMOUT_C";
  1351. clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
  1352. <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
  1353. <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
  1354. <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
  1355. <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
  1356. clock-names = "pclk", "sclk", "sclk_sel",
  1357. "lrclk", "lrclk_sel";
  1358. status = "disabled";
  1359. };
  1360. };
  1361. aobus: bus@ff800000 {
  1362. compatible = "simple-bus";
  1363. reg = <0x0 0xff800000 0x0 0x100000>;
  1364. #address-cells = <2>;
  1365. #size-cells = <2>;
  1366. ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
  1367. sysctrl_AO: sys-ctrl@0 {
  1368. compatible = "amlogic,meson-axg-ao-sysctrl", "simple-mfd", "syscon";
  1369. reg = <0x0 0x0 0x0 0x100>;
  1370. clkc_AO: clock-controller {
  1371. compatible = "amlogic,meson-axg-aoclkc";
  1372. #clock-cells = <1>;
  1373. #reset-cells = <1>;
  1374. clocks = <&xtal>, <&clkc CLKID_CLK81>;
  1375. clock-names = "xtal", "mpeg-clk";
  1376. };
  1377. };
  1378. pinctrl_aobus: pinctrl@14 {
  1379. compatible = "amlogic,meson-axg-aobus-pinctrl";
  1380. #address-cells = <2>;
  1381. #size-cells = <2>;
  1382. ranges;
  1383. gpio_ao: bank@14 {
  1384. reg = <0x0 0x00014 0x0 0x8>,
  1385. <0x0 0x0002c 0x0 0x4>,
  1386. <0x0 0x00024 0x0 0x8>;
  1387. reg-names = "mux", "pull", "gpio";
  1388. gpio-controller;
  1389. #gpio-cells = <2>;
  1390. gpio-ranges = <&pinctrl_aobus 0 0 15>;
  1391. };
  1392. i2c_ao_sck_4_pins: i2c_ao_sck_4 {
  1393. mux {
  1394. groups = "i2c_ao_sck_4";
  1395. function = "i2c_ao";
  1396. bias-disable;
  1397. };
  1398. };
  1399. i2c_ao_sck_8_pins: i2c_ao_sck_8 {
  1400. mux {
  1401. groups = "i2c_ao_sck_8";
  1402. function = "i2c_ao";
  1403. bias-disable;
  1404. };
  1405. };
  1406. i2c_ao_sck_10_pins: i2c_ao_sck_10 {
  1407. mux {
  1408. groups = "i2c_ao_sck_10";
  1409. function = "i2c_ao";
  1410. bias-disable;
  1411. };
  1412. };
  1413. i2c_ao_sda_5_pins: i2c_ao_sda_5 {
  1414. mux {
  1415. groups = "i2c_ao_sda_5";
  1416. function = "i2c_ao";
  1417. bias-disable;
  1418. };
  1419. };
  1420. i2c_ao_sda_9_pins: i2c_ao_sda_9 {
  1421. mux {
  1422. groups = "i2c_ao_sda_9";
  1423. function = "i2c_ao";
  1424. bias-disable;
  1425. };
  1426. };
  1427. i2c_ao_sda_11_pins: i2c_ao_sda_11 {
  1428. mux {
  1429. groups = "i2c_ao_sda_11";
  1430. function = "i2c_ao";
  1431. bias-disable;
  1432. };
  1433. };
  1434. remote_input_ao_pins: remote_input_ao {
  1435. mux {
  1436. groups = "remote_input_ao";
  1437. function = "remote_input_ao";
  1438. bias-disable;
  1439. };
  1440. };
  1441. uart_ao_a_pins: uart_ao_a {
  1442. mux {
  1443. groups = "uart_ao_tx_a",
  1444. "uart_ao_rx_a";
  1445. function = "uart_ao_a";
  1446. bias-disable;
  1447. };
  1448. };
  1449. uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
  1450. mux {
  1451. groups = "uart_ao_cts_a",
  1452. "uart_ao_rts_a";
  1453. function = "uart_ao_a";
  1454. bias-disable;
  1455. };
  1456. };
  1457. uart_ao_b_pins: uart_ao_b {
  1458. mux {
  1459. groups = "uart_ao_tx_b",
  1460. "uart_ao_rx_b";
  1461. function = "uart_ao_b";
  1462. bias-disable;
  1463. };
  1464. };
  1465. uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
  1466. mux {
  1467. groups = "uart_ao_cts_b",
  1468. "uart_ao_rts_b";
  1469. function = "uart_ao_b";
  1470. bias-disable;
  1471. };
  1472. };
  1473. };
  1474. sec_AO: ao-secure@140 {
  1475. compatible = "amlogic,meson-gx-ao-secure", "syscon";
  1476. reg = <0x0 0x140 0x0 0x140>;
  1477. amlogic,has-chip-id;
  1478. };
  1479. pwm_AO_cd: pwm@2000 {
  1480. compatible = "amlogic,meson-axg-ao-pwm";
  1481. reg = <0x0 0x02000 0x0 0x20>;
  1482. #pwm-cells = <3>;
  1483. status = "disabled";
  1484. };
  1485. uart_AO: serial@3000 {
  1486. compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
  1487. reg = <0x0 0x3000 0x0 0x18>;
  1488. interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
  1489. clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
  1490. clock-names = "xtal", "pclk", "baud";
  1491. status = "disabled";
  1492. };
  1493. uart_AO_B: serial@4000 {
  1494. compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
  1495. reg = <0x0 0x4000 0x0 0x18>;
  1496. interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
  1497. clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
  1498. clock-names = "xtal", "pclk", "baud";
  1499. status = "disabled";
  1500. };
  1501. i2c_AO: i2c@5000 {
  1502. compatible = "amlogic,meson-axg-i2c";
  1503. reg = <0x0 0x05000 0x0 0x20>;
  1504. interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
  1505. clocks = <&clkc CLKID_AO_I2C>;
  1506. #address-cells = <1>;
  1507. #size-cells = <0>;
  1508. status = "disabled";
  1509. };
  1510. pwm_AO_ab: pwm@7000 {
  1511. compatible = "amlogic,meson-axg-ao-pwm";
  1512. reg = <0x0 0x07000 0x0 0x20>;
  1513. #pwm-cells = <3>;
  1514. status = "disabled";
  1515. };
  1516. ir: ir@8000 {
  1517. compatible = "amlogic,meson-gxbb-ir";
  1518. reg = <0x0 0x8000 0x0 0x20>;
  1519. interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
  1520. status = "disabled";
  1521. };
  1522. saradc: adc@9000 {
  1523. compatible = "amlogic,meson-axg-saradc",
  1524. "amlogic,meson-saradc";
  1525. reg = <0x0 0x9000 0x0 0x38>;
  1526. #io-channel-cells = <1>;
  1527. interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
  1528. clocks = <&xtal>,
  1529. <&clkc_AO CLKID_AO_SAR_ADC>,
  1530. <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
  1531. <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
  1532. clock-names = "clkin", "core", "adc_clk", "adc_sel";
  1533. status = "disabled";
  1534. };
  1535. };
  1536. ge2d: ge2d@ff940000 {
  1537. compatible = "amlogic,axg-ge2d";
  1538. reg = <0x0 0xff940000 0x0 0x10000>;
  1539. interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
  1540. clocks = <&clkc CLKID_VAPB>;
  1541. resets = <&reset RESET_GE2D>;
  1542. };
  1543. gic: interrupt-controller@ffc01000 {
  1544. compatible = "arm,gic-400";
  1545. reg = <0x0 0xffc01000 0 0x1000>,
  1546. <0x0 0xffc02000 0 0x2000>,
  1547. <0x0 0xffc04000 0 0x2000>,
  1548. <0x0 0xffc06000 0 0x2000>;
  1549. interrupt-controller;
  1550. interrupts = <GIC_PPI 9
  1551. (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
  1552. #interrupt-cells = <3>;
  1553. #address-cells = <0>;
  1554. };
  1555. cbus: bus@ffd00000 {
  1556. compatible = "simple-bus";
  1557. reg = <0x0 0xffd00000 0x0 0x25000>;
  1558. #address-cells = <2>;
  1559. #size-cells = <2>;
  1560. ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
  1561. reset: reset-controller@1004 {
  1562. compatible = "amlogic,meson-axg-reset";
  1563. reg = <0x0 0x01004 0x0 0x9c>;
  1564. #reset-cells = <1>;
  1565. };
  1566. gpio_intc: interrupt-controller@f080 {
  1567. compatible = "amlogic,meson-axg-gpio-intc",
  1568. "amlogic,meson-gpio-intc";
  1569. reg = <0x0 0xf080 0x0 0x10>;
  1570. interrupt-controller;
  1571. #interrupt-cells = <2>;
  1572. amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
  1573. };
  1574. watchdog@f0d0 {
  1575. compatible = "amlogic,meson-gxbb-wdt";
  1576. reg = <0x0 0xf0d0 0x0 0x10>;
  1577. clocks = <&xtal>;
  1578. };
  1579. pwm_ab: pwm@1b000 {
  1580. compatible = "amlogic,meson-axg-ee-pwm";
  1581. reg = <0x0 0x1b000 0x0 0x20>;
  1582. #pwm-cells = <3>;
  1583. status = "disabled";
  1584. };
  1585. pwm_cd: pwm@1a000 {
  1586. compatible = "amlogic,meson-axg-ee-pwm";
  1587. reg = <0x0 0x1a000 0x0 0x20>;
  1588. #pwm-cells = <3>;
  1589. status = "disabled";
  1590. };
  1591. spicc0: spi@13000 {
  1592. compatible = "amlogic,meson-axg-spicc";
  1593. reg = <0x0 0x13000 0x0 0x3c>;
  1594. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  1595. clocks = <&clkc CLKID_SPICC0>;
  1596. clock-names = "core";
  1597. #address-cells = <1>;
  1598. #size-cells = <0>;
  1599. status = "disabled";
  1600. };
  1601. spicc1: spi@15000 {
  1602. compatible = "amlogic,meson-axg-spicc";
  1603. reg = <0x0 0x15000 0x0 0x3c>;
  1604. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  1605. clocks = <&clkc CLKID_SPICC1>;
  1606. clock-names = "core";
  1607. #address-cells = <1>;
  1608. #size-cells = <0>;
  1609. status = "disabled";
  1610. };
  1611. clk_msr: clock-measure@18000 {
  1612. compatible = "amlogic,meson-axg-clk-measure";
  1613. reg = <0x0 0x18000 0x0 0x10>;
  1614. };
  1615. i2c3: i2c@1c000 {
  1616. compatible = "amlogic,meson-axg-i2c";
  1617. reg = <0x0 0x1c000 0x0 0x20>;
  1618. interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
  1619. clocks = <&clkc CLKID_I2C>;
  1620. #address-cells = <1>;
  1621. #size-cells = <0>;
  1622. status = "disabled";
  1623. };
  1624. i2c2: i2c@1d000 {
  1625. compatible = "amlogic,meson-axg-i2c";
  1626. reg = <0x0 0x1d000 0x0 0x20>;
  1627. interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
  1628. clocks = <&clkc CLKID_I2C>;
  1629. #address-cells = <1>;
  1630. #size-cells = <0>;
  1631. status = "disabled";
  1632. };
  1633. i2c1: i2c@1e000 {
  1634. compatible = "amlogic,meson-axg-i2c";
  1635. reg = <0x0 0x1e000 0x0 0x20>;
  1636. interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
  1637. clocks = <&clkc CLKID_I2C>;
  1638. #address-cells = <1>;
  1639. #size-cells = <0>;
  1640. status = "disabled";
  1641. };
  1642. i2c0: i2c@1f000 {
  1643. compatible = "amlogic,meson-axg-i2c";
  1644. reg = <0x0 0x1f000 0x0 0x20>;
  1645. interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
  1646. clocks = <&clkc CLKID_I2C>;
  1647. #address-cells = <1>;
  1648. #size-cells = <0>;
  1649. status = "disabled";
  1650. };
  1651. uart_B: serial@23000 {
  1652. compatible = "amlogic,meson-gx-uart";
  1653. reg = <0x0 0x23000 0x0 0x18>;
  1654. interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
  1655. status = "disabled";
  1656. clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
  1657. clock-names = "xtal", "pclk", "baud";
  1658. };
  1659. uart_A: serial@24000 {
  1660. compatible = "amlogic,meson-gx-uart";
  1661. reg = <0x0 0x24000 0x0 0x18>;
  1662. interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
  1663. status = "disabled";
  1664. clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
  1665. clock-names = "xtal", "pclk", "baud";
  1666. fifo-size = <128>;
  1667. };
  1668. };
  1669. apb: bus@ffe00000 {
  1670. compatible = "simple-bus";
  1671. reg = <0x0 0xffe00000 0x0 0x200000>;
  1672. #address-cells = <2>;
  1673. #size-cells = <2>;
  1674. ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x200000>;
  1675. sd_emmc_b: sd@5000 {
  1676. compatible = "amlogic,meson-axg-mmc";
  1677. reg = <0x0 0x5000 0x0 0x800>;
  1678. interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
  1679. status = "disabled";
  1680. clocks = <&clkc CLKID_SD_EMMC_B>,
  1681. <&clkc CLKID_SD_EMMC_B_CLK0>,
  1682. <&clkc CLKID_FCLK_DIV2>;
  1683. clock-names = "core", "clkin0", "clkin1";
  1684. resets = <&reset RESET_SD_EMMC_B>;
  1685. };
  1686. sd_emmc_c: mmc@7000 {
  1687. compatible = "amlogic,meson-axg-mmc";
  1688. reg = <0x0 0x7000 0x0 0x800>;
  1689. interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
  1690. status = "disabled";
  1691. clocks = <&clkc CLKID_SD_EMMC_C>,
  1692. <&clkc CLKID_SD_EMMC_C_CLK0>,
  1693. <&clkc CLKID_FCLK_DIV2>;
  1694. clock-names = "core", "clkin0", "clkin1";
  1695. resets = <&reset RESET_SD_EMMC_C>;
  1696. };
  1697. usb2_phy1: phy@9020 {
  1698. compatible = "amlogic,meson-gxl-usb2-phy";
  1699. #phy-cells = <0>;
  1700. reg = <0x0 0x9020 0x0 0x20>;
  1701. clocks = <&clkc CLKID_USB>;
  1702. clock-names = "phy";
  1703. resets = <&reset RESET_USB_OTG>;
  1704. reset-names = "phy";
  1705. };
  1706. };
  1707. sram: sram@fffc0000 {
  1708. compatible = "mmio-sram";
  1709. reg = <0x0 0xfffc0000 0x0 0x20000>;
  1710. #address-cells = <1>;
  1711. #size-cells = <1>;
  1712. ranges = <0 0x0 0xfffc0000 0x20000>;
  1713. cpu_scp_lpri: scp-sram@13000 {
  1714. compatible = "amlogic,meson-axg-scp-shmem";
  1715. reg = <0x13000 0x400>;
  1716. };
  1717. cpu_scp_hpri: scp-sram@13400 {
  1718. compatible = "amlogic,meson-axg-scp-shmem";
  1719. reg = <0x13400 0x400>;
  1720. };
  1721. };
  1722. };
  1723. timer {
  1724. compatible = "arm,armv8-timer";
  1725. interrupts = <GIC_PPI 13
  1726. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  1727. <GIC_PPI 14
  1728. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  1729. <GIC_PPI 11
  1730. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  1731. <GIC_PPI 10
  1732. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
  1733. };
  1734. xtal: xtal-clk {
  1735. compatible = "fixed-clock";
  1736. clock-frequency = <24000000>;
  1737. clock-output-names = "xtal";
  1738. #clock-cells = <0>;
  1739. };
  1740. };