at91: Add SAMA5D27 SOM1 EK board
Add support for SAMA5D27 SOM1 with target device as at91-sama5d27_som1_ek in SAMA5 subtarget and build images for SAMA5D27 SOM1 Ek board. Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com>
This commit is contained in:
		 Sandeep Sheriker Mallikarjun
					Sandeep Sheriker Mallikarjun
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							790b20b6f4
						
					
				
				
					commit
					22c398d257
				
			| @@ -69,6 +69,21 @@ define AT91Bootstrap/sama5d4_xplainedsd_uboot_secure | |||||||
|   BUILD_DEVICES:=at91-sama5d4_xplained |   BUILD_DEVICES:=at91-sama5d4_xplained | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define AT91Bootstrap/sama5d27_som1_eksd_uboot | ||||||
|  |   TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard0) | ||||||
|  |   BUILD_DEVICES:=at91-sama5d27_som1_ek | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define AT91Bootstrap/sama5d27_som1_eksd1_uboot | ||||||
|  |   TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard1) | ||||||
|  |   BUILD_DEVICES:=at91-sama5d27_som1_ek | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define AT91Bootstrap/sama5d27_som1_ekqspi_uboot | ||||||
|  |   TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (QSPI Flash) | ||||||
|  |   BUILD_DEVICES:=at91-sama5d27_som1_ek | ||||||
|  | endef | ||||||
|  |  | ||||||
| AT91BOOTSTRAP_TARGETS := \ | AT91BOOTSTRAP_TARGETS := \ | ||||||
|     sama5d2_xplaineddf_uboot \ |     sama5d2_xplaineddf_uboot \ | ||||||
|     sama5d2_xplaineddf_qspi_uboot \ |     sama5d2_xplaineddf_qspi_uboot \ | ||||||
| @@ -77,7 +92,9 @@ AT91BOOTSTRAP_TARGETS := \ | |||||||
|     sama5d3_xplainedsd_uboot \ |     sama5d3_xplainedsd_uboot \ | ||||||
|     sama5d4_xplainednf_uboot_secure \ |     sama5d4_xplainednf_uboot_secure \ | ||||||
|     sama5d4_xplaineddf_uboot_secure \ |     sama5d4_xplaineddf_uboot_secure \ | ||||||
|     sama5d4_xplainedsd_uboot_secure |     sama5d4_xplainedsd_uboot_secure \ | ||||||
|  | 	sama5d27_som1_eksd_uboot \ | ||||||
|  | 	sama5d27_som1_ekqspi_uboot | ||||||
|  |  | ||||||
| define Build/Compile | define Build/Compile | ||||||
| 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | ||||||
|   | |||||||
| @@ -79,6 +79,18 @@ define U-Boot/sama5d4_xplained_nandflash | |||||||
|   BUILD_DEVICES:=at91-sama5d4_xplained |   BUILD_DEVICES:=at91-sama5d4_xplained | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define U-Boot/sama5d27_som1_ek_mmc | ||||||
|  |   NAME:=SAMA5D27 SOM1 Ek (SDCard) | ||||||
|  |   BUILD_SUBTARGET:=sama5 | ||||||
|  |   BUILD_DEVICES:=at91-sama5d27_som1_ek | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define U-Boot/sama5d27_som1_ek_spiflash | ||||||
|  |   NAME:=SAMA5D27 SOM1 Ek (QSPI Flash) | ||||||
|  |   BUILD_SUBTARGET:=sama5 | ||||||
|  |   BUILD_DEVICES:=at91-sama5d27_som1_ek | ||||||
|  | endef | ||||||
|  |  | ||||||
| UBOOT_TARGETS := \ | UBOOT_TARGETS := \ | ||||||
| 	at91sam9m10g45ek_nandflash \ | 	at91sam9m10g45ek_nandflash \ | ||||||
| 	at91sam9x5ek_nandflash \ | 	at91sam9x5ek_nandflash \ | ||||||
| @@ -88,7 +100,9 @@ UBOOT_TARGETS := \ | |||||||
| 	sama5d2_xplained_spiflash \ | 	sama5d2_xplained_spiflash \ | ||||||
| 	sama5d4_xplained_mmc \ | 	sama5d4_xplained_mmc \ | ||||||
| 	sama5d4_xplained_spiflash \ | 	sama5d4_xplained_spiflash \ | ||||||
| 	sama5d4_xplained_nandflash | 	sama5d4_xplained_nandflash\ | ||||||
|  |     sama5d27_som1_ek_mmc \ | ||||||
|  |     sama5d27_som1_ek_spiflash | ||||||
|  |  | ||||||
| define Build/Compile | define Build/Compile | ||||||
|   +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ |   +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ | ||||||
|   | |||||||
| @@ -43,6 +43,9 @@ at91_board_detect() { | |||||||
| 	*"SAMA5D3 Xplained") | 	*"SAMA5D3 Xplained") | ||||||
| 		name="sama5d3_xplained" | 		name="sama5d3_xplained" | ||||||
| 		;; | 		;; | ||||||
|  | 	*"Atmel SAMA5D27 SOM1 EK") | ||||||
|  | 		name="sama5d27_som1_ek" | ||||||
|  | 		;; | ||||||
| 	*"SAMA5D2 Xplained") | 	*"SAMA5D2 Xplained") | ||||||
| 		name="sama5d2_xplained" | 		name="sama5d2_xplained" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -11,15 +11,15 @@ define Build/at91-sdcard | |||||||
|  |  | ||||||
|   $(foreach dts,$(DEVICE_DTS), \ |   $(foreach dts,$(DEVICE_DTS), \ | ||||||
|      mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb \ |      mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb \ | ||||||
|         ::$(dts).dtb;) |         ::$(dts).dtb) | ||||||
|  |  | ||||||
|   mcopy -i $@.boot \ |   mcopy -i $@.boot \ | ||||||
|     $(BIN_DIR)/u-boot-$(DEVICE_NAME:at91-%=%)_mmc/u-boot.bin \ |     $(BIN_DIR)/u-boot-$(DEVICE_NAME:at91-%=%)_mmc/u-boot.bin \ | ||||||
|     ::u-boot.bin |     ::u-boot.bin | ||||||
|  |  | ||||||
|   $(CP) $(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd*/at91bootstrap.bin \ |   mcopy -i $@.boot \ | ||||||
|     $@.BOOT.bin; \ |     $(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd*/at91bootstrap.bin \ | ||||||
|     mcopy -i $@.boot $@.BOOT.bin ::BOOT.bin |     ::BOOT.bin | ||||||
|  |  | ||||||
|   ./gen_at91_sdcard_img.sh \ |   ./gen_at91_sdcard_img.sh \ | ||||||
|       $@.img \ |       $@.img \ | ||||||
| @@ -30,7 +30,7 @@ define Build/at91-sdcard | |||||||
|  |  | ||||||
|   gzip -nc9 $@.img > $@ |   gzip -nc9 $@.img > $@ | ||||||
|  |  | ||||||
|   rm -f $@.img $@.boot $@.BOOT.bin |   rm -f $@.img $@.boot | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Device/evaluation-sdimage | define Device/evaluation-sdimage | ||||||
| @@ -73,6 +73,14 @@ define Device/at91-sama5d4_xplained | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += at91-sama5d4_xplained | TARGET_DEVICES += at91-sama5d4_xplained | ||||||
|  |  | ||||||
|  | define Device/at91-sama5d27_som1_ek | ||||||
|  |   $(Device/evaluation-dtb) | ||||||
|  |   DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D27 SOM1 Ek | ||||||
|  |   KERNEL_SIZE := 6144k | ||||||
|  |   $(Device/evaluation-sdimage) | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += at91-sama5d27_som1_ek | ||||||
|  |  | ||||||
| ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") | ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") | ||||||
|  ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") |  ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") | ||||||
|   define Device/wb50n |   define Device/wb50n | ||||||
|   | |||||||
| @@ -0,0 +1,908 @@ | |||||||
|  | diff --git a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt | ||||||
|  | index 61ac757..9820227 100644 | ||||||
|  | --- a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt | ||||||
|  | +++ b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt | ||||||
|  | @@ -35,7 +35,12 @@ right representation of the pin. | ||||||
|  |  Optional properties: | ||||||
|  |  - GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable, | ||||||
|  |  bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable, | ||||||
|  | -input-debounce, output-low, output-high. | ||||||
|  | +input-debounce, output-low, output-high, drive-strength. | ||||||
|  | + | ||||||
|  | +Concerning the drive-strength property, the values accepted are | ||||||
|  | +ATMEL_PIO_DRVSTR_LO, ATMEL_PIO_DRVSTR_ME, ATMEL_PIO_DRVSTR_HI. The current | ||||||
|  | +depends on VDDIOP. You can find the details in the DC Characteristics table | ||||||
|  | +from the datasheet. | ||||||
|  |  | ||||||
|  |  Example: | ||||||
|  |  | ||||||
|  | diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile | ||||||
|  | index 1218005..c88e426 100644 | ||||||
|  | --- a/arch/arm/boot/dts/Makefile | ||||||
|  | +++ b/arch/arm/boot/dts/Makefile | ||||||
|  | @@ -49,6 +49,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ | ||||||
|  | 	wb45n.dtb | ||||||
|  |  dtb-$(CONFIG_SOC_SAM_V7) += \ | ||||||
|  | 	at91-kizbox2.dtb \ | ||||||
|  | +	at91-sama5d27_som1_ek.dtb \ | ||||||
|  | 	at91-sama5d2_xplained.dtb \ | ||||||
|  | 	at91-sama5d3_xplained.dtb \ | ||||||
|  | 	sama5d31ek.dtb \ | ||||||
|  | diff --git a/arch/arm/boot/dts/at91-sama5d27_som1.dtsi b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi | ||||||
|  | new file mode 100644 | ||||||
|  | index 0000000..7d7575f | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi | ||||||
|  | @@ -0,0 +1,175 @@ | ||||||
|  | +/* | ||||||
|  | + * at91-sama5d27_som1.dtsi - Device Tree file for SAMA5D27 SoM1 board | ||||||
|  | + * | ||||||
|  | + *  Copyright (c) 2017, Microchip Technology Inc. | ||||||
|  | + *                2017 Cristian Birsan <cristian.birsan@microchip.com> | ||||||
|  | + *                2017 Claudiu Beznea <claudiu.beznea@microchip.com> | ||||||
|  | + * | ||||||
|  | + * This file is dual-licensed: you can use it either under the terms | ||||||
|  | + * of the GPL or the X11 license, at your option. Note that this dual | ||||||
|  | + * licensing only applies to this file, and not this project as a | ||||||
|  | + * whole. | ||||||
|  | + * | ||||||
|  | + *  a) This file is free software; you can redistribute it and/or | ||||||
|  | + *     modify it under the terms of the GNU General Public License as | ||||||
|  | + *     published by the Free Software Foundation; either version 2 of the | ||||||
|  | + *     License, or (at your option) any later version. | ||||||
|  | + * | ||||||
|  | + *     This file is distributed in the hope that it will be useful, | ||||||
|  | + *     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | + *     GNU General Public License for more details. | ||||||
|  | + * | ||||||
|  | + * Or, alternatively, | ||||||
|  | + * | ||||||
|  | + *  b) Permission is hereby granted, free of charge, to any person | ||||||
|  | + *     obtaining a copy of this software and associated documentation | ||||||
|  | + *     files (the "Software"), to deal in the Software without | ||||||
|  | + *     restriction, including without limitation the rights to use, | ||||||
|  | + *     copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | + *     sell copies of the Software, and to permit persons to whom the | ||||||
|  | + *     Software is furnished to do so, subject to the following | ||||||
|  | + *     conditions: | ||||||
|  | + * | ||||||
|  | + *     The above copyright notice and this permission notice shall be | ||||||
|  | + *     included in all copies or substantial portions of the Software. | ||||||
|  | + * | ||||||
|  | + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||||||
|  | + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||||
|  | + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||||||
|  | + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||||
|  | + *     OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | + */ | ||||||
|  | +#include "sama5d2.dtsi" | ||||||
|  | +#include "sama5d2-pinfunc.h" | ||||||
|  | + | ||||||
|  | +/ { | ||||||
|  | +	model = "Atmel SAMA5D27 SoM1"; | ||||||
|  | +	compatible = "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; | ||||||
|  | + | ||||||
|  | +	clocks { | ||||||
|  | +		slow_xtal { | ||||||
|  | +			clock-frequency = <32768>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		main_xtal { | ||||||
|  | +			clock-frequency = <24000000>; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	ahb { | ||||||
|  | +		apb { | ||||||
|  | +			qspi1: spi@f0024000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_qspi1_default>; | ||||||
|  | + | ||||||
|  | +				flash@0 { | ||||||
|  | +					#address-cells = <1>; | ||||||
|  | +					#size-cells = <1>; | ||||||
|  | +					compatible = "jedec,spi-nor"; | ||||||
|  | +					reg = <0>; | ||||||
|  | +					spi-max-frequency = <80000000>; | ||||||
|  | +					m25p,fast-read; | ||||||
|  | + | ||||||
|  | +					at91bootstrap@00000000 { | ||||||
|  | +						label = "at91bootstrap"; | ||||||
|  | +						reg = <0x00000000 0x00010000>; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					bootloader@00010000 { | ||||||
|  | +						label = "bootloader"; | ||||||
|  | +						reg = <0x00010000 0x000a0000>; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					bootloaderenv@000b0000 { | ||||||
|  | +						label = "bootloader env"; | ||||||
|  | +						reg = <0x000b0000 0x00010000>; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					dtb@000c0000 { | ||||||
|  | +						label = "device tree"; | ||||||
|  | +						reg = <0x000c0000 0x0020000>; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					kernel@000e0000 { | ||||||
|  | +						label = "kernel"; | ||||||
|  | +						reg = <0x000e0000 0x0400000>; | ||||||
|  | +					}; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			macb0: ethernet@f8008000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_macb0_default>; | ||||||
|  | +				phy-mode = "rmii"; | ||||||
|  | + | ||||||
|  | +				ethernet-phy@0 { | ||||||
|  | +					reg = <0x0>; | ||||||
|  | +					interrupt-parent = <&pioA>; | ||||||
|  | +					interrupts = <PIN_PD31 IRQ_TYPE_LEVEL_LOW>; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_macb0_phy_irq>; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			i2c0: i2c@f8028000 { | ||||||
|  | +				dmas = <0>, <0>; | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_i2c0_default>; | ||||||
|  | +				status = "okay"; | ||||||
|  | + | ||||||
|  | +				at24@50 { | ||||||
|  | +					compatible = "24c02"; | ||||||
|  | +					reg = <0x50>; | ||||||
|  | +					pagesize = <8>; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			pinctrl@fc038000 { | ||||||
|  | +				pinctrl_i2c0_default: i2c0_default { | ||||||
|  | +					pinmux = <PIN_PD21__TWD0>, | ||||||
|  | +						 <PIN_PD22__TWCK0>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_qspi1_default: qspi1_default { | ||||||
|  | +					sck_cs { | ||||||
|  | +						pinmux = <PIN_PB5__QSPI1_SCK>, | ||||||
|  | +							 <PIN_PB6__QSPI1_CS>; | ||||||
|  | +						bias-disable; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					data { | ||||||
|  | +						pinmux = <PIN_PB7__QSPI1_IO0>, | ||||||
|  | +							 <PIN_PB8__QSPI1_IO1>, | ||||||
|  | +							 <PIN_PB9__QSPI1_IO2>, | ||||||
|  | +							 <PIN_PB10__QSPI1_IO3>; | ||||||
|  | +						bias-pull-up; | ||||||
|  | +					}; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_macb0_default: macb0_default { | ||||||
|  | +					pinmux = <PIN_PD9__GTXCK>, | ||||||
|  | +						 <PIN_PD10__GTXEN>, | ||||||
|  | +						 <PIN_PD11__GRXDV>, | ||||||
|  | +						 <PIN_PD12__GRXER>, | ||||||
|  | +						 <PIN_PD13__GRX0>, | ||||||
|  | +						 <PIN_PD14__GRX1>, | ||||||
|  | +						 <PIN_PD15__GTX0>, | ||||||
|  | +						 <PIN_PD16__GTX1>, | ||||||
|  | +						 <PIN_PD17__GMDC>, | ||||||
|  | +						 <PIN_PD18__GMDIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_macb0_phy_irq: macb0_phy_irq { | ||||||
|  | +					pinmux = <PIN_PD31__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | +}; | ||||||
|  | diff --git a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts | ||||||
|  | new file mode 100644 | ||||||
|  | index 0000000..fd12b68 | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts | ||||||
|  | @@ -0,0 +1,53 @@ | ||||||
|  | +/* | ||||||
|  | + * at91-sama5d27_som1_ek.dts - Device Tree file for SAMA5D27-SOM1-EK board | ||||||
|  | + * | ||||||
|  | + *  Copyright (c) 2017, Microchip Technology Inc. | ||||||
|  | + *                2016 Nicolas Ferre <nicolas.ferre@atmel.com> | ||||||
|  | + *                2017 Cristian Birsan <cristian.birsan@microchip.com> | ||||||
|  | + *                2017 Claudiu Beznea <claudiu.beznea@microchip.com> | ||||||
|  | + * | ||||||
|  | + * This file is dual-licensed: you can use it either under the terms | ||||||
|  | + * of the GPL or the X11 license, at your option. Note that this dual | ||||||
|  | + * licensing only applies to this file, and not this project as a | ||||||
|  | + * whole. | ||||||
|  | + * | ||||||
|  | + *  a) This file is free software; you can redistribute it and/or | ||||||
|  | + *     modify it under the terms of the GNU General Public License as | ||||||
|  | + *     published by the Free Software Foundation; either version 2 of the | ||||||
|  | + *     License, or (at your option) any later version. | ||||||
|  | + * | ||||||
|  | + *     This file is distributed in the hope that it will be useful, | ||||||
|  | + *     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | + *     GNU General Public License for more details. | ||||||
|  | + * | ||||||
|  | + * Or, alternatively, | ||||||
|  | + * | ||||||
|  | + *  b) Permission is hereby granted, free of charge, to any person | ||||||
|  | + *     obtaining a copy of this software and associated documentation | ||||||
|  | + *     files (the "Software"), to deal in the Software without | ||||||
|  | + *     restriction, including without limitation the rights to use, | ||||||
|  | + *     copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | + *     sell copies of the Software, and to permit persons to whom the | ||||||
|  | + *     Software is furnished to do so, subject to the following | ||||||
|  | + *     conditions: | ||||||
|  | + * | ||||||
|  | + *     The above copyright notice and this permission notice shall be | ||||||
|  | + *     included in all copies or substantial portions of the Software. | ||||||
|  | + * | ||||||
|  | + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||||||
|  | + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||||
|  | + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||||||
|  | + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||||
|  | + *     OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | + */ | ||||||
|  | +/dts-v1/; | ||||||
|  | +#include "at91-sama5d27_som1_ek_common.dtsi" | ||||||
|  | + | ||||||
|  | +/ { | ||||||
|  | +	model = "Atmel SAMA5D27 SOM1 EK"; | ||||||
|  | +	compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; | ||||||
|  | +}; | ||||||
|  | diff --git a/arch/arm/boot/dts/at91-sama5d27_som1_ek_common.dtsi b/arch/arm/boot/dts/at91-sama5d27_som1_ek_common.dtsi | ||||||
|  | new file mode 100644 | ||||||
|  | index 0000000..7201a8e | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek_common.dtsi | ||||||
|  | @@ -0,0 +1,619 @@ | ||||||
|  | +/* | ||||||
|  | + * at91-sama5d27_som1_ek_common.dtsi - Device Tree file for SAMA5D27-SOM1-EK board | ||||||
|  | + * | ||||||
|  | + *  Copyright (c) 2017, Microchip Technology Inc. | ||||||
|  | + *                2016 Nicolas Ferre <nicolas.ferre@atmel.com> | ||||||
|  | + *                2017 Cristian Birsan <cristian.birsan@microchip.com> | ||||||
|  | + *                2017 Claudiu Beznea <claudiu.beznea@microchip.com> | ||||||
|  | + * | ||||||
|  | + * This file is dual-licensed: you can use it either under the terms | ||||||
|  | + * of the GPL or the X11 license, at your option. Note that this dual | ||||||
|  | + * licensing only applies to this file, and not this project as a | ||||||
|  | + * whole. | ||||||
|  | + * | ||||||
|  | + *  a) This file is free software; you can redistribute it and/or | ||||||
|  | + *     modify it under the terms of the GNU General Public License as | ||||||
|  | + *     published by the Free Software Foundation; either version 2 of the | ||||||
|  | + *     License, or (at your option) any later version. | ||||||
|  | + * | ||||||
|  | + *     This file is distributed in the hope that it will be useful, | ||||||
|  | + *     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | + *     GNU General Public License for more details. | ||||||
|  | + * | ||||||
|  | + * Or, alternatively, | ||||||
|  | + * | ||||||
|  | + *  b) Permission is hereby granted, free of charge, to any person | ||||||
|  | + *     obtaining a copy of this software and associated documentation | ||||||
|  | + *     files (the "Software"), to deal in the Software without | ||||||
|  | + *     restriction, including without limitation the rights to use, | ||||||
|  | + *     copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | + *     sell copies of the Software, and to permit persons to whom the | ||||||
|  | + *     Software is furnished to do so, subject to the following | ||||||
|  | + *     conditions: | ||||||
|  | + * | ||||||
|  | + *     The above copyright notice and this permission notice shall be | ||||||
|  | + *     included in all copies or substantial portions of the Software. | ||||||
|  | + * | ||||||
|  | + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||||||
|  | + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||||
|  | + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||||||
|  | + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||||
|  | + *     OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | + */ | ||||||
|  | +#include "at91-sama5d27_som1.dtsi" | ||||||
|  | +#include <dt-bindings/mfd/atmel-flexcom.h> | ||||||
|  | +#include <dt-bindings/gpio/gpio.h> | ||||||
|  | +#include <dt-bindings/pinctrl/at91.h> | ||||||
|  | + | ||||||
|  | +/ { | ||||||
|  | +	model = "Atmel SAMA5D27 SOM1 EK"; | ||||||
|  | +	compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; | ||||||
|  | + | ||||||
|  | +	aliases { | ||||||
|  | +		serial0 = &uart1;	/* DBGU */ | ||||||
|  | +		serial1 = &uart4;	/* mikro BUS 1 */ | ||||||
|  | +		serial2 = &uart2;	/* mikro BUS 2 */ | ||||||
|  | +		i2c1	= &i2c1; | ||||||
|  | +		i2c2	= &i2c2; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	chosen { | ||||||
|  | +		stdout-path = "serial0:115200n8"; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	ahb { | ||||||
|  | +		usb0: gadget@00300000 { | ||||||
|  | +			atmel,vbus-gpio = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>; | ||||||
|  | +			pinctrl-names = "default"; | ||||||
|  | +			pinctrl-0 = <&pinctrl_usba_vbus>; | ||||||
|  | +			status = "okay"; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		usb1: ohci@00400000 { | ||||||
|  | +			num-ports = <3>; | ||||||
|  | +			atmel,vbus-gpio = <0 /* &pioA PIN_PD20 GPIO_ACTIVE_HIGH */ | ||||||
|  | +					   &pioA PIN_PA27 GPIO_ACTIVE_HIGH | ||||||
|  | +					   0 | ||||||
|  | +					  >; | ||||||
|  | +			pinctrl-names = "default"; | ||||||
|  | +			pinctrl-0 = <&pinctrl_usb_default>; | ||||||
|  | +			status = "okay"; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		usb2: ehci@00500000 { | ||||||
|  | +			status = "okay"; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		sdmmc0: sdio-host@a0000000 { | ||||||
|  | +			bus-width = <8>; | ||||||
|  | +			pinctrl-names = "default"; | ||||||
|  | +			pinctrl-0 = <&pinctrl_sdmmc0_default>; | ||||||
|  | +			status = "okay"; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		sdmmc1: sdio-host@b0000000 { | ||||||
|  | +			bus-width = <4>; | ||||||
|  | +			pinctrl-names = "default"; | ||||||
|  | +			pinctrl-0 = <&pinctrl_sdmmc1_default>; | ||||||
|  | +			status = "okay"; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		apb { | ||||||
|  | +			hlcdc: hlcdc@f0000000 { | ||||||
|  | +				status = "disabled"; | ||||||
|  | + | ||||||
|  | +				hlcdc-display-controller { | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb>; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				hlcdc_pwm: hlcdc-pwm { | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_lcd_pwm>; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			pmc: pmc@f0014000 { | ||||||
|  | +				pmc_fast_restart { | ||||||
|  | +					compatible = "atmel,sama5d2-pmc-fast-startup"; | ||||||
|  | +					#address-cells = <1>; | ||||||
|  | +					#size-cells = <0>; | ||||||
|  | + | ||||||
|  | +					atmel,wakeup-rtc-timer; | ||||||
|  | + | ||||||
|  | +					wkpin: input@0 { | ||||||
|  | +						reg = <0>; | ||||||
|  | +					}; | ||||||
|  | + | ||||||
|  | +					gmac_wol: input@10 { | ||||||
|  | +						reg = <10>; | ||||||
|  | +						atmel,wakeup-active-high; | ||||||
|  | +					}; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			isc: isc@f0008000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			qspi1: spi@f0024000 { | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			spi0: spi@f8000000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_spi0_default>; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			macb0: ethernet@f8008000 { | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			uart1: serial@f8020000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_uart1_default>; | ||||||
|  | +				atmel,use-dma-rx; | ||||||
|  | +				atmel,use-dma-tx; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			uart2: serial@f8024000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_mikrobus2_uart>; | ||||||
|  | +				atmel,use-dma-rx; | ||||||
|  | +				atmel,use-dma-tx; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			pwm0: pwm@f802c000 { | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>; | ||||||
|  | +				status = "disabled"; /* Conflict with leds. */ | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			flx1: flexcom@f8038000 { | ||||||
|  | +				atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; | ||||||
|  | +				status = "okay"; | ||||||
|  | + | ||||||
|  | +				i2c2: i2c@600 { | ||||||
|  | +					compatible = "atmel,sama5d2-i2c"; | ||||||
|  | +					reg = <0x600 0x200>; | ||||||
|  | +					interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					dmas = <0>, <0>; | ||||||
|  | +					dma-names = "tx", "rx"; | ||||||
|  | +					#address-cells = <1>; | ||||||
|  | +					#size-cells = <0>; | ||||||
|  | +					clocks = <&flx1_clk>; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_mikrobus_i2c>; | ||||||
|  | +					atmel,fifo-size = <16>; | ||||||
|  | +					status = "okay"; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			shdwc@f8048010 { | ||||||
|  | +				atmel,shdwc-debouncer = <976>; | ||||||
|  | +				atmel,wakeup-rtc-timer; | ||||||
|  | + | ||||||
|  | +				input@0 { | ||||||
|  | +					reg = <0>; | ||||||
|  | +					atmel,wakeup-type = "low"; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			watchdog@f8048040 { | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			uart3: serial@fc008000 { | ||||||
|  | +				atmel,use-dma-rx; | ||||||
|  | +				atmel,use-dma-tx; | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_uart3_default>; | ||||||
|  | +				status = "disabled"; /* Conflict with isc. */ | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			uart4: serial@fc00c000 { | ||||||
|  | +				atmel,use-dma-rx; | ||||||
|  | +				atmel,use-dma-tx; | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_mikrobus1_uart>; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			flx3: flexcom@fc014000 { | ||||||
|  | +				atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; | ||||||
|  | +				status = "disabled"; | ||||||
|  | + | ||||||
|  | +				uart7: serial@200 { | ||||||
|  | +					compatible = "atmel,at91sam9260-usart"; | ||||||
|  | +					reg = <0x200 0x200>; | ||||||
|  | +					interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					clocks = <&flx3_clk>; | ||||||
|  | +					clock-names = "usart"; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_flx3_default>; | ||||||
|  | +					atmel,fifo-size = <32>; | ||||||
|  | +					status = "disabled"; /* Conflict with isc. */ | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				spi2: spi@400 { | ||||||
|  | +					compatible = "atmel,at91rm9200-spi"; | ||||||
|  | +					reg = <0x400 0x200>; | ||||||
|  | +					interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					clocks = <&flx3_clk>; | ||||||
|  | +					clock-names = "spi_clk"; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_flx3_default>; | ||||||
|  | +					atmel,fifo-size = <16>; | ||||||
|  | +					status = "disabled"; /* Conflict with isc. */ | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			flx4: flexcom@fc018000 { | ||||||
|  | +				atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; | ||||||
|  | +				status = "okay"; | ||||||
|  | + | ||||||
|  | +				uart6: serial@200 { | ||||||
|  | +					compatible = "atmel,at91sam9260-usart"; | ||||||
|  | +					reg = <0x200 0x200>; | ||||||
|  | +					interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					clocks = <&flx4_clk>; | ||||||
|  | +					clock-names = "usart"; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_flx4_default>; | ||||||
|  | +					atmel,fifo-size = <32>; | ||||||
|  | +					status = "disabled"; /* Conflict with spi3 and i2c3. */ | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				spi3: spi@400 { | ||||||
|  | +					compatible = "atmel,at91rm9200-spi"; | ||||||
|  | +					reg = <0x400 0x200>; | ||||||
|  | +					interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					clocks = <&flx4_clk>; | ||||||
|  | +					clock-names = "spi_clk"; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>; | ||||||
|  | +					atmel,fifo-size = <16>; | ||||||
|  | +					status = "okay"; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				i2c3: i2c@600 { | ||||||
|  | +					compatible = "atmel,sama5d2-i2c"; | ||||||
|  | +					reg = <0x600 0x200>; | ||||||
|  | +					interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; | ||||||
|  | +					dmas = <0>, <0>; | ||||||
|  | +					dma-names = "tx", "rx"; | ||||||
|  | +					#address-cells = <1>; | ||||||
|  | +					#size-cells = <0>; | ||||||
|  | +					clocks = <&flx4_clk>; | ||||||
|  | +					pinctrl-names = "default"; | ||||||
|  | +					pinctrl-0 = <&pinctrl_flx4_default>; | ||||||
|  | +					atmel,fifo-size = <16>; | ||||||
|  | +					status = "disabled"; /* Conflict with uart6 and spi3. */ | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			i2c1: i2c@fc028000 { | ||||||
|  | +				dmas = <0>, <0>; | ||||||
|  | +				pinctrl-names = "default"; | ||||||
|  | +				pinctrl-0 = <&pinctrl_i2c1_default>; | ||||||
|  | +				status = "okay"; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			pinctrl@fc038000 { | ||||||
|  | + | ||||||
|  | +				pinctrl_lcd_base: pinctrl_lcd_base { | ||||||
|  | +					pinmux = <PIN_PC5__LCDVSYNC>, | ||||||
|  | +						 <PIN_PC6__LCDHSYNC>, | ||||||
|  | +						 <PIN_PC8__LCDDEN>, | ||||||
|  | +						 <PIN_PC7__LCDPCK>; | ||||||
|  | +					bias-disable; | ||||||
|  | +					drive-strength = <ATMEL_PIO_DRVSTR_ME>; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_lcd_rgb: pinctrl_lcd_rgb { | ||||||
|  | +					pinmux = <PIN_PB11__LCDDAT0>, | ||||||
|  | +						 <PIN_PB12__LCDDAT1>, | ||||||
|  | +						 <PIN_PB13__LCDDAT2>, | ||||||
|  | +						 <PIN_PB14__LCDDAT3>, | ||||||
|  | +						 <PIN_PB15__LCDDAT4>, | ||||||
|  | +						 <PIN_PB16__LCDDAT5>, | ||||||
|  | +						 <PIN_PB17__LCDDAT6>, | ||||||
|  | +						 <PIN_PB18__LCDDAT7>, | ||||||
|  | +						 <PIN_PB19__LCDDAT8>, | ||||||
|  | +						 <PIN_PB20__LCDDAT9>, | ||||||
|  | +						 <PIN_PB21__LCDDAT10>, | ||||||
|  | +						 <PIN_PB22__LCDDAT11>, | ||||||
|  | +						 <PIN_PB23__LCDDAT12>, | ||||||
|  | +						 <PIN_PB24__LCDDAT13>, | ||||||
|  | +						 <PIN_PB25__LCDDAT14>, | ||||||
|  | +						 <PIN_PB26__LCDDAT15>, | ||||||
|  | +						 <PIN_PB27__LCDDAT16>, | ||||||
|  | +						 <PIN_PB28__LCDDAT17>, | ||||||
|  | +						 <PIN_PB29__LCDDAT18>, | ||||||
|  | +						 <PIN_PB30__LCDDAT19>, | ||||||
|  | +						 <PIN_PB31__LCDDAT20>, | ||||||
|  | +						 <PIN_PC0__LCDDAT21>, | ||||||
|  | +						 <PIN_PC1__LCDDAT22>, | ||||||
|  | +						 <PIN_PC2__LCDDAT23>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_lcd_pwm: pinctrl_lcd_pwm { | ||||||
|  | +					pinmux = <PIN_PC3__LCDPWM>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_can1_default: can1_default { | ||||||
|  | +					pinmux = <PIN_PC26__CANTX1>, | ||||||
|  | +						 <PIN_PC27__CANRX1>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_flx3_default: flx3_default { | ||||||
|  | +					pinmux = <PIN_PC20__FLEXCOM3_IO0>, | ||||||
|  | +						 <PIN_PC19__FLEXCOM3_IO1>, | ||||||
|  | +						 <PIN_PC18__FLEXCOM3_IO2>, | ||||||
|  | +						 <PIN_PC21__FLEXCOM3_IO3>, | ||||||
|  | +						 <PIN_PC22__FLEXCOM3_IO4>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_i2c1_default: i2c1_default { | ||||||
|  | +					pinmux = <PIN_PD4__TWD1>, | ||||||
|  | +						 <PIN_PD5__TWCK1>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_isc_base: isc_base { | ||||||
|  | +					pinmux = <PIN_PC21__ISC_PCK>, | ||||||
|  | +						 <PIN_PC22__ISC_VSYNC>, | ||||||
|  | +						 <PIN_PC23__ISC_HSYNC>, | ||||||
|  | +						 <PIN_PC24__ISC_MCK>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_isc_data_8bit: isc_data_8bit { | ||||||
|  | +					pinmux = <PIN_PC20__ISC_D11>, | ||||||
|  | +						 <PIN_PC19__ISC_D10>, | ||||||
|  | +						 <PIN_PC18__ISC_D9>, | ||||||
|  | +						 <PIN_PC17__ISC_D8>, | ||||||
|  | +						 <PIN_PC16__ISC_D7>, | ||||||
|  | +						 <PIN_PC15__ISC_D6>, | ||||||
|  | +						 <PIN_PC14__ISC_D5>, | ||||||
|  | +						 <PIN_PC13__ISC_D4>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_isc_data_9_10: isc_data_9_10 { | ||||||
|  | +					pinmux = <PIN_PC12__ISC_D3>, | ||||||
|  | +						 <PIN_PC11__ISC_D2>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_isc_data_11_12: isc_data_11_12 { | ||||||
|  | +					pinmux = <PIN_PC10__ISC_D1>, | ||||||
|  | +						 <PIN_PC9__ISC_D0>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_key_gpio_default: key_gpio_default { | ||||||
|  | +					pinmux = <PIN_PA29__GPIO>; | ||||||
|  | +					bias-pull-up; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_led_gpio_default: led_gpio_default { | ||||||
|  | +					pinmux = <PIN_PA10__GPIO>, | ||||||
|  | +						 <PIN_PB1__GPIO>, | ||||||
|  | +						 <PIN_PA31__GPIO>; | ||||||
|  | +					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_vddsel { | ||||||
|  | +						pinmux = <PIN_PA0__SDMMC0_CK>, | ||||||
|  | +							 <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_PC12__URXD3>, | ||||||
|  | +						 <PIN_PC13__UTXD3>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_usb_default: usb_default { | ||||||
|  | +					pinmux = <PIN_PA27__GPIO>, | ||||||
|  | +						 <PIN_PD19__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_usba_vbus: usba_vbus { | ||||||
|  | +					pinmux = <PIN_PD20__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_an: mikrobus1_an { | ||||||
|  | +					pinmux = <PIN_PD25__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_an: mikrobus2_an { | ||||||
|  | +					pinmux = <PIN_PD26__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_rst: mikrobus1_rst { | ||||||
|  | +					pinmux = <PIN_PB2__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_rst: mikrobus2_rst { | ||||||
|  | +					pinmux = <PIN_PA26__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs { | ||||||
|  | +					pinmux = <PIN_PD0__FLEXCOM4_IO4>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_spi_cs: mikrobus2_spi_cs { | ||||||
|  | +					pinmux = <PIN_PC31__FLEXCOM4_IO3>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus_spi: mikrobus_spi { | ||||||
|  | +					pinmux = <PIN_PC28__FLEXCOM4_IO0>, | ||||||
|  | +						 <PIN_PC29__FLEXCOM4_IO1>, | ||||||
|  | +						 <PIN_PC30__FLEXCOM4_IO2>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_pwm: mikrobus1_pwm { | ||||||
|  | +					pinmux = <PIN_PB1__PWML1>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_pwm: mikrobus2_pwm { | ||||||
|  | +					pinmux = <PIN_PA31__PWML0>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_int: mikrobus1_int { | ||||||
|  | +					pinmux = <PIN_PB0__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_int: mikrobus2_int { | ||||||
|  | +					pinmux = <PIN_PA25__GPIO>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus1_uart: mikrobus1_uart { | ||||||
|  | +					pinmux = <PIN_PB3__URXD4>, | ||||||
|  | +						 <PIN_PB4__UTXD4>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus2_uart: mikrobus2_uart { | ||||||
|  | +					pinmux = <PIN_PD23__URXD2>, | ||||||
|  | +						 <PIN_PD24__UTXD2>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_mikrobus_i2c: mikrobus1_i2c { | ||||||
|  | +					pinmux = <PIN_PA24__FLEXCOM1_IO0>, | ||||||
|  | +						 <PIN_PA23__FLEXCOM1_IO1>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | + | ||||||
|  | +				pinctrl_flx4_default: flx4_uart_default { | ||||||
|  | +					pinmux = <PIN_PC28__FLEXCOM4_IO0>, | ||||||
|  | +						 <PIN_PC29__FLEXCOM4_IO1>, | ||||||
|  | +						 <PIN_PC30__FLEXCOM4_IO2>, | ||||||
|  | +						 <PIN_PC31__FLEXCOM4_IO3>, | ||||||
|  | +						 <PIN_PD0__FLEXCOM4_IO4>; | ||||||
|  | +					bias-disable; | ||||||
|  | +				}; | ||||||
|  | +			}; | ||||||
|  | + | ||||||
|  | +			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>; | ||||||
|  | + | ||||||
|  | +		pb4 { | ||||||
|  | +			label = "USER"; | ||||||
|  | +			gpios = <&pioA PIN_PA29 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_PA10 GPIO_ACTIVE_HIGH>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		green { | ||||||
|  | +			label = "green"; | ||||||
|  | +			gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		blue { | ||||||
|  | +			label = "blue"; | ||||||
|  | +			gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>; | ||||||
|  | +			linux,default-trigger = "heartbeat"; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | +}; | ||||||
|  | diff --git a/include/dt-bindings/pinctrl/at91.h b/include/dt-bindings/pinctrl/at91.h | ||||||
|  | index bbca3d0..88eb7d0 100644 | ||||||
|  | --- a/include/dt-bindings/pinctrl/at91.h | ||||||
|  | +++ b/include/dt-bindings/pinctrl/at91.h | ||||||
|  | @@ -37,4 +37,8 @@ | ||||||
|  |  #define AT91_PERIPH_C		3 | ||||||
|  |  #define AT91_PERIPH_D		4 | ||||||
|  |  | ||||||
|  | +#define ATMEL_PIO_DRVSTR_LO	1 | ||||||
|  | +#define ATMEL_PIO_DRVSTR_ME	2 | ||||||
|  | +#define ATMEL_PIO_DRVSTR_HI	3 | ||||||
|  | + | ||||||
|  |  #endif /* __DT_BINDINGS_AT91_PINCTRL_H__ */ | ||||||
		Reference in New Issue
	
	Block a user