mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-24 06:24:17 +00:00
dts: arm: socfpga: merge gen5 devicetrees from linux
Add -u-boot.dtsi files to keep the current U-Boot behaviour: - add u-boot,dm-pre-reloc where required - disable watchdog - set uart clock frequency - add gpio bank-name properties where appropriate: - make qspi work (add alias for spi0, fix compatible for flash) - enable usb (status okay, add alias for udc0) Adapt board dts files that are not in Linux to keep their old behaviour. Change licenses to SPDX. (Patman warnings/errors are in 1:1 copied files from Linux) Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
This commit is contained in:
parent
2a3a99932b
commit
c402e81702
20 changed files with 1227 additions and 334 deletions
|
@ -3,7 +3,6 @@
|
||||||
* Copyright (C) 2012 Altera <www.altera.com>
|
* Copyright (C) 2012 Altera <www.altera.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "skeleton.dtsi"
|
|
||||||
#include <dt-bindings/reset/altr,rst-mgr.h>
|
#include <dt-bindings/reset/altr,rst-mgr.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
@ -11,34 +10,26 @@
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
ethernet0 = &gmac0;
|
|
||||||
ethernet1 = &gmac1;
|
|
||||||
i2c0 = &i2c0;
|
|
||||||
i2c1 = &i2c1;
|
|
||||||
i2c2 = &i2c2;
|
|
||||||
i2c3 = &i2c3;
|
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
serial1 = &uart1;
|
serial1 = &uart1;
|
||||||
timer0 = &timer0;
|
timer0 = &timer0;
|
||||||
timer1 = &timer1;
|
timer1 = &timer1;
|
||||||
timer2 = &timer2;
|
timer2 = &timer2;
|
||||||
timer3 = &timer3;
|
timer3 = &timer3;
|
||||||
spi0 = &qspi;
|
|
||||||
spi1 = &spi0;
|
|
||||||
spi2 = &spi1;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
enable-method = "altr,socfpga-smp";
|
||||||
|
|
||||||
cpu@0 {
|
cpu0: cpu@0 {
|
||||||
compatible = "arm,cortex-a9";
|
compatible = "arm,cortex-a9";
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
next-level-cache = <&L2>;
|
next-level-cache = <&L2>;
|
||||||
};
|
};
|
||||||
cpu@1 {
|
cpu1: cpu@1 {
|
||||||
compatible = "arm,cortex-a9";
|
compatible = "arm,cortex-a9";
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
|
@ -46,6 +37,15 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pmu: pmu@ff111000 {
|
||||||
|
compatible = "arm,cortex-a9-pmu";
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <0 176 4>, <0 177 4>;
|
||||||
|
interrupt-affinity = <&cpu0>, <&cpu1>;
|
||||||
|
reg = <0xff111000 0x1000>,
|
||||||
|
<0xff113000 0x1000>;
|
||||||
|
};
|
||||||
|
|
||||||
intc: intc@fffed000 {
|
intc: intc@fffed000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
amba {
|
amba {
|
||||||
compatible = "arm,amba-bus";
|
compatible = "simple-bus";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges;
|
ranges;
|
||||||
|
@ -87,6 +87,14 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
base_fpga_region {
|
||||||
|
compatible = "fpga-region";
|
||||||
|
fpga-mgr = <&fpgamgr0>;
|
||||||
|
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
};
|
||||||
|
|
||||||
can0: can@ffc00000 {
|
can0: can@ffc00000 {
|
||||||
compatible = "bosch,d_can";
|
compatible = "bosch,d_can";
|
||||||
reg = <0xffc00000 0x1000>;
|
reg = <0xffc00000 0x1000>;
|
||||||
|
@ -131,7 +139,7 @@
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
};
|
};
|
||||||
|
|
||||||
main_pll: main_pll {
|
main_pll: main_pll@40 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
|
@ -139,7 +147,7 @@
|
||||||
clocks = <&osc1>;
|
clocks = <&osc1>;
|
||||||
reg = <0x40>;
|
reg = <0x40>;
|
||||||
|
|
||||||
mpuclk: mpuclk {
|
mpuclk: mpuclk@48 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>;
|
||||||
|
@ -147,7 +155,7 @@
|
||||||
reg = <0x48>;
|
reg = <0x48>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mainclk: mainclk {
|
mainclk: mainclk@4c {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>;
|
||||||
|
@ -155,29 +163,29 @@
|
||||||
reg = <0x4C>;
|
reg = <0x4C>;
|
||||||
};
|
};
|
||||||
|
|
||||||
dbg_base_clk: dbg_base_clk {
|
dbg_base_clk: dbg_base_clk@50 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>, <&osc1>;
|
||||||
div-reg = <0xe8 0 9>;
|
div-reg = <0xe8 0 9>;
|
||||||
reg = <0x50>;
|
reg = <0x50>;
|
||||||
};
|
};
|
||||||
|
|
||||||
main_qspi_clk: main_qspi_clk {
|
main_qspi_clk: main_qspi_clk@54 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>;
|
||||||
reg = <0x54>;
|
reg = <0x54>;
|
||||||
};
|
};
|
||||||
|
|
||||||
main_nand_sdmmc_clk: main_nand_sdmmc_clk {
|
main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>;
|
||||||
reg = <0x58>;
|
reg = <0x58>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cfg_h2f_usr0_clk: cfg_h2f_usr0_clk {
|
cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&main_pll>;
|
clocks = <&main_pll>;
|
||||||
|
@ -185,7 +193,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
periph_pll: periph_pll {
|
periph_pll: periph_pll@80 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
|
@ -193,42 +201,42 @@
|
||||||
clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>;
|
clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>;
|
||||||
reg = <0x80>;
|
reg = <0x80>;
|
||||||
|
|
||||||
emac0_clk: emac0_clk {
|
emac0_clk: emac0_clk@88 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
reg = <0x88>;
|
reg = <0x88>;
|
||||||
};
|
};
|
||||||
|
|
||||||
emac1_clk: emac1_clk {
|
emac1_clk: emac1_clk@8c {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
reg = <0x8C>;
|
reg = <0x8C>;
|
||||||
};
|
};
|
||||||
|
|
||||||
per_qspi_clk: per_qsi_clk {
|
per_qspi_clk: per_qsi_clk@90 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
reg = <0x90>;
|
reg = <0x90>;
|
||||||
};
|
};
|
||||||
|
|
||||||
per_nand_mmc_clk: per_nand_mmc_clk {
|
per_nand_mmc_clk: per_nand_mmc_clk@94 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
reg = <0x94>;
|
reg = <0x94>;
|
||||||
};
|
};
|
||||||
|
|
||||||
per_base_clk: per_base_clk {
|
per_base_clk: per_base_clk@98 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
reg = <0x98>;
|
reg = <0x98>;
|
||||||
};
|
};
|
||||||
|
|
||||||
h2f_usr1_clk: h2f_usr1_clk {
|
h2f_usr1_clk: h2f_usr1_clk@9c {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&periph_pll>;
|
clocks = <&periph_pll>;
|
||||||
|
@ -236,7 +244,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sdram_pll: sdram_pll {
|
sdram_pll: sdram_pll@c0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
|
@ -244,28 +252,28 @@
|
||||||
clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>;
|
clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>;
|
||||||
reg = <0xC0>;
|
reg = <0xC0>;
|
||||||
|
|
||||||
ddr_dqs_clk: ddr_dqs_clk {
|
ddr_dqs_clk: ddr_dqs_clk@c8 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&sdram_pll>;
|
clocks = <&sdram_pll>;
|
||||||
reg = <0xC8>;
|
reg = <0xC8>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ddr_2x_dqs_clk: ddr_2x_dqs_clk {
|
ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&sdram_pll>;
|
clocks = <&sdram_pll>;
|
||||||
reg = <0xCC>;
|
reg = <0xCC>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ddr_dq_clk: ddr_dq_clk {
|
ddr_dq_clk: ddr_dq_clk@d0 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&sdram_pll>;
|
clocks = <&sdram_pll>;
|
||||||
reg = <0xD0>;
|
reg = <0xD0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
h2f_usr2_clk: h2f_usr2_clk {
|
h2f_usr2_clk: h2f_usr2_clk@d4 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-perip-clk";
|
compatible = "altr,socfpga-perip-clk";
|
||||||
clocks = <&sdram_pll>;
|
clocks = <&sdram_pll>;
|
||||||
|
@ -312,7 +320,7 @@
|
||||||
l3_sp_clk: l3_sp_clk {
|
l3_sp_clk: l3_sp_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-gate-clk";
|
compatible = "altr,socfpga-gate-clk";
|
||||||
clocks = <&mainclk>;
|
clocks = <&l3_mp_clk>;
|
||||||
div-reg = <0x64 2 2>;
|
div-reg = <0x64 2 2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -343,7 +351,7 @@
|
||||||
dbg_clk: dbg_clk {
|
dbg_clk: dbg_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-gate-clk";
|
compatible = "altr,socfpga-gate-clk";
|
||||||
clocks = <&dbg_base_clk>;
|
clocks = <&dbg_at_clk>;
|
||||||
div-reg = <0x68 2 2>;
|
div-reg = <0x68 2 2>;
|
||||||
clk-gate = <0x60 5>;
|
clk-gate = <0x60 5>;
|
||||||
};
|
};
|
||||||
|
@ -446,6 +454,14 @@
|
||||||
clk-phase = <0 135>;
|
clk-phase = <0 135>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sdmmc_clk_divided: sdmmc_clk_divided {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&sdmmc_clk>;
|
||||||
|
clk-gate = <0xa0 8>;
|
||||||
|
fixed-divider = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
nand_x_clk: nand_x_clk {
|
nand_x_clk: nand_x_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-gate-clk";
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
@ -453,10 +469,17 @@
|
||||||
clk-gate = <0xa0 9>;
|
clk-gate = <0xa0 9>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nand_ecc_clk: nand_ecc_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&nand_x_clk>;
|
||||||
|
clk-gate = <0xa0 9>;
|
||||||
|
};
|
||||||
|
|
||||||
nand_clk: nand_clk {
|
nand_clk: nand_clk {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "altr,socfpga-gate-clk";
|
compatible = "altr,socfpga-gate-clk";
|
||||||
clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
|
clocks = <&nand_x_clk>;
|
||||||
clk-gate = <0xa0 10>;
|
clk-gate = <0xa0 10>;
|
||||||
fixed-divider = <4>;
|
fixed-divider = <4>;
|
||||||
};
|
};
|
||||||
|
@ -467,7 +490,57 @@
|
||||||
clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
|
clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
|
||||||
clk-gate = <0xa0 11>;
|
clk-gate = <0xa0 11>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ddr_dqs_clk_gate: ddr_dqs_clk_gate {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&ddr_dqs_clk>;
|
||||||
|
clk-gate = <0xd8 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&ddr_2x_dqs_clk>;
|
||||||
|
clk-gate = <0xd8 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ddr_dq_clk_gate: ddr_dq_clk_gate {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&ddr_dq_clk>;
|
||||||
|
clk-gate = <0xd8 2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
h2f_user2_clk: h2f_user2_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "altr,socfpga-gate-clk";
|
||||||
|
clocks = <&h2f_usr2_clk>;
|
||||||
|
clk-gate = <0xd8 3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fpga_bridge0: fpga_bridge@ff400000 {
|
||||||
|
compatible = "altr,socfpga-lwhps2fpga-bridge";
|
||||||
|
reg = <0xff400000 0x100000>;
|
||||||
|
resets = <&rst LWHPS2FPGA_RESET>;
|
||||||
|
clocks = <&l4_main_clk>;
|
||||||
|
};
|
||||||
|
|
||||||
|
fpga_bridge1: fpga_bridge@ff500000 {
|
||||||
|
compatible = "altr,socfpga-hps2fpga-bridge";
|
||||||
|
reg = <0xff500000 0x10000>;
|
||||||
|
resets = <&rst HPS2FPGA_RESET>;
|
||||||
|
clocks = <&l4_main_clk>;
|
||||||
|
};
|
||||||
|
|
||||||
|
fpgamgr0: fpgamgr@ff706000 {
|
||||||
|
compatible = "altr,socfpga-fpga-mgr";
|
||||||
|
reg = <0xff706000 0x1000
|
||||||
|
0xffb90000 0x4>;
|
||||||
|
interrupts = <0 175 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gmac0: ethernet@ff700000 {
|
gmac0: ethernet@ff700000 {
|
||||||
|
@ -477,12 +550,14 @@
|
||||||
interrupts = <0 115 4>;
|
interrupts = <0 115 4>;
|
||||||
interrupt-names = "macirq";
|
interrupt-names = "macirq";
|
||||||
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
||||||
clocks = <&emac0_clk>;
|
clocks = <&emac_0_clk>;
|
||||||
clock-names = "stmmaceth";
|
clock-names = "stmmaceth";
|
||||||
resets = <&rst EMAC0_RESET>;
|
resets = <&rst EMAC0_RESET>;
|
||||||
reset-names = "stmmaceth";
|
reset-names = "stmmaceth";
|
||||||
snps,multicast-filter-bins = <256>;
|
snps,multicast-filter-bins = <256>;
|
||||||
snps,perfect-filter-entries = <128>;
|
snps,perfect-filter-entries = <128>;
|
||||||
|
tx-fifo-depth = <4096>;
|
||||||
|
rx-fifo-depth = <4096>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -493,60 +568,14 @@
|
||||||
interrupts = <0 120 4>;
|
interrupts = <0 120 4>;
|
||||||
interrupt-names = "macirq";
|
interrupt-names = "macirq";
|
||||||
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
||||||
clocks = <&emac1_clk>;
|
clocks = <&emac_1_clk>;
|
||||||
clock-names = "stmmaceth";
|
clock-names = "stmmaceth";
|
||||||
resets = <&rst EMAC1_RESET>;
|
resets = <&rst EMAC1_RESET>;
|
||||||
reset-names = "stmmaceth";
|
reset-names = "stmmaceth";
|
||||||
snps,multicast-filter-bins = <256>;
|
snps,multicast-filter-bins = <256>;
|
||||||
snps,perfect-filter-entries = <128>;
|
snps,perfect-filter-entries = <128>;
|
||||||
status = "disabled";
|
tx-fifo-depth = <4096>;
|
||||||
};
|
rx-fifo-depth = <4096>;
|
||||||
|
|
||||||
i2c0: i2c@ffc04000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "snps,designware-i2c";
|
|
||||||
reg = <0xffc04000 0x1000>;
|
|
||||||
clocks = <&l4_sp_clk>;
|
|
||||||
resets = <&rst I2C0_RESET>;
|
|
||||||
reset-names = "i2c";
|
|
||||||
interrupts = <0 158 0x4>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c1: i2c@ffc05000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "snps,designware-i2c";
|
|
||||||
reg = <0xffc05000 0x1000>;
|
|
||||||
clocks = <&l4_sp_clk>;
|
|
||||||
resets = <&rst I2C1_RESET>;
|
|
||||||
reset-names = "i2c";
|
|
||||||
interrupts = <0 159 0x4>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c2: i2c@ffc06000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "snps,designware-i2c";
|
|
||||||
reg = <0xffc06000 0x1000>;
|
|
||||||
clocks = <&l4_sp_clk>;
|
|
||||||
resets = <&rst I2C2_RESET>;
|
|
||||||
reset-names = "i2c";
|
|
||||||
interrupts = <0 160 0x4>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c3: i2c@ffc07000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "snps,designware-i2c";
|
|
||||||
reg = <0xffc07000 0x1000>;
|
|
||||||
clocks = <&l4_sp_clk>;
|
|
||||||
resets = <&rst I2C3_RESET>;
|
|
||||||
reset-names = "i2c";
|
|
||||||
interrupts = <0 161 0x4>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -555,12 +584,11 @@
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "snps,dw-apb-gpio";
|
compatible = "snps,dw-apb-gpio";
|
||||||
reg = <0xff708000 0x1000>;
|
reg = <0xff708000 0x1000>;
|
||||||
clocks = <&per_base_clk>;
|
clocks = <&l4_mp_clk>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
porta: gpio-controller@0 {
|
porta: gpio-controller@0 {
|
||||||
compatible = "snps,dw-apb-gpio-port";
|
compatible = "snps,dw-apb-gpio-port";
|
||||||
bank-name = "porta";
|
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
snps,nr-gpios = <29>;
|
snps,nr-gpios = <29>;
|
||||||
|
@ -576,12 +604,11 @@
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "snps,dw-apb-gpio";
|
compatible = "snps,dw-apb-gpio";
|
||||||
reg = <0xff709000 0x1000>;
|
reg = <0xff709000 0x1000>;
|
||||||
clocks = <&per_base_clk>;
|
clocks = <&l4_mp_clk>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
portb: gpio-controller@0 {
|
portb: gpio-controller@0 {
|
||||||
compatible = "snps,dw-apb-gpio-port";
|
compatible = "snps,dw-apb-gpio-port";
|
||||||
bank-name = "portb";
|
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
snps,nr-gpios = <29>;
|
snps,nr-gpios = <29>;
|
||||||
|
@ -597,12 +624,11 @@
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "snps,dw-apb-gpio";
|
compatible = "snps,dw-apb-gpio";
|
||||||
reg = <0xff70a000 0x1000>;
|
reg = <0xff70a000 0x1000>;
|
||||||
clocks = <&per_base_clk>;
|
clocks = <&l4_mp_clk>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
portc: gpio-controller@0 {
|
portc: gpio-controller@0 {
|
||||||
compatible = "snps,dw-apb-gpio-port";
|
compatible = "snps,dw-apb-gpio-port";
|
||||||
bank-name = "portc";
|
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
snps,nr-gpios = <27>;
|
snps,nr-gpios = <27>;
|
||||||
|
@ -613,15 +639,68 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sdr: sdr@ffc25000 {
|
i2c0: i2c@ffc04000 {
|
||||||
compatible = "syscon";
|
#address-cells = <1>;
|
||||||
reg = <0xffc25000 0x1000>;
|
#size-cells = <0>;
|
||||||
|
compatible = "snps,designware-i2c";
|
||||||
|
reg = <0xffc04000 0x1000>;
|
||||||
|
resets = <&rst I2C0_RESET>;
|
||||||
|
clocks = <&l4_sp_clk>;
|
||||||
|
interrupts = <0 158 0x4>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sdramedac {
|
i2c1: i2c@ffc05000 {
|
||||||
compatible = "altr,sdram-edac";
|
#address-cells = <1>;
|
||||||
altr,sdr-syscon = <&sdr>;
|
#size-cells = <0>;
|
||||||
interrupts = <0 39 4>;
|
compatible = "snps,designware-i2c";
|
||||||
|
reg = <0xffc05000 0x1000>;
|
||||||
|
resets = <&rst I2C1_RESET>;
|
||||||
|
clocks = <&l4_sp_clk>;
|
||||||
|
interrupts = <0 159 0x4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c2: i2c@ffc06000 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
compatible = "snps,designware-i2c";
|
||||||
|
reg = <0xffc06000 0x1000>;
|
||||||
|
resets = <&rst I2C2_RESET>;
|
||||||
|
clocks = <&l4_sp_clk>;
|
||||||
|
interrupts = <0 160 0x4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c3: i2c@ffc07000 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
compatible = "snps,designware-i2c";
|
||||||
|
reg = <0xffc07000 0x1000>;
|
||||||
|
resets = <&rst I2C3_RESET>;
|
||||||
|
clocks = <&l4_sp_clk>;
|
||||||
|
interrupts = <0 161 0x4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
eccmgr: eccmgr {
|
||||||
|
compatible = "altr,socfpga-ecc-manager";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
l2-ecc@ffd08140 {
|
||||||
|
compatible = "altr,socfpga-l2-ecc";
|
||||||
|
reg = <0xffd08140 0x4>;
|
||||||
|
interrupts = <0 36 1>, <0 37 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ocram-ecc@ffd08144 {
|
||||||
|
compatible = "altr,socfpga-ocram-ecc";
|
||||||
|
reg = <0xffd08144 0x4>;
|
||||||
|
iram = <&ocram>;
|
||||||
|
interrupts = <0 178 1>, <0 179 1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
L2: l2-cache@fffef000 {
|
L2: l2-cache@fffef000 {
|
||||||
|
@ -632,17 +711,50 @@
|
||||||
cache-level = <2>;
|
cache-level = <2>;
|
||||||
arm,tag-latency = <1 1 1>;
|
arm,tag-latency = <1 1 1>;
|
||||||
arm,data-latency = <2 1 1>;
|
arm,data-latency = <2 1 1>;
|
||||||
|
prefetch-data = <1>;
|
||||||
|
prefetch-instr = <1>;
|
||||||
|
arm,shared-override;
|
||||||
|
arm,double-linefill = <1>;
|
||||||
|
arm,double-linefill-incr = <0>;
|
||||||
|
arm,double-linefill-wrap = <1>;
|
||||||
|
arm,prefetch-drop = <0>;
|
||||||
|
arm,prefetch-offset = <7>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mmc0: dwmmc0@ff704000 {
|
l3regs@0xff800000 {
|
||||||
|
compatible = "altr,l3regs", "syscon";
|
||||||
|
reg = <0xff800000 0x1000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc: dwmmc0@ff704000 {
|
||||||
compatible = "altr,socfpga-dw-mshc";
|
compatible = "altr,socfpga-dw-mshc";
|
||||||
reg = <0xff704000 0x1000>;
|
reg = <0xff704000 0x1000>;
|
||||||
interrupts = <0 139 4>;
|
interrupts = <0 139 4>;
|
||||||
fifo-depth = <0x400>;
|
fifo-depth = <0x400>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&l4_mp_clk>, <&sdmmc_clk>;
|
clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>;
|
||||||
clock-names = "biu", "ciu";
|
clock-names = "biu", "ciu";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
nand0: nand@ff900000 {
|
||||||
|
#address-cells = <0x1>;
|
||||||
|
#size-cells = <0x1>;
|
||||||
|
compatible = "altr,socfpga-denali-nand";
|
||||||
|
reg = <0xff900000 0x100000>,
|
||||||
|
<0xffb80000 0x10000>;
|
||||||
|
reg-names = "nand_data", "denali_reg";
|
||||||
|
interrupts = <0x0 0x90 0x4>;
|
||||||
|
dma-mask = <0xffffffff>;
|
||||||
|
clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
|
||||||
|
clock-names = "nand", "nand_x", "ecc";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
ocram: sram@ffff0000 {
|
||||||
|
compatible = "mmio-sram";
|
||||||
|
reg = <0xffff0000 0x10000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qspi: spi@ff705000 {
|
qspi: spi@ff705000 {
|
||||||
|
@ -652,16 +764,36 @@
|
||||||
reg = <0xff705000 0x1000>,
|
reg = <0xff705000 0x1000>,
|
||||||
<0xffa00000 0x1000>;
|
<0xffa00000 0x1000>;
|
||||||
interrupts = <0 151 4>;
|
interrupts = <0 151 4>;
|
||||||
clocks = <&qspi_clk>;
|
|
||||||
ext-decoder = <0>; /* external decoder */
|
|
||||||
num-cs = <4>;
|
|
||||||
cdns,fifo-depth = <128>;
|
cdns,fifo-depth = <128>;
|
||||||
cdns,fifo-width = <4>;
|
cdns,fifo-width = <4>;
|
||||||
cdns,trigger-address = <0x00000000>;
|
cdns,trigger-address = <0x00000000>;
|
||||||
bus-num = <2>;
|
clocks = <&qspi_clk>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rst: rstmgr@ffd05000 {
|
||||||
|
#reset-cells = <1>;
|
||||||
|
compatible = "altr,rst-mgr";
|
||||||
|
reg = <0xffd05000 0x1000>;
|
||||||
|
altr,modrst-offset = <0x10>;
|
||||||
|
};
|
||||||
|
|
||||||
|
scu: snoop-control-unit@fffec000 {
|
||||||
|
compatible = "arm,cortex-a9-scu";
|
||||||
|
reg = <0xfffec000 0x100>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sdr: sdr@ffc25000 {
|
||||||
|
compatible = "altr,sdr-ctl", "syscon";
|
||||||
|
reg = <0xffc25000 0x1000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sdramedac {
|
||||||
|
compatible = "altr,sdram-edac";
|
||||||
|
altr,sdr-syscon = <&sdr>;
|
||||||
|
interrupts = <0 39 4>;
|
||||||
|
};
|
||||||
|
|
||||||
spi0: spi@fff00000 {
|
spi0: spi@fff00000 {
|
||||||
compatible = "snps,dw-apb-ssi";
|
compatible = "snps,dw-apb-ssi";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@ -669,10 +801,7 @@
|
||||||
reg = <0xfff00000 0x1000>;
|
reg = <0xfff00000 0x1000>;
|
||||||
interrupts = <0 154 4>;
|
interrupts = <0 154 4>;
|
||||||
num-cs = <4>;
|
num-cs = <4>;
|
||||||
bus-num = <0>;
|
clocks = <&spi_m_clk>;
|
||||||
tx-dma-channel = <&pdma 16>;
|
|
||||||
rx-dma-channel = <&pdma 17>;
|
|
||||||
clocks = <&per_base_clk>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -681,20 +810,22 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
reg = <0xfff01000 0x1000>;
|
reg = <0xfff01000 0x1000>;
|
||||||
interrupts = <0 156 4>;
|
interrupts = <0 155 4>;
|
||||||
num-cs = <4>;
|
num-cs = <4>;
|
||||||
bus-num = <1>;
|
clocks = <&spi_m_clk>;
|
||||||
tx-dma-channel = <&pdma 20>;
|
|
||||||
rx-dma-channel = <&pdma 21>;
|
|
||||||
clocks = <&per_base_clk>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysmgr: sysmgr@ffd08000 {
|
||||||
|
compatible = "altr,sys-mgr", "syscon";
|
||||||
|
reg = <0xffd08000 0x4000>;
|
||||||
|
};
|
||||||
|
|
||||||
/* Local timer */
|
/* Local timer */
|
||||||
timer@fffec600 {
|
timer@fffec600 {
|
||||||
compatible = "arm,cortex-a9-twd-timer";
|
compatible = "arm,cortex-a9-twd-timer";
|
||||||
reg = <0xfffec600 0x100>;
|
reg = <0xfffec600 0x100>;
|
||||||
interrupts = <1 13 0xf04>;
|
interrupts = <1 13 0xf01>;
|
||||||
clocks = <&mpu_periph_clk>;
|
clocks = <&mpu_periph_clk>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -704,6 +835,8 @@
|
||||||
reg = <0xffc08000 0x1000>;
|
reg = <0xffc08000 0x1000>;
|
||||||
clocks = <&l4_sp_clk>;
|
clocks = <&l4_sp_clk>;
|
||||||
clock-names = "timer";
|
clock-names = "timer";
|
||||||
|
resets = <&rst SPTIMER0_RESET>;
|
||||||
|
reset-names = "timer";
|
||||||
};
|
};
|
||||||
|
|
||||||
timer1: timer1@ffc09000 {
|
timer1: timer1@ffc09000 {
|
||||||
|
@ -712,6 +845,8 @@
|
||||||
reg = <0xffc09000 0x1000>;
|
reg = <0xffc09000 0x1000>;
|
||||||
clocks = <&l4_sp_clk>;
|
clocks = <&l4_sp_clk>;
|
||||||
clock-names = "timer";
|
clock-names = "timer";
|
||||||
|
resets = <&rst SPTIMER1_RESET>;
|
||||||
|
reset-names = "timer";
|
||||||
};
|
};
|
||||||
|
|
||||||
timer2: timer2@ffd00000 {
|
timer2: timer2@ffd00000 {
|
||||||
|
@ -720,6 +855,8 @@
|
||||||
reg = <0xffd00000 0x1000>;
|
reg = <0xffd00000 0x1000>;
|
||||||
clocks = <&osc1>;
|
clocks = <&osc1>;
|
||||||
clock-names = "timer";
|
clock-names = "timer";
|
||||||
|
resets = <&rst OSC1TIMER0_RESET>;
|
||||||
|
reset-names = "timer";
|
||||||
};
|
};
|
||||||
|
|
||||||
timer3: timer3@ffd01000 {
|
timer3: timer3@ffd01000 {
|
||||||
|
@ -728,6 +865,8 @@
|
||||||
reg = <0xffd01000 0x1000>;
|
reg = <0xffd01000 0x1000>;
|
||||||
clocks = <&osc1>;
|
clocks = <&osc1>;
|
||||||
clock-names = "timer";
|
clock-names = "timer";
|
||||||
|
resets = <&rst OSC1TIMER1_RESET>;
|
||||||
|
reset-names = "timer";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart0: serial0@ffc02000 {
|
uart0: serial0@ffc02000 {
|
||||||
|
@ -737,7 +876,9 @@
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
reg-io-width = <4>;
|
reg-io-width = <4>;
|
||||||
clocks = <&l4_sp_clk>;
|
clocks = <&l4_sp_clk>;
|
||||||
clock-frequency = <100000000>;
|
dmas = <&pdma 28>,
|
||||||
|
<&pdma 29>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart1: serial1@ffc03000 {
|
uart1: serial1@ffc03000 {
|
||||||
|
@ -747,16 +888,12 @@
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
reg-io-width = <4>;
|
reg-io-width = <4>;
|
||||||
clocks = <&l4_sp_clk>;
|
clocks = <&l4_sp_clk>;
|
||||||
clock-frequency = <100000000>;
|
dmas = <&pdma 30>,
|
||||||
|
<&pdma 31>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
};
|
};
|
||||||
|
|
||||||
rst: rstmgr@ffd05000 {
|
usbphy0: usbphy {
|
||||||
#reset-cells = <1>;
|
|
||||||
compatible = "altr,rst-mgr";
|
|
||||||
reg = <0xffd05000 0x1000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
usbphy0: usbphy@0 {
|
|
||||||
#phy-cells = <0>;
|
#phy-cells = <0>;
|
||||||
compatible = "usb-nop-xceiv";
|
compatible = "usb-nop-xceiv";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -768,6 +905,8 @@
|
||||||
interrupts = <0 125 4>;
|
interrupts = <0 125 4>;
|
||||||
clocks = <&usb_mp_clk>;
|
clocks = <&usb_mp_clk>;
|
||||||
clock-names = "otg";
|
clock-names = "otg";
|
||||||
|
resets = <&rst USB0_RESET>;
|
||||||
|
reset-names = "dwc2";
|
||||||
phys = <&usbphy0>;
|
phys = <&usbphy0>;
|
||||||
phy-names = "usb2-phy";
|
phy-names = "usb2-phy";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@ -779,6 +918,8 @@
|
||||||
interrupts = <0 128 4>;
|
interrupts = <0 128 4>;
|
||||||
clocks = <&usb_mp_clk>;
|
clocks = <&usb_mp_clk>;
|
||||||
clock-names = "otg";
|
clock-names = "otg";
|
||||||
|
resets = <&rst USB1_RESET>;
|
||||||
|
reset-names = "dwc2";
|
||||||
phys = <&usbphy0>;
|
phys = <&usbphy0>;
|
||||||
phy-names = "usb2-phy";
|
phy-names = "usb2-phy";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@ -799,10 +940,5 @@
|
||||||
clocks = <&osc1>;
|
clocks = <&osc1>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmgr: sysmgr@ffd08000 {
|
|
||||||
compatible = "altr,sys-mgr", "syscon";
|
|
||||||
reg = <0xffd08000 0x4000>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013 Altera Corporation <www.altera.com>
|
* Copyright (C) 2013 Altera Corporation <www.altera.com>
|
||||||
*/
|
*/
|
||||||
|
@ -19,13 +19,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
mmc0: dwmmc0@ff704000 {
|
mmc0: dwmmc0@ff704000 {
|
||||||
num-slots = <1>;
|
|
||||||
broken-cd;
|
broken-cd;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cap-mmc-highspeed;
|
cap-mmc-highspeed;
|
||||||
cap-sd-highspeed;
|
cap-sd-highspeed;
|
||||||
drvsel = <3>;
|
|
||||||
smplsel = <0>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmgr@ffd08000 {
|
sysmgr@ffd08000 {
|
||||||
|
@ -33,3 +30,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
56
arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
Normal file
56
arch/arm/dts/socfpga_arria5_socdk-u-boot.dtsi
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Altera Corporation <www.altera.com>
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
spi0 = "/soc/spi@ff705000";
|
||||||
|
udc0 = &usb1;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash {
|
||||||
|
compatible = "n25q00", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -10,22 +10,44 @@
|
||||||
compatible = "altr,socfpga-arria5", "altr,socfpga";
|
compatible = "altr,socfpga-arria5", "altr,socfpga";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory@0 {
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
/* this allow the ethaddr uboot environment variable contents
|
/* this allow the ethaddr uboot environmnet variable contents
|
||||||
* to be added to the gmac1 device tree blob.
|
* to be added to the gmac1 device tree blob.
|
||||||
*/
|
*/
|
||||||
ethernet0 = &gmac1;
|
ethernet0 = &gmac1;
|
||||||
udc0 = &usb1;
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
hps0 {
|
||||||
|
label = "hps_led0";
|
||||||
|
gpios = <&porta 0 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps1 {
|
||||||
|
label = "hps_led1";
|
||||||
|
gpios = <&portb 11 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps2 {
|
||||||
|
label = "hps_led2";
|
||||||
|
gpios = <&porta 17 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps3 {
|
||||||
|
label = "hps_led3";
|
||||||
|
gpios = <&porta 18 1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
regulator_3_3v: 3-3-v-regulator {
|
regulator_3_3v: 3-3-v-regulator {
|
||||||
|
@ -34,10 +56,6 @@
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac1 {
|
&gmac1 {
|
||||||
|
@ -54,8 +72,28 @@
|
||||||
rxc-skew-ps = <2000>;
|
rxc-skew-ps = <2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&gpio0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* adjust the falling times to decrease the i2c frequency to 50Khz
|
||||||
|
* because the LCD module does not work at the standard 100Khz
|
||||||
|
*/
|
||||||
|
i2c-sda-falling-time-ns = <5000>;
|
||||||
|
i2c-scl-falling-time-ns = <5000>;
|
||||||
|
|
||||||
eeprom@51 {
|
eeprom@51 {
|
||||||
compatible = "atmel,24c32";
|
compatible = "atmel,24c32";
|
||||||
|
@ -72,35 +110,42 @@
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
vmmc-supply = <®ulator_3_3v>;
|
vmmc-supply = <®ulator_3_3v>;
|
||||||
vqmmc-supply = <®ulator_3_3v>;
|
vqmmc-supply = <®ulator_3_3v>;
|
||||||
bus-width = <4>;
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
||||||
&usb1 {
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
flash0: n25q00@0 {
|
flash: flash@0 {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q00", "spi-flash";
|
compatible = "n25q256a";
|
||||||
reg = <0>; /* chip select */
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <100000000>;
|
||||||
|
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
cdns,page-size = <256>;
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
cdns,block-size = <16>;
|
||||||
|
cdns,read-delay = <4>;
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
cdns,tslch-ns = <4>;
|
cdns,tslch-ns = <4>;
|
||||||
|
|
||||||
|
partition@qspi-boot {
|
||||||
|
/* 8MB for raw data. */
|
||||||
|
label = "Flash 0 Raw Data";
|
||||||
|
reg = <0x0 0x800000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@qspi-rootfs {
|
||||||
|
/* 120MB for jffs2 data. */
|
||||||
|
label = "Flash 0 jffs2 Filesystem";
|
||||||
|
reg = <0x800000 0x7800000>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
&usb1 {
|
||||||
u-boot,dm-pre-reloc;
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,13 +19,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
mmc0: dwmmc0@ff704000 {
|
mmc0: dwmmc0@ff704000 {
|
||||||
num-slots = <1>;
|
|
||||||
broken-cd;
|
broken-cd;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cap-mmc-highspeed;
|
cap-mmc-highspeed;
|
||||||
cap-sd-highspeed;
|
cap-sd-highspeed;
|
||||||
drvsel = <3>;
|
|
||||||
smplsel = <0>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmgr@ffd08000 {
|
sysmgr@ffd08000 {
|
||||||
|
@ -33,3 +30,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
|
@ -47,9 +47,20 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
bus-width = <4>;
|
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,3 +72,7 @@
|
||||||
&uart0 {
|
&uart0 {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
46
arch/arm/dts/socfpga_cyclone5_de0_nano_soc-u-boot.dtsi
Normal file
46
arch/arm/dts/socfpga_cyclone5_de0_nano_soc-u-boot.dtsi
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright Altera Corporation (C) 2015
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
udc0 = &usb1;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -1,32 +1,43 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Copyright Altera Corporation (C) 2015
|
* Copyright Altera Corporation (C) 2015. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "socfpga_cyclone5.dtsi"
|
#include "socfpga_cyclone5.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Terasic DE0-Nano(Atlas)";
|
model = "Terasic DE-0(Atlas)";
|
||||||
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
|
compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5", "altr,socfpga";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
memory@0 {
|
||||||
ethernet0 = &gmac1;
|
|
||||||
udc0 = &usb1;
|
|
||||||
};
|
|
||||||
|
|
||||||
memory {
|
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
aliases {
|
||||||
u-boot,dm-pre-reloc;
|
ethernet0 = &gmac1;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator_3_3v: 3-3-v-regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "3.3V";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
hps0 {
|
||||||
|
label = "hps_led0";
|
||||||
|
gpios = <&portb 24 0>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,14 +45,20 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
|
|
||||||
rxd0-skew-ps = <420>;
|
txd0-skew-ps = <0>; /* -420ps */
|
||||||
rxd1-skew-ps = <420>;
|
txd1-skew-ps = <0>; /* -420ps */
|
||||||
rxd2-skew-ps = <420>;
|
txd2-skew-ps = <0>; /* -420ps */
|
||||||
rxd3-skew-ps = <420>;
|
txd3-skew-ps = <0>; /* -420ps */
|
||||||
txen-skew-ps = <0>;
|
rxd0-skew-ps = <420>; /* 0ps */
|
||||||
txc-skew-ps = <1860>;
|
rxd1-skew-ps = <420>; /* 0ps */
|
||||||
rxdv-skew-ps = <420>;
|
rxd2-skew-ps = <420>; /* 0ps */
|
||||||
rxc-skew-ps = <1680>;
|
rxd3-skew-ps = <420>; /* 0ps */
|
||||||
|
txen-skew-ps = <0>; /* -420ps */
|
||||||
|
txc-skew-ps = <1860>; /* 960ps */
|
||||||
|
rxdv-skew-ps = <420>; /* 0ps */
|
||||||
|
rxc-skew-ps = <1680>; /* 780ps */
|
||||||
|
|
||||||
|
max-frame-size = <3800>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio0 {
|
&gpio0 {
|
||||||
|
@ -58,8 +75,9 @@
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
|
||||||
dxl345: adxl345@0 {
|
adxl345: adxl345@53 {
|
||||||
compatible = "adi,adxl345";
|
compatible = "adi,adxl345";
|
||||||
reg = <0x53>;
|
reg = <0x53>;
|
||||||
|
|
||||||
|
@ -69,14 +87,15 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
|
vmmc-supply = <®ulator_3_3v>;
|
||||||
|
vqmmc-supply = <®ulator_3_3v>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb1 {
|
&usb1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
|
@ -58,6 +58,18 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
@ -70,3 +82,7 @@
|
||||||
&uart0 {
|
&uart0 {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
|
@ -56,6 +56,18 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
@ -68,3 +80,7 @@
|
||||||
&uart0 {
|
&uart0 {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
|
@ -55,6 +55,10 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -107,3 +111,7 @@
|
||||||
&uart0 {
|
&uart0 {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
72
arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi
Normal file
72
arch/arm/dts/socfpga_cyclone5_socdk-u-boot.dtsi
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Altera Corporation <www.altera.com>
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
spi0 = "/soc/spi@ff705000";
|
||||||
|
udc0 = &usb1;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&can0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash0 {
|
||||||
|
compatible = "n25q00", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
partition@qspi-boot {
|
||||||
|
/* 8MB for raw data. */
|
||||||
|
label = "Flash 0 Raw Data";
|
||||||
|
reg = <0x0 0x800000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@qspi-rootfs {
|
||||||
|
/* 120MB for jffs2 data. */
|
||||||
|
label = "Flash 0 jffs2 Filesystem";
|
||||||
|
reg = <0x800000 0x7800000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -7,25 +7,47 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Altera SOCFPGA Cyclone V SoC Development Kit";
|
model = "Altera SOCFPGA Cyclone V SoC Development Kit";
|
||||||
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
|
compatible = "altr,socfpga-cyclone5-socdk", "altr,socfpga-cyclone5", "altr,socfpga";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory@0 {
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
/* this allow the ethaddr uboot environment variable contents
|
/* this allow the ethaddr uboot environmnet variable contents
|
||||||
* to be added to the gmac1 device tree blob.
|
* to be added to the gmac1 device tree blob.
|
||||||
*/
|
*/
|
||||||
ethernet0 = &gmac1;
|
ethernet0 = &gmac1;
|
||||||
udc0 = &usb1;
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
hps0 {
|
||||||
|
label = "hps_led0";
|
||||||
|
gpios = <&portb 15 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps1 {
|
||||||
|
label = "hps_led1";
|
||||||
|
gpios = <&portb 14 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps2 {
|
||||||
|
label = "hps_led2";
|
||||||
|
gpios = <&portb 13 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps3 {
|
||||||
|
label = "hps_led3";
|
||||||
|
gpios = <&portb 12 1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
regulator_3_3v: 3-3-v-regulator {
|
regulator_3_3v: 3-3-v-regulator {
|
||||||
|
@ -34,10 +56,10 @@
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
soc {
|
&can0 {
|
||||||
u-boot,dm-pre-reloc;
|
status = "okay";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac1 {
|
&gmac1 {
|
||||||
|
@ -68,6 +90,14 @@
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* adjust the falling times to decrease the i2c frequency to 50Khz
|
||||||
|
* because the LCD module does not work at the standard 100Khz
|
||||||
|
*/
|
||||||
|
i2c-sda-falling-time-ns = <5000>;
|
||||||
|
i2c-scl-falling-time-ns = <5000>;
|
||||||
|
|
||||||
eeprom@51 {
|
eeprom@51 {
|
||||||
compatible = "atmel,24c32";
|
compatible = "atmel,24c32";
|
||||||
|
@ -82,39 +112,55 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
status = "okay";
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
cd-gpios = <&portb 18 0>;
|
cd-gpios = <&portb 18 0>;
|
||||||
vmmc-supply = <®ulator_3_3v>;
|
vmmc-supply = <®ulator_3_3v>;
|
||||||
vqmmc-supply = <®ulator_3_3v>;
|
vqmmc-supply = <®ulator_3_3v>;
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
flash0: n25q00@0 {
|
flash0: n25q00@0 {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q00", "spi-flash";
|
compatible = "n25q00";
|
||||||
reg = <0>; /* chip select */
|
reg = <0>; /* chip select */
|
||||||
spi-max-frequency = <100000000>;
|
spi-max-frequency = <100000000>;
|
||||||
|
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
cdns,page-size = <256>;
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
cdns,block-size = <16>;
|
||||||
|
cdns,read-delay = <4>;
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
cdns,tslch-ns = <4>;
|
cdns,tslch-ns = <4>;
|
||||||
|
|
||||||
|
partition@qspi-boot {
|
||||||
|
/* 8MB for raw data. */
|
||||||
|
label = "Flash 0 Raw Data";
|
||||||
|
reg = <0x0 0x800000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@qspi-rootfs {
|
||||||
|
/* 120MB for jffs2 data. */
|
||||||
|
label = "Flash 0 jffs2 Filesystem";
|
||||||
|
reg = <0x800000 0x7800000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
spidev@0 {
|
||||||
|
compatible = "rohm,dh2228fv";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb1 {
|
&usb1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
56
arch/arm/dts/socfpga_cyclone5_sockit-u-boot.dtsi
Normal file
56
arch/arm/dts/socfpga_cyclone5_sockit-u-boot.dtsi
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de>
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
spi0 = "/soc/spi@ff705000";
|
||||||
|
udc0 = &usb1;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash {
|
||||||
|
compatible = "n25q00", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -1,32 +1,121 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de>
|
* Copyright (C) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "socfpga_cyclone5.dtsi"
|
#include "socfpga_cyclone5.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Terasic SoCkit";
|
model = "Terasic SoCkit";
|
||||||
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
|
compatible = "terasic,socfpga-cyclone5-sockit", "altr,socfpga-cyclone5", "altr,socfpga";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
memory@0 {
|
||||||
ethernet0 = &gmac1;
|
|
||||||
udc0 = &usb1;
|
|
||||||
};
|
|
||||||
|
|
||||||
memory {
|
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
aliases {
|
||||||
u-boot,dm-pre-reloc;
|
/* this allow the ethaddr uboot environmnet variable contents
|
||||||
|
* to be added to the gmac1 device tree blob.
|
||||||
|
*/
|
||||||
|
ethernet0 = &gmac1;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
hps_led0 {
|
||||||
|
label = "hps:blue:led0";
|
||||||
|
gpios = <&portb 24 0>; /* HPS_GPIO53 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_led1 {
|
||||||
|
label = "hps:blue:led1";
|
||||||
|
gpios = <&portb 25 0>; /* HPS_GPIO54 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_led2 {
|
||||||
|
label = "hps:blue:led2";
|
||||||
|
gpios = <&portb 26 0>; /* HPS_GPIO55 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_led3 {
|
||||||
|
label = "hps:blue:led3";
|
||||||
|
gpios = <&portb 27 0>; /* HPS_GPIO56 */
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
hps_sw0 {
|
||||||
|
label = "hps_sw0";
|
||||||
|
gpios = <&portc 20 0>; /* HPS_GPI7 */
|
||||||
|
linux,input-type = <5>; /* EV_SW */
|
||||||
|
linux,code = <0x0>; /* SW_LID */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_sw1 {
|
||||||
|
label = "hps_sw1";
|
||||||
|
gpios = <&portc 19 0>; /* HPS_GPI6 */
|
||||||
|
linux,input-type = <5>; /* EV_SW */
|
||||||
|
linux,code = <0x5>; /* SW_DOCK */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_sw2 {
|
||||||
|
label = "hps_sw2";
|
||||||
|
gpios = <&portc 18 0>; /* HPS_GPI5 */
|
||||||
|
linux,input-type = <5>; /* EV_SW */
|
||||||
|
linux,code = <0xa>; /* SW_KEYPAD_SLIDE */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_sw3 {
|
||||||
|
label = "hps_sw3";
|
||||||
|
gpios = <&portc 17 0>; /* HPS_GPI4 */
|
||||||
|
linux,input-type = <5>; /* EV_SW */
|
||||||
|
linux,code = <0xc>; /* SW_ROTATE_LOCK */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey0 {
|
||||||
|
label = "hps_hkey0";
|
||||||
|
gpios = <&portc 21 1>; /* HPS_GPI8 */
|
||||||
|
linux,code = <187>; /* KEY_F17 */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey1 {
|
||||||
|
label = "hps_hkey1";
|
||||||
|
gpios = <&portc 22 1>; /* HPS_GPI9 */
|
||||||
|
linux,code = <188>; /* KEY_F18 */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey2 {
|
||||||
|
label = "hps_hkey2";
|
||||||
|
gpios = <&portc 23 1>; /* HPS_GPI10 */
|
||||||
|
linux,code = <189>; /* KEY_F19 */
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey3 {
|
||||||
|
label = "hps_hkey3";
|
||||||
|
gpios = <&portc 24 1>; /* HPS_GPI11 */
|
||||||
|
linux,code = <190>; /* KEY_F20 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator_3_3v: vcc3p3-regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "VCC3P3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,46 +133,50 @@
|
||||||
rxc-skew-ps = <2000>;
|
rxc-skew-ps = <2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio0 {
|
&gpio0 { /* GPIO 0..29 */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio1 {
|
&gpio1 { /* GPIO 30..57 */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio2 {
|
&gpio2 { /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
rtc: rtc@68 {
|
accel1: accelerometer@53 {
|
||||||
compatible = "stm,m41t82";
|
compatible = "adi,adxl345";
|
||||||
reg = <0x68>;
|
reg = <0x53>;
|
||||||
|
|
||||||
|
interrupt-parent = <&portc>;
|
||||||
|
interrupts = <3 2>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&mmc0 {
|
||||||
|
vmmc-supply = <®ulator_3_3v>;
|
||||||
|
vqmmc-supply = <®ulator_3_3v>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
flash0: n25q00@0 {
|
flash: flash@0 {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q00", "spi-flash";
|
compatible = "n25q00";
|
||||||
reg = <0>; /* chip select */
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <100000000>;
|
||||||
|
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
cdns,page-size = <256>;
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
cdns,block-size = <16>;
|
||||||
|
cdns,read-delay = <4>;
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
|
@ -94,7 +187,3 @@
|
||||||
&usb1 {
|
&usb1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
60
arch/arm/dts/socfpga_cyclone5_socrates-u-boot.dtsi
Normal file
60
arch/arm/dts/socfpga_cyclone5_socrates-u-boot.dtsi
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright (C) 2014 Steffen Trumtrar <s.trumtrar@pengutronix.de>
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
spi0 = "/soc/spi@ff705000";
|
||||||
|
udc0 = &usb1;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash {
|
||||||
|
compatible = "n25q256a", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -9,83 +9,86 @@
|
||||||
model = "EBV SOCrates";
|
model = "EBV SOCrates";
|
||||||
compatible = "ebv,socrates", "altr,socfpga-cyclone5", "altr,socfpga";
|
compatible = "ebv,socrates", "altr,socfpga-cyclone5", "altr,socfpga";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
ethernet0 = &gmac1;
|
||||||
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
memory@0 {
|
||||||
/*
|
|
||||||
* This allows the ethaddr uboot environment variable
|
|
||||||
* contents to be added to the gmac1 device tree blob.
|
|
||||||
*/
|
|
||||||
ethernet0 = &gmac1;
|
|
||||||
udc0 = &usb1;
|
|
||||||
};
|
|
||||||
|
|
||||||
memory {
|
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
leds: gpio-leds {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac1 {
|
&gmac1 {
|
||||||
status = "okay";
|
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
rxd0-skew-ps = <0>;
|
&gpio0 {
|
||||||
rxd1-skew-ps = <0>;
|
status = "okay";
|
||||||
rxd2-skew-ps = <0>;
|
};
|
||||||
rxd3-skew-ps = <0>;
|
|
||||||
txen-skew-ps = <0>;
|
&gpio1 {
|
||||||
txc-skew-ps = <2600>;
|
status = "okay";
|
||||||
rxdv-skew-ps = <0>;
|
|
||||||
rxc-skew-ps = <2000>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
rtc: rtc@68 {
|
rtc: rtc@68 {
|
||||||
compatible = "stm,m41t82";
|
compatible = "st,m41t82";
|
||||||
reg = <0x68>;
|
reg = <0x68>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&mmc0 {
|
&leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led0 {
|
||||||
|
label = "led:green:heartbeat";
|
||||||
|
gpios = <&porta 28 1>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
|
||||||
|
led1 {
|
||||||
|
label = "led:green:D7";
|
||||||
|
gpios = <&portb 19 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
led2 {
|
||||||
|
label = "led:green:D8";
|
||||||
|
gpios = <&portb 25 1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
flash0: n25q00@0 {
|
flash: flash@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q00", "spi-flash";
|
compatible = "n25q256a";
|
||||||
reg = <0>; /* chip select */
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <100000000>;
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
cdns,read-delay = <4>;
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
cdns,tslch-ns = <4>;
|
cdns,tslch-ns = <4>;
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb1 {
|
|
||||||
disable-over-current;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
|
@ -50,6 +50,18 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
speed-mode = <0>;
|
speed-mode = <0>;
|
||||||
|
|
60
arch/arm/dts/socfpga_cyclone5_vining_fpga-u-boot.dtsi
Normal file
60
arch/arm/dts/socfpga_cyclone5_vining_fpga-u-boot.dtsi
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||||
|
/*
|
||||||
|
* U-Boot additions
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Marek Vasut <marex@denx.de>
|
||||||
|
* Copyright (c) 2018 Simon Goldschmidt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/{
|
||||||
|
aliases {
|
||||||
|
spi0 = "/soc/spi@ff705000";
|
||||||
|
udc0 = &usb0;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
n25q128@0 {
|
||||||
|
compatible = "n25q128", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
n25q00@1 {
|
||||||
|
compatible = "n25q00", "spi-flash";
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&porta {
|
||||||
|
bank-name = "porta";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portb {
|
||||||
|
bank-name = "portb";
|
||||||
|
};
|
||||||
|
|
||||||
|
&portc {
|
||||||
|
bank-name = "portc";
|
||||||
|
};
|
|
@ -1,39 +1,85 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0+
|
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015 Marek Vasut <marex@denx.de>
|
* Copyright (C) 2015 Marek Vasut <marex@denx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "socfpga_cyclone5.dtsi"
|
#include "socfpga_cyclone5.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "samtec VIN|ING FPGA";
|
model = "samtec VIN|ING FPGA";
|
||||||
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
|
compatible = "samtec,vining", "altr,socfpga-cyclone5", "altr,socfpga";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "console=ttyS0,115200";
|
bootargs = "earlyprintk";
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
aliases {
|
memory@0 {
|
||||||
ethernet0 = &gmac1;
|
|
||||||
udc0 = &usb0;
|
|
||||||
};
|
|
||||||
|
|
||||||
memory {
|
|
||||||
name = "memory";
|
name = "memory";
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x40000000>; /* 1GB */
|
reg = <0x0 0x40000000>; /* 1GB */
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
aliases {
|
||||||
u-boot,dm-pre-reloc;
|
/*
|
||||||
|
* This allow the ethaddr uboot environment variable contents
|
||||||
|
* to be added to the gmac1 device tree blob.
|
||||||
|
*/
|
||||||
|
ethernet0 = &gmac1;
|
||||||
|
ethernet1 = &gmac0;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
hps_temp0 {
|
||||||
|
label = "BTN_0"; /* TEMP_OS */
|
||||||
|
gpios = <&portc 18 GPIO_ACTIVE_LOW>; /* HPS_GPIO60 */
|
||||||
|
linux,code = <BTN_0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey0 {
|
||||||
|
label = "BTN_1"; /* DIS_PWR */
|
||||||
|
gpios = <&portc 19 GPIO_ACTIVE_LOW>; /* HPS_GPIO61 */
|
||||||
|
linux,code = <BTN_1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
hps_hkey1 {
|
||||||
|
label = "hps_hkey1"; /* POWER_DOWN */
|
||||||
|
gpios = <&portc 20 GPIO_ACTIVE_LOW>; /* HPS_GPIO62 */
|
||||||
|
linux,code = <KEY_POWER>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-usb-nrst {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "usb_nrst";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
gpio = <&portb 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
startup-delay-us = <70000>;
|
||||||
|
enable-active-high;
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac1 {
|
&gmac1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&phy1>;
|
||||||
|
|
||||||
|
snps,reset-gpio = <&porta 0 GPIO_ACTIVE_LOW>;
|
||||||
|
snps,reset-active-low;
|
||||||
|
snps,reset-delays-us = <10000 10000 10000>;
|
||||||
|
|
||||||
|
mdio0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
compatible = "snps,dwmac-mdio";
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
rxd0-skew-ps = <0>;
|
rxd0-skew-ps = <0>;
|
||||||
rxd1-skew-ps = <0>;
|
rxd1-skew-ps = <0>;
|
||||||
rxd2-skew-ps = <0>;
|
rxd2-skew-ps = <0>;
|
||||||
|
@ -42,59 +88,151 @@
|
||||||
txc-skew-ps = <2600>;
|
txc-skew-ps = <2600>;
|
||||||
rxdv-skew-ps = <0>;
|
rxdv-skew-ps = <0>;
|
||||||
rxc-skew-ps = <2000>;
|
rxc-skew-ps = <2000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio0 {
|
&gpio0 { /* GPIO 0..29 */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio1 {
|
&gpio1 { /* GPIO 30..57 */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpio2 {
|
&gpio2 { /* GPIO 58..66 (HLGPI 0..13 at offset 13) */
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
rtc: rtc@68 {
|
gpio: pca9557@1f {
|
||||||
compatible = "stm,m41t82";
|
compatible = "nxp,pca9557";
|
||||||
reg = <0x68>;
|
reg = <0x1f>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
temp: lm75@48 {
|
||||||
|
compatible = "lm75";
|
||||||
|
reg = <0x48>;
|
||||||
|
};
|
||||||
|
|
||||||
|
at24@50 {
|
||||||
|
compatible = "atmel,24c01";
|
||||||
|
pagesize = <8>;
|
||||||
|
reg = <0x50>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2cswitch@70 {
|
||||||
|
compatible = "nxp,pca9548";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x70>;
|
||||||
|
|
||||||
|
i2c@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@1 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@2 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@3 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@4 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@5 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@6 { /* Backplane EEPROM */
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <6>;
|
||||||
|
eeprom@51 {
|
||||||
|
compatible = "atmel,24c01";
|
||||||
|
pagesize = <8>;
|
||||||
|
reg = <0x51>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@7 { /* Power board EEPROM */
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <7>;
|
||||||
|
eeprom@51 {
|
||||||
|
compatible = "atmel,24c01";
|
||||||
|
pagesize = <8>;
|
||||||
|
reg = <0x51>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
|
||||||
|
at24@50 {
|
||||||
|
compatible = "atmel,24c02";
|
||||||
|
pagesize = <8>;
|
||||||
|
reg = <0x50>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
flash0: n25q128@0 {
|
n25q128@0 {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q128", "spi-flash";
|
compatible = "n25q128";
|
||||||
reg = <0>; /* chip select */
|
reg = <0>; /* chip select */
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <100000000>;
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
cdns,page-size = <256>;
|
||||||
|
cdns,block-size = <16>;
|
||||||
|
cdns,read-delay = <4>;
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
cdns,tslch-ns = <4>;
|
cdns,tslch-ns = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
flash1: n25q00@1 {
|
n25q00@1 {
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "n25q00", "spi-flash";
|
compatible = "n25q00";
|
||||||
reg = <1>; /* chip select */
|
reg = <1>; /* chip select */
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <100000000>;
|
||||||
m25p,fast-read;
|
m25p,fast-read;
|
||||||
page-size = <256>;
|
|
||||||
block-size = <16>; /* 2^16, 64KB */
|
cdns,page-size = <256>;
|
||||||
|
cdns,block-size = <16>;
|
||||||
|
cdns,read-delay = <4>;
|
||||||
cdns,tshsl-ns = <50>;
|
cdns,tshsl-ns = <50>;
|
||||||
cdns,tsd2d-ns = <50>;
|
cdns,tsd2d-ns = <50>;
|
||||||
cdns,tchsh-ns = <4>;
|
cdns,tchsh-ns = <4>;
|
||||||
|
@ -103,13 +241,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb0 {
|
&usb0 {
|
||||||
|
dr_mode = "host";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb1 {
|
&usb1 {
|
||||||
|
dr_mode = "peripheral";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
};
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue