From patchwork Sat May 2 10:06:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281558 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=dhjT0ZIc; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlDG3xsMz9sSd for ; Sat, 2 May 2020 20:07:42 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2946581D56; Sat, 2 May 2020 12:07:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="dhjT0ZIc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B87DF81D56; Sat, 2 May 2020 12:07:28 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20628.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::628]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E54DB81CD6 for ; Sat, 2 May 2020 12:07:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bVf5n1zcLA28IV3Y93DAKZWJdZrTVap4bSayddSRHrUyFZITaGN3XmmANeZw7oB3zTf+WDMR2TZk7TnpC977C7DW2ttPhVdv1ctxiS0saGVzg1m1XvrY/kHZTnIrYOi+82nxnYLODT+K22Ffe2lJSj/liqW7/YQ7/IDCLLe+OzKOi5wKEXMJkw65v1qHHWVME7UcBJvLPekTimr2LBmqTS8svduPtpiOdxU3f7jRl9k1TDQsjG4v7V6Si8+Wv0e/jLt+O8sgvgFM6gU7FwOwpRQrZ0817YY1H02uDBW1Pukul5on9+iWUsOjw/dtwPltt3qnW3tSQaG1/OW8vDlu9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c52QYBbxkGDPMg90BEUw0Wek47J1Dh1qJcKLPXjhNlw=; b=UXxjcXS0fFV29SbyhQ678pMr5/gvtUfjm9tePfFgzVb+bpL4cTDYeAiJ7H9WYRhBqE9reC7P3JpexSYwYgHLoJiHuHI3ZPg5J6J8XrYsduktyqdw/whkW37rmQKCfg1bULJ9p5wdzkd+KPHGRqc5K6lZ2+2KL5la7Zrb00Wt7hmgZCzgZW+LumZWVcFAok43Y+kkgSpq9lBWJOQ46BKwwv7TxbMDB5sMCrglOUoeztloarMj0gej7SsYrKYD3jqcCwcHxxZdBx1gLjSxoC1RHiyyviNUbWUNjSJb/eB2NPfLjsFLC2dMJXnT3tMdp+x7suBQcJbr7ZmBkxj1AfKMFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c52QYBbxkGDPMg90BEUw0Wek47J1Dh1qJcKLPXjhNlw=; b=dhjT0ZIcvOzROMpLB1d4HWhRE3cWiBC/mWLnGH0I1NtatSvSfH0/lM2SaaCP89Out/cVQa7L/xpR36w9TQzXpIq3SPIx45yfkfSLAC/gw8Xezjs+JczYnitMchagdLEU2GbuKPVrWehh8wNkl5fWhVldpu/pYgMEMACt1Ou4BfM= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:23 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:23 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Tero Kristo , Simon Glass , Adam Ford , Eugen Hristev , Peng Fan , Finley Xiao , Kever Yang Subject: [PATCH v7 01/22] misc: add driver for the SiFive otp controller Date: Sat, 2 May 2020 15:36:05 +0530 Message-Id: <20200502100628.24809-2-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:17 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bdf0dbc8-4638-49e6-ee61-08d7ee809b53 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:415; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nU/pCY9gJC2AznLgPh5Wui5nEP7ri6X5fX66MfAKhT20d4I3UrUy4jn6EjewJsiaYxSMOKCp+p06X3vqZexR+Ifr9K62s4xtySiR1hdldlkBqtY6fcSNVrOI71hqhbRkLn29Z6S9uqQqzrKkUcqRCnX7e/9hvxEUlVgZgLEe5G2LcqHnxKUzIVQijSNKYTAc7cMrIdo1WF6GD3VDKvOYMLYoqaaBPTVoUFCrG/d2cDX7ZxNeoKBIMtWxy3M2d0BIM+91mk77kDQkOv4xKsYXXODLhf8VD/5tXAyv6T6iGEeyn9vAWCJRYRby83iA6zGyomyqKdLpcgkEfWfj5THfJmvS6Yy0taJ6zF8xQl+c63ta6iwTfxi67mC8UHbBteXHrC4wmGFdrr9HpCh5EjsmtpP0hu/JRL74mpr9eSocSm3rSwHx0atu6XwK2zVKphW4xuaERcdpJn+pTeLPCGVfdO6dtish0vCqv1tiyVS9t6N6rTDWE5YTAblI+b9rgDXqpe+/A92b05M+1gRyYHOoug== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(6029001)(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(966005)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(7416002)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 72S8cbCqZ3ZMskKj++wTGbMCNJGt1mUUGphZAxl4e3qUhAj1457E4PK5w58cL5FPcVFZ78E83vfCRp00S53LhVuzWRaYxDeBtitigcgsMCqlyNhHEbspQKEqH81clVBRCpPD4gGvQK0bP7i0eBVWq7JArbtvsyJb+byOMRUX2Q6GPf/orc0op9upZng63k5e/MMG7QMKCP2XkPgpv+8hOuDFZDTPSG8Y9pJTpVxWGfXGOG1bRF9BQIvC78XiH8/s1tpv9SHYFUcjg/oNQ6yaRXljqv+oD9/dv0Eg6u0zUTc2ATi8eYCw6Td34+zXcqTZYja8VqBsQrItV1cZQqZKg6urUJIeKXSbuvmmKgzKmQNE/eTDgLHIrpJvjCtr/uha+0pLvfggNGuDDH/Zaa1N91kxzjYjNinoS80IbK8CzAo1oxkRPRqLxU5coP5qKLJxDlFxYDUpXKfN78HIuQVs0tYG3lFnPVLu/6SUnccSVuPjfiucHRgCtn5lqguVcSQeiKdYZG8AVAmqT6OuSMtwPZH/S6QcjzQZ96gNqo5EbqehJIp+7HH1UcOVqniF0l8Y/7oyY7/pv2dzOm6ZlpkyMBBLg4O7ienjhcAPzPNyNRrSDa8mEknaENmAjnFjaBlKcg+bnOzX4sfIS31vGbpGn97nkKcUil0z9ASnSc+fF2Nk2My3twj+CTDB6kcFIr3cCfe8vSj0iNp/H0ILQ0MznN7+up109wpPkOxTK8YARGjZodWHBDuhpRvbL93siYf4jZlXXah1PzJPDvucMzSn3LHyVyE9qgXGUHEghow3iL0= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdf0dbc8-4638-49e6-ee61-08d7ee809b53 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:22.9616 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pXBtbPaHBetOQeH3pwMJ6XI/UP5nGoQMz6DGDiFvpzDYraZxaxHTo/1l0ZUzzECxAAMQGPoctrNAnR+XDy+wE/avoizV8miL7wNoO4D6ScE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Added a misc driver to handle OTP memory in SiFive SoCs. Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- drivers/misc/Kconfig | 7 + drivers/misc/Makefile | 1 + drivers/misc/sifive-otp.c | 273 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 281 insertions(+) create mode 100644 drivers/misc/sifive-otp.c diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 766402745d..03464f1010 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -68,6 +68,13 @@ config ROCKCHIP_OTP addressing and a length or through child-nodes that are generated based on the e-fuse map retrieved from the DTS. +config SIFIVE_OTP + bool "SiFive eMemory OTP driver" + depends on RISCV && MISC + help + Enable support for reading and writing the eMemory OTP on the + SiFive SoCs. + config VEXPRESS_CONFIG bool "Enable support for Arm Versatile Express config bus" depends on MISC diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 68e0e7ad17..ed6bfc1356 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -58,6 +58,7 @@ obj-$(CONFIG_$(SPL_)PWRSEQ) += pwrseq-uclass.o obj-$(CONFIG_QFW) += qfw.o obj-$(CONFIG_ROCKCHIP_EFUSE) += rockchip-efuse.o obj-$(CONFIG_ROCKCHIP_OTP) += rockchip-otp.o +obj-$(CONFIG_SIFIVE_OTP) += sifive-otp.o obj-$(CONFIG_SANDBOX) += syscon_sandbox.o misc_sandbox.o obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o obj-$(CONFIG_SMSC_SIO1007) += smsc_sio1007.o diff --git a/drivers/misc/sifive-otp.c b/drivers/misc/sifive-otp.c new file mode 100644 index 0000000000..6a788f540d --- /dev/null +++ b/drivers/misc/sifive-otp.c @@ -0,0 +1,273 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * This is a driver for the eMemory EG004K32TQ028XW01 NeoFuse + * One-Time-Programmable (OTP) memory used within the SiFive FU540. + * It is documented in the FU540 manual here: + * https://www.sifive.com/documentation/chips/freedom-u540-c000-manual/ + * + * Copyright (C) 2018 Philipp Hug + * Copyright (C) 2018 Joey Hewitt + * + * Copyright (C) 2020 SiFive, Inc + */ + +/* + * The FU540 stores 4096x32 bit (16KiB) values. + * Index 0x00-0xff are reserved for SiFive internal use. (first 1KiB) + * Right now first 1KiB is used to store only serial number. + */ + +#include +#include +#include +#include +#include + +#define BYTES_PER_FUSE 4 + +#define PA_RESET_VAL 0x00 +#define PAS_RESET_VAL 0x00 +#define PAIO_RESET_VAL 0x00 +#define PDIN_RESET_VAL 0x00 +#define PTM_RESET_VAL 0x00 + +#define PCLK_ENABLE_VAL BIT(0) +#define PCLK_DISABLE_VAL 0x00 + +#define PWE_WRITE_ENABLE BIT(0) +#define PWE_WRITE_DISABLE 0x00 + +#define PTM_FUSE_PROGRAM_VAL BIT(1) + +#define PCE_ENABLE_INPUT BIT(0) +#define PCE_DISABLE_INPUT 0x00 + +#define PPROG_ENABLE_INPUT BIT(0) +#define PPROG_DISABLE_INPUT 0x00 + +#define PTRIM_ENABLE_INPUT BIT(0) +#define PTRIM_DISABLE_INPUT 0x00 + +#define PDSTB_DEEP_STANDBY_ENABLE BIT(0) +#define PDSTB_DEEP_STANDBY_DISABLE 0x00 + +/* Tpw - Program Pulse width delay */ +#define TPW_DELAY 20 + +/* Tpwi - Program Pulse interval delay */ +#define TPWI_DELAY 5 + +/* Tasp - Program address setup delay */ +#define TASP_DELAY 1 + +/* Tcd - read data access delay */ +#define TCD_DELAY 40 + +/* Tkl - clok pulse low delay */ +#define TKL_DELAY 10 + +/* Tms - PTM mode setup delay */ +#define TMS_DELAY 1 + +struct sifive_otp_regs { + u32 pa; /* Address input */ + u32 paio; /* Program address input */ + u32 pas; /* Program redundancy cell selection input */ + u32 pce; /* OTP Macro enable input */ + u32 pclk; /* Clock input */ + u32 pdin; /* Write data input */ + u32 pdout; /* Read data output */ + u32 pdstb; /* Deep standby mode enable input (active low) */ + u32 pprog; /* Program mode enable input */ + u32 ptc; /* Test column enable input */ + u32 ptm; /* Test mode enable input */ + u32 ptm_rep;/* Repair function test mode enable input */ + u32 ptr; /* Test row enable input */ + u32 ptrim; /* Repair function enable input */ + u32 pwe; /* Write enable input (defines program cycle) */ +}; + +struct sifive_otp_platdata { + struct sifive_otp_regs __iomem *regs; + u32 total_fuses; +}; + +/* + * offset and size are assumed aligned to the size of the fuses (32-bit). + */ +static int sifive_otp_read(struct udevice *dev, int offset, + void *buf, int size) +{ + struct sifive_otp_platdata *plat = dev_get_platdata(dev); + struct sifive_otp_regs *regs = (struct sifive_otp_regs *)plat->regs; + + /* Check if offset and size are multiple of BYTES_PER_FUSE */ + if ((size % BYTES_PER_FUSE) || (offset % BYTES_PER_FUSE)) { + printf("%s: size and offset must be multiple of 4.\n", + __func__); + return -EINVAL; + } + + int fuseidx = offset / BYTES_PER_FUSE; + int fusecount = size / BYTES_PER_FUSE; + + /* check bounds */ + if (offset < 0 || size < 0) + return -EINVAL; + if (fuseidx >= plat->total_fuses) + return -EINVAL; + if ((fuseidx + fusecount) > plat->total_fuses) + return -EINVAL; + + u32 fusebuf[fusecount]; + + /* init OTP */ + writel(PDSTB_DEEP_STANDBY_ENABLE, ®s->pdstb); + writel(PTRIM_ENABLE_INPUT, ®s->ptrim); + writel(PCE_ENABLE_INPUT, ®s->pce); + + /* read all requested fuses */ + for (unsigned int i = 0; i < fusecount; i++, fuseidx++) { + writel(fuseidx, ®s->pa); + + /* cycle clock to read */ + writel(PCLK_ENABLE_VAL, ®s->pclk); + ndelay(TCD_DELAY * 1000); + writel(PCLK_DISABLE_VAL, ®s->pclk); + ndelay(TKL_DELAY * 1000); + + /* read the value */ + fusebuf[i] = readl(®s->pdout); + } + + /* shut down */ + writel(PCE_DISABLE_INPUT, ®s->pce); + writel(PTRIM_DISABLE_INPUT, ®s->ptrim); + writel(PDSTB_DEEP_STANDBY_DISABLE, ®s->pdstb); + + /* copy out */ + memcpy(buf, fusebuf, size); + + return size; +} + +/* + * Caution: + * OTP can be written only once, so use carefully. + * + * offset and size are assumed aligned to the size of the fuses (32-bit). + */ +static int sifive_otp_write(struct udevice *dev, int offset, + const void *buf, int size) +{ + struct sifive_otp_platdata *plat = dev_get_platdata(dev); + struct sifive_otp_regs *regs = (struct sifive_otp_regs *)plat->regs; + + /* Check if offset and size are multiple of BYTES_PER_FUSE */ + if ((size % BYTES_PER_FUSE) || (offset % BYTES_PER_FUSE)) { + printf("%s: size and offset must be multiple of 4.\n", + __func__); + return -EINVAL; + } + + int fuseidx = offset / BYTES_PER_FUSE; + int fusecount = size / BYTES_PER_FUSE; + u32 *write_buf = (u32 *)buf; + u32 write_data; + int i, pas, bit; + + /* check bounds */ + if (offset < 0 || size < 0) + return -EINVAL; + if (fuseidx >= plat->total_fuses) + return -EINVAL; + if ((fuseidx + fusecount) > plat->total_fuses) + return -EINVAL; + + /* init OTP */ + writel(PDSTB_DEEP_STANDBY_ENABLE, ®s->pdstb); + writel(PTRIM_ENABLE_INPUT, ®s->ptrim); + + /* reset registers */ + writel(PCLK_DISABLE_VAL, ®s->pclk); + writel(PA_RESET_VAL, ®s->pa); + writel(PAS_RESET_VAL, ®s->pas); + writel(PAIO_RESET_VAL, ®s->paio); + writel(PDIN_RESET_VAL, ®s->pdin); + writel(PWE_WRITE_DISABLE, ®s->pwe); + writel(PTM_FUSE_PROGRAM_VAL, ®s->ptm); + ndelay(TMS_DELAY * 1000); + + writel(PCE_ENABLE_INPUT, ®s->pce); + writel(PPROG_ENABLE_INPUT, ®s->pprog); + + /* write all requested fuses */ + for (i = 0; i < fusecount; i++, fuseidx++) { + writel(fuseidx, ®s->pa); + write_data = *(write_buf++); + + for (pas = 0; pas < 2; pas++) { + writel(pas, ®s->pas); + + for (bit = 0; bit < 32; bit++) { + writel(bit, ®s->paio); + writel(((write_data >> bit) & 1), + ®s->pdin); + ndelay(TASP_DELAY * 1000); + + writel(PWE_WRITE_ENABLE, ®s->pwe); + udelay(TPW_DELAY); + writel(PWE_WRITE_DISABLE, ®s->pwe); + udelay(TPWI_DELAY); + } + } + + writel(PAS_RESET_VAL, ®s->pas); + } + + /* shut down */ + writel(PWE_WRITE_DISABLE, ®s->pwe); + writel(PPROG_DISABLE_INPUT, ®s->pprog); + writel(PCE_DISABLE_INPUT, ®s->pce); + writel(PTM_RESET_VAL, ®s->ptm); + + writel(PTRIM_DISABLE_INPUT, ®s->ptrim); + writel(PDSTB_DEEP_STANDBY_DISABLE, ®s->pdstb); + + return size; +} + +static int sifive_otp_ofdata_to_platdata(struct udevice *dev) +{ + struct sifive_otp_platdata *plat = dev_get_platdata(dev); + int ret; + + plat->regs = dev_read_addr_ptr(dev); + + ret = dev_read_u32(dev, "fuse-count", &plat->total_fuses); + if (ret < 0) { + pr_err("\"fuse-count\" not found\n"); + return ret; + } + + return 0; +} + +static const struct misc_ops sifive_otp_ops = { + .read = sifive_otp_read, + .write = sifive_otp_write, +}; + +static const struct udevice_id sifive_otp_ids[] = { + { .compatible = "sifive,fu540-c000-otp" }, + {} +}; + +U_BOOT_DRIVER(sifive_otp) = { + .name = "sifive_otp", + .id = UCLASS_MISC, + .of_match = sifive_otp_ids, + .ofdata_to_platdata = sifive_otp_ofdata_to_platdata, + .platdata_auto_alloc_size = sizeof(struct sifive_otp_platdata), + .ops = &sifive_otp_ops, +}; From patchwork Sat May 2 10:06:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281559 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=Ew9VLmV/; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlDR6lDgz9sRf for ; Sat, 2 May 2020 20:07:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EBA0181CDC; Sat, 2 May 2020 12:07:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="Ew9VLmV/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0842381CDC; Sat, 2 May 2020 12:07:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A541281D6A for ; Sat, 2 May 2020 12:07:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HKH8gbtzAjKWfhf/jEsKG5W7SceZtBgqkyJDh1x4Zwz2M9o521pRAtflUcuXAJph+Bfn7JPqY4f2nSlw4imIvfoMTqjExl3iiEcbpjG8AYVwY/abi0/1+lJuOoYTfD0UK9ycDsA3cX7UiU4+wzod7YvUqXrfr00HvuXfEcKYx5U92N7i54hAmSR2DRXgLo8TKUPRx1p8yxNz47TfoDUliWfSkkDMDaz+LwkGBENNzvJ/zoccUf3VSf9iz/FyxL6yxv6LXV0cAG/0ZGI4blI+psaBXYXYZ+UeT5sCs75qP0TppWv/CwCtbsu34idXswmLYD+8On3lLhfpvT1NVMqXyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/WrI8RUpYf2qlOaEaOZhhjCduYk33T1ZGt15pyRsRTg=; b=K/ihVYqVhiMsx0i4Y204Zf0jvu6ChxlSPMn/H7WeXTu5Vn7jQ/1EhOXN+p4YVTWZHH+zJPqLRTtnXOIa8kQDRwLok1l8R79iUNY4/4hPDFstMXzt+I7gRNj3eQL/5bTOjuAqhok1KSWOwf+ucXHNFFSkFshQK3ucmg+Qs6C7X+Sur00LHOGc5dNcT/EKyeE2fef6IRxD306djuglmPgehClNSiK9DuSX7ILokfT66GsWskxjxr8Sge+PpHhSfRQjYVFCOo6zQRy/coSBVEB5dxve/3fuEc5thywNU7hIxvOXdvFu85uHFuqU6ZXshsnLInnsHdXSmgVvKM4tRP3q7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/WrI8RUpYf2qlOaEaOZhhjCduYk33T1ZGt15pyRsRTg=; b=Ew9VLmV/KuAG9JH7QzsAvNUr7G/p5ffJUT9KZ/cTuIKUJnQZTp8nPOjQRD4ZctwEJ1uFwjKzZiYotQ64Hzooxq3I2fKeNUnQqe8fbUVNDbQJH199noYM9p8bRRyjQ/wKH4lxv6QLGXEBV7niYXLlY6rkVBcUTwtXmYWvvsSAn6w= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:28 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:28 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Palmer Dabbelt Subject: [PATCH v7 02/22] riscv: sifive: fu540: Use OTP DM driver for serial environment variable Date: Sat, 2 May 2020 15:36:06 +0530 Message-Id: <20200502100628.24809-3-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:24 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a1f3c708-8d0b-4ab2-dcf8-08d7ee809e89 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:220; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kP+AEIl7XcX0n2mpb4ubwCPhPhlgvxwDMkpH5xg284yPTJyw9lw5fvnDxtzcaAIZERtmqNNzWB5FMmCj9hnqjFNClrWEQbTASK5d8P9DXCmoksixE5nnMA9BHmg7M5hpsdFzuPHuW13Kw8ci8Xg7bvtkO4vqFbhtZHl6CdHHCl36PuJ4R0RjwibE9eCrLiwO8Mj2hpQladMOiw/5MhKc9e01IRN7HdzaAmKm8lQYGle33iTzE63DndNR04aI08rdL5NLxapyieQgNcKI6OMkK6LBr470MP2BMAD5Qw9MlZIoKvsfAG8+f/WyEyx4Lr8YWIMf6EiLhqymT6hDtZuQ2Kk5Q5EJSHynvgLXjMc4KpNEVtex73YC1XhB57AEoFGoThMbCxVa99ePXVkMjI9E92ya9l5NxX6cTO28af3bgYBRNgFOM55XBsN7Gm7HNLmL X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 6FHpPdhTvRnqWmyhbix07kISKmlEZYGuj5ibOM4TJNRMxsXi5aWmUUQc2+Sv0m7w9MbzssUzocyh6DX3/Mz6xYSq+CxtNvb/sUzo4moJD9i1ypre8kuTplvATyUyLm5qA/F4sY72rzuz+hTEMWA7deaA+CTlmf2qG3BkNFmGu9s06YBZ9o9+dkt/mzZp+VRoGkqzYx/mRi9FBz+4xBs3MRxPbiTBlBjFIbgzzNufBBsd2ZOb4/gyStL1M024hB3jcic5r5fbCPFR7pDpevgFnSlyY1hegH9X/P545Vwb7ghQnpdr1DK2GD4HrtfiYUqtIVQ5zsA1AE4dW50maNpA9Lcue12b58o4UKeHu5G7fIWclLAQEqyGv33GpP4avOgoWOsuQCjQkrYiq0aXSlCB9I0c2oQJO7kj0EF1YzPDalHildTKqMmLkNfkM1mRBsbLlmbGBCtuKm4MGtWKW6+eOThOtnV12l/iOAJWR9ELMbG3RrjMqFQMI7Q8ERfs7Ok5pdDwI+i1sQ7tPB0mk95L3jbwkJvofKXt2LimbelckqnhzITqBE5iZlnH+m9eyFFEyvkInoKh3Gp8sBi+c6W7GnAeNAI8KhVXUR0LO+LzlMgW1aWx7UIEG1iMJ8qF5qZdwZHhI8gB3X/ejML6hCGxpYcVyTa4FbjwxTV7vQ71UchELBP0Wi7CXWr2/UB8koXfBPWJ4P2KwZQNS8XdXGhcdRHlw25os2mjjg2CrDsS1I1Qo6vh+98KAqnIiQqQLl0F79La44cEN3563jQdqe3zDPlQ0qmoHvXHjd816oZRo0c= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1f3c708-8d0b-4ab2-dcf8-08d7ee809e89 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:28.1883 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cKnvruug8LIYpNKswV/0+ct9OLX4CL9dGsZmC6TlxVWTxcon6FLI+abSzzfDU8ViJk/s8dxggdPWbCerV640xT2SmZ9nUdBJXicxUc31lDc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Use the OTP DM driver to set the serial environment variable. Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/dts/fu540-c000-u-boot.dtsi | 14 +++ .../dts/hifive-unleashed-a00-u-boot.dtsi | 2 + board/sifive/fu540/Kconfig | 2 + board/sifive/fu540/fu540.c | 111 ++++++------------ 4 files changed, 57 insertions(+), 72 deletions(-) create mode 100644 arch/riscv/dts/fu540-c000-u-boot.dtsi diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi new file mode 100644 index 0000000000..db55773bd2 --- /dev/null +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * (C) Copyright 2019 SiFive, Inc + */ + +/ { + soc { + otp: otp@10070000 { + compatible = "sifive,fu540-c000-otp"; + reg = <0x0 0x10070000 0x0 0x0FFF>; + fuse-count = <0x1000>; + }; + }; +}; diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi index 2aebfab646..9af089ffe7 100644 --- a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi @@ -3,6 +3,8 @@ * Copyright (C) 2019 Jagan Teki */ +#include "fu540-c000-u-boot.dtsi" + / { aliases { spi0 = &qspi0; diff --git a/board/sifive/fu540/Kconfig b/board/sifive/fu540/Kconfig index 75661f35f8..4330ac4491 100644 --- a/board/sifive/fu540/Kconfig +++ b/board/sifive/fu540/Kconfig @@ -51,5 +51,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy imply SIFIVE_GPIO imply CMD_GPIO imply SMP + imply MISC + imply SIFIVE_OTP endif diff --git a/board/sifive/fu540/fu540.c b/board/sifive/fu540/fu540.c index 47a2090251..540638c919 100644 --- a/board/sifive/fu540/fu540.c +++ b/board/sifive/fu540/fu540.c @@ -10,94 +10,61 @@ #include #include #include +#include + +/* + * This define is a value used for error/unknown serial. + * If we really care about distinguishing errors and 0 is + * valid, we'll need a different one. + */ +#define ERROR_READING_SERIAL_NUMBER 0 #ifdef CONFIG_MISC_INIT_R -#define FU540_OTP_BASE_ADDR 0x10070000 - -struct fu540_otp_regs { - u32 pa; /* Address input */ - u32 paio; /* Program address input */ - u32 pas; /* Program redundancy cell selection input */ - u32 pce; /* OTP Macro enable input */ - u32 pclk; /* Clock input */ - u32 pdin; /* Write data input */ - u32 pdout; /* Read data output */ - u32 pdstb; /* Deep standby mode enable input (active low) */ - u32 pprog; /* Program mode enable input */ - u32 ptc; /* Test column enable input */ - u32 ptm; /* Test mode enable input */ - u32 ptm_rep;/* Repair function test mode enable input */ - u32 ptr; /* Test row enable input */ - u32 ptrim; /* Repair function enable input */ - u32 pwe; /* Write enable input (defines program cycle) */ -} __packed; - -#define BYTES_PER_FUSE 4 -#define NUM_FUSES 0x1000 - -static int fu540_otp_read(int offset, void *buf, int size) +#if CONFIG_IS_ENABLED(SIFIVE_OTP) +static u32 otp_read_serialnum(struct udevice *dev) { - struct fu540_otp_regs *regs = (void __iomem *)FU540_OTP_BASE_ADDR; - unsigned int i; - int fuseidx = offset / BYTES_PER_FUSE; - int fusecount = size / BYTES_PER_FUSE; - u32 fusebuf[fusecount]; - - /* check bounds */ - if (offset < 0 || size < 0) - return -EINVAL; - if (fuseidx >= NUM_FUSES) - return -EINVAL; - if ((fuseidx + fusecount) > NUM_FUSES) - return -EINVAL; + int ret; + u32 serial[2] = {0}; - /* init OTP */ - writel(0x01, ®s->pdstb); /* wake up from stand-by */ - writel(0x01, ®s->ptrim); /* enable repair function */ - writel(0x01, ®s->pce); /* enable input */ - - /* read all requested fuses */ - for (i = 0; i < fusecount; i++, fuseidx++) { - writel(fuseidx, ®s->pa); - - /* cycle clock to read */ - writel(0x01, ®s->pclk); - mdelay(1); - writel(0x00, ®s->pclk); - mdelay(1); - - /* read the value */ - fusebuf[i] = readl(®s->pdout); - } + for (int i = 0xfe * 4; i > 0; i -= 8) { + ret = misc_read(dev, i, serial, sizeof(serial)); - /* shut down */ - writel(0, ®s->pce); - writel(0, ®s->ptrim); - writel(0, ®s->pdstb); + if (ret != sizeof(serial)) { + printf("%s: error reading serial from OTP\n", __func__); + break; + } - /* copy out */ - memcpy(buf, fusebuf, size); + if (serial[0] == ~serial[1]) + return serial[0]; + } - return 0; + return ERROR_READING_SERIAL_NUMBER; } +#endif static u32 fu540_read_serialnum(void) { + u32 serial = ERROR_READING_SERIAL_NUMBER; + +#if CONFIG_IS_ENABLED(SIFIVE_OTP) + struct udevice *dev; int ret; - u32 serial[2] = {0}; - for (int i = 0xfe * 4; i > 0; i -= 8) { - ret = fu540_otp_read(i, serial, sizeof(serial)); - if (ret) { - printf("%s: error reading from OTP\n", __func__); - break; - } - if (serial[0] == ~serial[1]) - return serial[0]; + /* init OTP */ + ret = uclass_get_device_by_driver(UCLASS_MISC, + DM_GET_DRIVER(sifive_otp), &dev); + + if (ret) { + debug("%s: could not find otp device\n", __func__); + return serial; } - return 0; + /* read serial from OTP and set env var */ + serial = otp_read_serialnum(dev); +#endif + + return serial; } static void fu540_setup_macaddr(u32 serialnum) From patchwork Sat May 2 10:06:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281560 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=kEJxBije; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlDg072Nz9sRf for ; Sat, 2 May 2020 20:08:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0910081D6D; Sat, 2 May 2020 12:07:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="kEJxBije"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 11DE081D70; Sat, 2 May 2020 12:07:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20631.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::631]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5232181D31 for ; Sat, 2 May 2020 12:07:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gI/D6XXhXCwoyJExz+hlD+R/QLynrLnh7ptvfFV/XBpxreY+aJSVrevaTYU2rAI7kASheW9PDSZNDb42PI4z1Jlx/dIpPDC5NotdqlUCdC9lSDumPB0nsuKrSFNe30DIq4HBb/2RcfVqhfVzOySrHbhLv2XU8iptyO15QbD9OTiGbvawBXZdPNjb8RmmQLXXLjeAyNX/HuxbL6jn5Ljk3HT9y1URlf1L8EyLry6sKfVYsWIJHwKKDZVhPkPsdyWaogP5Yr51kfFD+vNT2Lg/vcq8LT9zqcFYwV9+jwT8MDYfE50CTXRLSkdjdVQ54Hgh6gnzpLZpMTSYwdQ/atjKjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=632vQ9srMP0uiEeGU8heJD3xSGgaRDdbFurmN/xwf4E=; b=X5g/Xe7BnQoxNjnwJcPBEodyuEqKlagMNLpjl8UwF+yp/ZxRfnriobklkKJSRjy4nSPZbB3ikceMuVV4caqxNTgM+7zuSPcShjZlmKyONZYl6tf4mxCqGaS9T1yqvQC4osLpC+XKRgzxVk/h9UtzEphwXZK+hi/4sEcjwUpAciHtuua5HTKHBvszyVHGhTP0/FrZmajMoJk0n0HoI4uzmzUfmag1MD8Ix4KJ+FJWUWrzbv6rkg4pGv145u/zBuve2dPYJKgKwfh3ASS4y+WDhxvSrao5KHHaFnQ91143z/l5Zh9hYnJzxvYSepw0iN+FIJ8ob7YvnmDvRnoidHp/MA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=632vQ9srMP0uiEeGU8heJD3xSGgaRDdbFurmN/xwf4E=; b=kEJxBijeifN3dt2qJUaxPjibqrar44Api4kPBSrDPSbIjQyDn88iZglw1cmBdKk8F2JO4nepbGwslr+6BuEib+fZgo4KCBzix3WxhQAnpxX9L7RGGFnbn3ZqrnHY1DXqXyIk6pW6x8tsZIgw/1t5Q5uABCWPXMgEuNNdQNBMqYk= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:33 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:33 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Lukas Auer Subject: [PATCH v7 03/22] riscv: Add _image_binary_end for SPL Date: Sat, 2 May 2020 15:36:07 +0530 Message-Id: <20200502100628.24809-4-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:29 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7514273d-9c23-4dbc-0eb4-08d7ee80a187 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:538; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cijzZzqcdlz11VjBCN+aZnD017Iyo5K7gRgZc34f0NKZAQ+vyWnNRzlJFi/G7s+1ccY0nzY8BVDRYmW8XslRscwU9u5vkDQASILgLzGjkkEpuiMytkUxReaPL55cRQ0VLsWS7imfY5ZN1tVSo3UjCgAUBlT6IgZ8Ri2X8JAGGYY1o8aHPBay+Uk8ZedJeFWs9hi7Yv6kcikqPZhqz9DFSzVszIxzcPjzyblO5oXQM2JVghUmlRBnz8YuMwOpNnr965lm7ZOoQ48guKb0i/ZOgA1lylYGRJVOEGLRtwPmIdECTod2wXpvbgCPUwwriNB2rDnTLx56MjQBYtpMMxmkgAZF+YCll1zdfcx6kuCvP/reaPDxcYg/WliyuXr6wF700UwC8vXR7Ya3tjk7i+pYuvlaink8glbT5qXizeygIzQ3OaXuNHsTadpax5Efs3o2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(4744005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: HvANv+KTSzcyBjXEzSyv6n62TXTFrka2qI8bJkSFKuyBu86rKwJOv+89/v4hA8NvMW+08IYk2RT2/7PCK3iA0TTxv1Bj9oSmLHVu9JrzzekYmTgXIH0OIITBd8/hu8l/2UmIQCvTZ6lr2AKv0EATKbpIQEe1baVV6HQR4FNrhYVu2jnka4oeDc09t/U2giIHrOgVdzm9bzDzQrpVt8NJK74he+Xi695J/NS5DXJJGnLgJ02onmhsL8AXnd5Tgcc/I1X/5PRx9oA8cHX6jkkdeM1rt2ODM+Woluf5ZllprdfOCtQ/yhLtgTT3G1kUYMdpJiHjftlQV+bWz+RTjnpys9+iJLhc0J2KwtQwispDaq3k4hqpsHRf0HBDD9vwA7G1RqzLnBsUQLvNG0Z4SJM93Y1PX6AzM/xvgn6JMvmHZSjHW9Sju0I9xzhJI7qLAhSZwUfMaGtGKMZ+BlzB7ljF97coxKMPm3vQV76YFwklb/JHMjrrjC4sqvZpFgcp+IqjFRH5SHu1bzBCYTyDBKTEBIbtZSGKt/WCIzmiZ8EUGrKOtWIwSf28lCyzovsaCcp1SGZw/6zxIwe/YOWG387WPGmQlB0BuSPhCsBjMKYL9oL+V1dQPjOkeBGR8A+WFOhgQAbLRyXQEdJSC0at3o9JaG19Ffs0SJXGrjFX2NP3Wr0Yh0PL3K99NqCFso5MKLEsPR4YSLNJS9sik248iqDej9svm9gO3eRXUh5caY0SOXceGYDSI3MDKZbMhz3EXWIqI1wS9lfNd6IJY22reuUNQs/6mkmBXwEzzREADtAdV38= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7514273d-9c23-4dbc-0eb4-08d7ee80a187 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:33.2400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LGa7qrxgh/ian7ZOa87dBkmzgfO0KdcjzM6SIMnONC3kGic5PQOSvc/4d/u/8ssTJ2QYco4vfiZHhneDK7ZeZXkWOTN4PqKicWR1APbvmPI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean For SPL_SEPARATE_BSS, Device tree will be put at _image_binary_end Signed-off-by: Pragnesh Patel Reviewed-by: Anup Patel Reviewed-by: Jagan Teki Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/cpu/u-boot-spl.lds | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/riscv/cpu/u-boot-spl.lds b/arch/riscv/cpu/u-boot-spl.lds index 955dd3106d..d0495ce248 100644 --- a/arch/riscv/cpu/u-boot-spl.lds +++ b/arch/riscv/cpu/u-boot-spl.lds @@ -72,6 +72,7 @@ SECTIONS . = ALIGN(4); _end = .; + _image_binary_end = .; .bss : { __bss_start = .; From patchwork Sat May 2 10:06:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281561 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=dIM2D5EE; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlDw4jhCz9sRf for ; Sat, 2 May 2020 20:08:16 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8DECE81D70; Sat, 2 May 2020 12:07:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="dIM2D5EE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 49E8D81D56; Sat, 2 May 2020 12:07:46 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20603.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::603]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6C4C381D85 for ; Sat, 2 May 2020 12:07:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XS0/SosM/C6W263i6IZRIVXoV2Zh1pBnJe+tyGVEu/WpmJVrgYsnpqMMwUMmBXj087/MDzdfAQ3d4JC3ks8IjRU3DVviNinBHGLrxk7oaTy8cXHg1IUyLM6fE2FFGmufINZV1w6jyg9/IpOG/bwW1GNUFstBrcO0t5UsmJ6vTVK2rn3QRMxsnThfN8ZGh9OTRdclGd7XfIb5eFppzmYtcyAyX6LXreyQzIm2Wozl6v3NKNb0QcoaJqoClGBMs1orwoFN/7LPKzgcZntCKP3teXeeED16K40gMpBYn948SC27l6XkIGgLd5iknRy0ocpqfQDhJ1xlB/qrnv9ColmYdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/ozlEZRCRWXijXglUmbX3SIrzRqZRmP6S1/24Vn4q0=; b=Tg6mOmhIobujUvofOvb789JNvmUDUv1G89lkstHcrejxU+qFNGMAK689GEDqVxfWa+/MNJTVW8wEWYCRXm35Hjs1X5HJRvds1jzUh+qmufza5MngPcVB1xBIWftidb2Vo2HHQU0/ei6L/af0nlHPiKk5j4R8ArD8ln9pH9R4973RyxPAqlS6uJTeIcuuNwHESGHO2ah+VIUN/93ta52wAL5Tmt7yDxjkBcFTI713wy8KyyKnZLkUB3IJV26imj5rpmJcs/ttGkCk7qYiLAb2ZKRa8L0xLE1jAMJBNdLZboXX9CvhAKFKrD1K6koQtQf3ZMrgRVMN0qNtc+4iDqbRxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/ozlEZRCRWXijXglUmbX3SIrzRqZRmP6S1/24Vn4q0=; b=dIM2D5EEzu+TDKNsYGztLE5LsS1cJbNiQmf/Hm96h6bttbKtWEFWzFesJJ7SsC3DIpPfWlDMAJ6oBkddtEyMTzWF/KLbbt1HBpJS5g2LAa1zVD9XICyqbHyFL2L3RAXWm4t2wRP5eKI0itFXMZR7FHrj5FxUznaXi7Aq+WLBl2w= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:41 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:41 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Peng Fan , Lukasz Majewski , Simon Goldschmidt , Simon Glass , Markus Klotzbuecher , Baruch Siach , Joel Johnson , Anatolij Gustschin , AKASHI Takahiro , =?utf-8?q?Marek_Beh=C3=BAn?= , Heinrich Schuchardt Subject: [PATCH v7 04/22] lib: Makefile: build crc7.c when CONFIG_MMC_SPI Date: Sat, 2 May 2020 15:36:08 +0530 Message-Id: <20200502100628.24809-5-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:34 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7644718b-c261-4b4e-4789-08d7ee80a60f X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:747; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XN32nIFPswjuVdCAaM4f42b/JRGZA1FeVweQCTxEiJ/fgWgIwVY3HOPG6t+gevDQHyS6lwNwpQI0g87fLstbtpcCSPIy8vXLbeybvY7vhkSBRcmW+UZgG5FRF19oxhkLL1htp2EgZnO5XxFVsBfmItpYbVGHMfYixpsroYtGTqgcv3kNDWn+tz+QBK9LYLXSaIzNr3bm0C3Wamj7xO/NYSBwCphdnKj++vU3/qccsI4oLO7n6QYk34CtmXHTb/qFn7IbihSzGHGke6mDWjQj2GzrO5dXiBvzWsXfSXs5ZMXaRNRIcBT4mrZXeD86S4EGM9PZmSoZnOGjaNAd2wMwrj5MD2GG0rEbGDoNGaKbH4n4mvBMKxmhDQMArkhXOrDChEBOkmdxaoRmnq27JGsp96/jkATmUI92rgg36ZQyVcwwNUFQDyZUscZZLoe/1Vk1 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(7416002)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: rMoQIrU3xZtODX9RHvCasccOJgXC6f6ZKWQhy5vtCPOVUsVYk5WwFNxsTnilILEFvf/87s+hqCtlUPKOu4CCaxe4G9xpNinv1kZQKlWkuH7ECgy+37af5mNU7ySufKCWmp6Sb93l4Mj21gxAWBhfyDb6xACS8d4d5ynPDfdSCZBvVlY2t5N6X0pIofhOK2dUN50/Ov6nHi+I47OPbMWcshpgx7mEzB8uuKrFNn1JY99KchPyLpOIOzP6UyqFUFJvoyarEehD7apDjqna26ePdMt/m/q0mHv2di2W+QG0Rl4OyT0CLUkx3tYpEDsrximUzEdeHA7xRhim7ffiWWcVHnmWAwI+pfJ5SOYqnypjNi2nAdACYmvcnQU2lyAeByPQzP9TNM0WJ06k/GkE1DlwhMHH3Ny3ej8aOoamOYY9WjgwK/OHUtYM7McyVckyjA/NwrIT5nHSNd/HhfgFFg5JDRrVmYw7NH7BQFFO1Kpw+LYhReLSGG3NMxmTN5tkGY4Br76ER3PR0q8QDiCSo9pyQ+hvrbHKkW1VRZse286w8rqIUz5K0aRcE7hVGuW6kQs5wZiNLXrNPwcuwKpyxJ72pawKYVY3Ui9F4xhMwzsHZQQpKra8gqa2B3iWE33CDjycRC7V0u84hZYKQ+EAbi3v6eeWqUU2JX+DNSk5tmBF8LKvUPALGbd4p3eS/Sqr5VrDx82Hz+bFcd3ZqIMbAuR1DuUFvRlR6jfzTvCVhtZQ+Jf3AKOe/JpSi025VvmInY5QTM1NKeZqXgXOeyahfoMyMgVq4o9ddLMRvfx7pcwoIFE= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7644718b-c261-4b4e-4789-08d7ee80a60f X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:41.1375 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JofgMq0BKOVAL3HYXsC5E2NvlYeKyxGOOg54coH8IZkgnSfe17TrfNFFn/KVqVYFKqRhmzAuNjAFjb0iBzBLIYTqOuC0uyZvogh2Wsye8ds= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean When build U-Boot SPL, meet an issue of undefined reference to 'crc7' for drivers/mmc/mmc_spi.c, so let's compile crc7.c when CONFIG_MMC_SPI selected. Signed-off-by: Pragnesh Patel Reviewed-by: Jagan Teki Reviewed-by: Bin Meng Tested-by: Bin Meng --- common/spl/Kconfig | 6 ++++++ drivers/mmc/Kconfig | 1 + lib/Makefile | 1 + 3 files changed, 8 insertions(+) diff --git a/common/spl/Kconfig b/common/spl/Kconfig index ef5bf66696..d1f0e6bc4c 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -401,6 +401,12 @@ config SPL_CRC32_SUPPORT for detected accidental image corruption. For secure applications you should consider SHA1 or SHA256. +config SPL_CRC7_SUPPORT + bool "Support CRC7" + help + Enable CRC7 hashing for drivers which are using in SPL. + This is a 32-bit checksum value that can be used to verify images. + config SPL_MD5_SUPPORT bool "Support MD5" depends on SPL_FIT diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 8f0df568b9..139599072a 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -49,6 +49,7 @@ if MMC config MMC_SPI bool "Support for SPI-based MMC controller" depends on DM_MMC && DM_SPI + select SPL_CRC7_SUPPORT if SPL help This selects SPI-based MMC controllers. If you have an MMC controller on a SPI bus, say Y here. diff --git a/lib/Makefile b/lib/Makefile index c6f862b0c2..fcd934857f 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -80,6 +80,7 @@ endif ifdef CONFIG_SPL_BUILD obj-$(CONFIG_SPL_YMODEM_SUPPORT) += crc16.o +obj-$(CONFIG_SPL_CRC7_SUPPORT) += crc7.o obj-$(CONFIG_$(SPL_TPL_)HASH_SUPPORT) += crc16.o obj-y += net_utils.o endif From patchwork Sat May 2 10:06:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281562 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=ZcUEGEE1; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlF95vRLz9sSd for ; Sat, 2 May 2020 20:08:29 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1FE2B81D8E; Sat, 2 May 2020 12:07:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="ZcUEGEE1"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 647B881D8B; Sat, 2 May 2020 12:07:50 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20631.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::631]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AE66081D2D for ; Sat, 2 May 2020 12:07:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dBKKXNwVPkMHXr/VnCUZSet2xosAuRTYDW++QvSa3+XZeJpXAI0DPcoUYG2oBfbzdO0yEL1O7AxobP7SzyZuZli6CnjyfWp1IWlmTU3YFYBXP3l4hYdZQ3d5McL6eU+2x7X1g/dopR4ZaT3qtsBhIVFXdpibU7Eh/a0YZ/3/lWc1ocqUiOtdP43W6rmIFYKFCzDMvM4gNWLitdjkXtRMuzA76MLWVkdvixkct+ilv2EforYbn93sTZr68VzZZElLhPEKGJKai97cTcDr50xMXxJ8fli20rgT1gRt0jNZdsRDk8eHir4URio5G63XMyqduTiTuAA/Tn7V9C1RxdIDsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=16e52YItba6J7YEahO5uZ6f6bKxQNmC8FywnqGuIgg8=; b=Fce6+MGgj+5nN7BcSTBuVHY6WXFzuwI8Gct8qB0Mpf8LcDyjWB/5osFvSm+qW1v6by6fZaR6KuwmpUCThMjA3ZBZ6h5q7e9tbxDWnBR/aZIHbfBbP0mNjRV/sxFgPhg5N4bPONryCqwKCF8iWwsgJSKzRktSRQkvrIQP4s0DPoRjFZNuwVEQCf4/lS6IQUeTjZzLJ2DeKV4lxFh/mWOhsnzQ10MHPfilsTWOoVRSmD2CklHB49cyTTA6owsjfE0noCszuxj0e1O/UboZl0e+nJ0Mj/FtG5uCr7zrvrmuYcpxeuBGTviVbxVTn6UECZLZ0FnphR0iYSCfNTtBhJqQyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=16e52YItba6J7YEahO5uZ6f6bKxQNmC8FywnqGuIgg8=; b=ZcUEGEE143DXNVA4dNGfZ6mvEKCLAZwDRtOQmbvgef5d0sO1uU2/jBGA4swpv6AUhNlUUJQleE/VuBkszHXCnRjDd+8Fb380RwH/2n/Gjs+jkUzYYyWiQ7Dar/1ohgZPqDLi9Jyf4f38Ybk4JY6IvYJX+rEozJKzT9Y6PW/NfcY= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:46 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:46 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 05/22] riscv: sifive: dts: fu540: Add board -u-boot.dtsi files Date: Sat, 2 May 2020 15:36:09 +0530 Message-Id: <20200502100628.24809-6-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:42 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8eeb0c93-035d-4f02-971b-08d7ee80a922 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:81; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EgVIk+xYdM0hVJQd8f8QYZFOktq8jT1TTtqUwNeWGfR0Pfiv9xWehKBWkFH3T0pgftgAguzPcTGSDoit6M7DtaQPL7YR8iQ3GFDVl++wEKfUYtk+2+MbbiAroxRxzQ9tOkTdXlcXRnIbw6E20rLcsUBE0iEAggym3cqMpa5WyeHoOIbF2TEaLLHbm7mX9l1uybqyhf2FMNHIWX1OxDtRmJkiL9FOkadILuOQnA38b9jpl7iZNlPvA+SOBulPJjMHIXU4rTiFKHP1uunvPHVdIYu+YIXJH+zFAVBgnnKhZg/IsXCRt7iK40Xh3sMBdhiG2ywnvmM9BC3T+FkOqQfa/tK68cYR8/6TJVFNSzzIHg++dshP4LzuODx9DVm8kSG7W5OrU1HiAe+rLdFhTowhXlbAcKnOoVcyUo5nDBuIr+LGnkrOVuqaXGk5guWsklUl X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: RwvXkc2FbTGQzZ7oPD24eo4tRh1lx4vZy36uEunPRlEmytKKWXceIN/51j3X5bqjFiJCFlOU4NoxIFBDcLsrxIdISMREvwp6//AhJr2pMs8tZdpdhLbm1xUkx9w0N+rqthYHzP3yX7djeAzS9lZTVn5P0XqXaTPisDcxS2rcHB3kc09JczrqkehqXTX8gNMecFssjBqeTV2W6xdNcEv9jafzy9GU3IwmiyUYIWGajABhYY4qxGRpaomVv//p/uf/dM2BoFA9b9hMH7S7hRUMqLoNNC3C/PtX6Ynx7QzHeeDesvILZU005XqyzG6enrYeqKAI5LzmHVq54wSvW8w+CSm/ValUzRsYLbOmaQgMVmEvDTtO0E70ynpgvbqbiuGBWHwj5cQXv+GQP4uS8Vz7AAfwV5Rmir5JNVa1r3TG/RSz66TxfpZpUIIPTMmhZtSM2pPyPOtBMPQr/09f7px2SipHy3+mJa0+xb/iwV0PtCFL2mp3sjZiMKoY3OlGUcFO8ZFv/bZT45vxG+EoNvFi3M30F1kBI3/bPbA+WrrLC2Z3YkT/VBPNb0xd5PqC4KAHTOUwefWn7AO/hGT1afBf2oFvDLsKFPzkbi/KoVTVQHPMxRf3kQs7Ody4N/vR2TAuG8YEqFSHInQFMsxjSVsZ2PpcDGD1ZE5f1sT373GtOFWboLG21FJFEZeUTJb5clSBabb5rx5Le7hYDYYlmDGSGp/43y+tLGrOji+7FWK10cr/wsQf5/FOJNGXXfvmABOLJuP90DDOWwJs+eOnQmmx62eZHfiUUTPGYxM0ndlIePE= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8eeb0c93-035d-4f02-971b-08d7ee80a922 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:45.9464 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UUKjHXYqpD9tVj/Ig6ahEkXX+w3vfl0qtSIX3QtuJ/2SRh1MoBnLIAtR8hpihMJZDt30qaUUt/Ohdk/+r4ZqW95IGg/krwDwsXC95IUzVBo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Devicetree files in FU540 platform is synced from Linux, like other platforms does. Apart from these U-Boot in FU540 would also require some U-Boot specific node like clint. So, create board specific -u-boot.dtsi files. This would help of maintain U-Boot specific changes separately without touching Linux dts(i) files which indeed easy for syncing from Linux between releases. Signed-off-by: Pragnesh Patel Reviewed-by: Anup Patel Reviewed-by: Bin Meng Reviewed-by: Jagan Teki --- arch/riscv/dts/fu540-c000-u-boot.dtsi | 54 +++++++++++++++++++ .../dts/hifive-unleashed-a00-u-boot.dtsi | 15 ++++++ 2 files changed, 69 insertions(+) diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi index db55773bd2..387b13bdfb 100644 --- a/arch/riscv/dts/fu540-c000-u-boot.dtsi +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi @@ -4,11 +4,65 @@ */ / { + cpus { + u-boot,dm-spl; + cpu0: cpu@0 { + u-boot,dm-spl; + status = "okay"; + cpu0_intc: interrupt-controller { + u-boot,dm-spl; + }; + }; + cpu1: cpu@1 { + u-boot,dm-spl; + cpu1_intc: interrupt-controller { + u-boot,dm-spl; + }; + }; + cpu2: cpu@2 { + u-boot,dm-spl; + cpu2_intc: interrupt-controller { + u-boot,dm-spl; + }; + }; + cpu3: cpu@3 { + u-boot,dm-spl; + cpu3_intc: interrupt-controller { + u-boot,dm-spl; + }; + }; + cpu4: cpu@4 { + u-boot,dm-spl; + cpu4_intc: interrupt-controller { + u-boot,dm-spl; + }; + }; + }; + soc { + u-boot,dm-spl; otp: otp@10070000 { compatible = "sifive,fu540-c000-otp"; reg = <0x0 0x10070000 0x0 0x0FFF>; fuse-count = <0x1000>; }; + clint@2000000 { + compatible = "riscv,clint0"; + interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 &cpu1_intc 3 &cpu1_intc 7 &cpu2_intc 3 &cpu2_intc 7 &cpu3_intc 3 &cpu3_intc 7 &cpu4_intc 3 &cpu4_intc 7>; + reg = <0x0 0x2000000 0x0 0xc0000>; + u-boot,dm-spl; + }; }; }; + +&prci { + u-boot,dm-spl; +}; + +&uart0 { + u-boot,dm-spl; +}; + +&qspi2 { + u-boot,dm-spl; +}; diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi index 9af089ffe7..9787332bf1 100644 --- a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi @@ -10,4 +10,19 @@ spi0 = &qspi0; spi2 = &qspi2; }; + + hfclk { + u-boot,dm-spl; + }; + + rtcclk { + u-boot,dm-spl; + }; + +}; + +&qspi2 { + mmc@0 { + u-boot,dm-spl; + }; }; From patchwork Sat May 2 10:06:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281563 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=qsxdBVIz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlFR53Jsz9sRf for ; Sat, 2 May 2020 20:08:43 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 73B4E81D80; Sat, 2 May 2020 12:08:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="qsxdBVIz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9682B81D2D; Sat, 2 May 2020 12:07:59 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20607.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::607]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0BB1C81D2D for ; Sat, 2 May 2020 12:07:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SYTnrpaoykCn1JFFNgbe5nI2iyjmMnwmtw6V8G8uNPhlxmulizoEhsWEtGFPUOs6ZfVTP0GPfHwBl955z4ruocTyZmAnjotkPhGTvZPO/wtSGmoU2IJThQRvOmthW1h5N0REjRFrvwdBD4Moro+Rgw7w6qf0+HgkySkwRkjFeGr/lTRntEPc8QSttMHuYBqwNOxCHhSVitOjlANLjyiw+82KtnzRtfULtd22PbD2SZ0Ve3MCEJswWxJwSpj3eIN6aAJbaA/DRH7AkFaAR6FaKWJJXIWR0RWVT8M9khOJRdCarrVEeC6B5V1Bg9JHYo7ncnCEAsvuksBb8Mdwo/DMuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/2Gn2blze4dzUNKdKthJeZ8h7LoWLPvc7y/yo/vqTTw=; b=Nc2MqkfO/CtIyStrPMSBlF0XgzTLRRQCxs/XrJmregc69z0P6ztyZCZqQytByEm9jEovaj3g6aQIyY7vP623jmPll+p5NI1wA2+0S9ORlr0znxwlW9pqI0BTE7uhN8uDT73wJyCeTZQRFE7lBrgLSCTkagrDVpLQ89oIpuPbYp33S5pJuZLf0qj5l1ZWkZQ9hiVicJ+juulMjqzJvX/Jl6XXx/p5uO0vVQnTQG2sdhmvwOOjBEyGLP/GOrrvjENSvX8CqJl82RCsxXLk6qkjjvi7pzgreTHw45lLbPkBSTbRprZWFHIPJoqvXkZNuNHKN7RNotBUhXk8GFatyJNQOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/2Gn2blze4dzUNKdKthJeZ8h7LoWLPvc7y/yo/vqTTw=; b=qsxdBVIzJzQ8e9R6ZcBDnO0reAJf1q6la17L4IO288+WNPpyn6Q7AsppONP/ml1hSwFymnfx9pYjUYCi3zW170leFeyvL+sIQxIgKsIhvwqQsv8Sz2L9Kep1eocpQ22BEUm+lll5uarSWaHnTo4Gsswonb8o2vIdJ2E694tBC7g= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:53 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:53 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Palmer Dabbelt , Kever Yang , Lokesh Vutla , Giulio Benetti , Kevin Scholz , YouMin Chen Subject: [PATCH v7 06/22] sifive: fu540: add ddr driver Date: Sat, 2 May 2020 15:36:10 +0530 Message-Id: <20200502100628.24809-7-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:48 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4614ee45-b47e-4abb-1fab-08d7ee80ad7e X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:324; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ns2Qls9idNaB/n12jgnybOS1z0X62kIvBoUgRAxcWpQjbVJATtfEwRQox4acAI2OxUH5Y/JnfdFGxV6Ilahk+Qx6kYuxivG8Azdcvl4pA42Po5R1DNC2MDJxzEyuadsTUYuTvbNwo3dUPFHBTYEn0Eh2JiJiMeHR7XsZNbVH3uRgk4+GO7MeEBFBvXPIolEcCXvnLRoTi8acsSqDlU+2C/Y7NIDwtMjgKFIpopy/O6+uZPyZiqlzbEMYz0CK4/+rKL0eigCoerLkQhjYRuJCc8H0AkLRqRS0k1N6MQGLWzi7tIXvPcTffpY024nVJ7QiORNts+Jipb5XvtuvbVCtohsAEGl/3D1YaOxo7pwlR0el4USV40H8wRJ9LgwU0cDW2Bjrdspck5EDbfIBXe/sWVDeVo96Yh16+W5Qi21H68tnOYZ8v8R+/PdkhPQO4s2gz9FUblByzdW4z+PKr0fQhWKfdzpr8GThxJg3HFYIMI2S2MfQB718uWiYnKsJuA8DhwM9csFp4JqQwbt6rZBzOQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(7416002)(956004)(2616005)(30864003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: cXQftb57ga7zYWGsC7JCCKSM1bj8lm0oNNUSaSchpxVUHtY0Lx+Kf5Lo13ChnPBvSQaVZx8iSmWBlOy8tD1s/C4wNAlyEi6PZhjdPYw4D+4MILG8zF1cOJyIGblTT3mztXK+aDK4qeKLJio12TEzgHeKwgW+AWrTztyAmngbnzgxDjbk1G9KrP0g/rRgYLwUCBXA22BJDRx12j9sOS2FXueJXtpj0+Xrmje6gOSEuNsS14dgasavPP6S0XNfnb4H87rnH5WXBEb7HhAy+Bod2vqsMgQiCObxZi3wfiR1uwvdEtFv5Bsk3IwJ15T5wf4/gsTUYlWoMyr/roIqAEw2TkKZXyVmhQYNS9gvjEfe5lT2VYUpqDVMwhO67+GFA59HSJ2eUF1z5be24EYhR/uGJDHdtq0OTlBaXZ2pJZP+RE/St3JRAF0Gbt6MH1WlmuBe+tDl8VG1oVRuoUXRCdxCrj7bKaDWBSwc4vhInyPpCjJMqbEAzBD4NOkDMGgZhqd2dS0fja+D6AN4rea7m3y6FaexkPw2ZgAxZKD/o4DTwedwNLo2Kp3f/GQkpfWx+Eeg8TW8ZoUap9P7bkv8VI4WmAVcYsfyfWysPtNlp1tmFeBBt5hokOmMFD3Ku10ypzIgS09ervqv9mdKPtlSsEij3WXqU5fG0UX/gmbMjYbt1aIUMW9xE9f5HpA3LB3hvOl6jNAcSvgL+TtVhXTdGS9+M6By6kMky4kKWKsvxyge/M1DVNdTfzbAtlz6l8a829FQyxXaGZktMVdO4dbXzZnZ9DylNkaFdOEY3aP8XryHgpk= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4614ee45-b47e-4abb-1fab-08d7ee80ad7e X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:53.2761 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BQyeEqhCrBWOVrAf8ArJ5P6aeV4LC3AOYzSE76aWXvq1dI2RxBzCA0uDKOLy+r/WyUzJyuB7eh2WBhd0jbazT6laqpmjVv9w05K65ACMNAE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add driver for fu540 to support ddr initialization in SPL. This driver is based on FSBL (https://github.com/sifive/freedom-u540-c000-bootloader.git) Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Jagan Teki --- board/sifive/fu540/Kconfig | 2 + drivers/ram/Kconfig | 1 + drivers/ram/Makefile | 2 + drivers/ram/sifive/Kconfig | 13 + drivers/ram/sifive/Makefile | 6 + drivers/ram/sifive/sdram_fu540.c | 416 +++++++++++++++++++++++++++++++ 6 files changed, 440 insertions(+) create mode 100644 drivers/ram/sifive/Kconfig create mode 100644 drivers/ram/sifive/Makefile create mode 100644 drivers/ram/sifive/sdram_fu540.c diff --git a/board/sifive/fu540/Kconfig b/board/sifive/fu540/Kconfig index 4330ac4491..d41c305227 100644 --- a/board/sifive/fu540/Kconfig +++ b/board/sifive/fu540/Kconfig @@ -19,6 +19,8 @@ config SYS_TEXT_BASE config BOARD_SPECIFIC_OPTIONS # dummy def_bool y select GENERIC_RISCV + select RAM + select SPL_RAM if SPL imply CMD_DHCP imply CMD_EXT2 imply CMD_EXT4 diff --git a/drivers/ram/Kconfig b/drivers/ram/Kconfig index 56fea7c94c..66074d1feb 100644 --- a/drivers/ram/Kconfig +++ b/drivers/ram/Kconfig @@ -75,3 +75,4 @@ config IMXRT_SDRAM source "drivers/ram/rockchip/Kconfig" source "drivers/ram/stm32mp1/Kconfig" +source "drivers/ram/sifive/Kconfig" diff --git a/drivers/ram/Makefile b/drivers/ram/Makefile index 5c897410c6..769c9d6218 100644 --- a/drivers/ram/Makefile +++ b/drivers/ram/Makefile @@ -17,3 +17,5 @@ obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/ obj-$(CONFIG_K3_J721E_DDRSS) += k3-j721e/ obj-$(CONFIG_IMXRT_SDRAM) += imxrt_sdram.o + +obj-$(CONFIG_RAM_SIFIVE) += sifive/ diff --git a/drivers/ram/sifive/Kconfig b/drivers/ram/sifive/Kconfig new file mode 100644 index 0000000000..6aca22ab2a --- /dev/null +++ b/drivers/ram/sifive/Kconfig @@ -0,0 +1,13 @@ +config RAM_SIFIVE + bool "Ram drivers support for SiFive SoCs" + depends on RAM && RISCV + default y + help + This enables support for ram drivers of SiFive SoCs. + +config SIFIVE_FU540_DDR + bool "SiFive FU540 DDR driver" + depends on RAM_SIFIVE + default y if TARGET_SIFIVE_FU540 + help + This enables DDR support for the platforms based on SiFive FU540 SoC. diff --git a/drivers/ram/sifive/Makefile b/drivers/ram/sifive/Makefile new file mode 100644 index 0000000000..0187805199 --- /dev/null +++ b/drivers/ram/sifive/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (c) 2020 SiFive, Inc +# + +obj-$(CONFIG_SIFIVE_FU540_DDR) += sdram_fu540.o diff --git a/drivers/ram/sifive/sdram_fu540.c b/drivers/ram/sifive/sdram_fu540.c new file mode 100644 index 0000000000..0aa2b2b44a --- /dev/null +++ b/drivers/ram/sifive/sdram_fu540.c @@ -0,0 +1,416 @@ +// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause +/* + * (C) Copyright 2020 SiFive, Inc. + * + * Authors: + * Pragnesh Patel + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define DENALI_CTL_0 0 +#define DENALI_CTL_21 21 +#define DENALI_CTL_120 120 +#define DENALI_CTL_132 132 +#define DENALI_CTL_136 136 +#define DENALI_CTL_170 170 +#define DENALI_CTL_181 181 +#define DENALI_CTL_182 182 +#define DENALI_CTL_184 184 +#define DENALI_CTL_208 208 +#define DENALI_CTL_209 209 +#define DENALI_CTL_210 210 +#define DENALI_CTL_212 212 +#define DENALI_CTL_214 214 +#define DENALI_CTL_216 216 +#define DENALI_CTL_224 224 +#define DENALI_CTL_225 225 +#define DENALI_CTL_260 260 + +#define DENALI_PHY_1152 1152 +#define DENALI_PHY_1214 1214 + +#define PAYLOAD_DEST 0x80000000 +#define DDR_MEM_SIZE (8UL * 1024UL * 1024UL * 1024UL) + +#define DRAM_CLASS_OFFSET 8 +#define DRAM_CLASS_DDR4 0xA +#define OPTIMAL_RMODW_EN_OFFSET 0 +#define DISABLE_RD_INTERLEAVE_OFFSET 16 +#define OUT_OF_RANGE_OFFSET 1 +#define MULTIPLE_OUT_OF_RANGE_OFFSET 2 +#define PORT_COMMAND_CHANNEL_ERROR_OFFSET 7 +#define MC_INIT_COMPLETE_OFFSET 8 +#define LEVELING_OPERATION_COMPLETED_OFFSET 22 +#define DFI_PHY_WRLELV_MODE_OFFSET 24 +#define DFI_PHY_RDLVL_MODE_OFFSET 24 +#define DFI_PHY_RDLVL_GATE_MODE_OFFSET 0 +#define VREF_EN_OFFSET 24 +#define PORT_ADDR_PROTECTION_EN_OFFSET 0 +#define AXI0_ADDRESS_RANGE_ENABLE 8 +#define AXI0_RANGE_PROT_BITS_0_OFFSET 24 +#define RDLVL_EN_OFFSET 16 +#define RDLVL_GATE_EN_OFFSET 24 +#define WRLVL_EN_OFFSET 0 + +#define PHY_RX_CAL_DQ0_0_OFFSET 0 +#define PHY_RX_CAL_DQ1_0_OFFSET 16 + +struct fu540_ddrctl { + volatile u32 denali_ctl[265]; +}; + +struct fu540_ddrphy { + volatile u32 denali_phy[1215]; +}; + +/** + * struct ddr_info + * + * @dev : pointer for the device + * @info : UCLASS RAM information + * @ctl : DDR controller base address + * @phy : DDR PHY base address + * @ctrl : DDR control base address + * @physical_filter_ctrl : DDR physical filter control base address + */ +struct ddr_info { + struct udevice *dev; + struct ram_info info; + struct fu540_ddrctl *ctl; + struct fu540_ddrphy *phy; + struct clk ddr_clk; + u32 *physical_filter_ctrl; +}; + +#if defined(CONFIG_TPL_BUILD) || \ + (!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD)) + +struct fu540_sdram_params { + struct fu540_ddrctl pctl_regs; + struct fu540_ddrphy phy_regs; +}; + +struct sifive_dmc_plat { +#if CONFIG_IS_ENABLED(OF_PLATDATA) + struct dtd_sifive_fu540_dmc dtplat; +#else + struct fu540_sdram_params sdram_params; +#endif +}; + +/* n: Unit bytes */ +static void sdram_copy_to_reg(volatile u32 *dest, + volatile u32 *src, u32 n) +{ + int i; + + for (i = 0; i < n / sizeof(u32); i++) { + writel(*src, dest); + src++; + dest++; + } +} + +static void ddr_setuprangeprotection(volatile u32 *ctl, u64 end_addr) +{ + u32 end_addr_16kblocks = ((end_addr >> 14) & 0x7FFFFF) - 1; + + writel(0x0, DENALI_CTL_209 + ctl); + writel(end_addr_16kblocks, DENALI_CTL_210 + ctl); + writel(0x0, DENALI_CTL_212 + ctl); + writel(0x0, DENALI_CTL_214 + ctl); + writel(0x0, DENALI_CTL_216 + ctl); + setbits_le32(DENALI_CTL_224 + ctl, + 0x3 << AXI0_RANGE_PROT_BITS_0_OFFSET); + writel(0xFFFFFFFF, DENALI_CTL_225 + ctl); + setbits_le32(DENALI_CTL_208 + ctl, 0x1 << AXI0_ADDRESS_RANGE_ENABLE); + setbits_le32(DENALI_CTL_208 + ctl, + 0x1 << PORT_ADDR_PROTECTION_EN_OFFSET); +} + +static void ddr_start(volatile u32 *ctl, u32 *physical_filter_ctrl, u64 ddr_end) +{ + int val; + + volatile u64 *filterreg = (volatile u64 *)physical_filter_ctrl; + + setbits_le32(DENALI_CTL_0 + ctl, 0x1); + + do { + val = readl(DENALI_CTL_132 + ctl) & + (1 << MC_INIT_COMPLETE_OFFSET); + } while (val == 0); + + /* Disable the BusBlocker in front of the controller AXI slave ports */ + filterreg[0] = 0x0f00000000000000UL | (ddr_end >> 2); +} + +static void check_errata(u32 regbase, u32 updownreg) +{ + u64 fails = 0; + u32 dq = 0; + u32 down, up; + u8 failc0, failc1; + u32 phy_rx_cal_dqn_0_offset; + + for (u32 bit = 0; bit < 2; bit++) { + if (bit == 0) { + phy_rx_cal_dqn_0_offset = + PHY_RX_CAL_DQ0_0_OFFSET; + } else { + phy_rx_cal_dqn_0_offset = + PHY_RX_CAL_DQ1_0_OFFSET; + } + + down = (updownreg >> + phy_rx_cal_dqn_0_offset) & 0x3F; + up = (updownreg >> + (phy_rx_cal_dqn_0_offset + 6)) & + 0x3F; + + failc0 = ((down == 0) && (up == 0x3F)); + failc1 = ((up == 0) && (down == 0x3F)); + + /* print error message on failure */ + if (failc0 || failc1) { + if (fails == 0) + printf("DDR error in fixing up\n"); + + fails |= (1 << dq); + + char slicelsc = '0'; + char slicemsc = '0'; + + slicelsc += (dq % 10); + slicemsc += (dq / 10); + printf("S "); + printf("%c", slicemsc); + printf("%c", slicelsc); + + if (failc0) + printf("U"); + else + printf("D"); + + printf("\n"); + } + dq++; + } +} + +static u64 ddr_phy_fixup(volatile u32 *ddrphyreg) +{ + u32 slicebase = 0; + + /* check errata condition */ + for (u32 slice = 0; slice < 8; slice++) { + u32 regbase = slicebase + 34; + + for (u32 reg = 0; reg < 4; reg++) { + u32 updownreg = readl(regbase + reg + ddrphyreg); + + check_errata(regbase, updownreg); + } + slicebase += 128; + } + + return(0); +} + +static u32 ddr_getdramclass(volatile u32 *ctl) +{ + u32 reg = readl(DENALI_CTL_0 + ctl); + + return ((reg >> DRAM_CLASS_OFFSET) & 0xF); +} + +static int fu540_ddr_setup(struct udevice *dev) +{ + struct ddr_info *priv = dev_get_priv(dev); + struct sifive_dmc_plat *plat = dev_get_platdata(dev); + struct fu540_sdram_params *params = &plat->sdram_params; + int ret, i; + u32 physet; + const u64 ddr_size = DDR_MEM_SIZE; + const u64 ddr_end = PAYLOAD_DEST + ddr_size; + volatile u32 *denali_ctl = &priv->ctl->denali_ctl[0]; + volatile u32 *denali_phy = &priv->phy->denali_phy[0]; + + ret = dev_read_u32_array(dev, "sifive,sdram-params", + (u32 *)&plat->sdram_params, + sizeof(plat->sdram_params) / sizeof(u32)); + if (ret) { + printf("%s: Cannot read sifive,sdram-params %d\n", + __func__, ret); + return ret; + } + + sdram_copy_to_reg(&priv->ctl->denali_ctl[0], + ¶ms->pctl_regs.denali_ctl[0], + sizeof(struct fu540_ddrctl)); + + /* phy reset */ + for (i = DENALI_PHY_1152; i <= DENALI_PHY_1214; i++) { + physet = params->phy_regs.denali_phy[i]; + priv->phy->denali_phy[i] = physet; + } + + for (i = 0; i < DENALI_PHY_1152; i++) { + physet = params->phy_regs.denali_phy[i]; + priv->phy->denali_phy[i] = physet; + } + + /* Disable read interleave DENALI_CTL_120 */ + setbits_le32(DENALI_CTL_120 + denali_ctl, + 1 << DISABLE_RD_INTERLEAVE_OFFSET); + + /* Disable optimal read/modify/write logic DENALI_CTL_21 */ + clrbits_le32(DENALI_CTL_21 + denali_ctl, 1 << OPTIMAL_RMODW_EN_OFFSET); + + /* Enable write Leveling DENALI_CTL_170 */ + setbits_le32(DENALI_CTL_170 + denali_ctl, (1 << WRLVL_EN_OFFSET) + | (1 << DFI_PHY_WRLELV_MODE_OFFSET)); + + /* Enable read leveling DENALI_CTL_181 and DENALI_CTL_260 */ + setbits_le32(DENALI_CTL_181 + denali_ctl, + 1 << DFI_PHY_RDLVL_MODE_OFFSET); + setbits_le32(DENALI_CTL_260 + denali_ctl, 1 << RDLVL_EN_OFFSET); + + /* Enable read leveling gate DENALI_CTL_260 and DENALI_CTL_182 */ + setbits_le32(DENALI_CTL_260 + denali_ctl, 1 << RDLVL_GATE_EN_OFFSET); + setbits_le32(DENALI_CTL_182 + denali_ctl, + 1 << DFI_PHY_RDLVL_GATE_MODE_OFFSET); + + if (ddr_getdramclass(denali_ctl) == DRAM_CLASS_DDR4) { + /* Enable vref training DENALI_CTL_184 */ + setbits_le32(DENALI_CTL_184 + denali_ctl, 1 << VREF_EN_OFFSET); + } + + /* Mask off leveling completion interrupt DENALI_CTL_136 */ + setbits_le32(DENALI_CTL_136 + denali_ctl, + 1 << LEVELING_OPERATION_COMPLETED_OFFSET); + + /* Mask off MC init complete interrupt DENALI_CTL_136 */ + setbits_le32(DENALI_CTL_136 + denali_ctl, 1 << MC_INIT_COMPLETE_OFFSET); + + /* Mask off out of range interrupts DENALI_CTL_136 */ + setbits_le32(DENALI_CTL_136 + denali_ctl, (1 << OUT_OF_RANGE_OFFSET) + | (1 << MULTIPLE_OUT_OF_RANGE_OFFSET)); + + /* set up range protection */ + ddr_setuprangeprotection(denali_ctl, DDR_MEM_SIZE); + + /* Mask off port command error interrupt DENALI_CTL_136 */ + setbits_le32(DENALI_CTL_136 + denali_ctl, + 1 << PORT_COMMAND_CHANNEL_ERROR_OFFSET); + + ddr_start(denali_ctl, priv->physical_filter_ctrl, ddr_end); + + ddr_phy_fixup(denali_phy); + + /* check size */ + priv->info.size = get_ram_size((long *)priv->info.base, + DDR_MEM_SIZE); + + debug("%s : %lx\n", __func__, priv->info.size); + + /* check memory access for all memory */ + if (priv->info.size != DDR_MEM_SIZE) { + printf("DDR invalid size : 0x%lx, expected 0x%lx\n", + priv->info.size, DDR_MEM_SIZE); + return -EINVAL; + } + + return 0; +} +#endif + +static int fu540_ddr_probe(struct udevice *dev) +{ + struct ddr_info *priv = dev_get_priv(dev); + +#if defined(CONFIG_TPL_BUILD) || \ + (!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD)) + struct regmap *map; + int ret; + u32 clock = 0; + + debug("FU540 DDR probe\n"); + priv->dev = dev; + + ret = regmap_init_mem(dev_ofnode(dev), &map); + if (ret) + return ret; + + ret = clk_get_by_index(dev, 0, &priv->ddr_clk); + if (ret) { + debug("clk get failed %d\n", ret); + return ret; + } + + ret = dev_read_u32(dev, "clock-frequency", &clock); + if (ret) { + debug("clock-frequency not found in dt %d\n", ret); + return ret; + } else { + ret = clk_set_rate(&priv->ddr_clk, clock); + if (ret < 0) { + debug("Could not set DDR clock\n"); + return ret; + } + } + + ret = clk_enable(&priv->ddr_clk); + priv->ctl = regmap_get_range(map, 0); + priv->phy = regmap_get_range(map, 1); + priv->physical_filter_ctrl = regmap_get_range(map, 2); + + priv->info.base = CONFIG_SYS_SDRAM_BASE; + + priv->info.size = 0; + return fu540_ddr_setup(dev); +#else + priv->info.base = CONFIG_SYS_SDRAM_BASE; + priv->info.size = DDR_MEM_SIZE; +#endif + return 0; +} + +static int fu540_ddr_get_info(struct udevice *dev, struct ram_info *info) +{ + struct ddr_info *priv = dev_get_priv(dev); + + *info = priv->info; + + return 0; +} + +static struct ram_ops fu540_ddr_ops = { + .get_info = fu540_ddr_get_info, +}; + +static const struct udevice_id fu540_ddr_ids[] = { + { .compatible = "sifive,fu540-c000-ddr" }, + { } +}; + +U_BOOT_DRIVER(fu540_ddr) = { + .name = "fu540_ddr", + .id = UCLASS_RAM, + .of_match = fu540_ddr_ids, + .ops = &fu540_ddr_ops, + .probe = fu540_ddr_probe, + .priv_auto_alloc_size = sizeof(struct ddr_info), +#if defined(CONFIG_TPL_BUILD) || \ + (!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD)) + .platdata_auto_alloc_size = sizeof(struct sifive_dmc_plat), +#endif +}; From patchwork Sat May 2 10:06:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281565 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=CBOhkLN8; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlG1286wz9sRf for ; Sat, 2 May 2020 20:09:13 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 47BD081DA4; Sat, 2 May 2020 12:08:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="CBOhkLN8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7C23F81DA7; Sat, 2 May 2020 12:08:10 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20604.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::604]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C033581D99 for ; Sat, 2 May 2020 12:08:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=afwsiKZ7dbYdZOl2Q8Qjj3WlCQS/wzqyBVm9zabAnFA3nambIM2PrXMtqp5EnScuy/4Xch/P079WV89UYOQMBzawdeX1c1xyPidDsn26u9vHWJl5PmAW/7CYJsO8y0PJGSQyTV/PYabg1q8IoGmdrp8OF4EgjASp8bPVKRy5RrY2H0UIaOk9+aG4lujU3Z4EGZ5qeQBTAMtT8kUFy+DJAt5bPvOm4phIouoL6mhGV51sw5koVg+HsPh8+v8A4PwoMmzddyjnIPNEig9zIQ8ipk6LHNFha4wPBgCQ/+PflXnjanATJVibPigLg9yCy0/7iQ3zX3jcpCU9rLGXIEJ1cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0JcqNDgAipJrkvcftnQ2C+VAiCVvKV+2XlJU9rVkccU=; b=SoTghFka5jBABjOTTfuwdEszCERACixfgC4+Nr6sR6bwZGT+0kmXBNgNbAe9GPkXWB1Gw1tAsMDo9j8qg5z5jkKmvFII4qF7hrn8qF+u5aWEtBpMWMK1nhF2/dqgucmQc/1nqQ+2RlNe3//XHmO2lRbSImJFH14jhM3JTdESZDdPtugkSAcUgMLNCqUpQ6yT6EKonKEnxru/4+0Ib06Ju2guN5JwT62u1pHaRcwp4EgD/HQdckZDTv7kXnB8Bs31HGsfCKivaDqSYAwl752VGOSes7pW/Y59g9WwkxXJ6A5Z8jx64TCUJC1hy1Q5EM7VMb4hN4VTaOSWX2fJyj7b+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0JcqNDgAipJrkvcftnQ2C+VAiCVvKV+2XlJU9rVkccU=; b=CBOhkLN8piOE73bGQTqNsUwOEDWIq1Qx+aU2uQBUQ9AGsN6i8dnCR8Zf/gNv4BUM5/TRdzlQJB6UuFjpz/fR0tI7SYam9Hyj8PV975W8Z34PrtIcG36AHLe/El0xJuVwkZSwsjp8ZTvMvX+r9uEcS3mICzleTduvJEBNPQzhnFQ= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:07:58 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:07:58 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 07/22] sifive: dts: fu540: Add DDR controller and phy register settings Date: Sat, 2 May 2020 15:36:11 +0530 Message-Id: <20200502100628.24809-8-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:54 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23b21810-beea-4374-1601-08d7ee80b058 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:341; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4Iwu9V5Er8h/MfoJH6051tgqVvIOoGCZwbh983IMkX8oUG9f7kDtlCUpoc3uxmZ5JuNOm/qx1tlFPeUyf/gXRMvC8FaP+JauAr57lwodDtRra38p+1AksCHlGKL7KG+I9J31gYpStsNN/POC83MbUm+lkeCiL1iBuq76ld5jlP1ov+s4VIMI9DJ0E8NJJv0vKuDGJSTW0fRFw6GbOopaMZkZwnDpMBFWHdid6WPfdZfD/jRevwwDcjb4epDTXViBAHPQuCrit960MLcbQoc8jH14C1i8Oy+VSuJepPlZCupF1yXRt/0ecPDknHl5bodkkMAqq4ZOFgqYzvQ/f9r/xIiUonZJCHVooBO90vudLRO4HlV4uiUuWIWKAjkLxF1rQDaUKfPniwDKT0pMhNCIQLG8pVVecYgmUKoSqGLBin7nrMEcGxtTLZ6I3RoihM6qL82aCZlf2/FiaqiwTPVxh+UiQoqE2QYEhdpNZfgUttejBhgi/lHWaEM7IOc5sOYnxsfvR8cIVkhjOESm5WpR0w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(30864003)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007)(579004)(559001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: E7iuiBv9k1UaaY/bSBmsDnXHfqmOy+k6jYSZZ10rqYhTU9CSGC3u1tHLveX3RPNgRFLBYhLaWIk+ffFQCCkYDHANtb4n01/F9tYNYgztTMVUWRv5GXAtX74pehbXWz7tsG6+xHWrBhSOlx4iLeyu6U2G3SD0ZxCsU4QdcNFsidYcurI9nVzZtN00j/AQ+1qfzZkwCpcW6a9HT+uDSD31uZjHKCF9lgqlMpm5u00+0g59rBve81E1hEWPlJ+QBHotbuAn8H4zVwTORcPq/7BWGpA5utpSHw/8xS1PEi0Eno9Tk9/HJ4Lhw/Kdl54SGEa+psHhStSfEkeV/LCKfqxtHJ7ldsJLpvRNFiHsslNLbGV7ySL2p0CfgbHFfcfakC9JEIVs0pdZYTxo2rHux4WTeBjav2cYofQbd7aYxtxyvxh6r6Y43CG+XPrFEZ4s/M6G0Zrf52DZCVuKsqR0ptqN6n54yVwpCDwq8UwqAKOQz+gEATZ/99F4TipnnqN24y2KcTq1JwVCaU9/ggjMQHkHdFWXvEH70fWm0PqsOEQTXawf3gEOEIMcvEl1ZwEPs6QNXFa9sAAV8POLrUe1wxqVEtP4ClGNFqqeSv49rfv1RF6W81aucMs5a895M76DffE9t9UgZEMycUDAaVtUiLGvky24MSc/8MOSAJKw0e66/v0ZmbmSrptzKByV32+ZfJq3RfjmsJ7fRY5Mg8lHM+7LXwJhgepJqe34avKmqOBh5OhWeOamTKaQxJPK/uXG/4Nn9u1h3FlkSTbhaf/InJEe0ZmBh0e3D6CdUfA7BxYI8cU= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23b21810-beea-4374-1601-08d7ee80b058 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:07:58.4539 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nUUfKCUfabFxGtu/WK5PD9K922rKKwCUmfWEPCgv1LwAkKJ+TT0RPKndRPY8y9pJ79KeyKHNENU0UsPuYJqBLMGkT+2LTBpP2bqBF2VA6Yg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add DDR controller and phy register settings, taken from fsbl (https://github.com/sifive/freedom-u540-c000-bootloader.git) Signed-off-by: Pragnesh Patel Tested-by: Bin Meng --- ...fu540-hifive-unleashed-a00-sdram-ddr4.dtsi | 1489 +++++++++++++++++ 1 file changed, 1489 insertions(+) create mode 100644 arch/riscv/dts/fu540-hifive-unleashed-a00-sdram-ddr4.dtsi diff --git a/arch/riscv/dts/fu540-hifive-unleashed-a00-sdram-ddr4.dtsi b/arch/riscv/dts/fu540-hifive-unleashed-a00-sdram-ddr4.dtsi new file mode 100644 index 0000000000..370c53800d --- /dev/null +++ b/arch/riscv/dts/fu540-hifive-unleashed-a00-sdram-ddr4.dtsi @@ -0,0 +1,1489 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2020 SiFive, Inc + */ + +&dmc { + sifive,sdram-params = < + 0x00000a00 /* DENALI_CTL_00_DATA */ + 0x00000000 /* DENALI_CTL_01_DATA */ + 0x00000000 /* DENALI_CTL_02_DATA */ + 0x00000000 /* DENALI_CTL_03_DATA */ + 0x00000000 /* DENALI_CTL_04_DATA */ + 0x00000000 /* DENALI_CTL_05_DATA */ + 0x0000000a /* DENALI_CTL_06_DATA */ + 0x0002d362 /* DENALI_CTL_07_DATA */ + 0x00071073 /* DENALI_CTL_08_DATA */ + 0x0a1c0255 /* DENALI_CTL_09_DATA */ + 0x1c1c0400 /* DENALI_CTL_10_DATA */ + 0x0404990b /* DENALI_CTL_11_DATA */ + 0x2b050405 /* DENALI_CTL_12_DATA */ + 0x0e0c081e /* DENALI_CTL_13_DATA */ + 0x08090914 /* DENALI_CTL_14_DATA */ + 0x00fde718 /* DENALI_CTL_15_DATA */ + 0x00180a05 /* DENALI_CTL_16_DATA */ + 0x008b130e /* DENALI_CTL_17_DATA */ + 0x01000118 /* DENALI_CTL_18_DATA */ + 0x0e032101 /* DENALI_CTL_19_DATA */ + 0x00000000 /* DENALI_CTL_20_DATA */ + 0x00000101 /* DENALI_CTL_21_DATA */ + 0x00000000 /* DENALI_CTL_22_DATA */ + 0x0a000000 /* DENALI_CTL_23_DATA */ + 0x00000000 /* DENALI_CTL_24_DATA */ + 0x01450100 /* DENALI_CTL_25_DATA */ + 0x00001c36 /* DENALI_CTL_26_DATA */ + 0x00000005 /* DENALI_CTL_27_DATA */ + 0x00170006 /* DENALI_CTL_28_DATA */ + 0x014e0300 /* DENALI_CTL_29_DATA */ + 0x03010000 /* DENALI_CTL_30_DATA */ + 0x000a0e00 /* DENALI_CTL_31_DATA */ + 0x04030200 /* DENALI_CTL_32_DATA */ + 0x0000031f /* DENALI_CTL_33_DATA */ + 0x00070004 /* DENALI_CTL_34_DATA */ + 0x00000000 /* DENALI_CTL_35_DATA */ + 0x00000000 /* DENALI_CTL_36_DATA */ + 0x00000000 /* DENALI_CTL_37_DATA */ + 0x00000000 /* DENALI_CTL_38_DATA */ + 0x00000000 /* DENALI_CTL_39_DATA */ + 0x00000000 /* DENALI_CTL_40_DATA */ + 0x00000000 /* DENALI_CTL_41_DATA */ + 0x00000000 /* DENALI_CTL_42_DATA */ + 0x00000000 /* DENALI_CTL_43_DATA */ + 0x00000000 /* DENALI_CTL_44_DATA */ + 0x00000000 /* DENALI_CTL_45_DATA */ + 0x00000000 /* DENALI_CTL_46_DATA */ + 0x00000000 /* DENALI_CTL_47_DATA */ + 0x00000000 /* DENALI_CTL_48_DATA */ + 0x00000000 /* DENALI_CTL_49_DATA */ + 0x00000000 /* DENALI_CTL_50_DATA */ + 0x00000000 /* DENALI_CTL_51_DATA */ + 0x00000000 /* DENALI_CTL_52_DATA */ + 0x00000000 /* DENALI_CTL_53_DATA */ + 0x00000000 /* DENALI_CTL_54_DATA */ + 0x00000000 /* DENALI_CTL_55_DATA */ + 0x00000000 /* DENALI_CTL_56_DATA */ + 0x00000000 /* DENALI_CTL_57_DATA */ + 0x00000000 /* DENALI_CTL_58_DATA */ + 0x00000000 /* DENALI_CTL_59_DATA */ + 0x00000424 /* DENALI_CTL_60_DATA */ + 0x00000201 /* DENALI_CTL_61_DATA */ + 0x00001008 /* DENALI_CTL_62_DATA */ + 0x00000000 /* DENALI_CTL_63_DATA */ + 0x00000200 /* DENALI_CTL_64_DATA */ + 0x00000000 /* DENALI_CTL_65_DATA */ + 0x00000481 /* DENALI_CTL_66_DATA */ + 0x00000400 /* DENALI_CTL_67_DATA */ + 0x00000424 /* DENALI_CTL_68_DATA */ + 0x00000201 /* DENALI_CTL_69_DATA */ + 0x00001008 /* DENALI_CTL_70_DATA */ + 0x00000000 /* DENALI_CTL_71_DATA */ + 0x00000200 /* DENALI_CTL_72_DATA */ + 0x00000000 /* DENALI_CTL_73_DATA */ + 0x00000481 /* DENALI_CTL_74_DATA */ + 0x00000400 /* DENALI_CTL_75_DATA */ + 0x01010000 /* DENALI_CTL_76_DATA */ + 0x00000000 /* DENALI_CTL_77_DATA */ + 0x00000000 /* DENALI_CTL_78_DATA */ + 0x00000000 /* DENALI_CTL_79_DATA */ + 0x00000000 /* DENALI_CTL_80_DATA */ + 0x00000000 /* DENALI_CTL_81_DATA */ + 0x00000000 /* DENALI_CTL_82_DATA */ + 0x00000000 /* DENALI_CTL_83_DATA */ + 0x00000000 /* DENALI_CTL_84_DATA */ + 0x00000000 /* DENALI_CTL_85_DATA */ + 0x00000000 /* DENALI_CTL_86_DATA */ + 0x00000000 /* DENALI_CTL_87_DATA */ + 0x00000000 /* DENALI_CTL_88_DATA */ + 0x00000000 /* DENALI_CTL_89_DATA */ + 0x00000000 /* DENALI_CTL_90_DATA */ + 0x00000000 /* DENALI_CTL_91_DATA */ + 0x00000000 /* DENALI_CTL_92_DATA */ + 0x00000000 /* DENALI_CTL_93_DATA */ + 0x00000000 /* DENALI_CTL_94_DATA */ + 0x00000000 /* DENALI_CTL_95_DATA */ + 0x00000000 /* DENALI_CTL_96_DATA */ + 0x00000000 /* DENALI_CTL_97_DATA */ + 0x00000000 /* DENALI_CTL_98_DATA */ + 0x00000000 /* DENALI_CTL_99_DATA */ + 0x00000000 /* DENALI_CTL_100_DATA */ + 0x00000000 /* DENALI_CTL_101_DATA */ + 0x00000000 /* DENALI_CTL_102_DATA */ + 0x00000000 /* DENALI_CTL_103_DATA */ + 0x00000000 /* DENALI_CTL_104_DATA */ + 0x00000003 /* DENALI_CTL_105_DATA */ + 0x00000000 /* DENALI_CTL_106_DATA */ + 0x00000000 /* DENALI_CTL_107_DATA */ + 0x00000000 /* DENALI_CTL_108_DATA */ + 0x00000000 /* DENALI_CTL_109_DATA */ + 0x01000000 /* DENALI_CTL_110_DATA */ + 0x00040000 /* DENALI_CTL_111_DATA */ + 0x00800200 /* DENALI_CTL_112_DATA */ + 0x00000200 /* DENALI_CTL_113_DATA */ + 0x00000040 /* DENALI_CTL_114_DATA */ + 0x01000100 /* DENALI_CTL_115_DATA */ + 0x0a000002 /* DENALI_CTL_116_DATA */ + 0x0101ffff /* DENALI_CTL_117_DATA */ + 0x01010101 /* DENALI_CTL_118_DATA */ + 0x01010101 /* DENALI_CTL_119_DATA */ + 0x0000010b /* DENALI_CTL_120_DATA */ + 0x00000c01 /* DENALI_CTL_121_DATA */ + 0x00000000 /* DENALI_CTL_122_DATA */ + 0x00000000 /* DENALI_CTL_123_DATA */ + 0x00000000 /* DENALI_CTL_124_DATA */ + 0x00000000 /* DENALI_CTL_125_DATA */ + 0x00030300 /* DENALI_CTL_126_DATA */ + 0x00000000 /* DENALI_CTL_127_DATA */ + 0x00010001 /* DENALI_CTL_128_DATA */ + 0x00000000 /* DENALI_CTL_129_DATA */ + 0x00000000 /* DENALI_CTL_130_DATA */ + 0x00000000 /* DENALI_CTL_131_DATA */ + 0x00000000 /* DENALI_CTL_132_DATA */ + 0x00000000 /* DENALI_CTL_133_DATA */ + 0x00000000 /* DENALI_CTL_134_DATA */ + 0x00000000 /* DENALI_CTL_135_DATA */ + 0x00000000 /* DENALI_CTL_136_DATA */ + 0x00000000 /* DENALI_CTL_137_DATA */ + 0x00000000 /* DENALI_CTL_138_DATA */ + 0x00000000 /* DENALI_CTL_139_DATA */ + 0x00000000 /* DENALI_CTL_140_DATA */ + 0x00000000 /* DENALI_CTL_141_DATA */ + 0x00000000 /* DENALI_CTL_142_DATA */ + 0x00000000 /* DENALI_CTL_143_DATA */ + 0x00000000 /* DENALI_CTL_144_DATA */ + 0x00000000 /* DENALI_CTL_145_DATA */ + 0x00000000 /* DENALI_CTL_146_DATA */ + 0x00000000 /* DENALI_CTL_147_DATA */ + 0x00000000 /* DENALI_CTL_148_DATA */ + 0x00000000 /* DENALI_CTL_149_DATA */ + 0x00000000 /* DENALI_CTL_150_DATA */ + 0x00000000 /* DENALI_CTL_151_DATA */ + 0x00000000 /* DENALI_CTL_152_DATA */ + 0x00000000 /* DENALI_CTL_153_DATA */ + 0x00000000 /* DENALI_CTL_154_DATA */ + 0x00000000 /* DENALI_CTL_155_DATA */ + 0x00000000 /* DENALI_CTL_156_DATA */ + 0x00000000 /* DENALI_CTL_157_DATA */ + 0x00000000 /* DENALI_CTL_158_DATA */ + 0x00000000 /* DENALI_CTL_159_DATA */ + 0x00000000 /* DENALI_CTL_160_DATA */ + 0x02010102 /* DENALI_CTL_161_DATA */ + 0x0107070d /* DENALI_CTL_162_DATA */ + 0x04040400 /* DENALI_CTL_163_DATA */ + 0x03000503 /* DENALI_CTL_164_DATA */ + 0x00000000 /* DENALI_CTL_165_DATA */ + 0x00000000 /* DENALI_CTL_166_DATA */ + 0x00000000 /* DENALI_CTL_167_DATA */ + 0x00000000 /* DENALI_CTL_168_DATA */ + 0x280d0000 /* DENALI_CTL_169_DATA */ + 0x01000000 /* DENALI_CTL_170_DATA */ + 0x00000000 /* DENALI_CTL_171_DATA */ + 0x00010001 /* DENALI_CTL_172_DATA */ + 0x00000000 /* DENALI_CTL_173_DATA */ + 0x00000000 /* DENALI_CTL_174_DATA */ + 0x00000000 /* DENALI_CTL_175_DATA */ + 0x00000000 /* DENALI_CTL_176_DATA */ + 0x00000000 /* DENALI_CTL_177_DATA */ + 0x00000000 /* DENALI_CTL_178_DATA */ + 0x00000000 /* DENALI_CTL_179_DATA */ + 0x00000000 /* DENALI_CTL_180_DATA */ + 0x01000000 /* DENALI_CTL_181_DATA */ + 0x00000001 /* DENALI_CTL_182_DATA */ + 0x00000100 /* DENALI_CTL_183_DATA */ + 0x00000101 /* DENALI_CTL_184_DATA */ + 0x67676701 /* DENALI_CTL_185_DATA */ + 0x67676767 /* DENALI_CTL_186_DATA */ + 0x67676767 /* DENALI_CTL_187_DATA */ + 0x67676767 /* DENALI_CTL_188_DATA */ + 0x67676767 /* DENALI_CTL_189_DATA */ + 0x67676767 /* DENALI_CTL_190_DATA */ + 0x67676767 /* DENALI_CTL_191_DATA */ + 0x67676767 /* DENALI_CTL_192_DATA */ + 0x67676767 /* DENALI_CTL_193_DATA */ + 0x01000067 /* DENALI_CTL_194_DATA */ + 0x00000001 /* DENALI_CTL_195_DATA */ + 0x00000101 /* DENALI_CTL_196_DATA */ + 0x00000000 /* DENALI_CTL_197_DATA */ + 0x00000000 /* DENALI_CTL_198_DATA */ + 0x00000000 /* DENALI_CTL_199_DATA */ + 0x00000000 /* DENALI_CTL_200_DATA */ + 0x00000000 /* DENALI_CTL_201_DATA */ + 0x00000000 /* DENALI_CTL_202_DATA */ + 0x00000000 /* DENALI_CTL_203_DATA */ + 0x00000000 /* DENALI_CTL_204_DATA */ + 0x00000000 /* DENALI_CTL_205_DATA */ + 0x00000000 /* DENALI_CTL_206_DATA */ + 0x00000000 /* DENALI_CTL_207_DATA */ + 0x00000001 /* DENALI_CTL_208_DATA */ + 0x00000000 /* DENALI_CTL_209_DATA */ + 0x007fffff /* DENALI_CTL_210_DATA */ + 0x00000000 /* DENALI_CTL_211_DATA */ + 0x007fffff /* DENALI_CTL_212_DATA */ + 0x00000000 /* DENALI_CTL_213_DATA */ + 0x007fffff /* DENALI_CTL_214_DATA */ + 0x00000000 /* DENALI_CTL_215_DATA */ + 0x007fffff /* DENALI_CTL_216_DATA */ + 0x00000000 /* DENALI_CTL_217_DATA */ + 0x007fffff /* DENALI_CTL_218_DATA */ + 0x00000000 /* DENALI_CTL_219_DATA */ + 0x007fffff /* DENALI_CTL_220_DATA */ + 0x00000000 /* DENALI_CTL_221_DATA */ + 0x007fffff /* DENALI_CTL_222_DATA */ + 0x00000000 /* DENALI_CTL_223_DATA */ + 0x037fffff /* DENALI_CTL_224_DATA */ + 0xffffffff /* DENALI_CTL_225_DATA */ + 0x000f000f /* DENALI_CTL_226_DATA */ + 0x00ffff03 /* DENALI_CTL_227_DATA */ + 0x000fffff /* DENALI_CTL_228_DATA */ + 0x0003000f /* DENALI_CTL_229_DATA */ + 0xffffffff /* DENALI_CTL_230_DATA */ + 0x000f000f /* DENALI_CTL_231_DATA */ + 0x00ffff03 /* DENALI_CTL_232_DATA */ + 0x000fffff /* DENALI_CTL_233_DATA */ + 0x0003000f /* DENALI_CTL_234_DATA */ + 0xffffffff /* DENALI_CTL_235_DATA */ + 0x000f000f /* DENALI_CTL_236_DATA */ + 0x00ffff03 /* DENALI_CTL_237_DATA */ + 0x000fffff /* DENALI_CTL_238_DATA */ + 0x0003000f /* DENALI_CTL_239_DATA */ + 0xffffffff /* DENALI_CTL_240_DATA */ + 0x000f000f /* DENALI_CTL_241_DATA */ + 0x00ffff03 /* DENALI_CTL_242_DATA */ + 0x000fffff /* DENALI_CTL_243_DATA */ + 0x6407000f /* DENALI_CTL_244_DATA */ + 0x01640001 /* DENALI_CTL_245_DATA */ + 0x00000000 /* DENALI_CTL_246_DATA */ + 0x00000000 /* DENALI_CTL_247_DATA */ + 0x00001700 /* DENALI_CTL_248_DATA */ + 0x00386c05 /* DENALI_CTL_249_DATA */ + 0x02000200 /* DENALI_CTL_250_DATA */ + 0x02000200 /* DENALI_CTL_251_DATA */ + 0x0000386c /* DENALI_CTL_252_DATA */ + 0x00023438 /* DENALI_CTL_253_DATA */ + 0x02020d10 /* DENALI_CTL_254_DATA */ + 0x00140303 /* DENALI_CTL_255_DATA */ + 0x00000000 /* DENALI_CTL_256_DATA */ + 0x00000000 /* DENALI_CTL_257_DATA */ + 0x00001403 /* DENALI_CTL_258_DATA */ + 0x00000000 /* DENALI_CTL_259_DATA */ + 0x00000000 /* DENALI_CTL_260_DATA */ + 0x00000000 /* DENALI_CTL_261_DATA */ + 0x00000000 /* DENALI_CTL_262_DATA */ + 0x0d010000 /* DENALI_CTL_263_DATA */ + 0x00000008 /* DENALI_CTL_264_DATA */ + 0x31706542 /* DENALI_PHY_00_DATA */ + 0x0004c008 /* DENALI_PHY_01_DATA */ + 0x000000da /* DENALI_PHY_02_DATA */ + 0x00000000 /* DENALI_PHY_03_DATA */ + 0x00000000 /* DENALI_PHY_04_DATA */ + 0x00010000 /* DENALI_PHY_05_DATA */ + 0x01DDDD90 /* DENALI_PHY_06_DATA */ + 0x01DDDD90 /* DENALI_PHY_07_DATA */ + 0x01030000 /* DENALI_PHY_08_DATA */ + 0x01000000 /* DENALI_PHY_09_DATA */ + 0x00c00000 /* DENALI_PHY_10_DATA */ + 0x00000007 /* DENALI_PHY_11_DATA */ + 0x00000000 /* DENALI_PHY_12_DATA */ + 0x00000000 /* DENALI_PHY_13_DATA */ + 0x04000408 /* DENALI_PHY_14_DATA */ + 0x00000408 /* DENALI_PHY_15_DATA */ + 0x00e4e400 /* DENALI_PHY_16_DATA */ + 0x00000000 /* DENALI_PHY_17_DATA */ + 0x00000000 /* DENALI_PHY_18_DATA */ + 0x00000000 /* DENALI_PHY_19_DATA */ + 0x00000000 /* DENALI_PHY_20_DATA */ + 0x00000000 /* DENALI_PHY_21_DATA */ + 0x00000000 /* DENALI_PHY_22_DATA */ + 0x00000000 /* DENALI_PHY_23_DATA */ + 0x00000000 /* DENALI_PHY_24_DATA */ + 0x00000000 /* DENALI_PHY_25_DATA */ + 0x00000000 /* DENALI_PHY_26_DATA */ + 0x00000000 /* DENALI_PHY_27_DATA */ + 0x00000000 /* DENALI_PHY_28_DATA */ + 0x00000000 /* DENALI_PHY_29_DATA */ + 0x00000000 /* DENALI_PHY_30_DATA */ + 0x00000000 /* DENALI_PHY_31_DATA */ + 0x00000000 /* DENALI_PHY_32_DATA */ + 0x00200000 /* DENALI_PHY_33_DATA */ + 0x00000000 /* DENALI_PHY_34_DATA */ + 0x00000000 /* DENALI_PHY_35_DATA */ + 0x00000000 /* DENALI_PHY_36_DATA */ + 0x00000000 /* DENALI_PHY_37_DATA */ + 0x00000000 /* DENALI_PHY_38_DATA */ + 0x00000000 /* DENALI_PHY_39_DATA */ + 0x02800280 /* DENALI_PHY_40_DATA */ + 0x02800280 /* DENALI_PHY_41_DATA */ + 0x02800280 /* DENALI_PHY_42_DATA */ + 0x02800280 /* DENALI_PHY_43_DATA */ + 0x00000280 /* DENALI_PHY_44_DATA */ + 0x00000000 /* DENALI_PHY_45_DATA */ + 0x00000000 /* DENALI_PHY_46_DATA */ + 0x00000000 /* DENALI_PHY_47_DATA */ + 0x00000000 /* DENALI_PHY_48_DATA */ + 0x00000000 /* DENALI_PHY_49_DATA */ + 0x00800080 /* DENALI_PHY_50_DATA */ + 0x00800080 /* DENALI_PHY_51_DATA */ + 0x00800080 /* DENALI_PHY_52_DATA */ + 0x00800080 /* DENALI_PHY_53_DATA */ + 0x00800080 /* DENALI_PHY_54_DATA */ + 0x00800080 /* DENALI_PHY_55_DATA */ + 0x00800080 /* DENALI_PHY_56_DATA */ + 0x00800080 /* DENALI_PHY_57_DATA */ + 0x00800080 /* DENALI_PHY_58_DATA */ + 0x000100da /* DENALI_PHY_59_DATA */ + 0x01000200 /* DENALI_PHY_60_DATA */ + 0x00000000 /* DENALI_PHY_61_DATA */ + 0x00000000 /* DENALI_PHY_62_DATA */ + 0x00000002 /* DENALI_PHY_63_DATA */ + 0x51313152 /* DENALI_PHY_64_DATA */ + 0x80013130 /* DENALI_PHY_65_DATA */ + 0x02000080 /* DENALI_PHY_66_DATA */ + 0x00100001 /* DENALI_PHY_67_DATA */ + 0x0c064208 /* DENALI_PHY_68_DATA */ + 0x000f0c0f /* DENALI_PHY_69_DATA */ + 0x01000140 /* DENALI_PHY_70_DATA */ + 0x0000000c /* DENALI_PHY_71_DATA */ + 0x00000000 /* DENALI_PHY_72_DATA */ + 0x00000000 /* DENALI_PHY_73_DATA */ + 0x00000000 /* DENALI_PHY_74_DATA */ + 0x00000000 /* DENALI_PHY_75_DATA */ + 0x00000000 /* DENALI_PHY_76_DATA */ + 0x00000000 /* DENALI_PHY_77_DATA */ + 0x00000000 /* DENALI_PHY_78_DATA */ + 0x00000000 /* DENALI_PHY_79_DATA */ + 0x00000000 /* DENALI_PHY_80_DATA */ + 0x00000000 /* DENALI_PHY_81_DATA */ + 0x00000000 /* DENALI_PHY_82_DATA */ + 0x00000000 /* DENALI_PHY_83_DATA */ + 0x00000000 /* DENALI_PHY_84_DATA */ + 0x00000000 /* DENALI_PHY_85_DATA */ + 0x00000000 /* DENALI_PHY_86_DATA */ + 0x00000000 /* DENALI_PHY_87_DATA */ + 0x00000000 /* DENALI_PHY_88_DATA */ + 0x00000000 /* DENALI_PHY_89_DATA */ + 0x00000000 /* DENALI_PHY_90_DATA */ + 0x00000000 /* DENALI_PHY_91_DATA */ + 0x00000000 /* DENALI_PHY_92_DATA */ + 0x00000000 /* DENALI_PHY_93_DATA */ + 0x00000000 /* DENALI_PHY_94_DATA */ + 0x00000000 /* DENALI_PHY_95_DATA */ + 0x00000000 /* DENALI_PHY_96_DATA */ + 0x00000000 /* DENALI_PHY_97_DATA */ + 0x00000000 /* DENALI_PHY_98_DATA */ + 0x00000000 /* DENALI_PHY_99_DATA */ + 0x00000000 /* DENALI_PHY_100_DATA */ + 0x00000000 /* DENALI_PHY_101_DATA */ + 0x00000000 /* DENALI_PHY_102_DATA */ + 0x00000000 /* DENALI_PHY_103_DATA */ + 0x00000000 /* DENALI_PHY_104_DATA */ + 0x00000000 /* DENALI_PHY_105_DATA */ + 0x00000000 /* DENALI_PHY_106_DATA */ + 0x00000000 /* DENALI_PHY_107_DATA */ + 0x00000000 /* DENALI_PHY_108_DATA */ + 0x00000000 /* DENALI_PHY_109_DATA */ + 0x00000000 /* DENALI_PHY_110_DATA */ + 0x00000000 /* DENALI_PHY_111_DATA */ + 0x00000000 /* DENALI_PHY_112_DATA */ + 0x00000000 /* DENALI_PHY_113_DATA */ + 0x00000000 /* DENALI_PHY_114_DATA */ + 0x00000000 /* DENALI_PHY_115_DATA */ + 0x00000000 /* DENALI_PHY_116_DATA */ + 0x00000000 /* DENALI_PHY_117_DATA */ + 0x00000000 /* DENALI_PHY_118_DATA */ + 0x00000000 /* DENALI_PHY_119_DATA */ + 0x00000000 /* DENALI_PHY_120_DATA */ + 0x00000000 /* DENALI_PHY_121_DATA */ + 0x00000000 /* DENALI_PHY_122_DATA */ + 0x00000000 /* DENALI_PHY_123_DATA */ + 0x00000000 /* DENALI_PHY_124_DATA */ + 0x00000000 /* DENALI_PHY_125_DATA */ + 0x00000000 /* DENALI_PHY_126_DATA */ + 0x00000000 /* DENALI_PHY_127_DATA */ + 0x40263571 /* DENALI_PHY_128_DATA */ + 0x0004c008 /* DENALI_PHY_129_DATA */ + 0x000000da /* DENALI_PHY_130_DATA */ + 0x00000000 /* DENALI_PHY_131_DATA */ + 0x00000000 /* DENALI_PHY_132_DATA */ + 0x00010000 /* DENALI_PHY_133_DATA */ + 0x01DDDD90 /* DENALI_PHY_134_DATA */ + 0x01DDDD90 /* DENALI_PHY_135_DATA */ + 0x01030000 /* DENALI_PHY_136_DATA */ + 0x01000000 /* DENALI_PHY_137_DATA */ + 0x00c00000 /* DENALI_PHY_138_DATA */ + 0x00000007 /* DENALI_PHY_139_DATA */ + 0x00000000 /* DENALI_PHY_140_DATA */ + 0x00000000 /* DENALI_PHY_141_DATA */ + 0x04000408 /* DENALI_PHY_142_DATA */ + 0x00000408 /* DENALI_PHY_143_DATA */ + 0x00e4e400 /* DENALI_PHY_144_DATA */ + 0x00000000 /* DENALI_PHY_145_DATA */ + 0x00000000 /* DENALI_PHY_146_DATA */ + 0x00000000 /* DENALI_PHY_147_DATA */ + 0x00000000 /* DENALI_PHY_148_DATA */ + 0x00000000 /* DENALI_PHY_149_DATA */ + 0x00000000 /* DENALI_PHY_150_DATA */ + 0x00000000 /* DENALI_PHY_151_DATA */ + 0x00000000 /* DENALI_PHY_152_DATA */ + 0x00000000 /* DENALI_PHY_153_DATA */ + 0x00000000 /* DENALI_PHY_154_DATA */ + 0x00000000 /* DENALI_PHY_155_DATA */ + 0x00000000 /* DENALI_PHY_156_DATA */ + 0x00000000 /* DENALI_PHY_157_DATA */ + 0x00000000 /* DENALI_PHY_158_DATA */ + 0x00000000 /* DENALI_PHY_159_DATA */ + 0x00000000 /* DENALI_PHY_160_DATA */ + 0x00200000 /* DENALI_PHY_161_DATA */ + 0x00000000 /* DENALI_PHY_162_DATA */ + 0x00000000 /* DENALI_PHY_163_DATA */ + 0x00000000 /* DENALI_PHY_164_DATA */ + 0x00000000 /* DENALI_PHY_165_DATA */ + 0x00000000 /* DENALI_PHY_166_DATA */ + 0x00000000 /* DENALI_PHY_167_DATA */ + 0x02800280 /* DENALI_PHY_168_DATA */ + 0x02800280 /* DENALI_PHY_169_DATA */ + 0x02800280 /* DENALI_PHY_170_DATA */ + 0x02800280 /* DENALI_PHY_171_DATA */ + 0x00000280 /* DENALI_PHY_172_DATA */ + 0x00000000 /* DENALI_PHY_173_DATA */ + 0x00000000 /* DENALI_PHY_174_DATA */ + 0x00000000 /* DENALI_PHY_175_DATA */ + 0x00000000 /* DENALI_PHY_176_DATA */ + 0x00000000 /* DENALI_PHY_177_DATA */ + 0x00800080 /* DENALI_PHY_178_DATA */ + 0x00800080 /* DENALI_PHY_179_DATA */ + 0x00800080 /* DENALI_PHY_180_DATA */ + 0x00800080 /* DENALI_PHY_181_DATA */ + 0x00800080 /* DENALI_PHY_182_DATA */ + 0x00800080 /* DENALI_PHY_183_DATA */ + 0x00800080 /* DENALI_PHY_184_DATA */ + 0x00800080 /* DENALI_PHY_185_DATA */ + 0x00800080 /* DENALI_PHY_186_DATA */ + 0x000100da /* DENALI_PHY_187_DATA */ + 0x01000200 /* DENALI_PHY_188_DATA */ + 0x00000000 /* DENALI_PHY_189_DATA */ + 0x00000000 /* DENALI_PHY_190_DATA */ + 0x00000002 /* DENALI_PHY_191_DATA */ + 0x51313152 /* DENALI_PHY_192_DATA */ + 0x80013130 /* DENALI_PHY_193_DATA */ + 0x02000080 /* DENALI_PHY_194_DATA */ + 0x00100001 /* DENALI_PHY_195_DATA */ + 0x0c064208 /* DENALI_PHY_196_DATA */ + 0x000f0c0f /* DENALI_PHY_197_DATA */ + 0x01000140 /* DENALI_PHY_198_DATA */ + 0x0000000c /* DENALI_PHY_199_DATA */ + 0x00000000 /* DENALI_PHY_200_DATA */ + 0x00000000 /* DENALI_PHY_201_DATA */ + 0x00000000 /* DENALI_PHY_202_DATA */ + 0x00000000 /* DENALI_PHY_203_DATA */ + 0x00000000 /* DENALI_PHY_204_DATA */ + 0x00000000 /* DENALI_PHY_205_DATA */ + 0x00000000 /* DENALI_PHY_206_DATA */ + 0x00000000 /* DENALI_PHY_207_DATA */ + 0x00000000 /* DENALI_PHY_208_DATA */ + 0x00000000 /* DENALI_PHY_209_DATA */ + 0x00000000 /* DENALI_PHY_210_DATA */ + 0x00000000 /* DENALI_PHY_211_DATA */ + 0x00000000 /* DENALI_PHY_212_DATA */ + 0x00000000 /* DENALI_PHY_213_DATA */ + 0x00000000 /* DENALI_PHY_214_DATA */ + 0x00000000 /* DENALI_PHY_215_DATA */ + 0x00000000 /* DENALI_PHY_216_DATA */ + 0x00000000 /* DENALI_PHY_217_DATA */ + 0x00000000 /* DENALI_PHY_218_DATA */ + 0x00000000 /* DENALI_PHY_219_DATA */ + 0x00000000 /* DENALI_PHY_220_DATA */ + 0x00000000 /* DENALI_PHY_221_DATA */ + 0x00000000 /* DENALI_PHY_222_DATA */ + 0x00000000 /* DENALI_PHY_223_DATA */ + 0x00000000 /* DENALI_PHY_224_DATA */ + 0x00000000 /* DENALI_PHY_225_DATA */ + 0x00000000 /* DENALI_PHY_226_DATA */ + 0x00000000 /* DENALI_PHY_227_DATA */ + 0x00000000 /* DENALI_PHY_228_DATA */ + 0x00000000 /* DENALI_PHY_229_DATA */ + 0x00000000 /* DENALI_PHY_230_DATA */ + 0x00000000 /* DENALI_PHY_231_DATA */ + 0x00000000 /* DENALI_PHY_232_DATA */ + 0x00000000 /* DENALI_PHY_233_DATA */ + 0x00000000 /* DENALI_PHY_234_DATA */ + 0x00000000 /* DENALI_PHY_235_DATA */ + 0x00000000 /* DENALI_PHY_236_DATA */ + 0x00000000 /* DENALI_PHY_237_DATA */ + 0x00000000 /* DENALI_PHY_238_DATA */ + 0x00000000 /* DENALI_PHY_239_DATA */ + 0x00000000 /* DENALI_PHY_240_DATA */ + 0x00000000 /* DENALI_PHY_241_DATA */ + 0x00000000 /* DENALI_PHY_242_DATA */ + 0x00000000 /* DENALI_PHY_243_DATA */ + 0x00000000 /* DENALI_PHY_244_DATA */ + 0x00000000 /* DENALI_PHY_245_DATA */ + 0x00000000 /* DENALI_PHY_246_DATA */ + 0x00000000 /* DENALI_PHY_247_DATA */ + 0x00000000 /* DENALI_PHY_248_DATA */ + 0x00000000 /* DENALI_PHY_249_DATA */ + 0x00000000 /* DENALI_PHY_250_DATA */ + 0x00000000 /* DENALI_PHY_251_DATA */ + 0x00000000 /* DENALI_PHY_252_DATA */ + 0x00000000 /* DENALI_PHY_253_DATA */ + 0x00000000 /* DENALI_PHY_254_DATA */ + 0x00000000 /* DENALI_PHY_255_DATA */ + 0x46052371 /* DENALI_PHY_256_DATA */ + 0x0004c008 /* DENALI_PHY_257_DATA */ + 0x000000da /* DENALI_PHY_258_DATA */ + 0x00000000 /* DENALI_PHY_259_DATA */ + 0x00000000 /* DENALI_PHY_260_DATA */ + 0x00010000 /* DENALI_PHY_261_DATA */ + 0x01DDDD90 /* DENALI_PHY_262_DATA */ + 0x01DDDD90 /* DENALI_PHY_263_DATA */ + 0x01030000 /* DENALI_PHY_264_DATA */ + 0x01000000 /* DENALI_PHY_265_DATA */ + 0x00c00000 /* DENALI_PHY_266_DATA */ + 0x00000007 /* DENALI_PHY_267_DATA */ + 0x00000000 /* DENALI_PHY_268_DATA */ + 0x00000000 /* DENALI_PHY_269_DATA */ + 0x04000408 /* DENALI_PHY_270_DATA */ + 0x00000408 /* DENALI_PHY_271_DATA */ + 0x00e4e400 /* DENALI_PHY_272_DATA */ + 0x00000000 /* DENALI_PHY_273_DATA */ + 0x00000000 /* DENALI_PHY_274_DATA */ + 0x00000000 /* DENALI_PHY_275_DATA */ + 0x00000000 /* DENALI_PHY_276_DATA */ + 0x00000000 /* DENALI_PHY_277_DATA */ + 0x00000000 /* DENALI_PHY_278_DATA */ + 0x00000000 /* DENALI_PHY_279_DATA */ + 0x00000000 /* DENALI_PHY_280_DATA */ + 0x00000000 /* DENALI_PHY_281_DATA */ + 0x00000000 /* DENALI_PHY_282_DATA */ + 0x00000000 /* DENALI_PHY_283_DATA */ + 0x00000000 /* DENALI_PHY_284_DATA */ + 0x00000000 /* DENALI_PHY_285_DATA */ + 0x00000000 /* DENALI_PHY_286_DATA */ + 0x00000000 /* DENALI_PHY_287_DATA */ + 0x00000000 /* DENALI_PHY_288_DATA */ + 0x00200000 /* DENALI_PHY_289_DATA */ + 0x00000000 /* DENALI_PHY_290_DATA */ + 0x00000000 /* DENALI_PHY_291_DATA */ + 0x00000000 /* DENALI_PHY_292_DATA */ + 0x00000000 /* DENALI_PHY_293_DATA */ + 0x00000000 /* DENALI_PHY_294_DATA */ + 0x00000000 /* DENALI_PHY_295_DATA */ + 0x02800280 /* DENALI_PHY_296_DATA */ + 0x02800280 /* DENALI_PHY_297_DATA */ + 0x02800280 /* DENALI_PHY_298_DATA */ + 0x02800280 /* DENALI_PHY_299_DATA */ + 0x00000280 /* DENALI_PHY_300_DATA */ + 0x00000000 /* DENALI_PHY_301_DATA */ + 0x00000000 /* DENALI_PHY_302_DATA */ + 0x00000000 /* DENALI_PHY_303_DATA */ + 0x00000000 /* DENALI_PHY_304_DATA */ + 0x00000000 /* DENALI_PHY_305_DATA */ + 0x00800080 /* DENALI_PHY_306_DATA */ + 0x00800080 /* DENALI_PHY_307_DATA */ + 0x00800080 /* DENALI_PHY_308_DATA */ + 0x00800080 /* DENALI_PHY_309_DATA */ + 0x00800080 /* DENALI_PHY_310_DATA */ + 0x00800080 /* DENALI_PHY_311_DATA */ + 0x00800080 /* DENALI_PHY_312_DATA */ + 0x00800080 /* DENALI_PHY_313_DATA */ + 0x00800080 /* DENALI_PHY_314_DATA */ + 0x000100da /* DENALI_PHY_315_DATA */ + 0x00000200 /* DENALI_PHY_316_DATA */ + 0x00000000 /* DENALI_PHY_317_DATA */ + 0x00000000 /* DENALI_PHY_318_DATA */ + 0x00000002 /* DENALI_PHY_319_DATA */ + 0x51313152 /* DENALI_PHY_320_DATA */ + 0x80013130 /* DENALI_PHY_321_DATA */ + 0x02000080 /* DENALI_PHY_322_DATA */ + 0x00100001 /* DENALI_PHY_323_DATA */ + 0x0c064208 /* DENALI_PHY_324_DATA */ + 0x000f0c0f /* DENALI_PHY_325_DATA */ + 0x01000140 /* DENALI_PHY_326_DATA */ + 0x0000000c /* DENALI_PHY_327_DATA */ + 0x00000000 /* DENALI_PHY_328_DATA */ + 0x00000000 /* DENALI_PHY_329_DATA */ + 0x00000000 /* DENALI_PHY_330_DATA */ + 0x00000000 /* DENALI_PHY_331_DATA */ + 0x00000000 /* DENALI_PHY_332_DATA */ + 0x00000000 /* DENALI_PHY_333_DATA */ + 0x00000000 /* DENALI_PHY_334_DATA */ + 0x00000000 /* DENALI_PHY_335_DATA */ + 0x00000000 /* DENALI_PHY_336_DATA */ + 0x00000000 /* DENALI_PHY_337_DATA */ + 0x00000000 /* DENALI_PHY_338_DATA */ + 0x00000000 /* DENALI_PHY_339_DATA */ + 0x00000000 /* DENALI_PHY_340_DATA */ + 0x00000000 /* DENALI_PHY_341_DATA */ + 0x00000000 /* DENALI_PHY_342_DATA */ + 0x00000000 /* DENALI_PHY_343_DATA */ + 0x00000000 /* DENALI_PHY_344_DATA */ + 0x00000000 /* DENALI_PHY_345_DATA */ + 0x00000000 /* DENALI_PHY_346_DATA */ + 0x00000000 /* DENALI_PHY_347_DATA */ + 0x00000000 /* DENALI_PHY_348_DATA */ + 0x00000000 /* DENALI_PHY_349_DATA */ + 0x00000000 /* DENALI_PHY_350_DATA */ + 0x00000000 /* DENALI_PHY_351_DATA */ + 0x00000000 /* DENALI_PHY_352_DATA */ + 0x00000000 /* DENALI_PHY_353_DATA */ + 0x00000000 /* DENALI_PHY_354_DATA */ + 0x00000000 /* DENALI_PHY_355_DATA */ + 0x00000000 /* DENALI_PHY_356_DATA */ + 0x00000000 /* DENALI_PHY_357_DATA */ + 0x00000000 /* DENALI_PHY_358_DATA */ + 0x00000000 /* DENALI_PHY_359_DATA */ + 0x00000000 /* DENALI_PHY_360_DATA */ + 0x00000000 /* DENALI_PHY_361_DATA */ + 0x00000000 /* DENALI_PHY_362_DATA */ + 0x00000000 /* DENALI_PHY_363_DATA */ + 0x00000000 /* DENALI_PHY_364_DATA */ + 0x00000000 /* DENALI_PHY_365_DATA */ + 0x00000000 /* DENALI_PHY_366_DATA */ + 0x00000000 /* DENALI_PHY_367_DATA */ + 0x00000000 /* DENALI_PHY_368_DATA */ + 0x00000000 /* DENALI_PHY_369_DATA */ + 0x00000000 /* DENALI_PHY_370_DATA */ + 0x00000000 /* DENALI_PHY_371_DATA */ + 0x00000000 /* DENALI_PHY_372_DATA */ + 0x00000000 /* DENALI_PHY_373_DATA */ + 0x00000000 /* DENALI_PHY_374_DATA */ + 0x00000000 /* DENALI_PHY_375_DATA */ + 0x00000000 /* DENALI_PHY_376_DATA */ + 0x00000000 /* DENALI_PHY_377_DATA */ + 0x00000000 /* DENALI_PHY_378_DATA */ + 0x00000000 /* DENALI_PHY_379_DATA */ + 0x00000000 /* DENALI_PHY_380_DATA */ + 0x00000000 /* DENALI_PHY_381_DATA */ + 0x00000000 /* DENALI_PHY_382_DATA */ + 0x00000000 /* DENALI_PHY_383_DATA */ + 0x37654120 /* DENALI_PHY_384_DATA */ + 0x0004c008 /* DENALI_PHY_385_DATA */ + 0x000000da /* DENALI_PHY_386_DATA */ + 0x00000000 /* DENALI_PHY_387_DATA */ + 0x00000000 /* DENALI_PHY_388_DATA */ + 0x00010000 /* DENALI_PHY_389_DATA */ + 0x01DDDD90 /* DENALI_PHY_390_DATA */ + 0x01DDDD90 /* DENALI_PHY_391_DATA */ + 0x01030000 /* DENALI_PHY_392_DATA */ + 0x01000000 /* DENALI_PHY_393_DATA */ + 0x00c00000 /* DENALI_PHY_394_DATA */ + 0x00000007 /* DENALI_PHY_395_DATA */ + 0x00000000 /* DENALI_PHY_396_DATA */ + 0x00000000 /* DENALI_PHY_397_DATA */ + 0x04000408 /* DENALI_PHY_398_DATA */ + 0x00000408 /* DENALI_PHY_399_DATA */ + 0x00e4e400 /* DENALI_PHY_400_DATA */ + 0x00000000 /* DENALI_PHY_401_DATA */ + 0x00000000 /* DENALI_PHY_402_DATA */ + 0x00000000 /* DENALI_PHY_403_DATA */ + 0x00000000 /* DENALI_PHY_404_DATA */ + 0x00000000 /* DENALI_PHY_405_DATA */ + 0x00000000 /* DENALI_PHY_406_DATA */ + 0x00000000 /* DENALI_PHY_407_DATA */ + 0x00000000 /* DENALI_PHY_408_DATA */ + 0x00000000 /* DENALI_PHY_409_DATA */ + 0x00000000 /* DENALI_PHY_410_DATA */ + 0x00000000 /* DENALI_PHY_411_DATA */ + 0x00000000 /* DENALI_PHY_412_DATA */ + 0x00000000 /* DENALI_PHY_413_DATA */ + 0x00000000 /* DENALI_PHY_414_DATA */ + 0x00000000 /* DENALI_PHY_415_DATA */ + 0x00000000 /* DENALI_PHY_416_DATA */ + 0x00200000 /* DENALI_PHY_417_DATA */ + 0x00000000 /* DENALI_PHY_418_DATA */ + 0x00000000 /* DENALI_PHY_419_DATA */ + 0x00000000 /* DENALI_PHY_420_DATA */ + 0x00000000 /* DENALI_PHY_421_DATA */ + 0x00000000 /* DENALI_PHY_422_DATA */ + 0x00000000 /* DENALI_PHY_423_DATA */ + 0x02800280 /* DENALI_PHY_424_DATA */ + 0x02800280 /* DENALI_PHY_425_DATA */ + 0x02800280 /* DENALI_PHY_426_DATA */ + 0x02800280 /* DENALI_PHY_427_DATA */ + 0x00000280 /* DENALI_PHY_428_DATA */ + 0x00000000 /* DENALI_PHY_429_DATA */ + 0x00000000 /* DENALI_PHY_430_DATA */ + 0x00000000 /* DENALI_PHY_431_DATA */ + 0x00000000 /* DENALI_PHY_432_DATA */ + 0x00000000 /* DENALI_PHY_433_DATA */ + 0x00800080 /* DENALI_PHY_434_DATA */ + 0x00800080 /* DENALI_PHY_435_DATA */ + 0x00800080 /* DENALI_PHY_436_DATA */ + 0x00800080 /* DENALI_PHY_437_DATA */ + 0x00800080 /* DENALI_PHY_438_DATA */ + 0x00800080 /* DENALI_PHY_439_DATA */ + 0x00800080 /* DENALI_PHY_440_DATA */ + 0x00800080 /* DENALI_PHY_441_DATA */ + 0x00800080 /* DENALI_PHY_442_DATA */ + 0x000100da /* DENALI_PHY_443_DATA */ + 0x00000200 /* DENALI_PHY_444_DATA */ + 0x00000000 /* DENALI_PHY_445_DATA */ + 0x00000000 /* DENALI_PHY_446_DATA */ + 0x00000002 /* DENALI_PHY_447_DATA */ + 0x51313152 /* DENALI_PHY_448_DATA */ + 0x80013130 /* DENALI_PHY_449_DATA */ + 0x02000080 /* DENALI_PHY_450_DATA */ + 0x00100001 /* DENALI_PHY_451_DATA */ + 0x0c064208 /* DENALI_PHY_452_DATA */ + 0x000f0c0f /* DENALI_PHY_453_DATA */ + 0x01000140 /* DENALI_PHY_454_DATA */ + 0x0000000c /* DENALI_PHY_455_DATA */ + 0x00000000 /* DENALI_PHY_456_DATA */ + 0x00000000 /* DENALI_PHY_457_DATA */ + 0x00000000 /* DENALI_PHY_458_DATA */ + 0x00000000 /* DENALI_PHY_459_DATA */ + 0x00000000 /* DENALI_PHY_460_DATA */ + 0x00000000 /* DENALI_PHY_461_DATA */ + 0x00000000 /* DENALI_PHY_462_DATA */ + 0x00000000 /* DENALI_PHY_463_DATA */ + 0x00000000 /* DENALI_PHY_464_DATA */ + 0x00000000 /* DENALI_PHY_465_DATA */ + 0x00000000 /* DENALI_PHY_466_DATA */ + 0x00000000 /* DENALI_PHY_467_DATA */ + 0x00000000 /* DENALI_PHY_468_DATA */ + 0x00000000 /* DENALI_PHY_469_DATA */ + 0x00000000 /* DENALI_PHY_470_DATA */ + 0x00000000 /* DENALI_PHY_471_DATA */ + 0x00000000 /* DENALI_PHY_472_DATA */ + 0x00000000 /* DENALI_PHY_473_DATA */ + 0x00000000 /* DENALI_PHY_474_DATA */ + 0x00000000 /* DENALI_PHY_475_DATA */ + 0x00000000 /* DENALI_PHY_476_DATA */ + 0x00000000 /* DENALI_PHY_477_DATA */ + 0x00000000 /* DENALI_PHY_478_DATA */ + 0x00000000 /* DENALI_PHY_479_DATA */ + 0x00000000 /* DENALI_PHY_480_DATA */ + 0x00000000 /* DENALI_PHY_481_DATA */ + 0x00000000 /* DENALI_PHY_482_DATA */ + 0x00000000 /* DENALI_PHY_483_DATA */ + 0x00000000 /* DENALI_PHY_484_DATA */ + 0x00000000 /* DENALI_PHY_485_DATA */ + 0x00000000 /* DENALI_PHY_486_DATA */ + 0x00000000 /* DENALI_PHY_487_DATA */ + 0x00000000 /* DENALI_PHY_488_DATA */ + 0x00000000 /* DENALI_PHY_489_DATA */ + 0x00000000 /* DENALI_PHY_490_DATA */ + 0x00000000 /* DENALI_PHY_491_DATA */ + 0x00000000 /* DENALI_PHY_492_DATA */ + 0x00000000 /* DENALI_PHY_493_DATA */ + 0x00000000 /* DENALI_PHY_494_DATA */ + 0x00000000 /* DENALI_PHY_495_DATA */ + 0x00000000 /* DENALI_PHY_496_DATA */ + 0x00000000 /* DENALI_PHY_497_DATA */ + 0x00000000 /* DENALI_PHY_498_DATA */ + 0x00000000 /* DENALI_PHY_499_DATA */ + 0x00000000 /* DENALI_PHY_500_DATA */ + 0x00000000 /* DENALI_PHY_501_DATA */ + 0x00000000 /* DENALI_PHY_502_DATA */ + 0x00000000 /* DENALI_PHY_503_DATA */ + 0x00000000 /* DENALI_PHY_504_DATA */ + 0x00000000 /* DENALI_PHY_505_DATA */ + 0x00000000 /* DENALI_PHY_506_DATA */ + 0x00000000 /* DENALI_PHY_507_DATA */ + 0x00000000 /* DENALI_PHY_508_DATA */ + 0x00000000 /* DENALI_PHY_509_DATA */ + 0x00000000 /* DENALI_PHY_510_DATA */ + 0x00000000 /* DENALI_PHY_511_DATA */ + 0x24316750 /* DENALI_PHY_512_DATA */ + 0x0004c008 /* DENALI_PHY_513_DATA */ + 0x000000da /* DENALI_PHY_514_DATA */ + 0x00000000 /* DENALI_PHY_515_DATA */ + 0x00000000 /* DENALI_PHY_516_DATA */ + 0x00010000 /* DENALI_PHY_517_DATA */ + 0x01DDDD90 /* DENALI_PHY_518_DATA */ + 0x01DDDD90 /* DENALI_PHY_519_DATA */ + 0x01030000 /* DENALI_PHY_520_DATA */ + 0x01000000 /* DENALI_PHY_521_DATA */ + 0x00c00000 /* DENALI_PHY_522_DATA */ + 0x00000007 /* DENALI_PHY_523_DATA */ + 0x00000000 /* DENALI_PHY_524_DATA */ + 0x00000000 /* DENALI_PHY_525_DATA */ + 0x04000408 /* DENALI_PHY_526_DATA */ + 0x00000408 /* DENALI_PHY_527_DATA */ + 0x00e4e400 /* DENALI_PHY_528_DATA */ + 0x00000000 /* DENALI_PHY_529_DATA */ + 0x00000000 /* DENALI_PHY_530_DATA */ + 0x00000000 /* DENALI_PHY_531_DATA */ + 0x00000000 /* DENALI_PHY_532_DATA */ + 0x00000000 /* DENALI_PHY_533_DATA */ + 0x00000000 /* DENALI_PHY_534_DATA */ + 0x00000000 /* DENALI_PHY_535_DATA */ + 0x00000000 /* DENALI_PHY_536_DATA */ + 0x00000000 /* DENALI_PHY_537_DATA */ + 0x00000000 /* DENALI_PHY_538_DATA */ + 0x00000000 /* DENALI_PHY_539_DATA */ + 0x00000000 /* DENALI_PHY_540_DATA */ + 0x00000000 /* DENALI_PHY_541_DATA */ + 0x00000000 /* DENALI_PHY_542_DATA */ + 0x00000000 /* DENALI_PHY_543_DATA */ + 0x00000000 /* DENALI_PHY_544_DATA */ + 0x00200000 /* DENALI_PHY_545_DATA */ + 0x00000000 /* DENALI_PHY_546_DATA */ + 0x00000000 /* DENALI_PHY_547_DATA */ + 0x00000000 /* DENALI_PHY_548_DATA */ + 0x00000000 /* DENALI_PHY_549_DATA */ + 0x00000000 /* DENALI_PHY_550_DATA */ + 0x00000000 /* DENALI_PHY_551_DATA */ + 0x02800280 /* DENALI_PHY_552_DATA */ + 0x02800280 /* DENALI_PHY_553_DATA */ + 0x02800280 /* DENALI_PHY_554_DATA */ + 0x02800280 /* DENALI_PHY_555_DATA */ + 0x00000280 /* DENALI_PHY_556_DATA */ + 0x00000000 /* DENALI_PHY_557_DATA */ + 0x00000000 /* DENALI_PHY_558_DATA */ + 0x00000000 /* DENALI_PHY_559_DATA */ + 0x00000000 /* DENALI_PHY_560_DATA */ + 0x00000000 /* DENALI_PHY_561_DATA */ + 0x00800080 /* DENALI_PHY_562_DATA */ + 0x00800080 /* DENALI_PHY_563_DATA */ + 0x00800080 /* DENALI_PHY_564_DATA */ + 0x00800080 /* DENALI_PHY_565_DATA */ + 0x00800080 /* DENALI_PHY_566_DATA */ + 0x00800080 /* DENALI_PHY_567_DATA */ + 0x00800080 /* DENALI_PHY_568_DATA */ + 0x00800080 /* DENALI_PHY_569_DATA */ + 0x00800080 /* DENALI_PHY_570_DATA */ + 0x000100da /* DENALI_PHY_571_DATA */ + 0x00000200 /* DENALI_PHY_572_DATA */ + 0x00000000 /* DENALI_PHY_573_DATA */ + 0x00000000 /* DENALI_PHY_574_DATA */ + 0x00000002 /* DENALI_PHY_575_DATA */ + 0x51313152 /* DENALI_PHY_576_DATA */ + 0x80013130 /* DENALI_PHY_577_DATA */ + 0x02000080 /* DENALI_PHY_578_DATA */ + 0x00100001 /* DENALI_PHY_579_DATA */ + 0x0c064208 /* DENALI_PHY_580_DATA */ + 0x000f0c0f /* DENALI_PHY_581_DATA */ + 0x01000140 /* DENALI_PHY_582_DATA */ + 0x0000000c /* DENALI_PHY_583_DATA */ + 0x00000000 /* DENALI_PHY_584_DATA */ + 0x00000000 /* DENALI_PHY_585_DATA */ + 0x00000000 /* DENALI_PHY_586_DATA */ + 0x00000000 /* DENALI_PHY_587_DATA */ + 0x00000000 /* DENALI_PHY_588_DATA */ + 0x00000000 /* DENALI_PHY_589_DATA */ + 0x00000000 /* DENALI_PHY_590_DATA */ + 0x00000000 /* DENALI_PHY_591_DATA */ + 0x00000000 /* DENALI_PHY_592_DATA */ + 0x00000000 /* DENALI_PHY_593_DATA */ + 0x00000000 /* DENALI_PHY_594_DATA */ + 0x00000000 /* DENALI_PHY_595_DATA */ + 0x00000000 /* DENALI_PHY_596_DATA */ + 0x00000000 /* DENALI_PHY_597_DATA */ + 0x00000000 /* DENALI_PHY_598_DATA */ + 0x00000000 /* DENALI_PHY_599_DATA */ + 0x00000000 /* DENALI_PHY_600_DATA */ + 0x00000000 /* DENALI_PHY_601_DATA */ + 0x00000000 /* DENALI_PHY_602_DATA */ + 0x00000000 /* DENALI_PHY_603_DATA */ + 0x00000000 /* DENALI_PHY_604_DATA */ + 0x00000000 /* DENALI_PHY_605_DATA */ + 0x00000000 /* DENALI_PHY_606_DATA */ + 0x00000000 /* DENALI_PHY_607_DATA */ + 0x00000000 /* DENALI_PHY_608_DATA */ + 0x00000000 /* DENALI_PHY_609_DATA */ + 0x00000000 /* DENALI_PHY_610_DATA */ + 0x00000000 /* DENALI_PHY_611_DATA */ + 0x00000000 /* DENALI_PHY_612_DATA */ + 0x00000000 /* DENALI_PHY_613_DATA */ + 0x00000000 /* DENALI_PHY_614_DATA */ + 0x00000000 /* DENALI_PHY_615_DATA */ + 0x00000000 /* DENALI_PHY_616_DATA */ + 0x00000000 /* DENALI_PHY_617_DATA */ + 0x00000000 /* DENALI_PHY_618_DATA */ + 0x00000000 /* DENALI_PHY_619_DATA */ + 0x00000000 /* DENALI_PHY_620_DATA */ + 0x00000000 /* DENALI_PHY_621_DATA */ + 0x00000000 /* DENALI_PHY_622_DATA */ + 0x00000000 /* DENALI_PHY_623_DATA */ + 0x00000000 /* DENALI_PHY_624_DATA */ + 0x00000000 /* DENALI_PHY_625_DATA */ + 0x00000000 /* DENALI_PHY_626_DATA */ + 0x00000000 /* DENALI_PHY_627_DATA */ + 0x00000000 /* DENALI_PHY_628_DATA */ + 0x00000000 /* DENALI_PHY_629_DATA */ + 0x00000000 /* DENALI_PHY_630_DATA */ + 0x00000000 /* DENALI_PHY_631_DATA */ + 0x00000000 /* DENALI_PHY_632_DATA */ + 0x00000000 /* DENALI_PHY_633_DATA */ + 0x00000000 /* DENALI_PHY_634_DATA */ + 0x00000000 /* DENALI_PHY_635_DATA */ + 0x00000000 /* DENALI_PHY_636_DATA */ + 0x00000000 /* DENALI_PHY_637_DATA */ + 0x00000000 /* DENALI_PHY_638_DATA */ + 0x00000000 /* DENALI_PHY_639_DATA */ + 0x35174620 /* DENALI_PHY_640_DATA */ + 0x0004c008 /* DENALI_PHY_641_DATA */ + 0x000000da /* DENALI_PHY_642_DATA */ + 0x00000000 /* DENALI_PHY_643_DATA */ + 0x00000000 /* DENALI_PHY_644_DATA */ + 0x00010000 /* DENALI_PHY_645_DATA */ + 0x01DDDD90 /* DENALI_PHY_646_DATA */ + 0x01DDDD90 /* DENALI_PHY_647_DATA */ + 0x01030000 /* DENALI_PHY_648_DATA */ + 0x01000000 /* DENALI_PHY_649_DATA */ + 0x00c00000 /* DENALI_PHY_650_DATA */ + 0x00000007 /* DENALI_PHY_651_DATA */ + 0x00000000 /* DENALI_PHY_652_DATA */ + 0x00000000 /* DENALI_PHY_653_DATA */ + 0x04000408 /* DENALI_PHY_654_DATA */ + 0x00000408 /* DENALI_PHY_655_DATA */ + 0x00e4e400 /* DENALI_PHY_656_DATA */ + 0x00000000 /* DENALI_PHY_657_DATA */ + 0x00000000 /* DENALI_PHY_658_DATA */ + 0x00000000 /* DENALI_PHY_659_DATA */ + 0x00000000 /* DENALI_PHY_660_DATA */ + 0x00000000 /* DENALI_PHY_661_DATA */ + 0x00000000 /* DENALI_PHY_662_DATA */ + 0x00000000 /* DENALI_PHY_663_DATA */ + 0x00000000 /* DENALI_PHY_664_DATA */ + 0x00000000 /* DENALI_PHY_665_DATA */ + 0x00000000 /* DENALI_PHY_666_DATA */ + 0x00000000 /* DENALI_PHY_667_DATA */ + 0x00000000 /* DENALI_PHY_668_DATA */ + 0x00000000 /* DENALI_PHY_669_DATA */ + 0x00000000 /* DENALI_PHY_670_DATA */ + 0x00000000 /* DENALI_PHY_671_DATA */ + 0x00000000 /* DENALI_PHY_672_DATA */ + 0x00200000 /* DENALI_PHY_673_DATA */ + 0x00000000 /* DENALI_PHY_674_DATA */ + 0x00000000 /* DENALI_PHY_675_DATA */ + 0x00000000 /* DENALI_PHY_676_DATA */ + 0x00000000 /* DENALI_PHY_677_DATA */ + 0x00000000 /* DENALI_PHY_678_DATA */ + 0x00000000 /* DENALI_PHY_679_DATA */ + 0x02800280 /* DENALI_PHY_680_DATA */ + 0x02800280 /* DENALI_PHY_681_DATA */ + 0x02800280 /* DENALI_PHY_682_DATA */ + 0x02800280 /* DENALI_PHY_683_DATA */ + 0x00000280 /* DENALI_PHY_684_DATA */ + 0x00000000 /* DENALI_PHY_685_DATA */ + 0x00000000 /* DENALI_PHY_686_DATA */ + 0x00000000 /* DENALI_PHY_687_DATA */ + 0x00000000 /* DENALI_PHY_688_DATA */ + 0x00000000 /* DENALI_PHY_689_DATA */ + 0x00800080 /* DENALI_PHY_690_DATA */ + 0x00800080 /* DENALI_PHY_691_DATA */ + 0x00800080 /* DENALI_PHY_692_DATA */ + 0x00800080 /* DENALI_PHY_693_DATA */ + 0x00800080 /* DENALI_PHY_694_DATA */ + 0x00800080 /* DENALI_PHY_695_DATA */ + 0x00800080 /* DENALI_PHY_696_DATA */ + 0x00800080 /* DENALI_PHY_697_DATA */ + 0x00800080 /* DENALI_PHY_698_DATA */ + 0x000100da /* DENALI_PHY_699_DATA */ + 0x00000200 /* DENALI_PHY_700_DATA */ + 0x00000000 /* DENALI_PHY_701_DATA */ + 0x00000000 /* DENALI_PHY_702_DATA */ + 0x00000002 /* DENALI_PHY_703_DATA */ + 0x51313152 /* DENALI_PHY_704_DATA */ + 0x80013130 /* DENALI_PHY_705_DATA */ + 0x02000080 /* DENALI_PHY_706_DATA */ + 0x00100001 /* DENALI_PHY_707_DATA */ + 0x0c064208 /* DENALI_PHY_708_DATA */ + 0x000f0c0f /* DENALI_PHY_709_DATA */ + 0x01000140 /* DENALI_PHY_710_DATA */ + 0x0000000c /* DENALI_PHY_711_DATA */ + 0x00000000 /* DENALI_PHY_712_DATA */ + 0x00000000 /* DENALI_PHY_713_DATA */ + 0x00000000 /* DENALI_PHY_714_DATA */ + 0x00000000 /* DENALI_PHY_715_DATA */ + 0x00000000 /* DENALI_PHY_716_DATA */ + 0x00000000 /* DENALI_PHY_717_DATA */ + 0x00000000 /* DENALI_PHY_718_DATA */ + 0x00000000 /* DENALI_PHY_719_DATA */ + 0x00000000 /* DENALI_PHY_720_DATA */ + 0x00000000 /* DENALI_PHY_721_DATA */ + 0x00000000 /* DENALI_PHY_722_DATA */ + 0x00000000 /* DENALI_PHY_723_DATA */ + 0x00000000 /* DENALI_PHY_724_DATA */ + 0x00000000 /* DENALI_PHY_725_DATA */ + 0x00000000 /* DENALI_PHY_726_DATA */ + 0x00000000 /* DENALI_PHY_727_DATA */ + 0x00000000 /* DENALI_PHY_728_DATA */ + 0x00000000 /* DENALI_PHY_729_DATA */ + 0x00000000 /* DENALI_PHY_730_DATA */ + 0x00000000 /* DENALI_PHY_731_DATA */ + 0x00000000 /* DENALI_PHY_732_DATA */ + 0x00000000 /* DENALI_PHY_733_DATA */ + 0x00000000 /* DENALI_PHY_734_DATA */ + 0x00000000 /* DENALI_PHY_735_DATA */ + 0x00000000 /* DENALI_PHY_736_DATA */ + 0x00000000 /* DENALI_PHY_737_DATA */ + 0x00000000 /* DENALI_PHY_738_DATA */ + 0x00000000 /* DENALI_PHY_739_DATA */ + 0x00000000 /* DENALI_PHY_740_DATA */ + 0x00000000 /* DENALI_PHY_741_DATA */ + 0x00000000 /* DENALI_PHY_742_DATA */ + 0x00000000 /* DENALI_PHY_743_DATA */ + 0x00000000 /* DENALI_PHY_744_DATA */ + 0x00000000 /* DENALI_PHY_745_DATA */ + 0x00000000 /* DENALI_PHY_746_DATA */ + 0x00000000 /* DENALI_PHY_747_DATA */ + 0x00000000 /* DENALI_PHY_748_DATA */ + 0x00000000 /* DENALI_PHY_749_DATA */ + 0x00000000 /* DENALI_PHY_750_DATA */ + 0x00000000 /* DENALI_PHY_751_DATA */ + 0x00000000 /* DENALI_PHY_752_DATA */ + 0x00000000 /* DENALI_PHY_753_DATA */ + 0x00000000 /* DENALI_PHY_754_DATA */ + 0x00000000 /* DENALI_PHY_755_DATA */ + 0x00000000 /* DENALI_PHY_756_DATA */ + 0x00000000 /* DENALI_PHY_757_DATA */ + 0x00000000 /* DENALI_PHY_758_DATA */ + 0x00000000 /* DENALI_PHY_759_DATA */ + 0x00000000 /* DENALI_PHY_760_DATA */ + 0x00000000 /* DENALI_PHY_761_DATA */ + 0x00000000 /* DENALI_PHY_762_DATA */ + 0x00000000 /* DENALI_PHY_763_DATA */ + 0x00000000 /* DENALI_PHY_764_DATA */ + 0x00000000 /* DENALI_PHY_765_DATA */ + 0x00000000 /* DENALI_PHY_766_DATA */ + 0x00000000 /* DENALI_PHY_767_DATA */ + 0x15203476 /* DENALI_PHY_768_DATA */ + 0x0004c008 /* DENALI_PHY_769_DATA */ + 0x000000da /* DENALI_PHY_770_DATA */ + 0x00000000 /* DENALI_PHY_771_DATA */ + 0x00000000 /* DENALI_PHY_772_DATA */ + 0x00010000 /* DENALI_PHY_773_DATA */ + 0x01DDDD90 /* DENALI_PHY_774_DATA */ + 0x01DDDD90 /* DENALI_PHY_775_DATA */ + 0x01030000 /* DENALI_PHY_776_DATA */ + 0x01000000 /* DENALI_PHY_777_DATA */ + 0x00c00000 /* DENALI_PHY_778_DATA */ + 0x00000007 /* DENALI_PHY_779_DATA */ + 0x00000000 /* DENALI_PHY_780_DATA */ + 0x00000000 /* DENALI_PHY_781_DATA */ + 0x04000408 /* DENALI_PHY_782_DATA */ + 0x00000408 /* DENALI_PHY_783_DATA */ + 0x00e4e400 /* DENALI_PHY_784_DATA */ + 0x00000000 /* DENALI_PHY_785_DATA */ + 0x00000000 /* DENALI_PHY_786_DATA */ + 0x00000000 /* DENALI_PHY_787_DATA */ + 0x00000000 /* DENALI_PHY_788_DATA */ + 0x00000000 /* DENALI_PHY_789_DATA */ + 0x00000000 /* DENALI_PHY_790_DATA */ + 0x00000000 /* DENALI_PHY_791_DATA */ + 0x00000000 /* DENALI_PHY_792_DATA */ + 0x00000000 /* DENALI_PHY_793_DATA */ + 0x00000000 /* DENALI_PHY_794_DATA */ + 0x00000000 /* DENALI_PHY_795_DATA */ + 0x00000000 /* DENALI_PHY_796_DATA */ + 0x00000000 /* DENALI_PHY_797_DATA */ + 0x00000000 /* DENALI_PHY_798_DATA */ + 0x00000000 /* DENALI_PHY_799_DATA */ + 0x00000000 /* DENALI_PHY_800_DATA */ + 0x00200000 /* DENALI_PHY_801_DATA */ + 0x00000000 /* DENALI_PHY_802_DATA */ + 0x00000000 /* DENALI_PHY_803_DATA */ + 0x00000000 /* DENALI_PHY_804_DATA */ + 0x00000000 /* DENALI_PHY_805_DATA */ + 0x00000000 /* DENALI_PHY_806_DATA */ + 0x00000000 /* DENALI_PHY_807_DATA */ + 0x02800280 /* DENALI_PHY_808_DATA */ + 0x02800280 /* DENALI_PHY_809_DATA */ + 0x02800280 /* DENALI_PHY_810_DATA */ + 0x02800280 /* DENALI_PHY_811_DATA */ + 0x00000280 /* DENALI_PHY_812_DATA */ + 0x00000000 /* DENALI_PHY_813_DATA */ + 0x00000000 /* DENALI_PHY_814_DATA */ + 0x00000000 /* DENALI_PHY_815_DATA */ + 0x00000000 /* DENALI_PHY_816_DATA */ + 0x00000000 /* DENALI_PHY_817_DATA */ + 0x00800080 /* DENALI_PHY_818_DATA */ + 0x00800080 /* DENALI_PHY_819_DATA */ + 0x00800080 /* DENALI_PHY_820_DATA */ + 0x00800080 /* DENALI_PHY_821_DATA */ + 0x00800080 /* DENALI_PHY_822_DATA */ + 0x00800080 /* DENALI_PHY_823_DATA */ + 0x00800080 /* DENALI_PHY_824_DATA */ + 0x00800080 /* DENALI_PHY_825_DATA */ + 0x00800080 /* DENALI_PHY_826_DATA */ + 0x000100da /* DENALI_PHY_827_DATA */ + 0x00000200 /* DENALI_PHY_828_DATA */ + 0x00000000 /* DENALI_PHY_829_DATA */ + 0x00000000 /* DENALI_PHY_830_DATA */ + 0x00000002 /* DENALI_PHY_831_DATA */ + 0x51313152 /* DENALI_PHY_832_DATA */ + 0x80013130 /* DENALI_PHY_833_DATA */ + 0x02000080 /* DENALI_PHY_834_DATA */ + 0x00100001 /* DENALI_PHY_835_DATA */ + 0x0c064208 /* DENALI_PHY_836_DATA */ + 0x000f0c0f /* DENALI_PHY_837_DATA */ + 0x01000140 /* DENALI_PHY_838_DATA */ + 0x0000000c /* DENALI_PHY_839_DATA */ + 0x00000000 /* DENALI_PHY_840_DATA */ + 0x00000000 /* DENALI_PHY_841_DATA */ + 0x00000000 /* DENALI_PHY_842_DATA */ + 0x00000000 /* DENALI_PHY_843_DATA */ + 0x00000000 /* DENALI_PHY_844_DATA */ + 0x00000000 /* DENALI_PHY_845_DATA */ + 0x00000000 /* DENALI_PHY_846_DATA */ + 0x00000000 /* DENALI_PHY_847_DATA */ + 0x00000000 /* DENALI_PHY_848_DATA */ + 0x00000000 /* DENALI_PHY_849_DATA */ + 0x00000000 /* DENALI_PHY_850_DATA */ + 0x00000000 /* DENALI_PHY_851_DATA */ + 0x00000000 /* DENALI_PHY_852_DATA */ + 0x00000000 /* DENALI_PHY_853_DATA */ + 0x00000000 /* DENALI_PHY_854_DATA */ + 0x00000000 /* DENALI_PHY_855_DATA */ + 0x00000000 /* DENALI_PHY_856_DATA */ + 0x00000000 /* DENALI_PHY_857_DATA */ + 0x00000000 /* DENALI_PHY_858_DATA */ + 0x00000000 /* DENALI_PHY_859_DATA */ + 0x00000000 /* DENALI_PHY_860_DATA */ + 0x00000000 /* DENALI_PHY_861_DATA */ + 0x00000000 /* DENALI_PHY_862_DATA */ + 0x00000000 /* DENALI_PHY_863_DATA */ + 0x00000000 /* DENALI_PHY_864_DATA */ + 0x00000000 /* DENALI_PHY_865_DATA */ + 0x00000000 /* DENALI_PHY_866_DATA */ + 0x00000000 /* DENALI_PHY_867_DATA */ + 0x00000000 /* DENALI_PHY_868_DATA */ + 0x00000000 /* DENALI_PHY_869_DATA */ + 0x00000000 /* DENALI_PHY_870_DATA */ + 0x00000000 /* DENALI_PHY_871_DATA */ + 0x00000000 /* DENALI_PHY_872_DATA */ + 0x00000000 /* DENALI_PHY_873_DATA */ + 0x00000000 /* DENALI_PHY_874_DATA */ + 0x00000000 /* DENALI_PHY_875_DATA */ + 0x00000000 /* DENALI_PHY_876_DATA */ + 0x00000000 /* DENALI_PHY_877_DATA */ + 0x00000000 /* DENALI_PHY_878_DATA */ + 0x00000000 /* DENALI_PHY_879_DATA */ + 0x00000000 /* DENALI_PHY_880_DATA */ + 0x00000000 /* DENALI_PHY_881_DATA */ + 0x00000000 /* DENALI_PHY_882_DATA */ + 0x00000000 /* DENALI_PHY_883_DATA */ + 0x00000000 /* DENALI_PHY_884_DATA */ + 0x00000000 /* DENALI_PHY_885_DATA */ + 0x00000000 /* DENALI_PHY_886_DATA */ + 0x00000000 /* DENALI_PHY_887_DATA */ + 0x00000000 /* DENALI_PHY_888_DATA */ + 0x00000000 /* DENALI_PHY_889_DATA */ + 0x00000000 /* DENALI_PHY_890_DATA */ + 0x00000000 /* DENALI_PHY_891_DATA */ + 0x00000000 /* DENALI_PHY_892_DATA */ + 0x00000000 /* DENALI_PHY_893_DATA */ + 0x00000000 /* DENALI_PHY_894_DATA */ + 0x00000000 /* DENALI_PHY_895_DATA */ + 0x41753206 /* DENALI_PHY_896_DATA */ + 0x0004c008 /* DENALI_PHY_897_DATA */ + 0x000000da /* DENALI_PHY_898_DATA */ + 0x00000000 /* DENALI_PHY_899_DATA */ + 0x00000000 /* DENALI_PHY_900_DATA */ + 0x00010000 /* DENALI_PHY_901_DATA */ + 0x01DDDD90 /* DENALI_PHY_902_DATA */ + 0x01DDDD90 /* DENALI_PHY_903_DATA */ + 0x01030000 /* DENALI_PHY_904_DATA */ + 0x01000000 /* DENALI_PHY_905_DATA */ + 0x00c00000 /* DENALI_PHY_906_DATA */ + 0x00000007 /* DENALI_PHY_907_DATA */ + 0x00000000 /* DENALI_PHY_908_DATA */ + 0x00000000 /* DENALI_PHY_909_DATA */ + 0x04000408 /* DENALI_PHY_910_DATA */ + 0x00000408 /* DENALI_PHY_911_DATA */ + 0x00e4e400 /* DENALI_PHY_912_DATA */ + 0x00000000 /* DENALI_PHY_913_DATA */ + 0x00000000 /* DENALI_PHY_914_DATA */ + 0x00000000 /* DENALI_PHY_915_DATA */ + 0x00000000 /* DENALI_PHY_916_DATA */ + 0x00000000 /* DENALI_PHY_917_DATA */ + 0x00000000 /* DENALI_PHY_918_DATA */ + 0x00000000 /* DENALI_PHY_919_DATA */ + 0x00000000 /* DENALI_PHY_920_DATA */ + 0x00000000 /* DENALI_PHY_921_DATA */ + 0x00000000 /* DENALI_PHY_922_DATA */ + 0x00000000 /* DENALI_PHY_923_DATA */ + 0x00000000 /* DENALI_PHY_924_DATA */ + 0x00000000 /* DENALI_PHY_925_DATA */ + 0x00000000 /* DENALI_PHY_926_DATA */ + 0x00000000 /* DENALI_PHY_927_DATA */ + 0x00000000 /* DENALI_PHY_928_DATA */ + 0x00200000 /* DENALI_PHY_929_DATA */ + 0x00000000 /* DENALI_PHY_930_DATA */ + 0x00000000 /* DENALI_PHY_931_DATA */ + 0x00000000 /* DENALI_PHY_932_DATA */ + 0x00000000 /* DENALI_PHY_933_DATA */ + 0x00000000 /* DENALI_PHY_934_DATA */ + 0x00000000 /* DENALI_PHY_935_DATA */ + 0x02800280 /* DENALI_PHY_936_DATA */ + 0x02800280 /* DENALI_PHY_937_DATA */ + 0x02800280 /* DENALI_PHY_938_DATA */ + 0x02800280 /* DENALI_PHY_939_DATA */ + 0x00000280 /* DENALI_PHY_940_DATA */ + 0x00000000 /* DENALI_PHY_941_DATA */ + 0x00000000 /* DENALI_PHY_942_DATA */ + 0x00000000 /* DENALI_PHY_943_DATA */ + 0x00000000 /* DENALI_PHY_944_DATA */ + 0x00000000 /* DENALI_PHY_945_DATA */ + 0x00800080 /* DENALI_PHY_946_DATA */ + 0x00800080 /* DENALI_PHY_947_DATA */ + 0x00800080 /* DENALI_PHY_948_DATA */ + 0x00800080 /* DENALI_PHY_949_DATA */ + 0x00800080 /* DENALI_PHY_950_DATA */ + 0x00800080 /* DENALI_PHY_951_DATA */ + 0x00800080 /* DENALI_PHY_952_DATA */ + 0x00800080 /* DENALI_PHY_953_DATA */ + 0x00800080 /* DENALI_PHY_954_DATA */ + 0x000100da /* DENALI_PHY_955_DATA */ + 0x00000200 /* DENALI_PHY_956_DATA */ + 0x00000000 /* DENALI_PHY_957_DATA */ + 0x00000000 /* DENALI_PHY_958_DATA */ + 0x00000002 /* DENALI_PHY_959_DATA */ + 0x51313152 /* DENALI_PHY_960_DATA */ + 0x80013130 /* DENALI_PHY_961_DATA */ + 0x02000080 /* DENALI_PHY_962_DATA */ + 0x00100001 /* DENALI_PHY_963_DATA */ + 0x0c064208 /* DENALI_PHY_964_DATA */ + 0x000f0c0f /* DENALI_PHY_965_DATA */ + 0x01000140 /* DENALI_PHY_966_DATA */ + 0x0000000c /* DENALI_PHY_967_DATA */ + 0x00000000 /* DENALI_PHY_968_DATA */ + 0x00000000 /* DENALI_PHY_969_DATA */ + 0x00000000 /* DENALI_PHY_970_DATA */ + 0x00000000 /* DENALI_PHY_971_DATA */ + 0x00000000 /* DENALI_PHY_972_DATA */ + 0x00000000 /* DENALI_PHY_973_DATA */ + 0x00000000 /* DENALI_PHY_974_DATA */ + 0x00000000 /* DENALI_PHY_975_DATA */ + 0x00000000 /* DENALI_PHY_976_DATA */ + 0x00000000 /* DENALI_PHY_977_DATA */ + 0x00000000 /* DENALI_PHY_978_DATA */ + 0x00000000 /* DENALI_PHY_979_DATA */ + 0x00000000 /* DENALI_PHY_980_DATA */ + 0x00000000 /* DENALI_PHY_981_DATA */ + 0x00000000 /* DENALI_PHY_982_DATA */ + 0x00000000 /* DENALI_PHY_983_DATA */ + 0x00000000 /* DENALI_PHY_984_DATA */ + 0x00000000 /* DENALI_PHY_985_DATA */ + 0x00000000 /* DENALI_PHY_986_DATA */ + 0x00000000 /* DENALI_PHY_987_DATA */ + 0x00000000 /* DENALI_PHY_988_DATA */ + 0x00000000 /* DENALI_PHY_989_DATA */ + 0x00000000 /* DENALI_PHY_990_DATA */ + 0x00000000 /* DENALI_PHY_991_DATA */ + 0x00000000 /* DENALI_PHY_992_DATA */ + 0x00000000 /* DENALI_PHY_993_DATA */ + 0x00000000 /* DENALI_PHY_994_DATA */ + 0x00000000 /* DENALI_PHY_995_DATA */ + 0x00000000 /* DENALI_PHY_996_DATA */ + 0x00000000 /* DENALI_PHY_997_DATA */ + 0x00000000 /* DENALI_PHY_998_DATA */ + 0x00000000 /* DENALI_PHY_999_DATA */ + 0x00000000 /* DENALI_PHY_1000_DATA */ + 0x00000000 /* DENALI_PHY_1001_DATA */ + 0x00000000 /* DENALI_PHY_1002_DATA */ + 0x00000000 /* DENALI_PHY_1003_DATA */ + 0x00000000 /* DENALI_PHY_1004_DATA */ + 0x00000000 /* DENALI_PHY_1005_DATA */ + 0x00000000 /* DENALI_PHY_1006_DATA */ + 0x00000000 /* DENALI_PHY_1007_DATA */ + 0x00000000 /* DENALI_PHY_1008_DATA */ + 0x00000000 /* DENALI_PHY_1009_DATA */ + 0x00000000 /* DENALI_PHY_1010_DATA */ + 0x00000000 /* DENALI_PHY_1011_DATA */ + 0x00000000 /* DENALI_PHY_1012_DATA */ + 0x00000000 /* DENALI_PHY_1013_DATA */ + 0x00000000 /* DENALI_PHY_1014_DATA */ + 0x00000000 /* DENALI_PHY_1015_DATA */ + 0x00000000 /* DENALI_PHY_1016_DATA */ + 0x00000000 /* DENALI_PHY_1017_DATA */ + 0x00000000 /* DENALI_PHY_1018_DATA */ + 0x00000000 /* DENALI_PHY_1019_DATA */ + 0x00000000 /* DENALI_PHY_1020_DATA */ + 0x00000000 /* DENALI_PHY_1021_DATA */ + 0x00000000 /* DENALI_PHY_1022_DATA */ + 0x00000000 /* DENALI_PHY_1023_DATA */ + 0x36025174 /* DENALI_PHY_1024_DATA */ + 0x0004c008 /* DENALI_PHY_1025_DATA */ + 0x000000da /* DENALI_PHY_1026_DATA */ + 0x00000000 /* DENALI_PHY_1027_DATA */ + 0x00000000 /* DENALI_PHY_1028_DATA */ + 0x00010000 /* DENALI_PHY_1029_DATA */ + 0x01DDDD90 /* DENALI_PHY_1030_DATA */ + 0x01DDDD90 /* DENALI_PHY_1031_DATA */ + 0x01030000 /* DENALI_PHY_1032_DATA */ + 0x01000000 /* DENALI_PHY_1033_DATA */ + 0x00c00000 /* DENALI_PHY_1034_DATA */ + 0x00000007 /* DENALI_PHY_1035_DATA */ + 0x00000000 /* DENALI_PHY_1036_DATA */ + 0x00000000 /* DENALI_PHY_1037_DATA */ + 0x04000408 /* DENALI_PHY_1038_DATA */ + 0x00000408 /* DENALI_PHY_1039_DATA */ + 0x00e4e400 /* DENALI_PHY_1040_DATA */ + 0x00000000 /* DENALI_PHY_1041_DATA */ + 0x00000000 /* DENALI_PHY_1042_DATA */ + 0x00000000 /* DENALI_PHY_1043_DATA */ + 0x00000000 /* DENALI_PHY_1044_DATA */ + 0x00000000 /* DENALI_PHY_1045_DATA */ + 0x00000000 /* DENALI_PHY_1046_DATA */ + 0x00000000 /* DENALI_PHY_1047_DATA */ + 0x00000000 /* DENALI_PHY_1048_DATA */ + 0x00000000 /* DENALI_PHY_1049_DATA */ + 0x00000000 /* DENALI_PHY_1050_DATA */ + 0x00000000 /* DENALI_PHY_1051_DATA */ + 0x00000000 /* DENALI_PHY_1052_DATA */ + 0x00000000 /* DENALI_PHY_1053_DATA */ + 0x00000000 /* DENALI_PHY_1054_DATA */ + 0x00000000 /* DENALI_PHY_1055_DATA */ + 0x00000000 /* DENALI_PHY_1056_DATA */ + 0x00200000 /* DENALI_PHY_1057_DATA */ + 0x00000000 /* DENALI_PHY_1058_DATA */ + 0x00000000 /* DENALI_PHY_1059_DATA */ + 0x00000000 /* DENALI_PHY_1060_DATA */ + 0x00000000 /* DENALI_PHY_1061_DATA */ + 0x00000000 /* DENALI_PHY_1062_DATA */ + 0x00000000 /* DENALI_PHY_1063_DATA */ + 0x02800280 /* DENALI_PHY_1064_DATA */ + 0x02800280 /* DENALI_PHY_1065_DATA */ + 0x02800280 /* DENALI_PHY_1066_DATA */ + 0x02800280 /* DENALI_PHY_1067_DATA */ + 0x00000280 /* DENALI_PHY_1068_DATA */ + 0x00000000 /* DENALI_PHY_1069_DATA */ + 0x00000000 /* DENALI_PHY_1070_DATA */ + 0x00000000 /* DENALI_PHY_1071_DATA */ + 0x00000000 /* DENALI_PHY_1072_DATA */ + 0x00000000 /* DENALI_PHY_1073_DATA */ + 0x00800080 /* DENALI_PHY_1074_DATA */ + 0x00800080 /* DENALI_PHY_1075_DATA */ + 0x00800080 /* DENALI_PHY_1076_DATA */ + 0x00800080 /* DENALI_PHY_1077_DATA */ + 0x00800080 /* DENALI_PHY_1078_DATA */ + 0x00800080 /* DENALI_PHY_1079_DATA */ + 0x00800080 /* DENALI_PHY_1080_DATA */ + 0x00800080 /* DENALI_PHY_1081_DATA */ + 0x00800080 /* DENALI_PHY_1082_DATA */ + 0x000100da /* DENALI_PHY_1083_DATA */ + 0x00000200 /* DENALI_PHY_1084_DATA */ + 0x00000000 /* DENALI_PHY_1085_DATA */ + 0x00000000 /* DENALI_PHY_1086_DATA */ + 0x00000002 /* DENALI_PHY_1087_DATA */ + 0x51313152 /* DENALI_PHY_1088_DATA */ + 0x80013130 /* DENALI_PHY_1089_DATA */ + 0x02000080 /* DENALI_PHY_1090_DATA */ + 0x00100001 /* DENALI_PHY_1091_DATA */ + 0x0c064208 /* DENALI_PHY_1092_DATA */ + 0x000f0c0f /* DENALI_PHY_1093_DATA */ + 0x01000140 /* DENALI_PHY_1094_DATA */ + 0x0000000c /* DENALI_PHY_1095_DATA */ + 0x00000000 /* DENALI_PHY_1096_DATA */ + 0x00000000 /* DENALI_PHY_1097_DATA */ + 0x00000000 /* DENALI_PHY_1098_DATA */ + 0x00000000 /* DENALI_PHY_1099_DATA */ + 0x00000000 /* DENALI_PHY_1100_DATA */ + 0x00000000 /* DENALI_PHY_1101_DATA */ + 0x00000000 /* DENALI_PHY_1102_DATA */ + 0x00000000 /* DENALI_PHY_1103_DATA */ + 0x00000000 /* DENALI_PHY_1104_DATA */ + 0x00000000 /* DENALI_PHY_1105_DATA */ + 0x00000000 /* DENALI_PHY_1106_DATA */ + 0x00000000 /* DENALI_PHY_1107_DATA */ + 0x00000000 /* DENALI_PHY_1108_DATA */ + 0x00000000 /* DENALI_PHY_1109_DATA */ + 0x00000000 /* DENALI_PHY_1110_DATA */ + 0x00000000 /* DENALI_PHY_1111_DATA */ + 0x00000000 /* DENALI_PHY_1112_DATA */ + 0x00000000 /* DENALI_PHY_1113_DATA */ + 0x00000000 /* DENALI_PHY_1114_DATA */ + 0x00000000 /* DENALI_PHY_1115_DATA */ + 0x00000000 /* DENALI_PHY_1116_DATA */ + 0x00000000 /* DENALI_PHY_1117_DATA */ + 0x00000000 /* DENALI_PHY_1118_DATA */ + 0x00000000 /* DENALI_PHY_1119_DATA */ + 0x00000000 /* DENALI_PHY_1120_DATA */ + 0x00000000 /* DENALI_PHY_1121_DATA */ + 0x00000000 /* DENALI_PHY_1122_DATA */ + 0x00000000 /* DENALI_PHY_1123_DATA */ + 0x00000000 /* DENALI_PHY_1124_DATA */ + 0x00000000 /* DENALI_PHY_1125_DATA */ + 0x00000000 /* DENALI_PHY_1126_DATA */ + 0x00000000 /* DENALI_PHY_1127_DATA */ + 0x00000000 /* DENALI_PHY_1128_DATA */ + 0x00000000 /* DENALI_PHY_1129_DATA */ + 0x00000000 /* DENALI_PHY_1130_DATA */ + 0x00000000 /* DENALI_PHY_1131_DATA */ + 0x00000000 /* DENALI_PHY_1132_DATA */ + 0x00000000 /* DENALI_PHY_1133_DATA */ + 0x00000000 /* DENALI_PHY_1134_DATA */ + 0x00000000 /* DENALI_PHY_1135_DATA */ + 0x00000000 /* DENALI_PHY_1136_DATA */ + 0x00000000 /* DENALI_PHY_1137_DATA */ + 0x00000000 /* DENALI_PHY_1138_DATA */ + 0x00000000 /* DENALI_PHY_1139_DATA */ + 0x00000000 /* DENALI_PHY_1140_DATA */ + 0x00000000 /* DENALI_PHY_1141_DATA */ + 0x00000000 /* DENALI_PHY_1142_DATA */ + 0x00000000 /* DENALI_PHY_1143_DATA */ + 0x00000000 /* DENALI_PHY_1144_DATA */ + 0x00000000 /* DENALI_PHY_1145_DATA */ + 0x00000000 /* DENALI_PHY_1146_DATA */ + 0x00000000 /* DENALI_PHY_1147_DATA */ + 0x00000000 /* DENALI_PHY_1148_DATA */ + 0x00000000 /* DENALI_PHY_1149_DATA */ + 0x00000000 /* DENALI_PHY_1150_DATA */ + 0x00000000 /* DENALI_PHY_1151_DATA */ + 0x00000000 /* DENALI_PHY_1152_DATA */ + 0x00000000 /* DENALI_PHY_1153_DATA */ + 0x00050000 /* DENALI_PHY_1154_DATA */ + 0x00000000 /* DENALI_PHY_1155_DATA */ + 0x00000000 /* DENALI_PHY_1156_DATA */ + 0x00000000 /* DENALI_PHY_1157_DATA */ + 0x00000100 /* DENALI_PHY_1158_DATA */ + 0x00000000 /* DENALI_PHY_1159_DATA */ + 0x00000000 /* DENALI_PHY_1160_DATA */ + 0x00506401 /* DENALI_PHY_1161_DATA */ + 0x01221102 /* DENALI_PHY_1162_DATA */ + 0x00000122 /* DENALI_PHY_1163_DATA */ + 0x00000000 /* DENALI_PHY_1164_DATA */ + 0x000B1F00 /* DENALI_PHY_1165_DATA */ + 0x0B1F0B1F /* DENALI_PHY_1166_DATA */ + 0x0B1F0B1B /* DENALI_PHY_1167_DATA */ + 0x0B1F0B1F /* DENALI_PHY_1168_DATA */ + 0x0B1F0B1F /* DENALI_PHY_1169_DATA */ + 0x00000B00 /* DENALI_PHY_1170_DATA */ + 0x42080010 /* DENALI_PHY_1171_DATA */ + 0x01000100 /* DENALI_PHY_1172_DATA */ + 0x01000100 /* DENALI_PHY_1173_DATA */ + 0x01000100 /* DENALI_PHY_1174_DATA */ + 0x01000100 /* DENALI_PHY_1175_DATA */ + 0x00000000 /* DENALI_PHY_1176_DATA */ + 0x00000000 /* DENALI_PHY_1177_DATA */ + 0x00000000 /* DENALI_PHY_1178_DATA */ + 0x00000000 /* DENALI_PHY_1179_DATA */ + 0x00000000 /* DENALI_PHY_1180_DATA */ + 0x00000803 /* DENALI_PHY_1181_DATA */ + 0x223FFF00 /* DENALI_PHY_1182_DATA */ + 0x000008FF /* DENALI_PHY_1183_DATA */ + 0x0000057F /* DENALI_PHY_1184_DATA */ + 0x0000057F /* DENALI_PHY_1185_DATA */ + 0x00037FFF /* DENALI_PHY_1186_DATA */ + 0x00037FFF /* DENALI_PHY_1187_DATA */ + 0x00004410 /* DENALI_PHY_1188_DATA */ + 0x00004410 /* DENALI_PHY_1189_DATA */ + 0x00004410 /* DENALI_PHY_1190_DATA */ + 0x00004410 /* DENALI_PHY_1191_DATA */ + 0x00004410 /* DENALI_PHY_1192_DATA */ + 0x00037FFF /* DENALI_PHY_1193_DATA */ + 0x00037FFF /* DENALI_PHY_1194_DATA */ + 0x00000000 /* DENALI_PHY_1195_DATA */ + 0x00000000 /* DENALI_PHY_1196_DATA */ + 0x00000000 /* DENALI_PHY_1197_DATA */ + 0x04000000 /* DENALI_PHY_1198_DATA */ + 0x00000000 /* DENALI_PHY_1199_DATA */ + 0x00000000 /* DENALI_PHY_1200_DATA */ + 0x00000108 /* DENALI_PHY_1201_DATA */ + 0x00000000 /* DENALI_PHY_1202_DATA */ + 0x00000000 /* DENALI_PHY_1203_DATA */ + 0x00000000 /* DENALI_PHY_1204_DATA */ + 0x00000001 /* DENALI_PHY_1205_DATA */ + 0x00000000 /* DENALI_PHY_1206_DATA */ + 0x00000000 /* DENALI_PHY_1207_DATA */ + 0x00000000 /* DENALI_PHY_1208_DATA */ + 0x00000000 /* DENALI_PHY_1209_DATA */ + 0x00000000 /* DENALI_PHY_1210_DATA */ + 0x00000000 /* DENALI_PHY_1211_DATA */ + 0x00020100 /* DENALI_PHY_1212_DATA */ + 0x00000000 /* DENALI_PHY_1213_DATA */ + 0x00000000 /* DENALI_PHY_1214_DATA */ + >; +}; From patchwork Sat May 2 10:06:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281564 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=MVyssOGh; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlFk5DQbz9sRf for ; Sat, 2 May 2020 20:08:58 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C14CE81D92; Sat, 2 May 2020 12:08:09 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="MVyssOGh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 66E0D81D92; Sat, 2 May 2020 12:08:08 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20608.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::608]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B9C9F81D8B for ; Sat, 2 May 2020 12:08:05 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CeffrgtpWLY46l/1CnJ+rW7JsVJKTQE/HI+3GWN+kNs2GyZ1HpzxOTJBuBDmaPRGZx3a/bTTDt11bocp6ZQ0DpkF/flAv/M3TFvuH5b7TcTHmsE6xD9VwK0Il7yiaO3QKb9V0IsyS4J+aiNrI+DJSj/frssunFllJPu89+XDEVxLlNl2aLxn3wtvc8Z+LwsgX89PLIteBOn7iCLHpmKZkq+KEdtt30NTFbc25Fm/XzcbYoEYfyrzWOMDFtu0VRKDI564+zTQxWU/rHjHSVbkmPXqfojUUDfHNPDAzkK69EwPVh9U1auCXevg4ue90xgGPfUoV6ButmH/Re8h6aRDhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x+vKUfuyX1X6+hynNRTBA7jvVlv+85ir+pD+xirIggs=; b=mPOgJf7tJOLRJ4e1m7ZMNkVQjxnggMBzncdohkRn5P+94Vlf7I4a5yZX4H7BUmUUiPmgczN6I7NAJnGku/YgyhjPdUq4z4HHUuuxQXxgifXGieCJYAVgo/qHVDs+o3wolDU8ykQEWyYmiUgohYHXtf7kPVURpfme8iXjgPgQi020S029JFMdfes4sJ7FOvz/PR6TGKj+z308/mX2HNgyxgNABjxc5TVe+x2dk6o/LALMyw7tfKKgqma/IblmKTNRWeNBIEzeZfyWKxzxJI0sfR61hthZLtAdCK6VpIMyx2gDsi+YY+AlUjEvPc5W6vw3lhb7VyJOXxrg4Kx6mrc5Qw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x+vKUfuyX1X6+hynNRTBA7jvVlv+85ir+pD+xirIggs=; b=MVyssOGh0pVYgervD4ulB6AyZjle/7Q1GejkdesPawSHW1QO1sm6I1x70wByrbcVBny3J4ZzRaDT1wlmAJ8MTNqiYGFLYdAmAX5CIGCEheRDFg0KX9ltZbvvZKZ3aOo4IOA9QF6Gf2omMdfsFn6KvZmoGuN1rn7b568addTrdbQ= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:03 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:03 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 08/22] riscv: sifive: dts: fu540: add U-Boot dmc node Date: Sat, 2 May 2020 15:36:12 +0530 Message-Id: <20200502100628.24809-9-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:07:59 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 46979091-2c35-4fcb-8536-08d7ee80b342 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:480; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cP2NKnBJOrffyEZTa1KKZwHE2e2LxB/KwGVZxDUp66Ekm0oMwStmeOTyWqLDmywZC8ZgROUQTdMwZFs2q7LbL/Pd5D/9CHWbP2CH15nEYMlRcAufk651sGTEcGF7aXfV8osce0U68QrD/6aljKHiX1HUXqk4wXeN1qHKkUo3qm/upO+tnvJc8v3jD5PX71sCblJ+fJIZzHEgJjCFhg4Lq2uguggRumM+ISsU10+EEwH0RQw8Y/veggh7ENYINa9hoQx817tAkC23ZJZ4VNHwjs0IyZtiCDxNy98EZld18Z7O6wrzSIFHo/kUhiPOLNK9GevWbyq5JWn2C26EF/QB22e8T+sId6hx1uqQFkCTG1drc+/m9XwpZtkXn0CGY8ENztLpMH6TU1NaU1s4OfHw7gM666oczODRCVtowHf/tk7Av0LBtJZ85lGiYQ0LUYsp X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(4744005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: i+X9MussETDxcQW7MxzEkQI9TjUgrPkM55NfY2OTCDpJ526dzc9TkFpcnjbLHWz6f+93KK39Sf2sJXOApgnuIuYjsBdwGFOu7GDSB3XHL9nrwsDVAMVLtkCs5KT9KomwRmeAECDbMRupBz9rRVXHknXGokXeR7VxKKSJZTTozohBHhaFrCdTGK6d2jBwZXWxEMjkPpBC7cK42SUh7HIYVhkSUpKdCz3edES658DXrKzaAnckTpztZSd2xBKeW+faNEGwjQABRsxhOK1nMWp8MzbGpoHT+75uSgMGGTDzpnuBHf0CKEuTMbWBW/bgLLaVsyGCsvMFkP87AHpmluqdwG28aWVJXqIjF0zSBYZpv/YiAoP8Ne5uRjvOpkdZLHBM1JRSYbicfApLoPmfAH4IncOQmlIKd5lW+KyUznyAooMhsQYRnDV6+Z3O9WHYvqBtVqhJOfr2HYwAafb/u00OVigFB3tphzxh5a9ZQzojRUUs7H3jPD5vL0wqeOitG/+lBlsAoTGX/RELcZMFYwNUQ/Zy0fsC7hMgJjGV3I08pjOsQ892sLIzMKE5ycAQBJ/xYz0tkufOFfRyeMgJPz1WAW1wcGCgPvSTUUNNrcfSQLO7O0IklZBh3FJB0/t5ERcZeBDKbFLrLlCVNvO6jgCXS6271rEqrVqH1+3PRPIXbKLF3GQdTwBpXxvmGuuhIJ6XszAPTi7x3ceBsCw9d/ObqZ435YTz9vLEjGlB+PQUylbnR2x48VAAv4xMW3DvuCtQDbn4NUIQT5kN7GYlEsD7ZXvnZYQ7wphFCIRM2SCL2Sk= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46979091-2c35-4fcb-8536-08d7ee80b342 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:03.0348 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: U4X6Cgns0S7dZvQat3jRiD/xKPYZCmyFmWpMTaFR44vQwYLtIqt1GploruUA+RPO04wPbTJgML5RHVZWNrq0plr14NyDmqvs3cshNyj+PJg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add dmc node to enable sdram driver. dmc is used to initialize the memory controller. Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/dts/fu540-c000-u-boot.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi index 387b13bdfb..e93b8a9bcf 100644 --- a/arch/riscv/dts/fu540-c000-u-boot.dtsi +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi @@ -52,6 +52,15 @@ reg = <0x0 0x2000000 0x0 0xc0000>; u-boot,dm-spl; }; + dmc: dmc@100b0000 { + compatible = "sifive,fu540-c000-ddr"; + reg = <0x0 0x100b0000 0x0 0x0800 + 0x0 0x100b2000 0x0 0x2000 + 0x0 0x100b8000 0x0 0x0fff>; + clocks = <&prci PRCI_CLK_DDRPLL>; + clock-frequency = <933333324>; + u-boot,dm-spl; + }; }; }; From patchwork Sat May 2 10:06:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281566 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=NBamk13j; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlGJ3wWKz9sSk for ; Sat, 2 May 2020 20:09:28 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 74B6B81DAE; Sat, 2 May 2020 12:08:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="NBamk13j"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B9C5A81DA0; Sat, 2 May 2020 12:08:14 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20625.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::625]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6D35A81DA6 for ; Sat, 2 May 2020 12:08:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IoWaFdUlJ3qaQV2sUZ60mCM4YGwMpwFx7dQmW2mME2ieFRp79Dyba2QtsMDJojF1cEplmYZPBC7kGEXC/QMZbWb4vUdtp1ZZZQFmoBbx1wHGBve6EmUc3UXJhPw8R9mEzkwRE1kmfn11Ck0eBGCV8hqL7hG0yNFtj30OuD61CrWyZ1tahEWQUUJGIHvaY1RjJee+PbvJxekt/V1ReIwKjvICb1luDhyZ85oFBhuH3Tof3CTv4HOEnH5AobmDRF9evT80sFL7kb6uiMgEJULXs17jAWHD6EqtiSVkfWeErwa8gg9+omBnhsJwxxQWjNQhG3oqUyB9NwYC7pLinTs18w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TukM7wfmHnj+Fg4a0zRB4ipqg8u9SUDEGELOpCLP3hM=; b=DBAc8TeCqOYlu2Y3GEVXx1gsY4jabmGuytGSEcB2k2sYzD7eM/l0YIpiMFYF/PBL6QXD8QJ37rqW+Tylmk21/kGtd3rFGtD5jRLwrzgnd9GsWoT3rN8LX5TJjtdeoe90KUAJecQ6l2ShC71UvgF8le/oCDy5YA4olwa4a67ywUi4UULnmkYpM5MwV4/WwXzT75V+GJ7cMXvMLSJmRDNcFuZw9WdQAPH8SgJfFuTrPK8m7HtUzsK/1E61MiiDfx+y1qxRkbu5Str599A5hjqcTtPIdNqsw+YZ2Bl7yMj7qomaa9pS08CKDYIkSqWU5MYEMkV3Jfqtn4U84hmwjm9vug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TukM7wfmHnj+Fg4a0zRB4ipqg8u9SUDEGELOpCLP3hM=; b=NBamk13jhaY03C/TeikunGANU5fDhhywF5QxcgtNjcc0EWdBMCgJDNLqJ58DEjr+4PbCOBG0Ltv9Cikhh1zO+f0FXpioUVnEqrGPyzHLiMqPjd12+9pcpkF1FEYkFoFEQzY6f9DVqaisJ1hXM3uovJqcSjkBJ8mCcPGc8m3p9kQ= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:08 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:08 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Lukasz Majewski , Anup Patel , Anatolij Gustschin , Simon Glass Subject: [PATCH v7 09/22] clk: sifive: fu540-prci: Add clock enable and disable ops Date: Sat, 2 May 2020 15:36:13 +0530 Message-Id: <20200502100628.24809-10-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:03 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1af1c2a4-0e5f-44a7-7730-08d7ee80b691 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M649Nt7cdhIF/zZ23dYDXNkSglHFAvKhinKSku0OjZTKhX3/VFX8qRDhhP2ChA/tl8OiLC9BVA6+tJA9KL/fU2KWBqTgH7Aa3QGmbiiBz8Yfc+q1Rn76hglDB3+HSpG9H7bTFGcc4DVlpyACI2gxPC1pp3+7oaW3MrUYWOObGwDG8Ww+VS+oBMrOUasVJijSII8dtHOrjiqR+y70utRE+ZyVY9Nc33Blxs/mC3FDDAYgvZxwrF4etfk3AqUMYhXh7ARGvaWxbLuCMA4Y/BAX/OHpU2HXaMJMGgAG4BCs803jjSfhEW5/PXhMwjXWDRAlwKt/vU2JhCWGrjxameeFExmmKaLxNGPl/0Bpx+UZycMuXG2gsixnObMUk7w7GOsAHUvbmiOBTdtxvpYmsnRVbvaT3cu1XyrMpzlJjycdfC7e54mCMy90NiN29/TwoxnF X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(7416002)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ht65sMoi6z5MzyMxFtAfjJCQTmwNPzGyXSIyDfkWnxUUm3Vz0DUUDXJjtgEPctK78O3QsFNn8HxIMI9hjSW6+Iu3JwlLjhcvWpAkrMJC129+TahzJIXdujbSNL1loaIXuezh4RiQnp56DFNHbd8jV8cxhsp5AbyAHEeuf6Z4HgKJJqhn7IbbgffIcOGfkR/BeNd04nIHEsSSHqNF/qsLKzpJIDELREDoAb+3xfxFbV+Jxgnk0WBKUnA4Gu5F9bJiivHOenYimsEjEH+kMQg1+jqNIb65BeAM7uUQwiV1gAFU/Tlh50r/WOu2gaMwkU+lEFgkrw2l/X023z54b8zP9gM7pK581HJJBYbtiqKkWg6EwfmivxSen4FC6XDcl6/0Kg5fsuAqKc0H94pTBiiEAJdSSWY2EVVk4xPvjKzth8dKeh2xlZLkw5oFe583ltvFWwY5MJFE4EoZxtxvLkA8iJm6AfalpV3txBf5nXw7VVbwUzeRP/81yw6aNM+JZM4ugRAxUCu800er1mmaMHE2GsZyt/UK79V/SdXjPedbntjyt3WV8xacOtYAlrthRyoLzi1gUGTwXooZuf6ZYlRGla0YIAogDIyjQBRmMruBWdWV7TzaK6gRo3XHn9fo7zkrnh4//j92WhVS4yMgsy4tu1TH2u8ounoAXGIP9YffY5D4vE9g31NC76EVU88VDefd6tJwP3vqHYZsKRkb1BkpkkUTuan2SGRrgACKTmEynR8dJuGjnzh6vhHDJuPys3GckjBC9Qx5Stj1cwJqHGppYcur1+ZGIRqW3qqiVsK0W98= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1af1c2a4-0e5f-44a7-7730-08d7ee80b691 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:08.4954 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ESWbxm3UbusVL0E0rDwGjdf4zaDzZ07FAOuHGpDMHMpqAe/LDnM2T3wob1URxq9kwHglVqkBDCXLL2xhf1HWP1Ull++LpHVxfhYKAGAoPiI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Added clock enable and disable functions in prci ops Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- drivers/clk/sifive/fu540-prci.c | 108 ++++++++++++++++++++++++++++---- 1 file changed, 96 insertions(+), 12 deletions(-) diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prci.c index 8847178001..bf06c3a3bb 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -68,6 +68,11 @@ #define PRCI_COREPLLCFG0_LOCK_SHIFT 31 #define PRCI_COREPLLCFG0_LOCK_MASK (0x1 << PRCI_COREPLLCFG0_LOCK_SHIFT) +/* COREPLLCFG1 */ +#define PRCI_COREPLLCFG1_OFFSET 0x8 +#define PRCI_COREPLLCFG1_CKE_SHIFT 31 +#define PRCI_COREPLLCFG1_CKE_MASK (0x1 << PRCI_COREPLLCFG1_CKE_SHIFT) + /* DDRPLLCFG0 */ #define PRCI_DDRPLLCFG0_OFFSET 0xc #define PRCI_DDRPLLCFG0_DIVR_SHIFT 0 @@ -87,7 +92,7 @@ /* DDRPLLCFG1 */ #define PRCI_DDRPLLCFG1_OFFSET 0x10 -#define PRCI_DDRPLLCFG1_CKE_SHIFT 24 +#define PRCI_DDRPLLCFG1_CKE_SHIFT 31 #define PRCI_DDRPLLCFG1_CKE_MASK (0x1 << PRCI_DDRPLLCFG1_CKE_SHIFT) /* GEMGXLPLLCFG0 */ @@ -114,7 +119,7 @@ /* GEMGXLPLLCFG1 */ #define PRCI_GEMGXLPLLCFG1_OFFSET 0x20 -#define PRCI_GEMGXLPLLCFG1_CKE_SHIFT 24 +#define PRCI_GEMGXLPLLCFG1_CKE_SHIFT 31 #define PRCI_GEMGXLPLLCFG1_CKE_MASK (0x1 << PRCI_GEMGXLPLLCFG1_CKE_SHIFT) /* CORECLKSEL */ @@ -142,7 +147,7 @@ (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT) /* CLKMUXSTATUSREG */ -#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c +#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c #define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1 #define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \ (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) @@ -170,6 +175,7 @@ struct __prci_data { * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL) * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) * @cfg0_offs: WRPLL CFG0 register offset (in bytes) from the PRCI base address + * @cfg1_offs: WRPLL CFG1 register offset (in bytes) from the PRCI base address * * @enable_bypass and @disable_bypass are used for WRPLL instances * that contain a separate external glitchless clock mux downstream @@ -180,6 +186,7 @@ struct __prci_wrpll_data { void (*enable_bypass)(struct __prci_data *pd); void (*disable_bypass)(struct __prci_data *pd); u8 cfg0_offs; + u8 cfg1_offs; }; struct __prci_clock; @@ -194,6 +201,7 @@ struct __prci_clock_ops { unsigned long *parent_rate); unsigned long (*recalc_rate)(struct __prci_clock *pc, unsigned long parent_rate); + int (*enable_clk)(struct __prci_clock *pc, bool enable); }; /** @@ -316,7 +324,7 @@ static u32 __prci_wrpll_pack(const struct wrpll_cfg *c) } /** - * __prci_wrpll_read_cfg() - read the WRPLL configuration from the PRCI + * __prci_wrpll_read_cfg0() - read the WRPLL configuration from the PRCI * @pd: PRCI context * @pwd: PRCI WRPLL metadata * @@ -327,14 +335,14 @@ static u32 __prci_wrpll_pack(const struct wrpll_cfg *c) * Context: Any context. Caller must prevent the records pointed to by * @pd and @pwd from changing during execution. */ -static void __prci_wrpll_read_cfg(struct __prci_data *pd, - struct __prci_wrpll_data *pwd) +static void __prci_wrpll_read_cfg0(struct __prci_data *pd, + struct __prci_wrpll_data *pwd) { __prci_wrpll_unpack(&pwd->c, __prci_readl(pd, pwd->cfg0_offs)); } /** - * __prci_wrpll_write_cfg() - write WRPLL configuration into the PRCI + * __prci_wrpll_write_cfg0() - write WRPLL configuration into the PRCI * @pd: PRCI context * @pwd: PRCI WRPLL metadata * @c: WRPLL configuration record to write @@ -347,15 +355,29 @@ static void __prci_wrpll_read_cfg(struct __prci_data *pd, * Context: Any context. Caller must prevent the records pointed to by * @pd and @pwd from changing during execution. */ -static void __prci_wrpll_write_cfg(struct __prci_data *pd, - struct __prci_wrpll_data *pwd, - struct wrpll_cfg *c) +static void __prci_wrpll_write_cfg0(struct __prci_data *pd, + struct __prci_wrpll_data *pwd, + struct wrpll_cfg *c) { __prci_writel(__prci_wrpll_pack(c), pwd->cfg0_offs, pd); memcpy(&pwd->c, c, sizeof(*c)); } +/** + * __prci_wrpll_write_cfg1() - write Clock enable/disable configuration + * into the PRCI + * @pd: PRCI context + * @pwd: PRCI WRPLL metadata + * @enable: Clock enable or disable value + */ +static void __prci_wrpll_write_cfg1(struct __prci_data *pd, + struct __prci_wrpll_data *pwd, + u32 enable) +{ + __prci_writel(enable, pwd->cfg1_offs, pd); +} + /* Core clock mux control */ /** @@ -437,7 +459,7 @@ static int sifive_fu540_prci_wrpll_set_rate(struct __prci_clock *pc, if (pwd->enable_bypass) pwd->enable_bypass(pd); - __prci_wrpll_write_cfg(pd, pwd, &pwd->c); + __prci_wrpll_write_cfg0(pd, pwd, &pwd->c); udelay(wrpll_calc_max_lock_us(&pwd->c)); @@ -447,14 +469,35 @@ static int sifive_fu540_prci_wrpll_set_rate(struct __prci_clock *pc, return 0; } +static int sifive_fu540_prci_clock_enable(struct __prci_clock *pc, bool enable) +{ + struct __prci_wrpll_data *pwd = pc->pwd; + struct __prci_data *pd = pc->pd; + + if (enable) { + __prci_wrpll_write_cfg1(pd, pwd, PRCI_COREPLLCFG1_CKE_MASK); + } else { + u32 r; + + r = __prci_readl(pd, pwd->cfg1_offs); + r &= ~PRCI_COREPLLCFG1_CKE_MASK; + + __prci_wrpll_write_cfg1(pd, pwd, r); + } + + return 0; +} + static const struct __prci_clock_ops sifive_fu540_prci_wrpll_clk_ops = { .set_rate = sifive_fu540_prci_wrpll_set_rate, .round_rate = sifive_fu540_prci_wrpll_round_rate, .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate, + .enable_clk = sifive_fu540_prci_clock_enable, }; static const struct __prci_clock_ops sifive_fu540_prci_wrpll_ro_clk_ops = { .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate, + .enable_clk = sifive_fu540_prci_clock_enable, }; /* TLCLKSEL clock integration */ @@ -484,16 +527,19 @@ static const struct __prci_clock_ops sifive_fu540_prci_tlclksel_clk_ops = { static struct __prci_wrpll_data __prci_corepll_data = { .cfg0_offs = PRCI_COREPLLCFG0_OFFSET, + .cfg1_offs = PRCI_COREPLLCFG1_OFFSET, .enable_bypass = __prci_coreclksel_use_hfclk, .disable_bypass = __prci_coreclksel_use_corepll, }; static struct __prci_wrpll_data __prci_ddrpll_data = { .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET, + .cfg1_offs = PRCI_DDRPLLCFG1_OFFSET, }; static struct __prci_wrpll_data __prci_gemgxlpll_data = { .cfg0_offs = PRCI_GEMGXLPLLCFG0_OFFSET, + .cfg1_offs = PRCI_GEMGXLPLLCFG1_OFFSET, }; /* @@ -580,6 +626,42 @@ static ulong sifive_fu540_prci_set_rate(struct clk *clk, ulong rate) return rate; } +static int sifive_fu540_prci_enable(struct clk *clk) +{ + struct __prci_clock *pc; + int ret = 0; + + if (ARRAY_SIZE(__prci_init_clocks) <= clk->id) + return -ENXIO; + + pc = &__prci_init_clocks[clk->id]; + if (!pc->pd) + return -ENXIO; + + if (pc->ops->enable_clk) + ret = pc->ops->enable_clk(pc, 1); + + return ret; +} + +static int sifive_fu540_prci_disable(struct clk *clk) +{ + struct __prci_clock *pc; + int ret = 0; + + if (ARRAY_SIZE(__prci_init_clocks) <= clk->id) + return -ENXIO; + + pc = &__prci_init_clocks[clk->id]; + if (!pc->pd) + return -ENXIO; + + if (pc->ops->enable_clk) + ret = pc->ops->enable_clk(pc, 0); + + return ret; +} + static int sifive_fu540_prci_probe(struct udevice *dev) { int i, err; @@ -602,7 +684,7 @@ static int sifive_fu540_prci_probe(struct udevice *dev) pc = &__prci_init_clocks[i]; pc->pd = pd; if (pc->pwd) - __prci_wrpll_read_cfg(pd, pc->pwd); + __prci_wrpll_read_cfg0(pd, pc->pwd); } return 0; @@ -611,6 +693,8 @@ static int sifive_fu540_prci_probe(struct udevice *dev) static struct clk_ops sifive_fu540_prci_ops = { .set_rate = sifive_fu540_prci_set_rate, .get_rate = sifive_fu540_prci_get_rate, + .enable = sifive_fu540_prci_enable, + .disable = sifive_fu540_prci_disable, }; static const struct udevice_id sifive_fu540_prci_ids[] = { From patchwork Sat May 2 10:06:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281567 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=g53tI0pp; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlGX2Sffz9sRf for ; Sat, 2 May 2020 20:09:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9CCEF81D54; Sat, 2 May 2020 12:08:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="g53tI0pp"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E7B6281D54; Sat, 2 May 2020 12:08:20 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20627.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::627]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3906D81DAC for ; Sat, 2 May 2020 12:08:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YiuCiEGEUAmpaHk9pOoftJTvaPoUDPpTF9WvhSv1K87ISYfQvyp8b3I1L8H7nrplESacfDjDpd4u8thTrQdmihfKD3aHiCoKraoa2HHiTDOMjdNilMmNnZZFzTVOV/RCFyZmdpbnzogiOYDQNA0jpMf74y1v0ay3mO4qO3JFiB2BUJ3TRdGgPeC24yIxS8yQZ4um/ijgPFH9NZte9dXmcK+ScsScZfBGrdkoS5FjQtzBy0uZEhc83KN6tHtAZoH4V5l8Dx901IlH7EDDlx62uj5vth3OpzwWkoozJuQDuAgNw0TT81QqFtlFKn66LYKpPMXOeUyYtIW+BEZ9XGBdaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9Oh3XzYNfrAS3PPu3nvBVif5it2i3oIgYaoCTP5jSI=; b=h4mY0enUXfpQ/Hsfdc2pUZ62OUHP7pSBxfcSWneuxC5PODrCl3bamcGG3NmoD5PXQ9iAc8YkpU7BGCaSZvopaCGPQhV49bGevQ+HG4WmLZyReFGnL+if7EHmQBS5c4sAueOe7zF9zue/5jl8Rp0S3AhdKPXb9rt0fXfJzmQWb49/Wgz4w19s1pot79XSIuAq+dtkWm9alY3viX7HXL+0qCguTAmHHqjWyud+YqTvhN6c3cc9kTM5dEnsLsbKl55jguDFzTDvSm4h66udaEbnWCMe2w6++nfPCo/4yqQ/1SVmJRJzxXfP3MKUKKiBrIVPB5G+dP5BKrN5wJDzROwAAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9Oh3XzYNfrAS3PPu3nvBVif5it2i3oIgYaoCTP5jSI=; b=g53tI0ppRCSbELRzCEzuQn1BZYWvF7nqsFclrXb2mnATBSLN5nvGjdedXBjO9hAiRU7KHGR4bc6jF1W8Z2XkfhCq5vp5jVjmzbwayiDJWWpfRLa6wdrIhBpeVtXNTkqBNzX8R17G1c+mUuOXhVZTHeQ8dvd5w6BLLIRbxdHufb4= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:14 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:14 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Lukasz Majewski , Anup Patel , Anatolij Gustschin , Simon Glass Subject: [PATCH v7 10/22] clk: sifive: fu540-prci: ddr and ethernet clock initialization in SPL Date: Sat, 2 May 2020 15:36:14 +0530 Message-Id: <20200502100628.24809-11-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:09 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57574b53-5be0-4291-4731-08d7ee80b9cc X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MRtA3aw07bS1cKK/H9jgRw9UBDdH7YaHkCY8qZ05PFK3JQbAS3qWJl2N0SIuqHyCl6hYuv9nODrie8BA3RKSBh7xJ9BNRdSdv3rsVPYuzPJ29bO4B6EPV8rCXoaNlZS8Rv0M5DtiJXmybj58tdJZgrCNRU2rUwvSkLBiMMFntoWeS8MtzXNF2mRUjpltgOWkSZZMTnTQSE0tjCxbbmtvZI0gS0ZJryuMHOjN3y7MbLjRfKxGMnL5Q2DURwjEXtbVRxywmXYLTutYyXKPCDgYwlhHI/UWSt6gZkVisXWRiN8/hw7+2ZZFF5S49YNFZNwzZbFxVAJfGr+aoY5bUygqOcEFV0CaP1+iYo+z2o/U8roHW2CMZX5snx3widRRkBF/ZFcaAgO21RB1d028utAuK10g3RNY1gslHi1NXdbr63H/gsWKKW8y86Q21Ivw4og4 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(7416002)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: dnfjqqZjutvyxbuJERZ1tFtMeB74BT3uPha8zhfGLtprCXjwcIDUSG+2aGymo5D8335E8YYMN60/9x5Y8i/uEv9cAr4eawmHRX2dJBetJSV6GvJtt/thFa+5SNP/KhZeYyhF//n1xYKqxSrTg92EpyREpwUuO+slGFxGMp9DVFzQ2nLG3Q55M+dVOSWwVSqnQswkU4W8gLOZce+C1+9z2H2qz0gJVXLCED+7mLZqonv6H4t/wRGIqIyeRaboX4ptemJO+/G/IFbCotPIlXLP1RS1vkLLQAlrg+ThbgWSUArO3bzA5+exy9XnGlDj32IgP0M68jOSI/yYNFEryXXCO66bi/rM7tXCysmRNdo0vEV3/VuAb6xb4T24Rax+vbRVWpgngqW20sn3iUTP1Br/vsXs0x8fYPm2YA3n+t03hllG9iTr7Y0fMqlVFLaL/QyffWT+lM8iFWZKonEXyMsE3UYktZqPoyP5UkwJD0R/KP5rebFSWdl54z80nrzUBm1i5lIbLuvU9w/pOfm8xqBkBtoV03EN4aCUM7t3+17k7rFPvvM1IV3gFs3G4xtUHgDxVPzB+ixrA9fd6S7CWAiI7QU4aDstGTirsNx4WZCvF0O5Hg9doJ1WHG2ORwBY051H0WJz/pn5KpAvYBNYFc5FnC+Ps8+B97gJ19j+T8NMRd0VkwRbCkwDhUawDIE48GRsgoEupqoIu4K7xZX3IIqo94nWlKMwOWZ1r1MCu3uKRwPEMFnWY0xJSuJNy20VsNyJSfy1hrVpqRyZGzSwpGhSgVB9Dqt9nio4SgAPZlfz5n8= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57574b53-5be0-4291-4731-08d7ee80b9cc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:13.9650 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wFn1YpN4CzIfKF1AFoqUPT04vyoohGMwULH/hAfR095JHVRWt/1MQbDdB6JBwzEJDk4YtA9Vx/mmaakEwYaI+L7/fXMyAC+ow7GtbRayoVU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add ddr clock release reset and ehternet clock initialization for SPL Signed-off-by: Pragnesh Patel --- drivers/clk/sifive/fu540-prci.c | 87 ++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 6 deletions(-) diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prci.c index bf06c3a3bb..1c89bdf242 100644 --- a/drivers/clk/sifive/fu540-prci.c +++ b/drivers/clk/sifive/fu540-prci.c @@ -41,6 +41,8 @@ #include #include +#define MHz 1000000 + /* * EXPECTED_CLK_PARENT_COUNT: how many parent clocks this driver expects: * hfclk and rtcclk @@ -152,6 +154,12 @@ #define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \ (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) +/* PROCMONCFG */ +#define PRCI_PROCMONCFG_OFFSET 0xF0 +#define PRCI_PROCMONCFG_CORE_CLOCK_SHIFT 24 +#define PRCI_PROCMONCFG_CORE_CLOCK_MASK \ + (0x1 << PRCI_PROCMONCFG_CORE_CLOCK_SHIFT) + /* * Private structures */ @@ -176,6 +184,7 @@ struct __prci_data { * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) * @cfg0_offs: WRPLL CFG0 register offset (in bytes) from the PRCI base address * @cfg1_offs: WRPLL CFG1 register offset (in bytes) from the PRCI base address + * @release_reset: fn ptr to code to release clock reset * * @enable_bypass and @disable_bypass are used for WRPLL instances * that contain a separate external glitchless clock mux downstream @@ -187,6 +196,9 @@ struct __prci_wrpll_data { void (*disable_bypass)(struct __prci_data *pd); u8 cfg0_offs; u8 cfg1_offs; +#ifdef CONFIG_SPL_BUILD + void (*release_reset)(struct __prci_data *pd); +#endif }; struct __prci_clock; @@ -476,6 +488,11 @@ static int sifive_fu540_prci_clock_enable(struct __prci_clock *pc, bool enable) if (enable) { __prci_wrpll_write_cfg1(pd, pwd, PRCI_COREPLLCFG1_CKE_MASK); + +#ifdef CONFIG_SPL_BUILD + if (pwd->release_reset) + pwd->release_reset(pd); +#endif } else { u32 r; @@ -495,11 +512,6 @@ static const struct __prci_clock_ops sifive_fu540_prci_wrpll_clk_ops = { .enable_clk = sifive_fu540_prci_clock_enable, }; -static const struct __prci_clock_ops sifive_fu540_prci_wrpll_ro_clk_ops = { - .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate, - .enable_clk = sifive_fu540_prci_clock_enable, -}; - /* TLCLKSEL clock integration */ static unsigned long sifive_fu540_prci_tlclksel_recalc_rate( @@ -521,6 +533,39 @@ static const struct __prci_clock_ops sifive_fu540_prci_tlclksel_clk_ops = { .recalc_rate = sifive_fu540_prci_tlclksel_recalc_rate, }; +#ifdef CONFIG_SPL_BUILD +/** + * __prci_ddr_release_reset() - Release DDR reset + * @pd: struct __prci_data * for the PRCI containing the DDRCLK mux reg + * + */ +static void __prci_ddr_release_reset(struct __prci_data *pd) +{ + u32 v; + + v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET); + v |= PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_MASK; + __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd); + + // HACK to get the '1 full controller clock cycle'. + asm volatile ("fence"); + v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET); + v |= (PRCI_DEVICESRESETREG_DDR_AXI_RST_N_MASK | + PRCI_DEVICESRESETREG_DDR_AHB_RST_N_MASK | + PRCI_DEVICESRESETREG_DDR_PHY_RST_N_MASK); + __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd); + // HACK to get the '1 full controller clock cycle'. + asm volatile ("fence"); + + /* These take like 16 cycles to actually propagate. We can't go sending + * stuff before they come out of reset. So wait. (TODO: Add a register + * to read the current reset states, or DDR Control device?) + */ + for (int i = 0; i < 256; i++) + asm volatile ("nop"); +} +#endif + /* * PRCI integration data for each WRPLL instance */ @@ -535,6 +580,9 @@ static struct __prci_wrpll_data __prci_corepll_data = { static struct __prci_wrpll_data __prci_ddrpll_data = { .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET, .cfg1_offs = PRCI_DDRPLLCFG1_OFFSET, +#ifdef CONFIG_SPL_BUILD + .release_reset = __prci_ddr_release_reset, +#endif }; static struct __prci_wrpll_data __prci_gemgxlpll_data = { @@ -556,7 +604,7 @@ static struct __prci_clock __prci_init_clocks[] = { [PRCI_CLK_DDRPLL] = { .name = "ddrpll", .parent_name = "hfclk", - .ops = &sifive_fu540_prci_wrpll_ro_clk_ops, + .ops = &sifive_fu540_prci_wrpll_clk_ops, .pwd = &__prci_ddrpll_data, }, [PRCI_CLK_GEMGXLPLL] = { @@ -662,6 +710,29 @@ static int sifive_fu540_prci_disable(struct clk *clk) return ret; } +#ifdef CONFIG_SPL_BUILD +static void ethernet_init(struct udevice *dev) +{ + u32 v; + struct clk clock; + struct __prci_data *pd = dev_get_priv(dev); + + /* GEMGXL init */ + clock.id = PRCI_CLK_GEMGXLPLL; + sifive_fu540_prci_set_rate(&clock, 125UL * MHz); + sifive_fu540_prci_clock_enable(&__prci_init_clocks[clock.id], 1); + + /* Release GEMGXL reset */ + v = __prci_readl(pd, PRCI_DEVICESRESETREG_OFFSET); + v |= PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK; + __prci_writel(v, PRCI_DEVICESRESETREG_OFFSET, pd); + + /* Procmon => core clock */ + __prci_writel(PRCI_PROCMONCFG_CORE_CLOCK_MASK, PRCI_PROCMONCFG_OFFSET, + pd); +} +#endif + static int sifive_fu540_prci_probe(struct udevice *dev) { int i, err; @@ -687,6 +758,10 @@ static int sifive_fu540_prci_probe(struct udevice *dev) __prci_wrpll_read_cfg0(pd, pc->pwd); } +#ifdef CONFIG_SPL_BUILD + ethernet_init(dev); +#endif + return 0; } From patchwork Sat May 2 10:06:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281568 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=rHWgBbYA; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlGl3bp2z9sRf for ; Sat, 2 May 2020 20:09:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9055B81DAB; Sat, 2 May 2020 12:08:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="rHWgBbYA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E732C81DAC; Sat, 2 May 2020 12:08:23 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20611.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::611]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 24A8F81CD6 for ; Sat, 2 May 2020 12:08:21 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EmtXAqUY+d74a7spDb1E79xE9IbqD/QzIjW5+dxcqY5txYf/UI36DsbOv/AzLE0MwbUhVuhJnPQrgTd/6cxKcvXdnhkReN0oj11dQyyZoxayNELXnWkkzSZb7P/mz/SCZXJfzVLxM3+LFzjnPkP3s0CF6uitE5zYzoKWx39ozmumHZrqPmD92O9Nr5urX/nB5ixuIOGQfzJ66pNU66yBQSDIKtHegOitUlLg5uCRcuLf08XwA4FnWvRgngLVtSRFDZY8hLFWww4OsyhNDEq4erErIYw0mxWII8agBz9IGhZ88TASLTdYSUnWg7/bO1fFvHOdJTMfjNtc15b6sA+B1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fOFE6K0bTJ/lTE7nuGIXI495XTass5hlwHXj/ZFT0X4=; b=RJVVB5Z955JctF03I7cBLVC6QA8/l/G1oTA9mGqoy6fvXtjWvw0u2nMHZ5brp3sniHdGMd8z1HAgFTbT4rBahv8MduP6esjfZNqxHVgc8D9TYuKxGJbcN40DE+FKQWla7QNqWIiYBbVZC3Oxbs3BRDAyu3GpMO5PJwkLfq0XnFLl01ehQFvit4W9hoXfwqJJr6MDs6B1Nx6wnnq+ybXoa5ifoB42+01pcpDwxEnyy3NXSFXkEH9PFNUBS+mJbf3zpC+FalOQgy7qjPi5mhwUfnQHyLOkEV53q/yIMt/ZKBA3At9kMz3QGLFrNbQSGGyOGb3lHWnz3Rc9rNAHTQ8dFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fOFE6K0bTJ/lTE7nuGIXI495XTass5hlwHXj/ZFT0X4=; b=rHWgBbYA6K6oertvFPml8dBvm/hTKjLNz0m7+r04woLWYBRm5YRTkLibgcQwZaB0NYaLCYjxgeiDvUif+xel4vp3jONlLjrJ5UAPvRu/zxMtLPxWSt5csYO/lOnrNUEiRnoV1fDMF2I502i2+eFHXUbjcAt0Ja+tm+ZjMUU5JN4= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:19 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:19 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 11/22] riscv: dts: sifive: Sync hifive-unleashed-a00 dts from linux Date: Sat, 2 May 2020 15:36:15 +0530 Message-Id: <20200502100628.24809-12-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:15 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 13847bc0-4085-45c3-bd8c-08d7ee80bcdf X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:68; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HWvEThGPeVp+MpPXvpPpSnJORZVnw5TV4tpOi4ftZnTj4NkTOEESNYaurEUIgaSgcTLLyfq4rUx23j6XWP44dNr+9lH01Ov5dqsfSjy59w6tQvNSSWV+fzyB2yur8hw9KfPSa55pBtsV0y1H/9qKp0rNO+r7YAVFqAurnpamYRn7BAUQNontsI178sy5S2cH9JxLieGWJf2naUI5xPP+cAwnUVWO7ff5PwJaD4ZzZAKt7SCyeP8NTKpCYmdJYh/SUmPk+FE96jqlrPs9PmSRZiP5sR3Cww6+Qt/VTmazavZP8ipex5vSBkg/N6MOH0MlG1icp6Ls2bqtjfWAyX1lPUYNLQXOYEUlRPalkAsB53pnGV6lEyR+k8UmW7LB74CuY2l0kOt0Q0p2I6VyXQKKv2z0QS37/jCjanPXiB8NoiijZIqgQk73/5ZhkfAqbbZx X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(107886003)(6486002)(16526019)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: fL9VO+SmDwKOnB7waQ6B/eEz89U09PehgVefiNMpFEkxJmzLhwvhNXrIngAoVoTwJ3Xh5h0ONo6CsNXzq/JQUp8BS5mDn1O0XHqKqZsU49ChpacG+P6badt0fPV6NalNwrKxp2sMxugdKYWISLTdCuTvucadKJa8vRhei/VUzEZvckBpcDrLVH/U8nuy1986djJwxFW0GvVQ6i/bJIh2uZvRSGmKZjromLU7Z49/wK1Rtsi1zjtuOGm5DcFtnjECN2rIRUoG8GsJVidNV55IEr4wwbriuIqoW9tSsiL2ZRWynk44LLOYGAimS1LMKaiVOml+yNo4s62zOJV7sASTKmEtwPusx1OrK417j/fA6F90UPNugODwr7Yca5IOWGMI3CwSv78ag+bcKuwkz64zVdhASsAOtBvNoJJdTJjgZ+qJhN0+3Jahbi6oSngWRWH2sG8F/ARvfDolQkDckYgJxXloTFHtnydqYvY8vUG66RnmShRPdW+LrSIJnZj1wPinIwvrv+Om2z2XLoGCnJVbmaZSGqMRPgFUvNtAmDVtpOq+knKuiQT3ajqT1kLz4YV1Vkbf5Dmv4JIiN0tDP2NKFwnez6NB8UXqkA//Og5sCBOLCILW7DjKDKjpIUguaocBpHVjfFoeq2U+CR4sbfOWZIHvIFsaHg4JEX4FzH4Y6W50JpqfnjU8pP9DRh2e34UOcbHMHPtdNAZiwJm7YduuqD3Xi39tkc4uPQ4FtAW/sEz+gFzTQO2i5uZQ4LphcJXAI4F1IAR4+RrbQaqmpTPh33lKJseUVh+rZc+1efEh+zQ= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13847bc0-4085-45c3-bd8c-08d7ee80bcdf X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:19.2526 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ASPmuh2quNMicZsJRAZci/EfCuBROpBBxTflev/T+0Op1aXxFAw/8hbzCQV66UdfWg0pB8j7WZFUc7iybNLLCf60fW3/WMFy7urRh0f9yEM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean This sync has changes required to use GPIO in U-Boot and U-Boot SPL. Sync dts from linux v5.7-rc2 commit: "riscv: dts: Add GPIO reboot method to HiFive Unleashed DTS file" (sha1: 0a91330b2af9f71ceeeed483f92774182b58f6d9) Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng --- arch/riscv/dts/fu540-c000.dtsi | 37 ++++++++++++++++++++++++- arch/riscv/dts/hifive-unleashed-a00.dts | 9 ++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/arch/riscv/dts/fu540-c000.dtsi b/arch/riscv/dts/fu540-c000.dtsi index afa43c7ea3..7db8610534 100644 --- a/arch/riscv/dts/fu540-c000.dtsi +++ b/arch/riscv/dts/fu540-c000.dtsi @@ -54,6 +54,7 @@ reg = <1>; riscv,isa = "rv64imafdc"; tlb-split; + next-level-cache = <&l2cache>; cpu1_intc: interrupt-controller { #interrupt-cells = <1>; compatible = "riscv,cpu-intc"; @@ -77,6 +78,7 @@ reg = <2>; riscv,isa = "rv64imafdc"; tlb-split; + next-level-cache = <&l2cache>; cpu2_intc: interrupt-controller { #interrupt-cells = <1>; compatible = "riscv,cpu-intc"; @@ -100,6 +102,7 @@ reg = <3>; riscv,isa = "rv64imafdc"; tlb-split; + next-level-cache = <&l2cache>; cpu3_intc: interrupt-controller { #interrupt-cells = <1>; compatible = "riscv,cpu-intc"; @@ -123,6 +126,7 @@ reg = <4>; riscv,isa = "rv64imafdc"; tlb-split; + next-level-cache = <&l2cache>; cpu4_intc: interrupt-controller { #interrupt-cells = <1>; compatible = "riscv,cpu-intc"; @@ -162,6 +166,13 @@ clocks = <&prci PRCI_CLK_TLCLK>; status = "disabled"; }; + dma: dma@3000000 { + compatible = "sifive,fu540-c000-pdma"; + reg = <0x0 0x3000000 0x0 0x8000>; + interrupt-parent = <&plic0>; + interrupts = <23 24 25 26 27 28 29 30>; + #dma-cells = <1>; + }; uart1: serial@10011000 { compatible = "sifive,fu540-c000-uart", "sifive,uart0"; reg = <0x0 0x10011000 0x0 0x1000>; @@ -246,6 +257,30 @@ #pwm-cells = <3>; status = "disabled"; }; - + l2cache: cache-controller@2010000 { + compatible = "sifive,fu540-c000-ccache", "cache"; + cache-block-size = <64>; + cache-level = <2>; + cache-sets = <1024>; + cache-size = <2097152>; + cache-unified; + interrupt-parent = <&plic0>; + interrupts = <1 2 3>; + reg = <0x0 0x2010000 0x0 0x1000>; + }; + gpio: gpio@10060000 { + compatible = "sifive,fu540-c000-gpio", "sifive,gpio0"; + interrupt-parent = <&plic0>; + interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, + <14>, <15>, <16>, <17>, <18>, <19>, <20>, + <21>, <22>; + reg = <0x0 0x10060000 0x0 0x1000>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&prci PRCI_CLK_TLCLK>; + status = "disabled"; + }; }; }; diff --git a/arch/riscv/dts/hifive-unleashed-a00.dts b/arch/riscv/dts/hifive-unleashed-a00.dts index 88cfcb96bf..4a2729f5ca 100644 --- a/arch/riscv/dts/hifive-unleashed-a00.dts +++ b/arch/riscv/dts/hifive-unleashed-a00.dts @@ -2,6 +2,7 @@ /* Copyright (c) 2018-2019 SiFive, Inc */ #include "fu540-c000.dtsi" +#include /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -41,6 +42,10 @@ clock-frequency = ; clock-output-names = "rtcclk"; }; + gpio-restart { + compatible = "gpio-restart"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; }; &uart0 { @@ -94,3 +99,7 @@ &pwm1 { status = "okay"; }; + +&gpio { + status = "okay"; +}; From patchwork Sat May 2 10:06:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281569 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=tE1URDig; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlGy5z9Nz9sSd for ; Sat, 2 May 2020 20:10:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9F26481DBD; Sat, 2 May 2020 12:08:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="tE1URDig"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 35CA081D70; Sat, 2 May 2020 12:08:28 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20620.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::620]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A22CA81DAC for ; Sat, 2 May 2020 12:08:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y/zAgsF4CGX7IIoBpzVHDJRlCJMAGS4IitrvfPRTRhkSvDgat3GdQN+EJaqxQjD0U6SAXyQDWK/RRDnzi0LGlMYUk3U3j8zt0RFelJ/v1veSlqCkLK4Wj26zImf30Sqz78+nz3bE5IjCao9FPG54SfhoMyiqgpebxGLXp78XZwzL0u8y0SXqv2G9E+9VmX7hn1M2BpMiBq6BSjPM4QzEfKUkeXCsGs1ldByCtXKAvSloxKxXkn8atSWOdq8W3HK1FYibwWQKaPnQl52OMSpDF3R4E4PWE2uxTKyXLJuDUi+9jIbiNZ1iMKOWCM9lwXdLC5YI9rviV/7EnSwcqK1odg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FL9+0f8KEbdz5nI1XGZ7MAxIcQqWgMcVfyfqc0ADfW8=; b=OV4BOT87SjK3uxzf9c8rjPGLBR56fJY6kC9ui19CL2myZEpmUtdhl2mCD4F/ufEZMJvYNUwUKvZrn+sOlN0i3aniqvt6djs98m+G/sXH8h5ZR4GV+qx15k7CL2nIPXnvDBSAV9quoSbgj9MC6QqD6s7SHs+QMUkUCb/Zly8pjJq1VAtjBQDfELlBrZ4R62To+SklSkjArN5cN99/njzonVguwlS1ki0VzPTml3vyaHiUiNa4zxA09q10z0318unLS7VFrEwruQcVIa8JHlTLP82SEv6YVaYzBTj9XYwUJ9NL7GtcZKpWGDmC2qtXme634bCirkjsQ5FxgTTzSad7lA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FL9+0f8KEbdz5nI1XGZ7MAxIcQqWgMcVfyfqc0ADfW8=; b=tE1URDigbdfm4bzJ3E2tUjdgi85asQkxH4ITx2MCqFA6gSN+D+v+bkBqDdLeoPMJbMkw4JT2pVQJc9zx2eugRlG/lS9OFAS7tOTCYNvqy/+hwmn+Rm43fp+7lPUsTLD8XGD01ZcptiD6mqKz+QJGm5qU6RzXFSV7rQQxTeIo7Sk= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:23 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:23 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 12/22] sifive: dts: fu540: Enable gpio in U-Boot SPL Date: Sat, 2 May 2020 15:36:16 +0530 Message-Id: <20200502100628.24809-13-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:20 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 560e24d8-8984-47e7-3f66-08d7ee80bfa7 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:61; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZulT25u/R8+HomLz6mGK79pW5vYp6E20CFU0LRPujDlN7Q9N8OQgaTiqGO2LymQzuB2LQSNMLLsPhp5EJAbvETVU9id67PD3FF4N+cg+pUzIp5V+EibavCGfbQFb8IAtgtWXJf1myr+L1dYV7Kg/52Rwi7XTmxjr1Qa9uHhZnyiX+OWVnsZsrrpXMp0Scb0KnG4/ftRpQONh6wpWlcQiNUx1nUfO7TxB9B+XxbvGduNlIqQyrOCT9dmWr80Q5/BkC1jjXdbKEKPKB355p5c2sJ5r+JDPA/tFrszSA3HnclV5zF89ODmJqkcwb6+TQ1SC5wYFsuFbXDRtm3QeAYMimcpvqjSHbq3AaDC0GYC5hJ3lAFAIzMZkFNGysgzHt66Wi887oEaWfPbKFI6x4Ay5t7gfeO3z/GZNGOGrmkg8dNw3YH7pXYR5Z7VvxHRqyDdD X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(4744005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: nRZK+lwi6xJhcgjYgt8HpjSlFxX+SqBh/nDzAFwwnFM3JR6lraJ1DzkLuQqXhEM0+87upCGh4/4w9Vg72rA6Xdw237XnYSGof10HTqfhzYzz5F/SRbi4qHcwjM+d9E91TxOq4YB0K/44QgDMaRKDqSol2Hhu6kwQeH6JyIX7eSeE57vYWZo1b8OUYF+A9PK5l/Qv580E4nyUZuFxeSUda+RwP5rYVRNI2tpiDm7mDkKfqtvlpoebDj4Q9cUwtFWIQDOawP8Gl2DXSdg0BnBcGJ+Q52z6MfJn+bsp7T7txWFgC/swVAQx+x/Z6v8lGJ+CfnytXze52Yla2qURLgE4gD20jFvPzE/1PpHHnr9de6EsPW/Q+dOEgo671x3YUROzVOpphGMabbJrIxYnPyHbM84IwWL07zXGbtdM4oiOl8sxenfQGqsWKhHa5cpaLrOZrqNHLZKWEMbBfON5oh/hgS+DbcrdCe6sr2F6k828ZupQwECtZ57qwmeFli17SMTf7a/Jx5sWjrIELZ4y7wl7Yx0pLicMF6W/5W2QURYIQ6WMkI0Xg+aA/0TMeFsZbtY4fRS9NaqvQwAvKxQIkNTOfctPp7FrtZUUQqCK5hkPbAgEwUTCXbZ4K0hbxpH964XDuS/8caJCucqJiuCTO8CwuuaTO+s6i/463Siyw8YUtmu7xmNS75VTjyL+NVrwGHVP3a5NGOrp+2UQbTl11rAYyHx45nNe6IacI7Z8XvjGn5maMaGiHEhnEFHqoEU8cZum7hkUdbRUohCIULY8vlNsS8pw8MFVZsD0WoNMKuXmth0= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 560e24d8-8984-47e7-3f66-08d7ee80bfa7 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:23.7706 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Pyvaf1jSpvX0LhgezDBwILu5k3KrFrv1ITNG5fWBidZ/TcYU4JMqiPjI4zqo+vLfn+QUYbLKKtyVLhAMP0mZ2fAzWJ8P7kwxy2iK/TQnP5Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add gpio node for U-Boot SPL Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng --- arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi index 9787332bf1..d55ca43411 100644 --- a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi @@ -26,3 +26,7 @@ u-boot,dm-spl; }; }; + +&gpio { + u-boot,dm-spl; +}; From patchwork Sat May 2 10:06:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281570 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=nZKVVuR4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlHB4DZ3z9sRf for ; Sat, 2 May 2020 20:10:14 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D78B481D56; Sat, 2 May 2020 12:08:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="nZKVVuR4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9C49681D6D; Sat, 2 May 2020 12:08:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 56ACF81D56 for ; Sat, 2 May 2020 12:08:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mDzhf5+mE7R1wqp4dw6DRGoooZO+stgwfDUfeC/FiyweVGjmNOWb6mn+ry+eCHjSp9XJ9JyGOlL5KSuRsRKHku5V7tTZReKCRl0dnBdhXkIuLs3wnm8AJyKOtrakIXn+oMhWgezua3j6lUTxDKMzFB5SXEcGnSS0wFID/PiXyYJhrVHza/vmNQgEGyZbH7JwuEUOucVP7d21gGWjojQX7JdSq8Ss96uSvtjY6ZDBHbNfF6DjhN1kQIhXhHpNdqGnlfUvf6L4qf2ZgwRX7UN6LPEdFx5+FenELtaddvQtfj/FMvenn1/hWjLGIP1CvOfKLSho5A9CfMtyrz07YBaeAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a7lfmdhzfMCYLcBunZAmmR/2SGxRbF7b4ZUGG12FWwM=; b=S/VwHVhmu+9DZt610/8VDuleUzrIyf5SJAgD2ou6FKyskYsDCIC5aJT/KJwsZm+jr2kotGWIbqHjWbb8Eyqo5fYFz5geCMuzGIDTEGHK14aC6zWwpeUo/oaP/fDUn8dlFf/jvzJpmsTiajpoGMcYqBnv9KD+O3vHvvZJeQVW94KC3BGX4IQe9Pbz7vGUwOjpcoAhXqcMcXXvPuN0SLE0fx+9E5RdIt39MiiY6YDj8V6oV1LoHNQzSGAxDsE/nYlIjCqTTpCbUBOZ3yueIlsjT9lgf3r2PwXbeUyk5Ngckr0nQwbGQB8TPmFy3h8hmBk782PB/BONsBUVNS5CQBEVKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a7lfmdhzfMCYLcBunZAmmR/2SGxRbF7b4ZUGG12FWwM=; b=nZKVVuR4j+Tmc9eTcW69YsopxPDKQ5I86D4AeTbhlq6mTV5WL0gM/YMDWZQsp3XUra4JWrAFYmefdy3hS57oTf2Svc+kjxhfdsrbhkNmDE6M0IkOyNuwrtkos0jsGZMO5EyxJeZP3987McSkDQIFR+rj85UIYXapaFEEabL/6c4= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:29 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:29 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Lukas Auer , Simon Glass Subject: [PATCH v7 13/22] riscv: cpu: fu540: Add support for cpu fu540 Date: Sat, 2 May 2020 15:36:17 +0530 Message-Id: <20200502100628.24809-14-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:25 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 798edd10-bdf2-4422-1288-08d7ee80c304 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:632; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6n0A7g6OAyxkiVfHf0x078ww2wleZIhLSBcXqL45RkeEO9OZKFc7TOYRs1v63hFGS5JEFjgqQGfWiSwHCs1jOr6q14Fd0k8H1wIZAPCU5QapMP9vLpWVIWTCJpQ5Pu1Ezd6s7gJu+HBLb+Zzspb6hVBHwjn0gnNjn2NK50lAcgTY2tKoEhfTi2dv3QxXdZXK+PS9I/GlYjhdpmCfQTxKKuR1j+KTpSfehN8Bs/Sz7G1+3Qqtr/PgZqrYQo7byGs50NJ3guOco+SKHV0whzW0+qKNv//zRbzZvu5o9yHPsk3x77rDGI8sp8txKcX90AWmC0irtB2LndBzcCdB1ZuGaQDPQFYMs3MBxkL00BirB6GqPjjN0m3bTEPhByTY3/wsAvkkRnfywei0Dv6PdFX/JfHm/axgqkijHuz3DpF6SisWvQF/x3iTozKCrR6QGN5z X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: JOjaKihP9Vv2AiyZCsdXzNbN8xaQlrIggQjpCQmkl/0Ru9VGR81DLGVhH98C/QEOc7PTwAtQFXiYvxpgJY1fRhC1bLXel2lQPZQjDZFyzIeBNXHHC0H7RQBE2/ybI8bNjXDh/ztULlQ2I/TL2J+j/W5IHp6PL/duRZEZ44cQpz+IGeXFDOHeUCv45wtDfjMRJC4waGQxOUW9Dx9aOc90kkO8awUrkjchZ8BFe8LMbjwbnDZ5rRrgUC1sHOnmU8movtLnEwMq+dFF9ORAfQNpQLbzo8c3XDUxPQrxKMo9sGnxP2RHno8nc1SO36V4L84eakWI31jBwOl8daHN42OiOWivO+lLcRTgFWy+kubusfrFHEB9woQ3lBHvwkLOABR8JM0+XpOgTkrFmgR86jcIrYXR3PIYLGiFBWCk/BqU1rrUyLQjw8Jz84nOGl14nmn0y+mJqLJSWNGLQfOv2JEGRqeZboydCi8a7BLcDEtYjgyazcVfTvraOm9B91PUKtoWMHo2bt6nGIO31F+GPWYDKXTY1i51lMwwGrPYDxdpDATEwH+YgXLyGBBaayVbgklWCWCGH8HV6IuV0cVHOJM8nXkfNen3X9gGboeYDZWdkEdq9T+PmmPDH51qktBLTWKK0MN1V7C5FvZi+64hM4WcVRYUuOuXKeaehhib3jdntAvtyv0I0TmyX9WGa0w44hsthTVDRaxKcDNnqaO5eBhbiSWNWFIspJKW3fbWgUrx8qG3uZzszFl/RVS1PGi/swcwCHQLj+ZxWul5FsQUSBNwlhq3kK5quLEsq1PoHhjr+pk= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 798edd10-bdf2-4422-1288-08d7ee80c304 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:29.4781 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: o3/C9Gk1ndyf/cfDM1Fs6aP0nur4N/ERSZTwta7tgsckg5lsurlWESejDS0gCMQ9oJWQbyoSfCd3IrYpmEs8Pf6PVLqVDAHSEzvxNNqRn7c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add SiFive fu540 cpu to support RISC-V arch Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng --- arch/riscv/Kconfig | 1 + arch/riscv/cpu/fu540/Kconfig | 15 ++++++++++++++ arch/riscv/cpu/fu540/Makefile | 7 +++++++ arch/riscv/cpu/fu540/cpu.c | 22 ++++++++++++++++++++ arch/riscv/cpu/fu540/dram.c | 38 +++++++++++++++++++++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 arch/riscv/cpu/fu540/Kconfig create mode 100644 arch/riscv/cpu/fu540/Makefile create mode 100644 arch/riscv/cpu/fu540/cpu.c create mode 100644 arch/riscv/cpu/fu540/dram.c diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index fb5fe5afff..3044609971 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -57,6 +57,7 @@ source "board/sifive/fu540/Kconfig" # platform-specific options below source "arch/riscv/cpu/ax25/Kconfig" source "arch/riscv/cpu/generic/Kconfig" +source "arch/riscv/cpu/fu540/Kconfig" # architecture-specific options below diff --git a/arch/riscv/cpu/fu540/Kconfig b/arch/riscv/cpu/fu540/Kconfig new file mode 100644 index 0000000000..b2cb155d6d --- /dev/null +++ b/arch/riscv/cpu/fu540/Kconfig @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2018, Bin Meng + +config GENERIC_RISCV + bool + select ARCH_EARLY_INIT_R + imply CPU + imply CPU_RISCV + imply RISCV_TIMER + imply SIFIVE_CLINT if (RISCV_MMODE || SPL_RISCV_MMODE) + imply CMD_CPU + imply SPL_CPU_SUPPORT + imply SPL_OPENSBI + imply SPL_LOAD_FIT diff --git a/arch/riscv/cpu/fu540/Makefile b/arch/riscv/cpu/fu540/Makefile new file mode 100644 index 0000000000..44700d998c --- /dev/null +++ b/arch/riscv/cpu/fu540/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2020 SiFive, Inc +# Pragnesh Patel + +obj-y += dram.o +obj-y += cpu.o diff --git a/arch/riscv/cpu/fu540/cpu.c b/arch/riscv/cpu/fu540/cpu.c new file mode 100644 index 0000000000..13a69ef0cc --- /dev/null +++ b/arch/riscv/cpu/fu540/cpu.c @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018, Bin Meng + */ + +#include +#include + +/* + * cleanup_before_linux() is called just before we call linux + * it prepares the processor for linux + * + * we disable interrupt and caches. + */ +int cleanup_before_linux(void) +{ + disable_interrupts(); + + cache_flush(); + + return 0; +} diff --git a/arch/riscv/cpu/fu540/dram.c b/arch/riscv/cpu/fu540/dram.c new file mode 100644 index 0000000000..1dc77efeca --- /dev/null +++ b/arch/riscv/cpu/fu540/dram.c @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018, Bin Meng + */ + +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +ulong board_get_usable_ram_top(ulong total_size) +{ +#ifdef CONFIG_64BIT + /* + * Ensure that we run from first 4GB so that all + * addresses used by U-Boot are 32bit addresses. + * + * This in-turn ensures that 32bit DMA capable + * devices work fine because DMA mapping APIs will + * provide 32bit DMA addresses only. + */ + if (gd->ram_top > SZ_4G) + return SZ_4G; +#endif + return gd->ram_top; +} From patchwork Sat May 2 10:06:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281571 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=aglTwJ0O; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlHP5fQQz9sRf for ; Sat, 2 May 2020 20:10:25 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3FD5581DBC; Sat, 2 May 2020 12:08:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="aglTwJ0O"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0A9C181DBC; Sat, 2 May 2020 12:08:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20625.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::625]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 50E9E81DA0 for ; Sat, 2 May 2020 12:08:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gSDPZ2Ow9ATkaGP64yrFJHqLvRUcVNmLo222z7Q88cFEuxHWc50h9hWWJhQs5UF5Yco2giNdEfwO+ZGTBQd5jREHXJFOiIRn8PA+WVAZlwpXu8Xwn8H2yXh2wm/Tn5D9aasEX6YrgkLkQz0NrAIR4l57a+FWXorXk7dKAA6u4eooKlaHOEGmVfHJRgrW4T2uOnUOydT5W9oviBr59bKJdAhpO6v+tJ15l0hTUPOKI0FV0FlQW2rQPSwFCNoTUF7vSrB5jH3RKCMEU1MbRO5VCIexPCfb6W5fcaQWl0sNGE2topw2Z+/m3W9Yb78F0NkDkPCbJ8OcmktT5xkRlodZUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nfQfMVgaKNZqJM5EI6/5af+MrxwTGVwKJWnn01DED5E=; b=gsfcaVBf06mv11T5d/szR/VJ43VX3ovLUsf4Tif/hYrzKaAFhA1rYlle+jV5ZdTDDl/4KBSVUc0RcK25neOuIf6+clOSgQ3L/l7ZksUJNF7BgQtRn5TkuJ9iRseh9XpiEQ3Tw6BghQnIY1lYV9d9pSHn/ZoaObNljl4EoNkgwePvo2Lcg6pEoZbgVoJdNisp42hK3mg15zArPahUnmHmnH3Pwx+6Ug/rnvS852Sb0MqV0iMYPzYix8yCEHFuvuMQT8eMMKmJao0wHGwWYVkOqFeLi9f0fjNzlsYGZAKkoZsTsxOeAxyOV0K0h8E7qL8G+VHfMph8o2TDcpr1NyLe3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nfQfMVgaKNZqJM5EI6/5af+MrxwTGVwKJWnn01DED5E=; b=aglTwJ0OgzjJaVT/FnySq5Ai3hnWFVBz6mTAD/RhUqbGb9nYH7UzB56rRbeXyKR/Q2EQzuO0M+vD89UWf/xPTlMluXPXy3oFmrXEHQ04uS2W6N6NP1BSBHsnc26n7dEhzdsfKCdE66rQ0YVTJ7mm8kRbY9uK3WsEB6WtreYrTJg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:34 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:34 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 14/22] riscv: Add place-holder for driver compilation Date: Sat, 2 May 2020 15:36:18 +0530 Message-Id: <20200502100628.24809-15-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:30 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b16b599-a0a4-40d4-ab2c-08d7ee80c622 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1186; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oFITkc+geriNzY64QDiqFeErSRIESHo7h0gn4ZS26+tIpEhrVr2dIsx1EiNCBr0w5CGPmSFTihylLA8QbyUmnDUNQvJGj+u8LoUtjAhRREctUgBnPGRXPATkov8MhXbx9JEvKzF6j/+RYY2sllfXERV8n6CMoZJA8nu4heYCu9CRAOYDjENu0bZpR+Q8a691LR3mRuh71WQAbl4INWwn2BdQbh4vO9APQUyyuQaFOMGjqP9P0+JP7/yzy0mEFWk0dQP2EagiEU0iEMv1gnVfSqVKOHEsKFVC3er8xIhvS3BrBiG0QfbAajXbdltsd6uCHOZztyHPJ/lp3uIEK32FvBEvJRzLjp8SBGbHlDt3ytFHTP9hotHivpWV4mAi3HG/yhvtrptR4xJmMATJfGj4A5cn0Be+e7r8ssyNU63N3Leb+m4pkN+qA7yB4cfWNbbM X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: EqQGICS4dqh7Dx+2YkNHl7pvi7Z2DqaKdzqLgD0R5YvFVJkBi6WoKAiDzu+F6PjJJAy9I3ZBSEKM/zCbydLl5DRYrv1+9lgIVXE6MPxE+ANaTqgqcxtXJROXilUxObqwx1O+ydcZWVd9PVwdud3UYrISailWtrs6fbyKBM15XU72Loi1t5y8wNMP6Z4ek7f5A5x9ziTP3V/8kurNhMhGwM06rC+50rhWg/pIZLuMJAuTy1UrgpBcqH6JyTrdA3BbiBHSwlyUtI6U3X4Bf4kxWtzQYZIP0PGg3kqRg1J252T4HfotxBpKWnFnUZJEpEqEACy6iDzMHgC6LQ7yB2dijICdUqM8lHQVuhTggbDvvhbzyRvGmf6Q1PiiMe6/yj83o5gvuCu2dR9l7B2Am+LLhKnAiXOTYfcuKhSKjy/PJgmhO49/gmkY3qpktJO/GOynyiGSWIJz3YX1ZXuJmeZ/tp/JP/x0Y657chTLqhlSRx6NmiZhM2Uv6L4Jxv71m98PP+LpjRtKHM+Hdbb0fFMBVOcK5xJmjo+N0cZuNxu2m2wAqSHBAdsHob8nv+aYZt+M3rqp7PrWTLLAHd5z/nC2pF1wklQp962IIApbCEH1UHQgxWepuyWkz2q/c2LCzn6fkr4c4jN9YK04AHRpgxO6Nl5SP7i49AEwG5hUyHqBEev9G0j8glS9pwYxjk3zlnybeHLZiaulDZ02EXa5OFa/yOKG/Bu8q/ythLrtS0zbaW9Md2zFE8H+EdvW1n+vj5cbe+HlMan1MsGy09m6JDwdQcuW99+yKHsAjdW13Gqfp9s= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b16b599-a0a4-40d4-ab2c-08d7ee80c622 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:34.6538 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4gECPy0TkIRfKoiCCSHN3Ydvqi1139sL9Y5NuH4XvuTwmAqBFtyRCmpcVqosNQZL4tdHX5De3nMyufZvoh5XdObo8S3jdPgtVC9O3CgQQ6M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add place-holder for RISC-V fu540 CPU Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/include/asm/arch-fu540/clk.h | 14 +++++++++ arch/riscv/include/asm/arch-fu540/gpio.h | 38 ++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 arch/riscv/include/asm/arch-fu540/clk.h create mode 100644 arch/riscv/include/asm/arch-fu540/gpio.h diff --git a/arch/riscv/include/asm/arch-fu540/clk.h b/arch/riscv/include/asm/arch-fu540/clk.h new file mode 100644 index 0000000000..d71ed4357c --- /dev/null +++ b/arch/riscv/include/asm/arch-fu540/clk.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (c) 2020 SiFive Inc + * + * Authors: + * Pragnesh Patel + */ + +#ifndef __CLK_SIFIVE_H +#define __CLK_SIFIVE_H + +/* Note: This is a placeholder header for driver compilation. */ + +#endif diff --git a/arch/riscv/include/asm/arch-fu540/gpio.h b/arch/riscv/include/asm/arch-fu540/gpio.h new file mode 100644 index 0000000000..0d16c59ca6 --- /dev/null +++ b/arch/riscv/include/asm/arch-fu540/gpio.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2019 SiFive, Inc. + */ + +#ifndef _GPIO_SIFIVE_H +#define _GPIO_SIFIVE_H + +#define GPIO_INPUT_VAL 0x00 +#define GPIO_INPUT_EN 0x04 +#define GPIO_OUTPUT_EN 0x08 +#define GPIO_OUTPUT_VAL 0x0C +#define GPIO_RISE_IE 0x18 +#define GPIO_RISE_IP 0x1C +#define GPIO_FALL_IE 0x20 +#define GPIO_FALL_IP 0x24 +#define GPIO_HIGH_IE 0x28 +#define GPIO_HIGH_IP 0x2C +#define GPIO_LOW_IE 0x30 +#define GPIO_LOW_IP 0x34 +#define GPIO_OUTPUT_XOR 0x40 + +#define NR_GPIOS 16 + +enum gpio_state { + LOW, + HIGH +}; + +/* Details about a GPIO bank */ +struct sifive_gpio_platdata { + void *base; /* address of registers in physical memory */ +}; + +#define SIFIVE_GENERIC_GPIO_NR(port, index) \ + (((port) * NR_GPIOS) + ((index) & (NR_GPIOS - 1))) + +#endif /* _GPIO_SIFIVE_H */ From patchwork Sat May 2 10:06:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281572 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=neJB/OX5; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlHd2tnsz9sSd for ; Sat, 2 May 2020 20:10:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B406E81DCA; Sat, 2 May 2020 12:08:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="neJB/OX5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A4DE081DCA; Sat, 2 May 2020 12:08:43 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20605.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::605]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E3F8C81DA0 for ; Sat, 2 May 2020 12:08:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W+VkiYrpySGTGB06h/yV/35YzyrvntNzcRLONoZC7uRjpadVn61/UZkFvLsnX8+yFXUPWPj5ALPxAwZjFWx+axgotbZ/SDB56SHnxn7KirMz5orG/VFLLX33qE4ui0OM3w5HABesq6JBjuNDFA57GaYfRWKtk770r5N4KgvZlqNTDvF8VXSYQdkCz+7QnHnTfpZ7vBilTTGybz7uHJcoD38opYClukfmft43yiD/8hDo5mYWnk8BeC2uoqar6ECseGVkwQ23iwLeD877d+U27KJptIrD1pjdaUN/7vkTjBmj6eNUL4g3ovuVuqY+N0SmBOgDaB2Zs7MLMcUlvb9egA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rGXu5cI5jdtc52Wk4rQSzrvQ0HhJIyEdR6o6GLDJoLA=; b=K/x3+N2KrhDLgh3OCHYKQEOZgP4oZAHMZ1O2o27a1BxnEByGTAitqFB1VvMkjTaxN6GhfxKiZFMC9CbElCZx7Gh0P60Z5QXOR8um4tsm2ImC/cXVt4Al34ki0xaYiOVTPQhS/AvbrpE/EBNoPx8j3S/dsAsY0E875+9Ksaf0k13ZVXnCXFGYPYLeu1R7SsSCFoIqDqNgVH28AY6KPXSvHa2gjkQW+psCFH986o1fLZMyEuYB/pwQZVqt00w2ppS+XaIDXaHN1+DJDiXZY9ApP5oEGeYzdO+e9QEhBUOqEQrBF25dOQPJG/IZiiIBDjsug/w4unkDymuK1b7b7zPbDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rGXu5cI5jdtc52Wk4rQSzrvQ0HhJIyEdR6o6GLDJoLA=; b=neJB/OX5IlxPNcO0L4IYgJZx4Rtl/YgyrOjKXs7vQIhCPF3/C5pB50qRhS4IVMwlUkYh8p9fFExqwdtgtrStrj9G3f7LzWhn23WFq7F+HEKOEZT/Ow2jL0G5poHOqvQtODpFszjZ/iqA7G6OCIHIiMpuHW5FxmwpZybChr6GxRw= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:39 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:39 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 15/22] riscv: sifive: dts: fu540: Add clock for cpus node Date: Sat, 2 May 2020 15:36:19 +0530 Message-Id: <20200502100628.24809-16-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:35 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42eabc3b-9e49-4f85-d71d-08d7ee80c8d2 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:249; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2m2YzK1wbZWV6tC15GLZsTVPVostx9tFiqqIVM2BA7IETin96U052QR0R3fMcvJn6bozArf1yQ8a8Qn0AcmgkAD4HCh5ss4UkeHHAjKuS7dPFsCoQ7vL8Srq3r4H01UXrL8yCDkT3Cq8bH75BNCVJoYH591+fI6GHDq9er0fa8av5PJ69FQ0XnX+NAM3Pu/KDedzpfVKT6BDQzyYuCBYhLSA/dfGwWxrXG3Ugsa76Y/uMHU5BGSMhJq1MnWiQUUfzmrA4zhgm4NSHYQuqYEltQdJvTDCQW7LODtHy+WxL3mRjwGmWti39ho23ZevmaqSZlptUE9m8O/zHLhbzw1QiRvbQqOFqgt6aYTl/zL7nSVKJPCFyFGHuLT2jVkYB936kpKRykEYxND0Q0fmltgyTIihPulqby8tK7ZyXn20eSOVXnShYRgoy809AnbTOpYl X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(396003)(39840400004)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: H0ojnitxD3UOvcN/8PaPLR5p3lHJf0Pc5Ryi7kMZkaagfb2NjFa9ucDXlpVQId6AUbWA4bdm2oWfsZdoQ90Ub2Zwh4cXRHuioocC14OQiim27qFVf4nnqBp/GXViP3eujgu1erh2kXtSbf58A5L1xwgK0NrDvYza3qk7AKlT7hKAMJfSb2BDgANnksher/7iuhMnf+79vAaQf6u/Zde/P/+1/Q0MXhrwV6Kv7QPWdn8W1NNcpNnvD3bpG/jywk3Q2rjFmIkkWLjNCEUM8F6mdOb/0nmjuUNWoXashSiU5Ii8azn1VeDTEhR3JuqFY2TZXxpuMN5TcoxyEeoyyPHhsq7R0txwr/6D1z4GObNgCbZ1rFmPyqiw3gUvc0nqFC54HMUMuNXnOf6oPiG129VvwM3+xuyx3bCBNq7Md7SJUTMW99qLsqrJZSLfFNyNj6di/0+WMUvkSAocb6T4/MEd3s3qP/4ZCSOMXGfCzk3Q1ymMqH3Qy4gQuoKaca8LKpcgRjyLYOoizdNlsebiiKE0W4c4gpreZ6llvEy8/2zQuAtE03Vn/HD2VHEBM04iQOgDeEBTkjurjncR2zA0tv6m39HLDE8tlT24h1eDsyNTHTrKLoe+IUASJy6WXrtGUR5n2M1OB242P97QTHsfsmhmb9rNU5LpWv5oMRuViCFfbJQT09G5/+VtGtbrEnqG5AObdKebbJ8IoeiV4jojlQ3Q2eNgY9EQ7FgMn2InbAgvDiZdLaTYjr++dMGxu5J75QZSPqDvELaCmAk6tkC2nnbjizkHkrRAH1v8Qy5WKr3Iaeo= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42eabc3b-9e49-4f85-d71d-08d7ee80c8d2 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:39.2108 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ONrvVFbMDkflb16Z2nc3vMHbXx8eCO/B/2D+mCNjqr6g2U12uwbh0WTV5ZukIaQYKx//MPoAMvJEolgaBfn055DRKrrp8wkbMunB6VXO8ck= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add clock-frequency and clocks in cpus node, so that clock will be enabled by cpu driver. Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/dts/fu540-c000-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi index e93b8a9bcf..ab697ab93c 100644 --- a/arch/riscv/dts/fu540-c000-u-boot.dtsi +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi @@ -7,6 +7,8 @@ cpus { u-boot,dm-spl; cpu0: cpu@0 { + clocks = <&prci PRCI_CLK_COREPLL>; + clock-frequency = <1000000000>; u-boot,dm-spl; status = "okay"; cpu0_intc: interrupt-controller { @@ -14,24 +16,32 @@ }; }; cpu1: cpu@1 { + clocks = <&prci PRCI_CLK_COREPLL>; + clock-frequency = <1000000000>; u-boot,dm-spl; cpu1_intc: interrupt-controller { u-boot,dm-spl; }; }; cpu2: cpu@2 { + clocks = <&prci PRCI_CLK_COREPLL>; + clock-frequency = <1000000000>; u-boot,dm-spl; cpu2_intc: interrupt-controller { u-boot,dm-spl; }; }; cpu3: cpu@3 { + clocks = <&prci PRCI_CLK_COREPLL>; + clock-frequency = <1000000000>; u-boot,dm-spl; cpu3_intc: interrupt-controller { u-boot,dm-spl; }; }; cpu4: cpu@4 { + clocks = <&prci PRCI_CLK_COREPLL>; + clock-frequency = <1000000000>; u-boot,dm-spl; cpu4_intc: interrupt-controller { u-boot,dm-spl; From patchwork Sat May 2 10:06:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281573 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=e9+LH+cN; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlHr5hzSz9sRf for ; Sat, 2 May 2020 20:10:48 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C521A81DBE; Sat, 2 May 2020 12:08:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="e9+LH+cN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id ACA2E81DBF; Sat, 2 May 2020 12:08:48 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2062a.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::62a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 06DFA81DD0 for ; Sat, 2 May 2020 12:08:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ct1epgD4zuhkgjgZFw+/c4r7108jMdysppc3egkztk8WcEP/tMJ3BnVC/mwgcXz1dMvzJ2E7GKdytnpwzuOyMlgZ9wEZXob4hr6LThJsgiF1kRAPFsyeoCbB28xjpnZv7U7lkOQyhKi+oLEKK0fYWh4KNjFy2jGG+ov8AeQYon18tdRH/FpjfD7+sB/lkysng125UQqg2VB5eoc+k6qpPnc1/YZG/po36GJCjLzTghpKVAqPQiTc7bzeoQI15RlH+hwaInZV2Pa1Ytey9FoY+NNuoFQGrhviZiMgRj2QiwaOpcZFtHT0SQ60NZUcFpgWPp//FmrPLxBfZ56xzYmSGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOPp00avhJxz58WmRcw6daGQilnCUO7dh2v+moq78jk=; b=d3/GF9wBPqdEsX8G2+AR6DVR3UqUOS7hY91btILRTYd/YVNHX2Vg1V5Ds3CMb5/dKXyw/JyxStda5WcWMgiikiyq21BKxaVVIMFuVziFC5EMyTko8exJ4Fr9HZZBuQm49ag7YZYIuZQzesj2+QoG9unSeHIyAhQArAHUe6EYMRzDCEQleNar9yVq/6wTRRF4iLMVcBS/WV+eUkBzwsJYFXd8YDR/TjG7G45hUjA1LZA8NuVKvx0dnJMC1UHi3Qu8rwVve2JXXI1azw8sUoK3u7Cz0jFtIQUKPcDsBNpa6u1dPzWo7vT8K9S8XqdKabIk3CRLT9fqptvqGtY5r/133g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOPp00avhJxz58WmRcw6daGQilnCUO7dh2v+moq78jk=; b=e9+LH+cN1PlLhQknxYVUEutVtvOg5YGTBONkHOD2VUfJM7z+EG0ZWIPm1AlPMMLcFyRUQYr+1oLxsenpUgWgxAJXwof1Tq9xfLnMq5csPgId2erlO3v2NgHHmrMCi/XQxHIDjPiyhB/T8ePV3gEt39vyCl9tqEwc/2d/ERN1Uz8= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:44 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:44 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Lukas Auer , Sean Anderson Subject: [PATCH v7 16/22] riscv: Enable cpu clock if it is present Date: Sat, 2 May 2020 15:36:20 +0530 Message-Id: <20200502100628.24809-17-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:39 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 02334bed-5ecd-4f0b-7583-08d7ee80cbcb X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:439; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3SGIw0kggKw2gtI6C6rVQ7V28Q//hvhZ8oRwYvxD9Why3a9hL4VO9hLUAmwkQD9AxFM/5qWCuCJnsz1Q4GEeMZ6sv8snethQwOO6135USgLBxKWGh/ggUAGo2oTdvzNxU+JdgPpxwR+QlUBVB3/9g2CfNN14yGNOJ+f+NRwIuFT+3HldQMtyKMX1jC+ENhZAgq80WDjBJV4yJZ/1ibPuL6u4rniFhxl0+uaw+E2RPKA31RROwUhnUxoexK1X8DZ7c8gyzeM6lOa5Y8f01Q4QtCY6qFvKkWn8A0OZ40nnmjdIAI0c0CxuDME5XsDR3r3g77/C/y8HVwE3vSWL0Rq+eBpveRY/Xf40NBmYVDStjjPG5F1lK/+Hni2JdcN5mlXiiVqUV5vWgw7aNXkl616TnwRISB4JoVOx9+YM4JdJ1IcqN/eDUjwcy7V79A9dkTrw X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: zVjVpC645LBZN8iWxw5LPbh9HVqfXlbOCOGUqi5yNuwEv6PsOfJXihgC/sFHbEVnT247AzSbBLB8Ovm0KHZsqj3ngqMGxW7In2lTBmZM3ehHTYb5oXH6IjwqwUHWr3cBnWWQ/52ApgfQxNZ3pUtccSyZ51h5lXFBZHXtubBdegLwJ9HOSjdiXxAOyMVDp7ixnN9xT2P37y6zsw/xnBcFZLwIGj/cgmTKIaoPCrsHaE/V5ySvti7qNxT5qVFmaVKwLDIisHOkthTXryds/2zIW22b5S417+8uXTjvZ64wK9A6qg68YgUmlB2B3l14E0VCRiblzWqyfsD0z3cX+xQAmNTe5sZt/dHB2DY94OG99W8eSSk8Axd1ai6+zykF24VFZsWI7SyrMzz70HGKR5YVguWqqQshedFn1mfxUz0aglOJrz98Rq5OHYOB/iNJ1ATL6t1I0776hW7HgUej9G5m+1VgCYoTWx2jKRrdSIybu/VQ2q8WUQ2z18WTYcoHxHT+PN9IxewiHbP33a1+YplBWiHd8uqdNBETiOwbMz7AyyToqpRa4q+3kXBnHX3JVYBANfCO3Ec54QcNkJvCReqDGcqwol+ptZV5rKU/eO+Mz7ogb4Jo9sT/OH6QHR7y0stb8k4qg1ZHzvGO6kOG+24nQU9p4mS8CaycIxeGBdNnJzrJ3tvvRLDVsIirEiF9/gwDMjA2TZDcDwYNzSucrnIfSPufbktPxlJfVbhbpwnRFkNxteY46O7VlWDk39CdKapaajQ+sZr13j1pk8RiXQYVpLwUN/titHUxkNy6OEaIHTI= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02334bed-5ecd-4f0b-7583-08d7ee80cbcb X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:44.1196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MaGzBy5iKYXuDytF19qpNzeuJdZRIRJ9eQBD54hcRl+V3R4zgm4JEqKhzBdeKCMZNUjdSLy61QWboVFGDXTb5HdpGmKrIM+OdynZhh+Y6vw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean The cpu clock is probably already enabled if we are executing code (though we could be executing from a different core). This patch prevents the cpu clock or its parents from being disabled. Signed-off-by: Sean Anderson Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Signed-off-by: Sean Anderson Reviewed-by: Bin Meng Signed-off-by: Pragnesh Patel --- drivers/cpu/riscv_cpu.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/drivers/cpu/riscv_cpu.c b/drivers/cpu/riscv_cpu.c index 28ad0aa30f..8ebe0341fd 100644 --- a/drivers/cpu/riscv_cpu.c +++ b/drivers/cpu/riscv_cpu.c @@ -9,6 +9,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -100,6 +101,37 @@ static int riscv_cpu_bind(struct udevice *dev) return 0; } +static int riscv_cpu_probe(struct udevice *dev) +{ + int ret = 0; + u32 clock = 0; + struct clk clk; + + /* Get a clock if it exists */ + ret = clk_get_by_index(dev, 0, &clk); + if (ret) + return 0; + + ret = dev_read_u32(dev, "clock-frequency", &clock); + if (ret) { + debug("clock-frequency not found in dt %d\n", ret); + return ret; + } else { + ret = clk_set_rate(&clk, clock); + if (ret < 0) { + debug("Could not set CPU clock\n"); + return ret; + } + } + + ret = clk_enable(&clk); + clk_free(&clk); + if (ret == -ENOSYS || ret == -ENOTSUPP) + return 0; + else + return ret; +} + static const struct cpu_ops riscv_cpu_ops = { .get_desc = riscv_cpu_get_desc, .get_info = riscv_cpu_get_info, @@ -116,6 +148,7 @@ U_BOOT_DRIVER(riscv_cpu) = { .id = UCLASS_CPU, .of_match = riscv_cpu_ids, .bind = riscv_cpu_bind, + .probe = riscv_cpu_probe, .ops = &riscv_cpu_ops, .flags = DM_FLAG_PRE_RELOC, }; From patchwork Sat May 2 10:06:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281574 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=Ll2sSYAz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlJ31Gntz9sRf for ; Sat, 2 May 2020 20:10:59 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DBE1A81D8D; Sat, 2 May 2020 12:08:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="Ll2sSYAz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3908D81D8D; Sat, 2 May 2020 12:08:55 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2061a.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::61a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0D3C781DD0 for ; Sat, 2 May 2020 12:08:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZLzK9W/aEto7jEJZFgOLFBBcQaOw0mAKzHc/mPy51DJfTJYDRVBzKLJmPnM5DBwVW30ETqkqS9L4FMl3CenjDfHY3V4ooXqym8doi8pa1v5jjT/JEy6SRL3eLT3KWeZ2+IOBGdpE+gafcNP0vr5wktuViSbn9pEh7K6JcUcXK3b5J02PSYlkP9dKTt8pAuzLtOYjJDyDAFy+ktrkcuigpINNDqy/3ojNce2epQcphE1ra/8CpdT1u8zhIEK9DCyCzmR8kzBXueiLDt62m9QOCToHXik9t1WDa29Ba/lLvcofgHKRtenl73ju2mwBVLv/JNan4FCfUxEyh/Ib+8UNAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0a1xqjFDq7xM7wY1FAjMVNyecWR0GP4vlCu7Sod50B4=; b=Y7vhK21k1OMt2MT+aW8Twj1n8sk11ueeYgOton5DwyVfAGBosR7Di0bcanPAa4YxunH1tYV9KFXBMH+Rb4h9v+uk3JssP3AX7tu7XrEV4R5o3qKUd371FnLZn9Xw+OVhMEe1Ma4uIQbnzYSaReShjkl8/uqltZ9Qql9ml1SLefHu6Kyil3of56lQGZwkDQpy79ty7RhGSn5hwQtxsuOHY60c/HkG38qQhNoP7G+XSputSHnLA9SvVpibXPg3kQgmRgfLgpEhtL7flRo+mF9/jOSYxb0Vi8wQX4ceG8CFvy85MOYv9Vu8dfZVMmHbrENUO70/aQNJpTcthoWCr6deyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0a1xqjFDq7xM7wY1FAjMVNyecWR0GP4vlCu7Sod50B4=; b=Ll2sSYAzWtF8ToQNv8LZmY2gRBaXZzQ/QjcTarCNgGKnDLk06ug3wZ7kchoGtn1PtufMTjcmM7MQ9uyfSKu/Go3Ts8ajgb+QQvskSWFR4YFrLnk9iopHk2mazvTUqSCncvhS1ztFPxKgOe3wz+WAdenjJ/FFtE+PPAHDkbmJpik= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:50 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:50 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Palmer Dabbelt Subject: [PATCH v7 17/22] riscv: sifive: fu540: add SPL configuration Date: Sat, 2 May 2020 15:36:21 +0530 Message-Id: <20200502100628.24809-18-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:45 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b7e2b396-e442-4ef3-4387-08d7ee80cf3c X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:13; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bHaWwRaZ56833waguoXvT3j8t4hEf6wNSLhbBx9BCUpt9Y/YWL/YDVCzhUSffa4QoBevuTAtqocd8SfFTV+aXNPxD0Qdusa0BiOwHeoa9KA2baCrDH24VhF4bIomNqddFd39okci5Ud9POAau6k7D/exG7T6U5pBKKiYqkiX5OJ2XuDQKb7TJJY73uTm2/QAKEZvD5X0v2MTwEDXmHk4hEaZ7SLpjHKljvUmcFGhw0RpzHnSkWDxMKPyK0WQNC/X7V9+CfIjoyzR1bjwnth1u/AMrIFcoDoOLmFa3Az+Lp7Ttk7DbRZ+nuBuxoyXRH4hcR8zVCoZ59xTWKAZtDDtuysT83vIn5XPZUidwouJgM/bRLyYkf6+MASwC/+200+yISIQuagybq5kpC0GBHq62M7/ot59ZStxyi0VJLmHYpzf2+fmdVLQjAWZIyl2u+Ik6/pJhAvc4gsRHafyiROtQqgughAhpiiDg/gXgYVbCzxcnkyRfyKOdMLHKRphcy7AT8oUhx5nGIKME2QMOGGQcg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: mia1856t7JrEQK5jDMwgc6dnhQehmMLpmjn5IFS1VNesCMI3xnCVKT2Bh0oEjsIpoAxpfdO6/W4qHNjC6vDpPV88Ee2tY3d6Uroa4YYkIt582pSvOFJGuj9x0M1fU5RU0iY/UZnnwbaM/kzNWECpMsbuydh4kDtjy0mXmK67rs3GyUvqAtueKLJsjC1kNwenRSGyvWdTpcL0CxJmaHG8SFAMpL7ZBPiFK9XtU0pl+zRIVJBC0kbmp/ZDcwhydQidj3pHzB4xBRjdWqwTdkPIC9NVOgMIWpFLt8uwhDQqaOnwFlIpPibe/dvN75/m6i1/t2BJ4zbuA+7qtT04/geh3o2/VpMU5pQboLiHRfHs9yTv57aGeUlxSF2m8y9ZpkQb2B7f5G+4N0qyMH1D8UuYjvh9YxZ/h6nO6Lf/mQTUF7RQV8PUn5DMGMqO8Y7H6UIuU7AHMpyLz+FJvDLByXpxDqLWpBuZncrrZAFdKxo+NDxzImCYv/EWcO41MThVTCqbMZf8Uox+Qve9UQP+PtTnR5OV7vzU5cKnTFWGfcrbPfhqZDn1Iy8tZDbKj9tMmrOO5S2DSEDqSBWk2PQrHF7lk/0ppOZbbHM45W6J5YVnTDn4W1jiQ9GacTNoBhZvxjAo9A6khhl+dkfgrdhuvj42yg5pLlq3j4Rv4++yZISYox/Vqi0v/VYntx3JIDLig+L2PZW3JqFNTr4eTqKSd1FNESm2LH9/tBosMKCOhY2csE8OkKxp6RoK76Kk8I+C4QUiVOiCW65q43sOiR3d0Wzi0IXKhmgYUpOHn0Dn5zyey00= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7e2b396-e442-4ef3-4387-08d7ee80cf3c X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:50.1479 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7iIiZxCzsE85EZjfWiEFYBkP62Pe56tRYzqssT+EkHbAAoU69KtR05ciKxlrpqBYwlkLIABsqcjqnworit0x+uuNWSNDSBn1tr53QEEHXxE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add a support for SPL which will boot from L2 LIM (0x0800_0000) and then SPL will boot U-Boot FIT image (OpenSBI FW_DYNAMIC + u-boot.bin) from MMC boot devices. SPL related code is leveraged from FSBL (https://github.com/sifive/freedom-u540-c000-bootloader.git) Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/riscv/cpu/fu540/Makefile | 4 ++ arch/riscv/cpu/fu540/spl.c | 23 ++++++ .../dts/hifive-unleashed-a00-u-boot.dtsi | 1 + arch/riscv/include/asm/arch-fu540/spl.h | 14 ++++ board/sifive/fu540/Kconfig | 10 ++- board/sifive/fu540/Makefile | 4 ++ board/sifive/fu540/fu540.c | 24 +++++++ board/sifive/fu540/spl.c | 72 +++++++++++++++++++ include/configs/sifive-fu540.h | 18 +++++ 9 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 arch/riscv/cpu/fu540/spl.c create mode 100644 arch/riscv/include/asm/arch-fu540/spl.h create mode 100644 board/sifive/fu540/spl.c diff --git a/arch/riscv/cpu/fu540/Makefile b/arch/riscv/cpu/fu540/Makefile index 44700d998c..043fb961a5 100644 --- a/arch/riscv/cpu/fu540/Makefile +++ b/arch/riscv/cpu/fu540/Makefile @@ -3,5 +3,9 @@ # Copyright (C) 2020 SiFive, Inc # Pragnesh Patel +ifeq ($(CONFIG_SPL_BUILD),y) +obj-y += spl.o +else obj-y += dram.o obj-y += cpu.o +endif diff --git a/arch/riscv/cpu/fu540/spl.c b/arch/riscv/cpu/fu540/spl.c new file mode 100644 index 0000000000..2e05d8a6e2 --- /dev/null +++ b/arch/riscv/cpu/fu540/spl.c @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 SiFive, Inc + * Pragnesh Patel + */ + +#include +#include + +int soc_spl_init(void) +{ + int ret; + struct udevice *dev; + + /* DDR init */ + ret = uclass_get_device(UCLASS_RAM, 0, &dev); + if (ret) { + debug("DRAM init failed: %d\n", ret); + return ret; + } + + return 0; +} diff --git a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi index d55ca43411..37de015de6 100644 --- a/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi +++ b/arch/riscv/dts/hifive-unleashed-a00-u-boot.dtsi @@ -4,6 +4,7 @@ */ #include "fu540-c000-u-boot.dtsi" +#include "fu540-hifive-unleashed-a00-sdram-ddr4.dtsi" / { aliases { diff --git a/arch/riscv/include/asm/arch-fu540/spl.h b/arch/riscv/include/asm/arch-fu540/spl.h new file mode 100644 index 0000000000..0c188be747 --- /dev/null +++ b/arch/riscv/include/asm/arch-fu540/spl.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2020 SiFive, Inc. + * + * Authors: + * Pragnesh Patel + */ + +#ifndef _SPL_SIFIVE_H +#define _SPL_SIFIVE_H + +int soc_spl_init(void); + +#endif /* _SPL_SIFIVE_H */ diff --git a/board/sifive/fu540/Kconfig b/board/sifive/fu540/Kconfig index d41c305227..f547b11f9a 100644 --- a/board/sifive/fu540/Kconfig +++ b/board/sifive/fu540/Kconfig @@ -7,18 +7,26 @@ config SYS_VENDOR default "sifive" config SYS_CPU - default "generic" + default "fu540" config SYS_CONFIG_NAME default "sifive-fu540" config SYS_TEXT_BASE + default 0x80200000 if SPL default 0x80000000 if !RISCV_SMODE default 0x80200000 if RISCV_SMODE +config SPL_TEXT_BASE + default 0x08000000 + +config SPL_OPENSBI_LOAD_ADDR + default 0x80000000 + config BOARD_SPECIFIC_OPTIONS # dummy def_bool y select GENERIC_RISCV + select SUPPORT_SPL select RAM select SPL_RAM if SPL imply CMD_DHCP diff --git a/board/sifive/fu540/Makefile b/board/sifive/fu540/Makefile index 6e1862c475..b05e2f5807 100644 --- a/board/sifive/fu540/Makefile +++ b/board/sifive/fu540/Makefile @@ -3,3 +3,7 @@ # Copyright (c) 2019 Western Digital Corporation or its affiliates. obj-y += fu540.o + +ifdef CONFIG_SPL_BUILD +obj-y += spl.o +endif diff --git a/board/sifive/fu540/fu540.c b/board/sifive/fu540/fu540.c index 540638c919..d05529a86b 100644 --- a/board/sifive/fu540/fu540.c +++ b/board/sifive/fu540/fu540.c @@ -11,6 +11,7 @@ #include #include #include +#include /* * This define is a value used for error/unknown serial. @@ -114,3 +115,26 @@ int board_init(void) return 0; } + +#ifdef CONFIG_SPL +void board_boot_order(u32 *spl_boot_list) +{ + u8 i; + u32 boot_devices[] = { +#ifdef CONFIG_SPL_MMC_SUPPORT + BOOT_DEVICE_MMC1, +#endif + }; + + for (i = 0; i < ARRAY_SIZE(boot_devices); i++) + spl_boot_list[i] = boot_devices[i]; +} +#endif + +#ifdef CONFIG_SPL_LOAD_FIT +int board_fit_config_name_match(const char *name) +{ + /* boot using first FIT config */ + return 0; +} +#endif diff --git a/board/sifive/fu540/spl.c b/board/sifive/fu540/spl.c new file mode 100644 index 0000000000..b3ff6850e3 --- /dev/null +++ b/board/sifive/fu540/spl.c @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2019 SiFive, Inc + * + * Authors: + * Pragnesh Patel + */ + +#include +#include +#include +#include +#include +#include + +#define GEM_PHY_RESET SIFIVE_GENERIC_GPIO_NR(0, 12) + +int init_clk_and_ddr(void) +{ + int ret; + + ret = soc_spl_init(); + if (ret) { + debug("FU540 SPL init failed: %d\n", ret); + return ret; + } + + /* + * GEMGXL init VSC8541 PHY reset sequence; + * leave pull-down active for 2ms + */ + udelay(2000); + ret = gpio_request(GEM_PHY_RESET, "gem_phy_reset"); + if (ret) { + debug("gem_phy_reset gpio request failed: %d\n", ret); + return ret; + } + + /* Set GPIO 12 (PHY NRESET) */ + ret = gpio_direction_output(GEM_PHY_RESET, 1); + if (ret) { + debug("gem_phy_reset gpio direction set failed: %d\n", ret); + return ret; + } + + udelay(1); + + /* Reset PHY again to enter unmanaged mode */ + gpio_set_value(GEM_PHY_RESET, 0); + udelay(1); + gpio_set_value(GEM_PHY_RESET, 1); + mdelay(15); + + return 0; +} + +void board_init_f(ulong dummy) +{ + int ret; + + ret = spl_early_init(); + if (ret) + panic("spl_early_init() failed: %d\n", ret); + + arch_cpu_init_dm(); + + preloader_console_init(); + + ret = init_clk_and_ddr(); + if (ret) + panic("init_clk_and_ddr() failed: %d\n", ret); +} diff --git a/include/configs/sifive-fu540.h b/include/configs/sifive-fu540.h index 2756ed5a77..ef3ae9b650 100644 --- a/include/configs/sifive-fu540.h +++ b/include/configs/sifive-fu540.h @@ -11,6 +11,22 @@ #include +#ifdef CONFIG_SPL + +#define CONFIG_SPL_MAX_SIZE 0x00100000 +#define CONFIG_SPL_BSS_START_ADDR 0x85000000 +#define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 +#define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SPL_BSS_START_ADDR + \ + CONFIG_SPL_BSS_MAX_SIZE) +#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00100000 + +#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x84000000 + +#define CONFIG_SPL_STACK (0x08000000 + 0x001D0000 - \ + GENERATED_GBL_DATA_SIZE) + +#endif + #define CONFIG_SYS_SDRAM_BASE 0x80000000 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_2M) @@ -24,6 +40,7 @@ /* Environment options */ +#ifndef CONFIG_SPL_BUILD #define BOOT_TARGET_DEVICES(func) \ func(MMC, mmc, 0) \ func(DHCP, dhcp, na) @@ -43,5 +60,6 @@ #define CONFIG_PREBOOT \ "setenv fdt_addr ${fdtcontroladdr};" \ "fdt addr ${fdtcontroladdr};" +#endif #endif /* __CONFIG_H */ From patchwork Sat May 2 10:06:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281575 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=iltsFc1y; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlJG6ctcz9sRf for ; Sat, 2 May 2020 20:11:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1161981DAD; Sat, 2 May 2020 12:09:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="iltsFc1y"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6E39481DD6; Sat, 2 May 2020 12:08:59 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20630.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::630]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 81D7781DD2 for ; Sat, 2 May 2020 12:08:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oz3rc0g+gPVKRD0hQxdosuuQkCyXgegDfXWlJ25BVy7T052x8aB3DfrpOtIXX65NWRNxvKOgYCVp58+kVD5C/V/X9I1vtqhP8awuHyuQRQd0aZt5MalhsevdLORG6c6H9qXY18SBzaQ5P6guPKzphv1+sqTjeB+srOiQq7iKjJE4dUXDF2DhPNMn7tS0I4U8bdE5Afl2PImFscnDm0hTX6aOjK2qoQrHYn3bTXczlsR65hcEDSV8uwUUlupi7W9/oyrAceDYYG3RN+jn19BdSHAz7eBmr4kQcwZdcKCL3yRDccVswfPb2Ihh/9t/uMeNoYFTD5ToEO2dbXMIVX2raQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zqqpMQF74EXp5xFHnRNPSTWK0NmzkljjTpd+kFoCMeY=; b=XIBMVmLFYybVmF3TY+gfoUfElVwBIqRQS458JzLIyVOu+TZWUeg6uWt1ppVhflhCI6GqqRncqB0lm02xNKIPFLqA5DKZ3KTKmJYzVAp3z2qur6zbPY2b5XJZK2rcqUxx1gOQwYQQdFWOJg90C8k5sSCyiCUtwXjimD8tj141crduRHxFblekYslygDO0O0cp5ZnMivmlsF+7Ie2hvBHRFi/epL8AFpV2UMmf49kfIzBPb4whSUR5LQ3/sVOLtvlI08j75MFdFxtgwcvL16hpZiVp1QIsoWt5fHjMGFk7+85N9amCSaca0K1f+VhkHLYh75H1Gj645dplItetSoocLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zqqpMQF74EXp5xFHnRNPSTWK0NmzkljjTpd+kFoCMeY=; b=iltsFc1yhUBgHtQhAcxVphoGGP0rmfDmx8E1N+0gywxlKDuPx1vHgmzoRp0PQiuGCffuIANf4cfEfThJxYGohHqPg1BytnshXNWDYzHOkc98xwDnZnJLf2lwkPm4GHZGAwZ+e/lxVlgp1MqtV6nLiuM9Br87WCA/B5caqwLibl0= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:54 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:54 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Palmer Dabbelt Subject: [PATCH v7 18/22] configs: fu540: Add config options for U-Boot SPL Date: Sat, 2 May 2020 15:36:22 +0530 Message-Id: <20200502100628.24809-19-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:50 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: abbeb3e5-59ac-418e-c4b7-08d7ee80d215 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:335; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7h5vQ5Qpct41pVIEl07zvGkbdEdBM21YDQyF3UERjPNjCmTCQwsJKzGzfUSLQXILmfxNvwMMZ+ZGZzIHVYptfRmx26etuOjFOUnlERXUioopvKKn2/7Q+0h0xBDzNVDEw7xCM/iB1Q020uL+dhrG9q3segVrspP76fhLLqELwgw7AeX4RG5yAIP3n7b3d+xkHT5jpLLhX4XF72dFLYYL6xSM5uGFwGmxwv2mtQA03BrAzdvFCbZn1UNol8WRalJZiiGbKZzdhKQqrWf5RLOCQq+LEjfhxD52wU4qSzpJ5/TxcYlX2fHlOkOqac0GLOYUFxhN+tOaq3zQlRBftQ+OUcJpwtZ07qGEV/c1MpQoWMRy2uLUIIi+7ii5PTmKETW2x0x/YwIoaGKXCqpPv0MrLvbrH7o1IVSzGIXnxJep/8DBFsjElv7OkBQCoYr0zCBM X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: TySCyaX7C8JipPAAvl1d0y+Fr8BEUV9BkA+20X5+bfIOCNpvN4+rnuc2vXiYZ2DCd/pihZ/RkrEKpAU4FgHzRy6rXzi6kXnI4lxhHaIQwZcR4Jqe8dLaK+wI9ynry1801rc+1ghh8pOnBjj/ctMFOx2kdva+fhttdhky6W0wNS2rt2pXOy0FXj1f9cQmHb4nszBkKivGQ6oOYbSusXfgnz4oibK3JEbtNzE+vPFDt+RDAHrapqwz/wgK7GGkP+gtHRnMDL2kDQPVo+khKRcp4kllZQcNy0NyvwBLbyeSoOC8MKw/5SJGgLNtvSZOFyLnYhXsBICnpPBua78FnZggYLhRh4Ao8PC2ntDD4MrhOtTiaTSZHdvmHMax/fkQKjSYsXD25HuBDEodcT9d0U4rMOQvKMzpc323OHHEG/5VuYX/jMd9DrDWXjO1g6Ux21Gx/DeXis09PqdPBn/ZP0DHvVByxjZmXaeNE83zq926ArLxFhr6ceE7mbWact+OVYlo71sJGnCOfY6IpbaLlFQBisodg+4A+qAH91swmim+6GPNszpFc42+l7gDyX62eSIxc4PK8CVeJG39zZetni73Koae05pFiKTAeWy3iI03SI9eT4PoIhBL93ZU+XJle5st5fmhUn53QYkz9ODc+KO3w0ZacNioSG1tYUl78DvGf6vObm6mXArANfvsvrRyNuxEJgLPFZ/XFUHg9QsS3gRBzmuCyptI3k636ih61G7bLnznz8lqYWgynh30gyKJ4pUmdUvFw2EX12rBUKV3zlBbmnXd2trj5L3pPTZMtnr9ImY= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: abbeb3e5-59ac-418e-c4b7-08d7ee80d215 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:54.6350 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DTz2vB5JpSPhric2Zs7rbh3YhSlctuNqvqUr5QYHpjF9ZQsd4jKmD0mtZyNiAUahllRbaSidstP6VBZ+DaMPOh4Nki+WYsqFY8bjcDktj68= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean With sifive_fu540_defconfig: User can use FSBL or u-boot-spl.bin anyone at a time. For FSBL, fsbl->fw_payload.bin (opensbi + U-Boot) For u-boot-spl.bin, u-boot-spl.bin->FIT image (opensbi + U-Boot + dtb) U-Boot SPL will be loaded by ZSBL from SD card (replace fsbl.bin with u-boot-spl.bin) and runs in L2 LIM in machine mode and then load FIT image u-boot.itb from SD card into RAM. U-Boot SPL expects u-boot.itb FIT image at the starting of SD card sector number (0x822) of GUID type "2E54B353-1271-4842-806F-E436D6AF6985" Signed-off-by: Pragnesh Patel --- configs/sifive_fu540_defconfig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/configs/sifive_fu540_defconfig b/configs/sifive_fu540_defconfig index f805aacc7a..30fac8996b 100644 --- a/configs/sifive_fu540_defconfig +++ b/configs/sifive_fu540_defconfig @@ -1,6 +1,12 @@ CONFIG_RISCV=y +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x3000 CONFIG_ENV_SIZE=0x20000 +CONFIG_SPL_MMC_SUPPORT=y CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL=y +CONFIG_SPL_SPI_SUPPORT=y +CONFIG_SPL_PAYLOAD="u-boot.itb" CONFIG_TARGET_SIFIVE_FU540=y CONFIG_ARCH_RV64I=y CONFIG_RISCV_SMODE=y @@ -9,7 +15,10 @@ CONFIG_FIT=y CONFIG_MISC_INIT_R=y CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y +CONFIG_SPL_SEPARATE_BSS=y +CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_OF_BOARD_FIXUP=y CONFIG_DEFAULT_DEVICE_TREE="hifive-unleashed-a00" CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SPL_CLK=y CONFIG_DM_MTD=y From patchwork Sat May 2 10:06:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281576 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=fhSJgP8O; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlJT0LC3z9sRf for ; Sat, 2 May 2020 20:11:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8D6CC81DD0; Sat, 2 May 2020 12:09:09 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="fhSJgP8O"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9D98481DD2; Sat, 2 May 2020 12:09:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20607.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::607]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B582F81DD6 for ; Sat, 2 May 2020 12:09:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n9+WkYUqxW/WT2EcSh3P0Kqal77LyAr3gs0v/HSIp+NJ7Woo7iTLnQvGWTQn6zNke8PZ7kVcSOHcSKMlS/TweLtOIasBNWGgXoSUOlNil4utKIaluWisUjUB4liNNSAA7BUhRPNa8ND0F8lglwhwDxHkWdcdAlR1Xtni9AQ+12RmhMqCRP2yWbgMZ85Ce+tpVUKGetuJXHGcZHTs0rawTUl1CjTIsnkMMwJMV+ny1n/ECwgUKHxmH05OZ3FMIU27yJZXDtuHlwSqm0ryzUBJqzDI9qg7ht+CQ6/da+bKpfQjPyk8wJvuRj2sDEomQ9vR92xLUGkteW+B/fGNelbwJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f7aVJrHuf53YWO3PIFy1UTE55LWH75VSYDwsH0O2oK8=; b=geHMmPleuglAhp/H9UcNh7iv2V7vPopGQ5n7GAwEM1tgsp5pO60UtxzLlWTGhqfRN0FnZ9i0j6h/XnrkDenFleJOj+QAbefanRmWrNLKQTGmkgb0KxVcDC1hMLQTLkkQqOw5XhmmTUcnpB382CphMTz3z/pR++UTH7oHHlfhuVSCr+3SO/DS30IyI1epuYhKonDOQJ4CKCKXxpykKM9xZf48UfXl7hqb+h7/UT9N7lIaaPmsz2T4jXD8EZ2oe/Nzx8I9GC1Ax9zBX3q9ECqy6WjAsvZUjlGuENPShJwdYDAhnIB0KeOMNqz6FeVjO9zb/1m6su2fophpxHdjOF+rpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f7aVJrHuf53YWO3PIFy1UTE55LWH75VSYDwsH0O2oK8=; b=fhSJgP8O43WtsOOlOhbaTGPojw4/PSaR2/6iBOddSpmyzCmT9sMHOHPYHcCvBYXNioq75gMfg9s85x+2g/IlOnB5+5LClHHUVCp1V6fXYseg5HN4jSVZKkFkOH2fSGC19QK6aW/0rRam/2HNfQd2HglTkek6QZAsmDuMA0wu/lU= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:08:59 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:08:59 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel Subject: [PATCH v7 19/22] sifive: dts: fu540: Enable L2 Cache in U-Boot Date: Sat, 2 May 2020 15:36:23 +0530 Message-Id: <20200502100628.24809-20-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:08:55 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f0fd120b-9827-43bf-d2ba-08d7ee80d4b8 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:38; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: b9T/gqySJUdcvKrVOxVJiSKFCRvdPFyfm4x2wAI11AWPSLaCLXMHelMfUyF6eBXmiOyYV4pD4h92/WRfSx3wCPnHJfJy/3+aBSJNbVk/QGKsIBPNcNesZ8CW3LvGE4CRsr14aOk3JhUlanRjVvajyCqfVuqztScCNLyCgtT0MGxJ83s4iDv+W0jRbU+f9REZYXWQtJ+fWzoYrDQ7ua3xZww7NIfBtCOLVuTKzp49fhILYRLMQWm5E3oAOKguUTdKmDpcjRmIpRFI7qn3ql/DZ5Lk5moO81EaUFFAwM3yUIkyi4xVpe9OeM0SFHJhFEhWIMShr+1MmqjUGYl3ssRXUXLSPaBfozn3UUGAeE5SX0N+vhSLEXnra3JvKgrEzzcnRyOgHjZ77LX0ePY3MmXzlbt3pFnl2UnvnkkxNAYNlghHXbFwrLVBx1327JGumXny X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(4744005)(107886003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: BgoqinjcLCLk27RItdkJQRqCfLpVjmx5geX5gV1wn2QpI7uWg4hik2Kni7T3rqGTdldlNxhddgaEnuBYog3PG4d9v6kHRDlMvZuopWlmeL53VljzmTz7MRcgTJScFl7t6JfVwCyCPmhBY63x03bx7x2ZL4aCFVmcDc/ur7XZ/hV/hsJx4BU9oMUjGbtO7qclGhugG8vvErl3RYU1OUYeg+GH0sh7pnr1tyVJH8DspTbQbYPcwKdKojkSw7QZEvRlzp3V/ajJb9/0Vi3X937sptkTB8i1uIoZZBask96lBNaPvtGmwlEUKbT0QUvr5kKgXg6QeTrMRFzlidWGBRdLks4LaJW32siApb/xidsKoPNf+xuYHyw3pcktiZJmMTmyj5PwgAcBnOR2xuTkE9NAbI6gAvPafYGPWaXZX1btZg7HERWgouJFYNGQR7lp9dwQkC2ZMNcyroI8hKF1hQnS6YE/POmRRwDdtXx4vKc1xwrGaEXAfu5CIZpn5OX0tn2ERi6K/rjkOU+lENzTRNfKZC+hmSKjlsSs2RjKd8NCBLhRgRkkteTAuUEknZxJKp5SJ0KR5iIi120iUaQ4a0+16Rt7/FUjFh+yiztDcG03T5ELxXBUOpmqLV8OwIU0FJx6i1WYCJTVSQJJo8xcDF90rz3lKvHfo+G8lp++vm46lLmTuw5pF/81KeRwD4qOrmRYTuqiDF5Wb7gdUDur6uegIkQe4N9qjLb9F5dJrqGrNFq5Umcwb+lm8swmvDCDawWJaEQ3472QsjgBMRgoq8t2LKTf1KG04JMb8EGEcS2gaEA= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0fd120b-9827-43bf-d2ba-08d7ee80d4b8 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:08:59.1010 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dCyOGJHlbUZdxp1on9K7IZobeTCIrdcV7uk+lf+c7ndi5m+Ojtp+CV4czHZytAfF/50N3zyQnej1sLKloCUBQNCqM4IN9dv0JjxazvpX3vU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add L2 cache node to enable cache ways from U-Boot Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng --- arch/riscv/dts/fu540-c000-u-boot.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/dts/fu540-c000-u-boot.dtsi b/arch/riscv/dts/fu540-c000-u-boot.dtsi index ab697ab93c..3c3b810998 100644 --- a/arch/riscv/dts/fu540-c000-u-boot.dtsi +++ b/arch/riscv/dts/fu540-c000-u-boot.dtsi @@ -85,3 +85,7 @@ &qspi2 { u-boot,dm-spl; }; + +&l2cache { + status = "okay"; +}; From patchwork Sat May 2 10:06:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281577 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=mqPBcXkz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlJh0RWRz9sRf for ; Sat, 2 May 2020 20:11:31 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A562281DD4; Sat, 2 May 2020 12:09:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="mqPBcXkz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E0EDD81DD4; Sat, 2 May 2020 12:09:09 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7658E81D31 for ; Sat, 2 May 2020 12:09:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fxFH82vDw7PfOqeBskGHpSKjICn33BzGZUw4/XSevW2VJG3CzS45seyshoVNAr7tVibWSHb9Byzega1VmLNSrwULHwMATg5pe4v/tKcJGEbhjT2F81m+3KBZP5vBQMF/WKTCka1V1edJ2w1vTES9D7cIYai0cC2WsUj+JKhjSGHlPoNRW+GefM0x+6iDBegRQwKqb7xJj+dZw4zOgInpKjY+sDQkqz7C4uJOUUuKAAA+Rupskq+HZ5wdn2J/G8qYLCCGbzPtorA+HrFrtil26GFB3yQOHmUXjA0ycPIqMNaQAI27TNAd1POBA0GVy/wRLOgsZnJiuRJoi99yS5poAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8FjFd5i+rSEEuKU/QdW41/vvf+yvoHkFUHSDO4Jjp3o=; b=MwMBUSRYFoIk5EAGTz9ew5+v1PZFJBx+lsej51lA2CRTPNkmtk3M1saDDeO/fuFQZVTKcnZRUF5Yaf+ispJ+NExwb5FW1CaD9yjg2fNPp9PQz8I6Rd4MOV3g1/fLfMS/+k5rlZOkba5BdpHBPky9zQfrUPyPLNHJfdSzwP5jEfUvOAqQ3YLy/i8UTsldzPkCqJ4/2MJF9vm6LZUzPhKKaMaf4oC5Jt5eqiu0N+RS4708ACLgRoj/omSwo7Dvfatrpg7ZqnUTPQ6Nl0qc0ZkoVNCwIFurncN3fRvm5ZvOXrSHyE9eqJakQJ2aQ9BZ2lmOkEebAK2Gkuo//iEMfoKnhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8FjFd5i+rSEEuKU/QdW41/vvf+yvoHkFUHSDO4Jjp3o=; b=mqPBcXkzTe/wVcvM6Q4QlN3JAC4mlTPRsOUhlvJOug+kJdUUW7CSWtnRug/yiQ2mpgZgCQZh+3N5qKlQ/f3g+m3BKC++C6q7DKRuELvZbdacEcAz7OiZ1gPiIUKIrbgUdED+T2imteo8AXBvEdKjoIlHOrpZyDe85pjmM6CPAJU= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:09:04 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:09:04 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Palmer Dabbelt Subject: [PATCH v7 20/22] riscv: sifive: fu540: enable all cache ways from U-Boot proper Date: Sat, 2 May 2020 15:36:24 +0530 Message-Id: <20200502100628.24809-21-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:09:00 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a8b2afe5-83cd-4089-eb70-08d7ee80d810 X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:480; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hwCb6ScKaIZgFjNP+g4yUrAQKRaM3Ut1/DOGYPJEVavJhNbI8OjIvUNlB+/xLbf2Pb0hm7ekqhRGqEIp3ynZalLxgTbaUtJa5XZTmN/LNOKhgGc/1NMxz6kP1My56WdKekHYkBevy2UvR/+DY/VfUdv/mWAHal3b7TxYNL9ht0cnz4Ce/X5kP06luUOC0wsIbL12rAx+K2yUjgvDO1xZtVfBNDZALUwSX2ZT4LKDV8p5BlbWlX9/XjvZFAY/G3jSvrC692Ke/uXwgWL8NZncN7M7faDyC0IcB5HEJart7MLajPdKJZ3aGeQhng8cRTF79eX4Hm+DLCbzT6LvFGQRMhYqylE3+7OFabGeT4TPd538jMBMuHPXdbIMcRAyXgLv6wH0tkLI9ajhJsGhaTSmUfdfW2A+pNgoiDYXSA8kYszb5/TWjWj4BrJJ10V1eGgF X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: O0m2/Iio3/gxNFMgidhiDGLrDi4DUsIbtWCjxvohq/pnqmF9rawcPVToLl1WhOL1ngxafGSy/5Qy2+OTW65C/foXI2zUWXD4csO174Bhi6t5SGRbpeII65Obxo1adlHbnJXaDVFj3x00pZNJXqzf7TtwGjPcAt/TtMI+DO0et820X8lJJriqMgDkntYZyvpcE72/fo4aETJr7Nq2T+1wB9dvleXgKPXsurvqeao8OvLHfmCpj9IVEx2fdwsW6ooX+z7WEwrR5zcG0pCgS03N35P6zAqgkTl8nX6s6OvgScDumbm+6A4gjaxsdHI6mOw+3MxILAEjUa0xhm2H7CSQbjXkUtOIFi/hAr+Z9XmMNxoXc7iNEVyyXssM+VykVsAqR/LTNcdLkToYxEucTY7VeCPqsx7mWv8CJKVG1GcYJWEjgX7Cik531x+POzk5T190rcL8a2A03kdLYtG9v/LPyWk7TYdt7ZZ3PEP1/QmX8UrADz/q6hEzRziHhv0i0qF4KgXf/RY9Un/LrfanXENp4mbdjrqwGlmo+6t1c0i6E3DbpjXlIEDPivWsPzA1JwUajLshAmFbMLqDwSRjgIxBJU4gxeNzLmQohE1LHI1PF4RP04KsMIdxner/rydxuKIEW69ZhycVRNVBkCEs4IF481XKLVXlYbW7kyUenBKrePIUuN/d5GFvYK7uBiag1sACVtJiaMGb9FwsZKNrMje83fjErPqF1Eo1bD0j2mxCwfb6Jfs60eZJLXUIj/6IxbTxka8Lx8pWZNfpCywcSr5T1ZbF3e2MUuwh7fOFVhqgdF0= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8b2afe5-83cd-4089-eb70-08d7ee80d810 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:09:04.7465 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MtfYcrcS9Cs4XpVyZiLQ4aOPCWXMZ5V3NIfps3ZOLytoYky4hlbdubWKq8jOwaNT85SfyYqq8FedOqtO4b0v2UGREQ1rZmr8ssmn5Q+6Wgc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Enable all cache ways from U-Boot proper. Signed-off-by: Pragnesh Patel Reviewed-by: Bin Meng --- arch/riscv/cpu/fu540/Makefile | 1 + arch/riscv/cpu/fu540/cache.c | 53 +++++++++++++++++++++++ arch/riscv/include/asm/arch-fu540/cache.h | 14 ++++++ board/sifive/fu540/fu540.c | 10 ++++- 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 arch/riscv/cpu/fu540/cache.c create mode 100644 arch/riscv/include/asm/arch-fu540/cache.h diff --git a/arch/riscv/cpu/fu540/Makefile b/arch/riscv/cpu/fu540/Makefile index 043fb961a5..088205ef57 100644 --- a/arch/riscv/cpu/fu540/Makefile +++ b/arch/riscv/cpu/fu540/Makefile @@ -8,4 +8,5 @@ obj-y += spl.o else obj-y += dram.o obj-y += cpu.o +obj-y += cache.o endif diff --git a/arch/riscv/cpu/fu540/cache.c b/arch/riscv/cpu/fu540/cache.c new file mode 100644 index 0000000000..d2dae7f17a --- /dev/null +++ b/arch/riscv/cpu/fu540/cache.c @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 SiFive, Inc + * + * Authors: + * Pragnesh Patel + */ + +#include +#include +#include + +/* Register offsets */ +#define CACHE_CONFIG 0x000 +#define CACHE_ENABLE 0x008 + +#define MASK_NUM_WAYS GENMASK(15, 8) +#define NUM_WAYS_SHIFT 8 + +DECLARE_GLOBAL_DATA_PTR; + +int cache_enable_ways(void) +{ + const void *blob = gd->fdt_blob; + int node = (-FDT_ERR_NOTFOUND); + fdt_addr_t base; + u32 config; + u32 ways; + + volatile u32 *enable; + + node = fdt_node_offset_by_compatible(blob, -1, + "sifive,fu540-c000-ccache"); + + if (node < 0) + return node; + + base = fdtdec_get_addr(blob, node, "reg"); + if (base == FDT_ADDR_T_NONE) + return FDT_ADDR_T_NONE; + + config = readl((volatile u32 *)base + CACHE_CONFIG); + ways = (config & MASK_NUM_WAYS) >> NUM_WAYS_SHIFT; + + enable = (volatile u32 *)(base + CACHE_ENABLE); + + /* memory barrier */ + mb(); + (*enable) = ways - 1; + /* memory barrier */ + mb(); + return 0; +} diff --git a/arch/riscv/include/asm/arch-fu540/cache.h b/arch/riscv/include/asm/arch-fu540/cache.h new file mode 100644 index 0000000000..135a17c679 --- /dev/null +++ b/arch/riscv/include/asm/arch-fu540/cache.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2020 SiFive, Inc. + * + * Authors: + * Pragnesh Patel + */ + +#ifndef _CACHE_SIFIVE_H +#define _CACHE_SIFIVE_H + +int cache_enable_ways(void); + +#endif /* _CACHE_SIFIVE_H */ diff --git a/board/sifive/fu540/fu540.c b/board/sifive/fu540/fu540.c index d05529a86b..131fee8898 100644 --- a/board/sifive/fu540/fu540.c +++ b/board/sifive/fu540/fu540.c @@ -12,6 +12,7 @@ #include #include #include +#include /* * This define is a value used for error/unknown serial. @@ -111,8 +112,13 @@ int misc_init_r(void) int board_init(void) { - /* For now nothing to do here. */ - + int ret; + /* enable all cache ways */ + ret = cache_enable_ways(); + if (ret) { + debug("%s: could not enable cache ways\n", __func__); + return ret; + } return 0; } From patchwork Sat May 2 10:06:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281578 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=gWBci7Ee; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlJv05BGz9sRf for ; Sat, 2 May 2020 20:11:42 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 34AB081DD2; Sat, 2 May 2020 12:09:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="gWBci7Ee"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5543F81DE0; Sat, 2 May 2020 12:09:14 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2061a.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::61a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8C00681D8E for ; Sat, 2 May 2020 12:09:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bUfWdp0bK2d/AdOXvVMQ5W36TR6AuksERqqx6eddIbXyB+JbNX+qfU+SuyOPKlJMKuMpUwqXx0Pnyr21Q2aOT6iuUCPx8WtwbsgsMe7CgNqEZTgfyDYSkrfNdiypB/8irPo3i+3tFxz7fLhiYxfNBrjYH8OW2wYIftGsd/B5Cr5mtBbcNnNhHj/N8S9xzHFeCzqI5Vruu086+5nJQdS17k9ARSl8+7S9PVxaDt2SDnKHQmFwFzMHcwJ1H/3H6xez+tl1MyUOtbnhbs8o2V8B3AyinyB5iVlOX3f3LXQHtnokP1tPqEL+OTIsaMDf1Mw4jYT9DfmMfh6UFYR+BaCAwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kCBFzd/9eVnDY1cSo7EBzPQqPNERyw/97rckgvhmxAA=; b=jw4poum0kfYeSOe1atoEwHWdwcPVZa/hVJesAT3XTMEOmzWdA0+Y1dzwkOuQAJq1kkr/QVg/q7ImZEcXVdBvJSW+/cB2psz4Zp2dBHvNQc7cAM03ReZ84IoCImcP4yZ1qu2rmWPD5JaEoObR7ep5t5zyBZLBMAcOncNNb/vEfpHooEYiOBUhVd0JGsvaFAEdKi92HrAW/wZRKCXu9sQG5Tm0WcV94dxY+NP1bJgsvkDkk+FPBuq5AcFymruipwAD4o0Coe4e1c8JgR/gOR4PRNrpmFQDfJVQIydqxqHUbMnm2aYW6QSsfJyVWR0eOK3hBv+whD83Km+7ldNMDCM/Vg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kCBFzd/9eVnDY1cSo7EBzPQqPNERyw/97rckgvhmxAA=; b=gWBci7EeWB/rZ9/FT9zCKebXQzqtrPpmeytkk01qLmB6N/GikanyjnsrGcIibkKox3zlbO0m8YFiOsR3E5zN9+LAtJJzb1QVEQ15XgMtZrtVlXKnZ2JCx0kNZS42+xod8b+RqMEoFQihAXeEr9SX471cfZBeNZ6YdODYZHSwMhw= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:09:09 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:09:09 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Anup Patel Subject: [PATCH v7 21/22] doc: sifive: fu540: Add description for OpenSBI generic platform Date: Sat, 2 May 2020 15:36:25 +0530 Message-Id: <20200502100628.24809-22-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:09:05 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 130a7b01-1333-4411-84c0-08d7ee80db1d X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:261; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vreAPp7iIILgxUAY/sFklZhdqTUMZgwekKQa8GrYU5yf1OUjDD546AtH1r5wqd2yjmOOlaMV52ih9ScvMaj/KgXI8q9wsrXdxtOt6WR+2ZOCTdm5y3e8lPzHbQNEdq8MVOPNbKB8nvHsRQe0EJG9hKlcUwJC1FsFQ+glZ6b6HkF7zakkoxnayUUgLe2yW/NIlusK9cKQ0cLZMYx6Mm3H9Exibhigaq+viOkYKAvltSuRZCUNAe4lc9QBlg1pQFCp3BK3RL3Sk//V5Cka6zoZtdB6xG2GLkIukotLiKYUxul5MW+TvnyPAl/SXvQ6MD9suv2K/XIvGGNwOUCOSDwlGeWHZ7TnIuvxZkjNSRZaMWi2TTwXayFa/DUU14gW34hPOfQZg7yeZCNKtnYMVuUM//OjSgnoCwXORwMC2ZqdbbaT70fVVKP9TXIvcfoDxauHi4CLBQZ/Qzz5BfN5H/ZM7OVKioiZj1gaC33p1ICZN9fAyRei8IxDmXGrdPXkakdG X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: U0bdPGIrUAW4sfBNuTJRusydhYQy9qE4EjLmiGK9bjZ+MycPtLabrWafwV1KwME2hyQqc/Fa0xgiBtkOoPDdnyAHulBWvepYd2K+7A785urHHVoqToGpzHEq+Ptxk/cy0coUTlUhE+GwVzT+eHGOZsOeu/zjQ+PiuY/pNN4noWyAmcvyqyMecufRvz0ZtfuHo6WsAfo4IhNRrILx6YkZXkQkIgcay+GrKhF9+huIKKcVCfPnyi4ZOkBNAAKo0Ez0IpxAZlnLWzLgRiVJpzHWYKgstpsXv8vVFG/VYy/IiGZjRkXgJswDsbFDePgU1lOZtzIAEdqmOL3uiwQ2U2UEmOBW4IMhJjaCyg6G7i3dkwNQ1jqZktMTDZ+1MHwZG2KDHr/Oh2OaFNv0xnLvnukNso0WNs5zosCg+rVZDWDAdUnqnRHJv0HE9fx25Y+CoZSpZmBAvWB/PT9Z42jGSzdkhh/DpEjng9zqexYdXTyKSkYaxjm5P7A6J0gufpsk7qC8+law5vinQhDBnGQbQ4XUswQlJCZPwABcZR+abk/QyUhd1SoAFlEThJbTBrq4XhdBY2xslrGkgnDy3I7kW5VLvYjGiFlKInQbXFNmhC3nqCnYMgD3nygmaO4aV5y1+kZ6XKwZcmEpm+lbzAxBbNZs7ga8xG1gMzoXNCB39YGAdeNFgbYAfK2I59yP6Gt7OdFHKm7wkkv4jtJ5Tz4iO8S2ogfbhCDaNsfW9j+WwyAERwZvqY/FqjUq5Ubil/K0HniRdyPMwHK9luT0OEFGREW5mY9aUEWg0EiNorczk4fPx6k= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 130a7b01-1333-4411-84c0-08d7ee80db1d X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:09:09.8262 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WGhcDsou+gGSDsUecYPlQ3GcDcZ/xDQ250UEJF2yGZAKcJJwJr0iDfx2qD6cyerfhtKwPwX1fj8VwJa6tJoR8jUDBP9tVDRs0gx8c612tHo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean OpenSBI generic platform support provides platform specific functionality based on the FDT passed by previous booting stage. depends on OpenSBI commit: platform: Add generic FDT based platform support (sha1: f1aa9e54e00006ae70aeac638d5b75093520f65d) Signed-off-by: Pragnesh Patel --- doc/board/sifive/fu540.rst | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/board/sifive/fu540.rst b/doc/board/sifive/fu540.rst index 610ba87074..1c3d4740f3 100644 --- a/doc/board/sifive/fu540.rst +++ b/doc/board/sifive/fu540.rst @@ -22,14 +22,21 @@ The support for following drivers are already enabled: TODO: -1. U-Boot expects the serial console device entry to be present under /chosen - DT node. Without a serial console U-Boot will panic. Example: +1. The DTB passed by U-Boot SPL or FSBL to OpenSBI should have CLINT + DT node and the "/chosen" DT node should have "stdout-path" DT + property. .. code-block:: none - chosen { - stdout-path = "/soc/serial@10010000:115200"; - }; + chosen { + stdout-path = "/soc/serial@10010000:115200"; + }; + + clint@2000000 { + compatible = "riscv,clint0"; + interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 &cpu1_intc 3 &cpu1_intc 7 &cpu2_intc 3 &cpu2_intc 7 &cpu3_intc 3 &cpu3_intc 7 &cpu4_intc 3 &cpu4_intc 7>; + reg = <0x0 0x2000000 0x0 0xc0000>; + }; Building -------- @@ -58,7 +65,7 @@ firmware. We need to compile OpenSBI with below command: .. code-block:: none -make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH= + make PLATFORM=generic FW_PAYLOAD_PATH= More detailed description of steps required to build FW_PAYLOAD firmware is beyond the scope of this document. Please refer OpenSBI documenation. From patchwork Sat May 2 10:06:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pragnesh Patel X-Patchwork-Id: 1281579 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=I04GT9q1; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49DlK54mnzz9sRf for ; Sat, 2 May 2020 20:11:53 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 984E981D8E; Sat, 2 May 2020 12:09:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.b="I04GT9q1"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7638F81DA4; Sat, 2 May 2020 12:09:21 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on20614.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eae::614]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6330981D8E for ; Sat, 2 May 2020 12:09:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pragnesh.patel@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=epnEk6L4F3FtXzokwfakEXJY77n7SrfrLOUR63eVv0L2nlTZM28s7Lu8aArjAXx+7vO3Zv++L3KyBUlR/Pj8zVZSY3tA5BN5xcVH+0+c3Fp2kMv1Ts2udRzPfT6UvkiTESbJgdWFd2vBaezJUHmeY4kg4a5nFsjuQGrWSNkBvlV/om60sloYNiTpw5whpStti3bVe2sriIqKEJQEXDYkOtcsQpO+kA74E0ZAjuol1NFuJebcehPrTqiSNpmN/vcXYXN4PhfMRDXMfKs/BUN1dPKVQK7Z8wDXLgC6ExHEKixUP0GGAvb71X1/r45zfzeum0FMYuO339lPHCpDufIwhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OfsGGJOr9d1hp7/hwkJ/B1HQEaDnXPNFNnHwEgQnDo4=; b=XGmzEWEyMyKLWNMazNtAd7eUz/aK8+nQTB/KqmMuaHQJ5GyQVUBfux9+Jvf4ouIxw+u+nv6arCahY2AKOwxvHORqKA+nt+S7xO3leew2bItcp6sLfrUw4zVXyBJIyA/5u9tayKdGQ6K/ShLnhTXm4xMC/eA+5J/RBbUfEkQiMG6yW9f4Zn29qj5w5X5bYC846kXYG2rhbPjt8RsorQyI9CidHLR84VVbRQTBZpF3pGvclKER07vygYCLnLWQRugIr98n4IMGtrCH8MVXCwrROhgAHkfujVxEq7gBQmgPC0tXSL+JRdNnO/NxLu1SFyNXvf55ADd0uR+BwP5+PmO6Kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OfsGGJOr9d1hp7/hwkJ/B1HQEaDnXPNFNnHwEgQnDo4=; b=I04GT9q1q1JdXAQnnRy82/RWem0c5jc35JRZJkJHjlEFl3dZQtgYX9kbT3rCVFzb8VJLw8WRY/IRIuvelIXhwXDztTQl2GWkkA/h4DDG2l+aDrSQHFUD4Xhi7P7XR7nocN9WddfCB6su+zwndW+B4fybJKCBrIay9mhzfTFnMmo= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) by MWHPR13MB1565.namprd13.prod.outlook.com (2603:10b6:300:125::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Sat, 2 May 2020 10:09:15 +0000 Received: from MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c]) by MWHPR13MB0944.namprd13.prod.outlook.com ([fe80::7d7c:7f0b:7a05:fa2c%9]) with mapi id 15.20.2979.023; Sat, 2 May 2020 10:09:15 +0000 From: Pragnesh Patel To: u-boot@lists.denx.de Cc: atish.patra@wdc.com, palmerdabbelt@google.com, bmeng.cn@gmail.com, paul.walmsley@sifive.com, jagan@amarulasolutions.com, troy.benjegerdes@sifive.com, anup.patel@wdc.com, sagar.kadam@sifive.com, rick@andestech.com, Pragnesh Patel , Anup Patel , Joe Hershberger Subject: [PATCH v7 22/22] doc: sifive: fu540: Add description for RISC-V FU540 U-Boot SPL Date: Sat, 2 May 2020 15:36:26 +0530 Message-Id: <20200502100628.24809-23-pragnesh.patel@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200502100628.24809-1-pragnesh.patel@sifive.com> References: <20200502100628.24809-1-pragnesh.patel@sifive.com> X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) To MWHPR13MB0944.namprd13.prod.outlook.com (2603:10b6:300:15::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sachinj2-OptiPlex-7010.open-silicon.com (114.143.65.226) by LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Sat, 2 May 2020 10:09:10 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [114.143.65.226] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7e5a5e0c-f956-420a-84fa-08d7ee80de4b X-MS-TrafficTypeDiagnostic: MWHPR13MB1565: X-LD-Processed: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-Forefront-PRVS: 039178EF4A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OhX7MpkH2A5Gu7e8ho9B35UGuX9zSQJfZx7l02WiKLoGjYjv+NodfjP2uWpkTdjEGfAaacVVpekKgnWaLnot3mlHgiLQCesf7L8yclkrSpC7Op0RGLa4agxB3ZvhgX4islziVNay97Jc9n+bbYD95329q6XALvOK1BsLHMpF1f2AaGe9qAwwlLRA4SPiZUfOsG1dHChvI4ic2RbZlrzX6OGCyfigVasKburqe6YK1SCUaSDB7BDZ220Qd80/EjOrETv3jsEvQJXo9M4z16cTJ0xS2BEXRNxWDr5wFQtOuz4PVPjU4XAXq4iBiIr4on6zm+foDIz8iciJ/NC8jknzjx+353ApJ3E/ePQnc+W1CAnRDPP5mYbqLshR2/QqB2YBREb9XNQV8W8AanZY3EqFUszZNQk/rWwdJVBXLFpXZaDH/fNFeoCCrPOOyYbM29v/gYVbjKtY1nKSTN4WlqV9D0g6kX065mOHRa7QWZrCWuMxYNjV6vOHfcRzJ6ARmAVuXJMbJlp2PTYG6rnHLd6JWw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR13MB0944.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(346002)(136003)(39850400004)(396003)(6916009)(316002)(966005)(54906003)(8936002)(66556008)(2906002)(66476007)(66946007)(36756003)(8676002)(478600001)(86362001)(186003)(1076003)(5660300002)(44832011)(26005)(956004)(2616005)(30864003)(6486002)(16526019)(6666004)(52116002)(1006002)(6512007)(4326008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: aoWp2xPDenxP6vnz7Q6+WLWsFKwgJRFvuQg8ymUQPYd+p/o6q7++u2/7YlwtLY4FIjQER9uhsxoUeN9Wy9UCzsL5OxRVvCDaq3apvME5Pw8Y+sRga/5UolKsHwPFtLGzGvIl0+9t8Ai6tsPcqeEqQ+hLkRoT1j8jOhOZR137ylSIenBupYAU3GWojCk5Ge+QvwOIB3HrQz9n2WRBx97FeUluky+iOZEpxNOkMrQPy4P4Iv0E796+ofIu5re+loVOXAvwlPwe+qWUE5t9Gd4x26mXHKAbU5icXecbA8TJu4rxY5zLY9Sd9N5nWnt23SbjuTbQhrrKveS/gI82LprQmGSuAhEB4OuIMcemtaw51MViv8dZWQgcoBroI2Z1ylVKQu3qBnRr5eSX/OrKv/xeus3VFHqIKoumqiDB3LoCFHRB9nMiYUothkHCDdOTBa9K7IFHtUy6lhu33Kzt/4SxjkLsic/xVJ3jctt2kLhY70DiPPF/voRySEPlZuudfglVHRqC+SRvEgybSHipMcCXakRUQrOi0UC0P0eHfsr2A+WtUpIl5WcxkcjlmTbptTYMyy43yf/cgQnNcVO6qKv5Ll5kKwcdQtc4PzX6rQ8wPOYXxg6NSPNmCxzYmDK/pvKmLTrnuumCHNuOtiALCNG2Fx8Enf2tckZxIJlHw7n0nhY1Feo2rTSw2VzleVE3bPlegkg+fxiD3vwRycUWljUw/M5SLpNhWaF3+O1WuiZ7Gy7KfjVwH6q7NUgvvVyNB2WfAcZEdB4y8sx01Yrc/RBXcdoo6JlK7pH7whYCUJ85F0o= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e5a5e0c-f956-420a-84fa-08d7ee80de4b X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2020 10:09:15.1639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TY+zK8nWBuiPfUJOD2OwdxxAeL8c5dBRgkVQ0xRBQXsgmoEZC9ujYsnNFLXxmHWTso6dbu8r35U+DJtwWENkrOdflWjG0ey6EpfzMMUao4M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB1565 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add descriptions about U-Boot SPL feature and how to build and run from MMC. Signed-off-by: Pragnesh Patel Signed-off-by: Jagan Teki Reviewed-by: Bin Meng Reviewed-by: Anup Patel --- doc/board/sifive/fu540.rst | 376 +++++++++++++++++++++++++++++++++++++ 1 file changed, 376 insertions(+) diff --git a/doc/board/sifive/fu540.rst b/doc/board/sifive/fu540.rst index 1c3d4740f3..2911e3652e 100644 --- a/doc/board/sifive/fu540.rst +++ b/doc/board/sifive/fu540.rst @@ -38,6 +38,9 @@ TODO: reg = <0x0 0x2000000 0x0 0xc0000>; }; +Booting from MMC using FSBL +--------------------------- + Building -------- @@ -428,3 +431,376 @@ as well. Please press Enter to activate this console. / # + +Booting from MMC using U-Boot SPL +--------------------------------- + +Building +-------- + +Before building U-Boot SPL, OpenSBI must be built first. OpenSBI can be +cloned and built for FU540 as below: + +.. code-block:: console + + git clone https://github.com/riscv/opensbi.git + cd opensbi + make PLATFORM=generic FW_DYNAMIC=y + +Copy OpenSBI FW_DYNAMIC image +(build/platform/sifive/fu540/firmware/fw_dynamic.bin) into U-Boot +root directory + +.. code-block:: console + + cp build/platform/sifive/fu540/firmware/fw_dynamic.bin + +Now build the U-Boot SPL and U-Boot proper + +.. code-block:: console + + cd + make sifive_fu540_defconfig + make + +This will generate spl/u-boot-spl.bin and FIT image (u-boot.itb) + + +Flashing +-------- + +ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type +5B193300-FC78-40CD-8002-E86C45580B47 + +U-Boot SPL expects a U-Boot FIT image (u-boot.itb) from a partition with GUID +type 2E54B353-1271-4842-806F-E436D6AF6985 + +FIT image (u-boot.itb) is a combination of fw_dynamic.bin, u-boot-nodtb.bin and +device tree blob (hifive-unleashed-a00.dtb) + +Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch) + +.. code-block:: none + + # sudo sgdisk --clear \ + > --set-alignment=2 \ + > --new=1:34:2081 --change-name=1:loader1 --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \ + > --new=2:2082:10273 --change-name=2:loader2 --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \ + > --new=3:10274: --change-name=3:rootfs --typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \ + > /dev/sda + +Program the SD card + +.. code-block:: none + + sudo dd if=spl/u-boot-spl.bin of=/dev/sda seek=34 + sudo dd if=u-boot.itb of=/dev/sda seek=2082 + +Booting +------- +Once you plugin the sdcard and power up, you should see the U-Boot prompt. + +Sample boot log from HiFive Unleashed board +------------------------------------------- + +.. code-block:: none + + U-Boot SPL 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530) + Trying to boot from MMC1 + + + U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530) + + CPU: rv64imafdc + Model: SiFive HiFive Unleashed A00 + DRAM: 8 GiB + MMC: spi@10050000:mmc@0: 0 + In: serial@10010000 + Out: serial@10010000 + Err: serial@10010000 + Board serial number should not be 0 !! + Net: + Warning: ethernet@10090000 (eth0) using random MAC address - 96:06:92:18:eb:04 + eth0: ethernet@10090000 + Hit any key to stop autoboot: 0 + => version + U-Boot 2020.04-rc2-00109-g63efc7e07e-dirty (Apr 30 2020 - 13:52:36 +0530) + + riscv64-unknown-linux-gnu-gcc (crosstool-NG 1.24.0.37-3f461da) 9.2.0 + GNU ld (crosstool-NG 1.24.0.37-3f461da) 2.32 + => mmc info + Device: spi@10050000:mmc@0 + Manufacturer ID: 3 + OEM: 5344 + Name: SC16G + Bus Speed: 20000000 + Mode: SD Legacy + Rd Block Len: 512 + SD version 2.0 + High Capacity: Yes + Capacity: 14.8 GiB + Bus Width: 1-bit + Erase Group Size: 512 Bytes + => mmc part + + Partition Map for MMC device 0 -- Partition Type: EFI + + Part Start LBA End LBA Name + Attributes + Type GUID + Partition GUID + 1 0x00000022 0x00000821 "loader1" + attrs: 0x0000000000000000 + type: 5b193300-fc78-40cd-8002-e86c45580b47 + guid: 66e2b5d2-74db-4df8-ad6f-694b3617f87f + 2 0x00000822 0x00002821 "loader2" + attrs: 0x0000000000000000 + type: 2e54b353-1271-4842-806f-e436d6af6985 + guid: 8befaeaf-bca0-435d-b002-e201f37c0a2f + 3 0x00002822 0x01dacbde "rootfs" + attrs: 0x0000000000000000 + type: 0fc63daf-8483-4772-8e79-3d69d8477de4 + type: linux + guid: 9faa81b6-39b1-4418-af5e-89c48f29c20d + +Now you can configure your networking, tftp server and use tftp boot method to +load uImage. + +.. code-block:: none + + => setenv serverip 192.168.0.103 + => setenv serverip 192.168.0.102 + => tftpboot 0x83000000 fit.itb + ethernet@10090000: PHY present at 0 + ethernet@10090000: Starting autonegotiation... + ethernet@10090000: Autonegotiation complete + ethernet@10090000: link up, 100Mbps full-duplex (lpa: 0x4de1) + *** ERROR: `ipaddr' not set + => setenv serverip 192.168.0.103 + => setenv ipaddr 192.168.0.102 + => tftpboot 0x83000000 fit.itb + ethernet@10090000: PHY present at 0 + ethernet@10090000: Starting autonegotiation... + ethernet@10090000: Autonegotiation complete + ethernet@10090000: link up, 100Mbps full-duplex (lpa: 0x4de1) + Using ethernet@10090000 device + TFTP from server 192.168.0.103; our IP address is 192.168.0.102 + Filename 'fit.itb'. + Load address: 0x83000000 + Loading: ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ################################################################# + ####################################################### + 4.2 MiB/s + done + Bytes transferred = 14254183 (d98067 hex) + => bootm 0x83000000 + ## Loading kernel from FIT Image at 83000000 ... + Using 'config-1' configuration + Trying 'kernel@1' kernel subimage + Description: Linux kernel + Type: Kernel Image + Compression: uncompressed + Data Start: 0x830000d8 + Data Size: 9676752 Bytes = 9.2 MiB + Architecture: RISC-V + OS: Linux + Load Address: 0x80200000 + Entry Point: 0x80200000 + Verifying Hash Integrity ... OK + ## Loading ramdisk from FIT Image at 83000000 ... + Using 'config-1' configuration + Trying 'ramdisk@1' ramdisk subimage + Description: ramdisk + Type: RAMDisk Image + Compression: gzip compressed + Data Start: 0x8393c490 + Data Size: 4568674 Bytes = 4.4 MiB + Architecture: RISC-V + OS: Linux + Load Address: 0x82000000 + Entry Point: unavailable + Verifying Hash Integrity ... OK + Loading ramdisk from 0x8393c490 to 0x82000000 + WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file! + ## Loading fdt from FIT Image at 83000000 ... + Using 'config-1' configuration + Trying 'fdt@1' fdt subimage + Description: unavailable + Type: Flat Device Tree + Compression: uncompressed + Data Start: 0x8393a934 + Data Size: 6889 Bytes = 6.7 KiB + Architecture: RISC-V + Verifying Hash Integrity ... OK + Booting using the fdt blob at 0x8393a934 + Loading Kernel Image + Using Device Tree in place at 000000008393a934, end 000000008393f41c + + Starting kernel ... + + [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000 + [ 0.000000] Linux version 5.6.0-rc3-00026-g63623fd44972 (pragneshp@sachinj2-OptiPlex-7010) (gcc version 9.2.0 (crosstool-NG 1.24.0.37-3f461da)) #3 SMP Tue Feb 25 14:59:12 IST 2020 + [ 0.000000] Initial ramdisk at: 0x(____ptrval____) (4568674 bytes) + [ 0.000000] Zone ranges: + [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff] + [ 0.000000] Normal [mem 0x0000000100000000-0x000000027fffffff] + [ 0.000000] Movable zone start for each node + [ 0.000000] Early memory node ranges + [ 0.000000] node 0: [mem 0x0000000080200000-0x000000027fffffff] + [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000027fffffff] + [ 0.000000] software IO TLB: mapped [mem 0xfbfff000-0xfffff000] (64MB) + [ 0.000000] CPU with hartid=0 is not available + [ 0.000000] CPU with hartid=0 is not available + [ 0.000000] elf_hwcap is 0x112d + [ 0.000000] percpu: Embedded 17 pages/cpu s31848 r8192 d29592 u69632 + [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2067975 + [ 0.000000] Kernel command line: + [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) + [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) + [ 0.000000] Sorting __ex_table... + [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off + [ 0.000000] Memory: 8179388K/8386560K available (6288K kernel code, 458K rwdata, 2135K rodata, 239K init, 311K bss, 207172K reserved, 0K cma-reserved) + [ 0.000000] Virtual kernel memory layout: + [ 0.000000] fixmap : 0xffffffcefee00000 - 0xffffffceff000000 (2048 kB) + [ 0.000000] pci io : 0xffffffceff000000 - 0xffffffcf00000000 ( 16 MB) + [ 0.000000] vmemmap : 0xffffffcf00000000 - 0xffffffcfffffffff (4095 MB) + [ 0.000000] vmalloc : 0xffffffd000000000 - 0xffffffdfffffffff (65535 MB) + [ 0.000000] lowmem : 0xffffffe000000000 - 0xffffffe1ffe00000 (8190 MB) + [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 + [ 0.000000] rcu: Hierarchical RCU implementation. + [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. + [ 0.000000] rcu: RCU debug extended QS entry/exit. + [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. + [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 + [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0 + [ 0.000000] plic: mapped 53 interrupts with 4 handlers for 9 contexts. + [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [1] + [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns + [ 0.000007] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns + [ 0.000159] Console: colour dummy device 80x25 + [ 0.001130] printk: console [tty0] enabled + [ 0.001193] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=4000) + [ 0.001259] pid_max: default: 32768 minimum: 301 + [ 0.001798] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) + [ 0.002191] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) + [ 0.004308] rcu: Hierarchical SRCU implementation. + [ 0.004981] smp: Bringing up secondary CPUs ... + [ 1.024833] CPU1: failed to come online + [ 2.049612] CPU2: failed to come online + [ 3.074387] CPU3: failed to come online + [ 3.074453] smp: Brought up 1 node, 1 CPU + [ 3.075612] devtmpfs: initialized + [ 3.077517] random: get_random_u32 called from bucket_table_alloc.isra.0+0x4e/0x15e with crng_init=0 + [ 3.077774] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns + [ 3.077899] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) + [ 3.078689] NET: Registered protocol family 16 + [ 3.094523] vgaarb: loaded + [ 3.094914] SCSI subsystem initialized + [ 3.095364] usbcore: registered new interface driver usbfs + [ 3.095444] usbcore: registered new interface driver hub + [ 3.095533] usbcore: registered new device driver usb + [ 3.096290] clocksource: Switched to clocksource riscv_clocksource + [ 3.103494] NET: Registered protocol family 2 + [ 3.104158] tcp_listen_portaddr_hash hash table entries: 4096 (order: 5, 163840 bytes, linear) + [ 3.104806] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear) + [ 3.106882] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) + [ 3.114045] TCP: Hash tables configured (established 65536 bind 65536) + [ 3.114589] UDP hash table entries: 4096 (order: 6, 393216 bytes, linear) + [ 3.115949] UDP-Lite hash table entries: 4096 (order: 6, 393216 bytes, linear) + [ 3.117578] NET: Registered protocol family 1 + [ 3.118255] RPC: Registered named UNIX socket transport module. + [ 3.118295] RPC: Registered udp transport module. + [ 3.118328] RPC: Registered tcp transport module. + [ 3.118360] RPC: Registered tcp NFSv4.1 backchannel transport module. + [ 3.118397] PCI: CLS 0 bytes, default 64 + [ 3.118621] Unpacking initramfs... + [ 3.475555] Freeing initrd memory: 4460K + [ 3.476511] workingset: timestamp_bits=62 max_order=21 bucket_order=0 + [ 3.485899] NFS: Registering the id_resolver key type + [ 3.485961] Key type id_resolver registered + [ 3.485994] Key type id_legacy registered + [ 3.486037] nfs4filelayout_init: NFSv4 File Layout Driver Registering... + [ 3.486236] 9p: Installing v9fs 9p2000 file system support + [ 3.486651] NET: Registered protocol family 38 + [ 3.486729] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) + [ 3.486788] io scheduler mq-deadline registered + [ 3.486822] io scheduler kyber registered + [ 3.528973] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled + [ 3.530114] 10010000.serial: ttySIF0 at MMIO 0x10010000 (irq = 1, base_baud = 0) is a SiFive UART v0 + [ 4.061558] printk: console [ttySIF0] enabled + [ 4.066211] 10011000.serial: ttySIF1 at MMIO 0x10011000 (irq = 10, base_baud = 0) is a SiFive UART v0 + [ 4.075620] [drm] radeon kernel modesetting enabled. + [ 4.092998] loop: module loaded + [ 4.096007] sifive_spi 10040000.spi: mapped; irq=12, cs=1 + [ 4.101380] sifive_spi 10050000.spi: mapped; irq=13, cs=1 + [ 4.107129] libphy: Fixed MDIO Bus: probed + [ 4.111232] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt' + [ 4.117841] macb 10090000.ethernet: GEM doesn't support hardware ptp. + [ 4.124654] libphy: MACB_mii_bus: probed + [ 4.133149] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 14 (86:5d:6f:58:d6:3d) + [ 4.142400] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k + [ 4.148053] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. + [ 4.154051] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver + [ 4.160470] ehci-pci: EHCI PCI platform driver + [ 4.164930] ehci-platform: EHCI generic platform driver + [ 4.170185] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver + [ 4.176284] ohci-pci: OHCI PCI platform driver + [ 4.180736] ohci-platform: OHCI generic platform driver + [ 4.186226] usbcore: registered new interface driver uas + [ 4.191257] usbcore: registered new interface driver usb-storage + [ 4.197392] mousedev: PS/2 mouse device common for all mice + [ 4.228311] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff, cd polling + [ 4.235528] usbcore: registered new interface driver usbhid + [ 4.240870] usbhid: USB HID core driver + [ 4.245515] NET: Registered protocol family 10 + [ 4.250603] Segment Routing with IPv6 + [ 4.253602] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver + [ 4.259978] NET: Registered protocol family 17 + [ 4.264098] 9pnet: Installing 9P2000 support + [ 4.268159] Key type dns_resolver registered + [ 4.279265] Freeing unused kernel memory: 236K + [ 4.282989] This architecture does not have kernel memory protection. + [ 4.289390] Run /init as init process + Starting syslogd: OK + Starting klogd: OK + Starting mdev... + /etc/init.d/S10mdev: line 9: can't create /proc/sys/kernel/hotplug: nonexistent directory + [ 4.354461] mmc0: host does not support reading read-only switch, assuming write-enable + [ 4.361778] mmc0: new SDHC card on SPI + [ 4.381184] mmcblk0: mmc0:0000 SC16G 14.8 GiB + [ 4.424975] mmcblk0: p1 p2 p3 + modprobe: can't change directory to '/lib/modules': No such file or directory + Initializing random number generator... [ 5.041362] random: dd: uninitialized urandom read (512 bytes read) + done. + Starting network: [ 5.240580] macb 10090000.ethernet eth0: PHY [10090000.ethernet-ffffffff:00] driver [Microsemi VSC8541 SyncE] (irq=POLL) + [ 5.250752] macb 10090000.ethernet eth0: configuring for phy/gmii link mode + udhcpc: started, v1.29.3 + udhcpc: sending discover + [ 7.301682] macb 10090000.ethernet eth0: Link is Up - 100Mbps/Full - flow control tx + [ 7.308726] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready + udhcpc: sending discover + udhcpc: sending discover + udhcpc: no lease, failing + FAIL + Starting dropbear sshd: [ 14.309152] random: dropbear: uninitialized urandom read (32 bytes read) + OK + + Welcome to Buildroot + buildroot login: root + Password: + #