Merge tag 'u-boot-atmel-2021.04-a' of https://gitlab.denx.de/u-boot/custodians/u-boot-atmel
First set of u-boot-atmel features for 2021.04 cycle This feature set includes the new board SAMA7G5 EK, the new evaluation kit for Microchip AT91 SAMA7G5 SoC . The current board support includes two configurations for booting from eMMC (SDMMC0), SD-Card (SDMMC1), and support for two Ethernet interfaces.
This commit is contained in:
@@ -890,6 +890,9 @@ dtb-$(CONFIG_TARGET_OMAP4_SDP4430) += \
|
||||
dtb-$(CONFIG_TARGET_OMAP5_UEVM) += \
|
||||
omap5-uevm.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_SAMA7G5EK) += \
|
||||
sama7g5ek.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_SAMA5D2_PTC_EK) += \
|
||||
at91-sama5d2_ptc_ek.dtb
|
||||
|
||||
|
||||
170
arch/arm/dts/sama7g5.dtsi
Normal file
170
arch/arm/dts/sama7g5.dtsi
Normal file
@@ -0,0 +1,170 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* sama7g5.dtsi - Device Tree Include file for SAMA7G5 SoC.
|
||||
*
|
||||
* Copyright (C) 2020 Microchip Technology Inc. and its subsidiaries
|
||||
*
|
||||
* Author: Eugen Hristev <eugen.hristev@microchip.com>
|
||||
* Author: Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "skeleton.dtsi"
|
||||
#include <dt-bindings/clk/at91.h>
|
||||
|
||||
/ {
|
||||
model = "Microchip SAMA7G5 family SoC";
|
||||
compatible = "microchip,sama7g5";
|
||||
|
||||
clocks {
|
||||
slow_rc_osc: slow_rc_osc {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32000>;
|
||||
};
|
||||
|
||||
main_rc: main_rc {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
slow_xtal: slow_xtal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
main_xtal: main_xtal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
A7_0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a7";
|
||||
clocks = <&pmc PMC_TYPE_CORE 8>, <&pmc PMC_TYPE_CORE 22>, <&main_xtal>;
|
||||
clock-names = "cpu", "master", "xtal";
|
||||
};
|
||||
};
|
||||
|
||||
ahb {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
apb {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
pioA: pinctrl@e0014000 {
|
||||
compatible = "atmel,sama5d2-gpio";
|
||||
reg = <0xe0014000 0x800>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
|
||||
status = "okay";
|
||||
|
||||
pinctrl: pinctrl_default {
|
||||
compatible = "microchip,sama7g5-pinctrl";
|
||||
};
|
||||
};
|
||||
|
||||
pmc: pmc@e0018000 {
|
||||
compatible = "microchip,sama7g5-pmc";
|
||||
reg = <0xe0018000 0x200>;
|
||||
#clock-cells = <2>;
|
||||
clocks = <&clk32 1>, <&clk32 0>, <&main_xtal>, <&main_rc>;
|
||||
clock-names = "td_slck", "md_slck", "main_xtal", "main_rc";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
clk32: sckc@e001d050 {
|
||||
compatible = "microchip,sam9x60-sckc";
|
||||
reg = <0xe001d050 0x4>;
|
||||
clocks = <&slow_rc_osc>, <&slow_xtal>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
sdmmc0: sdio-host@e1204000 {
|
||||
compatible = "microchip,sama7g5-sdhci";
|
||||
reg = <0xe1204000 0x300>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 80>, <&pmc PMC_TYPE_GCK 80>;
|
||||
clock-names = "hclock", "multclk";
|
||||
assigned-clocks = <&pmc PMC_TYPE_GCK 80>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
assigned-clock-parents = <&pmc PMC_TYPE_CORE 10>; /* sys pll div. */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdmmc1: sdio-host@e1208000 {
|
||||
compatible = "microchip,sama7g5-sdhci";
|
||||
reg = <0xe1208000 0x300>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 81>, <&pmc PMC_TYPE_GCK 81>;
|
||||
clock-names = "hclock", "multclk";
|
||||
assigned-clocks = <&pmc PMC_TYPE_GCK 81>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
assigned-clock-parents = <&pmc PMC_TYPE_CORE 10>; /* sys pll div. */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pit64b0: timer@e1800000 {
|
||||
compatible = "microchip,sama7g5-pit64b";
|
||||
reg = <0xe1800000 0x4000>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 70>, <&pmc PMC_TYPE_GCK 70>;
|
||||
clock-names = "pclk", "gclk";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
flx1: flexcom@e181c000 {
|
||||
compatible = "atmel,sama5d2-flexcom";
|
||||
reg = <0xe181c000 0x200>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0xe181c000 0x800>;
|
||||
status = "disabled";
|
||||
|
||||
i2c1: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
|
||||
};
|
||||
};
|
||||
|
||||
uart0: serial@e1824200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0xe1824200 0x200>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gmac0: ethernet@e2800000 {
|
||||
compatible = "cdns,sama7g5-gem";
|
||||
reg = <0xe2800000 0x4000>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 51>, <&pmc PMC_TYPE_PERIPHERAL 51>, <&pmc PMC_TYPE_GCK 51>;
|
||||
clock-names = "hclk", "pclk", "tx_clk";
|
||||
assigned-clocks = <&pmc PMC_TYPE_GCK 51>;
|
||||
assigned-clock-parents = <&pmc PMC_TYPE_CORE 21>; /* eth pll div. */
|
||||
assigned-clock-rates = <125000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gmac1: ethernet@e2804000 {
|
||||
compatible = "cdns,sama7g5-emac";
|
||||
reg = <0xe2804000 0x1000>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 52>, <&pmc PMC_TYPE_PERIPHERAL 52>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
65
arch/arm/dts/sama7g5ek-u-boot.dtsi
Normal file
65
arch/arm/dts/sama7g5ek-u-boot.dtsi
Normal file
@@ -0,0 +1,65 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* sama7g5ek-u-boot.dts - Device Tree file for SAMA7G5 SoC u-boot properties.
|
||||
*
|
||||
* Copyright (C) 2020 Microchip Technology Inc. and its subsidiaries
|
||||
*
|
||||
* Author: Eugen Hristev <eugen.hristev@microchip.com>
|
||||
* Author: Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
ahb {
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
apb {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&main_rc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&main_xtal {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pioA {
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
pinctrl {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl_flx3_default {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pit64b0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&slow_rc_osc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&slow_xtal {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
202
arch/arm/dts/sama7g5ek.dts
Normal file
202
arch/arm/dts/sama7g5ek.dts
Normal file
@@ -0,0 +1,202 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* sama7g5ek.dts - Device Tree file for SAMA7G5 EK
|
||||
* SAMA7G5 Evaluation Kit
|
||||
*
|
||||
* Copyright (c) 2020, Microchip Technology Inc.
|
||||
* 2020, Eugen Hristev <eugen.hristev@microchip.com>
|
||||
* 2020, Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "sama7g5.dtsi"
|
||||
#include "sama7g5-pinfunc.h"
|
||||
|
||||
/ {
|
||||
model = "Microchip SAMA7G5 Evaluation Kit";
|
||||
compatible = "microchip,sama7g5ek", "microchip,sama7g54", "microchip,sama7g5", "microchip,sama7";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
i2c0 = &i2c1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
clocks {
|
||||
slow_xtal: slow_xtal {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
main_xtal: main_xtal {
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ahb {
|
||||
|
||||
apb {
|
||||
sdmmc0: sdio-host@e1204000 {
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_cmd_data_default
|
||||
&pinctrl_sdmmc0_ck_rstn_ds_cd_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdmmc1: sdio-host@e1208000 {
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc1_cmd_data_default
|
||||
&pinctrl_sdmmc1_ck_cd_rstn_vddsel_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
uart0: serial@e1824200 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx3_default>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&flx1 {
|
||||
atmel,flexcom-mode = <3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx1_default>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "microchip,24aa02e48";
|
||||
reg = <0x52>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
eeprom@53 {
|
||||
compatible = "microchip,24aa02e48";
|
||||
reg = <0x53>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gmac0_default &pinctrl_gmac0_txc_default>;
|
||||
phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy@7 {
|
||||
reg = <0x7>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gmac1_default>;
|
||||
phy-mode = "rmii";
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy@0 {
|
||||
reg = <0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl_flx1_default: flx1_default {
|
||||
pinmux = <PIN_PC9__FLEXCOM1_IO0>,
|
||||
<PIN_PC10__FLEXCOM1_IO1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_flx3_default: flx3_default {
|
||||
pinmux = <PIN_PD16__FLEXCOM3_IO0>,
|
||||
<PIN_PD17__FLEXCOM3_IO1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_cmd_data_default: sdmmc0_cmd_data_default {
|
||||
pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||
<PIN_PA3__SDMMC0_DAT0>,
|
||||
<PIN_PA4__SDMMC0_DAT1>,
|
||||
<PIN_PA5__SDMMC0_DAT2>,
|
||||
<PIN_PA6__SDMMC0_DAT3>,
|
||||
<PIN_PA7__SDMMC0_DAT4>,
|
||||
<PIN_PA8__SDMMC0_DAT5>,
|
||||
<PIN_PA9__SDMMC0_DAT6>,
|
||||
<PIN_PA10__SDMMC0_DAT7>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_ck_rstn_ds_cd_default: sdmmc0_ck_rstn_ds_cd_default {
|
||||
pinmux = <PIN_PA0__SDMMC0_CK>,
|
||||
<PIN_PA2__SDMMC0_RSTN>,
|
||||
<PIN_PA11__SDMMC0_DS>,
|
||||
<PIN_PA14__SDMMC0_CD>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc1_cmd_data_default: sdmmc1_cmd_data_default {
|
||||
pinmux = <PIN_PB29__SDMMC1_CMD>,
|
||||
<PIN_PB31__SDMMC1_DAT0>,
|
||||
<PIN_PC0__SDMMC1_DAT1>,
|
||||
<PIN_PC1__SDMMC1_DAT2>,
|
||||
<PIN_PC2__SDMMC1_DAT3>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc1_ck_cd_rstn_vddsel_default: sdmmc1_ck_cd_rstn_vddsel_default {
|
||||
pinmux = <PIN_PB30__SDMMC1_CK>,
|
||||
<PIN_PB28__SDMMC1_RSTN>,
|
||||
<PIN_PC5__SDMMC1_1V8SEL>,
|
||||
<PIN_PC4__SDMMC1_CD>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_gmac0_default: gmac0_default {
|
||||
pinmux = <PIN_PA16__G0_TX0>,
|
||||
<PIN_PA17__G0_TX1>,
|
||||
<PIN_PA26__G0_TX2>,
|
||||
<PIN_PA27__G0_TX3>,
|
||||
<PIN_PA19__G0_RX0>,
|
||||
<PIN_PA20__G0_RX1>,
|
||||
<PIN_PA28__G0_RX2>,
|
||||
<PIN_PA29__G0_RX3>,
|
||||
<PIN_PA15__G0_TXEN>,
|
||||
<PIN_PA30__G0_RXCK>,
|
||||
<PIN_PA18__G0_RXDV>,
|
||||
<PIN_PA22__G0_MDC>,
|
||||
<PIN_PA23__G0_MDIO>,
|
||||
<PIN_PA25__G0_125CK>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_gmac0_txc_default: gmac0_txc_default {
|
||||
pinmux = <PIN_PA24__G0_TXCK>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_gmac1_default: gmac1_default {
|
||||
pinmux = <PIN_PD30__G1_TXCK>,
|
||||
<PIN_PD22__G1_TX0>,
|
||||
<PIN_PD23__G1_TX1>,
|
||||
<PIN_PD21__G1_TXEN>,
|
||||
<PIN_PD25__G1_RX0>,
|
||||
<PIN_PD26__G1_RX1>,
|
||||
<PIN_PD27__G1_RXER>,
|
||||
<PIN_PD24__G1_RXDV>,
|
||||
<PIN_PD28__G1_MDC>,
|
||||
<PIN_PD29__G1_MDIO>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
@@ -265,6 +265,13 @@ config TARGET_CORVUS
|
||||
select SUPPORT_SPL
|
||||
imply CMD_DM
|
||||
|
||||
config TARGET_SAMA7G5EK
|
||||
bool "SAMA7G5 EK board"
|
||||
select SAMA7G5
|
||||
select BOARD_EARLY_INIT_F
|
||||
select BOARD_LATE_INIT
|
||||
|
||||
|
||||
config TARGET_TAURUS
|
||||
bool "Support taurus"
|
||||
select AT91SAM9G20
|
||||
@@ -327,6 +334,7 @@ source "board/atmel/at91sam9n12ek/Kconfig"
|
||||
source "board/atmel/at91sam9rlek/Kconfig"
|
||||
source "board/atmel/at91sam9x5ek/Kconfig"
|
||||
source "board/atmel/sam9x60ek/Kconfig"
|
||||
source "board/atmel/sama7g5ek/Kconfig"
|
||||
source "board/atmel/sama5d2_ptc_ek/Kconfig"
|
||||
source "board/atmel/sama5d2_xplained/Kconfig"
|
||||
source "board/atmel/sama5d27_som1_ek/Kconfig"
|
||||
|
||||
Reference in New Issue
Block a user