// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board
 *
 *  Copyright (C) 2015 Atmel,
 *                2015 Nicolas Ferre <nicolas.ferre@atmel.com>
 */
/dts-v1/;
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/active-semi,8945a-regulator.h>

/ {
	model = "Atmel SAMA5D2 Xplained";
	compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";

	aliases {
		serial0 = &uart1;	/* DBGU */
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		i2c2 = &i2c2;		/* XPRO EXT2 */
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	ahb {
		usb0: gadget@300000 {
			atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usba_vbus>;
			status = "okay";
		};

		usb1: ohci@400000 {
			num-ports = <3>;
			atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */
					   &pioA PIN_PB10 GPIO_ACTIVE_HIGH
					   0
					  >;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usb_default>;
			status = "okay";
		};

		usb2: ehci@500000 {
			status = "okay";
		};

		sdmmc0: sdio-host@a0000000 {
			bus-width = <8>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_sdmmc0_default>;
			non-removable;
			mmc-ddr-1_8v;
			status = "okay";
		};

		sdmmc1: sdio-host@b0000000 {
			bus-width = <4>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_sdmmc1_default>;
			status = "okay"; /* conflict with qspi0 */
			vqmmc-supply = <&vdd_3v3_reg>;
			vmmc-supply = <&vdd_3v3_reg>;
		};

		apb {
			qspi0: spi@f0020000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_qspi0_default>;
				status = "disabled"; /* conflict with sdmmc1 */

				flash@0 {
					#address-cells = <1>;
					#size-cells = <1>;
					compatible = "jedec,spi-nor";
					reg = <0>;
					spi-max-frequency = <80000000>;
					spi-tx-bus-width = <4>;
					spi-rx-bus-width = <4>;
					m25p,fast-read;

					at91bootstrap@00000000 {
						label = "at91bootstrap";
						reg = <0x00000000 0x00040000>;
					};

					bootloader@00040000 {
						label = "bootloader";
						reg = <0x00040000 0x000c0000>;
					};

					bootloaderenvred@00100000 {
						label = "bootloader env redundant";
						reg = <0x00100000 0x00040000>;
					};

					bootloaderenv@00140000 {
						label = "bootloader env";
						reg = <0x00140000 0x00040000>;
					};

					dtb@00180000 {
						label = "device tree";
						reg = <0x00180000 0x00080000>;
					};

					kernel@00200000 {
						label = "kernel";
						reg = <0x00200000 0x00600000>;
					};

					misc@00800000 {
						label = "misc";
						reg = <0x00800000 0x00000000>;
					};
				};
			};

			spi0: spi@f8000000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_spi0_default>;
				status = "okay";

				m25p80@0 {
					compatible = "atmel,at25df321a";
					reg = <0>;
					spi-max-frequency = <50000000>;
				};
			};

			macb0: ethernet@f8008000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
				phy-mode = "rmii";
				status = "okay";

				ethernet-phy@1 {
					reg = <0x1>;
					interrupt-parent = <&pioA>;
					interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
				};
			};

			tcb0: timer@f800c000 {
				timer0: timer@0 {
					compatible = "atmel,tcb-timer";
					reg = <0>;
				};

				timer1: timer@1 {
					compatible = "atmel,tcb-timer";
					reg = <1>;
				};
			};

			uart1: serial@f8020000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_uart1_default>;
				atmel,use-dma-rx;
				atmel,use-dma-tx;
				status = "okay";
			};

			i2c0: i2c@f8028000 {
				dmas = <0>, <0>;
				pinctrl-names = "default", "gpio";
				pinctrl-0 = <&pinctrl_i2c0_default>;
				pinctrl-1 = <&pinctrl_i2c0_gpio>;
				sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
				scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
				i2c-sda-hold-time-ns = <350>;
				status = "okay";

				pmic@5b {
					compatible = "active-semi,act8945a";
					reg = <0x5b>;
					active-semi,vsel-high;
					status = "okay";

					regulators {
						vdd_1v35_reg: REG_DCDC1 {
							regulator-name = "VDD_1V35";
							regulator-min-microvolt = <1350000>;
							regulator-max-microvolt = <1350000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
							regulator-always-on;

							regulator-state-mem {
								regulator-on-in-suspend;
								regulator-suspend-min-microvolt=<1400000>;
								regulator-suspend-max-microvolt=<1400000>;
								regulator-changeable-in-suspend;
								regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
							};
						};

						vdd_1v2_reg: REG_DCDC2 {
							regulator-name = "VDD_1V2";
							regulator-min-microvolt = <1100000>;
							regulator-max-microvolt = <1300000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};

						vdd_3v3_reg: REG_DCDC3 {
							regulator-name = "VDD_3V3";
							regulator-min-microvolt = <3300000>;
							regulator-max-microvolt = <3300000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};

						vdd_fuse_reg: REG_LDO1 {
							regulator-name = "VDD_FUSE";
							regulator-min-microvolt = <2500000>;
							regulator-max-microvolt = <2500000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};

						vdd_3v3_lp_reg: REG_LDO2 {
							regulator-name = "VDD_3V3_LP";
							regulator-min-microvolt = <3300000>;
							regulator-max-microvolt = <3300000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};

						vdd_led_reg: REG_LDO3 {
							regulator-name = "VDD_LED";
							regulator-min-microvolt = <3300000>;
							regulator-max-microvolt = <3300000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};

						vdd_sdhc_1v8_reg: REG_LDO4 {
							regulator-name = "VDD_SDHC_1V8";
							regulator-min-microvolt = <1800000>;
							regulator-max-microvolt = <1800000>;
							regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
										  <ACT8945A_REGULATOR_MODE_LOWPOWER>;
							regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
							regulator-always-on;

							regulator-state-mem {
								regulator-off-in-suspend;
							};
						};
					};

					charger {
						compatible = "active-semi,act8945a-charger";
						pinctrl-names = "default";
						pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
						interrupt-parent = <&pioA>;
						interrupts = <PIN_PB13 IRQ_TYPE_EDGE_RISING>;

						active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
						active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
						active-semi,input-voltage-threshold-microvolt = <6600>;
						active-semi,precondition-timeout = <40>;
						active-semi,total-timeout = <3>;
						status = "okay";
					};
				};
			};

			pwm0: pwm@f802c000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
				status = "disabled"; /* conflict with leds */
			};

			flx0: flexcom@f8034000 {
				atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
				status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */

				uart5: serial@200 {
					dmas = <0>, <0>;
					pinctrl-names = "default";
					pinctrl-0 = <&pinctrl_flx0_default>;
					status = "okay";
				};

				i2c2: i2c@600 {
					dmas = <0>, <0>;
					pinctrl-names = "default", "gpio";
					pinctrl-0 = <&pinctrl_flx0_default>;
					pinctrl-1 = <&pinctrl_i2c2_gpio>;
					sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
					scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
					i2c-sda-hold-time-ns = <350>;
					i2c-analog-filter;
					i2c-digital-filter;
					i2c-digital-filter-width-ns = <35>;
					status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
				};
			};

			shdwc@f8048010 {
				atmel,shdwc-debouncer = <976>;
				atmel,wakeup-rtc-timer;

				input@0 {
					reg = <0>;
					atmel,wakeup-type = "low";
				};
			};

			watchdog@f8048040 {
				status = "okay";
			};

			i2s0: i2s@f8050000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_i2s0_default>;
				status = "disabled"; /* conflict with can0 */
			};

			can0: can@f8054000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_can0_default>;
				status = "okay";
			};

			uart3: serial@fc008000 {
				atmel,use-dma-rx;
				atmel,use-dma-tx;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_uart3_default>;
				status = "okay";
			};

			flx4: flexcom@fc018000 {
				atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
				status = "okay";

				i2c6: i2c@600 {
					dmas = <0>, <0>;
					pinctrl-names = "default", "gpio";
					pinctrl-0 = <&pinctrl_flx4_default>;
					pinctrl-1 = <&pinctrl_flx4_gpio>;
					sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
					scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
					i2c-analog-filter;
					i2c-digital-filter;
					i2c-digital-filter-width-ns = <35>;
					status = "okay";
				};
			};

			i2c1: i2c@fc028000 {
				dmas = <0>, <0>;
				pinctrl-names = "default", "gpio";
				pinctrl-0 = <&pinctrl_i2c1_default>;
				i2c-analog-filter;
				i2c-digital-filter;
				i2c-digital-filter-width-ns = <35>;
				pinctrl-1 = <&pinctrl_i2c1_gpio>;
				sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
				scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
				status = "okay";

				at24@54 {
					compatible = "atmel,24c02";
					reg = <0x54>;
					pagesize = <16>;
				};
			};

			adc: adc@fc030000 {
				vddana-supply = <&vdd_3v3_lp_reg>;
				vref-supply = <&vdd_3v3_lp_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
				status = "okay";
			};

			pinctrl@fc038000 {
				/*
				 * There is no real pinmux for ADC, if the pin
				 * is not requested by another peripheral then
				 * the muxing is done when channel is enabled.
				 * Requesting pins for ADC is GPIO is
				 * encouraged to prevent conflicts and to
				 * disable bias in order to be in the same
				 * state when the pin is not muxed to the adc.
				 */
				pinctrl_adc_default: adc_default {
					pinmux = <PIN_PD23__GPIO>;
					bias-disable;
				};

				pinctrl_can0_default: can0_default {
					pinmux = <PIN_PC10__CANTX0>,
						 <PIN_PC11__CANRX0>;
					bias-disable;
				};

				pinctrl_can1_default: can1_default {
					pinmux = <PIN_PC26__CANTX1>,
						 <PIN_PC27__CANRX1>;
					bias-disable;
				};

				/*
				 * The ADTRG pin can work on any edge type.
				 * In here it's being pulled up, so need to
				 * connect it to ground to get an edge e.g.
				 * Trigger can be configured on falling, rise
				 * or any edge, and the pull-up can be changed
				 * to pull-down or left floating according to
				 * needs.
				 */
				pinctrl_adtrg_default: adtrg_default {
					pinmux = <PIN_PD31__ADTRG>;
					bias-pull-up;
				};

				pinctrl_charger_chglev: charger_chglev {
					pinmux = <PIN_PA12__GPIO>;
					bias-disable;
				};

				pinctrl_charger_irq: charger_irq {
					pinmux = <PIN_PB13__GPIO>;
					bias-disable;
				};

				pinctrl_charger_lbo: charger_lbo {
					pinmux = <PIN_PC8__GPIO>;
					bias-pull-up;
				};

				pinctrl_classd_default_pfets: classd_default_pfets {
					pinmux = <PIN_PB1__CLASSD_R0>,
						 <PIN_PB3__CLASSD_R2>;
					bias-pull-up;
				};

				pinctrl_classd_default_nfets: classd_default_nfets {
					pinmux = <PIN_PB2__CLASSD_R1>,
						 <PIN_PB4__CLASSD_R3>;
					bias-pull-down;
				};

				pinctrl_flx0_default: flx0_default {
					pinmux = <PIN_PB28__FLEXCOM0_IO0>,
						 <PIN_PB29__FLEXCOM0_IO1>;
					bias-disable;
				};

				pinctrl_flx4_default: flx4_default {
					pinmux = <PIN_PD12__FLEXCOM4_IO0>,
						 <PIN_PD13__FLEXCOM4_IO1>;
					bias-disable;
				};

				pinctrl_flx4_gpio: flx4_gpio {
					pinmux = <PIN_PD12__GPIO>,
						 <PIN_PD13__GPIO>;
					bias-disable;
				};

				pinctrl_i2c0_default: i2c0_default {
					pinmux = <PIN_PD21__TWD0>,
						 <PIN_PD22__TWCK0>;
					bias-disable;
				};

				pinctrl_i2c0_gpio: i2c0_gpio {
					pinmux = <PIN_PD21__GPIO>,
						 <PIN_PD22__GPIO>;
					bias-disable;
				};

				pinctrl_i2c1_default: i2c1_default {
					pinmux = <PIN_PD4__TWD1>,
						 <PIN_PD5__TWCK1>;
					bias-disable;
				};

				pinctrl_i2c1_gpio: i2c1_gpio {
					pinmux = <PIN_PD4__GPIO>,
						 <PIN_PD5__GPIO>;
					bias-disable;
				};

				pinctrl_i2c2_gpio: i2c2_gpio {
					pinmux = <PIN_PB28__GPIO>,
						 <PIN_PB29__GPIO>;
					bias-disable;
				};

				pinctrl_i2s0_default: i2s0_default {
					pinmux = <PIN_PC1__I2SC0_CK>,
						 <PIN_PC2__I2SC0_MCK>,
						 <PIN_PC3__I2SC0_WS>,
						 <PIN_PC4__I2SC0_DI0>,
						 <PIN_PC5__I2SC0_DO0>;
					bias-disable;
				};

				pinctrl_i2s1_default: i2s1_default {
					pinmux = <PIN_PA15__I2SC1_CK>,
						 <PIN_PA14__I2SC1_MCK>,
						 <PIN_PA16__I2SC1_WS>,
						 <PIN_PA17__I2SC1_DI0>,
						 <PIN_PA18__I2SC1_DO0>;
					bias-disable;
				};

				pinctrl_key_gpio_default: key_gpio_default {
					pinmux = <PIN_PB9__GPIO>;
					bias-pull-up;
				};

				pinctrl_led_gpio_default: led_gpio_default {
					pinmux = <PIN_PB0__GPIO>,
						 <PIN_PB5__GPIO>,
						 <PIN_PB6__GPIO>;
					bias-pull-up;
				};

				pinctrl_macb0_default: macb0_default {
					pinmux = <PIN_PB14__GTXCK>,
						 <PIN_PB15__GTXEN>,
						 <PIN_PB16__GRXDV>,
						 <PIN_PB17__GRXER>,
						 <PIN_PB18__GRX0>,
						 <PIN_PB19__GRX1>,
						 <PIN_PB20__GTX0>,
						 <PIN_PB21__GTX1>,
						 <PIN_PB22__GMDC>,
						 <PIN_PB23__GMDIO>;
					bias-disable;
				};

				pinctrl_macb0_phy_irq: macb0_phy_irq {
					pinmux = <PIN_PC9__GPIO>;
					bias-disable;
				};

				pinctrl_qspi0_default: qspi0_default {
					sck_cs {
						pinmux = <PIN_PA22__QSPI0_SCK>,
							 <PIN_PA23__QSPI0_CS>;
						bias-disable;
					};

					data {
						pinmux = <PIN_PA24__QSPI0_IO0>,
							 <PIN_PA25__QSPI0_IO1>,
							 <PIN_PA26__QSPI0_IO2>,
							 <PIN_PA27__QSPI0_IO3>;
						bias-pull-up;
					};
				};

				pinctrl_sdmmc0_default: sdmmc0_default {
					cmd_data {
						pinmux = <PIN_PA1__SDMMC0_CMD>,
							 <PIN_PA2__SDMMC0_DAT0>,
							 <PIN_PA3__SDMMC0_DAT1>,
							 <PIN_PA4__SDMMC0_DAT2>,
							 <PIN_PA5__SDMMC0_DAT3>,
							 <PIN_PA6__SDMMC0_DAT4>,
							 <PIN_PA7__SDMMC0_DAT5>,
							 <PIN_PA8__SDMMC0_DAT6>,
							 <PIN_PA9__SDMMC0_DAT7>;
						bias-disable;
					};

					ck_cd_rstn_vddsel {
						pinmux = <PIN_PA0__SDMMC0_CK>,
							 <PIN_PA10__SDMMC0_RSTN>,
							 <PIN_PA11__SDMMC0_VDDSEL>,
							 <PIN_PA13__SDMMC0_CD>;
						bias-disable;
					};
				};

				pinctrl_sdmmc1_default: sdmmc1_default {
					cmd_data {
						pinmux = <PIN_PA28__SDMMC1_CMD>,
							 <PIN_PA18__SDMMC1_DAT0>,
							 <PIN_PA19__SDMMC1_DAT1>,
							 <PIN_PA20__SDMMC1_DAT2>,
							 <PIN_PA21__SDMMC1_DAT3>;
						bias-disable;
					};

					conf-ck_cd {
						pinmux = <PIN_PA22__SDMMC1_CK>,
							 <PIN_PA30__SDMMC1_CD>;
						bias-disable;
					};
				};

				pinctrl_spi0_default: spi0_default {
					pinmux = <PIN_PA14__SPI0_SPCK>,
						 <PIN_PA15__SPI0_MOSI>,
						 <PIN_PA16__SPI0_MISO>,
						 <PIN_PA17__SPI0_NPCS0>;
					bias-disable;
				};

				pinctrl_uart1_default: uart1_default {
					pinmux = <PIN_PD2__URXD1>,
						 <PIN_PD3__UTXD1>;
					bias-disable;
				};

				pinctrl_uart3_default: uart3_default {
					pinmux = <PIN_PB11__URXD3>,
						 <PIN_PB12__UTXD3>;
					bias-disable;
				};

				pinctrl_usb_default: usb_default {
					pinmux = <PIN_PB10__GPIO>;
					bias-disable;
				};

				pinctrl_usba_vbus: usba_vbus {
					pinmux = <PIN_PA31__GPIO>;
					bias-disable;
				};

				pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
					pinmux = <PIN_PB5__PWMH2>,
						 <PIN_PB6__PWML2>;
					bias-pull-up;
				};
			};

			classd: classd@fc048000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_classd_default_pfets &pinctrl_classd_default_nfets>;
				atmel,pwm-type = "diff";
				atmel,non-overlap-time = <10>;
				status = "okay";
			};

			i2s1: i2s@fc04c000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_i2s1_default>;
				status = "disabled"; /* conflict with spi0, sdmmc1 */
			};

			can1: can@fc050000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_can1_default>;
				status = "okay";
			};
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_key_gpio_default>;

		bp1 {
			label = "PB_USER";
			gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>;
			linux,code = <0x104>;
			wakeup-source;
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_led_gpio_default>;
		status = "okay"; /* conflict with pwm0 */

		red {
			label = "red";
			gpios = <&pioA PIN_PB6 GPIO_ACTIVE_LOW>;
		};


		green {
			label = "green";
			gpios = <&pioA PIN_PB5 GPIO_ACTIVE_LOW>;
		};

		blue {
			label = "blue";
			gpios = <&pioA PIN_PB0 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};
	};
};
