0023-ARM-dts-mediatek-add-MT7623-basic-support.patch 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094
  1. From 51d5ca9e151eb323bd965e72ad1e1dc93fcf7b13 Mon Sep 17 00:00:00 2001
  2. From: John Crispin <[email protected]>
  3. Date: Tue, 5 Jan 2016 12:16:17 +0100
  4. Subject: [PATCH 023/102] ARM: dts: mediatek: add MT7623 basic support
  5. This adds basic chip support for Mediatek MT7623.
  6. Signed-off-by: John Crispin <[email protected]>
  7. ---
  8. arch/arm/boot/dts/Makefile | 1 +
  9. arch/arm/boot/dts/mt7623-evb.dts | 421 ++++++++++++++++++++++++++
  10. arch/arm/boot/dts/mt7623.dtsi | 601 +++++++++++++++++++++++++++++++++++++
  11. arch/arm/mach-mediatek/Kconfig | 4 +
  12. arch/arm/mach-mediatek/mediatek.c | 1 +
  13. 5 files changed, 1028 insertions(+)
  14. create mode 100644 arch/arm/boot/dts/mt7623-evb.dts
  15. create mode 100644 arch/arm/boot/dts/mt7623.dtsi
  16. diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
  17. index 30bbc37..2bce370 100644
  18. --- a/arch/arm/boot/dts/Makefile
  19. +++ b/arch/arm/boot/dts/Makefile
  20. @@ -774,6 +774,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
  21. mt6580-evbp1.dtb \
  22. mt6589-aquaris5.dtb \
  23. mt6592-evb.dtb \
  24. + mt7623-evb.dtb \
  25. mt8127-moose.dtb \
  26. mt8135-evbp1.dtb
  27. dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
  28. diff --git a/arch/arm/boot/dts/mt7623-evb.dts b/arch/arm/boot/dts/mt7623-evb.dts
  29. new file mode 100644
  30. index 0000000..5ad1448
  31. --- /dev/null
  32. +++ b/arch/arm/boot/dts/mt7623-evb.dts
  33. @@ -0,0 +1,421 @@
  34. +/*
  35. + * Copyright (c) 2016 MediaTek Inc.
  36. + * Author: John Crispin <[email protected]>
  37. + *
  38. + * This program is free software; you can redistribute it and/or modify
  39. + * it under the terms of the GNU General Public License version 2 as
  40. + * published by the Free Software Foundation.
  41. + *
  42. + * This program is distributed in the hope that it will be useful,
  43. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  44. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  45. + * GNU General Public License for more details.
  46. + */
  47. +
  48. +/dts-v1/;
  49. +
  50. +#include "mt7623.dtsi"
  51. +#include <dt-bindings/gpio/gpio.h>
  52. +
  53. +/ {
  54. + model = "MediaTek MT7623 evaluation board";
  55. + compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
  56. +
  57. + chosen {
  58. + stdout-path = &uart2;
  59. + };
  60. +
  61. + memory {
  62. + reg = <0 0x80000000 0 0x20000000>;
  63. + };
  64. +
  65. + usb_p1_vbus: regulator@0 {
  66. + compatible = "regulator-fixed";
  67. + regulator-name = "usb_vbus";
  68. + regulator-min-microvolt = <5000000>;
  69. + regulator-max-microvolt = <5000000>;
  70. + gpio = <&pio 135 GPIO_ACTIVE_HIGH>;
  71. + enable-active-high;
  72. + };
  73. +};
  74. +
  75. +&cpu0 {
  76. + proc-supply = <&mt6323_vproc_reg>;
  77. +};
  78. +
  79. +&cpu1 {
  80. + proc-supply = <&mt6323_vproc_reg>;
  81. +};
  82. +
  83. +&cpu2 {
  84. + proc-supply = <&mt6323_vproc_reg>;
  85. +};
  86. +
  87. +&cpu3 {
  88. + proc-supply = <&mt6323_vproc_reg>;
  89. +};
  90. +
  91. +&pwrap {
  92. + pmic: mt6323 {
  93. + compatible = "mediatek,mt6323";
  94. + interrupt-parent = <&pio>;
  95. + interrupts = <150 IRQ_TYPE_LEVEL_HIGH>;
  96. + interrupt-controller;
  97. + #interrupt-cells = <2>;
  98. +
  99. + mt6323regulator: mt6323regulator{
  100. + compatible = "mediatek,mt6323-regulator";
  101. +
  102. + mt6323_vproc_reg: buck_vproc{
  103. + regulator-name = "vproc";
  104. + regulator-min-microvolt = < 700000>;
  105. + regulator-max-microvolt = <1350000>;
  106. + regulator-ramp-delay = <12500>;
  107. + regulator-always-on;
  108. + regulator-boot-on;
  109. + };
  110. +
  111. + mt6323_vsys_reg: buck_vsys{
  112. + regulator-name = "vsys";
  113. + regulator-min-microvolt = <1400000>;
  114. + regulator-max-microvolt = <2987500>;
  115. + regulator-ramp-delay = <25000>;
  116. + regulator-always-on;
  117. + regulator-boot-on;
  118. + };
  119. +
  120. + mt6323_vpa_reg: buck_vpa{
  121. + regulator-name = "vpa";
  122. + regulator-min-microvolt = < 500000>;
  123. + regulator-max-microvolt = <3650000>;
  124. + };
  125. +
  126. + mt6323_vtcxo_reg: ldo_vtcxo{
  127. + regulator-name = "vtcxo";
  128. + regulator-min-microvolt = <2800000>;
  129. + regulator-max-microvolt = <2800000>;
  130. + regulator-enable-ramp-delay = <90>;
  131. + regulator-always-on;
  132. + regulator-boot-on;
  133. + };
  134. +
  135. + mt6323_vcn28_reg: ldo_vcn28{
  136. + regulator-name = "vcn28";
  137. + regulator-min-microvolt = <2800000>;
  138. + regulator-max-microvolt = <2800000>;
  139. + regulator-enable-ramp-delay = <185>;
  140. + };
  141. +
  142. + mt6323_vcn33_bt_reg: ldo_vcn33_bt{
  143. + regulator-name = "vcn33_bt";
  144. + regulator-min-microvolt = <3300000>;
  145. + regulator-max-microvolt = <3600000>;
  146. + regulator-enable-ramp-delay = <185>;
  147. + };
  148. +
  149. + mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
  150. + regulator-name = "vcn33_wifi";
  151. + regulator-min-microvolt = <3300000>;
  152. + regulator-max-microvolt = <3600000>;
  153. + regulator-enable-ramp-delay = <185>;
  154. + };
  155. +
  156. + mt6323_va_reg: ldo_va{
  157. + regulator-name = "va";
  158. + regulator-min-microvolt = <2800000>;
  159. + regulator-max-microvolt = <2800000>;
  160. + regulator-enable-ramp-delay = <216>;
  161. + regulator-always-on;
  162. + regulator-boot-on;
  163. + };
  164. +
  165. + mt6323_vcama_reg: ldo_vcama{
  166. + regulator-name = "vcama";
  167. + regulator-min-microvolt = <1500000>;
  168. + regulator-max-microvolt = <2800000>;
  169. + regulator-enable-ramp-delay = <216>;
  170. + };
  171. +
  172. + mt6323_vio28_reg: ldo_vio28{
  173. + regulator-name = "vio28";
  174. + regulator-min-microvolt = <2800000>;
  175. + regulator-max-microvolt = <2800000>;
  176. + regulator-enable-ramp-delay = <216>;
  177. + regulator-always-on;
  178. + regulator-boot-on;
  179. + };
  180. +
  181. + mt6323_vusb_reg: ldo_vusb{
  182. + regulator-name = "vusb";
  183. + regulator-min-microvolt = <3300000>;
  184. + regulator-max-microvolt = <3300000>;
  185. + regulator-enable-ramp-delay = <216>;
  186. + regulator-boot-on;
  187. + };
  188. +
  189. + mt6323_vmc_reg: ldo_vmc{
  190. + regulator-name = "vmc";
  191. + regulator-min-microvolt = <1800000>;
  192. + regulator-max-microvolt = <3300000>;
  193. + regulator-enable-ramp-delay = <36>;
  194. + regulator-boot-on;
  195. + };
  196. +
  197. + mt6323_vmch_reg: ldo_vmch{
  198. + regulator-name = "vmch";
  199. + regulator-min-microvolt = <3000000>;
  200. + regulator-max-microvolt = <3300000>;
  201. + regulator-enable-ramp-delay = <36>;
  202. + regulator-boot-on;
  203. + };
  204. +
  205. + mt6323_vemc3v3_reg: ldo_vemc3v3{
  206. + regulator-name = "vemc3v3";
  207. + regulator-min-microvolt = <3000000>;
  208. + regulator-max-microvolt = <3300000>;
  209. + regulator-enable-ramp-delay = <36>;
  210. + regulator-boot-on;
  211. + };
  212. +
  213. + mt6323_vgp1_reg: ldo_vgp1{
  214. + regulator-name = "vgp1";
  215. + regulator-min-microvolt = <1200000>;
  216. + regulator-max-microvolt = <3300000>;
  217. + regulator-enable-ramp-delay = <216>;
  218. + };
  219. +
  220. + mt6323_vgp2_reg: ldo_vgp2{
  221. + regulator-name = "vgp2";
  222. + regulator-min-microvolt = <1200000>;
  223. + regulator-max-microvolt = <3000000>;
  224. + regulator-enable-ramp-delay = <216>;
  225. + };
  226. +
  227. + mt6323_vgp3_reg: ldo_vgp3{
  228. + regulator-name = "vgp3";
  229. + regulator-min-microvolt = <1200000>;
  230. + regulator-max-microvolt = <1800000>;
  231. + regulator-enable-ramp-delay = <216>;
  232. + };
  233. +
  234. + mt6323_vcn18_reg: ldo_vcn18{
  235. + regulator-name = "vcn18";
  236. + regulator-min-microvolt = <1800000>;
  237. + regulator-max-microvolt = <1800000>;
  238. + regulator-enable-ramp-delay = <216>;
  239. + };
  240. +
  241. + mt6323_vsim1_reg: ldo_vsim1{
  242. + regulator-name = "vsim1";
  243. + regulator-min-microvolt = <1800000>;
  244. + regulator-max-microvolt = <3000000>;
  245. + regulator-enable-ramp-delay = <216>;
  246. + };
  247. +
  248. + mt6323_vsim2_reg: ldo_vsim2{
  249. + regulator-name = "vsim2";
  250. + regulator-min-microvolt = <1800000>;
  251. + regulator-max-microvolt = <3000000>;
  252. + regulator-enable-ramp-delay = <216>;
  253. + };
  254. +
  255. + mt6323_vrtc_reg: ldo_vrtc{
  256. + regulator-name = "vrtc";
  257. + regulator-min-microvolt = <2800000>;
  258. + regulator-max-microvolt = <2800000>;
  259. + regulator-always-on;
  260. + regulator-boot-on;
  261. + };
  262. +
  263. + mt6323_vcamaf_reg: ldo_vcamaf{
  264. + regulator-name = "vcamaf";
  265. + regulator-min-microvolt = <1200000>;
  266. + regulator-max-microvolt = <3300000>;
  267. + regulator-enable-ramp-delay = <216>;
  268. + };
  269. +
  270. + mt6323_vibr_reg: ldo_vibr{
  271. + regulator-name = "vibr";
  272. + regulator-min-microvolt = <1200000>;
  273. + regulator-max-microvolt = <3300000>;
  274. + regulator-enable-ramp-delay = <36>;
  275. + };
  276. +
  277. + mt6323_vrf18_reg: ldo_vrf18{
  278. + regulator-name = "vrf18";
  279. + regulator-min-microvolt = <1825000>;
  280. + regulator-max-microvolt = <1825000>;
  281. + regulator-enable-ramp-delay = <187>;
  282. + };
  283. +
  284. + mt6323_vm_reg: ldo_vm{
  285. + regulator-name = "vm";
  286. + regulator-min-microvolt = <1200000>;
  287. + regulator-max-microvolt = <1800000>;
  288. + regulator-enable-ramp-delay = <216>;
  289. + regulator-always-on;
  290. + regulator-boot-on;
  291. + };
  292. +
  293. + mt6323_vio18_reg: ldo_vio18{
  294. + regulator-name = "vio18";
  295. + regulator-min-microvolt = <1800000>;
  296. + regulator-max-microvolt = <1800000>;
  297. + regulator-enable-ramp-delay = <216>;
  298. + regulator-always-on;
  299. + regulator-boot-on;
  300. + };
  301. +
  302. + mt6323_vcamd_reg: ldo_vcamd{
  303. + regulator-name = "vcamd";
  304. + regulator-min-microvolt = <1200000>;
  305. + regulator-max-microvolt = <1800000>;
  306. + regulator-enable-ramp-delay = <216>;
  307. + };
  308. +
  309. + mt6323_vcamio_reg: ldo_vcamio{
  310. + regulator-name = "vcamio";
  311. + regulator-min-microvolt = <1800000>;
  312. + regulator-max-microvolt = <1800000>;
  313. + regulator-enable-ramp-delay = <216>;
  314. + };
  315. + };
  316. + };
  317. +};
  318. +
  319. +&uart2 {
  320. + status = "okay";
  321. +};
  322. +
  323. +&pio {
  324. + nand_pins_default: nanddefault {
  325. + pins_dat {
  326. + pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>,
  327. + <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>,
  328. + <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>,
  329. + <MT7623_PIN_118_MSDC0_DAT3_FUNC_NLD3>,
  330. + <MT7623_PIN_121_MSDC0_DAT0_FUNC_NLD0>,
  331. + <MT7623_PIN_120_MSDC0_DAT1_FUNC_NLD1>,
  332. + <MT7623_PIN_113_MSDC0_DAT5_FUNC_NLD5>,
  333. + <MT7623_PIN_115_MSDC0_RSTB_FUNC_NLD8>,
  334. + <MT7623_PIN_119_MSDC0_DAT2_FUNC_NLD2>;
  335. + input-enable;
  336. + drive-strength = <MTK_DRIVE_8mA>;
  337. + bias-pull-up;
  338. + };
  339. +
  340. + pins_we {
  341. + pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>;
  342. + drive-strength = <MTK_DRIVE_8mA>;
  343. + bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
  344. + };
  345. +
  346. + pins_ale {
  347. + pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>;
  348. + drive-strength = <MTK_DRIVE_8mA>;
  349. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  350. + };
  351. + };
  352. +
  353. + eth_default: eth {
  354. + pins_eth {
  355. + pinmux = <MT7623_PIN_275_G2_MDC_FUNC_MDC>,
  356. + <MT7623_PIN_276_G2_MDIO_FUNC_MDIO>,
  357. + <MT7623_PIN_262_G2_TXEN_FUNC_G2_TXEN>,
  358. + <MT7623_PIN_263_G2_TXD3_FUNC_G2_TXD3>,
  359. + <MT7623_PIN_264_G2_TXD2_FUNC_G2_TXD2>,
  360. + <MT7623_PIN_265_G2_TXD1_FUNC_G2_TXD1>,
  361. + <MT7623_PIN_266_G2_TXD0_FUNC_G2_TXD0>,
  362. + <MT7623_PIN_267_G2_TXCLK_FUNC_G2_TXC>,
  363. + <MT7623_PIN_268_G2_RXCLK_FUNC_G2_RXC>,
  364. + <MT7623_PIN_269_G2_RXD0_FUNC_G2_RXD0>,
  365. + <MT7623_PIN_270_G2_RXD1_FUNC_G2_RXD1>,
  366. + <MT7623_PIN_271_G2_RXD2_FUNC_G2_RXD2>,
  367. + <MT7623_PIN_272_G2_RXD3_FUNC_G2_RXD3>,
  368. + <MT7623_PIN_273_ESW_INT_FUNC_ESW_INT>,
  369. + <MT7623_PIN_274_G2_RXDV_FUNC_G2_RXDV>;
  370. + };
  371. +
  372. + pins_eth_rst {
  373. + pinmux = <MT7623_PIN_15_GPIO15_FUNC_GPIO15>;
  374. + output-low;
  375. + };
  376. + };
  377. +};
  378. +
  379. +&nandc {
  380. + status = "okay";
  381. + pinctrl-names = "default";
  382. + pinctrl-0 = <&nand_pins_default>;
  383. + nand@0 {
  384. + reg = <0>;
  385. + partitions {
  386. + compatible = "fixed-partitions";
  387. + #address-cells = <1>;
  388. + #size-cells = <1>;
  389. +
  390. + partition@C0000 {
  391. + label = "uboot-env";
  392. + reg = <0xC0000 0x40000>;
  393. + };
  394. +
  395. + partition@100000 {
  396. + label = "factory";
  397. + reg = <0x100000 0x40000>;
  398. + };
  399. +
  400. + partition@140000 {
  401. + label = "kernel";
  402. + reg = <0x140000 0x2000000>;
  403. + };
  404. +
  405. + partition@2140000 {
  406. + label = "recovery";
  407. + reg = <0x2140000 0x2000000>;
  408. + };
  409. +
  410. + partition@4140000 {
  411. + label = "rootfs";
  412. + reg = <0x4140000 0x1000000>;
  413. + };
  414. + };
  415. + };
  416. +};
  417. +&bch {
  418. + status = "okay";
  419. +};
  420. +
  421. +&usb1 {
  422. + vusb33-supply = <&mt6323_vusb_reg>;
  423. + vbus-supply = <&usb_p1_vbus>;
  424. + status = "okay";
  425. +};
  426. +
  427. +&u3phy1 {
  428. + status = "okay";
  429. +};
  430. +
  431. +&pcie {
  432. + status = "okay";
  433. +};
  434. +
  435. +&eth {
  436. + status = "okay";
  437. +};
  438. +
  439. +&gmac1 {
  440. + mac-address = [00 11 22 33 44 56];
  441. + status = "okay";
  442. +};
  443. +
  444. +&gmac2 {
  445. + mac-address = [00 11 22 33 44 55];
  446. + status = "okay";
  447. +};
  448. +
  449. +&gsw {
  450. + pinctrl-names = "default";
  451. + pinctrl-0 = <&eth_default>;
  452. + mediatek,reset-pin = <&pio 15 0>;
  453. + status = "okay";
  454. +};
  455. diff --git a/arch/arm/boot/dts/mt7623.dtsi b/arch/arm/boot/dts/mt7623.dtsi
  456. new file mode 100644
  457. index 0000000..cbbdf16
  458. --- /dev/null
  459. +++ b/arch/arm/boot/dts/mt7623.dtsi
  460. @@ -0,0 +1,601 @@
  461. +/*
  462. + * Copyright (c) 2016 MediaTek Inc.
  463. + * Author: John Crispin <[email protected]>
  464. + *
  465. + * This program is free software; you can redistribute it and/or modify
  466. + * it under the terms of the GNU General Public License version 2 as
  467. + * published by the Free Software Foundation.
  468. + *
  469. + * This program is distributed in the hope that it will be useful,
  470. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  471. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  472. + * GNU General Public License for more details.
  473. + */
  474. +
  475. +#include <dt-bindings/interrupt-controller/irq.h>
  476. +#include <dt-bindings/interrupt-controller/arm-gic.h>
  477. +#include <dt-bindings/clock/mt2701-clk.h>
  478. +#include <dt-bindings/power/mt2701-power.h>
  479. +#include <dt-bindings/phy/phy.h>
  480. +#include <dt-bindings/reset-controller/mt2701-resets.h>
  481. +#include <dt-bindings/pinctrl/mt7623-pinfunc.h>
  482. +#include "skeleton64.dtsi"
  483. +
  484. +
  485. +/ {
  486. + compatible = "mediatek,mt7623";
  487. + interrupt-parent = <&sysirq>;
  488. +
  489. + cpus {
  490. + #address-cells = <1>;
  491. + #size-cells = <0>;
  492. + enable-method = "mediatek,mt6589-smp";
  493. +
  494. + cpu0: cpu@0 {
  495. + device_type = "cpu";
  496. + compatible = "arm,cortex-a7";
  497. + reg = <0x0>;
  498. + clocks = <&infracfg CLK_INFRA_CPUSEL>,
  499. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  500. + clock-names = "cpu", "intermediate";
  501. + operating-points = <
  502. + 598000 1150000
  503. + 747500 1150000
  504. + 1040000 1150000
  505. + 1196000 1200000
  506. + 1300000 1300000
  507. + >;
  508. + };
  509. + cpu1: cpu@1 {
  510. + device_type = "cpu";
  511. + compatible = "arm,cortex-a7";
  512. + reg = <0x1>;
  513. + clocks = <&infracfg CLK_INFRA_CPUSEL>,
  514. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  515. + clock-names = "cpu", "intermediate";
  516. + operating-points = <
  517. + 598000 1150000
  518. + 747500 1150000
  519. + 1040000 1150000
  520. + 1196000 1200000
  521. + 1300000 1300000
  522. + >;
  523. + };
  524. + cpu2: cpu@2 {
  525. + device_type = "cpu";
  526. + compatible = "arm,cortex-a7";
  527. + reg = <0x2>;
  528. + clocks = <&infracfg CLK_INFRA_CPUSEL>,
  529. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  530. + clock-names = "cpu", "intermediate";
  531. + operating-points = <
  532. + 598000 1150000
  533. + 747500 1150000
  534. + 1040000 1150000
  535. + 1196000 1200000
  536. + 1300000 1300000
  537. + >;
  538. + };
  539. + cpu3: cpu@3 {
  540. + device_type = "cpu";
  541. + compatible = "arm,cortex-a7";
  542. + reg = <0x3>;
  543. + clocks = <&infracfg CLK_INFRA_CPUSEL>,
  544. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  545. + clock-names = "cpu", "intermediate";
  546. + operating-points = <
  547. + 598000 1150000
  548. + 747500 1150000
  549. + 1040000 1150000
  550. + 1196000 1200000
  551. + 1300000 1300000
  552. + >;
  553. + };
  554. + };
  555. +
  556. + system_clk: dummy13m {
  557. + compatible = "fixed-clock";
  558. + clock-frequency = <13000000>;
  559. + #clock-cells = <0>;
  560. + };
  561. +
  562. + rtc_clk: dummy32k {
  563. + compatible = "fixed-clock";
  564. + clock-frequency = <32000>;
  565. + #clock-cells = <0>;
  566. + clock-output-names = "clk32k";
  567. + };
  568. +
  569. + clk26m: dummy26m {
  570. + compatible = "fixed-clock";
  571. + clock-frequency = <26000000>;
  572. + #clock-cells = <0>;
  573. + clock-output-names = "clk26m";
  574. + };
  575. +
  576. + timer {
  577. + compatible = "arm,armv7-timer";
  578. + interrupt-parent = <&gic>;
  579. + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  580. + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  581. + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  582. + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  583. + clock-frequency = <13000000>;
  584. + arm,cpu-registers-not-fw-configured;
  585. + };
  586. +
  587. + topckgen: power-controller@10000000 {
  588. + compatible = "mediatek,mt7623-topckgen",
  589. + "mediatek,mt2701-topckgen",
  590. + "syscon";
  591. + reg = <0 0x10000000 0 0x1000>;
  592. + #clock-cells = <1>;
  593. + };
  594. +
  595. + infracfg: power-controller@10001000 {
  596. + compatible = "mediatek,mt7623-infracfg",
  597. + "mediatek,mt2701-infracfg",
  598. + "syscon";
  599. + reg = <0 0x10001000 0 0x1000>;
  600. + #clock-cells = <1>;
  601. + #reset-cells = <1>;
  602. + };
  603. +
  604. + pericfg: pericfg@10003000 {
  605. + compatible = "mediatek,mt7623-pericfg",
  606. + "mediatek,mt2701-pericfg",
  607. + "syscon";
  608. + reg = <0 0x10003000 0 0x1000>;
  609. + #clock-cells = <1>;
  610. + #reset-cells = <1>;
  611. + };
  612. +
  613. + pio: pinctrl@10005000 {
  614. + compatible = "mediatek,mt7623-pinctrl";
  615. + reg = <0 0x1000b000 0 0x1000>;
  616. + mediatek,pctl-regmap = <&syscfg_pctl_a>;
  617. + pins-are-numbered;
  618. + gpio-controller;
  619. + #gpio-cells = <2>;
  620. + interrupt-controller;
  621. + interrupt-parent = <&gic>;
  622. + #interrupt-cells = <2>;
  623. + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  624. + <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  625. + };
  626. +
  627. + syscfg_pctl_a: syscfg@10005000 {
  628. + compatible = "mediatek,mt7623-pctl-a-syscfg", "syscon";
  629. + reg = <0 0x10005000 0 0x1000>;
  630. + };
  631. +
  632. + scpsys: scpsys@10006000 {
  633. + #power-domain-cells = <1>;
  634. + compatible = "mediatek,mt7623-scpsys",
  635. + "mediatek,mt2701-scpsys";
  636. + reg = <0 0x10006000 0 0x1000>;
  637. + infracfg = <&infracfg>;
  638. + clocks = <&clk26m>,
  639. + <&topckgen CLK_TOP_MM_SEL>;
  640. + clock-names = "mfg", "mm";
  641. + };
  642. +
  643. + watchdog: watchdog@10007000 {
  644. + compatible = "mediatek,mt7623-wdt",
  645. + "mediatek,mt6589-wdt";
  646. + reg = <0 0x10007000 0 0x100>;
  647. + };
  648. +
  649. + timer: timer@10008000 {
  650. + compatible = "mediatek,mt7623-timer",
  651. + "mediatek,mt6577-timer";
  652. + reg = <0 0x10008000 0 0x80>;
  653. + interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
  654. + clocks = <&system_clk>, <&rtc_clk>;
  655. + clock-names = "system-clk", "rtc-clk";
  656. + };
  657. +
  658. + pwrap: pwrap@1000d000 {
  659. + compatible = "mediatek,mt7623-pwrap",
  660. + "mediatek,mt2701-pwrap";
  661. + reg = <0 0x1000d000 0 0x1000>;
  662. + reg-names = "pwrap";
  663. + interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  664. + resets = <&infracfg MT2701_INFRA_PMIC_WRAP_RST>;
  665. + reset-names = "pwrap";
  666. + clocks = <&infracfg CLK_INFRA_PMICSPI>,
  667. + <&infracfg CLK_INFRA_PMICWRAP>;
  668. + clock-names = "spi", "wrap";
  669. + };
  670. +
  671. + sysirq: interrupt-controller@10200100 {
  672. + compatible = "mediatek,mt7623-sysirq",
  673. + "mediatek,mt6577-sysirq";
  674. + interrupt-controller;
  675. + #interrupt-cells = <3>;
  676. + interrupt-parent = <&gic>;
  677. + reg = <0 0x10200100 0 0x1c>;
  678. + };
  679. +
  680. + apmixedsys: apmixedsys@10209000 {
  681. + compatible = "mediatek,mt7623-apmixedsys",
  682. + "mediatek,mt2701-apmixedsys";
  683. + reg = <0 0x10209000 0 0x1000>;
  684. + #clock-cells = <1>;
  685. + };
  686. +
  687. + gic: interrupt-controller@10211000 {
  688. + compatible = "arm,cortex-a7-gic";
  689. + interrupt-controller;
  690. + #interrupt-cells = <3>;
  691. + interrupt-parent = <&gic>;
  692. + reg = <0 0x10211000 0 0x1000>,
  693. + <0 0x10212000 0 0x1000>,
  694. + <0 0x10214000 0 0x2000>,
  695. + <0 0x10216000 0 0x2000>;
  696. + };
  697. +
  698. + i2c0: i2c@11007000 {
  699. + compatible = "mediatek,mt7623-i2c",
  700. + "mediatek,mt6577-i2c";
  701. + reg = <0 0x11007000 0 0x70>,
  702. + <0 0x11000200 0 0x80>;
  703. + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
  704. + clock-div = <16>;
  705. + clocks = <&pericfg CLK_PERI_I2C0>,
  706. + <&pericfg CLK_PERI_AP_DMA>;
  707. + clock-names = "main", "dma";
  708. + #address-cells = <1>;
  709. + #size-cells = <0>;
  710. + status = "disabled";
  711. + };
  712. +
  713. + i2c1: i2c@11008000 {
  714. + compatible = "mediatek,mt7623-i2c",
  715. + "mediatek,mt6577-i2c";
  716. + reg = <0 0x11008000 0 0x70>,
  717. + <0 0x11000280 0 0x80>;
  718. + interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>;
  719. + clock-div = <16>;
  720. + clocks = <&pericfg CLK_PERI_I2C1>,
  721. + <&pericfg CLK_PERI_AP_DMA>;
  722. + clock-names = "main", "dma";
  723. + #address-cells = <1>;
  724. + #size-cells = <0>;
  725. + status = "disabled";
  726. + };
  727. +
  728. + i2c2: i2c@11009000 {
  729. + compatible = "mediatek,mt7623-i2c",
  730. + "mediatek,mt6577-i2c";
  731. + reg = <0 0x11009000 0 0x70>,
  732. + <0 0x11000300 0 0x80>;
  733. + interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>;
  734. + clock-div = <16>;
  735. + clocks = <&pericfg CLK_PERI_I2C2>,
  736. + <&pericfg CLK_PERI_AP_DMA>;
  737. + clock-names = "main", "dma";
  738. + #address-cells = <1>;
  739. + #size-cells = <0>;
  740. + status = "disabled";
  741. + };
  742. +
  743. + uart0: serial@11002000 {
  744. + compatible = "mediatek,mt7623-uart",
  745. + "mediatek,mt6577-uart";
  746. + reg = <0 0x11002000 0 0x400>;
  747. + interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
  748. + clocks = <&pericfg CLK_PERI_UART0_SEL>,
  749. + <&pericfg CLK_PERI_UART0>;
  750. + clock-names = "baud", "bus";
  751. + status = "disabled";
  752. + };
  753. +
  754. + uart1: serial@11003000 {
  755. + compatible = "mediatek,mt7623-uart",
  756. + "mediatek,mt6577-uart";
  757. + reg = <0 0x11003000 0 0x400>;
  758. + interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
  759. + clocks = <&pericfg CLK_PERI_UART1_SEL>,
  760. + <&pericfg CLK_PERI_UART1>;
  761. + clock-names = "baud", "bus";
  762. + status = "disabled";
  763. + };
  764. +
  765. + uart2: serial@11004000 {
  766. + compatible = "mediatek,mt7623-uart",
  767. + "mediatek,mt6577-uart";
  768. + reg = <0 0x11004000 0 0x400>;
  769. + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
  770. + clocks = <&pericfg CLK_PERI_UART2_SEL>,
  771. + <&pericfg CLK_PERI_UART2>;
  772. + clock-names = "baud", "bus";
  773. + status = "disabled";
  774. + };
  775. +
  776. + uart3: serial@11005000 {
  777. + compatible = "mediatek,mt7623-uart",
  778. + "mediatek,mt6577-uart";
  779. + reg = <0 0x11005000 0 0x400>;
  780. + interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
  781. + clocks = <&pericfg CLK_PERI_UART3_SEL>,
  782. + <&pericfg CLK_PERI_UART3>;
  783. + clock-names = "baud", "bus";
  784. + status = "disabled";
  785. + };
  786. +
  787. + spi: spi@1100a000 {
  788. + compatible = "mediatek,mt7623-spi", "mediatek,mt6589-spi";
  789. + reg = <0 0x1100a000 0 0x1000>;
  790. + interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
  791. + clocks = <&pericfg CLK_PERI_SPI0>;
  792. + clock-names = "main";
  793. +
  794. + status = "disabled";
  795. + };
  796. +
  797. + nandc: nfi@1100d000 {
  798. + compatible = "mediatek,mt2701-nfc";
  799. + reg = <0 0x1100d000 0 0x1000>;
  800. + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
  801. + power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
  802. + clocks = <&pericfg CLK_PERI_NFI>,
  803. + <&pericfg CLK_PERI_NFI_PAD>;
  804. + clock-names = "nfi_clk", "pad_clk";
  805. + status = "disabled";
  806. + ecc-engine = <&bch>;
  807. + #address-cells = <1>;
  808. + #size-cells = <0>;
  809. + };
  810. +
  811. + bch: ecc@1100e000 {
  812. + compatible = "mediatek,mt2701-ecc";
  813. + reg = <0 0x1100e000 0 0x1000>;
  814. + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>;
  815. + clocks = <&pericfg CLK_PERI_NFI_ECC>;
  816. + clock-names = "nfiecc_clk";
  817. + status = "disabled";
  818. + };
  819. +
  820. + mmc0: mmc@11230000 {
  821. + compatible = "mediatek,mt7623-mmc",
  822. + "mediatek,mt8135-mmc";
  823. + reg = <0 0x11230000 0 0x1000>;
  824. + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_LOW>;
  825. + clocks = <&pericfg CLK_PERI_MSDC30_0>,
  826. + <&topckgen CLK_TOP_MSDC30_0_SEL>;
  827. + clock-names = "source", "hclk";
  828. + status = "disabled";
  829. + };
  830. +
  831. + mmc1: mmc@11240000 {
  832. + compatible = "mediatek,mt7623-mmc",
  833. + "mediatek,mt8135-mmc";
  834. + reg = <0 0x11240000 0 0x1000>;
  835. + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
  836. + clocks = <&pericfg CLK_PERI_MSDC30_1>,
  837. + <&topckgen CLK_TOP_MSDC30_1_SEL>;
  838. + clock-names = "source", "hclk";
  839. + status = "disabled";
  840. + };
  841. +
  842. + usb1: usb@1a1c0000 {
  843. + compatible = "mediatek,mt2701-xhci",
  844. + "mediatek,mt8173-xhci";
  845. + reg = <0 0x1a1c0000 0 0x1000>,
  846. + <0 0x1a1c4700 0 0x0100>;
  847. + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
  848. + clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
  849. + <&topckgen CLK_TOP_ETHIF_SEL>;
  850. + clock-names = "sys_ck", "ethif";
  851. + power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  852. + phys = <&phy_port0 PHY_TYPE_USB3>;
  853. + status = "disabled";
  854. + };
  855. +
  856. + u3phy1: usb-phy@1a1c4000 {
  857. + compatible = "mediatek,mt2701-u3phy",
  858. + "mediatek,mt8173-u3phy";
  859. + reg = <0 0x1a1c4000 0 0x0700>;
  860. + clocks = <&clk26m>;
  861. + clock-names = "u3phya_ref";
  862. + #phy-cells = <1>;
  863. + #address-cells = <2>;
  864. + #size-cells = <2>;
  865. + ranges;
  866. + status = "disabled";
  867. +
  868. + phy_port0: phy_port0: port@1a1c4800 {
  869. + reg = <0 0x1a1c4800 0 0x800>;
  870. + #phy-cells = <1>;
  871. + status = "okay";
  872. + };
  873. + };
  874. +
  875. + usb2: usb@1a240000 {
  876. + compatible = "mediatek,mt2701-xhci",
  877. + "mediatek,mt8173-xhci";
  878. + reg = <0 0x1a240000 0 0x1000>,
  879. + <0 0x1a244700 0 0x0100>;
  880. + interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
  881. + clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
  882. + <&topckgen CLK_TOP_ETHIF_SEL>;
  883. + clock-names = "sys_ck", "ethif";
  884. + power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  885. + phys = <&u3phy2 0>;
  886. + status = "disabled";
  887. + };
  888. +
  889. + u3phy2: usb-phy@1a244000 {
  890. + compatible = "mediatek,mt2701-u3phy",
  891. + "mediatek,mt8173-u3phy";
  892. + reg = <0 0x1a244000 0 0x0700>,
  893. + <0 0x1a244800 0 0x0800>;
  894. + clocks = <&clk26m>;
  895. + clock-names = "u3phya_ref";
  896. + #phy-cells = <1>;
  897. + status = "disabled";
  898. + };
  899. +
  900. + hifsys: clock-controller@1a000000 {
  901. + compatible = "mediatek,mt7623-hifsys",
  902. + "mediatek,mt2701-hifsys",
  903. + "syscon";
  904. + reg = <0 0x1a000000 0 0x1000>;
  905. + #clock-cells = <1>;
  906. + #reset-cells = <1>;
  907. + };
  908. +
  909. + pcie: pcie@1a140000 {
  910. + compatible = "mediatek,mt7623-pcie";
  911. + device_type = "pci";
  912. + reg = <0 0x1a140000 0 0x8000>, /* PCI-Express registers */
  913. + <0 0x1a149000 0 0x1000>, /* PCI-Express PHY0 */
  914. + <0 0x1a14a000 0 0x1000>, /* PCI-Express PHY1 */
  915. + <0 0x1a244000 0 0x1000>; /* PCI-Express PHY2 */
  916. + reg-names = "pcie", "pcie phy0", "pcie phy1", "pcie phy2";
  917. + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>,
  918. + <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>,
  919. + <GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
  920. + interrupt-names = "pcie0", "pcie1", "pcie2";
  921. + clocks = <&topckgen CLK_TOP_ETHIF_SEL>;
  922. + clock-names = "pcie";
  923. + power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
  924. + resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>,
  925. + <&hifsys MT2701_HIFSYS_PCIE1_RST>,
  926. + <&hifsys MT2701_HIFSYS_PCIE2_RST>;
  927. + reset-names = "pcie0", "pcie1", "pcie2";
  928. +
  929. + mediatek,hifsys = <&hifsys>;
  930. +
  931. + bus-range = <0x00 0xff>;
  932. + #address-cells = <3>;
  933. + #size-cells = <2>;
  934. +
  935. + ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000 /* io space */
  936. + 0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>; /* pci memory */
  937. +
  938. + status = "disabled";
  939. +
  940. + pcie@1,0 {
  941. + device_type = "pci";
  942. + reg = <0x0800 0 0 0 0>;
  943. +
  944. + #address-cells = <3>;
  945. + #size-cells = <2>;
  946. + ranges;
  947. + };
  948. +
  949. + pcie@2,0{
  950. + device_type = "pci";
  951. + reg = <0x1000 0 0 0 0>;
  952. +
  953. + #address-cells = <3>;
  954. + #size-cells = <2>;
  955. + ranges;
  956. + };
  957. +
  958. + pcie@3,0{
  959. + device_type = "pci";
  960. + reg = <0x1800 0 0 0 0>;
  961. +
  962. + #address-cells = <3>;
  963. + #size-cells = <2>;
  964. + ranges;
  965. + };
  966. + };
  967. +
  968. + ethsys: syscon@1b000000 {
  969. + compatible = "mediatek,mt2701-ethsys", "syscon";
  970. + reg = <0 0x1b000000 0 0x1000>;
  971. + #reset-cells = <1>;
  972. + #clock-cells = <1>;
  973. + };
  974. +
  975. + eth: ethernet@1b100000 {
  976. + compatible = "mediatek,mt7623-eth";
  977. + reg = <0 0x1b100000 0 0x20000>;
  978. +
  979. + clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
  980. + <&ethsys CLK_ETHSYS_ESW>,
  981. + <&ethsys CLK_ETHSYS_GP2>,
  982. + <&ethsys CLK_ETHSYS_GP1>;
  983. + clock-names = "ethif", "esw", "gp2", "gp1";
  984. + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW
  985. + GIC_SPI 199 IRQ_TYPE_LEVEL_LOW
  986. + GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
  987. + power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
  988. +
  989. + resets = <&ethsys 6>;
  990. + reset-names = "eth";
  991. +
  992. + mediatek,ethsys = <&ethsys>;
  993. + mediatek,pctl = <&syscfg_pctl_a>;
  994. +
  995. + mediatek,switch = <&gsw>;
  996. +
  997. + #address-cells = <1>;
  998. + #size-cells = <0>;
  999. +
  1000. + status = "disabled";
  1001. +
  1002. + gmac1: mac@0 {
  1003. + compatible = "mediatek,eth-mac";
  1004. + reg = <0>;
  1005. +
  1006. + status = "disabled";
  1007. +
  1008. + phy-mode = "rgmii";
  1009. +
  1010. + fixed-link {
  1011. + speed = <1000>;
  1012. + full-duplex;
  1013. + pause;
  1014. + };
  1015. + };
  1016. +
  1017. + gmac2: mac@1 {
  1018. + compatible = "mediatek,eth-mac";
  1019. + reg = <1>;
  1020. +
  1021. + status = "disabled";
  1022. +
  1023. + phy-mode = "rgmii";
  1024. +
  1025. + fixed-link {
  1026. + speed = <1000>;
  1027. + full-duplex;
  1028. + pause;
  1029. + };
  1030. + };
  1031. +
  1032. + mdio-bus {
  1033. + #address-cells = <1>;
  1034. + #size-cells = <0>;
  1035. +
  1036. + phy5: ethernet-phy@5 {
  1037. + reg = <5>;
  1038. + phy-mode = "rgmii-rxid";
  1039. + };
  1040. +
  1041. + phy1f: ethernet-phy@1f {
  1042. + reg = <0x1f>;
  1043. + phy-mode = "rgmii";
  1044. + };
  1045. + };
  1046. + };
  1047. +
  1048. + gsw: switch@1b100000 {
  1049. + compatible = "mediatek,mt7623-gsw";
  1050. + interrupt-parent = <&pio>;
  1051. + interrupts = <168 IRQ_TYPE_EDGE_RISING>;
  1052. + resets = <&ethsys 2>;
  1053. + reset-names = "eth";
  1054. + clocks = <&apmixedsys CLK_APMIXED_TRGPLL>;
  1055. + clock-names = "trgpll";
  1056. + mt7530-supply = <&mt6323_vpa_reg>;
  1057. + mediatek,pctl-regmap = <&syscfg_pctl_a>;
  1058. + mediatek,ethsys = <&ethsys>;
  1059. + status = "disabled";
  1060. + };
  1061. +};
  1062. diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
  1063. index 37dd438..7fb605e 100644
  1064. --- a/arch/arm/mach-mediatek/Kconfig
  1065. +++ b/arch/arm/mach-mediatek/Kconfig
  1066. @@ -21,6 +21,10 @@ config MACH_MT6592
  1067. bool "MediaTek MT6592 SoCs support"
  1068. default ARCH_MEDIATEK
  1069. +config MACH_MT7623
  1070. + bool "MediaTek MT7623 SoCs support"
  1071. + default ARCH_MEDIATEK
  1072. +
  1073. config MACH_MT8127
  1074. bool "MediaTek MT8127 SoCs support"
  1075. default ARCH_MEDIATEK
  1076. diff --git a/arch/arm/mach-mediatek/mediatek.c b/arch/arm/mach-mediatek/mediatek.c
  1077. index d019a08..bcfca37 100644
  1078. --- a/arch/arm/mach-mediatek/mediatek.c
  1079. +++ b/arch/arm/mach-mediatek/mediatek.c
  1080. @@ -46,6 +46,7 @@ static void __init mediatek_timer_init(void)
  1081. static const char * const mediatek_board_dt_compat[] = {
  1082. "mediatek,mt6589",
  1083. "mediatek,mt6592",
  1084. + "mediatek,mt7623",
  1085. "mediatek,mt8127",
  1086. "mediatek,mt8135",
  1087. NULL,
  1088. --
  1089. 1.7.10.4