blob: 9633dbb061328cc4a18efe147193c7e75186fc9c [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";
53 pinctrl-names = "default", "rgmii-pins";
54 pinctrl-0 = <&emac_pmx_func0 &emac_pmx_func2 &emac_pmx_func3>;
55 pinctrl-1 = <&emac_pmx_func0 &emac_pmx_func1 &emac_pmx_func2 &emac_pmx_func3>;
56 reg = <0xd4281800 0x200>;
57 interrupts = <10 11>;
58 lpm-qos = <PM_QOS_CPUIDLE_BLOCK_AXI>;
59 clocks = <&soc_clocks ASR1803_CLK_EMAC
60 &soc_clocks ASR1803_CLK_EMAC_PTP>;
61 clock-names = "emac-clk", "ptp-clk";
62 ptp-support;
63 ptp-clk-rate = <100000000>;
64 status = "okay";
b.liub17525e2025-05-14 17:22:29 +080065 enable-suspend;
hj.shaof72d6ff2025-06-10 04:34:26 -070066 // reset-gpio = <&gpio 42 0>;
67 // reset-active-low;
68 // reset-delays-us = <100000 100000 100000>;
69 local-mac-address = [02 00 00 00 10 01];
b.liub17525e2025-05-14 17:22:29 +080070 //ldo-gpio = <&gpio 40 0>;
71 //ldo-active-low;
72 // ldo-delays-us = <0 100000 100000>;
73 //vmmc-supply = <0x19>;
74 mdio-clk-div = <254>;
b.liue9582032025-04-17 19:18:16 +080075 flow-control-threshold = <60 90>;
76 clk-tuning-enable;
77 /* clk-config(32bit)
78 *
79 * clk_sel(clk-config[23:16])
80 * RGMII:
81 * tx | clk_sel: 0 - from external RX clock
82 * 1 - from inverted external RX clock
83 * rx | clk_sel: 0 - from external RX clock
84 * 1 - from inverted external RX clock
85 *
86 * RMII:
87 * tx | clk_sel: 0 - RMII clock
88 * 1 - Inverted RMII clock
89 * rx | clk_sel: 0 - RMII clock
90 * 1 - Inverted RMII clock
91 *
92 */
93#if 0
94 /* enable 1000M phy*/
95 3v3-enable = <0>; /* IO voltage, 1 - 3.3v, 0 - 1.8v */
b.liub17525e2025-05-14 17:22:29 +080096 phy-handle = <&phy3>;
b.liue9582032025-04-17 19:18:16 +080097#else
98 /* enable 100M phy*/
b.liub17525e2025-05-14 17:22:29 +080099 3v3-enable = <0>; /* IO voltage, 1 - 3.3v, 0 - 1.8v */
hj.shaofe1632a2025-06-05 00:19:33 -0700100 phy-handle = <&phy0>;
b.liue9582032025-04-17 19:18:16 +0800101#endif
102 /* enable fix link for ethernet switch */
103 /*
104 fixed-link {
105 speed = <100>;
106 full-duplex;
107 phy-mode = "rmii";
108 };
109 */
110
111 mdio: mdio-bus {
112 #address-cells = <0x1>;
113 #size-cells = <0x0>;
114 /* YT8521 10M/100M/100OM 1.8V RGMII PHY */
115 phy0: phy@0 {
116 compatible = "ethernet-phy-ieee802.3-c22";
117 device_type = "ethernet-phy";
118 reg = <0x0>; /* set phy address*/
hj.shaof72d6ff2025-06-10 04:34:26 -0700119 rst-gpio = <&gpio 42 0>;
hj.shaofb3ba9b2025-06-19 02:53:56 -0700120 //#LYNQ_MODFIY modify for task-1618 2025/6/19 start
121 power-en-gpio = <&gpio 32 1>;
122 //#LYNQ_MODFIY modify for task-1618 2025/6/19 end
b.liue9582032025-04-17 19:18:16 +0800123 phy-mode = "rgmii";
hj.shaofe1632a2025-06-05 00:19:33 -0700124 // tx_rx_delay = <0xb 0x0>; /* 150ps per step*/
b.liue9582032025-04-17 19:18:16 +0800125 };
126
127 /* YT8512B 10M/100M 3.3V RMII PHY */
b.liub17525e2025-05-14 17:22:29 +0800128 // phy3: phy@3 {
129 // compatible = "ethernet-phy-ieee802.3-c22";
130 // device_type = "ethernet-phy";
131 // reg = <0x3>; /* set phy address*/
132 // phy-mode = "rmii";
133 // driver_strength = <0x3>;
134 // };
b.liue9582032025-04-17 19:18:16 +0800135
136 /* IP175D 10M/100M 3.3V RMII SWITCH */
137 phy1: phy@1 {
138 compatible = "ethernet-phy-ieee802.3-c22";
139 device_type = "ethernet-phy";
140 reg = <0x1>; /* set phy address*/
141 phy-mode = "rmii";
142 };
b.liub17525e2025-05-14 17:22:29 +0800143
144
145 /* jl 3103 phy */
146 phy3: phy@3 {
147 compatible = "ethernet-phy-ieee802.3-c22";
148 device_type = "ethernet-phy";
149 reg = <0x3>; /* set phy address*/
150 phy-mode = "rgmii-id";
151 lynq,jl3103=<100 0>;
152 };
b.liue9582032025-04-17 19:18:16 +0800153 };
154 };
155 qspi: spi@0xd420b000 {
156 asr,qspi-freq = <78000000>;
157 status = "okay";
158 };
zw.wang3ef3a312025-06-13 16:21:25 +0800159
160#if 0
b.liue9582032025-04-17 19:18:16 +0800161 /* SD card */
162 sdh0: sdh@d4280000 {
163 pinctrl-names = "default", "slow", "fast", "sleep";
164 pinctrl-0 = <&sdh0_pmx_func1 &sdh0_pmx_func2 &sdh0_pmx_func3>;
165 pinctrl-1 = <&sdh0_pmx_func1_slow &sdh0_pmx_func2_slow &sdh0_pmx_func3>;
166 pinctrl-2 = <&sdh0_pmx_func1_fast &sdh0_pmx_func2_fast &sdh0_pmx_func3>;
167 pinctrl-3 = <&sdh0_pmx_cd_wakeup>;
168 /*
169 * Genernal use, juse set vmmc-supply and vqmmc-supply
170 * vmmc-supply = <&supply1>
171 * vqmmc-supply = <&supply2>
172 *
173 * For compatibility, to select one from two supply source
174 * vmmc-supply = <&supply1 &supply1_backup>;
175 * vqmmc-supply = <&supply2 &supply2_backup>;
176 * vmmc2-supply = <&supply1_backup &supply1>;
177 * vqmmc2-supply = <&supply2_backup &supply2>;
178 */
179 vmmc-supply = <&vcc_sdh1>;
zw.wang5deb3e82025-05-30 11:29:23 +0800180 vqmmc-supply = <&pm802ldo6 &pm803ldo8>;
b.liue9582032025-04-17 19:18:16 +0800181#ifndef CONFIG_ASR_DSDS
182 vmmc2-supply = <&vcc_sdh1 &pm802ldo4>;
183 vqmmc2-supply = <&pm803ldo8 &pm802ldo6>;
184#endif
185 bus-width = <4>;
186 no-mmc;
187 no-sdio;
188 /*non-removable;
189 broken-cd;*/
190 wp-inverted;
191 asr,sdh-pm-runtime-en;
192 asr,sdh-host-caps-disable = <(MMC_CAP_UHS_SDR104)>;
193#if 1 /* CD via gpio */
zw.wang5deb3e82025-05-30 11:29:23 +0800194 //cd-gpios = <&gpio 90 1>;
b.liue9582032025-04-17 19:18:16 +0800195 asr,sdh-quirks2 = <(
196 SDHCI_QUIRK2_SET_AIB_MMC |
197 SDHCI_QUIRK2_PRESET_VALUE_BROKEN
198 )>;
199 asr,sdh-host-caps = <(
200 MMC_CAP_CD_WAKE
201 )>;
202 asr,sdh-quirks = <(
203 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
204 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
205 )>;
206#else /* CD via SDH */
207 asr,sdh-quirks = <(
208 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
209 )>;
210 asr,sdh-quirks2 = <(
211 SDHCI_QUIRK2_SET_AIB_MMC |
212 SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
213 SDHCI_QUIRK2_BASE_CLOCK_ALWAYS_ON
214 )>;
215#endif
216 /* prop "sdh-dtr-data":
217 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
218 asr,sdh-dtr-data =
219 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
220 <PXA_MMC_TIMING_SD_HS PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 0>,
221 <PXA_MMC_TIMING_UHS_DDR50 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
222 <PXA_MMC_TIMING_UHS_SDR50 PXA_SDH_DTR_104M PXA_SDH_DTR_208M 0 0 0 0>,
223 <PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 0 0 0 0>,
224 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_104M 0 0 0 0>;
225 status = "okay";
226 };
zw.wang3ef3a312025-06-13 16:21:25 +0800227#endif
228 /* EMMC*/
229 sdh0: sdh@d4280000 {
230 pinctrl-names = "default", "slow", "fast";
231 pinctrl-0 = <&sdh0_pmx_func1 &sdh0_pmx_func2 &sdh0_pmx_func3>;
232 pinctrl-1 = <&sdh0_pmx_func1_slow &sdh0_pmx_func2_slow &sdh0_pmx_func3>;
233 pinctrl-2 = <&sdh0_pmx_func1_fast &sdh0_pmx_func2_fast &sdh0_pmx_func3>;
234 vmmc-supply = <&pm803ldo6 &pm803ldo8>;
235 bus-width = <4>;
236 no-sdio;
237 no-sd;
238 non-removable;
239 broken-cd;
240 wp-inverted;
241 asr,sdh-pm-runtime-en;
242 cap-mmc-highspeed;
243 mmc-ddr-1_8v;
244 asr,sdh-host-caps-disable = <(MMC_CAP_1_2V_DDR)>;
245 asr,sdh-host-caps2-disable = <(MMC_CAP2_HSX00_1_2V | MMC_CAP2_HS400 |MMC_CAP2_HS200)>;
246 asr,sdh-host-caps2 = <(
247 MMC_CAP2_ONLY_1_8V
248 )>;
249 asr,sdh-quirks = <(
250 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
251 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
252 )>;
253 asr,sdh-quirks2 = <(
254 SDHCI_QUIRK2_SET_AIB_MMC |
255 SDHCI_QUIRK2_PRESET_VALUE_BROKEN
256 )>;
257 /* prop "sdh-dtr-data":
258 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
259 asr,sdh-dtr-data =
260 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
261 <PXA_MMC_TIMING_MMC_HS PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 0>,
262 <PXA_MMC_TIMING_MMC_DDR52 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
263 <PXA_MMC_TIMING_MMC_HS200 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 53 0 0 0>,
264 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_89M 0 0 0 0>;
265 status = "okay";
266 };
b.liue9582032025-04-17 19:18:16 +0800267
268 /* SDIO */
269 sdh1: sdh@d4280800 {
270 pinctrl-names = "default", "fast", "sleep";
b.liub17525e2025-05-14 17:22:29 +0800271 pinctrl-0 = <&sdh1_pmx_func1 &sdh1_pmx_func2>;
272 pinctrl-1 = <&sdh1_pmx_func1_fast &sdh1_pmx_func2_fast>;
273 /* pinctrl-2 = <&sdh1_pmx_edge_wakeup>;*/
b.liue9582032025-04-17 19:18:16 +0800274 bus-width = <4>;
275 no-mmc;
276 no-sd;
277 non-removable;
278 keep-power-in-suspend;
279 enable-sdio-wakeup;
280 /* clk-scaling-config:
281 <up_threshold down_threshold polling_interval> */
282 clk-scaling-config = <25 12 200>;
283 min-ddr-qos = <156000 312000 400000>;
284 asr,sdh-pm-runtime-en;
285 asr,sdh-quirks = <(
286 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
287 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
288 )>;
289 asr,sdh-quirks2 = <(
290 SDHCI_QUIRK2_NO_TIMER_RETUNING |
291 SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
292 SDHCI_QUIRK2_BASE_CLOCK_ALWAYS_ON
293 )>;
294 asr,sdh-pm-caps = <(MMC_PM_KEEP_POWER)>;
295 asr,sdh-host-caps2 = <(
296 MMC_CAP2_ONLY_1_8V |
297 MMC_CAP2_DISABLE_PROBE_CDSCAN |
298 MMC_CAP2_CLK_SCALE |
299 MMC_CAP2_BUS_CLK_NO_SCALE
300 )>;
301 /* prop "sdh-dtr-data":
302 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
303 asr,sdh-dtr-data =
304 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
305 <PXA_MMC_TIMING_SD_HS PXA_SDH_DTR_45M PXA_SDH_DTR_89M 0 0 0 0>,
306 <PXA_MMC_TIMING_UHS_DDR50 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
307 <PXA_MMC_TIMING_UHS_SDR50 PXA_SDH_DTR_83M PXA_SDH_DTR_83M 0 0 0 3>,
b.liub17525e2025-05-14 17:22:29 +0800308 //<PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 0 0 0 0>,
309 <PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_52M PXA_SDH_DTR_52M 0 0 0 0>,
b.liue9582032025-04-17 19:18:16 +0800310 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_89M 0 0 0 0>;
311 status = "okay";
312 };
313 pcie0: pcie@0xd4288000{
314 reset-gpios = <&gpio 42 0 >;
b.liub17525e2025-05-14 17:22:29 +0800315 status = "disbabled";
b.liue9582032025-04-17 19:18:16 +0800316 };
317 pciephy0: pcie-phy@d4206000 {
318 status = "okay";
319 };
320 };
321
322 apb@d4000000 {
323 ssp_dai1: pxa-ssp-dai@1 {
324 compatible = "asr,pxa-ssp-dai";
325 reg = <0x1 0x0>;
326
327 port = <&ssp1>;
328 pinctrl-names = "default","ssp";
329 pinctrl-0 = <&i2s_gpio>;
330 pinctrl-1 = <&i2s_func>;
331 ssp-gpio = <&gpio 25 0 &gpio 26 0 &gpio 27 0 &gpio 28 0>;
332
333 dmas = <&pdma0 54 1
334 &pdma0 55 1>;
335 dma-names = "rx", "tx";
336
337 platform_driver_name = "pdma_platform";
338 burst_size = <4>;
339 playback_period_bytes = <2048>;
340 playback_buffer_bytes = <4096>;
341 capture_period_bytes = <2048>;
342 capture_buffer_bytes = <4096>;
343 };
344 mfpr: mfpr@d401e000 {
345 status = "okay";
346 /* intend to replace lpm-board-cfg
347 no-apbsd-in-d1pp = <0x1>; //"wakeup-state-d1pp"
348 pin1:pin1@d401e01B0 {
349 offset = <0x1B0>;
350 udr-cfg = <0xA040>;
351 };
352 pin2:pin2@d401e01B4 {
353 offset = <0x1B4>;
354 udr-cfg = <0xA040>;
355 };
356 */
357 };
358 timer0: timer@d4014000 {
359 status = "okay";
360 };
361 uart1: uart@d4017000 { /* nezhas evb use ap uart */
362 pinctrl-names = "default","sleep";
363 pinctrl-0 = <&uart1_pmx_func1 &uart1_pmx_func2>;
364 pinctrl-1 = <&uart1_pmx_func1_sleep &uart1_pmx_func2>;
b.liub17525e2025-05-14 17:22:29 +0800365 //edge-wakeup-gpio = <&gpio 29 0>; /* GPIO29: AP UART rx pin */
b.liue9582032025-04-17 19:18:16 +0800366 status = "okay";
367 };
368 uart2: uart@d4036000 {
369 pinctrl-names = "default";
hj.shao9f48a912025-06-11 00:19:29 -0700370
371 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
372 pinctrl-0 = <&gps_pmx_uart_rxd &gps_pmx_uart_txd>; //&gps_pmx_func_cts_rts>;
373 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800374 status = "okay";
375 };
376 uart3: uart@d4018000 {
377 pinctrl-names = "default";
378 pinctrl-0 = <&uart3_pmx_func>;
b.liub17525e2025-05-14 17:22:29 +0800379 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800380 };
381 uart4: uart@d401f000 {
382 pinctrl-names = "default";
b.liub17525e2025-05-14 17:22:29 +0800383 pinctrl-0 = <&uart4_pmx_func>; /*BAUD :9600*/
384 /*pinctrl-0 = <&uart4_pmx_func_rxd &uart4_pmx_func_txd &uart4_pmx_func_cts_rts>;*/
385 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800386 };
387 rtc: rtc@d4010000 {
388 status = "okay";
389 };
390 pmx: pinmux@d401e000 {
391 /* pin base = base_addr / 4, nr pins & gpio function */
392 pinctrl-single,gpio-range = <
393 /*
394 * GPIO number is hardcoded for range at here.
395 * In gpio chip, GPIO number is not hardcoded for range.
396 * Since one gpio pin may be routed to multiple pins,
397 * define these gpio range in pxa910-dkb.dts not pxa910.dtsi.
398 */
399 /*&range 80 4 0 */ /* GPIO25 ~ GPIO28 */
400 &range 55 32 0 /* GPIO0 ~ GPIO31 */
401 &range 87 32 0 /* GPIO32 ~ GPIO63 */
402 &range 119 32 0 /* GPIO64 ~ GPIO95 */
403 &range 151 32 0 /* GPIO96 ~ GPIO127 */
404 >;
405
406 ssp0_pmx_func: ssp0_pmx_func {
407 pinctrl-single,pins = <
408 GPIO36 AF1 /* TXD */
409 GPIO35 AF1 /* RXD */
410 GPIO34 AF1 /* FRM */
411 /*GPIO34 AF0*/ /* FRM *//* DXS101 Use the config of Cs-gpios */
412 GPIO33 AF1 /* SCLK */
413 >;
b.liub17525e2025-05-14 17:22:29 +0800414 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
415 };
416 ssp2_pmx_func: ssp2_pmx_func {
417 pinctrl-single,pins = <
418 GPIO37 AF3 /* TXD */
419 GPIO38 AF3 /* SCLK */
420 GPIO39 AF3 /* FRM */
421 GPIO40 AF3 /* RXD */
422 >;
423 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
b.liue9582032025-04-17 19:18:16 +0800424 };
425 lcd_bl_func: lcd_bl_func {
426 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800427 /* VCXO_OUT AF1 GPIO126, lcd bl */
428 /* GPIO24 AF0 reset */
429 /* GPIO22 AF0 lcd d/c */
b.liue9582032025-04-17 19:18:16 +0800430 >;
431 MFP_DEFAULT;
432 };
433 uart1_pmx_func1: uart1_pmx_func1 {
434 pinctrl-single,pins = <
435 GPIO29 AF1
436 >;
437 MFP_DEFAULT;
438 };
439 uart1_pmx_func2: uart1_pmx_func2 {
440 pinctrl-single,pins = <
441 GPIO30 AF1
442 >;
443 MFP_DEFAULT;
444 };
445 uart1_pmx_func1_sleep: uart1_pmx_func1_sleep {
446 pinctrl-single,pins = <
447 GPIO29 AF1
448 >;
b.liub17525e2025-05-14 17:22:29 +0800449 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800450 };
451 twsi0_pmx_func: twsi0_pmx_func {
452 pinctrl-single,pins = <
453 GPIO49 AF1
454 GPIO50 AF1
455 >;
b.liub17525e2025-05-14 17:22:29 +0800456 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800457 };
458 twsi0_pmx_gpio: twsi0_pmx_gpio {
459 pinctrl-single,pins = <
460 GPIO49 AF0
461 GPIO50 AF0
462 >;
b.liub17525e2025-05-14 17:22:29 +0800463 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800464 };
b.liub17525e2025-05-14 17:22:29 +0800465#if 1
b.liue9582032025-04-17 19:18:16 +0800466 twsi1_pmx_func: twsi1_pmx_func {
467 pinctrl-single,pins = <
468 GPIO10 AF1
469 GPIO11 AF1
470 >;
b.liub17525e2025-05-14 17:22:29 +0800471 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800472 };
473 twsi1_pmx_gpio: twsi1_pmx_gpio {
474 pinctrl-single,pins = <
475 GPIO10 AF0
476 GPIO11 AF0
477 >;
b.liub17525e2025-05-14 17:22:29 +0800478 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800479 };
480#endif
481 /* no pull, no LPM */
482 dvc_pmx_func: dvc_pmx_func {
483 /* hw-dvc */
484 pinctrl-single,pins = <
485 TDS_DIO0 AF0
486 TDS_DIO1 AF0
487 >;
488 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
489 };
490 leds_pmx_func: leds_pmx_func {
491 pinctrl-single,pins = <
492 DF_IO10 AF1
493 DF_IO11 AF1
494 DF_IO12 AF1
495 >;
496 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
497 };
498
499 gps_pmx_onoff: gps_pmx_onoff {
500 pinctrl-single,pins = <
501 TDS_TXREV AF1
502 >;
503 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
504 };
505 gps_pmx_reset: gps_pmx_reset {
506 pinctrl-single,pins = <
507 TDS_RXON AF1
508 >;
509 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
510 };
b.liub17525e2025-05-14 17:22:29 +0800511
512 //zqy
513 gnss_clk_on: gnss_clk_on {
514 pinctrl-single,pins = <
515 GPIO43 AF2 /*32K CLK */
516
517 /*VCXO_REQ AF1 GPIO[125] GPS_WAKE_HOST */
518 GPIO47 AF0 /* HOST_WAKE_GPS */
519 GPIO45 AF0 /*RESET */
520 CLK_REQ AF1 /*sleep en*/
521
522 >;
523 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
524 };
b.liue9582032025-04-17 19:18:16 +0800525 gps_pmx_uart_rxd: gps_pmx_uart_rxd {
526 /* gps dedicated uart */
527 pinctrl-single,pins = <
528 GPIO51 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700529
530 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
531 /*GPIO32 AF1*/
532 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800533 >;
b.liub17525e2025-05-14 17:22:29 +0800534 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800535 };
536 gps_pmx_uart_txd: gps_pmx_uart_txd {
537 /* gps dedicated uart */
538 pinctrl-single,pins = <
539 GPIO52 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700540 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
541 /*GPIO31 AF1*/
542 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800543 >;
b.liub17525e2025-05-14 17:22:29 +0800544 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800545 };
b.liub17525e2025-05-14 17:22:29 +0800546 gps_pmx_func_cts_rts: gps_pmx_func_cts_rts {
547 pinctrl-single,pins = <
548 GPIO31 AF1 /* cts */
549 GPIO32 AF1 /* rts */
550 >;
551 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
552 };
553
b.liue9582032025-04-17 19:18:16 +0800554 uart3_pmx_func: uart3_pmx_func {
555 pinctrl-single,pins = <
556 GPIO53 AF1 /* RX */
yu.dongca721ca2025-06-04 07:21:21 -0700557 /* GPIO54 AF1 TX */
b.liue9582032025-04-17 19:18:16 +0800558 >;
lichengzhangb746a892025-06-24 15:41:08 +0800559 MFP_PULL_DOWN;
b.liue9582032025-04-17 19:18:16 +0800560 };
b.liub17525e2025-05-14 17:22:29 +0800561
562
563 uart4_pmx_func_rxd: uart4_pmx_func_rxd {
564 pinctrl-single,pins = <
565 GPIO37 AF2
566 GPIO40 AF2
567 >;
568 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
569 };
570 uart4_pmx_func_txd: uart4_pmx_func_txd {
571 pinctrl-single,pins = <
572 GPIO38 AF2
573 GPIO39 AF2
574 >;
575 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
576 };
577
578 uart4_pmx_func_cts_rts: uart4_pmx_func_cts_rts {
579 pinctrl-single,pins = <
580 GPIO39 AF2
581 GPIO40 AF2
582 >;
583 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
584 };
b.liue9582032025-04-17 19:18:16 +0800585 uart4_pmx_func: uart4_pmx_func {
586 pinctrl-single,pins = <
587 GPIO44 AF1 /* RX */
588 GPIO45 AF1 /* TX */
589 >;
b.liub17525e2025-05-14 17:22:29 +0800590 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800591 };
592 panel_rst_func: panel_rst_func {
593 pinctrl-single,pins = <
594 DF_nCS1 AF1
595 >;
596 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
597 };
598
599 sd_ldo_en: sd_ldo_en {
600 pinctrl-single,pins = <
601 GPIO45 AF0
602 >;
603 MFP_PULL_DOWN;
604 };
605 sdh0_pmx_func1: sdh0_pmx_func1 {
606 pinctrl-single,pins = <
607 MMC1_DAT3 AF0
608 MMC1_DAT2 AF0
609 MMC1_DAT1 AF0
610 MMC1_DAT0 AF0
611 MMC1_CMD AF0
612 >;
613 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
614 };
615 sdh0_pmx_func2: sdh0_pmx_func2 {
616 pinctrl-single,pins = <
617 MMC1_CLK AF0
618 >;
619 DS_MEDIUM;PULL_NONE;EDGE_NONE;
620 };
621 sdh0_pmx_func3: sdh0_pmx_func3 {
622 pinctrl-single,pins = <
623 MMC1_CD AF1
624 >;
625 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
626 };
627 sdh0_pmx_cd_wakeup: sdh0_pmx_func1_cd_wakeup {
628 pinctrl-single,pins = <
629 MMC1_CD AF1
630 >;
631 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
632 };
633 sdh0_pmx_func1_slow: sdh0_pmx_func1_slow {
634 pinctrl-single,pins = <
635 MMC1_DAT3 AF0
636 MMC1_DAT2 AF0
637 MMC1_DAT1 AF0
638 MMC1_DAT0 AF0
639 MMC1_CMD AF0
640 >;
641 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
642 };
643 sdh0_pmx_func2_slow: sdh0_pmx_func2_slow {
644 pinctrl-single,pins = <
645 MMC1_CLK AF0
646 >;
647 DS_FAST0;PULL_NONE;EDGE_NONE;
648 };
649 sdh0_pmx_func1_fast: sdh0_pmx_func1_fast {
650 pinctrl-single,pins = <
651 MMC1_DAT3 AF0
652 MMC1_DAT2 AF0
653 MMC1_DAT1 AF0
654 MMC1_DAT0 AF0
655 MMC1_CMD AF0
656 >;
657 DS_FAST1;PULL_NONE;EDGE_NONE;SL_NORMAL;
658 };
659 sdh0_pmx_func2_fast: sdh0_pmx_func2_fast {
660 pinctrl-single,pins = <
661 MMC1_CLK AF0
662 >;
663 DS_FAST1;PULL_NONE;EDGE_NONE;
664 };
665 sdh1_pmx_func1_fast: sdh1_pmx_func1_fast {
666 pinctrl-single,pins = <
667 TDS_DIO13 AF0 /* WLAN_DAT3 */
668 TDS_DIO14 AF0 /* WLAN_DAT2 */
669 TDS_DIO15 AF0 /* WLAN_DAT1 */
670 TDS_DIO16 AF0 /* WLAN_DAT0 */
671 TDS_DIO17 AF0 /* WLAN_CMD */
672 >;
673 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
674 };
675 sdh1_pmx_func2_fast: sdh1_pmx_func2_fast {
676 pinctrl-single,pins = <
677 TDS_DIO18 AF0 /* WLAN_CLK */
678 >;
679 DS_FAST0;PULL_DOWN;EDGE_NONE;SL_NORMAL;
680 };
681 sdh1_pmx_func1: sdh1_pmx_func1 {
682 pinctrl-single,pins = <
683 TDS_DIO13 AF0 /* WLAN_DAT3 */
684 TDS_DIO14 AF0 /* WLAN_DAT2 */
685 TDS_DIO15 AF0 /* WLAN_DAT1 */
686 TDS_DIO16 AF0 /* WLAN_DAT0 */
687 TDS_DIO17 AF0 /* WLAN_CMD */
688 >;
689 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
690 };
691 sdh1_pmx_func2: sdh1_pmx_func2 {
692 pinctrl-single,pins = <
693 TDS_DIO18 AF0 /* WLAN_CLK */
694 >;
695 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_LOW;
696 };
697 sdh1_pmx_func3: sdh1_pmx_func3 {
698 pinctrl-single,pins = <
699 GPIO10 AF0 /* VCXO_REQ AF1 WLAN_WAKE_HOST */
700 >;
701 MFP_PULL_DOWN;
702 };
703 sdh1_pmx_edge_wakeup: sdh1_pmx_edge_wakeup {
704 pinctrl-single,pins = <
705 GPIO10 AF0 /* VCXO_REQ AF1 */
706 >;
707 DS_MEDIUM;PULL_DOWN;EDGE_RISE;SL_NORMAL;
708 };
709 sdh1_pmx_pd_rst_off: sdh1_pmx_pd_rst_off {
710 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800711 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
712 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
713 MMC1_CD AF1
b.liue9582032025-04-17 19:18:16 +0800714 >;
715 MFP_PULL_DOWN;
716 };
717 sdh1_pmx_pd_rst_on: sdh1_pmx_pd_rst_on {
718 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800719 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
720 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
721 MMC1_CD AF1
722 >;
723 MFP_PULL_UP;
724 };
725
726
727 mbtk_sdh_pmx_off: mbtk_sdh_pmx_off {
728 pinctrl-single,pins = <
729 VCXO_REQ AF1 //gpio125 wlan en
730 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800731 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liub17525e2025-05-14 17:22:29 +0800732 >;
733 MFP_PULL_DOWN;
734 };
735 mbtk_sdh_pmx_on: mbtk_sdh_pmx_on {
736 pinctrl-single,pins = <
737 VCXO_REQ AF1 //gpio125 wlan en
738 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800739 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liue9582032025-04-17 19:18:16 +0800740 >;
741 MFP_PULL_UP;
742 };
743 alc5616_pmx_func1: alc5616_pmx_func1 {
744 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800745 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
b.liue9582032025-04-17 19:18:16 +0800746 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
747 >;
748 MFP_DEFAULT;
749 };
750 alc5616_pmx_func2: alc5616_pmx_func2 {
751 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800752 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
753 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
754 >;
755 MFP_DEFAULT;
756 };
757
758 es8311_pa_func1: es8311_pa_func1 {
759 pinctrl-single,pins = <
760 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700761 GPIO54 AF0 /* CODEC_VDDD_EN */
762 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liub17525e2025-05-14 17:22:29 +0800763 >;
764 MFP_DEFAULT;
765 };
766 es8311_pa_func2: es8311_pa_func2 {
767 pinctrl-single,pins = <
b.liue9582032025-04-17 19:18:16 +0800768 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700769 GPIO54 AF0 /* CODEC_VDDD_EN */
770 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liue9582032025-04-17 19:18:16 +0800771 >;
772 MFP_DEFAULT;
773 };
774 audio_pa_pmx_func: audio_pa_pmx_func {
775 pinctrl-single,pins = <
776 GPIO14 AF0 /* PA */
777 >;
778 MFP_DEFAULT;
779 };
780 ecall_pmx_func: ecall_pmx_func {
781 pinctrl-single,pins = <
782 GPIO08 AF0 /* auto mode ecall */
783 GPIO09 AF0 /* manual mode ecall */
784 >;
785 MFP_DEFAULT;
786 };
787 slic_pmx_func1: slic_pmx_func1 {
788 pinctrl-single,pins = <
789 GPIO20 AF0 /* SLIC_INT, GPIO20 */
790 VCXO_OUT AF1 /* GPIO127, SLIC_3V3LDO_EN/LCD_BK_EN */
791 >;
792 MFP_DEFAULT;
793 };
794 slic_pmx_func2: slic_pmx_func2 {
795 pinctrl-single,pins = <
796 GPIO21 AF0 /* SLIC_RESET, GPIO21 */
797 >;
798 MFP_DEFAULT;
799 };
800 slic_pmx_func1_sleep: slic_pmx_func1_sleep {
801 pinctrl-single,pins = <
802 GPIO20 AF0 /* SLIC_INT, GPIO20 */
803 >;
804 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
805 };
806
807 otg_vbus_func: otg_vbus_func {
808 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800809 /* VBUS_DRV AF1 GPIO[122] */
b.liue9582032025-04-17 19:18:16 +0800810 >;
811 DS_MEDIUM;PULL_DOWN;EDGE_NONE;
812 };
813
814 emac_pmx_func0: emac_pmx_func0 {
815 pinctrl-single,pins = <
816 GPIO00 AF1 /* GMAC1_RX_DV */
817 GPIO01 AF1 /* GMAC1_RX_D0 */
818 GPIO02 AF1 /* GMAC1_RX_D1 */
819 GPIO03 AF1 /* GMAC1_RX_CLK */
820 /* GPIO04 AF1 GMAC1_RX_D2 */
821 /* GPIO05 AF1 GMAC1_RX_D3 */
822 GPIO06 AF1 /* GMAC1_TX_D0 */
823 GPIO07 AF1 /* GMAC1_TX_D1 */
824 /* GPIO12 AF1 GMAC1_TX_CLK */
825 /* GPIO13 AF1 GMAC1_TX_D2 */
826 /* GPIO14 AF1 GMAC1_TX_D3 */
827 GPIO15 AF1 /* GMAC1_TX_EN */
828 GPIO16 AF1 /* GMAC1_TX_MDC */
829 /* GPIO17 AF1 GMAC1_TX_MDIO */
830 >;
831 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
832 };
833 emac_pmx_func1: emac_pmx_func1 {
834 pinctrl-single,pins = <
835 GPIO04 AF1 /* GMAC1_RX_D2 */
836 GPIO05 AF1 /* GMAC1_RX_D3 */
837 GPIO12 AF1 /* GMAC1_TX_CLK */
838 GPIO13 AF1 /* GMAC1_TX_D2 */
839 GPIO14 AF1 /* GMAC1_TX_D3 */
840 >;
841 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
842 };
843 emac_pmx_func2: emac_pmx_func2 {
844 pinctrl-single,pins = <
845 GPIO17 AF1 /* GMAC1_TX_MDIO */
846 GPIO18 AF1 /* GMAC1_TX_INT_N */
847 >;
848 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
849 };
850 emac_pmx_func3: emac_pmx_func3 {
851 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800852 GPIO42 AF0 /* RESET */
hj.shaofb3ba9b2025-06-19 02:53:56 -0700853 //#LYNQ_MODFIY modify for task-1618 2025/6/19 start
854 GPIO32 AF0 /* POWER EN */
855 //#LYNQ_MODFIY modify for task-1618 2025/6/19 end
b.liub17525e2025-05-14 17:22:29 +0800856 /* GPIO40 AF0 LDO_EN */
b.liue9582032025-04-17 19:18:16 +0800857 >;
858 DS_SLOW0;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
859 };
860 usim1_pmx_func: usim1_pmx_func {
861 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800862 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800863 >;
864 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
865 };
866 usim1_pmx_func_sleep: usim1_pmx_func_sleep {
867 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800868 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800869 >;
870 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
871 };
872 usim2_pmx_func: usim2_pmx_func {
873 pinctrl-single,pins = <
874 GPIO44 AF0
875 >;
876 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
877 };
878 usim2_pmx_func_sleep: usim2_pmx_func_sleep {
879 pinctrl-single,pins = <
880 GPIO44 AF0
881 >;
882 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
883 };
884 pcie_pmx_pd_rst_off: pcie_pmx_pd_rst_off {
885 pinctrl-single,pins = <
886 GPIO42 AF0 /* PERST_N */
887 GPIO24 AF0 /* DC_EN */
888 >;
889 MFP_PULL_DOWN;
890 };
891 pcie_pmx_pd_rst_on: pcie_pmx_pd_rst_on {
892 pinctrl-single,pins = <
893 GPIO42 AF0 /* PERST_N */
894 GPIO24 AF0 /* DC_EN */
895 >;
896 MFP_PULL_UP;
897 };
b.liub17525e2025-05-14 17:22:29 +0800898 pin_func_work: pin_func_work {
899 pinctrl-single,pins = <
900
901 GPIO08 AF0 /*T108 status led* /
902
903 VBUS_DRV AF2 /*32k*/
904
905
906 GPIO46 AF0 /*wifi en*/
907
908 GPIO19 AF0 /*bt en*/
909
910 >;
911 MFP_DEFAULT;
912 };
913
914
915 sc_ext_int0: sc_ext_int0 {
916 pinctrl-single,pins = <
917 GPIO21 AF0
918 >;
919 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
920 };
921 sc_ext_int1: sc_ext_int1 {
922 pinctrl-single,pins = <
923 GPIO22 AF0
924 >;
925 MFP_DEFAULT;
926 };
927
928 sc_ext_int2: sc_ext_int2 {
929 pinctrl-single,pins = <
930 GPIO23 AF0
931 >;
932 MFP_DEFAULT;
933 };
934
935
936 sc_ext_int3: sc_ext_int3 {
937 pinctrl-single,pins = <
938 GPIO24 AF0
939 >;
940 MFP_DEFAULT;
941 };
942
943
944 mbtk_plat_irq_func: mbtk_plat_irq_func {
945 pinctrl-single,pins = <
946
you.chen9824a892025-06-04 20:23:26 +0800947 /*GPIO21 AF0
948 GPIO22 AF0 */
b.liub17525e2025-05-14 17:22:29 +0800949 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -0700950 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +0800951
952 >;
953 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
954 };
955 mbtk_plat_irq_func_sleep: mbtk_plat_irq_func_sleep {
956 pinctrl-single,pins = <
you.chen9824a892025-06-04 20:23:26 +0800957 /*GPIO21 AF0
958 GPIO22 AF0*/
b.liub17525e2025-05-14 17:22:29 +0800959 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -0700960 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +0800961 >;
962 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
963 };
964
965
b.liue9582032025-04-17 19:18:16 +0800966 gpiokey_pmx_func: gpiokey_pmx_func {
967 pinctrl-single,pins = <
968 GPIO09 AF0
969 >;
970 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
971 };
b.liub17525e2025-05-14 17:22:29 +0800972
lichengzhangb746a892025-06-24 15:41:08 +0800973 /*for ssp2 is not in use, it needs to be used as a regular gpio,default state is input and low*/
974 gpiokey_ssp2_func: gpiokey_ssp2_func {
975 pinctrl-single,pins = <
976 GPIO37 AF0 /* TXD */
977 GPIO38 AF0 /* SCLK */
978 GPIO39 AF0 /* FRM */
979 GPIO40 AF0 /* RXD */
980 >;
981 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
982 };
983
b.liub17525e2025-05-14 17:22:29 +0800984 wake_pmx_func1: wake_pmx_func1 {
985 pinctrl-single,pins = <
986 USB_ID AF1
987 >;
988 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
989 };
990
hong.liuf2416882025-05-23 20:41:06 -0700991 led_pmx_func1: led_pmx_func1 {
992 pinctrl-single,pins = <
993 GPIO08 AF0
994 >;
995 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
996 };
997
b.liub17525e2025-05-14 17:22:29 +0800998
999 wake_pmx_func: wake_pmx_func {
1000 pinctrl-single,pins = <
1001 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1002
1003 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1004 GPIO41 AF0
1005 PRI_TDO AF1 /*GPIO120*/
1006
1007
1008 >;
1009 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1010 };
1011 wake_pmx_func_sleep: wake_pmx_func_sleep {
1012 pinctrl-single,pins = <
1013 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1014
1015 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1016 GPIO41 AF0
1017 PRI_TDO AF1 /*GPIO120*/
1018
1019 >;
1020 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
1021 };
1022 usb_id_pinmux: usb_id_pinmux {
b.liue9582032025-04-17 19:18:16 +08001023 pinctrl-single,pins = <
1024 USB_ID AF1/* usbid-gpio99 */
1025 >;
1026 DS_MEDIUM;PULL_UP;EDGE_NONE;LPM_NONE;
1027 };
1028 usb_id_pinmux_slp: usb_id_pinmux_slp {
1029 pinctrl-single,pins = <
1030 USB_ID AF1 /* usbid-gpio99 */
1031 >;
1032 DS_MEDIUM;PULL_UP;EDGE_BOTH;LPM_NONE;
1033 };
1034 usb_host_pinmux: usb_host_pinmux {
1035 pinctrl-single,pins = <
1036 VBUS_DRV AF1 /* gpio-122 */
1037 >;
1038 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;LPM_NONE;
1039 };
1040 i2s_func: i2s_func {
1041 pinctrl-single,pins = <
1042 GPIO25 AF2
1043 GPIO26 AF2
1044 GPIO27 AF2
1045 GPIO28 AF2
1046 >;
1047 MFP_DEFAULT;
1048 };
1049 i2s_gpio: i2s_gpio {
1050 pinctrl-single,pins = <
1051 GPIO25 AF0
1052 GPIO26 AF0
1053 GPIO27 AF0
1054 GPIO28 AF0
1055 >;
1056 MFP_LPM_FLOAT;
1057 };
you.chen9824a892025-06-04 20:23:26 +08001058 sensors_int:sensors_int {
1059 pinctrl-single,pins = <
1060 GPIO22 AF0
1061 >;
1062 MFP_PULL_DOWN;
1063 };
1064 sensors_csb:sensors_csb {
1065 pinctrl-single,pins = <
1066 VCXO_OUT AF1
1067 >;
1068 DS_MEDIUM;PULL_UP;EDGE_NONE;
1069 };
b.liue9582032025-04-17 19:18:16 +08001070 };
1071
1072 ssp0: spi@d401b000 {
1073 status = "okay";
1074 pinctrl-names = "default";
1075 pinctrl-0 = <&ssp0_pmx_func>;
1076 asr,spi-inc-mode;
1077#ifdef CONFIG_FB_SPI_LCD
1078 /* this enhancemnet feature is not suitable for
1079 3 line 9bits spi lcd. */
1080 /* asr,ssp-enhancement; */
1081
1082 lcd: spidev@0 {
1083 #address-cells = <1>;
1084 #size-cells = <1>;
1085 compatible = "spilcd";
b.liub17525e2025-05-14 17:22:29 +08001086 // pinctrl-names = "default";
1087 // pinctrl-0 = <&lcd_bl_func>;
b.liue9582032025-04-17 19:18:16 +08001088 reg = <0>;
1089 /* ST7735: need to set spi-max-frequency to 26M
1090 * ST7789V: can set spi-max-frequency to 52M
1091 */
1092 spi-max-frequency = <26000000>;
1093 xres = <128>;
1094 yres = <128>;
1095 bits = <8>; /* 8: 4line, 9: 3line */
1096 rst_gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001097 // bl_gpio = <&gpio 126 0>;
b.liue9582032025-04-17 19:18:16 +08001098 rs_gpio = <&gpio 22 0>;
1099 /* if comment the following statement, it means
1100 * the avdd is sit on the "always-on" ldo.
1101 */
1102 /* avdd-supply = <&LDO1>; */
1103 };
1104#else
1105 /*cs-gpios = <&gpio 34 0>;*//* DXS101 Use the config of Cs-gpios */
1106 slic: spidev@0{
1107 #address-cells = <1>;
1108 #size-cells = <1>;
1109 compatible = "asr,slic";
1110 reg = <0>;
1111 spi-cpol;
1112 spi-cpha;
1113 spi-max-frequency = <6500000>;
1114 };
1115#endif
1116 };
b.liub17525e2025-05-14 17:22:29 +08001117 ssp2: spi@d401c000{
lichengzhangb746a892025-06-24 15:41:08 +08001118 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001119 pinctrl-names = "default";
1120 pinctrl-0 = <&ssp2_pmx_func>;
1121 asr,spi-inc-mode;
1122 cs-gpios = <&gpio 39 0>;
b.liub17525e2025-05-14 17:22:29 +08001123 mbtk: spidev@0{
1124 compatible = "asr,spidev";
1125 reg = <0>;
1126 status = "okay";
1127 spi-cpol;
1128 spi-cpha;
1129 spi-max-frequency = <6500000>;
1130 };
1131 };
b.liue9582032025-04-17 19:18:16 +08001132 twsi0: i2c@d4011000 {
1133 status= "okay";
1134 alc5616@1b {
b.liub17525e2025-05-14 17:22:29 +08001135 status= "disabled";
b.liue9582032025-04-17 19:18:16 +08001136 compatible = "asrmicro,alc5616";
1137 reg = <0x1b>;
1138 pinctrl-names = "default", "sleep";
1139 pinctrl-0 = <&alc5616_pmx_func1>;
1140 pinctrl-1 = <&alc5616_pmx_func2>;
1141 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1142 clock-names = "i2s_sys_clk";
1143#if 0
1144 3V3-gpio = <&gpio 23 0>;/* CODEC_LDO_EN */
1145 irq-gpio = <&gpio 24 0>;/* CODEC_IRQ for headset detection */
1146#else
1147 irq-gpio = <&gpio 8 0>;/* CODEC_IRQ for headset detection */
1148#endif
1149 };
1150
b.liub17525e2025-05-14 17:22:29 +08001151 nau8810@1a {
1152 compatible = "marvell,nau8810";
1153 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1154 clock-names = "i2s_sys_clk";
1155
1156
1157 pinctrl-names = "default";
1158 pinctrl-0 = <&es8311_pa_func1>;
1159 pinctrl-1 = <&es8311_pa_func2>;
1160 reg = <0x1a>;
1161 status= "disabled";
1162 };
1163
1164 es8311@18 {
1165 compatible = "ambarella,es8311";
1166 reg = <0x18>;
1167 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1168 clock-names = "i2s_sys_clk";
1169
1170 pinctrl-names = "default";
1171 pinctrl-0 = <&es8311_pa_func1>;
1172 pinctrl-1 = <&es8311_pa_func2>;
yu.dongb3e49372025-06-23 23:57:56 -07001173 gpios = <&gpio 54 0>;
b.liub17525e2025-05-14 17:22:29 +08001174
1175 // gpios = <&gpio 21 0>,
1176 // <&gpio 23 0>,
1177 // <&gpio 24 0>,
1178 // <&gpio 22 0>;
1179
1180 status= "okay";
1181 };
1182
you.chen9824a892025-06-04 20:23:26 +08001183 asm330lhhx-imu@0x6a {
1184 compatible = "st,asm330lhhx";
1185 reg = <0x6b>;
1186 pinctrl-names = "default";
1187 pinctrl-0 = <&sensors_int &sensors_csb>;
1188 interrupt-parent = <&gpio>;
1189 interrupts = <22 1>;
1190 //interrupts = <22>;
1191 vddio-supply = <&sensors_vddio>;
1192 //vdd-supply = <&sensors_vdd>;
1193 st,int-pin = <1>;
1194 //st,mlc-int-pin = <2>;
1195 mount-matrix = "1", "0", "0",
1196 "0", "1", "0",
1197 "0", "0", "1";
1198 };
yu.dongb39db3e2025-06-06 03:15:42 -07001199 /* AWINIC AW87XXX Smart K PA */
1200 aw87xxx_pa@58 {
1201 compatible = "awinic,aw87xxx_pa";
1202 reg = <0x58>;
1203 reset-gpio = <&gpio 24 0>;
1204 dev_index = < 0 >;
1205 status = "okay";
1206 };
1207 /* AWINIC AW87XXX Smart K PA End */
b.liue9582032025-04-17 19:18:16 +08001208 /*
1209 pmic4: 88pm805@38 {
1210 compatible = "marvell,88pm805";
1211 reg = <0x38>;
1212 };
1213 */
1214 };
1215 twsi1: i2c@d4010800 {
b.liub17525e2025-05-14 17:22:29 +08001216#if 1
b.liue9582032025-04-17 19:18:16 +08001217 pinctrl-names = "default","gpio";
1218 pinctrl-0 = <&twsi1_pmx_func>;
1219 pinctrl-1 = <&twsi1_pmx_gpio>;
1220 i2c-gpio = <&gpio 10 0 &gpio 11 0>;
1221#endif
b.liub17525e2025-05-14 17:22:29 +08001222 status= "okay";
1223 //nau8810@1a {
1224 // compatible = "marvell,nau8810";
1225 // reg = <0x1a>;
1226 //};
1227
1228
b.liue9582032025-04-17 19:18:16 +08001229 };
1230 twsi2: i2c@d4037000 {
1231 status = "okay";
1232
1233 pmic4: 88pm805@38 {
1234 compatible = "marvell,88pm805";
1235 reg = <0x38>;
1236 };
1237
1238 pmic5: pm802@0 {
1239 compatible = "asr,pm802";
1240 reg = <0x00>;
1241 interrupts = <4>;
1242 interrupt-parent = <&intc>;
1243 interrupt-controller;
1244 #interrupt-cells = <1>;
1245 chg_irq_from_exton;
1246 scs-int-active-high;
1247 battery {
1248 compatible = "asr,pm802-bat";
1249 status = "disabled";
1250
1251 online-gpadc = <1>;
1252 temperature-gpadc = <1>;
1253
1254 hi-volt-online = <1150>; /* mV */
1255 lo-volt-online = <20>; /* mV */
1256 hi-volt-temp = <1150>; /* mV */
1257 lo-volt-temp = <200>; /* mV */
1258
1259 sw-fg-use-ntc;
1260 full-capacity = <2050>; /* mAh */
1261 r1-resistor = <40>; /* mohm */
1262 r2-resistor = <30>; /* mohm */
1263 rs-resistor = <120>; /* mohm */
1264 roff-resistor = <0>; /* mohm */
1265 roff-initial-resistor = <0>; /* mohm */
1266
1267 times-in-zero-degree = <1>;
1268 offset-in-zero-degree = <0>;
1269
1270 times-in-ten-degree = <2>;
1271 offset-in-ten-degree = <100>;
1272
1273 power-off-threshold = <3350>; /* mV */
1274 safe-power-off-threshold = <3200>; /* mV */
1275
1276 online-gp-bias-curr = <11>; /* uA */
1277
1278 soc-ramp-up-interval = <150>; /* s */
1279 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1280 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1281 ntc-table-size = <88>;
1282 stop-chg-for-vbatmeas;
1283 /* -24C, -23C, ..., 62C, 63C */
1284 ntc-table = <
1285 89680 85130 80840 76790 72970 69360 65960 62740
1286 59700 56830 54130 51530 49100 46800 44610 42550
1287 40590 38730 36970 35300 33710 32210 30780 29420
1288 28130 26910 25750 24640 23590 22580 21630 20720
1289 19860 19030 18250 17500 16790 16110 15460 14840
1290 14250 13690 13150 12640 12150 11680 11230 10800
1291 10390 10000 9620 9270 8920 8590 8280 7980
1292 7690 7410 7150 6890 6650 6410 6190 5970
1293 5770 5570 5380 5190 5020 4850 4680 4530
1294 4380 4230 4100 3960 3830 3710 3590 3480
1295 3370 3260 3160 3060 2960 2870 2780 2700
1296 >;
1297 };
1298 usb {
1299 status = "disabled";
1300 vbus_gpio = <0xff>; /* set_vbus */
1301 id-gpadc = <0xff>; /* usb-id */
1302 vchg-from-exton = <1>;
1303 vbus-detect = <1>; /* vbus-irq */
1304 get-vbus = <1>; /* get-vbus */
1305 };
1306 };
1307 pmic6: pm803@30 {
1308 compatible = "asr,pm803";
1309 reg = <0x30>;
1310 interrupts = <4>;
1311 interrupt-parent = <&intc>;
1312 interrupt-controller;
1313 #interrupt-cells = <1>;
1314 chg_irq_from_exton;
1315 scs-int-active-high;
1316 battery {
1317 compatible = "asr,pm803-bat";
1318 status = "disabled";
1319
1320 online-gpadc = <1>;
1321 temperature-gpadc = <1>;
1322
1323 hi-volt-online = <1150>; /* mV */
1324 lo-volt-online = <20>; /* mV */
1325 hi-volt-temp = <1150>; /* mV */
1326 lo-volt-temp = <200>; /* mV */
1327
1328 sw-fg-use-ntc;
1329 full-capacity = <2050>; /* mAh */
1330 r1-resistor = <40>; /* mohm */
1331 r2-resistor = <30>; /* mohm */
1332 rs-resistor = <120>; /* mohm */
1333 roff-resistor = <0>; /* mohm */
1334 roff-initial-resistor = <0>; /* mohm */
1335
1336 times-in-zero-degree = <1>;
1337 offset-in-zero-degree = <0>;
1338
1339 times-in-ten-degree = <2>;
1340 offset-in-ten-degree = <100>;
1341
1342 power-off-threshold = <3350>; /* mV */
1343 safe-power-off-threshold = <3200>; /* mV */
1344
1345 online-gp-bias-curr = <11>; /* uA */
1346
1347 soc-ramp-up-interval = <150>; /* s */
1348 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1349 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1350 ntc-table-size = <88>;
1351 stop-chg-for-vbatmeas;
1352 /* -24C, -23C, ..., 62C, 63C */
1353 ntc-table = <
1354 89680 85130 80840 76790 72970 69360 65960 62740
1355 59700 56830 54130 51530 49100 46800 44610 42550
1356 40590 38730 36970 35300 33710 32210 30780 29420
1357 28130 26910 25750 24640 23590 22580 21630 20720
1358 19860 19030 18250 17500 16790 16110 15460 14840
1359 14250 13690 13150 12640 12150 11680 11230 10800
1360 10390 10000 9620 9270 8920 8590 8280 7980
1361 7690 7410 7150 6890 6650 6410 6190 5970
1362 5770 5570 5380 5190 5020 4850 4680 4530
1363 4380 4230 4100 3960 3830 3710 3590 3480
1364 3370 3260 3160 3060 2960 2870 2780 2700
1365 >;
1366 };
1367 usb {
1368 status = "disabled";
1369 vbus_gpio = <0xff>; /* set_vbus */
1370 id-gpadc = <0xff>; /* usb-id */
1371 vchg-from-exton = <1>;
1372 vbus-detect = <1>; /* vbus-irq */
1373 get-vbus = <1>; /* get-vbus */
1374 };
1375 };
1376 };
1377 };
1378 };
1379
1380 vcc_sdh1: sd-regulator {
1381 compatible = "regulator-fixed";
b.liub17525e2025-05-14 17:22:29 +08001382 /*pinctrl-names = "default";*/
1383 /*pinctrl-0 = <&sd_ldo_en>;*/
b.liue9582032025-04-17 19:18:16 +08001384 regulator-name = "SDH1 VCC";
1385 regulator-min-microvolt = <3300000>;
1386 regulator-max-microvolt = <3300000>;
b.liub17525e2025-05-14 17:22:29 +08001387 /* gpio = <&gpio 45 0>;*/
b.liue9582032025-04-17 19:18:16 +08001388 enable-active-high;
1389 status = "okay";
1390 };
1391
you.chen9824a892025-06-04 20:23:26 +08001392 sensors_vddio: imu-regulator {
1393 compatible = "regulator-fixed";
1394 /*pinctrl-names = "default";*/
1395 /*pinctrl-0 = <&sd_ldo_en>;*/
1396 regulator-name = "IMU VDDIO";
1397 gpio = <&gpio 21 0>;
1398 enable-active-high;
1399 status = "okay";
1400 };
1401
b.liue9582032025-04-17 19:18:16 +08001402 asr-rfkill {
1403 compatible = "asr,asr-rfkill";
1404 pinctrl-names = "off", "on";
1405 pinctrl-0 = <&sdh1_pmx_pd_rst_off>;
1406 pinctrl-1 = <&sdh1_pmx_pd_rst_on>;
b.liub17525e2025-05-14 17:22:29 +08001407 sd-host = <&sdh0>;
1408 //pd-gpio = <&gpio 90 0>;
1409 rst-gpio = <&gpio 90 0>;
1410
1411 /*3v3-ldo-gpio = <&gpio 8 0>;*/
1412 /*edge-wakeup-gpio = <&gpio 10 0>;*/
1413 status = "okay";
1414 };
1415
1416 mbtk-sdh{
1417 compatible = "mbtk,mbtk-sdh";
1418 pinctrl-names = "off", "on";
1419 pinctrl-0 = <&mbtk_sdh_pmx_off>;
1420 pinctrl-1 = <&mbtk_sdh_pmx_on>;
1421 sd-host = <&sdh1>;
1422 1v8-ldo-gpio = <&gpio 123 0>;
you.chen9824a892025-06-04 20:23:26 +08001423 //host-wakeup-wlan-gpio = <&gpio 127 0>;
b.liub17525e2025-05-14 17:22:29 +08001424 wlan_en_gpio = <&gpio 125 0>;
1425 status = "okay";
1426 };
1427
1428 asr-gps {
1429 compatible = "asr,asr-gnss";
1430 pinctrl-names = "default";
1431 pinctrl-0 = <&gnss_clk_on>;
1432 enable_vctcxo_out1;
1433 host-wakeup-gnss-gpio = <&gpio 47 0>;
1434 /*gnss-wakeup-host-gpio = <&gpio 47 0>;*/
1435 rst-gpio = <&gpio 45 0>;
b.liue9582032025-04-17 19:18:16 +08001436 status = "okay";
1437 };
1438
1439 pcie-rfkill {
1440 compatible = "mrvl,pcie-rfkill";
1441 pinctrl-names = "off", "on";
1442 pinctrl-0 = <&pcie_pmx_pd_rst_off>;
1443 pinctrl-1 = <&pcie_pmx_pd_rst_on>;
1444 rst-gpio = <&gpio 42 0>;
1445 3v3-ldo-gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001446 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001447 };
1448
1449 sound {
1450 compatible = "ASRMICRO,asrmicro-snd-card";
1451 ssp-controllers = <&ssp_dai1>;
1452 };
1453
b.liub17525e2025-05-14 17:22:29 +08001454 asr-adc {
1455 compatible = "asr,adc";
1456 //pinctrl-names = "default";
1457 //pinctrl-0 = <&pin_func_work>;
1458 status = "okay";
1459 };
1460
1461#if 0
1462
1463 mbtk_PlatIrq{
1464 compatible = "mbtk,plat-irq";
1465 pinctrl-names = "sc_irq0", "sc_irq1", "sc_irq2", "sc_irq3";
1466
1467 pinctrl-0 = <&sc_ext_int0>;
1468 pinctrl-1 = <&sc_ext_int1>;
1469 pinctrl-2 = <&sc_ext_int2>;
1470 pinctrl-3 = <&sc_ext_int3>;
yu.dongca721ca2025-06-04 07:21:21 -07001471 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001472 };
1473
1474#else
1475
1476 mbtk_PlatIrq{
1477 compatible = "mbtk,plat-irq";
1478 pinctrl-names = "default", "sleep";
1479 pinctrl-0 = <&mbtk_plat_irq_func>;
1480 pinctrl-1 = <&mbtk_plat_irq_func_sleep>;
you.chen9824a892025-06-04 20:23:26 +08001481 //gpio_irq0 = <&gpio 21 0>;
1482 //gpio_irq1 = <&gpio 22 0>;
b.liub17525e2025-05-14 17:22:29 +08001483 gpio_irq2 = <&gpio 23 0>;
1484 gpio_irq3 = <&gpio 24 0>;
yu.dongca721ca2025-06-04 07:21:21 -07001485 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001486 };
1487
1488#endif
1489
b.liue9582032025-04-17 19:18:16 +08001490 ecall {
1491 compatible = "asr,ecall-event";
1492 pinctrl-names = "default";
1493 pinctrl-0 = <&ecall_pmx_func>;
1494 gpio-auto-ecall = <8>;
1495 gpio-manual-ecall = <9>;
1496 status = "disabled";
1497 };
1498
1499 usim1: usim1 {
1500 compatible = "asr,usim1";
1501 pinctrl-names = "default", "sleep";
1502 pinctrl-0 = <&usim1_pmx_func>;
1503 pinctrl-1 = <&usim1_pmx_func_sleep>;
yq.wang107f9862025-05-12 15:44:50 +08001504 edge_detect_gpio = <119>; /* GPIO19: SIM detect pin */
b.liue9582032025-04-17 19:18:16 +08001505 status = "okay";
1506 };
1507 /* set okay for this node if usim2 is needed */
1508 usim2: usim2 {
1509 compatible = "asr,usim2";
1510 pinctrl-names = "default", "sleep";
1511 pinctrl-0 = <&usim2_pmx_func>;
1512 pinctrl-1 = <&usim2_pmx_func_sleep>;
1513 edge_detect_gpio = <44>; /* GPIO44: SIM detect pin */
1514#ifdef CONFIG_ASR_DSDS
1515 status = "okay";
1516#else
1517 status = "disabled";
1518#endif
1519 };
1520 gpio_keys {
1521 compatible = "gpio-keys";
1522 #address-cells = <1>;
1523 #size-cells = <0>;
1524 /* autorepeat; */
1525 pinctrl-names = "default";
lichengzhangb746a892025-06-24 15:41:08 +08001526 pinctrl-0 = <&gpiokey_pmx_func &gpiokey_ssp2_func>;
b.liue9582032025-04-17 19:18:16 +08001527 button@1 {
1528 label = "qrcode-key";
1529 linux,code = <139>; /* KEY_MENU, refer to linux/input.h */
1530 /* NOTE:
1531 * We use the FORCE DOWNLOAD key to implement the qrcode key in DKB.
1532 * Customer SHOULD change it to any other gpios.
1533 * Because user may do the misoperation that
1534 * powerup with FDL key pressed,
1535 * then the borad will enter force download mode.
1536 */
1537 gpios = <&gpio 9 1>;
1538 gpio-key,wakeup;
1539 };
1540 };
1541
1542 audio_pa {
1543 compatible = "asrmicro,audio-pa";
1544 pinctrl-names = "default";
1545 pinctrl-0 = <&audio_pa_pmx_func>;
1546 pa-gpio = <&gpio 14 0>;
b.liub17525e2025-05-14 17:22:29 +08001547 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001548 };
b.liub17525e2025-05-14 17:22:29 +08001549 mbtk_GpioWakeUp {
1550 compatible = "mbtk,GpioWakeUp";
1551 pinctrl-names = "default", "sleep";
1552 pinctrl-0 = <&wake_pmx_func &wake_pmx_func1>;
1553 pinctrl-1 = <&wake_pmx_func_sleep>;
1554 wakeup-in-gpio = <&gpio 118 0>;
1555 wakeup-out-gpio = <&gpio 117 0>;
1556 status = "okay";
1557 };
b.liue9582032025-04-17 19:18:16 +08001558
hong.liuf2416882025-05-23 20:41:06 -07001559
1560 dtsleds{
1561 compatible = "gpio-leds";
1562 pinctrl-names = "default";
1563 pinctrl-0 = <&led_pmx_func1>;
1564 status = "okay";
1565 led0{
1566 label = "red";
1567 gpios = <&gpio 8 0>;
1568 linux,default-trigger = "pattern";
1569 led-pattern = "100:100:100";
1570 default-state = "on";
1571
1572 };
1573
1574 // led1{
1575 // label = "blue";
1576 // gpios = <&gpio 99 0>;
1577 // linux,default-trigger = "timer";
1578 // timer-delay-on = <100>;
1579 // timer-delay-off = <100>;
1580 // brightness-levels = <100>;
1581 // brightness-max = <100>;
1582 // default-state = "on";
1583 // };
1584
1585 };
1586
b.liue9582032025-04-17 19:18:16 +08001587 audio_regs {
1588 compatible = "ASRMICRO,audio-registers";
1589 reg = <0xD4050044 0x4>;
1590 status = "okay";
1591 };
1592
1593 nz3-slic {
1594 compatible = "asr,nz3-slic";
1595 pinctrl-names = "default", "sleep";
1596 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1597 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1598 rst-gpio = <&gpio 21 0>;
1599 edge-wakeup-gpio = <&gpio 20 0>;
1600 vdd-3v3-gpio = <&gpio 127 0>;
1601 status = "disabled";
1602 };
1603 microsemi-slic {
1604 compatible = "asr,microsemi-slic";
1605 pinctrl-names = "default", "sleep";
1606 pinctrl-0 = <&slic_pmx_func1>;
1607 pinctrl-1 = <&slic_pmx_func1_sleep>;
1608 edge-wakeup-gpio = <&gpio 20 0>;
1609 vdd-3v3-gpio = <&gpio 127 0>;
1610 status = "disabled";
1611 };
1612 maxlinear-slic {
1613 compatible = "asr,maxlinear-slic";
1614 pinctrl-names = "default", "sleep";
1615 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1616 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1617 rst-gpio = <&gpio 21 0>;
1618 edge-wakeup-gpio = <&gpio 20 0>;
1619 vdd-3v3-gpio = <&gpio 127 0>;
1620 status = "disabled";
1621 };
1622 /* deprecated, move to mfpr@d401e000
1623 lpm-board-cfg {
1624 compatible = "asr,lpm-board-cfg";
1625 wakeup-state-d1pp = <0x1>;
1626 udr-mfpr-config = <0x1B0 0xA040 0x0
1627 0x1B4 0xA040 0x0>;
1628 };
1629 */
1630};
1631#ifdef CONFIG_ASR_DSDS
1632#include "asr_pm802_2usim.dtsi"
1633#include "88pm805.dtsi"
1634#include "asr_pm803_2usim.dtsi"
1635#else
1636#include "asr_pm802.dtsi"
1637#include "88pm805.dtsi"
1638#include "asr_pm803.dtsi"
1639#endif
1640
1641#ifdef CONFIG_AB_SYSTEM
1642#include "asr1806_ab_flash_layout.dtsi"
1643#else
1644#include "asr1806_flash_layout.dtsi"
1645#endif