// 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";
};
