From patchwork Sun Sep 29 07:42:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 851 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id D44C53F039 for ; Sun, 29 Sep 2019 09:43:00 +0200 (CEST) Received: by mail-pf1-f197.google.com with SMTP id b8sf5296762pfd.7 for ; Sun, 29 Sep 2019 00:43:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1569742979; cv=pass; d=google.com; s=arc-20160816; b=Mw1l6oEnhYfMR4B1kEnooAxGrcOmdvGoRN2gq9HtEAy2S0mMhfzC2FMpZR+prD4scY hc7Y0KLOpFHCpgI4GnqM2YUt1Mxc+5wzfi/i8Q+vT17wsIpZc1rCwQH2NQFqOBHgeyGb siNgPhrApc5r4FEDo+jrsT9QN0+/9mizTjov7dvDP0HCyNnU/mboo7Zwb7KYN7sI/q1u 7r1f05hiBR7wQ+Ku3P0+0sNyz8T/DvrklsxZ2EpmLtL4v/YhmY74qr+7rhwT2nrvbAeL n/kDfs1ZVWotZ1qffrH5SQg2hQcq4h0uXGxiI1AASUXs91yZ5+WLOo6CDVfJ2cZceHOZ F6mA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8R5kXULd1XY7e76Lbp4VBejv0QIYKy9UZ4LCEzl8fic=; b=y9aS1TTNWNQxogLeYOVH5lIhehpIjEBjYbh5MuGWN4XZ7Yy625tFLfDh/brxxpdp9V KLMdwBsWBUvqz2Klue7E1TzQ7t+TR3pgwoY3ghYv6nkMFphSt/8Y6LJaw4g45GzyjuT4 Hc0ov8rHnbEfxNwWTp1/KYRhugf10zzuh4UhtN/XfFrwLQbnDmSYFfrPVmlOglcn8iqk k1o3esf6rkKP/xbVuVKyy8O1nmu+kxwDUnDvxUu1mypmeEQpk/a3ka+5jRgMhXzKWYM7 dzGtQ89DAASl0q4TlF8fuTmb3VZog3cHevjtJ41/awTj7pVbeNVNpzidm01yVAUwCg0X hORQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=P5w8n9Yv; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-unsubscribe; bh=8R5kXULd1XY7e76Lbp4VBejv0QIYKy9UZ4LCEzl8fic=; b=r4jsqKfE4FCe+09KuvLPnZ8+ajkL4BIOz24Hc2byLpRnX6b0y5JSh7FR2zLdoVBp6u nZBCcI1wmeX2wxscaH+wWbTJfLM4+mJMZ6QFq+woL0jr2q9yLTtbHHY12clNBXV0IMIE Jgpuinf5eHuyZOO+Y/XI+6sy7i2um+T2Dl1Yw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-unsubscribe; bh=8R5kXULd1XY7e76Lbp4VBejv0QIYKy9UZ4LCEzl8fic=; b=F/dm5KXgL5ceha3iVHlORaxb7tP5MinbHbKBc/GUV5NmlBK8b6pO+fAfQCdUFvmBv7 hoDZ1dlyH7kWR/8eeOROSLE19j/7u9Rx+AFfgPgfwBWtu0lQUTU7//etFqennxKNgBXz fm5oHA9mpQ/0arIQ9xyyM+mLHf0xmeFTOq3JeOL/dtHnlCf7zPQ/fNGGQXkchwcrxc54 kZECguuYnQnOrKudyUmDEfS9xWNjE/Aa3dgjJ2ZjnHoWI2Xephgr/RFrqwrGgNNF7F9M KzVmN1niFv2aT2An8pcXvy6Z2IBVuzCyHNNyd1PKwaPS0WLHjOBwZ1C0zqQiUbIvDxz9 N5oQ== X-Gm-Message-State: APjAAAWrxgMdObLwQInzPKrUqKteOmIp5GoOv920GCgrJkds8J41sGrV 9S9xIGyu3M8JyxVwrMFHIaVlzZUX X-Google-Smtp-Source: APXvYqwpeu0kYIuFtn1tXPvPGSgJYRmkb89XKR0ApqPrbId39sJCGInLFNcWuvwQk/idWNqiv2/hxw== X-Received: by 2002:a62:d419:: with SMTP id a25mr14475437pfh.117.1569742979381; Sun, 29 Sep 2019 00:42:59 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a63:c244:: with SMTP id l4ls2258867pgg.2.gmail; Sun, 29 Sep 2019 00:42:59 -0700 (PDT) X-Received: by 2002:a63:f0e:: with SMTP id e14mr16912846pgl.404.1569742978823; Sun, 29 Sep 2019 00:42:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569742978; cv=none; d=google.com; s=arc-20160816; b=mluqw7jT0C9weHofGzCU3FqsiA+SgKA+vXw1hnK2Y1+pb2KW8jgDIi5+JeW/sPZbU/ 2k4ZTdf4QFkJas9t6eKq/bhxj7jWIOcCpTbUOOtX1KWYQjL89Goy3gKD4P5xYon7ekhY TnHCfSMp2zmjj+rTT/N68/gsz7NAJfPnQZrtrOUF/5m4perq14ZgJIBPwQquygJz3Gk/ +2pDX0jpxxTEVRHit9wf5yt+OsutRJVKbaaaNEPITjbom9v0XoYe7+Y3UjHslO+1L0T1 N3HYHebmRF2Kw9lVFlACemA+NtXykSsPmDKl75dAnRzH16CaKhFh9b0pb3MdwlqqyZ/r xRWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YsO2582kdCb52XVETayMm5uVUzw5aBQ4czYK++c5xVI=; b=EkHcujyxKqftEGYw8ICiViSGajdkfrnEue12vySD8MbnvEAkqLw9w4BGhYd6qHpcNX vjiODDlVXBFUfsV7z8kHAetcf/bE/SX5LQjYmI4fxvOltgIllxrsoFPTpWttEjIXRDDt LsuOucsf6yYr0tiw5nqBqkdRdFGT81ksK4XFyY5muiwUMyWcH0Xx6AlaRwF/VrJfVT3j nud3vD9/uNbMWAjDBWkUpb332KHBbCpaqK9rlxv+Fgl9C6a90rIEivmcD0s5OwQC54Oo K4oQ6DJkwamcM33pGT6AhjiF9eMKthwyi86YtHcwRyxFWkXG7Xh6A61LLzsc5rDHYh1T 4bdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=P5w8n9Yv; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id v6sor9047491plp.33.2019.09.29.00.42.58 for (Google Transport Security); Sun, 29 Sep 2019 00:42:58 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Received: by 2002:a17:902:fe86:: with SMTP id x6mr14219224plm.28.1569742978434; Sun, 29 Sep 2019 00:42:58 -0700 (PDT) Received: from localhost.localdomain ([115.97.180.31]) by smtp.gmail.com with ESMTPSA id x9sm29548432pje.27.2019.09.29.00.42.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Sep 2019 00:42:57 -0700 (PDT) From: Jagan Teki To: Rick Chen , Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Bin Meng Cc: u-boot@lists.denx.de, linux-amarula@amarulasolutions.com, Jagan Teki Subject: [PATCH 1/5] riscv: dts: Add hifive-unleashed-a00 dts from Linux Date: Sun, 29 Sep 2019 13:12:35 +0530 Message-Id: <20190929074239.11575-2-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190929074239.11575-1-jagan@amarulasolutions.com> References: <20190929074239.11575-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=P5w8n9Yv; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Sync the hifive-unleashed-a00 dts from Linux with below commit details: commit 11ae2d892139a1086f257188d457ddcb71ab5257 Author: Paul Walmsley Date: Thu Jul 25 13:41:31 2019 -0700 riscv: dts: fu540-c000: drop "timebase-frequency" Idea is to periodically sync the dts from Linux instead of tweeking internal changes one after another, so better not add any intermediate changes in between. This would help to maintain the dts files easy and meaningful since we are reusing devicetree files from Linux. Signed-off-by: Jagan Teki --- arch/riscv/dts/Makefile | 1 + arch/riscv/dts/fu540-c000.dtsi | 235 ++++++++++++++++++++++++ arch/riscv/dts/hifive-unleashed-a00.dts | 88 +++++++++ 3 files changed, 324 insertions(+) create mode 100644 arch/riscv/dts/fu540-c000.dtsi create mode 100644 arch/riscv/dts/hifive-unleashed-a00.dts diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index f9cd606a9a..4f30e6936f 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0+ dtb-$(CONFIG_TARGET_AX25_AE350) += ae350_32.dtb ae350_64.dtb +dtb-$(CONFIG_TARGET_SIFIVE_FU540) += hifive-unleashed-a00.dtb targets += $(dtb-y) diff --git a/arch/riscv/dts/fu540-c000.dtsi b/arch/riscv/dts/fu540-c000.dtsi new file mode 100644 index 0000000000..42b5ec2231 --- /dev/null +++ b/arch/riscv/dts/fu540-c000.dtsi @@ -0,0 +1,235 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2018-2019 SiFive, Inc */ + +/dts-v1/; + +#include + +/ { + #address-cells = <2>; + #size-cells = <2>; + compatible = "sifive,fu540-c000", "sifive,fu540"; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + }; + + chosen { + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu0: cpu@0 { + compatible = "sifive,e51", "sifive,rocket0", "riscv"; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <16384>; + reg = <0>; + riscv,isa = "rv64imac"; + status = "disabled"; + cpu0_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu1: cpu@1 { + compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <32>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <64>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <32>; + mmu-type = "riscv,sv39"; + reg = <1>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu1_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu2: cpu@2 { + clock-frequency = <0>; + compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <32>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <64>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <32>; + mmu-type = "riscv,sv39"; + reg = <2>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu2_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu3: cpu@3 { + clock-frequency = <0>; + compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <32>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <64>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <32>; + mmu-type = "riscv,sv39"; + reg = <3>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu3_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu4: cpu@4 { + clock-frequency = <0>; + compatible = "sifive,u54-mc", "sifive,rocket0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <32>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <64>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <32>; + mmu-type = "riscv,sv39"; + reg = <4>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu4_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + }; + soc { + #address-cells = <2>; + #size-cells = <2>; + compatible = "sifive,fu540-c000", "sifive,fu540", "simple-bus"; + ranges; + plic0: interrupt-controller@c000000 { + #interrupt-cells = <1>; + compatible = "sifive,plic-1.0.0"; + reg = <0x0 0xc000000 0x0 0x4000000>; + riscv,ndev = <53>; + interrupt-controller; + interrupts-extended = < + &cpu0_intc 0xffffffff + &cpu1_intc 0xffffffff &cpu1_intc 9 + &cpu2_intc 0xffffffff &cpu2_intc 9 + &cpu3_intc 0xffffffff &cpu3_intc 9 + &cpu4_intc 0xffffffff &cpu4_intc 9>; + }; + prci: clock-controller@10000000 { + compatible = "sifive,fu540-c000-prci"; + reg = <0x0 0x10000000 0x0 0x1000>; + clocks = <&hfclk>, <&rtcclk>; + #clock-cells = <1>; + }; + uart0: serial@10010000 { + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; + reg = <0x0 0x10010000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <4>; + clocks = <&prci PRCI_CLK_TLCLK>; + status = "disabled"; + }; + uart1: serial@10011000 { + compatible = "sifive,fu540-c000-uart", "sifive,uart0"; + reg = <0x0 0x10011000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <5>; + clocks = <&prci PRCI_CLK_TLCLK>; + status = "disabled"; + }; + i2c0: i2c@10030000 { + compatible = "sifive,fu540-c000-i2c", "sifive,i2c0"; + reg = <0x0 0x10030000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <50>; + clocks = <&prci PRCI_CLK_TLCLK>; + reg-shift = <2>; + reg-io-width = <1>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + qspi0: spi@10040000 { + compatible = "sifive,fu540-c000-spi", "sifive,spi0"; + reg = <0x0 0x10040000 0x0 0x1000 + 0x0 0x20000000 0x0 0x10000000>; + interrupt-parent = <&plic0>; + interrupts = <51>; + clocks = <&prci PRCI_CLK_TLCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + qspi1: spi@10041000 { + compatible = "sifive,fu540-c000-spi", "sifive,spi0"; + reg = <0x0 0x10041000 0x0 0x1000 + 0x0 0x30000000 0x0 0x10000000>; + interrupt-parent = <&plic0>; + interrupts = <52>; + clocks = <&prci PRCI_CLK_TLCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + qspi2: spi@10050000 { + compatible = "sifive,fu540-c000-spi", "sifive,spi0"; + reg = <0x0 0x10050000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <6>; + clocks = <&prci PRCI_CLK_TLCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + eth0: ethernet@10090000 { + compatible = "sifive,fu540-c000-gem"; + interrupt-parent = <&plic0>; + interrupts = <53>; + reg = <0x0 0x10090000 0x0 0x2000 + 0x0 0x100a0000 0x0 0x1000>; + local-mac-address = [00 00 00 00 00 00]; + clock-names = "pclk", "hclk"; + clocks = <&prci PRCI_CLK_GEMGXLPLL>, + <&prci PRCI_CLK_GEMGXLPLL>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + }; +}; diff --git a/arch/riscv/dts/hifive-unleashed-a00.dts b/arch/riscv/dts/hifive-unleashed-a00.dts new file mode 100644 index 0000000000..7397b740b4 --- /dev/null +++ b/arch/riscv/dts/hifive-unleashed-a00.dts @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2018-2019 SiFive, Inc */ + +#include "fu540-c000.dtsi" + +/* Clock frequency (in Hz) of the PCB crystal for rtcclk */ +#define RTCCLK_FREQ 1000000 + +/ { + #address-cells = <2>; + #size-cells = <2>; + model = "SiFive HiFive Unleashed A00"; + compatible = "sifive,hifive-unleashed-a00", "sifive,fu540-c000"; + + chosen { + stdout-path = "/soc/serial@10010000:115200"; + }; + + cpus { + timebase-frequency = ; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x2 0x00000000>; + }; + + soc { + }; + + hfclk: hfclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <33333333>; + clock-output-names = "hfclk"; + }; + + rtcclk: rtcclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = ; + clock-output-names = "rtcclk"; + }; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; + +&qspi0 { + status = "okay"; + flash@0 { + compatible = "issi,is25wp256", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + m25p,fast-read; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + }; +}; + +&qspi2 { + status = "okay"; + mmc@0 { + compatible = "mmc-spi-slot"; + reg = <0>; + spi-max-frequency = <20000000>; + voltage-ranges = <3300 3300>; + disable-wp; + }; +}; + +ð0 { + status = "okay"; + phy-mode = "gmii"; + phy-handle = <&phy0>; + phy0: ethernet-phy@0 { + reg = <0>; + }; +};