blob: dea3101b5eb3faf7b717f3612c761ef8f8b5ee20 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2023 ASR Microelectronics Co., Ltd.
4 */
5
6/dts-v1/;
7#include "asr1806.dtsi"
8
9/ {
10 model = "ASR 1806(FALCON-T) Board EVB";
11 compatible = "asr,1803-evb", "asr,1803";
12
13 chosen {
14 bootargs = "root=/dev/mtdblock5 rootfstype=squashfs init=/etc/preinit noinitrd console=ttyS0,115200 mem=128M";
15 };
16
17 memory {
18 reg = <0x00000000 0x10000000>;
19 };
20
21 firmware {
22 optee {
23 compatible = "linaro,optee-tz";
24 method = "smc";
25 };
26 };
27
28 soc {
29 axi@d4200000 { /* AXI */
30 usbphy: usbphy@d4207000 {
31 status = "okay";
32 };
33#ifdef CONFIG_USB_DWC2_ASR_OTG /* otg mode */
34 usb: usb@c0000000 {
35 dr_mode = "otg";
36 pinctrl-names = "default","sleep";
37 pinctrl-0 = <&usb_id_pinmux &usb_host_pinmux>;
38 pinctrl-1 = <&usb_id_pinmux_slp &usb_host_pinmux>;
39 usbid_gpio = <99>;
40 edge_detect_gpio = <99>;
41 otg,use-gpio-vbus;
42 gpio-num = <122>;
43 status = "okay";
44 };
45#else
46 usb: usb@c0000000 {
47 status = "okay";
48 };
49#endif
50
51 eth0: asr-eth@0xd4281800 {
52 compatible = "asr,asr-eth";
hj.shao213a35e2025-06-24 04:25:54 -070053 pinctrl-names = "default", "rgmii-pins", "sleep";
b.liue9582032025-04-17 19:18:16 +080054 pinctrl-0 = <&emac_pmx_func0 &emac_pmx_func2 &emac_pmx_func3>;
hj.shao213a35e2025-06-24 04:25:54 -070055 pinctrl-1 = <&emac_pmx_func0 &emac_pmx_func1 &emac_pmx_func2 &emac_pmx_func3>;
56 pinctrl-2 = <&emac_pmx_func0_slp &emac_pmx_func1_slp &emac_pmx_func2_slp>;
57
b.liue9582032025-04-17 19:18:16 +080058 reg = <0xd4281800 0x200>;
59 interrupts = <10 11>;
60 lpm-qos = <PM_QOS_CPUIDLE_BLOCK_AXI>;
61 clocks = <&soc_clocks ASR1803_CLK_EMAC
62 &soc_clocks ASR1803_CLK_EMAC_PTP>;
63 clock-names = "emac-clk", "ptp-clk";
64 ptp-support;
65 ptp-clk-rate = <100000000>;
66 status = "okay";
b.liub17525e2025-05-14 17:22:29 +080067 enable-suspend;
hj.shaof72d6ff2025-06-10 04:34:26 -070068 // reset-gpio = <&gpio 42 0>;
69 // reset-active-low;
70 // reset-delays-us = <100000 100000 100000>;
71 local-mac-address = [02 00 00 00 10 01];
b.liub17525e2025-05-14 17:22:29 +080072 //ldo-gpio = <&gpio 40 0>;
73 //ldo-active-low;
74 // ldo-delays-us = <0 100000 100000>;
75 //vmmc-supply = <0x19>;
76 mdio-clk-div = <254>;
b.liue9582032025-04-17 19:18:16 +080077 flow-control-threshold = <60 90>;
78 clk-tuning-enable;
79 /* clk-config(32bit)
80 *
81 * clk_sel(clk-config[23:16])
82 * RGMII:
83 * tx | clk_sel: 0 - from external RX clock
84 * 1 - from inverted external RX clock
85 * rx | clk_sel: 0 - from external RX clock
86 * 1 - from inverted external RX clock
87 *
88 * RMII:
89 * tx | clk_sel: 0 - RMII clock
90 * 1 - Inverted RMII clock
91 * rx | clk_sel: 0 - RMII clock
92 * 1 - Inverted RMII clock
93 *
94 */
95#if 0
96 /* enable 1000M phy*/
97 3v3-enable = <0>; /* IO voltage, 1 - 3.3v, 0 - 1.8v */
b.liub17525e2025-05-14 17:22:29 +080098 phy-handle = <&phy3>;
b.liue9582032025-04-17 19:18:16 +080099#else
100 /* enable 100M phy*/
b.liub17525e2025-05-14 17:22:29 +0800101 3v3-enable = <0>; /* IO voltage, 1 - 3.3v, 0 - 1.8v */
hj.shaofe1632a2025-06-05 00:19:33 -0700102 phy-handle = <&phy0>;
b.liue9582032025-04-17 19:18:16 +0800103#endif
104 /* enable fix link for ethernet switch */
105 /*
106 fixed-link {
107 speed = <100>;
108 full-duplex;
109 phy-mode = "rmii";
110 };
111 */
112
113 mdio: mdio-bus {
114 #address-cells = <0x1>;
115 #size-cells = <0x0>;
116 /* YT8521 10M/100M/100OM 1.8V RGMII PHY */
117 phy0: phy@0 {
118 compatible = "ethernet-phy-ieee802.3-c22";
119 device_type = "ethernet-phy";
120 reg = <0x0>; /* set phy address*/
hj.shaof72d6ff2025-06-10 04:34:26 -0700121 rst-gpio = <&gpio 42 0>;
hj.shaofb3ba9b2025-06-19 02:53:56 -0700122 //#LYNQ_MODFIY modify for task-1618 2025/6/19 start
123 power-en-gpio = <&gpio 32 1>;
124 //#LYNQ_MODFIY modify for task-1618 2025/6/19 end
b.liue9582032025-04-17 19:18:16 +0800125 phy-mode = "rgmii";
hj.shaofe1632a2025-06-05 00:19:33 -0700126 // tx_rx_delay = <0xb 0x0>; /* 150ps per step*/
b.liue9582032025-04-17 19:18:16 +0800127 };
128
129 /* YT8512B 10M/100M 3.3V RMII PHY */
b.liub17525e2025-05-14 17:22:29 +0800130 // phy3: phy@3 {
131 // compatible = "ethernet-phy-ieee802.3-c22";
132 // device_type = "ethernet-phy";
133 // reg = <0x3>; /* set phy address*/
134 // phy-mode = "rmii";
135 // driver_strength = <0x3>;
136 // };
b.liue9582032025-04-17 19:18:16 +0800137
138 /* IP175D 10M/100M 3.3V RMII SWITCH */
139 phy1: phy@1 {
140 compatible = "ethernet-phy-ieee802.3-c22";
141 device_type = "ethernet-phy";
142 reg = <0x1>; /* set phy address*/
143 phy-mode = "rmii";
144 };
b.liub17525e2025-05-14 17:22:29 +0800145
146
147 /* jl 3103 phy */
148 phy3: phy@3 {
149 compatible = "ethernet-phy-ieee802.3-c22";
150 device_type = "ethernet-phy";
151 reg = <0x3>; /* set phy address*/
152 phy-mode = "rgmii-id";
153 lynq,jl3103=<100 0>;
154 };
b.liue9582032025-04-17 19:18:16 +0800155 };
156 };
157 qspi: spi@0xd420b000 {
158 asr,qspi-freq = <78000000>;
159 status = "okay";
160 };
zw.wang3ef3a312025-06-13 16:21:25 +0800161
162#if 0
b.liue9582032025-04-17 19:18:16 +0800163 /* SD card */
164 sdh0: sdh@d4280000 {
165 pinctrl-names = "default", "slow", "fast", "sleep";
166 pinctrl-0 = <&sdh0_pmx_func1 &sdh0_pmx_func2 &sdh0_pmx_func3>;
167 pinctrl-1 = <&sdh0_pmx_func1_slow &sdh0_pmx_func2_slow &sdh0_pmx_func3>;
168 pinctrl-2 = <&sdh0_pmx_func1_fast &sdh0_pmx_func2_fast &sdh0_pmx_func3>;
169 pinctrl-3 = <&sdh0_pmx_cd_wakeup>;
170 /*
171 * Genernal use, juse set vmmc-supply and vqmmc-supply
172 * vmmc-supply = <&supply1>
173 * vqmmc-supply = <&supply2>
174 *
175 * For compatibility, to select one from two supply source
176 * vmmc-supply = <&supply1 &supply1_backup>;
177 * vqmmc-supply = <&supply2 &supply2_backup>;
178 * vmmc2-supply = <&supply1_backup &supply1>;
179 * vqmmc2-supply = <&supply2_backup &supply2>;
180 */
181 vmmc-supply = <&vcc_sdh1>;
zw.wang5deb3e82025-05-30 11:29:23 +0800182 vqmmc-supply = <&pm802ldo6 &pm803ldo8>;
b.liue9582032025-04-17 19:18:16 +0800183#ifndef CONFIG_ASR_DSDS
184 vmmc2-supply = <&vcc_sdh1 &pm802ldo4>;
185 vqmmc2-supply = <&pm803ldo8 &pm802ldo6>;
186#endif
187 bus-width = <4>;
188 no-mmc;
189 no-sdio;
190 /*non-removable;
191 broken-cd;*/
192 wp-inverted;
193 asr,sdh-pm-runtime-en;
194 asr,sdh-host-caps-disable = <(MMC_CAP_UHS_SDR104)>;
195#if 1 /* CD via gpio */
zw.wang5deb3e82025-05-30 11:29:23 +0800196 //cd-gpios = <&gpio 90 1>;
b.liue9582032025-04-17 19:18:16 +0800197 asr,sdh-quirks2 = <(
198 SDHCI_QUIRK2_SET_AIB_MMC |
199 SDHCI_QUIRK2_PRESET_VALUE_BROKEN
200 )>;
201 asr,sdh-host-caps = <(
202 MMC_CAP_CD_WAKE
203 )>;
204 asr,sdh-quirks = <(
205 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
206 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
207 )>;
208#else /* CD via SDH */
209 asr,sdh-quirks = <(
210 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
211 )>;
212 asr,sdh-quirks2 = <(
213 SDHCI_QUIRK2_SET_AIB_MMC |
214 SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
215 SDHCI_QUIRK2_BASE_CLOCK_ALWAYS_ON
216 )>;
217#endif
218 /* prop "sdh-dtr-data":
219 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
220 asr,sdh-dtr-data =
221 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
222 <PXA_MMC_TIMING_SD_HS PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 0>,
223 <PXA_MMC_TIMING_UHS_DDR50 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
224 <PXA_MMC_TIMING_UHS_SDR50 PXA_SDH_DTR_104M PXA_SDH_DTR_208M 0 0 0 0>,
225 <PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 0 0 0 0>,
226 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_104M 0 0 0 0>;
227 status = "okay";
228 };
zw.wang3ef3a312025-06-13 16:21:25 +0800229#endif
230 /* EMMC*/
231 sdh0: sdh@d4280000 {
232 pinctrl-names = "default", "slow", "fast";
233 pinctrl-0 = <&sdh0_pmx_func1 &sdh0_pmx_func2 &sdh0_pmx_func3>;
234 pinctrl-1 = <&sdh0_pmx_func1_slow &sdh0_pmx_func2_slow &sdh0_pmx_func3>;
235 pinctrl-2 = <&sdh0_pmx_func1_fast &sdh0_pmx_func2_fast &sdh0_pmx_func3>;
236 vmmc-supply = <&pm803ldo6 &pm803ldo8>;
237 bus-width = <4>;
238 no-sdio;
239 no-sd;
240 non-removable;
241 broken-cd;
242 wp-inverted;
243 asr,sdh-pm-runtime-en;
244 cap-mmc-highspeed;
245 mmc-ddr-1_8v;
246 asr,sdh-host-caps-disable = <(MMC_CAP_1_2V_DDR)>;
247 asr,sdh-host-caps2-disable = <(MMC_CAP2_HSX00_1_2V | MMC_CAP2_HS400 |MMC_CAP2_HS200)>;
248 asr,sdh-host-caps2 = <(
249 MMC_CAP2_ONLY_1_8V
250 )>;
251 asr,sdh-quirks = <(
252 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
253 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
254 )>;
255 asr,sdh-quirks2 = <(
256 SDHCI_QUIRK2_SET_AIB_MMC |
257 SDHCI_QUIRK2_PRESET_VALUE_BROKEN
258 )>;
259 /* prop "sdh-dtr-data":
260 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
261 asr,sdh-dtr-data =
262 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
263 <PXA_MMC_TIMING_MMC_HS PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 0>,
264 <PXA_MMC_TIMING_MMC_DDR52 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
265 <PXA_MMC_TIMING_MMC_HS200 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 53 0 0 0>,
266 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_89M 0 0 0 0>;
267 status = "okay";
268 };
b.liue9582032025-04-17 19:18:16 +0800269
270 /* SDIO */
271 sdh1: sdh@d4280800 {
272 pinctrl-names = "default", "fast", "sleep";
b.liub17525e2025-05-14 17:22:29 +0800273 pinctrl-0 = <&sdh1_pmx_func1 &sdh1_pmx_func2>;
274 pinctrl-1 = <&sdh1_pmx_func1_fast &sdh1_pmx_func2_fast>;
275 /* pinctrl-2 = <&sdh1_pmx_edge_wakeup>;*/
b.liue9582032025-04-17 19:18:16 +0800276 bus-width = <4>;
277 no-mmc;
278 no-sd;
279 non-removable;
280 keep-power-in-suspend;
281 enable-sdio-wakeup;
282 /* clk-scaling-config:
283 <up_threshold down_threshold polling_interval> */
284 clk-scaling-config = <25 12 200>;
285 min-ddr-qos = <156000 312000 400000>;
286 asr,sdh-pm-runtime-en;
287 asr,sdh-quirks = <(
288 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
289 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
290 )>;
291 asr,sdh-quirks2 = <(
292 SDHCI_QUIRK2_NO_TIMER_RETUNING |
293 SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
294 SDHCI_QUIRK2_BASE_CLOCK_ALWAYS_ON
295 )>;
296 asr,sdh-pm-caps = <(MMC_PM_KEEP_POWER)>;
297 asr,sdh-host-caps2 = <(
298 MMC_CAP2_ONLY_1_8V |
299 MMC_CAP2_DISABLE_PROBE_CDSCAN |
300 MMC_CAP2_CLK_SCALE |
301 MMC_CAP2_BUS_CLK_NO_SCALE
302 )>;
303 /* prop "sdh-dtr-data":
304 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
305 asr,sdh-dtr-data =
306 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
307 <PXA_MMC_TIMING_SD_HS PXA_SDH_DTR_45M PXA_SDH_DTR_89M 0 0 0 0>,
308 <PXA_MMC_TIMING_UHS_DDR50 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
309 <PXA_MMC_TIMING_UHS_SDR50 PXA_SDH_DTR_83M PXA_SDH_DTR_83M 0 0 0 3>,
b.liub17525e2025-05-14 17:22:29 +0800310 //<PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 0 0 0 0>,
311 <PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_52M PXA_SDH_DTR_52M 0 0 0 0>,
b.liue9582032025-04-17 19:18:16 +0800312 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_89M 0 0 0 0>;
313 status = "okay";
314 };
315 pcie0: pcie@0xd4288000{
316 reset-gpios = <&gpio 42 0 >;
b.liub17525e2025-05-14 17:22:29 +0800317 status = "disbabled";
b.liue9582032025-04-17 19:18:16 +0800318 };
319 pciephy0: pcie-phy@d4206000 {
320 status = "okay";
321 };
322 };
323
324 apb@d4000000 {
325 ssp_dai1: pxa-ssp-dai@1 {
326 compatible = "asr,pxa-ssp-dai";
327 reg = <0x1 0x0>;
328
329 port = <&ssp1>;
330 pinctrl-names = "default","ssp";
331 pinctrl-0 = <&i2s_gpio>;
332 pinctrl-1 = <&i2s_func>;
333 ssp-gpio = <&gpio 25 0 &gpio 26 0 &gpio 27 0 &gpio 28 0>;
334
335 dmas = <&pdma0 54 1
336 &pdma0 55 1>;
337 dma-names = "rx", "tx";
338
339 platform_driver_name = "pdma_platform";
340 burst_size = <4>;
341 playback_period_bytes = <2048>;
342 playback_buffer_bytes = <4096>;
343 capture_period_bytes = <2048>;
344 capture_buffer_bytes = <4096>;
345 };
346 mfpr: mfpr@d401e000 {
347 status = "okay";
348 /* intend to replace lpm-board-cfg
349 no-apbsd-in-d1pp = <0x1>; //"wakeup-state-d1pp"
350 pin1:pin1@d401e01B0 {
351 offset = <0x1B0>;
352 udr-cfg = <0xA040>;
353 };
354 pin2:pin2@d401e01B4 {
355 offset = <0x1B4>;
356 udr-cfg = <0xA040>;
357 };
358 */
359 };
360 timer0: timer@d4014000 {
361 status = "okay";
362 };
363 uart1: uart@d4017000 { /* nezhas evb use ap uart */
364 pinctrl-names = "default","sleep";
365 pinctrl-0 = <&uart1_pmx_func1 &uart1_pmx_func2>;
366 pinctrl-1 = <&uart1_pmx_func1_sleep &uart1_pmx_func2>;
b.liub17525e2025-05-14 17:22:29 +0800367 //edge-wakeup-gpio = <&gpio 29 0>; /* GPIO29: AP UART rx pin */
b.liue9582032025-04-17 19:18:16 +0800368 status = "okay";
369 };
370 uart2: uart@d4036000 {
371 pinctrl-names = "default";
hj.shao9f48a912025-06-11 00:19:29 -0700372
373 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
374 pinctrl-0 = <&gps_pmx_uart_rxd &gps_pmx_uart_txd>; //&gps_pmx_func_cts_rts>;
375 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800376 status = "okay";
377 };
378 uart3: uart@d4018000 {
379 pinctrl-names = "default";
380 pinctrl-0 = <&uart3_pmx_func>;
b.liub17525e2025-05-14 17:22:29 +0800381 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800382 };
383 uart4: uart@d401f000 {
384 pinctrl-names = "default";
b.liub17525e2025-05-14 17:22:29 +0800385 pinctrl-0 = <&uart4_pmx_func>; /*BAUD :9600*/
386 /*pinctrl-0 = <&uart4_pmx_func_rxd &uart4_pmx_func_txd &uart4_pmx_func_cts_rts>;*/
387 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800388 };
389 rtc: rtc@d4010000 {
390 status = "okay";
391 };
392 pmx: pinmux@d401e000 {
393 /* pin base = base_addr / 4, nr pins & gpio function */
394 pinctrl-single,gpio-range = <
395 /*
396 * GPIO number is hardcoded for range at here.
397 * In gpio chip, GPIO number is not hardcoded for range.
398 * Since one gpio pin may be routed to multiple pins,
399 * define these gpio range in pxa910-dkb.dts not pxa910.dtsi.
400 */
401 /*&range 80 4 0 */ /* GPIO25 ~ GPIO28 */
402 &range 55 32 0 /* GPIO0 ~ GPIO31 */
403 &range 87 32 0 /* GPIO32 ~ GPIO63 */
404 &range 119 32 0 /* GPIO64 ~ GPIO95 */
405 &range 151 32 0 /* GPIO96 ~ GPIO127 */
406 >;
407
408 ssp0_pmx_func: ssp0_pmx_func {
409 pinctrl-single,pins = <
410 GPIO36 AF1 /* TXD */
411 GPIO35 AF1 /* RXD */
412 GPIO34 AF1 /* FRM */
413 /*GPIO34 AF0*/ /* FRM *//* DXS101 Use the config of Cs-gpios */
414 GPIO33 AF1 /* SCLK */
415 >;
b.liub17525e2025-05-14 17:22:29 +0800416 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
417 };
418 ssp2_pmx_func: ssp2_pmx_func {
419 pinctrl-single,pins = <
420 GPIO37 AF3 /* TXD */
421 GPIO38 AF3 /* SCLK */
422 GPIO39 AF3 /* FRM */
423 GPIO40 AF3 /* RXD */
424 >;
425 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
b.liue9582032025-04-17 19:18:16 +0800426 };
427 lcd_bl_func: lcd_bl_func {
428 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800429 /* VCXO_OUT AF1 GPIO126, lcd bl */
430 /* GPIO24 AF0 reset */
431 /* GPIO22 AF0 lcd d/c */
b.liue9582032025-04-17 19:18:16 +0800432 >;
433 MFP_DEFAULT;
434 };
435 uart1_pmx_func1: uart1_pmx_func1 {
436 pinctrl-single,pins = <
437 GPIO29 AF1
438 >;
439 MFP_DEFAULT;
440 };
441 uart1_pmx_func2: uart1_pmx_func2 {
442 pinctrl-single,pins = <
443 GPIO30 AF1
444 >;
445 MFP_DEFAULT;
446 };
447 uart1_pmx_func1_sleep: uart1_pmx_func1_sleep {
448 pinctrl-single,pins = <
449 GPIO29 AF1
450 >;
b.liub17525e2025-05-14 17:22:29 +0800451 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800452 };
453 twsi0_pmx_func: twsi0_pmx_func {
454 pinctrl-single,pins = <
455 GPIO49 AF1
456 GPIO50 AF1
457 >;
b.liub17525e2025-05-14 17:22:29 +0800458 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800459 };
460 twsi0_pmx_gpio: twsi0_pmx_gpio {
461 pinctrl-single,pins = <
462 GPIO49 AF0
463 GPIO50 AF0
464 >;
b.liub17525e2025-05-14 17:22:29 +0800465 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800466 };
b.liub17525e2025-05-14 17:22:29 +0800467#if 1
b.liue9582032025-04-17 19:18:16 +0800468 twsi1_pmx_func: twsi1_pmx_func {
469 pinctrl-single,pins = <
470 GPIO10 AF1
471 GPIO11 AF1
472 >;
b.liub17525e2025-05-14 17:22:29 +0800473 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800474 };
475 twsi1_pmx_gpio: twsi1_pmx_gpio {
476 pinctrl-single,pins = <
477 GPIO10 AF0
478 GPIO11 AF0
479 >;
b.liub17525e2025-05-14 17:22:29 +0800480 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800481 };
482#endif
483 /* no pull, no LPM */
484 dvc_pmx_func: dvc_pmx_func {
485 /* hw-dvc */
486 pinctrl-single,pins = <
487 TDS_DIO0 AF0
488 TDS_DIO1 AF0
489 >;
490 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
491 };
492 leds_pmx_func: leds_pmx_func {
493 pinctrl-single,pins = <
494 DF_IO10 AF1
495 DF_IO11 AF1
496 DF_IO12 AF1
497 >;
498 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
499 };
500
501 gps_pmx_onoff: gps_pmx_onoff {
502 pinctrl-single,pins = <
503 TDS_TXREV AF1
504 >;
505 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
506 };
507 gps_pmx_reset: gps_pmx_reset {
508 pinctrl-single,pins = <
509 TDS_RXON AF1
510 >;
511 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
512 };
b.liub17525e2025-05-14 17:22:29 +0800513
514 //zqy
515 gnss_clk_on: gnss_clk_on {
516 pinctrl-single,pins = <
517 GPIO43 AF2 /*32K CLK */
518
519 /*VCXO_REQ AF1 GPIO[125] GPS_WAKE_HOST */
520 GPIO47 AF0 /* HOST_WAKE_GPS */
521 GPIO45 AF0 /*RESET */
522 CLK_REQ AF1 /*sleep en*/
523
524 >;
525 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
526 };
b.liue9582032025-04-17 19:18:16 +0800527 gps_pmx_uart_rxd: gps_pmx_uart_rxd {
528 /* gps dedicated uart */
529 pinctrl-single,pins = <
530 GPIO51 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700531
532 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
533 /*GPIO32 AF1*/
534 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800535 >;
b.liub17525e2025-05-14 17:22:29 +0800536 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800537 };
538 gps_pmx_uart_txd: gps_pmx_uart_txd {
539 /* gps dedicated uart */
540 pinctrl-single,pins = <
541 GPIO52 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700542 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
543 /*GPIO31 AF1*/
544 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800545 >;
b.liub17525e2025-05-14 17:22:29 +0800546 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800547 };
b.liub17525e2025-05-14 17:22:29 +0800548 gps_pmx_func_cts_rts: gps_pmx_func_cts_rts {
549 pinctrl-single,pins = <
550 GPIO31 AF1 /* cts */
551 GPIO32 AF1 /* rts */
552 >;
553 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
554 };
555
b.liue9582032025-04-17 19:18:16 +0800556 uart3_pmx_func: uart3_pmx_func {
557 pinctrl-single,pins = <
558 GPIO53 AF1 /* RX */
yu.dongca721ca2025-06-04 07:21:21 -0700559 /* GPIO54 AF1 TX */
b.liue9582032025-04-17 19:18:16 +0800560 >;
lichengzhangb746a892025-06-24 15:41:08 +0800561 MFP_PULL_DOWN;
b.liue9582032025-04-17 19:18:16 +0800562 };
b.liub17525e2025-05-14 17:22:29 +0800563
564
565 uart4_pmx_func_rxd: uart4_pmx_func_rxd {
566 pinctrl-single,pins = <
567 GPIO37 AF2
568 GPIO40 AF2
569 >;
570 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
571 };
572 uart4_pmx_func_txd: uart4_pmx_func_txd {
573 pinctrl-single,pins = <
574 GPIO38 AF2
575 GPIO39 AF2
576 >;
577 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
578 };
579
580 uart4_pmx_func_cts_rts: uart4_pmx_func_cts_rts {
581 pinctrl-single,pins = <
582 GPIO39 AF2
583 GPIO40 AF2
584 >;
585 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
586 };
b.liue9582032025-04-17 19:18:16 +0800587 uart4_pmx_func: uart4_pmx_func {
588 pinctrl-single,pins = <
589 GPIO44 AF1 /* RX */
590 GPIO45 AF1 /* TX */
591 >;
b.liub17525e2025-05-14 17:22:29 +0800592 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800593 };
594 panel_rst_func: panel_rst_func {
595 pinctrl-single,pins = <
596 DF_nCS1 AF1
597 >;
598 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
599 };
600
601 sd_ldo_en: sd_ldo_en {
602 pinctrl-single,pins = <
603 GPIO45 AF0
604 >;
605 MFP_PULL_DOWN;
606 };
607 sdh0_pmx_func1: sdh0_pmx_func1 {
608 pinctrl-single,pins = <
609 MMC1_DAT3 AF0
610 MMC1_DAT2 AF0
611 MMC1_DAT1 AF0
612 MMC1_DAT0 AF0
613 MMC1_CMD AF0
614 >;
615 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
616 };
617 sdh0_pmx_func2: sdh0_pmx_func2 {
618 pinctrl-single,pins = <
619 MMC1_CLK AF0
620 >;
621 DS_MEDIUM;PULL_NONE;EDGE_NONE;
622 };
623 sdh0_pmx_func3: sdh0_pmx_func3 {
624 pinctrl-single,pins = <
625 MMC1_CD AF1
626 >;
627 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
628 };
629 sdh0_pmx_cd_wakeup: sdh0_pmx_func1_cd_wakeup {
630 pinctrl-single,pins = <
631 MMC1_CD AF1
632 >;
633 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
634 };
635 sdh0_pmx_func1_slow: sdh0_pmx_func1_slow {
636 pinctrl-single,pins = <
637 MMC1_DAT3 AF0
638 MMC1_DAT2 AF0
639 MMC1_DAT1 AF0
640 MMC1_DAT0 AF0
641 MMC1_CMD AF0
642 >;
643 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
644 };
645 sdh0_pmx_func2_slow: sdh0_pmx_func2_slow {
646 pinctrl-single,pins = <
647 MMC1_CLK AF0
648 >;
649 DS_FAST0;PULL_NONE;EDGE_NONE;
650 };
651 sdh0_pmx_func1_fast: sdh0_pmx_func1_fast {
652 pinctrl-single,pins = <
653 MMC1_DAT3 AF0
654 MMC1_DAT2 AF0
655 MMC1_DAT1 AF0
656 MMC1_DAT0 AF0
657 MMC1_CMD AF0
658 >;
659 DS_FAST1;PULL_NONE;EDGE_NONE;SL_NORMAL;
660 };
661 sdh0_pmx_func2_fast: sdh0_pmx_func2_fast {
662 pinctrl-single,pins = <
663 MMC1_CLK AF0
664 >;
665 DS_FAST1;PULL_NONE;EDGE_NONE;
666 };
667 sdh1_pmx_func1_fast: sdh1_pmx_func1_fast {
668 pinctrl-single,pins = <
669 TDS_DIO13 AF0 /* WLAN_DAT3 */
670 TDS_DIO14 AF0 /* WLAN_DAT2 */
671 TDS_DIO15 AF0 /* WLAN_DAT1 */
672 TDS_DIO16 AF0 /* WLAN_DAT0 */
673 TDS_DIO17 AF0 /* WLAN_CMD */
674 >;
675 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
676 };
677 sdh1_pmx_func2_fast: sdh1_pmx_func2_fast {
678 pinctrl-single,pins = <
679 TDS_DIO18 AF0 /* WLAN_CLK */
680 >;
681 DS_FAST0;PULL_DOWN;EDGE_NONE;SL_NORMAL;
682 };
683 sdh1_pmx_func1: sdh1_pmx_func1 {
684 pinctrl-single,pins = <
685 TDS_DIO13 AF0 /* WLAN_DAT3 */
686 TDS_DIO14 AF0 /* WLAN_DAT2 */
687 TDS_DIO15 AF0 /* WLAN_DAT1 */
688 TDS_DIO16 AF0 /* WLAN_DAT0 */
689 TDS_DIO17 AF0 /* WLAN_CMD */
690 >;
691 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
692 };
693 sdh1_pmx_func2: sdh1_pmx_func2 {
694 pinctrl-single,pins = <
695 TDS_DIO18 AF0 /* WLAN_CLK */
696 >;
697 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_LOW;
698 };
699 sdh1_pmx_func3: sdh1_pmx_func3 {
700 pinctrl-single,pins = <
701 GPIO10 AF0 /* VCXO_REQ AF1 WLAN_WAKE_HOST */
702 >;
703 MFP_PULL_DOWN;
704 };
705 sdh1_pmx_edge_wakeup: sdh1_pmx_edge_wakeup {
706 pinctrl-single,pins = <
707 GPIO10 AF0 /* VCXO_REQ AF1 */
708 >;
709 DS_MEDIUM;PULL_DOWN;EDGE_RISE;SL_NORMAL;
710 };
711 sdh1_pmx_pd_rst_off: sdh1_pmx_pd_rst_off {
712 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800713 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
714 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
715 MMC1_CD AF1
b.liue9582032025-04-17 19:18:16 +0800716 >;
717 MFP_PULL_DOWN;
718 };
719 sdh1_pmx_pd_rst_on: sdh1_pmx_pd_rst_on {
720 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800721 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
722 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
723 MMC1_CD AF1
724 >;
725 MFP_PULL_UP;
726 };
727
728
729 mbtk_sdh_pmx_off: mbtk_sdh_pmx_off {
730 pinctrl-single,pins = <
731 VCXO_REQ AF1 //gpio125 wlan en
732 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800733 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liub17525e2025-05-14 17:22:29 +0800734 >;
735 MFP_PULL_DOWN;
736 };
737 mbtk_sdh_pmx_on: mbtk_sdh_pmx_on {
738 pinctrl-single,pins = <
739 VCXO_REQ AF1 //gpio125 wlan en
740 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800741 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liue9582032025-04-17 19:18:16 +0800742 >;
743 MFP_PULL_UP;
744 };
745 alc5616_pmx_func1: alc5616_pmx_func1 {
746 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800747 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
b.liue9582032025-04-17 19:18:16 +0800748 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
749 >;
750 MFP_DEFAULT;
751 };
752 alc5616_pmx_func2: alc5616_pmx_func2 {
753 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800754 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
755 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
756 >;
757 MFP_DEFAULT;
758 };
759
760 es8311_pa_func1: es8311_pa_func1 {
761 pinctrl-single,pins = <
762 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700763 GPIO54 AF0 /* CODEC_VDDD_EN */
764 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liub17525e2025-05-14 17:22:29 +0800765 >;
766 MFP_DEFAULT;
767 };
768 es8311_pa_func2: es8311_pa_func2 {
769 pinctrl-single,pins = <
b.liue9582032025-04-17 19:18:16 +0800770 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700771 GPIO54 AF0 /* CODEC_VDDD_EN */
772 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liue9582032025-04-17 19:18:16 +0800773 >;
774 MFP_DEFAULT;
775 };
776 audio_pa_pmx_func: audio_pa_pmx_func {
777 pinctrl-single,pins = <
778 GPIO14 AF0 /* PA */
779 >;
780 MFP_DEFAULT;
781 };
782 ecall_pmx_func: ecall_pmx_func {
783 pinctrl-single,pins = <
784 GPIO08 AF0 /* auto mode ecall */
785 GPIO09 AF0 /* manual mode ecall */
786 >;
787 MFP_DEFAULT;
788 };
789 slic_pmx_func1: slic_pmx_func1 {
790 pinctrl-single,pins = <
791 GPIO20 AF0 /* SLIC_INT, GPIO20 */
792 VCXO_OUT AF1 /* GPIO127, SLIC_3V3LDO_EN/LCD_BK_EN */
793 >;
794 MFP_DEFAULT;
795 };
796 slic_pmx_func2: slic_pmx_func2 {
797 pinctrl-single,pins = <
798 GPIO21 AF0 /* SLIC_RESET, GPIO21 */
799 >;
800 MFP_DEFAULT;
801 };
802 slic_pmx_func1_sleep: slic_pmx_func1_sleep {
803 pinctrl-single,pins = <
804 GPIO20 AF0 /* SLIC_INT, GPIO20 */
805 >;
806 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
807 };
808
809 otg_vbus_func: otg_vbus_func {
810 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800811 /* VBUS_DRV AF1 GPIO[122] */
b.liue9582032025-04-17 19:18:16 +0800812 >;
813 DS_MEDIUM;PULL_DOWN;EDGE_NONE;
814 };
815
816 emac_pmx_func0: emac_pmx_func0 {
817 pinctrl-single,pins = <
818 GPIO00 AF1 /* GMAC1_RX_DV */
819 GPIO01 AF1 /* GMAC1_RX_D0 */
820 GPIO02 AF1 /* GMAC1_RX_D1 */
821 GPIO03 AF1 /* GMAC1_RX_CLK */
822 /* GPIO04 AF1 GMAC1_RX_D2 */
823 /* GPIO05 AF1 GMAC1_RX_D3 */
824 GPIO06 AF1 /* GMAC1_TX_D0 */
825 GPIO07 AF1 /* GMAC1_TX_D1 */
826 /* GPIO12 AF1 GMAC1_TX_CLK */
827 /* GPIO13 AF1 GMAC1_TX_D2 */
828 /* GPIO14 AF1 GMAC1_TX_D3 */
829 GPIO15 AF1 /* GMAC1_TX_EN */
830 GPIO16 AF1 /* GMAC1_TX_MDC */
831 /* GPIO17 AF1 GMAC1_TX_MDIO */
832 >;
833 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
834 };
835 emac_pmx_func1: emac_pmx_func1 {
836 pinctrl-single,pins = <
837 GPIO04 AF1 /* GMAC1_RX_D2 */
838 GPIO05 AF1 /* GMAC1_RX_D3 */
839 GPIO12 AF1 /* GMAC1_TX_CLK */
840 GPIO13 AF1 /* GMAC1_TX_D2 */
841 GPIO14 AF1 /* GMAC1_TX_D3 */
842 >;
843 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
844 };
845 emac_pmx_func2: emac_pmx_func2 {
846 pinctrl-single,pins = <
847 GPIO17 AF1 /* GMAC1_TX_MDIO */
848 GPIO18 AF1 /* GMAC1_TX_INT_N */
849 >;
850 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
851 };
hj.shao213a35e2025-06-24 04:25:54 -0700852
853 emac_pmx_func0_slp: emac_pmx_func0_slp {
854 pinctrl-single,pins = <
855 GPIO00 AF1 /* GMAC1_RX_DV */
856 GPIO01 AF1 /* GMAC1_RX_D0 */
857 GPIO02 AF1 /* GMAC1_RX_D1 */
858 GPIO03 AF1 /* GMAC1_RX_CLK */
859 /* GPIO04 AF1 GMAC1_RX_D2 */
860 /* GPIO05 AF1 GMAC1_RX_D3 */
861 GPIO06 AF1 /* GMAC1_TX_D0 */
862 GPIO07 AF1 /* GMAC1_TX_D1 */
863 /* GPIO12 AF1 GMAC1_TX_CLK */
864 /* GPIO13 AF1 GMAC1_TX_D2 */
865 /* GPIO14 AF1 GMAC1_TX_D3 */
866 GPIO15 AF1 /* GMAC1_TX_EN */
867 GPIO16 AF1 /* GMAC1_TX_MDC */
868 /* GPIO17 AF1 GMAC1_TX_MDIO */
869 >;
870 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
871 };
872
873 emac_pmx_func1_slp: emac_pmx_func1_slp {
874 pinctrl-single,pins = <
875 GPIO04 AF1 /* GMAC1_RX_D2 */
876 GPIO05 AF1 /* GMAC1_RX_D3 */
877 GPIO12 AF1 /* GMAC1_TX_CLK */
878 GPIO13 AF1 /* GMAC1_TX_D2 */
879 GPIO14 AF1 /* GMAC1_TX_D3 */
880 >;
881 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
882 };
883 emac_pmx_func2_slp: emac_pmx_func2_slp {
884 pinctrl-single,pins = <
885 GPIO17 AF1 /* GMAC1_TX_MDIO */
886 GPIO18 AF1 /* GMAC1_TX_INT_N */
887 >;
888 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
889 };
890
b.liue9582032025-04-17 19:18:16 +0800891 emac_pmx_func3: emac_pmx_func3 {
892 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800893 GPIO42 AF0 /* RESET */
hj.shaofb3ba9b2025-06-19 02:53:56 -0700894 //#LYNQ_MODFIY modify for task-1618 2025/6/19 start
895 GPIO32 AF0 /* POWER EN */
896 //#LYNQ_MODFIY modify for task-1618 2025/6/19 end
b.liub17525e2025-05-14 17:22:29 +0800897 /* GPIO40 AF0 LDO_EN */
b.liue9582032025-04-17 19:18:16 +0800898 >;
899 DS_SLOW0;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
900 };
901 usim1_pmx_func: usim1_pmx_func {
902 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800903 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800904 >;
905 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
906 };
907 usim1_pmx_func_sleep: usim1_pmx_func_sleep {
908 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800909 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800910 >;
911 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
912 };
913 usim2_pmx_func: usim2_pmx_func {
914 pinctrl-single,pins = <
915 GPIO44 AF0
916 >;
917 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
918 };
919 usim2_pmx_func_sleep: usim2_pmx_func_sleep {
920 pinctrl-single,pins = <
921 GPIO44 AF0
922 >;
923 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
924 };
925 pcie_pmx_pd_rst_off: pcie_pmx_pd_rst_off {
926 pinctrl-single,pins = <
927 GPIO42 AF0 /* PERST_N */
928 GPIO24 AF0 /* DC_EN */
929 >;
930 MFP_PULL_DOWN;
931 };
932 pcie_pmx_pd_rst_on: pcie_pmx_pd_rst_on {
933 pinctrl-single,pins = <
934 GPIO42 AF0 /* PERST_N */
935 GPIO24 AF0 /* DC_EN */
936 >;
937 MFP_PULL_UP;
938 };
b.liub17525e2025-05-14 17:22:29 +0800939 pin_func_work: pin_func_work {
940 pinctrl-single,pins = <
941
942 GPIO08 AF0 /*T108 status led* /
943
944 VBUS_DRV AF2 /*32k*/
945
946
947 GPIO46 AF0 /*wifi en*/
948
949 GPIO19 AF0 /*bt en*/
950
951 >;
952 MFP_DEFAULT;
953 };
954
955
956 sc_ext_int0: sc_ext_int0 {
957 pinctrl-single,pins = <
958 GPIO21 AF0
959 >;
960 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
961 };
962 sc_ext_int1: sc_ext_int1 {
963 pinctrl-single,pins = <
964 GPIO22 AF0
965 >;
966 MFP_DEFAULT;
967 };
968
969 sc_ext_int2: sc_ext_int2 {
970 pinctrl-single,pins = <
971 GPIO23 AF0
972 >;
973 MFP_DEFAULT;
974 };
975
976
977 sc_ext_int3: sc_ext_int3 {
978 pinctrl-single,pins = <
979 GPIO24 AF0
980 >;
981 MFP_DEFAULT;
982 };
983
984
985 mbtk_plat_irq_func: mbtk_plat_irq_func {
986 pinctrl-single,pins = <
987
you.chen9824a892025-06-04 20:23:26 +0800988 /*GPIO21 AF0
989 GPIO22 AF0 */
b.liub17525e2025-05-14 17:22:29 +0800990 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -0700991 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +0800992
993 >;
994 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
995 };
996 mbtk_plat_irq_func_sleep: mbtk_plat_irq_func_sleep {
997 pinctrl-single,pins = <
you.chen9824a892025-06-04 20:23:26 +0800998 /*GPIO21 AF0
999 GPIO22 AF0*/
b.liub17525e2025-05-14 17:22:29 +08001000 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -07001001 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +08001002 >;
1003 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
1004 };
1005
1006
b.liue9582032025-04-17 19:18:16 +08001007 gpiokey_pmx_func: gpiokey_pmx_func {
1008 pinctrl-single,pins = <
1009 GPIO09 AF0
1010 >;
1011 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
1012 };
b.liub17525e2025-05-14 17:22:29 +08001013
lichengzhangb746a892025-06-24 15:41:08 +08001014 /*for ssp2 is not in use, it needs to be used as a regular gpio,default state is input and low*/
1015 gpiokey_ssp2_func: gpiokey_ssp2_func {
1016 pinctrl-single,pins = <
1017 GPIO37 AF0 /* TXD */
1018 GPIO38 AF0 /* SCLK */
1019 GPIO39 AF0 /* FRM */
1020 GPIO40 AF0 /* RXD */
1021 >;
1022 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
1023 };
1024
b.liub17525e2025-05-14 17:22:29 +08001025 wake_pmx_func1: wake_pmx_func1 {
1026 pinctrl-single,pins = <
1027 USB_ID AF1
1028 >;
1029 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1030 };
1031
hong.liuf2416882025-05-23 20:41:06 -07001032 led_pmx_func1: led_pmx_func1 {
1033 pinctrl-single,pins = <
1034 GPIO08 AF0
1035 >;
1036 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1037 };
1038
b.liub17525e2025-05-14 17:22:29 +08001039
1040 wake_pmx_func: wake_pmx_func {
1041 pinctrl-single,pins = <
1042 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1043
1044 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1045 GPIO41 AF0
1046 PRI_TDO AF1 /*GPIO120*/
1047
1048
1049 >;
1050 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1051 };
1052 wake_pmx_func_sleep: wake_pmx_func_sleep {
1053 pinctrl-single,pins = <
1054 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1055
1056 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1057 GPIO41 AF0
1058 PRI_TDO AF1 /*GPIO120*/
1059
1060 >;
1061 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
1062 };
1063 usb_id_pinmux: usb_id_pinmux {
b.liue9582032025-04-17 19:18:16 +08001064 pinctrl-single,pins = <
1065 USB_ID AF1/* usbid-gpio99 */
1066 >;
1067 DS_MEDIUM;PULL_UP;EDGE_NONE;LPM_NONE;
1068 };
1069 usb_id_pinmux_slp: usb_id_pinmux_slp {
1070 pinctrl-single,pins = <
1071 USB_ID AF1 /* usbid-gpio99 */
1072 >;
1073 DS_MEDIUM;PULL_UP;EDGE_BOTH;LPM_NONE;
1074 };
1075 usb_host_pinmux: usb_host_pinmux {
1076 pinctrl-single,pins = <
1077 VBUS_DRV AF1 /* gpio-122 */
1078 >;
1079 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;LPM_NONE;
1080 };
1081 i2s_func: i2s_func {
1082 pinctrl-single,pins = <
1083 GPIO25 AF2
1084 GPIO26 AF2
1085 GPIO27 AF2
1086 GPIO28 AF2
1087 >;
1088 MFP_DEFAULT;
1089 };
1090 i2s_gpio: i2s_gpio {
1091 pinctrl-single,pins = <
1092 GPIO25 AF0
1093 GPIO26 AF0
1094 GPIO27 AF0
1095 GPIO28 AF0
1096 >;
1097 MFP_LPM_FLOAT;
1098 };
you.chen9824a892025-06-04 20:23:26 +08001099 sensors_int:sensors_int {
1100 pinctrl-single,pins = <
1101 GPIO22 AF0
1102 >;
1103 MFP_PULL_DOWN;
1104 };
1105 sensors_csb:sensors_csb {
1106 pinctrl-single,pins = <
1107 VCXO_OUT AF1
1108 >;
1109 DS_MEDIUM;PULL_UP;EDGE_NONE;
1110 };
b.liue9582032025-04-17 19:18:16 +08001111 };
1112
1113 ssp0: spi@d401b000 {
1114 status = "okay";
1115 pinctrl-names = "default";
1116 pinctrl-0 = <&ssp0_pmx_func>;
1117 asr,spi-inc-mode;
1118#ifdef CONFIG_FB_SPI_LCD
1119 /* this enhancemnet feature is not suitable for
1120 3 line 9bits spi lcd. */
1121 /* asr,ssp-enhancement; */
1122
1123 lcd: spidev@0 {
1124 #address-cells = <1>;
1125 #size-cells = <1>;
1126 compatible = "spilcd";
b.liub17525e2025-05-14 17:22:29 +08001127 // pinctrl-names = "default";
1128 // pinctrl-0 = <&lcd_bl_func>;
b.liue9582032025-04-17 19:18:16 +08001129 reg = <0>;
1130 /* ST7735: need to set spi-max-frequency to 26M
1131 * ST7789V: can set spi-max-frequency to 52M
1132 */
1133 spi-max-frequency = <26000000>;
1134 xres = <128>;
1135 yres = <128>;
1136 bits = <8>; /* 8: 4line, 9: 3line */
1137 rst_gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001138 // bl_gpio = <&gpio 126 0>;
b.liue9582032025-04-17 19:18:16 +08001139 rs_gpio = <&gpio 22 0>;
1140 /* if comment the following statement, it means
1141 * the avdd is sit on the "always-on" ldo.
1142 */
1143 /* avdd-supply = <&LDO1>; */
1144 };
1145#else
1146 /*cs-gpios = <&gpio 34 0>;*//* DXS101 Use the config of Cs-gpios */
1147 slic: spidev@0{
1148 #address-cells = <1>;
1149 #size-cells = <1>;
1150 compatible = "asr,slic";
1151 reg = <0>;
1152 spi-cpol;
1153 spi-cpha;
1154 spi-max-frequency = <6500000>;
1155 };
1156#endif
1157 };
b.liub17525e2025-05-14 17:22:29 +08001158 ssp2: spi@d401c000{
lichengzhangb746a892025-06-24 15:41:08 +08001159 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001160 pinctrl-names = "default";
1161 pinctrl-0 = <&ssp2_pmx_func>;
1162 asr,spi-inc-mode;
1163 cs-gpios = <&gpio 39 0>;
b.liub17525e2025-05-14 17:22:29 +08001164 mbtk: spidev@0{
1165 compatible = "asr,spidev";
1166 reg = <0>;
1167 status = "okay";
1168 spi-cpol;
1169 spi-cpha;
1170 spi-max-frequency = <6500000>;
1171 };
1172 };
b.liue9582032025-04-17 19:18:16 +08001173 twsi0: i2c@d4011000 {
1174 status= "okay";
1175 alc5616@1b {
b.liub17525e2025-05-14 17:22:29 +08001176 status= "disabled";
b.liue9582032025-04-17 19:18:16 +08001177 compatible = "asrmicro,alc5616";
1178 reg = <0x1b>;
1179 pinctrl-names = "default", "sleep";
1180 pinctrl-0 = <&alc5616_pmx_func1>;
1181 pinctrl-1 = <&alc5616_pmx_func2>;
1182 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1183 clock-names = "i2s_sys_clk";
1184#if 0
1185 3V3-gpio = <&gpio 23 0>;/* CODEC_LDO_EN */
1186 irq-gpio = <&gpio 24 0>;/* CODEC_IRQ for headset detection */
1187#else
1188 irq-gpio = <&gpio 8 0>;/* CODEC_IRQ for headset detection */
1189#endif
1190 };
1191
b.liub17525e2025-05-14 17:22:29 +08001192 nau8810@1a {
1193 compatible = "marvell,nau8810";
1194 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1195 clock-names = "i2s_sys_clk";
1196
1197
1198 pinctrl-names = "default";
1199 pinctrl-0 = <&es8311_pa_func1>;
1200 pinctrl-1 = <&es8311_pa_func2>;
1201 reg = <0x1a>;
1202 status= "disabled";
1203 };
1204
1205 es8311@18 {
1206 compatible = "ambarella,es8311";
1207 reg = <0x18>;
1208 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1209 clock-names = "i2s_sys_clk";
1210
1211 pinctrl-names = "default";
1212 pinctrl-0 = <&es8311_pa_func1>;
1213 pinctrl-1 = <&es8311_pa_func2>;
yu.dongb3e49372025-06-23 23:57:56 -07001214 gpios = <&gpio 54 0>;
b.liub17525e2025-05-14 17:22:29 +08001215
1216 // gpios = <&gpio 21 0>,
1217 // <&gpio 23 0>,
1218 // <&gpio 24 0>,
1219 // <&gpio 22 0>;
1220
1221 status= "okay";
1222 };
1223
you.chen9824a892025-06-04 20:23:26 +08001224 asm330lhhx-imu@0x6a {
1225 compatible = "st,asm330lhhx";
1226 reg = <0x6b>;
1227 pinctrl-names = "default";
1228 pinctrl-0 = <&sensors_int &sensors_csb>;
1229 interrupt-parent = <&gpio>;
1230 interrupts = <22 1>;
1231 //interrupts = <22>;
1232 vddio-supply = <&sensors_vddio>;
1233 //vdd-supply = <&sensors_vdd>;
1234 st,int-pin = <1>;
1235 //st,mlc-int-pin = <2>;
1236 mount-matrix = "1", "0", "0",
1237 "0", "1", "0",
1238 "0", "0", "1";
1239 };
yu.dongb39db3e2025-06-06 03:15:42 -07001240 /* AWINIC AW87XXX Smart K PA */
1241 aw87xxx_pa@58 {
1242 compatible = "awinic,aw87xxx_pa";
1243 reg = <0x58>;
1244 reset-gpio = <&gpio 24 0>;
1245 dev_index = < 0 >;
1246 status = "okay";
1247 };
1248 /* AWINIC AW87XXX Smart K PA End */
b.liue9582032025-04-17 19:18:16 +08001249 /*
1250 pmic4: 88pm805@38 {
1251 compatible = "marvell,88pm805";
1252 reg = <0x38>;
1253 };
1254 */
1255 };
1256 twsi1: i2c@d4010800 {
b.liub17525e2025-05-14 17:22:29 +08001257#if 1
b.liue9582032025-04-17 19:18:16 +08001258 pinctrl-names = "default","gpio";
1259 pinctrl-0 = <&twsi1_pmx_func>;
1260 pinctrl-1 = <&twsi1_pmx_gpio>;
1261 i2c-gpio = <&gpio 10 0 &gpio 11 0>;
1262#endif
b.liub17525e2025-05-14 17:22:29 +08001263 status= "okay";
1264 //nau8810@1a {
1265 // compatible = "marvell,nau8810";
1266 // reg = <0x1a>;
1267 //};
1268
1269
b.liue9582032025-04-17 19:18:16 +08001270 };
1271 twsi2: i2c@d4037000 {
1272 status = "okay";
1273
1274 pmic4: 88pm805@38 {
1275 compatible = "marvell,88pm805";
1276 reg = <0x38>;
1277 };
1278
1279 pmic5: pm802@0 {
1280 compatible = "asr,pm802";
1281 reg = <0x00>;
1282 interrupts = <4>;
1283 interrupt-parent = <&intc>;
1284 interrupt-controller;
1285 #interrupt-cells = <1>;
1286 chg_irq_from_exton;
1287 scs-int-active-high;
1288 battery {
1289 compatible = "asr,pm802-bat";
1290 status = "disabled";
1291
1292 online-gpadc = <1>;
1293 temperature-gpadc = <1>;
1294
1295 hi-volt-online = <1150>; /* mV */
1296 lo-volt-online = <20>; /* mV */
1297 hi-volt-temp = <1150>; /* mV */
1298 lo-volt-temp = <200>; /* mV */
1299
1300 sw-fg-use-ntc;
1301 full-capacity = <2050>; /* mAh */
1302 r1-resistor = <40>; /* mohm */
1303 r2-resistor = <30>; /* mohm */
1304 rs-resistor = <120>; /* mohm */
1305 roff-resistor = <0>; /* mohm */
1306 roff-initial-resistor = <0>; /* mohm */
1307
1308 times-in-zero-degree = <1>;
1309 offset-in-zero-degree = <0>;
1310
1311 times-in-ten-degree = <2>;
1312 offset-in-ten-degree = <100>;
1313
1314 power-off-threshold = <3350>; /* mV */
1315 safe-power-off-threshold = <3200>; /* mV */
1316
1317 online-gp-bias-curr = <11>; /* uA */
1318
1319 soc-ramp-up-interval = <150>; /* s */
1320 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1321 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1322 ntc-table-size = <88>;
1323 stop-chg-for-vbatmeas;
1324 /* -24C, -23C, ..., 62C, 63C */
1325 ntc-table = <
1326 89680 85130 80840 76790 72970 69360 65960 62740
1327 59700 56830 54130 51530 49100 46800 44610 42550
1328 40590 38730 36970 35300 33710 32210 30780 29420
1329 28130 26910 25750 24640 23590 22580 21630 20720
1330 19860 19030 18250 17500 16790 16110 15460 14840
1331 14250 13690 13150 12640 12150 11680 11230 10800
1332 10390 10000 9620 9270 8920 8590 8280 7980
1333 7690 7410 7150 6890 6650 6410 6190 5970
1334 5770 5570 5380 5190 5020 4850 4680 4530
1335 4380 4230 4100 3960 3830 3710 3590 3480
1336 3370 3260 3160 3060 2960 2870 2780 2700
1337 >;
1338 };
1339 usb {
1340 status = "disabled";
1341 vbus_gpio = <0xff>; /* set_vbus */
1342 id-gpadc = <0xff>; /* usb-id */
1343 vchg-from-exton = <1>;
1344 vbus-detect = <1>; /* vbus-irq */
1345 get-vbus = <1>; /* get-vbus */
1346 };
1347 };
1348 pmic6: pm803@30 {
1349 compatible = "asr,pm803";
1350 reg = <0x30>;
1351 interrupts = <4>;
1352 interrupt-parent = <&intc>;
1353 interrupt-controller;
1354 #interrupt-cells = <1>;
1355 chg_irq_from_exton;
1356 scs-int-active-high;
1357 battery {
1358 compatible = "asr,pm803-bat";
1359 status = "disabled";
1360
1361 online-gpadc = <1>;
1362 temperature-gpadc = <1>;
1363
1364 hi-volt-online = <1150>; /* mV */
1365 lo-volt-online = <20>; /* mV */
1366 hi-volt-temp = <1150>; /* mV */
1367 lo-volt-temp = <200>; /* mV */
1368
1369 sw-fg-use-ntc;
1370 full-capacity = <2050>; /* mAh */
1371 r1-resistor = <40>; /* mohm */
1372 r2-resistor = <30>; /* mohm */
1373 rs-resistor = <120>; /* mohm */
1374 roff-resistor = <0>; /* mohm */
1375 roff-initial-resistor = <0>; /* mohm */
1376
1377 times-in-zero-degree = <1>;
1378 offset-in-zero-degree = <0>;
1379
1380 times-in-ten-degree = <2>;
1381 offset-in-ten-degree = <100>;
1382
1383 power-off-threshold = <3350>; /* mV */
1384 safe-power-off-threshold = <3200>; /* mV */
1385
1386 online-gp-bias-curr = <11>; /* uA */
1387
1388 soc-ramp-up-interval = <150>; /* s */
1389 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1390 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1391 ntc-table-size = <88>;
1392 stop-chg-for-vbatmeas;
1393 /* -24C, -23C, ..., 62C, 63C */
1394 ntc-table = <
1395 89680 85130 80840 76790 72970 69360 65960 62740
1396 59700 56830 54130 51530 49100 46800 44610 42550
1397 40590 38730 36970 35300 33710 32210 30780 29420
1398 28130 26910 25750 24640 23590 22580 21630 20720
1399 19860 19030 18250 17500 16790 16110 15460 14840
1400 14250 13690 13150 12640 12150 11680 11230 10800
1401 10390 10000 9620 9270 8920 8590 8280 7980
1402 7690 7410 7150 6890 6650 6410 6190 5970
1403 5770 5570 5380 5190 5020 4850 4680 4530
1404 4380 4230 4100 3960 3830 3710 3590 3480
1405 3370 3260 3160 3060 2960 2870 2780 2700
1406 >;
1407 };
1408 usb {
1409 status = "disabled";
1410 vbus_gpio = <0xff>; /* set_vbus */
1411 id-gpadc = <0xff>; /* usb-id */
1412 vchg-from-exton = <1>;
1413 vbus-detect = <1>; /* vbus-irq */
1414 get-vbus = <1>; /* get-vbus */
1415 };
1416 };
1417 };
1418 };
1419 };
1420
1421 vcc_sdh1: sd-regulator {
1422 compatible = "regulator-fixed";
b.liub17525e2025-05-14 17:22:29 +08001423 /*pinctrl-names = "default";*/
1424 /*pinctrl-0 = <&sd_ldo_en>;*/
b.liue9582032025-04-17 19:18:16 +08001425 regulator-name = "SDH1 VCC";
1426 regulator-min-microvolt = <3300000>;
1427 regulator-max-microvolt = <3300000>;
b.liub17525e2025-05-14 17:22:29 +08001428 /* gpio = <&gpio 45 0>;*/
b.liue9582032025-04-17 19:18:16 +08001429 enable-active-high;
1430 status = "okay";
1431 };
1432
you.chen9824a892025-06-04 20:23:26 +08001433 sensors_vddio: imu-regulator {
1434 compatible = "regulator-fixed";
1435 /*pinctrl-names = "default";*/
1436 /*pinctrl-0 = <&sd_ldo_en>;*/
1437 regulator-name = "IMU VDDIO";
1438 gpio = <&gpio 21 0>;
1439 enable-active-high;
1440 status = "okay";
1441 };
1442
b.liue9582032025-04-17 19:18:16 +08001443 asr-rfkill {
1444 compatible = "asr,asr-rfkill";
1445 pinctrl-names = "off", "on";
1446 pinctrl-0 = <&sdh1_pmx_pd_rst_off>;
1447 pinctrl-1 = <&sdh1_pmx_pd_rst_on>;
b.liub17525e2025-05-14 17:22:29 +08001448 sd-host = <&sdh0>;
1449 //pd-gpio = <&gpio 90 0>;
1450 rst-gpio = <&gpio 90 0>;
1451
1452 /*3v3-ldo-gpio = <&gpio 8 0>;*/
1453 /*edge-wakeup-gpio = <&gpio 10 0>;*/
1454 status = "okay";
1455 };
1456
1457 mbtk-sdh{
1458 compatible = "mbtk,mbtk-sdh";
1459 pinctrl-names = "off", "on";
1460 pinctrl-0 = <&mbtk_sdh_pmx_off>;
1461 pinctrl-1 = <&mbtk_sdh_pmx_on>;
1462 sd-host = <&sdh1>;
1463 1v8-ldo-gpio = <&gpio 123 0>;
you.chen9824a892025-06-04 20:23:26 +08001464 //host-wakeup-wlan-gpio = <&gpio 127 0>;
b.liub17525e2025-05-14 17:22:29 +08001465 wlan_en_gpio = <&gpio 125 0>;
1466 status = "okay";
1467 };
1468
1469 asr-gps {
1470 compatible = "asr,asr-gnss";
1471 pinctrl-names = "default";
1472 pinctrl-0 = <&gnss_clk_on>;
1473 enable_vctcxo_out1;
1474 host-wakeup-gnss-gpio = <&gpio 47 0>;
1475 /*gnss-wakeup-host-gpio = <&gpio 47 0>;*/
1476 rst-gpio = <&gpio 45 0>;
b.liue9582032025-04-17 19:18:16 +08001477 status = "okay";
1478 };
1479
1480 pcie-rfkill {
1481 compatible = "mrvl,pcie-rfkill";
1482 pinctrl-names = "off", "on";
1483 pinctrl-0 = <&pcie_pmx_pd_rst_off>;
1484 pinctrl-1 = <&pcie_pmx_pd_rst_on>;
1485 rst-gpio = <&gpio 42 0>;
1486 3v3-ldo-gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001487 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001488 };
1489
1490 sound {
1491 compatible = "ASRMICRO,asrmicro-snd-card";
1492 ssp-controllers = <&ssp_dai1>;
1493 };
1494
b.liub17525e2025-05-14 17:22:29 +08001495 asr-adc {
1496 compatible = "asr,adc";
1497 //pinctrl-names = "default";
1498 //pinctrl-0 = <&pin_func_work>;
1499 status = "okay";
1500 };
1501
1502#if 0
1503
1504 mbtk_PlatIrq{
1505 compatible = "mbtk,plat-irq";
1506 pinctrl-names = "sc_irq0", "sc_irq1", "sc_irq2", "sc_irq3";
1507
1508 pinctrl-0 = <&sc_ext_int0>;
1509 pinctrl-1 = <&sc_ext_int1>;
1510 pinctrl-2 = <&sc_ext_int2>;
1511 pinctrl-3 = <&sc_ext_int3>;
yu.dongca721ca2025-06-04 07:21:21 -07001512 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001513 };
1514
1515#else
1516
1517 mbtk_PlatIrq{
1518 compatible = "mbtk,plat-irq";
1519 pinctrl-names = "default", "sleep";
1520 pinctrl-0 = <&mbtk_plat_irq_func>;
1521 pinctrl-1 = <&mbtk_plat_irq_func_sleep>;
you.chen9824a892025-06-04 20:23:26 +08001522 //gpio_irq0 = <&gpio 21 0>;
1523 //gpio_irq1 = <&gpio 22 0>;
b.liub17525e2025-05-14 17:22:29 +08001524 gpio_irq2 = <&gpio 23 0>;
1525 gpio_irq3 = <&gpio 24 0>;
yu.dongca721ca2025-06-04 07:21:21 -07001526 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001527 };
1528
1529#endif
1530
b.liue9582032025-04-17 19:18:16 +08001531 ecall {
1532 compatible = "asr,ecall-event";
1533 pinctrl-names = "default";
1534 pinctrl-0 = <&ecall_pmx_func>;
1535 gpio-auto-ecall = <8>;
1536 gpio-manual-ecall = <9>;
1537 status = "disabled";
1538 };
1539
1540 usim1: usim1 {
1541 compatible = "asr,usim1";
1542 pinctrl-names = "default", "sleep";
1543 pinctrl-0 = <&usim1_pmx_func>;
1544 pinctrl-1 = <&usim1_pmx_func_sleep>;
yq.wang107f9862025-05-12 15:44:50 +08001545 edge_detect_gpio = <119>; /* GPIO19: SIM detect pin */
b.liue9582032025-04-17 19:18:16 +08001546 status = "okay";
1547 };
1548 /* set okay for this node if usim2 is needed */
1549 usim2: usim2 {
1550 compatible = "asr,usim2";
1551 pinctrl-names = "default", "sleep";
1552 pinctrl-0 = <&usim2_pmx_func>;
1553 pinctrl-1 = <&usim2_pmx_func_sleep>;
1554 edge_detect_gpio = <44>; /* GPIO44: SIM detect pin */
1555#ifdef CONFIG_ASR_DSDS
1556 status = "okay";
1557#else
1558 status = "disabled";
1559#endif
1560 };
1561 gpio_keys {
1562 compatible = "gpio-keys";
1563 #address-cells = <1>;
1564 #size-cells = <0>;
1565 /* autorepeat; */
1566 pinctrl-names = "default";
lichengzhangb746a892025-06-24 15:41:08 +08001567 pinctrl-0 = <&gpiokey_pmx_func &gpiokey_ssp2_func>;
b.liue9582032025-04-17 19:18:16 +08001568 button@1 {
1569 label = "qrcode-key";
1570 linux,code = <139>; /* KEY_MENU, refer to linux/input.h */
1571 /* NOTE:
1572 * We use the FORCE DOWNLOAD key to implement the qrcode key in DKB.
1573 * Customer SHOULD change it to any other gpios.
1574 * Because user may do the misoperation that
1575 * powerup with FDL key pressed,
1576 * then the borad will enter force download mode.
1577 */
1578 gpios = <&gpio 9 1>;
1579 gpio-key,wakeup;
1580 };
1581 };
1582
1583 audio_pa {
1584 compatible = "asrmicro,audio-pa";
1585 pinctrl-names = "default";
1586 pinctrl-0 = <&audio_pa_pmx_func>;
1587 pa-gpio = <&gpio 14 0>;
b.liub17525e2025-05-14 17:22:29 +08001588 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001589 };
b.liub17525e2025-05-14 17:22:29 +08001590 mbtk_GpioWakeUp {
1591 compatible = "mbtk,GpioWakeUp";
1592 pinctrl-names = "default", "sleep";
1593 pinctrl-0 = <&wake_pmx_func &wake_pmx_func1>;
1594 pinctrl-1 = <&wake_pmx_func_sleep>;
1595 wakeup-in-gpio = <&gpio 118 0>;
1596 wakeup-out-gpio = <&gpio 117 0>;
1597 status = "okay";
1598 };
b.liue9582032025-04-17 19:18:16 +08001599
hong.liuf2416882025-05-23 20:41:06 -07001600
1601 dtsleds{
1602 compatible = "gpio-leds";
1603 pinctrl-names = "default";
1604 pinctrl-0 = <&led_pmx_func1>;
1605 status = "okay";
1606 led0{
1607 label = "red";
1608 gpios = <&gpio 8 0>;
1609 linux,default-trigger = "pattern";
1610 led-pattern = "100:100:100";
1611 default-state = "on";
1612
1613 };
1614
1615 // led1{
1616 // label = "blue";
1617 // gpios = <&gpio 99 0>;
1618 // linux,default-trigger = "timer";
1619 // timer-delay-on = <100>;
1620 // timer-delay-off = <100>;
1621 // brightness-levels = <100>;
1622 // brightness-max = <100>;
1623 // default-state = "on";
1624 // };
1625
1626 };
1627
b.liue9582032025-04-17 19:18:16 +08001628 audio_regs {
1629 compatible = "ASRMICRO,audio-registers";
1630 reg = <0xD4050044 0x4>;
1631 status = "okay";
1632 };
1633
1634 nz3-slic {
1635 compatible = "asr,nz3-slic";
1636 pinctrl-names = "default", "sleep";
1637 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1638 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1639 rst-gpio = <&gpio 21 0>;
1640 edge-wakeup-gpio = <&gpio 20 0>;
1641 vdd-3v3-gpio = <&gpio 127 0>;
1642 status = "disabled";
1643 };
1644 microsemi-slic {
1645 compatible = "asr,microsemi-slic";
1646 pinctrl-names = "default", "sleep";
1647 pinctrl-0 = <&slic_pmx_func1>;
1648 pinctrl-1 = <&slic_pmx_func1_sleep>;
1649 edge-wakeup-gpio = <&gpio 20 0>;
1650 vdd-3v3-gpio = <&gpio 127 0>;
1651 status = "disabled";
1652 };
1653 maxlinear-slic {
1654 compatible = "asr,maxlinear-slic";
1655 pinctrl-names = "default", "sleep";
1656 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1657 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1658 rst-gpio = <&gpio 21 0>;
1659 edge-wakeup-gpio = <&gpio 20 0>;
1660 vdd-3v3-gpio = <&gpio 127 0>;
1661 status = "disabled";
1662 };
1663 /* deprecated, move to mfpr@d401e000
1664 lpm-board-cfg {
1665 compatible = "asr,lpm-board-cfg";
1666 wakeup-state-d1pp = <0x1>;
1667 udr-mfpr-config = <0x1B0 0xA040 0x0
1668 0x1B4 0xA040 0x0>;
1669 };
1670 */
1671};
1672#ifdef CONFIG_ASR_DSDS
1673#include "asr_pm802_2usim.dtsi"
1674#include "88pm805.dtsi"
1675#include "asr_pm803_2usim.dtsi"
1676#else
1677#include "asr_pm802.dtsi"
1678#include "88pm805.dtsi"
1679#include "asr_pm803.dtsi"
1680#endif
1681
1682#ifdef CONFIG_AB_SYSTEM
1683#include "asr1806_ab_flash_layout.dtsi"
1684#else
1685#include "asr1806_flash_layout.dtsi"
1686#endif