Commit c57582ad authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'riscv-for-v5.2/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Paul Walmsley:
 "Minor RISC-V fixes and one defconfig update.

  The fixes have no functional impact:

   - Fix some comment text in the memory management vmalloc_fault path.

   - Fix some warnings from the DT compiler in our newly-added DT files.

   - Change the newly-added DT bindings such that SoC IP blocks with
     external I/O are marked as "disabled" by default, then enable them
     explicitly in board DT files when the devices are used on the
     board. This aligns the bindings with existing upstream practice.

   - Add the MIT license as an option for a minor header file, at the
     request of one of the U-Boot maintainers.

  The RISC-V defconfig update builds the SiFive SPI driver and the
  MMC-SPI driver by default. The intention here is to make v5.2 more
  usable for testers and users with RISC-V hardware"

* tag 'riscv-for-v5.2/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  riscv: mm: Fix code comment
  dt-bindings: clock: sifive: add MIT license as an option for the header file
  dt-bindings: riscv: resolve 'make dt_binding_check' warnings
  riscv: dts: Re-organize the DT nodes
  RISC-V: defconfig: enable MMC & SPI for RISC-V
parents c949c30b 0db7f5cd
...@@ -152,17 +152,19 @@ examples: ...@@ -152,17 +152,19 @@ examples:
- | - |
// Example 2: Spike ISA Simulator with 1 Hart // Example 2: Spike ISA Simulator with 1 Hart
cpus { cpus {
cpu@0 { #address-cells = <1>;
device_type = "cpu"; #size-cells = <0>;
reg = <0>; cpu@0 {
compatible = "riscv"; device_type = "cpu";
riscv,isa = "rv64imafdc"; reg = <0>;
mmu-type = "riscv,sv48"; compatible = "riscv";
interrupt-controller { riscv,isa = "rv64imafdc";
#interrupt-cells = <1>; mmu-type = "riscv,sv48";
interrupt-controller; interrupt-controller {
compatible = "riscv,cpu-intc"; #interrupt-cells = <1>;
}; interrupt-controller;
}; compatible = "riscv,cpu-intc";
};
};
}; };
... ...
...@@ -163,6 +163,7 @@ uart0: serial@10010000 { ...@@ -163,6 +163,7 @@ uart0: serial@10010000 {
interrupt-parent = <&plic0>; interrupt-parent = <&plic0>;
interrupts = <4>; interrupts = <4>;
clocks = <&prci PRCI_CLK_TLCLK>; clocks = <&prci PRCI_CLK_TLCLK>;
status = "disabled";
}; };
uart1: serial@10011000 { uart1: serial@10011000 {
compatible = "sifive,fu540-c000-uart", "sifive,uart0"; compatible = "sifive,fu540-c000-uart", "sifive,uart0";
...@@ -170,6 +171,7 @@ uart1: serial@10011000 { ...@@ -170,6 +171,7 @@ uart1: serial@10011000 {
interrupt-parent = <&plic0>; interrupt-parent = <&plic0>;
interrupts = <5>; interrupts = <5>;
clocks = <&prci PRCI_CLK_TLCLK>; clocks = <&prci PRCI_CLK_TLCLK>;
status = "disabled";
}; };
i2c0: i2c@10030000 { i2c0: i2c@10030000 {
compatible = "sifive,fu540-c000-i2c", "sifive,i2c0"; compatible = "sifive,fu540-c000-i2c", "sifive,i2c0";
...@@ -181,6 +183,7 @@ i2c0: i2c@10030000 { ...@@ -181,6 +183,7 @@ i2c0: i2c@10030000 {
reg-io-width = <1>; reg-io-width = <1>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabled";
}; };
qspi0: spi@10040000 { qspi0: spi@10040000 {
compatible = "sifive,fu540-c000-spi", "sifive,spi0"; compatible = "sifive,fu540-c000-spi", "sifive,spi0";
...@@ -191,6 +194,7 @@ qspi0: spi@10040000 { ...@@ -191,6 +194,7 @@ qspi0: spi@10040000 {
clocks = <&prci PRCI_CLK_TLCLK>; clocks = <&prci PRCI_CLK_TLCLK>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabled";
}; };
qspi1: spi@10041000 { qspi1: spi@10041000 {
compatible = "sifive,fu540-c000-spi", "sifive,spi0"; compatible = "sifive,fu540-c000-spi", "sifive,spi0";
...@@ -201,6 +205,7 @@ qspi1: spi@10041000 { ...@@ -201,6 +205,7 @@ qspi1: spi@10041000 {
clocks = <&prci PRCI_CLK_TLCLK>; clocks = <&prci PRCI_CLK_TLCLK>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabled";
}; };
qspi2: spi@10050000 { qspi2: spi@10050000 {
compatible = "sifive,fu540-c000-spi", "sifive,spi0"; compatible = "sifive,fu540-c000-spi", "sifive,spi0";
...@@ -210,6 +215,7 @@ qspi2: spi@10050000 { ...@@ -210,6 +215,7 @@ qspi2: spi@10050000 {
clocks = <&prci PRCI_CLK_TLCLK>; clocks = <&prci PRCI_CLK_TLCLK>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabled";
}; };
}; };
}; };
...@@ -42,7 +42,20 @@ rtcclk: rtcclk { ...@@ -42,7 +42,20 @@ rtcclk: rtcclk {
}; };
}; };
&uart0 {
status = "okay";
};
&uart1 {
status = "okay";
};
&i2c0 {
status = "okay";
};
&qspi0 { &qspi0 {
status = "okay";
flash@0 { flash@0 {
compatible = "issi,is25wp256", "jedec,spi-nor"; compatible = "issi,is25wp256", "jedec,spi-nor";
reg = <0>; reg = <0>;
......
...@@ -69,6 +69,7 @@ CONFIG_VIRTIO_MMIO=y ...@@ -69,6 +69,7 @@ CONFIG_VIRTIO_MMIO=y
CONFIG_CLK_SIFIVE=y CONFIG_CLK_SIFIVE=y
CONFIG_CLK_SIFIVE_FU540_PRCI=y CONFIG_CLK_SIFIVE_FU540_PRCI=y
CONFIG_SIFIVE_PLIC=y CONFIG_SIFIVE_PLIC=y
CONFIG_SPI_SIFIVE=y
CONFIG_EXT4_FS=y CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS4_FS=y
...@@ -84,4 +85,8 @@ CONFIG_ROOT_NFS=y ...@@ -84,4 +85,8 @@ CONFIG_ROOT_NFS=y
CONFIG_CRYPTO_USER_API_HASH=y CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_CRYPTO_DEV_VIRTIO=y
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
CONFIG_SPI=y
CONFIG_MMC_SPI=y
CONFIG_MMC=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_RCU_TRACE is not set # CONFIG_RCU_TRACE is not set
...@@ -272,9 +272,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs) ...@@ -272,9 +272,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
* entries, but in RISC-V, SFENCE.VMA specifies an * entries, but in RISC-V, SFENCE.VMA specifies an
* ordering constraint, not a cache flush; it is * ordering constraint, not a cache flush; it is
* necessary even after writing invalid entries. * necessary even after writing invalid entries.
* Relying on flush_tlb_fix_spurious_fault would
* suffice, but the extra traps reduce
* performance. So, eagerly SFENCE.VMA.
*/ */
local_flush_tlb_page(addr); local_flush_tlb_page(addr);
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
/* /*
* Copyright (C) 2018-2019 SiFive, Inc. * Copyright (C) 2018-2019 SiFive, Inc.
* Wesley Terpstra * Wesley Terpstra
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment