// SPDX-License-Identifier: GPL-2.0+ /* * U-Boot additions for Agilex5 SocDK eMMC * * Copyright (C) 2025 Altera Corporation */ #include "socfpga_agilex5-u-boot.dtsi" /{ aliases { spi0 = &qspi; freeze_br0 = &freeze_controller; }; soc { freeze_controller: freeze_controller@0x20000450 { compatible = "altr,freeze-bridge-controller"; reg = <0x20000450 0x00000010>; status = "disabled"; }; }; /* * Both Memory base address and size default info is retrieved from HW setting. * Reconfiguration / Overwrite these info can be done with examples below. * * When LPDDR ECC is enabled, the last 1/8 of the memory region must * be reserved for the Inline ECC buffer. * * Example for memory size with 2GB: * memory { * reg = <0x0 0x80000000 0x0 0x80000000>; * }; * * Example for memory size with 8GB: * memory { * reg = <0x0 0x80000000 0x0 0x80000000>, * <0x8 0x80000000 0x1 0x80000000>; * }; * * Example for memory size with 32GB: * memory { * reg = <0x0 0x80000000 0x0 0x80000000>, * <0x8 0x80000000 0x7 0x80000000>; * }; * * Example for memory size with 512GB: * memory { * reg = <0x0 0x80000000 0x0 0x80000000>, * <0x8 0x80000000 0x7 0x80000000>, * <0x88 0x00000000 0x78 0x00000000>; * }; * * Example for memory size with 2GB with LPDDR Inline ECC ON: * memory { * reg = <0x0 0x80000000 0x0 0x70000000>; * }; * * Example for memory size with 8GB with LPDDR Inline ECC ON: * memory { * reg = <0x0 0x80000000 0x0 0x80000000>, * <0x8 0x80000000 0x1 0x40000000>; * }; */ chosen { stdout-path = "serial0:115200n8"; u-boot,spl-boot-order = &mmc,&flash0,&nand,"/memory"; }; }; &flash0 { compatible = "jedec,spi-nor"; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; bootph-all; /delete-property/ cdns,read-delay; }; &flash1 { bootph-all; }; &i3c0 { bootph-all; }; &i3c1 { bootph-all; }; &gpio1 { portb: gpio-controller@0 { bootph-all; }; }; &sd_emmc_power { bootph-all; }; &emmc_io_1v8_reg { bootph-all; }; &mmc { bootph-all; }; &qspi { status = "okay"; }; &nand { status = "disabled"; bootph-all; }; &timer0 { bootph-all; }; &timer1 { bootph-all; }; &timer2 { bootph-all; }; &timer3 { bootph-all; }; &watchdog0 { bootph-all; }; &gmac0 { status = "okay"; phy-mode = "rgmii"; phy-handle = <&emac0_phy0>; max-frame-size = <9000>; mdio0 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwxgmac-mdio"; emac0_phy0: ethernet-phy@0 { reg = <0>; }; }; }; &gmac2 { status = "okay"; phy-mode = "rgmii"; phy-handle = <&emac2_phy0>; max-frame-size = <9000>; mdio0 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwxgmac-mdio"; emac2_phy0: ethernet-phy@0 { reg = <0>; }; }; };