mt7623.dtsi 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (c) 2017-2018 MediaTek Inc.
  4. * Author: John Crispin <[email protected]>
  5. * Sean Wang <[email protected]>
  6. * Ryder Lee <[email protected]>
  7. *
  8. */
  9. #include <dt-bindings/interrupt-controller/irq.h>
  10. #include <dt-bindings/interrupt-controller/arm-gic.h>
  11. #include <dt-bindings/clock/mt2701-clk.h>
  12. #include <dt-bindings/pinctrl/mt7623-pinfunc.h>
  13. #include <dt-bindings/power/mt2701-power.h>
  14. #include <dt-bindings/gpio/gpio.h>
  15. #include <dt-bindings/phy/phy.h>
  16. #include <dt-bindings/reset/mt2701-resets.h>
  17. #include <dt-bindings/thermal/thermal.h>
  18. / {
  19. compatible = "mediatek,mt7623";
  20. interrupt-parent = <&sysirq>;
  21. #address-cells = <2>;
  22. #size-cells = <2>;
  23. cpu_opp_table: opp-table {
  24. compatible = "operating-points-v2";
  25. opp-shared;
  26. opp-98000000 {
  27. opp-hz = /bits/ 64 <98000000>;
  28. opp-microvolt = <1050000>;
  29. };
  30. opp-198000000 {
  31. opp-hz = /bits/ 64 <198000000>;
  32. opp-microvolt = <1050000>;
  33. };
  34. opp-398000000 {
  35. opp-hz = /bits/ 64 <398000000>;
  36. opp-microvolt = <1050000>;
  37. };
  38. opp-598000000 {
  39. opp-hz = /bits/ 64 <598000000>;
  40. opp-microvolt = <1050000>;
  41. };
  42. opp-747500000 {
  43. opp-hz = /bits/ 64 <747500000>;
  44. opp-microvolt = <1050000>;
  45. };
  46. opp-1040000000 {
  47. opp-hz = /bits/ 64 <1040000000>;
  48. opp-microvolt = <1150000>;
  49. };
  50. opp-1196000000 {
  51. opp-hz = /bits/ 64 <1196000000>;
  52. opp-microvolt = <1200000>;
  53. };
  54. opp-1300000000 {
  55. opp-hz = /bits/ 64 <1300000000>;
  56. opp-microvolt = <1300000>;
  57. };
  58. };
  59. cpus {
  60. #address-cells = <1>;
  61. #size-cells = <0>;
  62. enable-method = "mediatek,mt6589-smp";
  63. cpu0: cpu@0 {
  64. device_type = "cpu";
  65. compatible = "arm,cortex-a7";
  66. reg = <0x0>;
  67. clocks = <&infracfg CLK_INFRA_CPUSEL>,
  68. <&apmixedsys CLK_APMIXED_MAINPLL>;
  69. clock-names = "cpu", "intermediate";
  70. operating-points-v2 = <&cpu_opp_table>;
  71. #cooling-cells = <2>;
  72. clock-frequency = <1300000000>;
  73. };
  74. cpu1: cpu@1 {
  75. device_type = "cpu";
  76. compatible = "arm,cortex-a7";
  77. reg = <0x1>;
  78. clocks = <&infracfg CLK_INFRA_CPUSEL>,
  79. <&apmixedsys CLK_APMIXED_MAINPLL>;
  80. clock-names = "cpu", "intermediate";
  81. operating-points-v2 = <&cpu_opp_table>;
  82. #cooling-cells = <2>;
  83. clock-frequency = <1300000000>;
  84. };
  85. cpu2: cpu@2 {
  86. device_type = "cpu";
  87. compatible = "arm,cortex-a7";
  88. reg = <0x2>;
  89. clocks = <&infracfg CLK_INFRA_CPUSEL>,
  90. <&apmixedsys CLK_APMIXED_MAINPLL>;
  91. clock-names = "cpu", "intermediate";
  92. operating-points-v2 = <&cpu_opp_table>;
  93. #cooling-cells = <2>;
  94. clock-frequency = <1300000000>;
  95. };
  96. cpu3: cpu@3 {
  97. device_type = "cpu";
  98. compatible = "arm,cortex-a7";
  99. reg = <0x3>;
  100. clocks = <&infracfg CLK_INFRA_CPUSEL>,
  101. <&apmixedsys CLK_APMIXED_MAINPLL>;
  102. clock-names = "cpu", "intermediate";
  103. operating-points-v2 = <&cpu_opp_table>;
  104. #cooling-cells = <2>;
  105. clock-frequency = <1300000000>;
  106. };
  107. };
  108. pmu {
  109. compatible = "arm,cortex-a7-pmu";
  110. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_LOW>,
  111. <GIC_SPI 5 IRQ_TYPE_LEVEL_LOW>,
  112. <GIC_SPI 6 IRQ_TYPE_LEVEL_LOW>,
  113. <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
  114. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  115. };
  116. system_clk: dummy13m {
  117. compatible = "fixed-clock";
  118. clock-frequency = <13000000>;
  119. #clock-cells = <0>;
  120. };
  121. rtc32k: oscillator-1 {
  122. compatible = "fixed-clock";
  123. #clock-cells = <0>;
  124. clock-frequency = <32000>;
  125. clock-output-names = "rtc32k";
  126. };
  127. clk26m: oscillator-0 {
  128. compatible = "fixed-clock";
  129. #clock-cells = <0>;
  130. clock-frequency = <26000000>;
  131. clock-output-names = "clk26m";
  132. };
  133. thermal-zones {
  134. cpu_thermal: cpu-thermal {
  135. polling-delay-passive = <1000>;
  136. polling-delay = <1000>;
  137. thermal-sensors = <&thermal 0>;
  138. trips {
  139. cpu_passive: cpu-passive {
  140. temperature = <57000>;
  141. hysteresis = <2000>;
  142. type = "passive";
  143. };
  144. cpu_active: cpu-active {
  145. temperature = <67000>;
  146. hysteresis = <2000>;
  147. type = "active";
  148. };
  149. cpu_hot: cpu-hot {
  150. temperature = <87000>;
  151. hysteresis = <2000>;
  152. type = "hot";
  153. };
  154. cpu-crit {
  155. temperature = <107000>;
  156. hysteresis = <2000>;
  157. type = "critical";
  158. };
  159. };
  160. cooling-maps {
  161. map0 {
  162. trip = <&cpu_passive>;
  163. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  164. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  165. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  166. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  167. };
  168. map1 {
  169. trip = <&cpu_active>;
  170. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  171. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  172. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  173. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  174. };
  175. map2 {
  176. trip = <&cpu_hot>;
  177. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  178. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  179. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  180. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  181. };
  182. };
  183. };
  184. };
  185. timer {
  186. compatible = "arm,armv7-timer";
  187. interrupt-parent = <&gic>;
  188. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  189. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  190. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  191. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  192. clock-frequency = <13000000>;
  193. arm,cpu-registers-not-fw-configured;
  194. };
  195. topckgen: syscon@10000000 {
  196. compatible = "mediatek,mt7623-topckgen",
  197. "mediatek,mt2701-topckgen",
  198. "syscon";
  199. reg = <0 0x10000000 0 0x1000>;
  200. #clock-cells = <1>;
  201. };
  202. infracfg: syscon@10001000 {
  203. compatible = "mediatek,mt7623-infracfg",
  204. "mediatek,mt2701-infracfg",
  205. "syscon";
  206. reg = <0 0x10001000 0 0x1000>;
  207. #clock-cells = <1>;
  208. #reset-cells = <1>;
  209. };
  210. pericfg: syscon@10003000 {
  211. compatible = "mediatek,mt7623-pericfg",
  212. "mediatek,mt2701-pericfg",
  213. "syscon";
  214. reg = <0 0x10003000 0 0x1000>;
  215. #clock-cells = <1>;
  216. #reset-cells = <1>;
  217. };
  218. pio: pinctrl@10005000 {
  219. compatible = "mediatek,mt7623-pinctrl";
  220. reg = <0 0x1000b000 0 0x1000>;
  221. mediatek,pctl-regmap = <&syscfg_pctl_a>;
  222. pins-are-numbered;
  223. gpio-controller;
  224. #gpio-cells = <2>;
  225. interrupt-controller;
  226. interrupt-parent = <&gic>;
  227. #interrupt-cells = <2>;
  228. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  229. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  230. };
  231. syscfg_pctl_a: syscfg@10005000 {
  232. compatible = "mediatek,mt7623-pctl-a-syscfg", "syscon";
  233. reg = <0 0x10005000 0 0x1000>;
  234. };
  235. scpsys: power-controller@10006000 {
  236. compatible = "mediatek,mt7623-scpsys",
  237. "mediatek,mt2701-scpsys",
  238. "syscon";
  239. #power-domain-cells = <1>;
  240. reg = <0 0x10006000 0 0x1000>;
  241. infracfg = <&infracfg>;
  242. clocks = <&topckgen CLK_TOP_MM_SEL>,
  243. <&topckgen CLK_TOP_MFG_SEL>,
  244. <&topckgen CLK_TOP_ETHIF_SEL>;
  245. clock-names = "mm", "mfg", "ethif";
  246. };
  247. watchdog: watchdog@10007000 {
  248. compatible = "mediatek,mt7623-wdt",
  249. "mediatek,mt6589-wdt";
  250. reg = <0 0x10007000 0 0x100>;
  251. };
  252. timer: timer@10008000 {
  253. compatible = "mediatek,mt7623-timer",
  254. "mediatek,mt6577-timer";
  255. reg = <0 0x10008000 0 0x80>;
  256. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
  257. clocks = <&system_clk>, <&rtc32k>;
  258. clock-names = "system-clk", "rtc-clk";
  259. };
  260. pwrap: pwrap@1000d000 {
  261. compatible = "mediatek,mt7623-pwrap",
  262. "mediatek,mt2701-pwrap";
  263. reg = <0 0x1000d000 0 0x1000>;
  264. reg-names = "pwrap";
  265. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  266. resets = <&infracfg MT2701_INFRA_PMIC_WRAP_RST>;
  267. reset-names = "pwrap";
  268. clocks = <&infracfg CLK_INFRA_PMICSPI>,
  269. <&infracfg CLK_INFRA_PMICWRAP>;
  270. clock-names = "spi", "wrap";
  271. };
  272. cir: cir@10013000 {
  273. compatible = "mediatek,mt7623-cir";
  274. reg = <0 0x10013000 0 0x1000>;
  275. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
  276. clocks = <&infracfg CLK_INFRA_IRRX>;
  277. clock-names = "clk";
  278. status = "disabled";
  279. };
  280. sysirq: interrupt-controller@10200100 {
  281. compatible = "mediatek,mt7623-sysirq",
  282. "mediatek,mt6577-sysirq";
  283. interrupt-controller;
  284. #interrupt-cells = <3>;
  285. interrupt-parent = <&gic>;
  286. reg = <0 0x10200100 0 0x1c>;
  287. };
  288. efuse: efuse@10206000 {
  289. compatible = "mediatek,mt7623-efuse",
  290. "mediatek,mt8173-efuse";
  291. reg = <0 0x10206000 0 0x1000>;
  292. #address-cells = <1>;
  293. #size-cells = <1>;
  294. thermal_calibration_data: calib@424 {
  295. reg = <0x424 0xc>;
  296. };
  297. };
  298. apmixedsys: syscon@10209000 {
  299. compatible = "mediatek,mt7623-apmixedsys",
  300. "mediatek,mt2701-apmixedsys",
  301. "syscon";
  302. reg = <0 0x10209000 0 0x1000>;
  303. #clock-cells = <1>;
  304. };
  305. rng: rng@1020f000 {
  306. compatible = "mediatek,mt7623-rng";
  307. reg = <0 0x1020f000 0 0x1000>;
  308. clocks = <&infracfg CLK_INFRA_TRNG>;
  309. clock-names = "rng";
  310. };
  311. gic: interrupt-controller@10211000 {
  312. compatible = "arm,cortex-a7-gic";
  313. interrupt-controller;
  314. #interrupt-cells = <3>;
  315. interrupt-parent = <&gic>;
  316. reg = <0 0x10211000 0 0x1000>,
  317. <0 0x10212000 0 0x2000>,
  318. <0 0x10214000 0 0x2000>,
  319. <0 0x10216000 0 0x2000>;
  320. };
  321. auxadc: adc@11001000 {
  322. compatible = "mediatek,mt7623-auxadc",
  323. "mediatek,mt2701-auxadc";
  324. reg = <0 0x11001000 0 0x1000>;
  325. clocks = <&pericfg CLK_PERI_AUXADC>;
  326. clock-names = "main";
  327. #io-channel-cells = <1>;
  328. };
  329. uart0: serial@11002000 {
  330. compatible = "mediatek,mt7623-uart",
  331. "mediatek,mt6577-uart";
  332. reg = <0 0x11002000 0 0x400>;
  333. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
  334. clocks = <&pericfg CLK_PERI_UART0_SEL>,
  335. <&pericfg CLK_PERI_UART0>;
  336. clock-names = "baud", "bus";
  337. status = "disabled";
  338. };
  339. uart1: serial@11003000 {
  340. compatible = "mediatek,mt7623-uart",
  341. "mediatek,mt6577-uart";
  342. reg = <0 0x11003000 0 0x400>;
  343. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
  344. clocks = <&pericfg CLK_PERI_UART1_SEL>,
  345. <&pericfg CLK_PERI_UART1>;
  346. clock-names = "baud", "bus";
  347. status = "disabled";
  348. };
  349. uart2: serial@11004000 {
  350. compatible = "mediatek,mt7623-uart",
  351. "mediatek,mt6577-uart";
  352. reg = <0 0x11004000 0 0x400>;
  353. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
  354. clocks = <&pericfg CLK_PERI_UART2_SEL>,
  355. <&pericfg CLK_PERI_UART2>;
  356. clock-names = "baud", "bus";
  357. status = "disabled";
  358. };
  359. uart3: serial@11005000 {
  360. compatible = "mediatek,mt7623-uart",
  361. "mediatek,mt6577-uart";
  362. reg = <0 0x11005000 0 0x400>;
  363. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
  364. clocks = <&pericfg CLK_PERI_UART3_SEL>,
  365. <&pericfg CLK_PERI_UART3>;
  366. clock-names = "baud", "bus";
  367. status = "disabled";
  368. };
  369. pwm: pwm@11006000 {
  370. compatible = "mediatek,mt7623-pwm";
  371. reg = <0 0x11006000 0 0x1000>;
  372. #pwm-cells = <2>;
  373. clocks = <&topckgen CLK_TOP_PWM_SEL>,
  374. <&pericfg CLK_PERI_PWM>,
  375. <&pericfg CLK_PERI_PWM1>,
  376. <&pericfg CLK_PERI_PWM2>,
  377. <&pericfg CLK_PERI_PWM3>,
  378. <&pericfg CLK_PERI_PWM4>,
  379. <&pericfg CLK_PERI_PWM5>;
  380. clock-names = "top", "main", "pwm1", "pwm2",
  381. "pwm3", "pwm4", "pwm5";
  382. status = "disabled";
  383. };
  384. i2c0: i2c@11007000 {
  385. compatible = "mediatek,mt7623-i2c",
  386. "mediatek,mt6577-i2c";
  387. reg = <0 0x11007000 0 0x70>,
  388. <0 0x11000200 0 0x80>;
  389. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
  390. clock-div = <16>;
  391. clocks = <&pericfg CLK_PERI_I2C0>,
  392. <&pericfg CLK_PERI_AP_DMA>;
  393. clock-names = "main", "dma";
  394. #address-cells = <1>;
  395. #size-cells = <0>;
  396. status = "disabled";
  397. };
  398. i2c1: i2c@11008000 {
  399. compatible = "mediatek,mt7623-i2c",
  400. "mediatek,mt6577-i2c";
  401. reg = <0 0x11008000 0 0x70>,
  402. <0 0x11000280 0 0x80>;
  403. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>;
  404. clock-div = <16>;
  405. clocks = <&pericfg CLK_PERI_I2C1>,
  406. <&pericfg CLK_PERI_AP_DMA>;
  407. clock-names = "main", "dma";
  408. #address-cells = <1>;
  409. #size-cells = <0>;
  410. status = "disabled";
  411. };
  412. i2c2: i2c@11009000 {
  413. compatible = "mediatek,mt7623-i2c",
  414. "mediatek,mt6577-i2c";
  415. reg = <0 0x11009000 0 0x70>,
  416. <0 0x11000300 0 0x80>;
  417. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>;
  418. clock-div = <16>;
  419. clocks = <&pericfg CLK_PERI_I2C2>,
  420. <&pericfg CLK_PERI_AP_DMA>;
  421. clock-names = "main", "dma";
  422. #address-cells = <1>;
  423. #size-cells = <0>;
  424. status = "disabled";
  425. };
  426. spi0: spi@1100a000 {
  427. compatible = "mediatek,mt7623-spi",
  428. "mediatek,mt2701-spi";
  429. #address-cells = <1>;
  430. #size-cells = <0>;
  431. reg = <0 0x1100a000 0 0x100>;
  432. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
  433. clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
  434. <&topckgen CLK_TOP_SPI0_SEL>,
  435. <&pericfg CLK_PERI_SPI0>;
  436. clock-names = "parent-clk", "sel-clk", "spi-clk";
  437. status = "disabled";
  438. };
  439. thermal: thermal@1100b000 {
  440. #thermal-sensor-cells = <1>;
  441. compatible = "mediatek,mt7623-thermal",
  442. "mediatek,mt2701-thermal";
  443. reg = <0 0x1100b000 0 0x1000>;
  444. interrupts = <0 70 IRQ_TYPE_LEVEL_LOW>;
  445. clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>;
  446. clock-names = "therm", "auxadc";
  447. resets = <&pericfg MT2701_PERI_THERM_SW_RST>;
  448. reset-names = "therm";
  449. mediatek,auxadc = <&auxadc>;
  450. mediatek,apmixedsys = <&apmixedsys>;
  451. nvmem-cells = <&thermal_calibration_data>;
  452. nvmem-cell-names = "calibration-data";
  453. };
  454. btif: serial@1100c000 {
  455. compatible = "mediatek,mt7623-btif",
  456. "mediatek,mtk-btif";
  457. reg = <0 0x1100c000 0 0x1000>;
  458. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_LOW>;
  459. clocks = <&pericfg CLK_PERI_BTIF>;
  460. clock-names = "main";
  461. reg-shift = <2>;
  462. reg-io-width = <4>;
  463. status = "disabled";
  464. };
  465. nandc: nfi@1100d000 {
  466. compatible = "mediatek,mt7623-nfc",
  467. "mediatek,mt2701-nfc";
  468. reg = <0 0x1100d000 0 0x1000>;
  469. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
  470. power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
  471. clocks = <&pericfg CLK_PERI_NFI>,
  472. <&pericfg CLK_PERI_NFI_PAD>;
  473. clock-names = "nfi_clk", "pad_clk";
  474. status = "disabled";
  475. ecc-engine = <&bch>;
  476. #address-cells = <1>;
  477. #size-cells = <0>;
  478. };
  479. bch: ecc@1100e000 {
  480. compatible = "mediatek,mt7623-ecc",
  481. "mediatek,mt2701-ecc";
  482. reg = <0 0x1100e000 0 0x1000>;
  483. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>;
  484. clocks = <&pericfg CLK_PERI_NFI_ECC>;
  485. clock-names = "nfiecc_clk";
  486. status = "disabled";
  487. };
  488. nor_flash: spi@11014000 {
  489. compatible = "mediatek,mt7623-nor",
  490. "mediatek,mt8173-nor";
  491. reg = <0 0x11014000 0 0x1000>;
  492. clocks = <&pericfg CLK_PERI_FLASH>,
  493. <&topckgen CLK_TOP_FLASH_SEL>;
  494. clock-names = "spi", "sf";
  495. #address-cells = <1>;
  496. #size-cells = <0>;
  497. status = "disabled";
  498. };
  499. spi1: spi@11016000 {
  500. compatible = "mediatek,mt7623-spi",
  501. "mediatek,mt2701-spi";
  502. #address-cells = <1>;
  503. #size-cells = <0>;
  504. reg = <0 0x11016000 0 0x100>;
  505. interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
  506. clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
  507. <&topckgen CLK_TOP_SPI1_SEL>,
  508. <&pericfg CLK_PERI_SPI1>;
  509. clock-names = "parent-clk", "sel-clk", "spi-clk";
  510. status = "disabled";
  511. };
  512. spi2: spi@11017000 {
  513. compatible = "mediatek,mt7623-spi",
  514. "mediatek,mt2701-spi";
  515. #address-cells = <1>;
  516. #size-cells = <0>;
  517. reg = <0 0x11017000 0 0x1000>;
  518. interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>;
  519. clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
  520. <&topckgen CLK_TOP_SPI2_SEL>,
  521. <&pericfg CLK_PERI_SPI2>;
  522. clock-names = "parent-clk", "sel-clk", "spi-clk";
  523. status = "disabled";
  524. };
  525. usb0: usb@11200000 {
  526. compatible = "mediatek,mt7623-musb",
  527. "mediatek,mtk-musb";
  528. reg = <0 0x11200000 0 0x1000>;
  529. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
  530. interrupt-names = "mc";
  531. phys = <&u2port2 PHY_TYPE_USB2>;
  532. dr_mode = "otg";
  533. clocks = <&pericfg CLK_PERI_USB0>,
  534. <&pericfg CLK_PERI_USB0_MCU>,
  535. <&pericfg CLK_PERI_USB_SLV>;
  536. clock-names = "main","mcu","univpll";
  537. power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
  538. status = "disabled";
  539. };
  540. u2phy1: t-phy@11210000 {
  541. compatible = "mediatek,mt7623-tphy",
  542. "mediatek,generic-tphy-v1";
  543. reg = <0 0x11210000 0 0x0800>;
  544. #address-cells = <2>;
  545. #size-cells = <2>;
  546. ranges;
  547. status = "disabled";
  548. u2port2: usb-phy@11210800 {
  549. reg = <0 0x11210800 0 0x0100>;
  550. clocks = <&topckgen CLK_TOP_USB_PHY48M>;
  551. clock-names = "ref";
  552. #phy-cells = <1>;
  553. };
  554. };
  555. audsys: clock-controller@11220000 {
  556. compatible = "mediatek,mt7623-audsys",
  557. "mediatek,mt2701-audsys",
  558. "syscon";
  559. reg = <0 0x11220000 0 0x2000>;
  560. #clock-cells = <1>;
  561. afe: audio-controller {
  562. compatible = "mediatek,mt7623-audio",
  563. "mediatek,mt2701-audio";
  564. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
  565. <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
  566. interrupt-names = "afe", "asys";
  567. power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
  568. clocks = <&infracfg CLK_INFRA_AUDIO>,
  569. <&topckgen CLK_TOP_AUD_MUX1_SEL>,
  570. <&topckgen CLK_TOP_AUD_MUX2_SEL>,
  571. <&topckgen CLK_TOP_AUD_48K_TIMING>,
  572. <&topckgen CLK_TOP_AUD_44K_TIMING>,
  573. <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
  574. <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
  575. <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
  576. <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
  577. <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
  578. <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
  579. <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
  580. <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
  581. <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
  582. <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
  583. <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
  584. <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
  585. <&audsys CLK_AUD_I2SO1>,
  586. <&audsys CLK_AUD_I2SO2>,
  587. <&audsys CLK_AUD_I2SO3>,
  588. <&audsys CLK_AUD_I2SO4>,
  589. <&audsys CLK_AUD_I2SIN1>,
  590. <&audsys CLK_AUD_I2SIN2>,
  591. <&audsys CLK_AUD_I2SIN3>,
  592. <&audsys CLK_AUD_I2SIN4>,
  593. <&audsys CLK_AUD_ASRCO1>,
  594. <&audsys CLK_AUD_ASRCO2>,
  595. <&audsys CLK_AUD_ASRCO3>,
  596. <&audsys CLK_AUD_ASRCO4>,
  597. <&audsys CLK_AUD_AFE>,
  598. <&audsys CLK_AUD_AFE_CONN>,
  599. <&audsys CLK_AUD_A1SYS>,
  600. <&audsys CLK_AUD_A2SYS>,
  601. <&audsys CLK_AUD_AFE_MRGIF>;
  602. clock-names = "infra_sys_audio_clk",
  603. "top_audio_mux1_sel",
  604. "top_audio_mux2_sel",
  605. "top_audio_a1sys_hp",
  606. "top_audio_a2sys_hp",
  607. "i2s0_src_sel",
  608. "i2s1_src_sel",
  609. "i2s2_src_sel",
  610. "i2s3_src_sel",
  611. "i2s0_src_div",
  612. "i2s1_src_div",
  613. "i2s2_src_div",
  614. "i2s3_src_div",
  615. "i2s0_mclk_en",
  616. "i2s1_mclk_en",
  617. "i2s2_mclk_en",
  618. "i2s3_mclk_en",
  619. "i2so0_hop_ck",
  620. "i2so1_hop_ck",
  621. "i2so2_hop_ck",
  622. "i2so3_hop_ck",
  623. "i2si0_hop_ck",
  624. "i2si1_hop_ck",
  625. "i2si2_hop_ck",
  626. "i2si3_hop_ck",
  627. "asrc0_out_ck",
  628. "asrc1_out_ck",
  629. "asrc2_out_ck",
  630. "asrc3_out_ck",
  631. "audio_afe_pd",
  632. "audio_afe_conn_pd",
  633. "audio_a1sys_pd",
  634. "audio_a2sys_pd",
  635. "audio_mrgif_pd";
  636. assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
  637. <&topckgen CLK_TOP_AUD_MUX2_SEL>,
  638. <&topckgen CLK_TOP_AUD_MUX1_DIV>,
  639. <&topckgen CLK_TOP_AUD_MUX2_DIV>;
  640. assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
  641. <&topckgen CLK_TOP_AUD2PLL_90M>;
  642. assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
  643. };
  644. };
  645. mmc0: mmc@11230000 {
  646. compatible = "mediatek,mt7623-mmc",
  647. "mediatek,mt2701-mmc";
  648. reg = <0 0x11230000 0 0x1000>;
  649. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_LOW>;
  650. clocks = <&pericfg CLK_PERI_MSDC30_0>,
  651. <&topckgen CLK_TOP_MSDC30_0_SEL>;
  652. clock-names = "source", "hclk";
  653. status = "disabled";
  654. };
  655. mmc1: mmc@11240000 {
  656. compatible = "mediatek,mt7623-mmc",
  657. "mediatek,mt2701-mmc";
  658. reg = <0 0x11240000 0 0x1000>;
  659. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_LOW>;
  660. clocks = <&pericfg CLK_PERI_MSDC30_1>,
  661. <&topckgen CLK_TOP_MSDC30_1_SEL>;
  662. clock-names = "source", "hclk";
  663. status = "disabled";
  664. };
  665. vdecsys: syscon@16000000 {
  666. compatible = "mediatek,mt7623-vdecsys",
  667. "mediatek,mt2701-vdecsys",
  668. "syscon";
  669. reg = <0 0x16000000 0 0x1000>;
  670. #clock-cells = <1>;
  671. };
  672. hifsys: syscon@1a000000 {
  673. compatible = "mediatek,mt7623-hifsys",
  674. "mediatek,mt2701-hifsys",
  675. "syscon";
  676. reg = <0 0x1a000000 0 0x1000>;
  677. #clock-cells = <1>;
  678. #reset-cells = <1>;
  679. };
  680. pcie: pcie@1a140000 {
  681. compatible = "mediatek,mt7623-pcie";
  682. device_type = "pci";
  683. reg = <0 0x1a140000 0 0x1000>, /* PCIe shared registers */
  684. <0 0x1a142000 0 0x1000>, /* Port0 registers */
  685. <0 0x1a143000 0 0x1000>, /* Port1 registers */
  686. <0 0x1a144000 0 0x1000>; /* Port2 registers */
  687. reg-names = "subsys", "port0", "port1", "port2";
  688. #address-cells = <3>;
  689. #size-cells = <2>;
  690. #interrupt-cells = <1>;
  691. interrupt-map-mask = <0xf800 0 0 0>;
  692. interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>,
  693. <0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>,
  694. <0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
  695. clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
  696. <&hifsys CLK_HIFSYS_PCIE0>,
  697. <&hifsys CLK_HIFSYS_PCIE1>,
  698. <&hifsys CLK_HIFSYS_PCIE2>;
  699. clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2";
  700. resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>,
  701. <&hifsys MT2701_HIFSYS_PCIE1_RST>,
  702. <&hifsys MT2701_HIFSYS_PCIE2_RST>;
  703. reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2";
  704. phys = <&pcie0_port PHY_TYPE_PCIE>,
  705. <&pcie1_port PHY_TYPE_PCIE>,
  706. <&u3port1 PHY_TYPE_PCIE>;
  707. phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2";
  708. power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  709. bus-range = <0x00 0xff>;
  710. status = "disabled";
  711. ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000
  712. 0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>;
  713. pcie@0,0 {
  714. reg = <0x0000 0 0 0 0>;
  715. #address-cells = <3>;
  716. #size-cells = <2>;
  717. #interrupt-cells = <1>;
  718. interrupt-map-mask = <0 0 0 0>;
  719. interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>;
  720. ranges;
  721. status = "disabled";
  722. };
  723. pcie@1,0 {
  724. reg = <0x0800 0 0 0 0>;
  725. #address-cells = <3>;
  726. #size-cells = <2>;
  727. #interrupt-cells = <1>;
  728. interrupt-map-mask = <0 0 0 0>;
  729. interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
  730. ranges;
  731. status = "disabled";
  732. };
  733. pcie@2,0 {
  734. reg = <0x1000 0 0 0 0>;
  735. #address-cells = <3>;
  736. #size-cells = <2>;
  737. #interrupt-cells = <1>;
  738. interrupt-map-mask = <0 0 0 0>;
  739. interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
  740. ranges;
  741. status = "disabled";
  742. };
  743. };
  744. pcie0_phy: t-phy@1a149000 {
  745. compatible = "mediatek,mt7623-tphy",
  746. "mediatek,generic-tphy-v1";
  747. reg = <0 0x1a149000 0 0x0700>;
  748. #address-cells = <2>;
  749. #size-cells = <2>;
  750. ranges;
  751. status = "disabled";
  752. pcie0_port: pcie-phy@1a149900 {
  753. reg = <0 0x1a149900 0 0x0700>;
  754. clocks = <&clk26m>;
  755. clock-names = "ref";
  756. #phy-cells = <1>;
  757. status = "okay";
  758. };
  759. };
  760. pcie1_phy: t-phy@1a14a000 {
  761. compatible = "mediatek,mt7623-tphy",
  762. "mediatek,generic-tphy-v1";
  763. reg = <0 0x1a14a000 0 0x0700>;
  764. #address-cells = <2>;
  765. #size-cells = <2>;
  766. ranges;
  767. status = "disabled";
  768. pcie1_port: pcie-phy@1a14a900 {
  769. reg = <0 0x1a14a900 0 0x0700>;
  770. clocks = <&clk26m>;
  771. clock-names = "ref";
  772. #phy-cells = <1>;
  773. status = "okay";
  774. };
  775. };
  776. usb1: usb@1a1c0000 {
  777. compatible = "mediatek,mt7623-xhci",
  778. "mediatek,mtk-xhci";
  779. reg = <0 0x1a1c0000 0 0x1000>,
  780. <0 0x1a1c4700 0 0x0100>;
  781. reg-names = "mac", "ippc";
  782. interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
  783. clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
  784. <&topckgen CLK_TOP_ETHIF_SEL>;
  785. clock-names = "sys_ck", "ref_ck";
  786. power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  787. phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
  788. status = "disabled";
  789. };
  790. u3phy1: t-phy@1a1c4000 {
  791. compatible = "mediatek,mt7623-tphy",
  792. "mediatek,generic-tphy-v1";
  793. reg = <0 0x1a1c4000 0 0x0700>;
  794. #address-cells = <2>;
  795. #size-cells = <2>;
  796. ranges;
  797. status = "disabled";
  798. u2port0: usb-phy@1a1c4800 {
  799. reg = <0 0x1a1c4800 0 0x0100>;
  800. clocks = <&topckgen CLK_TOP_USB_PHY48M>;
  801. clock-names = "ref";
  802. #phy-cells = <1>;
  803. status = "okay";
  804. };
  805. u3port0: usb-phy@1a1c4900 {
  806. reg = <0 0x1a1c4900 0 0x0700>;
  807. clocks = <&clk26m>;
  808. clock-names = "ref";
  809. #phy-cells = <1>;
  810. status = "okay";
  811. };
  812. };
  813. usb2: usb@1a240000 {
  814. compatible = "mediatek,mt7623-xhci",
  815. "mediatek,mtk-xhci";
  816. reg = <0 0x1a240000 0 0x1000>,
  817. <0 0x1a244700 0 0x0100>;
  818. reg-names = "mac", "ippc";
  819. interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
  820. clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
  821. <&topckgen CLK_TOP_ETHIF_SEL>;
  822. clock-names = "sys_ck", "ref_ck";
  823. power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  824. phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>;
  825. status = "disabled";
  826. };
  827. u3phy2: t-phy@1a244000 {
  828. compatible = "mediatek,mt7623-tphy",
  829. "mediatek,generic-tphy-v1";
  830. reg = <0 0x1a244000 0 0x0700>;
  831. #address-cells = <2>;
  832. #size-cells = <2>;
  833. ranges;
  834. status = "disabled";
  835. u2port1: usb-phy@1a244800 {
  836. reg = <0 0x1a244800 0 0x0100>;
  837. clocks = <&topckgen CLK_TOP_USB_PHY48M>;
  838. clock-names = "ref";
  839. #phy-cells = <1>;
  840. status = "okay";
  841. };
  842. u3port1: usb-phy@1a244900 {
  843. reg = <0 0x1a244900 0 0x0700>;
  844. clocks = <&clk26m>;
  845. clock-names = "ref";
  846. #phy-cells = <1>;
  847. status = "okay";
  848. };
  849. };
  850. ethsys: syscon@1b000000 {
  851. compatible = "mediatek,mt7623-ethsys",
  852. "mediatek,mt2701-ethsys",
  853. "syscon";
  854. reg = <0 0x1b000000 0 0x1000>;
  855. #clock-cells = <1>;
  856. #reset-cells = <1>;
  857. };
  858. hsdma: dma-controller@1b007000 {
  859. compatible = "mediatek,mt7623-hsdma";
  860. reg = <0 0x1b007000 0 0x1000>;
  861. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>;
  862. clocks = <&ethsys CLK_ETHSYS_HSDMA>;
  863. clock-names = "hsdma";
  864. power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
  865. #dma-cells = <1>;
  866. };
  867. eth: ethernet@1b100000 {
  868. compatible = "mediatek,mt7623-eth",
  869. "mediatek,mt2701-eth",
  870. "syscon";
  871. reg = <0 0x1b100000 0 0x20000>;
  872. interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>,
  873. <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>,
  874. <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
  875. clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
  876. <&ethsys CLK_ETHSYS_ESW>,
  877. <&ethsys CLK_ETHSYS_GP1>,
  878. <&ethsys CLK_ETHSYS_GP2>,
  879. <&apmixedsys CLK_APMIXED_TRGPLL>;
  880. clock-names = "ethif", "esw", "gp1", "gp2", "trgpll";
  881. resets = <&ethsys MT2701_ETHSYS_FE_RST>,
  882. <&ethsys MT2701_ETHSYS_GMAC_RST>,
  883. <&ethsys MT2701_ETHSYS_PPE_RST>;
  884. reset-names = "fe", "gmac", "ppe";
  885. power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
  886. mediatek,ethsys = <&ethsys>;
  887. mediatek,pctl = <&syscfg_pctl_a>;
  888. #address-cells = <1>;
  889. #size-cells = <0>;
  890. status = "disabled";
  891. };
  892. crypto: crypto@1b240000 {
  893. compatible = "mediatek,eip97-crypto";
  894. reg = <0 0x1b240000 0 0x20000>;
  895. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>,
  896. <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>,
  897. <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>,
  898. <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>,
  899. <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
  900. clocks = <&ethsys CLK_ETHSYS_CRYPTO>;
  901. clock-names = "cryp";
  902. power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
  903. status = "disabled";
  904. };
  905. bdpsys: syscon@1c000000 {
  906. compatible = "mediatek,mt7623-bdpsys",
  907. "mediatek,mt2701-bdpsys",
  908. "syscon";
  909. reg = <0 0x1c000000 0 0x1000>;
  910. #clock-cells = <1>;
  911. };
  912. };
  913. &pio {
  914. cir_pins_a:cir-default {
  915. pins-cir {
  916. pinmux = <MT7623_PIN_46_IR_FUNC_IR>;
  917. bias-disable;
  918. };
  919. };
  920. i2c0_pins_a: i2c0-default {
  921. pins-i2c0 {
  922. pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>,
  923. <MT7623_PIN_76_SCL0_FUNC_SCL0>;
  924. bias-disable;
  925. };
  926. };
  927. i2c1_pins_a: i2c1-default {
  928. pin-i2c1 {
  929. pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>,
  930. <MT7623_PIN_58_SCL1_FUNC_SCL1>;
  931. bias-disable;
  932. };
  933. };
  934. i2c1_pins_b: i2c1-alt {
  935. pin-i2c1 {
  936. pinmux = <MT7623_PIN_242_URTS2_FUNC_SCL1>,
  937. <MT7623_PIN_243_UCTS2_FUNC_SDA1>;
  938. bias-disable;
  939. };
  940. };
  941. i2c2_pins_a: i2c2-default {
  942. pin-i2c2 {
  943. pinmux = <MT7623_PIN_77_SDA2_FUNC_SDA2>,
  944. <MT7623_PIN_78_SCL2_FUNC_SCL2>;
  945. bias-disable;
  946. };
  947. };
  948. i2c2_pins_b: i2c2-alt {
  949. pin-i2c2 {
  950. pinmux = <MT7623_PIN_122_GPIO122_FUNC_SDA2>,
  951. <MT7623_PIN_123_HTPLG_FUNC_SCL2>;
  952. bias-disable;
  953. };
  954. };
  955. i2s0_pins_a: i2s0-default {
  956. pin-i2s0 {
  957. pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
  958. <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>,
  959. <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>,
  960. <MT7623_PIN_74_I2S0_BCK_FUNC_I2S0_BCK>,
  961. <MT7623_PIN_126_I2S0_MCLK_FUNC_I2S0_MCLK>;
  962. drive-strength = <MTK_DRIVE_12mA>;
  963. bias-pull-down;
  964. };
  965. };
  966. i2s1_pins_a: i2s1-default {
  967. pin-i2s1 {
  968. pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>,
  969. <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>,
  970. <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>,
  971. <MT7623_PIN_36_I2S1_LRCK_FUNC_I2S1_LRCK>,
  972. <MT7623_PIN_37_I2S1_MCLK_FUNC_I2S1_MCLK>;
  973. drive-strength = <MTK_DRIVE_12mA>;
  974. bias-pull-down;
  975. };
  976. };
  977. key_pins_a: keys-alt {
  978. pins-keys {
  979. pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
  980. <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ;
  981. input-enable;
  982. };
  983. };
  984. led_pins_a: leds-alt {
  985. pins-leds {
  986. pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>,
  987. <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>,
  988. <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>;
  989. };
  990. };
  991. mmc0_pins_default: mmc0default {
  992. pins-cmd-dat {
  993. pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
  994. <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
  995. <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
  996. <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
  997. <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
  998. <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
  999. <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
  1000. <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
  1001. <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
  1002. input-enable;
  1003. bias-pull-up;
  1004. };
  1005. pins-clk {
  1006. pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
  1007. bias-pull-down;
  1008. };
  1009. pins-rst {
  1010. pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
  1011. bias-pull-up;
  1012. };
  1013. };
  1014. mmc0_pins_uhs: mmc0 {
  1015. pins-cmd-dat {
  1016. pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
  1017. <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
  1018. <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
  1019. <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
  1020. <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
  1021. <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
  1022. <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
  1023. <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
  1024. <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
  1025. input-enable;
  1026. drive-strength = <MTK_DRIVE_2mA>;
  1027. bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  1028. };
  1029. pins-clk {
  1030. pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
  1031. drive-strength = <MTK_DRIVE_2mA>;
  1032. bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
  1033. };
  1034. pins-rst {
  1035. pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
  1036. bias-pull-up;
  1037. };
  1038. };
  1039. mmc1_pins_default: mmc1default {
  1040. pins-cmd-dat {
  1041. pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
  1042. <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
  1043. <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
  1044. <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
  1045. <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
  1046. input-enable;
  1047. drive-strength = <MTK_DRIVE_4mA>;
  1048. bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  1049. };
  1050. pins-clk {
  1051. pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
  1052. bias-pull-down;
  1053. drive-strength = <MTK_DRIVE_4mA>;
  1054. };
  1055. pins-wp {
  1056. pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>;
  1057. input-enable;
  1058. bias-pull-up;
  1059. };
  1060. pins-insert {
  1061. pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>;
  1062. bias-pull-up;
  1063. };
  1064. };
  1065. mmc1_pins_uhs: mmc1 {
  1066. pins-cmd-dat {
  1067. pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
  1068. <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
  1069. <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
  1070. <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
  1071. <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
  1072. input-enable;
  1073. drive-strength = <MTK_DRIVE_4mA>;
  1074. bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  1075. };
  1076. pins-clk {
  1077. pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
  1078. drive-strength = <MTK_DRIVE_4mA>;
  1079. bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  1080. };
  1081. };
  1082. nand_pins_default: nanddefault {
  1083. pins-ale {
  1084. pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>;
  1085. drive-strength = <MTK_DRIVE_8mA>;
  1086. bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  1087. };
  1088. pins-dat {
  1089. pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>,
  1090. <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>,
  1091. <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>,
  1092. <MT7623_PIN_118_MSDC0_DAT3_FUNC_NLD3>,
  1093. <MT7623_PIN_121_MSDC0_DAT0_FUNC_NLD0>,
  1094. <MT7623_PIN_120_MSDC0_DAT1_FUNC_NLD1>,
  1095. <MT7623_PIN_113_MSDC0_DAT5_FUNC_NLD5>,
  1096. <MT7623_PIN_115_MSDC0_RSTB_FUNC_NLD8>,
  1097. <MT7623_PIN_119_MSDC0_DAT2_FUNC_NLD2>;
  1098. input-enable;
  1099. drive-strength = <MTK_DRIVE_8mA>;
  1100. bias-pull-up;
  1101. };
  1102. pins-we {
  1103. pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>;
  1104. drive-strength = <MTK_DRIVE_8mA>;
  1105. bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  1106. };
  1107. };
  1108. pcie_default: pcie_pin_default {
  1109. pins_cmd_dat {
  1110. pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
  1111. <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
  1112. bias-disable;
  1113. };
  1114. };
  1115. pwm_pins_a: pwm-default {
  1116. pins-pwm {
  1117. pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>,
  1118. <MT7623_PIN_204_PWM1_FUNC_PWM1>,
  1119. <MT7623_PIN_205_PWM2_FUNC_PWM2>,
  1120. <MT7623_PIN_206_PWM3_FUNC_PWM3>,
  1121. <MT7623_PIN_207_PWM4_FUNC_PWM4>;
  1122. };
  1123. };
  1124. spi0_pins_a: spi0-default {
  1125. pins-spi {
  1126. pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>,
  1127. <MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>,
  1128. <MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>,
  1129. <MT7623_PIN_56_SPI0_MO_FUNC_SPI0_MO>;
  1130. bias-disable;
  1131. };
  1132. };
  1133. spi1_pins_a: spi1-default {
  1134. pins-spi {
  1135. pinmux = <MT7623_PIN_7_SPI1_CSN_FUNC_SPI1_CS>,
  1136. <MT7623_PIN_199_SPI1_CK_FUNC_SPI1_CK>,
  1137. <MT7623_PIN_8_SPI1_MI_FUNC_SPI1_MI>,
  1138. <MT7623_PIN_9_SPI1_MO_FUNC_SPI1_MO>;
  1139. };
  1140. };
  1141. spi2_pins_a: spi2-default {
  1142. pins-spi {
  1143. pinmux = <MT7623_PIN_101_SPI2_CSN_FUNC_SPI2_CS>,
  1144. <MT7623_PIN_104_SPI2_CK_FUNC_SPI2_CK>,
  1145. <MT7623_PIN_102_SPI2_MI_FUNC_SPI2_MI>,
  1146. <MT7623_PIN_103_SPI2_MO_FUNC_SPI2_MO>;
  1147. };
  1148. };
  1149. uart0_pins_a: uart0-default {
  1150. pins-dat {
  1151. pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>,
  1152. <MT7623_PIN_80_UTXD0_FUNC_UTXD0>;
  1153. };
  1154. };
  1155. uart1_pins_a: uart1-default {
  1156. pins-dat {
  1157. pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
  1158. <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
  1159. };
  1160. };
  1161. uart2_pins_a: uart2-default {
  1162. pins-dat {
  1163. pinmux = <MT7623_PIN_14_GPIO14_FUNC_URXD2>,
  1164. <MT7623_PIN_15_GPIO15_FUNC_UTXD2>;
  1165. };
  1166. };
  1167. uart2_pins_b: uart2-alt {
  1168. pins-dat {
  1169. pinmux = <MT7623_PIN_200_URXD2_FUNC_URXD2>,
  1170. <MT7623_PIN_201_UTXD2_FUNC_UTXD2>;
  1171. };
  1172. };
  1173. };