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

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