| // SPDX-License-Identifier: GPL-2.0 | 
 | /* | 
 |  * at91-som60.dtsi - Device Tree file for the SOM60 module | 
 |  * | 
 |  *  Copyright (C) 2018 Laird, | 
 |  *		  2018 Ben Whitten <ben.whitten@lairdtech.com> | 
 |  * | 
 |  */ | 
 | #include "sama5d36.dtsi" | 
 |  | 
 | / { | 
 | 	model = "Laird SOM60"; | 
 | 	compatible = "laird,som60", "atmel,sama5d36", "atmel,sama5d3", "atmel,sama5"; | 
 |  | 
 | 	chosen { | 
 | 		stdout-path = &dbgu; | 
 | 	}; | 
 |  | 
 | 	memory { | 
 | 		reg = <0x20000000 0x8000000>; | 
 | 	}; | 
 |  | 
 | 	clocks { | 
 | 		slow_xtal { | 
 | 			clock-frequency = <32768>; | 
 | 		}; | 
 |  | 
 | 		main_xtal { | 
 | 			clock-frequency = <12000000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pinctrl { | 
 | 	board { | 
 | 		pinctrl_mmc0_cd: mmc0_cd { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_mmc0_en: mmc0_en { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_nand0_wp: nand0_wp { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_usb_vbus: usb_vbus { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; | 
 | 				/* Conflicts with USART2_SCK */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_usart2_sck: usart2_sck { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; | 
 | 				/* Conflicts with USB_VBUS */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_usb_oc: usb_oc { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | 
 | 				/* Conflicts with USART3_SCK */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_usart3_sck: usart3_sck { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOE 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; | 
 | 				/* Conflicts with USB_OC */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_usba_vbus: usba_vbus { | 
 | 		   atmel,pins = | 
 | 				<AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_geth_int: geth_int { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOB 25 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | 
 | 				/* Conflicts with USART1_SCK */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_usart1_sck: usart1_sck { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; | 
 | 				/* Conflicts with GETH_INT */ | 
 | 		}; | 
 |  | 
 | 		pinctrl_eth_int: eth_int { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOC 10 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_pck2_as_audio_mck: pck2_as_audio_mck { | 
 | 			atmel,pins = | 
 | 				<AT91_PIOC 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &mmc0 { | 
 | 	slot@0 { | 
 | 		reg = <0>; | 
 | 		bus-width = <8>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &mmc1 { | 
 | 	status = "okay"; | 
 | 	slot@0 { | 
 | 		reg = <0>; | 
 | 		bus-width = <4>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &spi0 { | 
 | 	cs-gpios = <&pioD 13 0>, <0>, <0>, <0>; | 
 | }; | 
 |  | 
 | &usart0 { | 
 | 	atmel,use-dma-rx; | 
 | 	atmel,use-dma-tx; | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts_cts>; | 
 | }; | 
 |  | 
 | &usart1 { | 
 | 	pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; | 
 | }; | 
 |  | 
 | &usart2 { | 
 | 	pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts_cts>; | 
 | }; | 
 |  | 
 | &usart3 { | 
 | 	pinctrl-0 = <&pinctrl_usart3 &pinctrl_usart3_rts_cts>; | 
 | }; | 
 |  | 
 | &adc0 { | 
 | 	pinctrl-0 = < | 
 | 		&pinctrl_adc0_adtrg | 
 | 		&pinctrl_adc0_ad0 | 
 | 		&pinctrl_adc0_ad1 | 
 | 		&pinctrl_adc0_ad2 | 
 | 		&pinctrl_adc0_ad3 | 
 | 		&pinctrl_adc0_ad4 | 
 | 		&pinctrl_adc0_ad5 | 
 | 		>; | 
 | }; | 
 |  | 
 | &macb0 { | 
 | 	phy-mode = "rgmii"; | 
 | }; | 
 |  | 
 | &macb1 { | 
 | 	phy-mode = "rmii"; | 
 | }; | 
 |  | 
 | &ebi { | 
 | 	pinctrl-0 = <&pinctrl_ebi_nand_addr>; | 
 | 	pinctrl-names = "default"; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &nand_controller { | 
 | 	status = "okay"; | 
 |  | 
 | 	nand: nand@3 { | 
 | 		reg = <0x3 0x0 0x2>; | 
 | 		atmel,rb = <0>; | 
 | 		nand-bus-width = <8>; | 
 | 		nand-ecc-mode = "hw"; | 
 | 		nand-ecc-strength = <8>; | 
 | 		nand-ecc-step-size = <512>; | 
 | 		nand-on-flash-bbt; | 
 | 		label = "atmel_nand"; | 
 |  | 
 | 		partitions { | 
 | 			compatible = "fixed-partitions"; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 |  | 
 | 			ubootspl@0 { | 
 | 				label = "u-boot-spl"; | 
 | 				reg = <0x0 0x20000>; | 
 | 			}; | 
 |  | 
 | 			uboot@20000 { | 
 | 				label = "u-boot"; | 
 | 				reg = <0x20000 0x80000>; | 
 | 			}; | 
 |  | 
 | 			ubootenv@a0000 { | 
 | 				label = "u-boot-env"; | 
 | 				reg = <0xa0000 0x20000>; | 
 | 			}; | 
 |  | 
 | 			ubootenv@c0000 { | 
 | 				label = "u-boot-env"; | 
 | 				reg = <0xc0000 0x20000>; | 
 | 			}; | 
 |  | 
 | 			ubi@e0000 { | 
 | 				label = "ubi"; | 
 | 				reg = <0xe0000 0xfe00000>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &usb0 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_usba_vbus>; | 
 | 	atmel,vbus-gpio = <&pioC 14 GPIO_ACTIVE_HIGH>; | 
 | }; | 
 |  | 
 | &usb1 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_usb_vbus &pinctrl_usb_oc>; | 
 | 	num-ports = <3>; | 
 | 	atmel,vbus-gpio = <0 | 
 | 		&pioE 20 GPIO_ACTIVE_HIGH | 
 | 		0>; | 
 | 	atmel,oc-gpio = <0 | 
 | 		&pioE 15 GPIO_ACTIVE_LOW | 
 | 		0>; | 
 | }; |