blob: ba34f18f66d44083cba18ef83a0dfc9f297f55d0 [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 Sirocco";
compatible = "syna,as370-sirocco_v", "syna,as370";
aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
spi1 = &spi1;
};
cpus {
cpu@0 {
cpu0-supply = <&vcore>;
};
};
chosen {
bootargs = "console=ttyS0,115200 root=/dev/mtdblock7 rootfstype=squashfs";
};
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>;
};
};
thermal-sensor-ch0 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&adc 0>;
io-channel-names = "sensor-channel";
temperature-lookup-table = < (-57216) 1793
(-49457) 1786
(-44635) 1779
(-41071) 1772
(-38218) 1765
(-35824) 1758
(-33753) 1751
(-31922) 1744
(-30278) 1737
(-28781) 1730
(-27406) 1723
(-26131) 1716
(-24942) 1709
(-23827) 1702
(-22774) 1695
(-21778) 1688
(-20831) 1680
(-19927) 1673
(-19063) 1666
(-18235) 1659
(-17438) 1652
(-16670) 1645
(-15929) 1638
(-15213) 1631
(-14519) 1624
(-13845) 1617
(-13191) 1610
(-12555) 1603
(-11936) 1596
(-11332) 1589
(-10742) 1582
(-10167) 1575
(-9604) 1568
(-9053) 1561
(-8513) 1554
(-7984) 1547
(-7465) 1540
(-6956) 1533
(-6456) 1526
(-5964) 1519
(-5481) 1512
(-5005) 1505
(-4536) 1498
(-4075) 1491
(-3620) 1484
(-3172) 1477
(-2730) 1470
(-2294) 1463
(-1863) 1455
(-1437) 1448
(-1017) 1441
(-601) 1434
(-190) 1427
216 1420
618 1413
1016 1406
1410 1399
1800 1392
2187 1385
2570 1378
2950 1371
3326 1364
3700 1357
4070 1350
4438 1343
4803 1336
5165 1329
5525 1322
5882 1315
6237 1308
6589 1301
6940 1294
7288 1287
7635 1280
7979 1273
8322 1266
8663 1259
9002 1252
9339 1245
9675 1238
10010 1230
10343 1223
10674 1216
11005 1209
11334 1202
11662 1195
11989 1188
12315 1181
12639 1174
12963 1167
13286 1160
13608 1153
13929 1146
14250 1139
14569 1132
14888 1125
15207 1118
15525 1111
15842 1104
16159 1097
16475 1090
16791 1083
17107 1076
17422 1069
17737 1062
18052 1055
18366 1048
18681 1041
18995 1034
19309 1027
19624 1020
19938 1013
20252 1005
20567 998
20881 991
21196 984
21511 977
21826 970
22142 963
22457 956
22773 949
23090 942
23407 935
23724 928
24042 921
24361 914
24680 907
25000 900
25321 893
25642 886
25964 879
26287 872
26610 865
26935 858
27260 851
27587 844
27914 837
28243 830
28573 823
28904 816
29236 809
29569 802
29904 795
30240 788
30577 780
30916 773
31257 766
31599 759
31943 752
32288 745
32635 738
32984 731
33335 724
33688 717
34042 710
34399 703
34758 696
35119 689
35482 682
35848 675
36216 668
36586 661
36959 654
37335 647
37714 640
38095 633
38479 626
38866 619
39256 612
39649 605
40046 598
40446 591
40849 584
41256 577
41667 570
42082 563
42500 555
42923 548
43349 541
43780 534
44216 527
44656 520
45101 513
45551 506
46006 499
46466 492
46932 485
47404 478
47881 471
48364 464
48854 457
49350 450
49853 443
50363 436
50880 429
51405 422
51937 415
52478 408
53027 401
53585 394
54152 387
54729 380
55316 373
55913 366
56521 359
57140 352
57771 345
58414 338
59071 330
59741 323
60425 316
61124 309
61839 302
62571 295
63319 288
64087 281
64873 274
65681 267
66510 260
67362 253
68238 246
69141 239
70071 232
71031 225
72022 218
73048 211
74110 204
75211 197
76354 90
77544 83
78783 76
80077 69
81430 62
82848 55
84338 48
85908 41
87566 34
89322 27
91190 20
93184 13
95322 05
97626 98
100122 91
102845 84
105838 77
109157 70
112880 63
117112 56
122003 49
127780 42
134806 35
143711 28
155733 21
173830 14
208429 7>;
};
thermal-sensor-ch1 {
compatible = "generic-adc-thermal";
#thermal-sensor-cells = <0>;
io-channels = <&adc 1>;
io-channel-names = "sensor-channel";
temperature-lookup-table = < (-57216) 1793
(-49457) 1786
(-44635) 1779
(-41071) 1772
(-38218) 1765
(-35824) 1758
(-33753) 1751
(-31922) 1744
(-30278) 1737
(-28781) 1730
(-27406) 1723
(-26131) 1716
(-24942) 1709
(-23827) 1702
(-22774) 1695
(-21778) 1688
(-20831) 1680
(-19927) 1673
(-19063) 1666
(-18235) 1659
(-17438) 1652
(-16670) 1645
(-15929) 1638
(-15213) 1631
(-14519) 1624
(-13845) 1617
(-13191) 1610
(-12555) 1603
(-11936) 1596
(-11332) 1589
(-10742) 1582
(-10167) 1575
(-9604) 1568
(-9053) 1561
(-8513) 1554
(-7984) 1547
(-7465) 1540
(-6956) 1533
(-6456) 1526
(-5964) 1519
(-5481) 1512
(-5005) 1505
(-4536) 1498
(-4075) 1491
(-3620) 1484
(-3172) 1477
(-2730) 1470
(-2294) 1463
(-1863) 1455
(-1437) 1448
(-1017) 1441
(-601) 1434
(-190) 1427
216 1420
618 1413
1016 1406
1410 1399
1800 1392
2187 1385
2570 1378
2950 1371
3326 1364
3700 1357
4070 1350
4438 1343
4803 1336
5165 1329
5525 1322
5882 1315
6237 1308
6589 1301
6940 1294
7288 1287
7635 1280
7979 1273
8322 1266
8663 1259
9002 1252
9339 1245
9675 1238
10010 1230
10343 1223
10674 1216
11005 1209
11334 1202
11662 1195
11989 1188
12315 1181
12639 1174
12963 1167
13286 1160
13608 1153
13929 1146
14250 1139
14569 1132
14888 1125
15207 1118
15525 1111
15842 1104
16159 1097
16475 1090
16791 1083
17107 1076
17422 1069
17737 1062
18052 1055
18366 1048
18681 1041
18995 1034
19309 1027
19624 1020
19938 1013
20252 1005
20567 998
20881 991
21196 984
21511 977
21826 970
22142 963
22457 956
22773 949
23090 942
23407 935
23724 928
24042 921
24361 914
24680 907
25000 900
25321 893
25642 886
25964 879
26287 872
26610 865
26935 858
27260 851
27587 844
27914 837
28243 830
28573 823
28904 816
29236 809
29569 802
29904 795
30240 788
30577 780
30916 773
31257 766
31599 759
31943 752
32288 745
32635 738
32984 731
33335 724
33688 717
34042 710
34399 703
34758 696
35119 689
35482 682
35848 675
36216 668
36586 661
36959 654
37335 647
37714 640
38095 633
38479 626
38866 619
39256 612
39649 605
40046 598
40446 591
40849 584
41256 577
41667 570
42082 563
42500 555
42923 548
43349 541
43780 534
44216 527
44656 520
45101 513
45551 506
46006 499
46466 492
46932 485
47404 478
47881 471
48364 464
48854 457
49350 450
49853 443
50363 436
50880 429
51405 422
51937 415
52478 408
53027 401
53585 394
54152 387
54729 380
55316 373
55913 366
56521 359
57140 352
57771 345
58414 338
59071 330
59741 323
60425 316
61124 309
61839 302
62571 295
63319 288
64087 281
64873 274
65681 267
66510 260
67362 253
68238 246
69141 239
70071 232
71031 225
72022 218
73048 211
74110 204
75211 197
76354 90
77544 83
78783 76
80077 69
81430 62
82848 55
84338 48
85908 41
87566 34
89322 27
91190 20
93184 13
95322 05
97626 98
100122 91
102845 84
105838 77
109157 70
112880 63
117112 56
122003 49
127780 42
134806 35
143711 28
155733 21
173830 14
208429 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";
};
nand_pmux: nand-pmux {
groups = "NAND_IO0", "NAND_IO1", "NAND_IO2", "NAND_IO3", "NAND_IO4", "NAND_IO5", "NAND_IO6", "NAND_IO7", "NAND_ALE", "NAND_CLE", "NAND_WEn", "NAND_REn", "NAND_WPn", "NAND_CEn", "NAND_RDY";
function = "nand";
};
i2s1_pmux: i2s1-pmux {
groups = "I2S1_BCLKIO", "I2S1_LRCKIO", "I2S1_DO0";
function = "i2s1";
};
i2s2_pmux: i2s2-pmux {
groups = "I2S2_DI0";
function = "i2s2";
};
pcie0_gpio_pmux: pcie0_gpio-pmux {
groups = "PWM3", "PWM6";
function = "gpio";
};
pcie1_gpio_pmux: pcie1_gpio-pmux {
groups = "SD0_WP", "I2S2_BCLKIO";
function = "gpio";
};
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";
};
spi1_pmux: spi1_pmux {
groups = "SPI1_SCLK", "SPI1_SDO", "SPI1_SDI", "SPI1_SS0n";
function = "spi1";
};
mute_pmux: mute-pmux {
groups = "I2S2_DI2";
function = "gpio";
};
};
&i2c0 {
status = "okay";
pinctrl-0 = <&i2c0_pmux>;
pinctrl-names = "default";
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>;
};
lp5018_0: lp5018@29 {
compatible = "ti,led-lp5018";
reg = <0x29>;
num_leds = <6>;
//starting LED # of each set
start_num = <0 3 6 9 12 15>;
reset_gpio = <&porta 4 GPIO_ACTIVE_LOW>;
default_current_limit_percent = <100>;
};
lp5018_1: lp5018@2a {
compatible = "ti,led-lp5018";
reg = <0x2a>;
num_leds = <6>;
//starting LED # of each set
start_num = <0 3 6 9 12 15>;
reset_gpio = <&porta 4 GPIO_ACTIVE_LOW>;
default_current_limit_percent = <100>;
};
cy8cmbr3108: cy8cmbr3108@37 {
compatible = "cy8cmbr3108";
reg = <0x37>;
num_sensors = <6>;
sensor_event_map_idx = <1>;
reg_val_map_idx = <1>;
touch_gpio = <&porta 5 GPIO_ACTIVE_LOW>;
reset_gpio = <&porta 4 GPIO_ACTIVE_LOW>;
};
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";
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>;
};
max98373: max98373@31 {
compatible = "maxim,max98373";
reg = <0x31>;
maxim,reset-gpio = <&porta 17 GPIO_ACTIVE_HIGH>;
maxim,imon-slot-no = <1>;
maxim,vmon-slot-no = <0>;
maxim,interleave-mode = <0>;
};
};
&uart0 {
status = "okay";
};
&uart1 {
status = "okay";
};
&pcie_phy0 {
status = "okay";
};
&pcie_phy1 {
status = "okay";
};
&pcie0 {
status = "okay";
pinctrl-0 = <&pcie0_gpio_pmux>;
pinctrl-names = "default";
reset-gpios = <&portb 8 GPIO_ACTIVE_LOW>;
power-gpios = <&portb 13 GPIO_ACTIVE_HIGH>;
};
&pcie1 {
status = "okay";
pinctrl-0 = <&pcie1_gpio_pmux>;
pinctrl-names = "default";
reset-gpios = <&porta 7 GPIO_ACTIVE_LOW>;
power-gpios = <&portb 31 GPIO_ACTIVE_HIGH>;
};
&usb_phy0 {
status = "okay";
};
&usb0 {
dr_mode = "host";
status = "okay";
};
&watchdog0 {
status = "okay";
};
&nand0 {
status = "okay";
pinctrl-0 = <&nand_pmux>;
pinctrl-names = "default";
nand-ecc-step-size = <2048>;
nand-ecc-strength = <48>;
zos-end = <0x240000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition_block0 {
label = "block0";
reg = <0x00000 0x40000>; /* 256 KiB */
read-only;
};
partition_prebootloader {
label = "prebootloader";
reg = <0x040000 0x200000>; /* 2 MiB */
read-only;
};
partition_tz {
label = "TZ";
reg = <0x240000 0x800000>; /* 8 MiB */
read-only;
};
partition_tz_b {
label = "TZ-B";
reg = <0xa40000 0x800000>; /* 8 MiB */
read-only;
};
partition_postbootloader {
label = "postbootloader";
reg = <0x1240000 0x100000>; /* 1 MiB */
read-only;
};
partition_postbootloader_b {
label = "postbootloader-B";
reg = <0x1340000 0x100000>; /* 1 MiB */
read-only;
};
partition_kernel {
label = "kernel";
reg = <0x1440000 0xa00000>; /* 10 MiB */
read-only;
};
partition_rootfs {
label = "rootfs";
reg = <0x1e40000 0xb400000>; /* 180 MiB */
read-only;
};
partition_cache {
label = "cache";
reg = <0xd240000 0x118c0000>; /* 287,488 KiB */
};
partition_recovery {
label = "recovery";
reg = <0x1eb00000 0xf00000>; /* 15 MiB */
};
partition_fts {
label = "fts";
reg = <0x1fa00000 0x100000>; /* 1 MiB */
};
partition_factory_store {
label = "factory_store";
reg = <0x1fb00000 0x300000>; /* 3 MiB */
};
partition_bbt {
label = "bbt";
reg = <0x1fe00000 0x200000>; /* 2 MiB */
read-only;
};
};
};
&as370_pdmi0 {
status = "okay";
pinctrl-0 = <&pdm_pmux>;
pinctrl-names = "default";
rdlt = <0x7>; /* rise data latch time, 20ns */
fdlt = <0x7>; /* fall data latch time, 20ns */
};
&as370_pdmi1 {
status = "okay";
pinctrl-0 = <&pdm_pmux>;
pinctrl-names = "default";
max-ch-inuse = <3>;
rdlt = <0x7>; /* rise data latch time, 20ns */
fdlt = <0x7>; /* fall data latch time, 20ns */
};
&as370_mic1_0 {
status = "okay";
pinctrl-0 = <&i2s2_pmux>;
pinctrl-names = "default";
usepriclk;
};
&as370_mic2 {
status = "okay";
pinctrl-0 = <&i2s3_pmux>;
pinctrl-names = "default";
};
&as370_outdai {
status = "okay";
pinctrl-0 = <&i2s1_pmux>;
pinctrl-names = "default";
interrupt-names = "pri";
keep-clk;
};
&as370_sec {
status = "okay";
pinctrl-0 = <&i2s3_pmux>;
pinctrl-names = "default";
};
&as370_pcm {
status = "okay";
};
&as370_asoc {
status = "okay";
pinctrl-0 = <&mute_pmux>;
pinctrl-names = "default";
mute-gpios = <&porta 11 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_tas2770: outdai-tas2770 {
status = "okay";
stream-name = "outdai-tas2770";
link-name = "outdai-tas2770";
cpu-node = <&as370_outdai>;
codec-node = <&tas2770>;
codec-dai-name = "tas2770 ASI1";
platform-node = <&as370_pcm>;
format = "i2s";
codeca;
};
outdai_max98373: outdai-max98373 {
status = "okay";
stream-name = "outdai-max98373";
link-name = "outdai-max98373";
cpu-node = <&as370_outdai>;
codec-node = <&max98373>;
codec-dai-name = "max98373-aif1";
platform-node = <&as370_pcm>;
format = "i2s";
codecb;
};
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>;
};
max98373_mic1: max98373-mic1 {
status = "okay";
stream-name = "max98373-mic1";
link-name = "max98373-mic1";
cpu-node = <&as370_mic1_0>;
codec-node = <&max98373>;
codec-dai-name = "max98373-aif1";
platform-node = <&as370_pcm>;
format = "i2s";
codecb;
};
tas2770_mic1: tas2770-mic1 {
status = "okay";
stream-name = "tas2770-mic1";
link-name = "tas2770-mic1";
cpu-node = <&as370_mic1_0>;
codec-node = <&tas2770>;
codec-dai-name = "tas2770 ASI1";
platform-node = <&as370_pcm>;
format = "i2s";
codeca;
};
};
&nna {
status = "okay";
};
&spi1 {
status = "okay";
pinctrl-0 = <&spi1_pmux>;
pinctrl-names = "default";
spidev0:spidev@0 {
compatible = "linux,spidev";
reg = <0>;
spi-max-frequency = <10000000>;
};
};
&axi_meter {
status = "okay";
};
&aviodrv {
status = "okay";
};