blob: 72b2a26b7ce784302978b21960924e4ee6422135 [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright (C) 2018 Synaptics Incorporated
*
* Author: Jisheng Zhang <jszhang@kernel.org>
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "as370.dtsi"
/ {
model = "Synaptics AS370 Prince";
compatible = "syna,as370-prince", "syna,as370";
aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
};
cpus {
cpu@0 {
cpu0-supply = <&vcore>;
};
};
memory {
device_type = "memory";
reg = <0 0x01000000 0 0x2f000000>;
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
ramoops@0x2FF00000 {
compatible = "ramoops";
reg = <0x0 0x2FF00000 0x0 0x00100000>;
record-size = <0x8000>;
console-size = <0x8000>;
ftrace-size = <0x0>;
pmsg-size = <0x8000>;
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
vmmc_sdio0: vmmc_sdio0 {
compatible = "regulator-fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vmmc_sdio0";
enable-active-high;
regulator-boot-on;
gpio = <&portb 31 GPIO_ACTIVE_HIGH>;
};
};
thermal-sensor-ch0 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&adc 0>;
io-channel-names = "sensor-channel";
temperature-lookup-table = < (-48787) 1793
(-40399) 1786
(-35174) 1779
(-31306) 1772
(-28205) 1765
(-25602) 1758
(-23348) 1751
(-21354) 1744
(-19561) 1737
(-17929) 1730
(-16428) 1723
(-15037) 1716
(-13739) 1709
(-12520) 1702
(-11370) 1695
(-10280) 1688
(-9244) 1680
(-8255) 1673
(-7310) 1666
(-6402) 1659
(-5530) 1652
(-4689) 1645
(-3877) 1638
(-3091) 1631
(-2330) 1624
(-1592) 1617
(-875) 1610
(-177) 1603
503 1596
1166 1589
1813 1582
2445 1575
3064 1568
3669 1561
4262 1554
4843 1547
5414 1540
5974 1533
6524 1526
7065 1519
7596 1512
8120 1505
8635 1498
9143 1491
9644 1484
10137 1477
10624 1470
11105 1463
11579 1455
12048 1448
12511 1441
12969 1434
13422 1427
13870 1420
14313 1413
14752 1406
15187 1399
15617 1392
16044 1385
16466 1378
16886 1371
17301 1364
17713 1357
18122 1350
18528 1343
18931 1336
19331 1329
19728 1322
20123 1315
20515 1308
20905 1301
21292 1294
21677 1287
22060 1280
22441 1273
22820 1266
23196 1259
23572 1252
23945 1245
24316 1238
24687 1230
25055 1223
25422 1216
25788 1209
26152 1202
26515 1195
26877 1188
27238 1181
27597 1174
27956 1167
28314 1160
28670 1153
29026 1146
29381 1139
29735 1132
30089 1125
30442 1118
30794 1111
31146 1104
31497 1097
31848 1090
32199 1083
32549 1076
32899 1069
33248 1062
33597 1055
33947 1048
34296 1041
34645 1034
34993 1027
35342 1020
35691 1013
36040 1005
36390 998
36739 991
37089 984
37438 977
37789 970
38139 963
38490 956
38842 949
39193 942
39546 935
39899 928
40252 921
40607 914
40962 907
41318 900
41674 893
42032 886
42390 879
42749 872
43110 865
43471 858
43833 851
44197 844
44562 837
44928 830
45295 823
45664 816
46034 809
46405 802
46778 795
47153 788
47529 780
47907 773
48287 766
48668 759
49051 752
49437 745
49824 738
50213 731
50604 724
50998 717
51394 710
51792 703
52193 696
52596 689
53002 682
53410 675
53821 668
54235 661
54652 654
55072 647
55495 640
55921 633
56350 626
56783 619
57219 612
57659 605
58103 598
58550 591
59002 584
59457 577
59917 570
60381 563
60849 555
61323 548
61801 541
62283 534
62771 527
63265 520
63763 513
64268 506
64778 499
65294 492
65816 485
66345 478
66880 471
67423 464
67972 457
68529 450
69094 443
69666 436
70247 429
70836 422
71435 415
72042 408
72660 401
73287 394
73925 387
74573 380
75233 373
75905 366
76589 359
77286 352
77996 345
78721 338
79460 330
80215 323
80986 316
81775 309
82581 302
83406 295
84251 288
85117 281
86005 274
86916 267
87852 260
88815 253
89806 246
90826 239
91878 232
92964 225
94086 218
95247 211
96450 204
97698 197
98994 190
100343 183
101749 176
103218 169
104755 162
106366 155
108060 148
109845 141
111732 134
113733 127
115862 120
118136 113
120576 105
123207 98
126061 91
129177 84
132606 77
136414 70
140690 63
145557 56
151193 49
157862 42
165993 35
176330 28
190340 21
211548 14
252503 7>;
};
dummy_label {
dummy = <&vcore1>;
dummy2 = <&vcore2>;
};
};
&adc {
status = "okay";
syna,adc-vref = <1800>;
};
&pinctrl {
i2c0_pmux: i2c0-pmux {
groups = "TW0_SCL", "TW0_SDA";
function = "tw0";
};
i2c1_pmux: i2c1-pmux {
groups = "TW1_SCL", "TW1_SDA";
function = "tw1";
};
emmc_pmux: emmc-pmux {
groups = "NAND_IO0", "NAND_IO1", "NAND_IO2", "NAND_IO3", "NAND_IO4", "NAND_IO5", "NAND_IO6", "NAND_IO7", "NAND_WPn", "NAND_CEn", "NAND_RDY";
function = "emmc";
};
sd0_pmux: sd0-pmux {
groups = "SD0_CLK", "SD0_DAT0", "SD0_DAT1", "SD0_DAT2", "SD0_DAT3", "SD0_CMD";
function = "sd0";
};
sd0_gpio_pmux: sd0_gpio-pmux {
groups = "SD0_WP";
function = "gpio";
};
i2s1_pmux: i2s1-pmux {
groups = "I2S1_BCLKIO", "I2S1_LRCKIO", "I2S1_DO0";
function = "i2s1";
};
i2s2_pmux: i2s2-pmux {
groups = "I2S2_DI0";
function = "i2s2";
};
pdm_pmux: pdm-pmux {
groups = "PDM_CLKO", "PDM_DI0", "PDM_DI1";
function = "pdm";
};
i2s3_pmux: i2s3-pmux {
groups = "I2S3_DI", "I2S3_DO", "I2S3_BCLKIO", "I2S3_LRCKIO";
function = "i2s3";
};
mute_pmux: mute-pmux {
groups = "I2S2_DI2";
function = "gpio";
};
};
&i2c0 {
status = "okay";
pinctrl-0 = <&i2c0_pmux>;
pinctrl-names = "default";
/*tas2770: tas2770@41 {
#sound-dai-cells = <0>;
compatible = "ti,tas2770";
reg = <0x41>;
ti,asi-format = <0>;
ti,reset-gpio = <&porta 17 GPIO_ACTIVE_HIGH>;
ti,left-slot = <0>;
ti,right-slot = <1>;
ti,imon-slot-no = <0>;
ti,vmon-slot-no = <4>;
};*/
vcore: regulator@00 {
status = "okay";
compatible = "silergy,sy8824";
regulator-name = "vcore";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1150000>;
regulator-max-step-microvolt = <12500>;
regulator-always-on;
regulator-boot-on;
reg = <0x66>;
};
vcore1: regulator@01 {
status = "disabled";
compatible = "silergy,sy20276";
regulator-name = "vcore";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1150000>;
regulator-max-step-microvolt = <10000>;
regulator-always-on;
regulator-boot-on;
reg = <0x60>;
};
vcore2: regulator@02 {
status = "disabled";
compatible = "silergy,sy20278";
regulator-name = "vcore";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1050000>;
regulator-max-step-microvolt = <12500>;
regulator-always-on;
regulator-boot-on;
reg = <0x61>;
};
};
&i2c1 {
status = "okay";
pinctrl-0 = <&i2c1_pmux>;
pinctrl-names = "default";
tas5825: tas5825@4c {
#sound-dai-cells = <0>;
compatible = "ti,tas5825m";
reg = <0x4c>;
pdn-gpios = <&porta 17 GPIO_ACTIVE_HIGH>;
};
cy8cmbr3108: cy8cmbr3108@37 {
compatible = "cy8cmbr3108";
reg = <0x37>;
num_sensors = <6>;
sensor_event_map_idx = <2>;
reg_val_map_idx = <2>;
touch_gpio = <&porta 5 GPIO_ACTIVE_LOW>;
reset_gpio = <&porta 4 GPIO_ACTIVE_LOW>;
};
lp5018: lp5018@29 {
compatible = "ti,led-lp5018";
reg = <0x29>;
num_leds = <4>;
//starting LED # of each set
start_num = <0 3 6 9>;
reset_gpio = <&porta 4 GPIO_ACTIVE_LOW>;
};
aw210xx_led: aw210xx_led@21 {
compatible = "awinic,aw210xx_led";
reg = <0x21>;
enable-gpio = <&porta 4 GPIO_ACTIVE_LOW>;
global_current = <0xff>;
osc_clk = <1>;
br_res = <4>;
pde = <1>;
status = "okay";
aw210xx,led {
aw210xx,name = "aw210xx_led";
aw210xx,imax = <1>;
aw210xx,brightness = <128>;
aw210xx,max_brightness = <255>;
aw210xx,num_leds = <4>;
};
};
};
&sdhci0 {
status = "okay";
broken-cd;
non-removable;
vmmc-supply = <&vmmc_sdio0>;
pinctrl-0 = <&sd0_pmux>, <&sd0_gpio_pmux>;
pinctrl-names = "default";
};
&uart0 {
status = "okay";
};
&usb_phy0 {
status = "okay";
};
&usb0 {
dr_mode = "host";
status = "okay";
};
&watchdog0 {
status = "okay";
};
&sdhci2 {
status = "okay";
pinctrl-0 = <&emmc_pmux>;
pinctrl-names = "default";
};
&as370_pdmi0 {
status = "okay";
pinctrl-0 = <&pdm_pmux>;
pinctrl-names = "default";
max-ch-inuse = <3>;
};
&as370_pdmi1 {
status = "okay";
pinctrl-0 = <&pdm_pmux>;
pinctrl-names = "default";
};
&as370_mic1_0 {
status = "okay";
pinctrl-0 = <&i2s2_pmux>;
pinctrl-names = "default";
usepriclk;
};
&as370_mic2 {
status = "okay";
pinctrl-0 = <&i2s3_pmux>;
pinctrl-names = "default";
pcm;
invfs;
jfied;
};
&as370_outdai {
status = "okay";
pinctrl-0 = <&i2s1_pmux>;
pinctrl-names = "default";
interrupts = <0>;
interrupt-names = "pri";
keep-clk;
};
&as370_sec {
status = "okay";
pinctrl-0 = <&i2s3_pmux>;
pinctrl-names = "default";
slave;
pcm;
r_jfy;
invbclk;
invfs;
jfied;
};
&as370_pcm {
status = "okay";
};
&as370_asoc {
status = "okay";
pinctrl-0 = <&mute_pmux>;
pinctrl-names = "default";
mute-gpios = <&porta 11 GPIO_ACTIVE_HIGH>;
power-gpios = <&portb 10 GPIO_ACTIVE_HIGH>;
dummy_pdmi0: dummy-pdmi0 {
status = "okay";
stream-name = "dummy-pdmi0";
link-name = "dummy-pdmi0";
cpu-node = <&as370_pdmi0>;
codec-name = "snd-soc-dummy";
codec-dai-name = "snd-soc-dummy-dai";
platform-node = <&as370_pcm>;
};
outdai_tas5825: outdai-tas5825 {
status = "okay";
stream-name = "outdai-tas5825";
link-name = "outdai-tas5825";
cpu-node = <&as370_outdai>;
codec-node = <&tas5825>;
codec-dai-name = "tas5825 ASI1";
platform-node = <&as370_pcm>;
format = "i2s";
codeca;
};
dummy_pdmi1: dummy-pdmi1 {
status = "okay";
stream-name = "dummy-pdmi1";
link-name = "dummy-pdmi1";
cpu-node = <&as370_pdmi1>;
codec-name = "snd-soc-dummy";
codec-dai-name = "snd-soc-dummy-dai";
platform-node = <&as370_pcm>;
};
dummy_mic2: dummy-mic2 {
status = "okay";
stream-name = "dummy-mic2";
link-name = "dummy-mic2";
cpu-node = <&as370_mic2>;
codec-name = "snd-soc-dummy";
codec-dai-name = "snd-soc-dummy-dai";
platform-node = <&as370_pcm>;
};
sec_dummy: sec_dummy {
status = "okay";
stream-name = "sec-dummy";
link-name = "sec-dummy";
cpu-node = <&as370_sec>;
codec-name = "snd-soc-dummy";
codec-dai-name = "snd-soc-dummy-dai";
platform-node = <&as370_pcm>;
};
};
&nna {
status = "okay";
};
&axi_meter {
status = "okay";
};
&aviodrv {
status = "okay";
};