mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-13 06:42:56 +00:00
5e00547e58
Ethernet is one of a few IPs in U-Boot that depend on DMA to operate. However there are a few missing registers ranges in the udmap nodes need to properly setup DMA for the am65x. A fix has been added to the Linux kernel[0] to add these ranges however they have not made it to a Linux tag. To keep DMA operational until the next DT sync from Linux, add these ranges to the *-u-boot.dtsi with a note for our future selves. [0] https://lore.kernel.org/r/20231213135138.929517-2-vigneshr@ti.com Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
288 lines
3.5 KiB
Text
288 lines
3.5 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (C) 2018-2021 Texas Instruments Incorporated - https://www.ti.com/
|
|
*/
|
|
|
|
#include "k3-am65x-binman.dtsi"
|
|
|
|
/ {
|
|
chosen {
|
|
tick-timer = &mcu_timer0;
|
|
};
|
|
};
|
|
|
|
&mcu_timer0 {
|
|
ti,timer-alwon;
|
|
clock-frequency = <25000000>;
|
|
bootph-all;
|
|
};
|
|
|
|
&vtt_supply {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&cbass_main {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_navss {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&cbass_mcu {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&mcu_navss {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&mcu_ringacc {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&mcu_udmap {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_gpio0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&secure_proxy_main {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&cbass_wakeup {
|
|
bootph-pre-ram;
|
|
|
|
chipid@43000014 {
|
|
bootph-pre-ram;
|
|
};
|
|
};
|
|
|
|
&dmsc {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&k3_pds {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&k3_clks {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&k3_reset {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_uart0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_vtm0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_pmx0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_uart0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_vtt_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&mcu_uart0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_i2c0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&mcu_fss0_ospi0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_pmx0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_uart0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_mmc0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_mmc1_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&usb0_pins_default {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&main_pmx1 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&sdhci0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&sdhci1 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&wkup_i2c0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&vdd_mpu {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&ospi0 {
|
|
bootph-pre-ram;
|
|
|
|
flash@0 {
|
|
bootph-pre-ram;
|
|
};
|
|
};
|
|
|
|
&dwc3_0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&usb0_phy {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&usb0 {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&scm_conf {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&fss {
|
|
bootph-pre-ram;
|
|
};
|
|
|
|
&pru0_0 {
|
|
remoteproc-name = "pru0_0";
|
|
};
|
|
|
|
&rtu0_0 {
|
|
remoteproc-name = "rtu0_0";
|
|
};
|
|
|
|
&tx_pru0_0 {
|
|
remoteproc-name = "tx_pru0_0";
|
|
};
|
|
|
|
&pru0_1 {
|
|
remoteproc-name = "pru0_1";
|
|
};
|
|
|
|
&rtu0_1 {
|
|
remoteproc-name = "rtu0_1";
|
|
};
|
|
|
|
&tx_pru0_1 {
|
|
remoteproc-name = "tx_pru0_1";
|
|
};
|
|
|
|
&pru1_0 {
|
|
remoteproc-name = "pru1_0";
|
|
};
|
|
|
|
&rtu1_0 {
|
|
remoteproc-name = "rtu1_0";
|
|
};
|
|
|
|
&tx_pru1_0 {
|
|
remoteproc-name = "tx_pru1_0";
|
|
};
|
|
|
|
&pru1_1 {
|
|
remoteproc-name = "pru1_1";
|
|
};
|
|
|
|
&rtu1_1 {
|
|
remoteproc-name = "rtu1_1";
|
|
};
|
|
|
|
&tx_pru1_1 {
|
|
remoteproc-name = "tx_pru1_1";
|
|
};
|
|
|
|
&pru2_0 {
|
|
remoteproc-name = "pru2_0";
|
|
};
|
|
|
|
&rtu2_0 {
|
|
remoteproc-name = "rtu2_0";
|
|
};
|
|
|
|
&tx_pru2_0 {
|
|
remoteproc-name = "tx_pru2_0";
|
|
};
|
|
|
|
&pru2_1 {
|
|
remoteproc-name = "pru2_1";
|
|
};
|
|
|
|
&rtu2_1 {
|
|
remoteproc-name = "rtu2_1";
|
|
};
|
|
|
|
&tx_pru2_1 {
|
|
remoteproc-name = "tx_pru2_1";
|
|
};
|
|
|
|
&mcu_r5fss0 {
|
|
ti,cluster-mode = <0>;
|
|
};
|
|
|
|
/*
|
|
* The DMA driver requires a few extra register ranges
|
|
* which are missing for the am65x. A patch has been
|
|
* sent and will be synced after the v6.8-rc1 linux
|
|
* tag is published
|
|
*/
|
|
&main_udmap {
|
|
reg = <0x0 0x31150000 0x0 0x100>,
|
|
<0x0 0x34000000 0x0 0x100000>,
|
|
<0x0 0x35000000 0x0 0x100000>,
|
|
<0x0 0x30b00000 0x0 0x10000>,
|
|
<0x0 0x30c00000 0x0 0x10000>,
|
|
<0x0 0x30d00000 0x0 0x8000>;
|
|
reg-names = "gcfg", "rchanrt", "tchanrt",
|
|
"tchan", "rchan", "rflow";
|
|
};
|
|
|
|
/*
|
|
* The DMA driver requires a few extra register ranges
|
|
* which are missing for the am65x. A patch has been
|
|
* sent and will be synced after the v6.8-rc1 linux
|
|
* tag is published
|
|
*/
|
|
&mcu_udmap {
|
|
reg = <0x0 0x285c0000 0x0 0x100>,
|
|
<0x0 0x2a800000 0x0 0x40000>,
|
|
<0x0 0x2aa00000 0x0 0x40000>,
|
|
<0x0 0x284a0000 0x0 0x4000>,
|
|
<0x0 0x284c0000 0x0 0x4000>,
|
|
<0x0 0x28400000 0x0 0x2000>;
|
|
reg-names = "gcfg", "rchanrt", "tchanrt",
|
|
"tchan", "rchan", "rflow";
|
|
};
|