blob: 02849027abbf9d5de03f12b9242c6b84474d0da8 [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 {
zw.wangad00beb2025-06-24 16:54:39 +0800272 pinctrl-names = "default", "fast", "sleep_sdio";
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>;
zw.wangad00beb2025-06-24 16:54:39 +0800275 pinctrl-2 = <&sdh1_pmx_func1_sleep_sdio &sdh1_pmx_func2_sleep_sdio>;
b.liub17525e2025-05-14 17:22:29 +0800276 /* pinctrl-2 = <&sdh1_pmx_edge_wakeup>;*/
b.liue9582032025-04-17 19:18:16 +0800277 bus-width = <4>;
278 no-mmc;
279 no-sd;
280 non-removable;
281 keep-power-in-suspend;
282 enable-sdio-wakeup;
283 /* clk-scaling-config:
284 <up_threshold down_threshold polling_interval> */
285 clk-scaling-config = <25 12 200>;
286 min-ddr-qos = <156000 312000 400000>;
287 asr,sdh-pm-runtime-en;
288 asr,sdh-quirks = <(
289 SDHCI_QUIRK_BROKEN_CARD_DETECTION |
290 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
291 )>;
292 asr,sdh-quirks2 = <(
293 SDHCI_QUIRK2_NO_TIMER_RETUNING |
294 SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
295 SDHCI_QUIRK2_BASE_CLOCK_ALWAYS_ON
296 )>;
297 asr,sdh-pm-caps = <(MMC_PM_KEEP_POWER)>;
298 asr,sdh-host-caps2 = <(
299 MMC_CAP2_ONLY_1_8V |
300 MMC_CAP2_DISABLE_PROBE_CDSCAN |
301 MMC_CAP2_CLK_SCALE |
302 MMC_CAP2_BUS_CLK_NO_SCALE
303 )>;
304 /* prop "sdh-dtr-data":
305 <timing preset_rate src_rate tx_delay rx_delay tx_dline_reg rx_dline_reg> */
306 asr,sdh-dtr-data =
307 <PXA_MMC_TIMING_LEGACY PXA_SDH_DTR_26M PXA_SDH_DTR_104M 0 0 0 0>,
308 <PXA_MMC_TIMING_SD_HS PXA_SDH_DTR_45M PXA_SDH_DTR_89M 0 0 0 0>,
309 <PXA_MMC_TIMING_UHS_DDR50 PXA_SDH_DTR_52M PXA_SDH_DTR_104M 0 0 0 3>,
310 <PXA_MMC_TIMING_UHS_SDR50 PXA_SDH_DTR_83M PXA_SDH_DTR_83M 0 0 0 3>,
b.liub17525e2025-05-14 17:22:29 +0800311 //<PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_208M PXA_SDH_DTR_208M 0 0 0 0>,
312 <PXA_MMC_TIMING_UHS_SDR104 PXA_SDH_DTR_52M PXA_SDH_DTR_52M 0 0 0 0>,
b.liue9582032025-04-17 19:18:16 +0800313 <PXA_MMC_TIMING_MAX PXA_SDH_DTR_PS_NONE PXA_SDH_DTR_89M 0 0 0 0>;
314 status = "okay";
315 };
316 pcie0: pcie@0xd4288000{
317 reset-gpios = <&gpio 42 0 >;
b.liub17525e2025-05-14 17:22:29 +0800318 status = "disbabled";
b.liue9582032025-04-17 19:18:16 +0800319 };
320 pciephy0: pcie-phy@d4206000 {
321 status = "okay";
322 };
323 };
324
325 apb@d4000000 {
326 ssp_dai1: pxa-ssp-dai@1 {
327 compatible = "asr,pxa-ssp-dai";
328 reg = <0x1 0x0>;
329
330 port = <&ssp1>;
331 pinctrl-names = "default","ssp";
332 pinctrl-0 = <&i2s_gpio>;
333 pinctrl-1 = <&i2s_func>;
334 ssp-gpio = <&gpio 25 0 &gpio 26 0 &gpio 27 0 &gpio 28 0>;
335
336 dmas = <&pdma0 54 1
337 &pdma0 55 1>;
338 dma-names = "rx", "tx";
339
340 platform_driver_name = "pdma_platform";
341 burst_size = <4>;
342 playback_period_bytes = <2048>;
343 playback_buffer_bytes = <4096>;
344 capture_period_bytes = <2048>;
345 capture_buffer_bytes = <4096>;
346 };
347 mfpr: mfpr@d401e000 {
348 status = "okay";
349 /* intend to replace lpm-board-cfg
350 no-apbsd-in-d1pp = <0x1>; //"wakeup-state-d1pp"
351 pin1:pin1@d401e01B0 {
352 offset = <0x1B0>;
353 udr-cfg = <0xA040>;
354 };
355 pin2:pin2@d401e01B4 {
356 offset = <0x1B4>;
357 udr-cfg = <0xA040>;
358 };
359 */
360 };
361 timer0: timer@d4014000 {
362 status = "okay";
363 };
364 uart1: uart@d4017000 { /* nezhas evb use ap uart */
365 pinctrl-names = "default","sleep";
366 pinctrl-0 = <&uart1_pmx_func1 &uart1_pmx_func2>;
367 pinctrl-1 = <&uart1_pmx_func1_sleep &uart1_pmx_func2>;
b.liub17525e2025-05-14 17:22:29 +0800368 //edge-wakeup-gpio = <&gpio 29 0>; /* GPIO29: AP UART rx pin */
b.liue9582032025-04-17 19:18:16 +0800369 status = "okay";
370 };
371 uart2: uart@d4036000 {
372 pinctrl-names = "default";
hj.shao9f48a912025-06-11 00:19:29 -0700373
374 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
375 pinctrl-0 = <&gps_pmx_uart_rxd &gps_pmx_uart_txd>; //&gps_pmx_func_cts_rts>;
376 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800377 status = "okay";
378 };
379 uart3: uart@d4018000 {
380 pinctrl-names = "default";
381 pinctrl-0 = <&uart3_pmx_func>;
b.liub17525e2025-05-14 17:22:29 +0800382 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800383 };
384 uart4: uart@d401f000 {
zw.wangad00beb2025-06-24 16:54:39 +0800385 pinctrl-names = "default","sleep";
b.liub17525e2025-05-14 17:22:29 +0800386 pinctrl-0 = <&uart4_pmx_func>; /*BAUD :9600*/
zw.wangad00beb2025-06-24 16:54:39 +0800387 pinctrl-1 = <&uart4_pmx_func_sleep>;
b.liub17525e2025-05-14 17:22:29 +0800388 /*pinctrl-0 = <&uart4_pmx_func_rxd &uart4_pmx_func_txd &uart4_pmx_func_cts_rts>;*/
389 status = "okay";
b.liue9582032025-04-17 19:18:16 +0800390 };
391 rtc: rtc@d4010000 {
392 status = "okay";
393 };
394 pmx: pinmux@d401e000 {
395 /* pin base = base_addr / 4, nr pins & gpio function */
396 pinctrl-single,gpio-range = <
397 /*
398 * GPIO number is hardcoded for range at here.
399 * In gpio chip, GPIO number is not hardcoded for range.
400 * Since one gpio pin may be routed to multiple pins,
401 * define these gpio range in pxa910-dkb.dts not pxa910.dtsi.
402 */
403 /*&range 80 4 0 */ /* GPIO25 ~ GPIO28 */
404 &range 55 32 0 /* GPIO0 ~ GPIO31 */
405 &range 87 32 0 /* GPIO32 ~ GPIO63 */
406 &range 119 32 0 /* GPIO64 ~ GPIO95 */
407 &range 151 32 0 /* GPIO96 ~ GPIO127 */
408 >;
409
410 ssp0_pmx_func: ssp0_pmx_func {
411 pinctrl-single,pins = <
412 GPIO36 AF1 /* TXD */
413 GPIO35 AF1 /* RXD */
414 GPIO34 AF1 /* FRM */
415 /*GPIO34 AF0*/ /* FRM *//* DXS101 Use the config of Cs-gpios */
416 GPIO33 AF1 /* SCLK */
417 >;
b.liub17525e2025-05-14 17:22:29 +0800418 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
419 };
420 ssp2_pmx_func: ssp2_pmx_func {
421 pinctrl-single,pins = <
422 GPIO37 AF3 /* TXD */
423 GPIO38 AF3 /* SCLK */
424 GPIO39 AF3 /* FRM */
425 GPIO40 AF3 /* RXD */
426 >;
427 DS_SLOW0;PULL_NONE;EDGE_NONE;SL_NORMAL; //DS_MEDIUM modify for overvoltage
b.liue9582032025-04-17 19:18:16 +0800428 };
429 lcd_bl_func: lcd_bl_func {
430 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800431 /* VCXO_OUT AF1 GPIO126, lcd bl */
432 /* GPIO24 AF0 reset */
433 /* GPIO22 AF0 lcd d/c */
b.liue9582032025-04-17 19:18:16 +0800434 >;
435 MFP_DEFAULT;
436 };
437 uart1_pmx_func1: uart1_pmx_func1 {
438 pinctrl-single,pins = <
439 GPIO29 AF1
440 >;
441 MFP_DEFAULT;
442 };
443 uart1_pmx_func2: uart1_pmx_func2 {
444 pinctrl-single,pins = <
445 GPIO30 AF1
446 >;
447 MFP_DEFAULT;
448 };
449 uart1_pmx_func1_sleep: uart1_pmx_func1_sleep {
450 pinctrl-single,pins = <
451 GPIO29 AF1
452 >;
b.liub17525e2025-05-14 17:22:29 +0800453 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800454 };
455 twsi0_pmx_func: twsi0_pmx_func {
456 pinctrl-single,pins = <
457 GPIO49 AF1
458 GPIO50 AF1
459 >;
b.liub17525e2025-05-14 17:22:29 +0800460 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800461 };
462 twsi0_pmx_gpio: twsi0_pmx_gpio {
463 pinctrl-single,pins = <
464 GPIO49 AF0
465 GPIO50 AF0
466 >;
b.liub17525e2025-05-14 17:22:29 +0800467 DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800468 };
b.liub17525e2025-05-14 17:22:29 +0800469#if 1
b.liue9582032025-04-17 19:18:16 +0800470 twsi1_pmx_func: twsi1_pmx_func {
471 pinctrl-single,pins = <
472 GPIO10 AF1
473 GPIO11 AF1
474 >;
b.liub17525e2025-05-14 17:22:29 +0800475 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800476 };
477 twsi1_pmx_gpio: twsi1_pmx_gpio {
478 pinctrl-single,pins = <
479 GPIO10 AF0
480 GPIO11 AF0
481 >;
b.liub17525e2025-05-14 17:22:29 +0800482 DS_SLOW0;PULL_NONE;EDGE_NONE;LPM_FLOAT;
b.liue9582032025-04-17 19:18:16 +0800483 };
484#endif
485 /* no pull, no LPM */
486 dvc_pmx_func: dvc_pmx_func {
487 /* hw-dvc */
488 pinctrl-single,pins = <
489 TDS_DIO0 AF0
490 TDS_DIO1 AF0
491 >;
492 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
493 };
494 leds_pmx_func: leds_pmx_func {
495 pinctrl-single,pins = <
496 DF_IO10 AF1
497 DF_IO11 AF1
498 DF_IO12 AF1
499 >;
500 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
501 };
502
503 gps_pmx_onoff: gps_pmx_onoff {
504 pinctrl-single,pins = <
505 TDS_TXREV AF1
506 >;
507 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
508 };
509 gps_pmx_reset: gps_pmx_reset {
510 pinctrl-single,pins = <
511 TDS_RXON AF1
512 >;
513 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
514 };
b.liub17525e2025-05-14 17:22:29 +0800515
516 //zqy
517 gnss_clk_on: gnss_clk_on {
518 pinctrl-single,pins = <
519 GPIO43 AF2 /*32K CLK */
520
521 /*VCXO_REQ AF1 GPIO[125] GPS_WAKE_HOST */
522 GPIO47 AF0 /* HOST_WAKE_GPS */
523 GPIO45 AF0 /*RESET */
524 CLK_REQ AF1 /*sleep en*/
525
526 >;
527 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
528 };
b.liue9582032025-04-17 19:18:16 +0800529 gps_pmx_uart_rxd: gps_pmx_uart_rxd {
530 /* gps dedicated uart */
531 pinctrl-single,pins = <
532 GPIO51 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700533
534 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
535 /*GPIO32 AF1*/
536 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800537 >;
b.liub17525e2025-05-14 17:22:29 +0800538 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800539 };
540 gps_pmx_uart_txd: gps_pmx_uart_txd {
541 /* gps dedicated uart */
542 pinctrl-single,pins = <
543 GPIO52 AF1
hj.shao9f48a912025-06-11 00:19:29 -0700544 //#LYNQ_MODFIY modify for task-1618 2025/6/11 start
545 /*GPIO31 AF1*/
546 //#LYNQ_MODFIY modify for task-1618 2025/6/11 end
b.liue9582032025-04-17 19:18:16 +0800547 >;
b.liub17525e2025-05-14 17:22:29 +0800548 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800549 };
b.liub17525e2025-05-14 17:22:29 +0800550 gps_pmx_func_cts_rts: gps_pmx_func_cts_rts {
551 pinctrl-single,pins = <
552 GPIO31 AF1 /* cts */
553 GPIO32 AF1 /* rts */
554 >;
555 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
556 };
557
b.liue9582032025-04-17 19:18:16 +0800558 uart3_pmx_func: uart3_pmx_func {
559 pinctrl-single,pins = <
560 GPIO53 AF1 /* RX */
yu.dongca721ca2025-06-04 07:21:21 -0700561 /* GPIO54 AF1 TX */
b.liue9582032025-04-17 19:18:16 +0800562 >;
lichengzhangb746a892025-06-24 15:41:08 +0800563 MFP_PULL_DOWN;
b.liue9582032025-04-17 19:18:16 +0800564 };
b.liub17525e2025-05-14 17:22:29 +0800565
566
567 uart4_pmx_func_rxd: uart4_pmx_func_rxd {
568 pinctrl-single,pins = <
569 GPIO37 AF2
570 GPIO40 AF2
571 >;
572 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
573 };
574 uart4_pmx_func_txd: uart4_pmx_func_txd {
575 pinctrl-single,pins = <
576 GPIO38 AF2
577 GPIO39 AF2
578 >;
579 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
580 };
581
582 uart4_pmx_func_cts_rts: uart4_pmx_func_cts_rts {
583 pinctrl-single,pins = <
584 GPIO39 AF2
585 GPIO40 AF2
586 >;
587 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
588 };
b.liue9582032025-04-17 19:18:16 +0800589 uart4_pmx_func: uart4_pmx_func {
590 pinctrl-single,pins = <
591 GPIO44 AF1 /* RX */
592 GPIO45 AF1 /* TX */
593 >;
b.liub17525e2025-05-14 17:22:29 +0800594 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
b.liue9582032025-04-17 19:18:16 +0800595 };
zw.wangad00beb2025-06-24 16:54:39 +0800596 uart4_pmx_func_sleep: uart4_pmx_func_sleep {
597 pinctrl-single,pins = <
598 GPIO44 AF0 /* RX */
599 GPIO45 AF0 /* TX */
600 >;
601 MFP_PULL_DOWN;
602 };
b.liue9582032025-04-17 19:18:16 +0800603 panel_rst_func: panel_rst_func {
604 pinctrl-single,pins = <
605 DF_nCS1 AF1
606 >;
607 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
608 };
609
610 sd_ldo_en: sd_ldo_en {
611 pinctrl-single,pins = <
612 GPIO45 AF0
613 >;
614 MFP_PULL_DOWN;
615 };
616 sdh0_pmx_func1: sdh0_pmx_func1 {
617 pinctrl-single,pins = <
618 MMC1_DAT3 AF0
619 MMC1_DAT2 AF0
620 MMC1_DAT1 AF0
621 MMC1_DAT0 AF0
622 MMC1_CMD AF0
623 >;
624 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
625 };
626 sdh0_pmx_func2: sdh0_pmx_func2 {
627 pinctrl-single,pins = <
628 MMC1_CLK AF0
629 >;
630 DS_MEDIUM;PULL_NONE;EDGE_NONE;
631 };
632 sdh0_pmx_func3: sdh0_pmx_func3 {
633 pinctrl-single,pins = <
634 MMC1_CD AF1
635 >;
636 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
637 };
638 sdh0_pmx_cd_wakeup: sdh0_pmx_func1_cd_wakeup {
639 pinctrl-single,pins = <
640 MMC1_CD AF1
641 >;
642 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
643 };
644 sdh0_pmx_func1_slow: sdh0_pmx_func1_slow {
645 pinctrl-single,pins = <
646 MMC1_DAT3 AF0
647 MMC1_DAT2 AF0
648 MMC1_DAT1 AF0
649 MMC1_DAT0 AF0
650 MMC1_CMD AF0
651 >;
652 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
653 };
654 sdh0_pmx_func2_slow: sdh0_pmx_func2_slow {
655 pinctrl-single,pins = <
656 MMC1_CLK AF0
657 >;
658 DS_FAST0;PULL_NONE;EDGE_NONE;
659 };
660 sdh0_pmx_func1_fast: sdh0_pmx_func1_fast {
661 pinctrl-single,pins = <
662 MMC1_DAT3 AF0
663 MMC1_DAT2 AF0
664 MMC1_DAT1 AF0
665 MMC1_DAT0 AF0
666 MMC1_CMD AF0
667 >;
668 DS_FAST1;PULL_NONE;EDGE_NONE;SL_NORMAL;
669 };
670 sdh0_pmx_func2_fast: sdh0_pmx_func2_fast {
671 pinctrl-single,pins = <
672 MMC1_CLK AF0
673 >;
674 DS_FAST1;PULL_NONE;EDGE_NONE;
675 };
676 sdh1_pmx_func1_fast: sdh1_pmx_func1_fast {
677 pinctrl-single,pins = <
678 TDS_DIO13 AF0 /* WLAN_DAT3 */
679 TDS_DIO14 AF0 /* WLAN_DAT2 */
680 TDS_DIO15 AF0 /* WLAN_DAT1 */
681 TDS_DIO16 AF0 /* WLAN_DAT0 */
682 TDS_DIO17 AF0 /* WLAN_CMD */
683 >;
684 DS_FAST0;PULL_NONE;EDGE_NONE;SL_NORMAL;
685 };
686 sdh1_pmx_func2_fast: sdh1_pmx_func2_fast {
687 pinctrl-single,pins = <
688 TDS_DIO18 AF0 /* WLAN_CLK */
689 >;
690 DS_FAST0;PULL_DOWN;EDGE_NONE;SL_NORMAL;
691 };
692 sdh1_pmx_func1: sdh1_pmx_func1 {
693 pinctrl-single,pins = <
694 TDS_DIO13 AF0 /* WLAN_DAT3 */
695 TDS_DIO14 AF0 /* WLAN_DAT2 */
696 TDS_DIO15 AF0 /* WLAN_DAT1 */
697 TDS_DIO16 AF0 /* WLAN_DAT0 */
698 TDS_DIO17 AF0 /* WLAN_CMD */
699 >;
700 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_LOW;
701 };
702 sdh1_pmx_func2: sdh1_pmx_func2 {
703 pinctrl-single,pins = <
704 TDS_DIO18 AF0 /* WLAN_CLK */
705 >;
706 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_LOW;
707 };
zw.wangad00beb2025-06-24 16:54:39 +0800708 sdh1_pmx_func1_sleep_sdio: sdh1_pmx_func1_sleep_sdio {
709 pinctrl-single,pins = <
710 TDS_DIO13 AF1
711 TDS_DIO14 AF1
712 TDS_DIO15 AF1
713 TDS_DIO16 AF1
714 TDS_DIO17 AF1
715 >;
716 MFP_PULL_DOWN;
717 };
718 sdh1_pmx_func2_sleep_sdio: sdh1_pmx_func2_sleep_sdio {
719 pinctrl-single,pins = <
720 TDS_DIO18 AF1
721 >;
722 MFP_PULL_DOWN;
723 };
b.liue9582032025-04-17 19:18:16 +0800724 sdh1_pmx_func3: sdh1_pmx_func3 {
725 pinctrl-single,pins = <
726 GPIO10 AF0 /* VCXO_REQ AF1 WLAN_WAKE_HOST */
727 >;
728 MFP_PULL_DOWN;
729 };
730 sdh1_pmx_edge_wakeup: sdh1_pmx_edge_wakeup {
731 pinctrl-single,pins = <
732 GPIO10 AF0 /* VCXO_REQ AF1 */
733 >;
734 DS_MEDIUM;PULL_DOWN;EDGE_RISE;SL_NORMAL;
735 };
736 sdh1_pmx_pd_rst_off: sdh1_pmx_pd_rst_off {
737 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800738 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
739 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
740 MMC1_CD AF1
b.liue9582032025-04-17 19:18:16 +0800741 >;
742 MFP_PULL_DOWN;
743 };
744 sdh1_pmx_pd_rst_on: sdh1_pmx_pd_rst_on {
745 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800746 /* GPIO11 AF0 GPIO31 AF0 WLAN_PDn */
747 /* GPIO08 AF0 GPIO32 AF0 LDO_EN */
748 MMC1_CD AF1
749 >;
750 MFP_PULL_UP;
751 };
752
753
754 mbtk_sdh_pmx_off: mbtk_sdh_pmx_off {
755 pinctrl-single,pins = <
756 VCXO_REQ AF1 //gpio125 wlan en
757 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800758 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liub17525e2025-05-14 17:22:29 +0800759 >;
760 MFP_PULL_DOWN;
761 };
762 mbtk_sdh_pmx_on: mbtk_sdh_pmx_on {
763 pinctrl-single,pins = <
764 VCXO_REQ AF1 //gpio125 wlan en
765 GPIO123 AF1 //wlan pwr en
you.chen9824a892025-06-04 20:23:26 +0800766 /*VCXO_OUT AF1 /*gpio127 wifi wake*/
b.liue9582032025-04-17 19:18:16 +0800767 >;
768 MFP_PULL_UP;
769 };
770 alc5616_pmx_func1: alc5616_pmx_func1 {
771 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800772 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
b.liue9582032025-04-17 19:18:16 +0800773 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
774 >;
775 MFP_DEFAULT;
776 };
777 alc5616_pmx_func2: alc5616_pmx_func2 {
778 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800779 /* GPIO08 AF0 AP_UART1_DCD_N -> CODEC_IRQ */
780 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
781 >;
782 MFP_DEFAULT;
783 };
784
785 es8311_pa_func1: es8311_pa_func1 {
786 pinctrl-single,pins = <
787 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700788 GPIO54 AF0 /* CODEC_VDDD_EN */
789 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liub17525e2025-05-14 17:22:29 +0800790 >;
791 MFP_DEFAULT;
792 };
793 es8311_pa_func2: es8311_pa_func2 {
794 pinctrl-single,pins = <
b.liue9582032025-04-17 19:18:16 +0800795 GPIO20 AF7 /* MCLK:I2S_SYSCLK */
yu.dongb3e49372025-06-23 23:57:56 -0700796 GPIO54 AF0 /* CODEC_VDDD_EN */
797 GPIO24 AF0 /* NAD_PA_PWR_EN */
b.liue9582032025-04-17 19:18:16 +0800798 >;
799 MFP_DEFAULT;
800 };
801 audio_pa_pmx_func: audio_pa_pmx_func {
802 pinctrl-single,pins = <
803 GPIO14 AF0 /* PA */
804 >;
805 MFP_DEFAULT;
806 };
807 ecall_pmx_func: ecall_pmx_func {
808 pinctrl-single,pins = <
809 GPIO08 AF0 /* auto mode ecall */
810 GPIO09 AF0 /* manual mode ecall */
811 >;
812 MFP_DEFAULT;
813 };
814 slic_pmx_func1: slic_pmx_func1 {
815 pinctrl-single,pins = <
816 GPIO20 AF0 /* SLIC_INT, GPIO20 */
817 VCXO_OUT AF1 /* GPIO127, SLIC_3V3LDO_EN/LCD_BK_EN */
818 >;
819 MFP_DEFAULT;
820 };
821 slic_pmx_func2: slic_pmx_func2 {
822 pinctrl-single,pins = <
823 GPIO21 AF0 /* SLIC_RESET, GPIO21 */
824 >;
825 MFP_DEFAULT;
826 };
827 slic_pmx_func1_sleep: slic_pmx_func1_sleep {
828 pinctrl-single,pins = <
829 GPIO20 AF0 /* SLIC_INT, GPIO20 */
830 >;
831 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
832 };
833
834 otg_vbus_func: otg_vbus_func {
835 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800836 /* VBUS_DRV AF1 GPIO[122] */
b.liue9582032025-04-17 19:18:16 +0800837 >;
838 DS_MEDIUM;PULL_DOWN;EDGE_NONE;
839 };
840
841 emac_pmx_func0: emac_pmx_func0 {
842 pinctrl-single,pins = <
843 GPIO00 AF1 /* GMAC1_RX_DV */
844 GPIO01 AF1 /* GMAC1_RX_D0 */
845 GPIO02 AF1 /* GMAC1_RX_D1 */
846 GPIO03 AF1 /* GMAC1_RX_CLK */
847 /* GPIO04 AF1 GMAC1_RX_D2 */
848 /* GPIO05 AF1 GMAC1_RX_D3 */
849 GPIO06 AF1 /* GMAC1_TX_D0 */
850 GPIO07 AF1 /* GMAC1_TX_D1 */
851 /* GPIO12 AF1 GMAC1_TX_CLK */
852 /* GPIO13 AF1 GMAC1_TX_D2 */
853 /* GPIO14 AF1 GMAC1_TX_D3 */
854 GPIO15 AF1 /* GMAC1_TX_EN */
855 GPIO16 AF1 /* GMAC1_TX_MDC */
856 /* GPIO17 AF1 GMAC1_TX_MDIO */
857 >;
858 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
859 };
860 emac_pmx_func1: emac_pmx_func1 {
861 pinctrl-single,pins = <
862 GPIO04 AF1 /* GMAC1_RX_D2 */
863 GPIO05 AF1 /* GMAC1_RX_D3 */
864 GPIO12 AF1 /* GMAC1_TX_CLK */
865 GPIO13 AF1 /* GMAC1_TX_D2 */
866 GPIO14 AF1 /* GMAC1_TX_D3 */
867 >;
868 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
869 };
870 emac_pmx_func2: emac_pmx_func2 {
871 pinctrl-single,pins = <
872 GPIO17 AF1 /* GMAC1_TX_MDIO */
873 GPIO18 AF1 /* GMAC1_TX_INT_N */
874 >;
875 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
876 };
hj.shao213a35e2025-06-24 04:25:54 -0700877
878 emac_pmx_func0_slp: emac_pmx_func0_slp {
879 pinctrl-single,pins = <
880 GPIO00 AF1 /* GMAC1_RX_DV */
881 GPIO01 AF1 /* GMAC1_RX_D0 */
882 GPIO02 AF1 /* GMAC1_RX_D1 */
883 GPIO03 AF1 /* GMAC1_RX_CLK */
884 /* GPIO04 AF1 GMAC1_RX_D2 */
885 /* GPIO05 AF1 GMAC1_RX_D3 */
886 GPIO06 AF1 /* GMAC1_TX_D0 */
887 GPIO07 AF1 /* GMAC1_TX_D1 */
888 /* GPIO12 AF1 GMAC1_TX_CLK */
889 /* GPIO13 AF1 GMAC1_TX_D2 */
890 /* GPIO14 AF1 GMAC1_TX_D3 */
891 GPIO15 AF1 /* GMAC1_TX_EN */
892 GPIO16 AF1 /* GMAC1_TX_MDC */
893 /* GPIO17 AF1 GMAC1_TX_MDIO */
894 >;
895 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
896 };
897
898 emac_pmx_func1_slp: emac_pmx_func1_slp {
899 pinctrl-single,pins = <
900 GPIO04 AF1 /* GMAC1_RX_D2 */
901 GPIO05 AF1 /* GMAC1_RX_D3 */
902 GPIO12 AF1 /* GMAC1_TX_CLK */
903 GPIO13 AF1 /* GMAC1_TX_D2 */
904 GPIO14 AF1 /* GMAC1_TX_D3 */
905 >;
906 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
907 };
908 emac_pmx_func2_slp: emac_pmx_func2_slp {
909 pinctrl-single,pins = <
910 GPIO17 AF1 /* GMAC1_TX_MDIO */
911 GPIO18 AF1 /* GMAC1_TX_INT_N */
912 >;
913 DS_OFF;PULL_DOWN;EDGE_NONE;SL_NORMAL;
914 };
915
b.liue9582032025-04-17 19:18:16 +0800916 emac_pmx_func3: emac_pmx_func3 {
917 pinctrl-single,pins = <
b.liub17525e2025-05-14 17:22:29 +0800918 GPIO42 AF0 /* RESET */
hj.shaofb3ba9b2025-06-19 02:53:56 -0700919 //#LYNQ_MODFIY modify for task-1618 2025/6/19 start
920 GPIO32 AF0 /* POWER EN */
921 //#LYNQ_MODFIY modify for task-1618 2025/6/19 end
b.liub17525e2025-05-14 17:22:29 +0800922 /* GPIO40 AF0 LDO_EN */
b.liue9582032025-04-17 19:18:16 +0800923 >;
924 DS_SLOW0;PULL_FLOAT;EDGE_NONE;SL_NORMAL;
925 };
926 usim1_pmx_func: usim1_pmx_func {
927 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800928 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800929 >;
930 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
931 };
932 usim1_pmx_func_sleep: usim1_pmx_func_sleep {
933 pinctrl-single,pins = <
yq.wang107f9862025-05-12 15:44:50 +0800934 PRI_TCK AF1
b.liue9582032025-04-17 19:18:16 +0800935 >;
936 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
937 };
938 usim2_pmx_func: usim2_pmx_func {
939 pinctrl-single,pins = <
940 GPIO44 AF0
941 >;
942 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
943 };
944 usim2_pmx_func_sleep: usim2_pmx_func_sleep {
945 pinctrl-single,pins = <
946 GPIO44 AF0
947 >;
948 DS_MEDIUM;PULL_UP;EDGE_BOTH;SL_NORMAL;
949 };
950 pcie_pmx_pd_rst_off: pcie_pmx_pd_rst_off {
951 pinctrl-single,pins = <
952 GPIO42 AF0 /* PERST_N */
953 GPIO24 AF0 /* DC_EN */
954 >;
955 MFP_PULL_DOWN;
956 };
957 pcie_pmx_pd_rst_on: pcie_pmx_pd_rst_on {
958 pinctrl-single,pins = <
959 GPIO42 AF0 /* PERST_N */
960 GPIO24 AF0 /* DC_EN */
961 >;
962 MFP_PULL_UP;
963 };
b.liub17525e2025-05-14 17:22:29 +0800964 pin_func_work: pin_func_work {
965 pinctrl-single,pins = <
966
967 GPIO08 AF0 /*T108 status led* /
968
969 VBUS_DRV AF2 /*32k*/
970
971
972 GPIO46 AF0 /*wifi en*/
973
974 GPIO19 AF0 /*bt en*/
975
976 >;
977 MFP_DEFAULT;
978 };
979
980
981 sc_ext_int0: sc_ext_int0 {
982 pinctrl-single,pins = <
983 GPIO21 AF0
984 >;
985 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
986 };
987 sc_ext_int1: sc_ext_int1 {
988 pinctrl-single,pins = <
989 GPIO22 AF0
990 >;
991 MFP_DEFAULT;
992 };
993
994 sc_ext_int2: sc_ext_int2 {
995 pinctrl-single,pins = <
996 GPIO23 AF0
997 >;
998 MFP_DEFAULT;
999 };
1000
1001
1002 sc_ext_int3: sc_ext_int3 {
1003 pinctrl-single,pins = <
1004 GPIO24 AF0
1005 >;
1006 MFP_DEFAULT;
1007 };
1008
1009
1010 mbtk_plat_irq_func: mbtk_plat_irq_func {
1011 pinctrl-single,pins = <
1012
you.chen9824a892025-06-04 20:23:26 +08001013 /*GPIO21 AF0
1014 GPIO22 AF0 */
b.liub17525e2025-05-14 17:22:29 +08001015 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -07001016 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +08001017
1018 >;
1019 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1020 };
1021 mbtk_plat_irq_func_sleep: mbtk_plat_irq_func_sleep {
1022 pinctrl-single,pins = <
you.chen9824a892025-06-04 20:23:26 +08001023 /*GPIO21 AF0
1024 GPIO22 AF0*/
b.liub17525e2025-05-14 17:22:29 +08001025 GPIO23 AF0
yu.dongca721ca2025-06-04 07:21:21 -07001026 GPIO24 AF0
b.liub17525e2025-05-14 17:22:29 +08001027 >;
1028 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
1029 };
1030
1031
b.liue9582032025-04-17 19:18:16 +08001032 gpiokey_pmx_func: gpiokey_pmx_func {
1033 pinctrl-single,pins = <
1034 GPIO09 AF0
1035 >;
1036 DS_MEDIUM;PULL_UP;EDGE_NONE;SL_NORMAL;
1037 };
b.liub17525e2025-05-14 17:22:29 +08001038
lichengzhangb746a892025-06-24 15:41:08 +08001039 /*for ssp2 is not in use, it needs to be used as a regular gpio,default state is input and low*/
1040 gpiokey_ssp2_func: gpiokey_ssp2_func {
1041 pinctrl-single,pins = <
1042 GPIO37 AF0 /* TXD */
1043 GPIO38 AF0 /* SCLK */
1044 GPIO39 AF0 /* FRM */
1045 GPIO40 AF0 /* RXD */
1046 >;
1047 DS_MEDIUM;PULL_DOWN;EDGE_NONE;SL_NORMAL;
1048 };
1049
b.liub17525e2025-05-14 17:22:29 +08001050 wake_pmx_func1: wake_pmx_func1 {
1051 pinctrl-single,pins = <
1052 USB_ID AF1
1053 >;
1054 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1055 };
1056
hong.liuf2416882025-05-23 20:41:06 -07001057 led_pmx_func1: led_pmx_func1 {
1058 pinctrl-single,pins = <
1059 GPIO08 AF0
1060 >;
1061 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1062 };
1063
b.liub17525e2025-05-14 17:22:29 +08001064
1065 wake_pmx_func: wake_pmx_func {
1066 pinctrl-single,pins = <
1067 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1068
1069 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1070 GPIO41 AF0
1071 PRI_TDO AF1 /*GPIO120*/
1072
1073
1074 >;
1075 DS_MEDIUM;PULL_NONE;EDGE_NONE;SL_NORMAL;
1076 };
1077 wake_pmx_func_sleep: wake_pmx_func_sleep {
1078 pinctrl-single,pins = <
1079 PRI_TDI AF1 /*GPIO117 WAKEUP_OUT*/
1080
1081 PRI_TMS AF1 /*GPIO118 WAKEUP_IN*/
1082 GPIO41 AF0
1083 PRI_TDO AF1 /*GPIO120*/
1084
1085 >;
1086 DS_MEDIUM;PULL_NONE;EDGE_BOTH;SL_NORMAL;
1087 };
1088 usb_id_pinmux: usb_id_pinmux {
b.liue9582032025-04-17 19:18:16 +08001089 pinctrl-single,pins = <
1090 USB_ID AF1/* usbid-gpio99 */
1091 >;
1092 DS_MEDIUM;PULL_UP;EDGE_NONE;LPM_NONE;
1093 };
1094 usb_id_pinmux_slp: usb_id_pinmux_slp {
1095 pinctrl-single,pins = <
1096 USB_ID AF1 /* usbid-gpio99 */
1097 >;
1098 DS_MEDIUM;PULL_UP;EDGE_BOTH;LPM_NONE;
1099 };
1100 usb_host_pinmux: usb_host_pinmux {
1101 pinctrl-single,pins = <
1102 VBUS_DRV AF1 /* gpio-122 */
1103 >;
1104 DS_MEDIUM;PULL_FLOAT;EDGE_NONE;LPM_NONE;
1105 };
1106 i2s_func: i2s_func {
1107 pinctrl-single,pins = <
1108 GPIO25 AF2
1109 GPIO26 AF2
1110 GPIO27 AF2
1111 GPIO28 AF2
1112 >;
1113 MFP_DEFAULT;
1114 };
1115 i2s_gpio: i2s_gpio {
1116 pinctrl-single,pins = <
1117 GPIO25 AF0
1118 GPIO26 AF0
1119 GPIO27 AF0
1120 GPIO28 AF0
1121 >;
1122 MFP_LPM_FLOAT;
1123 };
you.chen9824a892025-06-04 20:23:26 +08001124 sensors_int:sensors_int {
1125 pinctrl-single,pins = <
1126 GPIO22 AF0
1127 >;
1128 MFP_PULL_DOWN;
1129 };
1130 sensors_csb:sensors_csb {
1131 pinctrl-single,pins = <
1132 VCXO_OUT AF1
1133 >;
1134 DS_MEDIUM;PULL_UP;EDGE_NONE;
1135 };
b.liue9582032025-04-17 19:18:16 +08001136 };
1137
1138 ssp0: spi@d401b000 {
1139 status = "okay";
1140 pinctrl-names = "default";
1141 pinctrl-0 = <&ssp0_pmx_func>;
1142 asr,spi-inc-mode;
1143#ifdef CONFIG_FB_SPI_LCD
1144 /* this enhancemnet feature is not suitable for
1145 3 line 9bits spi lcd. */
1146 /* asr,ssp-enhancement; */
1147
1148 lcd: spidev@0 {
1149 #address-cells = <1>;
1150 #size-cells = <1>;
1151 compatible = "spilcd";
b.liub17525e2025-05-14 17:22:29 +08001152 // pinctrl-names = "default";
1153 // pinctrl-0 = <&lcd_bl_func>;
b.liue9582032025-04-17 19:18:16 +08001154 reg = <0>;
1155 /* ST7735: need to set spi-max-frequency to 26M
1156 * ST7789V: can set spi-max-frequency to 52M
1157 */
1158 spi-max-frequency = <26000000>;
1159 xres = <128>;
1160 yres = <128>;
1161 bits = <8>; /* 8: 4line, 9: 3line */
1162 rst_gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001163 // bl_gpio = <&gpio 126 0>;
b.liue9582032025-04-17 19:18:16 +08001164 rs_gpio = <&gpio 22 0>;
1165 /* if comment the following statement, it means
1166 * the avdd is sit on the "always-on" ldo.
1167 */
1168 /* avdd-supply = <&LDO1>; */
1169 };
1170#else
1171 /*cs-gpios = <&gpio 34 0>;*//* DXS101 Use the config of Cs-gpios */
1172 slic: spidev@0{
1173 #address-cells = <1>;
1174 #size-cells = <1>;
1175 compatible = "asr,slic";
1176 reg = <0>;
1177 spi-cpol;
1178 spi-cpha;
1179 spi-max-frequency = <6500000>;
1180 };
1181#endif
1182 };
b.liub17525e2025-05-14 17:22:29 +08001183 ssp2: spi@d401c000{
lichengzhangb746a892025-06-24 15:41:08 +08001184 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001185 pinctrl-names = "default";
1186 pinctrl-0 = <&ssp2_pmx_func>;
1187 asr,spi-inc-mode;
1188 cs-gpios = <&gpio 39 0>;
b.liub17525e2025-05-14 17:22:29 +08001189 mbtk: spidev@0{
1190 compatible = "asr,spidev";
1191 reg = <0>;
1192 status = "okay";
1193 spi-cpol;
1194 spi-cpha;
1195 spi-max-frequency = <6500000>;
1196 };
1197 };
b.liue9582032025-04-17 19:18:16 +08001198 twsi0: i2c@d4011000 {
1199 status= "okay";
1200 alc5616@1b {
b.liub17525e2025-05-14 17:22:29 +08001201 status= "disabled";
b.liue9582032025-04-17 19:18:16 +08001202 compatible = "asrmicro,alc5616";
1203 reg = <0x1b>;
1204 pinctrl-names = "default", "sleep";
1205 pinctrl-0 = <&alc5616_pmx_func1>;
1206 pinctrl-1 = <&alc5616_pmx_func2>;
1207 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1208 clock-names = "i2s_sys_clk";
1209#if 0
1210 3V3-gpio = <&gpio 23 0>;/* CODEC_LDO_EN */
1211 irq-gpio = <&gpio 24 0>;/* CODEC_IRQ for headset detection */
1212#else
1213 irq-gpio = <&gpio 8 0>;/* CODEC_IRQ for headset detection */
1214#endif
1215 };
1216
b.liub17525e2025-05-14 17:22:29 +08001217 nau8810@1a {
1218 compatible = "marvell,nau8810";
1219 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1220 clock-names = "i2s_sys_clk";
1221
1222
1223 pinctrl-names = "default";
1224 pinctrl-0 = <&es8311_pa_func1>;
1225 pinctrl-1 = <&es8311_pa_func2>;
1226 reg = <0x1a>;
1227 status= "disabled";
1228 };
1229
1230 es8311@18 {
1231 compatible = "ambarella,es8311";
1232 reg = <0x18>;
1233 clocks = <&soc_clocks ASR1803_CLK_I2S_SYSCLK>;
1234 clock-names = "i2s_sys_clk";
1235
1236 pinctrl-names = "default";
1237 pinctrl-0 = <&es8311_pa_func1>;
1238 pinctrl-1 = <&es8311_pa_func2>;
yu.dongb3e49372025-06-23 23:57:56 -07001239 gpios = <&gpio 54 0>;
b.liub17525e2025-05-14 17:22:29 +08001240
1241 // gpios = <&gpio 21 0>,
1242 // <&gpio 23 0>,
1243 // <&gpio 24 0>,
1244 // <&gpio 22 0>;
1245
1246 status= "okay";
1247 };
1248
you.chen9824a892025-06-04 20:23:26 +08001249 asm330lhhx-imu@0x6a {
1250 compatible = "st,asm330lhhx";
1251 reg = <0x6b>;
1252 pinctrl-names = "default";
1253 pinctrl-0 = <&sensors_int &sensors_csb>;
1254 interrupt-parent = <&gpio>;
1255 interrupts = <22 1>;
1256 //interrupts = <22>;
1257 vddio-supply = <&sensors_vddio>;
1258 //vdd-supply = <&sensors_vdd>;
1259 st,int-pin = <1>;
1260 //st,mlc-int-pin = <2>;
1261 mount-matrix = "1", "0", "0",
1262 "0", "1", "0",
1263 "0", "0", "1";
1264 };
yu.dongb39db3e2025-06-06 03:15:42 -07001265 /* AWINIC AW87XXX Smart K PA */
1266 aw87xxx_pa@58 {
1267 compatible = "awinic,aw87xxx_pa";
1268 reg = <0x58>;
1269 reset-gpio = <&gpio 24 0>;
1270 dev_index = < 0 >;
1271 status = "okay";
1272 };
1273 /* AWINIC AW87XXX Smart K PA End */
b.liue9582032025-04-17 19:18:16 +08001274 /*
1275 pmic4: 88pm805@38 {
1276 compatible = "marvell,88pm805";
1277 reg = <0x38>;
1278 };
1279 */
1280 };
1281 twsi1: i2c@d4010800 {
b.liub17525e2025-05-14 17:22:29 +08001282#if 1
b.liue9582032025-04-17 19:18:16 +08001283 pinctrl-names = "default","gpio";
1284 pinctrl-0 = <&twsi1_pmx_func>;
1285 pinctrl-1 = <&twsi1_pmx_gpio>;
1286 i2c-gpio = <&gpio 10 0 &gpio 11 0>;
1287#endif
b.liub17525e2025-05-14 17:22:29 +08001288 status= "okay";
1289 //nau8810@1a {
1290 // compatible = "marvell,nau8810";
1291 // reg = <0x1a>;
1292 //};
1293
1294
b.liue9582032025-04-17 19:18:16 +08001295 };
1296 twsi2: i2c@d4037000 {
1297 status = "okay";
1298
1299 pmic4: 88pm805@38 {
1300 compatible = "marvell,88pm805";
1301 reg = <0x38>;
1302 };
1303
1304 pmic5: pm802@0 {
1305 compatible = "asr,pm802";
1306 reg = <0x00>;
1307 interrupts = <4>;
1308 interrupt-parent = <&intc>;
1309 interrupt-controller;
1310 #interrupt-cells = <1>;
1311 chg_irq_from_exton;
1312 scs-int-active-high;
1313 battery {
1314 compatible = "asr,pm802-bat";
1315 status = "disabled";
1316
1317 online-gpadc = <1>;
1318 temperature-gpadc = <1>;
1319
1320 hi-volt-online = <1150>; /* mV */
1321 lo-volt-online = <20>; /* mV */
1322 hi-volt-temp = <1150>; /* mV */
1323 lo-volt-temp = <200>; /* mV */
1324
1325 sw-fg-use-ntc;
1326 full-capacity = <2050>; /* mAh */
1327 r1-resistor = <40>; /* mohm */
1328 r2-resistor = <30>; /* mohm */
1329 rs-resistor = <120>; /* mohm */
1330 roff-resistor = <0>; /* mohm */
1331 roff-initial-resistor = <0>; /* mohm */
1332
1333 times-in-zero-degree = <1>;
1334 offset-in-zero-degree = <0>;
1335
1336 times-in-ten-degree = <2>;
1337 offset-in-ten-degree = <100>;
1338
1339 power-off-threshold = <3350>; /* mV */
1340 safe-power-off-threshold = <3200>; /* mV */
1341
1342 online-gp-bias-curr = <11>; /* uA */
1343
1344 soc-ramp-up-interval = <150>; /* s */
1345 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1346 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1347 ntc-table-size = <88>;
1348 stop-chg-for-vbatmeas;
1349 /* -24C, -23C, ..., 62C, 63C */
1350 ntc-table = <
1351 89680 85130 80840 76790 72970 69360 65960 62740
1352 59700 56830 54130 51530 49100 46800 44610 42550
1353 40590 38730 36970 35300 33710 32210 30780 29420
1354 28130 26910 25750 24640 23590 22580 21630 20720
1355 19860 19030 18250 17500 16790 16110 15460 14840
1356 14250 13690 13150 12640 12150 11680 11230 10800
1357 10390 10000 9620 9270 8920 8590 8280 7980
1358 7690 7410 7150 6890 6650 6410 6190 5970
1359 5770 5570 5380 5190 5020 4850 4680 4530
1360 4380 4230 4100 3960 3830 3710 3590 3480
1361 3370 3260 3160 3060 2960 2870 2780 2700
1362 >;
1363 };
1364 usb {
1365 status = "disabled";
1366 vbus_gpio = <0xff>; /* set_vbus */
1367 id-gpadc = <0xff>; /* usb-id */
1368 vchg-from-exton = <1>;
1369 vbus-detect = <1>; /* vbus-irq */
1370 get-vbus = <1>; /* get-vbus */
1371 };
1372 };
1373 pmic6: pm803@30 {
1374 compatible = "asr,pm803";
1375 reg = <0x30>;
1376 interrupts = <4>;
1377 interrupt-parent = <&intc>;
1378 interrupt-controller;
1379 #interrupt-cells = <1>;
1380 chg_irq_from_exton;
1381 scs-int-active-high;
1382 battery {
1383 compatible = "asr,pm803-bat";
1384 status = "disabled";
1385
1386 online-gpadc = <1>;
1387 temperature-gpadc = <1>;
1388
1389 hi-volt-online = <1150>; /* mV */
1390 lo-volt-online = <20>; /* mV */
1391 hi-volt-temp = <1150>; /* mV */
1392 lo-volt-temp = <200>; /* mV */
1393
1394 sw-fg-use-ntc;
1395 full-capacity = <2050>; /* mAh */
1396 r1-resistor = <40>; /* mohm */
1397 r2-resistor = <30>; /* mohm */
1398 rs-resistor = <120>; /* mohm */
1399 roff-resistor = <0>; /* mohm */
1400 roff-initial-resistor = <0>; /* mohm */
1401
1402 times-in-zero-degree = <1>;
1403 offset-in-zero-degree = <0>;
1404
1405 times-in-ten-degree = <2>;
1406 offset-in-ten-degree = <100>;
1407
1408 power-off-threshold = <3350>; /* mV */
1409 safe-power-off-threshold = <3200>; /* mV */
1410
1411 online-gp-bias-curr = <11>; /* uA */
1412
1413 soc-ramp-up-interval = <150>; /* s */
1414 /* choose -20C, 0C, 10C, 40C, 45C, 55C as threshold */
1415 tbat-threshold = <20 0 10 40 45 55>; /* ohm */
1416 ntc-table-size = <88>;
1417 stop-chg-for-vbatmeas;
1418 /* -24C, -23C, ..., 62C, 63C */
1419 ntc-table = <
1420 89680 85130 80840 76790 72970 69360 65960 62740
1421 59700 56830 54130 51530 49100 46800 44610 42550
1422 40590 38730 36970 35300 33710 32210 30780 29420
1423 28130 26910 25750 24640 23590 22580 21630 20720
1424 19860 19030 18250 17500 16790 16110 15460 14840
1425 14250 13690 13150 12640 12150 11680 11230 10800
1426 10390 10000 9620 9270 8920 8590 8280 7980
1427 7690 7410 7150 6890 6650 6410 6190 5970
1428 5770 5570 5380 5190 5020 4850 4680 4530
1429 4380 4230 4100 3960 3830 3710 3590 3480
1430 3370 3260 3160 3060 2960 2870 2780 2700
1431 >;
1432 };
1433 usb {
1434 status = "disabled";
1435 vbus_gpio = <0xff>; /* set_vbus */
1436 id-gpadc = <0xff>; /* usb-id */
1437 vchg-from-exton = <1>;
1438 vbus-detect = <1>; /* vbus-irq */
1439 get-vbus = <1>; /* get-vbus */
1440 };
1441 };
1442 };
1443 };
1444 };
1445
1446 vcc_sdh1: sd-regulator {
1447 compatible = "regulator-fixed";
b.liub17525e2025-05-14 17:22:29 +08001448 /*pinctrl-names = "default";*/
1449 /*pinctrl-0 = <&sd_ldo_en>;*/
b.liue9582032025-04-17 19:18:16 +08001450 regulator-name = "SDH1 VCC";
1451 regulator-min-microvolt = <3300000>;
1452 regulator-max-microvolt = <3300000>;
b.liub17525e2025-05-14 17:22:29 +08001453 /* gpio = <&gpio 45 0>;*/
b.liue9582032025-04-17 19:18:16 +08001454 enable-active-high;
1455 status = "okay";
1456 };
1457
you.chen9824a892025-06-04 20:23:26 +08001458 sensors_vddio: imu-regulator {
1459 compatible = "regulator-fixed";
1460 /*pinctrl-names = "default";*/
1461 /*pinctrl-0 = <&sd_ldo_en>;*/
1462 regulator-name = "IMU VDDIO";
1463 gpio = <&gpio 21 0>;
1464 enable-active-high;
1465 status = "okay";
1466 };
1467
b.liue9582032025-04-17 19:18:16 +08001468 asr-rfkill {
1469 compatible = "asr,asr-rfkill";
1470 pinctrl-names = "off", "on";
1471 pinctrl-0 = <&sdh1_pmx_pd_rst_off>;
1472 pinctrl-1 = <&sdh1_pmx_pd_rst_on>;
b.liub17525e2025-05-14 17:22:29 +08001473 sd-host = <&sdh0>;
1474 //pd-gpio = <&gpio 90 0>;
1475 rst-gpio = <&gpio 90 0>;
1476
1477 /*3v3-ldo-gpio = <&gpio 8 0>;*/
1478 /*edge-wakeup-gpio = <&gpio 10 0>;*/
1479 status = "okay";
1480 };
1481
1482 mbtk-sdh{
1483 compatible = "mbtk,mbtk-sdh";
1484 pinctrl-names = "off", "on";
1485 pinctrl-0 = <&mbtk_sdh_pmx_off>;
1486 pinctrl-1 = <&mbtk_sdh_pmx_on>;
1487 sd-host = <&sdh1>;
1488 1v8-ldo-gpio = <&gpio 123 0>;
you.chen9824a892025-06-04 20:23:26 +08001489 //host-wakeup-wlan-gpio = <&gpio 127 0>;
b.liub17525e2025-05-14 17:22:29 +08001490 wlan_en_gpio = <&gpio 125 0>;
1491 status = "okay";
1492 };
1493
1494 asr-gps {
1495 compatible = "asr,asr-gnss";
1496 pinctrl-names = "default";
1497 pinctrl-0 = <&gnss_clk_on>;
1498 enable_vctcxo_out1;
1499 host-wakeup-gnss-gpio = <&gpio 47 0>;
1500 /*gnss-wakeup-host-gpio = <&gpio 47 0>;*/
1501 rst-gpio = <&gpio 45 0>;
b.liue9582032025-04-17 19:18:16 +08001502 status = "okay";
1503 };
1504
1505 pcie-rfkill {
1506 compatible = "mrvl,pcie-rfkill";
1507 pinctrl-names = "off", "on";
1508 pinctrl-0 = <&pcie_pmx_pd_rst_off>;
1509 pinctrl-1 = <&pcie_pmx_pd_rst_on>;
1510 rst-gpio = <&gpio 42 0>;
1511 3v3-ldo-gpio = <&gpio 24 0>;
b.liub17525e2025-05-14 17:22:29 +08001512 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001513 };
1514
1515 sound {
1516 compatible = "ASRMICRO,asrmicro-snd-card";
1517 ssp-controllers = <&ssp_dai1>;
1518 };
1519
b.liub17525e2025-05-14 17:22:29 +08001520 asr-adc {
1521 compatible = "asr,adc";
1522 //pinctrl-names = "default";
1523 //pinctrl-0 = <&pin_func_work>;
1524 status = "okay";
1525 };
1526
1527#if 0
1528
1529 mbtk_PlatIrq{
1530 compatible = "mbtk,plat-irq";
1531 pinctrl-names = "sc_irq0", "sc_irq1", "sc_irq2", "sc_irq3";
1532
1533 pinctrl-0 = <&sc_ext_int0>;
1534 pinctrl-1 = <&sc_ext_int1>;
1535 pinctrl-2 = <&sc_ext_int2>;
1536 pinctrl-3 = <&sc_ext_int3>;
yu.dongca721ca2025-06-04 07:21:21 -07001537 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001538 };
1539
1540#else
1541
1542 mbtk_PlatIrq{
1543 compatible = "mbtk,plat-irq";
1544 pinctrl-names = "default", "sleep";
1545 pinctrl-0 = <&mbtk_plat_irq_func>;
1546 pinctrl-1 = <&mbtk_plat_irq_func_sleep>;
you.chen9824a892025-06-04 20:23:26 +08001547 //gpio_irq0 = <&gpio 21 0>;
1548 //gpio_irq1 = <&gpio 22 0>;
b.liub17525e2025-05-14 17:22:29 +08001549 gpio_irq2 = <&gpio 23 0>;
1550 gpio_irq3 = <&gpio 24 0>;
yu.dongca721ca2025-06-04 07:21:21 -07001551 status = "disabled";
b.liub17525e2025-05-14 17:22:29 +08001552 };
1553
1554#endif
1555
b.liue9582032025-04-17 19:18:16 +08001556 ecall {
1557 compatible = "asr,ecall-event";
1558 pinctrl-names = "default";
1559 pinctrl-0 = <&ecall_pmx_func>;
1560 gpio-auto-ecall = <8>;
1561 gpio-manual-ecall = <9>;
1562 status = "disabled";
1563 };
1564
1565 usim1: usim1 {
1566 compatible = "asr,usim1";
1567 pinctrl-names = "default", "sleep";
1568 pinctrl-0 = <&usim1_pmx_func>;
1569 pinctrl-1 = <&usim1_pmx_func_sleep>;
yq.wang107f9862025-05-12 15:44:50 +08001570 edge_detect_gpio = <119>; /* GPIO19: SIM detect pin */
b.liue9582032025-04-17 19:18:16 +08001571 status = "okay";
1572 };
1573 /* set okay for this node if usim2 is needed */
1574 usim2: usim2 {
1575 compatible = "asr,usim2";
1576 pinctrl-names = "default", "sleep";
1577 pinctrl-0 = <&usim2_pmx_func>;
1578 pinctrl-1 = <&usim2_pmx_func_sleep>;
1579 edge_detect_gpio = <44>; /* GPIO44: SIM detect pin */
1580#ifdef CONFIG_ASR_DSDS
1581 status = "okay";
1582#else
1583 status = "disabled";
1584#endif
1585 };
1586 gpio_keys {
1587 compatible = "gpio-keys";
1588 #address-cells = <1>;
1589 #size-cells = <0>;
1590 /* autorepeat; */
1591 pinctrl-names = "default";
lichengzhangb746a892025-06-24 15:41:08 +08001592 pinctrl-0 = <&gpiokey_pmx_func &gpiokey_ssp2_func>;
b.liue9582032025-04-17 19:18:16 +08001593 button@1 {
1594 label = "qrcode-key";
1595 linux,code = <139>; /* KEY_MENU, refer to linux/input.h */
1596 /* NOTE:
1597 * We use the FORCE DOWNLOAD key to implement the qrcode key in DKB.
1598 * Customer SHOULD change it to any other gpios.
1599 * Because user may do the misoperation that
1600 * powerup with FDL key pressed,
1601 * then the borad will enter force download mode.
1602 */
1603 gpios = <&gpio 9 1>;
1604 gpio-key,wakeup;
1605 };
1606 };
1607
1608 audio_pa {
1609 compatible = "asrmicro,audio-pa";
1610 pinctrl-names = "default";
1611 pinctrl-0 = <&audio_pa_pmx_func>;
1612 pa-gpio = <&gpio 14 0>;
b.liub17525e2025-05-14 17:22:29 +08001613 status = "disabled";
b.liue9582032025-04-17 19:18:16 +08001614 };
b.liub17525e2025-05-14 17:22:29 +08001615 mbtk_GpioWakeUp {
1616 compatible = "mbtk,GpioWakeUp";
1617 pinctrl-names = "default", "sleep";
1618 pinctrl-0 = <&wake_pmx_func &wake_pmx_func1>;
1619 pinctrl-1 = <&wake_pmx_func_sleep>;
1620 wakeup-in-gpio = <&gpio 118 0>;
1621 wakeup-out-gpio = <&gpio 117 0>;
1622 status = "okay";
1623 };
b.liue9582032025-04-17 19:18:16 +08001624
hong.liuf2416882025-05-23 20:41:06 -07001625
1626 dtsleds{
1627 compatible = "gpio-leds";
1628 pinctrl-names = "default";
1629 pinctrl-0 = <&led_pmx_func1>;
1630 status = "okay";
1631 led0{
1632 label = "red";
1633 gpios = <&gpio 8 0>;
1634 linux,default-trigger = "pattern";
1635 led-pattern = "100:100:100";
1636 default-state = "on";
1637
1638 };
1639
1640 // led1{
1641 // label = "blue";
1642 // gpios = <&gpio 99 0>;
1643 // linux,default-trigger = "timer";
1644 // timer-delay-on = <100>;
1645 // timer-delay-off = <100>;
1646 // brightness-levels = <100>;
1647 // brightness-max = <100>;
1648 // default-state = "on";
1649 // };
1650
1651 };
1652
b.liue9582032025-04-17 19:18:16 +08001653 audio_regs {
1654 compatible = "ASRMICRO,audio-registers";
1655 reg = <0xD4050044 0x4>;
1656 status = "okay";
1657 };
1658
1659 nz3-slic {
1660 compatible = "asr,nz3-slic";
1661 pinctrl-names = "default", "sleep";
1662 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1663 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1664 rst-gpio = <&gpio 21 0>;
1665 edge-wakeup-gpio = <&gpio 20 0>;
1666 vdd-3v3-gpio = <&gpio 127 0>;
1667 status = "disabled";
1668 };
1669 microsemi-slic {
1670 compatible = "asr,microsemi-slic";
1671 pinctrl-names = "default", "sleep";
1672 pinctrl-0 = <&slic_pmx_func1>;
1673 pinctrl-1 = <&slic_pmx_func1_sleep>;
1674 edge-wakeup-gpio = <&gpio 20 0>;
1675 vdd-3v3-gpio = <&gpio 127 0>;
1676 status = "disabled";
1677 };
1678 maxlinear-slic {
1679 compatible = "asr,maxlinear-slic";
1680 pinctrl-names = "default", "sleep";
1681 pinctrl-0 = <&slic_pmx_func1 &slic_pmx_func2>;
1682 pinctrl-1 = <&slic_pmx_func1_sleep &slic_pmx_func2>;
1683 rst-gpio = <&gpio 21 0>;
1684 edge-wakeup-gpio = <&gpio 20 0>;
1685 vdd-3v3-gpio = <&gpio 127 0>;
1686 status = "disabled";
1687 };
1688 /* deprecated, move to mfpr@d401e000
1689 lpm-board-cfg {
1690 compatible = "asr,lpm-board-cfg";
1691 wakeup-state-d1pp = <0x1>;
1692 udr-mfpr-config = <0x1B0 0xA040 0x0
1693 0x1B4 0xA040 0x0>;
1694 };
1695 */
1696};
1697#ifdef CONFIG_ASR_DSDS
1698#include "asr_pm802_2usim.dtsi"
1699#include "88pm805.dtsi"
1700#include "asr_pm803_2usim.dtsi"
1701#else
1702#include "asr_pm802.dtsi"
1703#include "88pm805.dtsi"
1704#include "asr_pm803.dtsi"
1705#endif
1706
1707#ifdef CONFIG_AB_SYSTEM
1708#include "asr1806_ab_flash_layout.dtsi"
1709#else
1710#include "asr1806_flash_layout.dtsi"
1711#endif