mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-30 05:48:51 +09:00
![Suman Anna](/assets/img/avatar_default.png)
The AM65x SoCs has a single dual-core Arm Cortex-R5F processor subsystem/cluster (MCU_R5FSS0) within the MCU domain. This cluster can be configured at boot time to be either run in a LockStep mode or in an Asymmetric Multi Processing (AMP) fashion in Split-mode. This subsystem has 64 KB each Tightly-Coupled Memory (TCM) internal memories for each core split between two banks - ATCM and BTCM (further interleaved into two banks). There are some IP integration differences from standard Arm R5 clusters such as the absence of an ACP port, presence of an additional TI-specific Region Address Translater (RAT) module for translating 32-bit CPU addresses into larger system bus addresses etc. Add the DT node for the MCU domain R5F cluster/subsystem, the two R5 cores are added as child nodes to the main cluster/subsystem node. The cluster is configured to run in Split-mode by default, with the ATCMs enabled to allow the R5 cores to execute code from DDR with boot-strapping code from ATCM. The inter-processor communication between the main A72 cores and these processors is achieved through shared memory and Mailboxes. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
92 lines
2.3 KiB
Plaintext
92 lines
2.3 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "k3-am654.dtsi"
|
|
#include <dt-bindings/pinctrl/k3.h>
|
|
|
|
/ {
|
|
compatible = "ti,am654-evm", "ti,am654";
|
|
model = "Texas Instruments AM654 Base Board";
|
|
|
|
chosen {
|
|
stdout-path = "serial2:115200n8";
|
|
bootargs = "earlycon=ns16550a,mmio32,0x02800000";
|
|
};
|
|
|
|
aliases {
|
|
remoteproc0 = &mcu_r5fss0_core0;
|
|
remoteproc1 = &mcu_r5fss0_core1;
|
|
};
|
|
|
|
memory@80000000 {
|
|
device_type = "memory";
|
|
/* 4G RAM */
|
|
reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
|
|
<0x00000008 0x80000000 0x00000000 0x80000000>;
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
secure_ddr: secure_ddr@9e800000 {
|
|
reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
|
|
alignment = <0x1000>;
|
|
no-map;
|
|
};
|
|
};
|
|
};
|
|
|
|
&main_pmx0 {
|
|
main_mmc0_pins_default: main_mmc0_pins_default {
|
|
pinctrl-single,pins = <
|
|
AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
|
|
AM65X_IOPAD(0x01aC, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
|
|
AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
|
|
AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
|
|
AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
|
|
AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
|
|
AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
|
|
AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
|
|
AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
|
|
AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
|
|
AM65X_IOPAD(0x01b4, PIN_INPUT_PULLUP, 0) /* (A23) MMC0_SDCD */
|
|
AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&wkup_pmx0 {
|
|
wkup_i2c0_pins_default: wkup-i2c0-pins-default {
|
|
pinctrl-single,pins = <
|
|
AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0) /* (AC7) WKUP_I2C0_SCL */
|
|
AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0) /* (AD6) WKUP_I2C0_SDA */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&sdhci0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&main_mmc0_pins_default>;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
ti,driver-strength-ohm = <50>;
|
|
};
|
|
|
|
&wkup_i2c0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wkup_i2c0_pins_default>;
|
|
clock-frequency = <400000>;
|
|
|
|
tca9554: gpio@38 {
|
|
compatible = "nxp,pca9554";
|
|
reg = <0x38>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|