131f8f6ebSJoseph Chen/* 231f8f6ebSJoseph Chen * Copyright (C) 2021 Fuzhou Rockchip Electronics Co., Ltd 3b8fb8531SJoseph Chen * 431f8f6ebSJoseph Chen * SPDX-License-Identifier: GPL-2.0 531f8f6ebSJoseph Chen */ 631f8f6ebSJoseph Chen 731f8f6ebSJoseph Chen/dts-v1/; 831f8f6ebSJoseph Chen/ { 9b8fb8531SJoseph Chen description = "Rockchip AMP FIT Image"; 1031f8f6ebSJoseph Chen #address-cells = <1>; 1131f8f6ebSJoseph Chen 1231f8f6ebSJoseph Chen images { 13b8fb8531SJoseph Chen /* ARM cortex-A core */ 1431f8f6ebSJoseph Chen amp1 { 1531f8f6ebSJoseph Chen description = "bare-mental-core1"; 16bb4a1f43SJoseph Chen data = /incbin/("./amp1.bin"); 17b8fb8531SJoseph Chen type = "firmware"; // must be "firmware" 1831f8f6ebSJoseph Chen compression = "none"; 19b8fb8531SJoseph Chen arch = "arm"; // "arm64" or "arm", the same as U-Boot state 20bb4a1f43SJoseph Chen cpu = <0x100>; // mpidr 21bb4a1f43SJoseph Chen thumb = <0>; // 0: arm or thumb2; 1: thumb 22bb4a1f43SJoseph Chen hyp = <0>; // 0: el1/svc; 1: el2/hyp 23bbbdc31fSSteven Liu load = <0x01800000>; 24610d16c9SSteven Liu udelay = <1000000>; 2531f8f6ebSJoseph Chen hash { 2631f8f6ebSJoseph Chen algo = "sha256"; 2731f8f6ebSJoseph Chen }; 2831f8f6ebSJoseph Chen }; 2931f8f6ebSJoseph Chen 3031f8f6ebSJoseph Chen amp2 { 3131f8f6ebSJoseph Chen description = "bare-mental-core2"; 32bb4a1f43SJoseph Chen data = /incbin/("./amp2.bin"); 3331f8f6ebSJoseph Chen type = "firmware"; 3431f8f6ebSJoseph Chen compression = "none"; 35c51cf040SJoseph Chen arch = "arm"; 3631f8f6ebSJoseph Chen cpu = <0x200>; 3731f8f6ebSJoseph Chen thumb = <0>; 3831f8f6ebSJoseph Chen hyp = <0>; 39bbbdc31fSSteven Liu load = <0x03800000>; 40610d16c9SSteven Liu udelay = <1000000>; 4131f8f6ebSJoseph Chen hash { 4231f8f6ebSJoseph Chen algo = "sha256"; 4331f8f6ebSJoseph Chen }; 4431f8f6ebSJoseph Chen }; 4531f8f6ebSJoseph Chen 4631f8f6ebSJoseph Chen amp3 { 4731f8f6ebSJoseph Chen description = "bare-mental-core3"; 48bb4a1f43SJoseph Chen data = /incbin/("./amp3.bin"); 4931f8f6ebSJoseph Chen type = "firmware"; 5031f8f6ebSJoseph Chen compression = "none"; 51c51cf040SJoseph Chen arch = "arm"; 5231f8f6ebSJoseph Chen cpu = <0x300>; 5331f8f6ebSJoseph Chen thumb = <0>; 5431f8f6ebSJoseph Chen hyp = <0>; 55bbbdc31fSSteven Liu load = <0x05800000>; 56610d16c9SSteven Liu udelay = <1000000>; 5731f8f6ebSJoseph Chen hash { 5831f8f6ebSJoseph Chen algo = "sha256"; 5931f8f6ebSJoseph Chen }; 6031f8f6ebSJoseph Chen }; 61b8fb8531SJoseph Chen 62b8fb8531SJoseph Chen /* Other core */ 63b8fb8531SJoseph Chen amp4 { 64b8fb8531SJoseph Chen description = "standalone-mcu1"; 65b8fb8531SJoseph Chen data = /incbin/("./mcu1.bin"); 66b8fb8531SJoseph Chen type = "standalone"; // must be "standalone" 67b8fb8531SJoseph Chen compression = "none"; 68b8fb8531SJoseph Chen arch = "arm"; // "arm64" or "arm", the same as U-Boot state 69b8fb8531SJoseph Chen load = <0x06800000>; 70b8fb8531SJoseph Chen udelay = <1000000>; 71b8fb8531SJoseph Chen hash { 72b8fb8531SJoseph Chen algo = "sha256"; 73b8fb8531SJoseph Chen }; 74b8fb8531SJoseph Chen }; 7531f8f6ebSJoseph Chen }; 7631f8f6ebSJoseph Chen 7731f8f6ebSJoseph Chen configurations { 7831f8f6ebSJoseph Chen default = "conf"; 7931f8f6ebSJoseph Chen conf { 8031f8f6ebSJoseph Chen description = "Rockchip AMP images"; 8131f8f6ebSJoseph Chen rollback-index = <0x0>; 82b8fb8531SJoseph Chen loadables = "amp1", "amp2", "amp3", "amp4"; 8331f8f6ebSJoseph Chen 8431f8f6ebSJoseph Chen signature { 8531f8f6ebSJoseph Chen algo = "sha256,rsa2048"; 8631f8f6ebSJoseph Chen padding = "pss"; 8731f8f6ebSJoseph Chen key-name-hint = "dev"; 8831f8f6ebSJoseph Chen sign-images = "loadables"; 8931f8f6ebSJoseph Chen }; 90bb4a1f43SJoseph Chen 91bb4a1f43SJoseph Chen /* - run linux on cpu0 92bb4a1f43SJoseph Chen * - it is brought up by amp(that run on U-Boot) 93bb4a1f43SJoseph Chen * - it is boot entry depends on U-Boot 94bb4a1f43SJoseph Chen */ 95bb4a1f43SJoseph Chen linux { 96bb4a1f43SJoseph Chen description = "linux-os"; 97bb4a1f43SJoseph Chen arch = "arm64"; 98bb4a1f43SJoseph Chen cpu = <0x000>; 99bb4a1f43SJoseph Chen thumb = <0>; 100bb4a1f43SJoseph Chen hyp = <0>; 101bb4a1f43SJoseph Chen udelay = <1000000>; 102*1dc5141fSJoseph Chen load = <0x2000000>; // optional 103*1dc5141fSJoseph Chen load_c = <0x4000000>; // optional 104bb4a1f43SJoseph Chen }; 10531f8f6ebSJoseph Chen }; 10631f8f6ebSJoseph Chen }; 10731f8f6ebSJoseph Chen}; 108