| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | 
 | /* | 
 |  * at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1 | 
 |  * | 
 |  * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries | 
 |  * | 
 |  * Author: Nicolas Ferre <nicolas.ferre@microcihp.com> | 
 |  * Author: Eugen Hristev <eugen.hristev@microcihp.com> | 
 |  */ | 
 | #include "sama5d2.dtsi" | 
 | #include "sama5d2-pinfunc.h" | 
 | #include <dt-bindings/gpio/gpio.h> | 
 | #include <dt-bindings/mfd/atmel-flexcom.h> | 
 | #include <dt-bindings/pinctrl/at91.h> | 
 |  | 
 | / { | 
 | 	model = "Microchip SAMA5D27 WLSOM1"; | 
 | 	compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; | 
 |  | 
 | 	aliases { | 
 | 		i2c0 = &i2c0; | 
 | 	}; | 
 |  | 
 | 	clocks { | 
 | 		slow_xtal { | 
 | 			clock-frequency = <32768>; | 
 | 		}; | 
 |  | 
 | 		main_xtal { | 
 | 			clock-frequency = <24000000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &flx1 { | 
 | 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; | 
 |  | 
 | 	uart6: serial@200 { | 
 | 		pinctrl-0 = <&pinctrl_flx1_default>; | 
 | 		pinctrl-names = "default"; | 
 | 	}; | 
 | }; | 
 |  | 
 | &i2c0 { | 
 | 	pinctrl-0 = <&pinctrl_i2c0_default>; | 
 | 	pinctrl-1 = <&pinctrl_i2c0_gpio>; | 
 | 	pinctrl-names = "default", "gpio"; | 
 | 	sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; | 
 | 	scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c1 { | 
 | 	dmas = <0>, <0>; | 
 | 	pinctrl-names = "default", "gpio"; | 
 | 	pinctrl-0 = <&pinctrl_i2c1_default>; | 
 | 	pinctrl-1 = <&pinctrl_i2c1_gpio>; | 
 | 	sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>; | 
 | 	scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
 | 	status = "okay"; | 
 |  | 
 | 	mcp16502@5b { | 
 | 		compatible = "microchip,mcp16502"; | 
 | 		reg = <0x5b>; | 
 | 		status = "okay"; | 
 | 		lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>; | 
 |  | 
 | 		regulators { | 
 | 			vdd_3v3: VDD_IO { | 
 | 				regulator-name = "VDD_IO"; | 
 | 				regulator-min-microvolt = <1200000>; | 
 | 				regulator-max-microvolt = <3700000>; | 
 | 				regulator-initial-mode = <2>; | 
 | 				regulator-allowed-modes = <2>, <4>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-off-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			vddio_ddr: VDD_DDR { | 
 | 				regulator-name = "VDD_DDR"; | 
 | 				regulator-min-microvolt = <600000>; | 
 | 				regulator-max-microvolt = <1850000>; | 
 | 				regulator-initial-mode = <2>; | 
 | 				regulator-allowed-modes = <2>, <4>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-suspend-microvolt = <1200000>; | 
 | 					regulator-changeable-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-suspend-microvolt = <1200000>; | 
 | 					regulator-changeable-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			vdd_core: VDD_CORE { | 
 | 				regulator-name = "VDD_CORE"; | 
 | 				regulator-min-microvolt = <600000>; | 
 | 				regulator-max-microvolt = <1850000>; | 
 | 				regulator-initial-mode = <2>; | 
 | 				regulator-allowed-modes = <2>, <4>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-off-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			vdd_ddr: VDD_OTHER { | 
 | 				regulator-name = "VDD_OTHER"; | 
 | 				regulator-min-microvolt = <1800000>; | 
 | 				regulator-max-microvolt = <1800000>; | 
 | 				regulator-initial-mode = <2>; | 
 | 				regulator-allowed-modes = <2>, <4>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-suspend-microvolt = <1800000>; | 
 | 					regulator-changeable-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-on-in-suspend; | 
 | 					regulator-suspend-microvolt = <1800000>; | 
 | 					regulator-changeable-in-suspend; | 
 | 					regulator-mode = <4>; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			LDO1 { | 
 | 				regulator-name = "LDO1"; | 
 | 				regulator-min-microvolt = <1200000>; | 
 | 				regulator-max-microvolt = <3700000>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-off-in-suspend; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			LDO2 { | 
 | 				regulator-name = "LDO2"; | 
 | 				regulator-min-microvolt = <1200000>; | 
 | 				regulator-max-microvolt = <3700000>; | 
 | 				regulator-always-on; | 
 |  | 
 | 				regulator-state-standby { | 
 | 					regulator-on-in-suspend; | 
 | 				}; | 
 |  | 
 | 				regulator-state-mem { | 
 | 					regulator-off-in-suspend; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &macb0 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_macb0_default>; | 
 | 	phy-mode = "rmii"; | 
 |  | 
 | 	ethernet-phy@0 { | 
 | 		reg = <0x0>; | 
 | 		interrupt-parent = <&pioA>; | 
 | 		interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_macb0_phy_irq>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pmc { | 
 | 	atmel,osc-bypass; | 
 | }; | 
 |  | 
 | &qspi1 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_qspi1_default>; | 
 | 	status = "disabled"; | 
 |  | 
 | 	qspi1_flash: spi_flash@0 { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		compatible = "jedec,spi-nor"; | 
 | 		reg = <0>; | 
 | 		spi-max-frequency = <80000000>; | 
 | 		spi-rx-bus-width = <4>; | 
 | 		spi-tx-bus-width = <4>; | 
 | 		m25p,fast-read; | 
 | 		status = "disabled"; | 
 |  | 
 | 		at91bootstrap@0 { | 
 | 			label = "at91bootstrap"; | 
 | 			reg = <0x0 0x40000>; | 
 | 		}; | 
 |  | 
 | 		bootloader@40000 { | 
 | 			label = "bootloader"; | 
 | 			reg = <0x40000 0xc0000>; | 
 | 		}; | 
 |  | 
 | 		bootloaderenvred@100000 { | 
 | 			label = "bootloader env redundant"; | 
 | 			reg = <0x100000 0x40000>; | 
 | 		}; | 
 |  | 
 | 		bootloaderenv@140000 { | 
 | 			label = "bootloader env"; | 
 | 			reg = <0x140000 0x40000>; | 
 | 		}; | 
 |  | 
 | 		dtb@180000 { | 
 | 			label = "device tree"; | 
 | 			reg = <0x180000 0x80000>; | 
 | 		}; | 
 |  | 
 | 		kernel@200000 { | 
 | 			label = "kernel"; | 
 | 			reg = <0x200000 0x600000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pioA { | 
 | 	pinctrl_flx1_default: flx1_usart_default { | 
 | 		pinmux = <PIN_PA24__FLEXCOM1_IO0>, | 
 | 			 <PIN_PA23__FLEXCOM1_IO1>, | 
 | 			 <PIN_PA25__FLEXCOM1_IO3>, | 
 | 			 <PIN_PA26__FLEXCOM1_IO4>; | 
 | 		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_PD19__TWD1>, | 
 | 			 <PIN_PD20__TWCK1>; | 
 | 		bias-disable; | 
 | 	}; | 
 |  | 
 | 	pinctrl_i2c1_gpio: i2c1_gpio { | 
 | 		pinmux = <PIN_PD19__GPIO>, | 
 | 			 <PIN_PD20__GPIO>; | 
 | 		bias-disable; | 
 | 	}; | 
 |  | 
 | 	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_PB24__GPIO>; | 
 | 		bias-disable; | 
 | 	}; | 
 |  | 
 | 	pinctrl_qspi1_default: qspi1_default { | 
 | 		pinmux = <PIN_PB5__QSPI1_SCK>, | 
 | 			 <PIN_PB6__QSPI1_CS>, | 
 | 			 <PIN_PB7__QSPI1_IO0>, | 
 | 			 <PIN_PB8__QSPI1_IO1>, | 
 | 			 <PIN_PB9__QSPI1_IO2>, | 
 | 			 <PIN_PB10__QSPI1_IO3>; | 
 | 		bias-pull-up; | 
 | 	}; | 
 | }; | 
 |  |