aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-04-16 13:46:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-04-16 13:46:37 -0400
commit444fe991353987c1c9bc5ab1f903d01f1b4ad415 (patch)
treeadd65f4ef5dba7e484f4bb1c401a278af81183bc
parentb5de3c5026f52b6b409904a1c37f590a6c0e44c5 (diff)
parentf05badde4e20d2e0f8c39d07a6873b2bfb0754f8 (diff)
Merge tag 'riscv-for-linus-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
Pull RISC-V fixes from Palmer Dabbelt: "This contains an assortment of RISC-V-related fixups that we found after rc4. They're all really unrelated: - The addition of a 32-bit defconfig, to emphasize testing the 32-bit port. - A device tree bindings patch, which is pre-work for some patches that target 5.2. - A fix to support booting on systems with more physical memory than the maximum supported by the kernel" * tag 'riscv-for-linus-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux: RISC-V: Fix Maximum Physical Memory 2GiB option for 64bit systems dt-bindings: clock: sifive: add FU540-C000 PRCI clock constants RISC-V: Add separate defconfig for 32bit systems
-rw-r--r--arch/riscv/configs/rv32_defconfig84
-rw-r--r--arch/riscv/mm/init.c8
-rw-r--r--include/dt-bindings/clock/sifive-fu540-prci.h18
3 files changed, 110 insertions, 0 deletions
diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig
new file mode 100644
index 000000000000..1a911ed8e772
--- /dev/null
+++ b/arch/riscv/configs/rv32_defconfig
@@ -0,0 +1,84 @@
1CONFIG_SYSVIPC=y
2CONFIG_POSIX_MQUEUE=y
3CONFIG_IKCONFIG=y
4CONFIG_IKCONFIG_PROC=y
5CONFIG_CGROUPS=y
6CONFIG_CGROUP_SCHED=y
7CONFIG_CFS_BANDWIDTH=y
8CONFIG_CGROUP_BPF=y
9CONFIG_NAMESPACES=y
10CONFIG_USER_NS=y
11CONFIG_CHECKPOINT_RESTORE=y
12CONFIG_BLK_DEV_INITRD=y
13CONFIG_EXPERT=y
14CONFIG_BPF_SYSCALL=y
15CONFIG_ARCH_RV32I=y
16CONFIG_SMP=y
17CONFIG_MODULES=y
18CONFIG_MODULE_UNLOAD=y
19CONFIG_NET=y
20CONFIG_PACKET=y
21CONFIG_UNIX=y
22CONFIG_INET=y
23CONFIG_IP_MULTICAST=y
24CONFIG_IP_ADVANCED_ROUTER=y
25CONFIG_IP_PNP=y
26CONFIG_IP_PNP_DHCP=y
27CONFIG_IP_PNP_BOOTP=y
28CONFIG_IP_PNP_RARP=y
29CONFIG_NETLINK_DIAG=y
30CONFIG_PCI=y
31CONFIG_PCIEPORTBUS=y
32CONFIG_PCI_HOST_GENERIC=y
33CONFIG_PCIE_XILINX=y
34CONFIG_DEVTMPFS=y
35CONFIG_BLK_DEV_LOOP=y
36CONFIG_VIRTIO_BLK=y
37CONFIG_BLK_DEV_SD=y
38CONFIG_BLK_DEV_SR=y
39CONFIG_ATA=y
40CONFIG_SATA_AHCI=y
41CONFIG_SATA_AHCI_PLATFORM=y
42CONFIG_NETDEVICES=y
43CONFIG_VIRTIO_NET=y
44CONFIG_MACB=y
45CONFIG_E1000E=y
46CONFIG_R8169=y
47CONFIG_MICROSEMI_PHY=y
48CONFIG_INPUT_MOUSEDEV=y
49CONFIG_SERIAL_8250=y
50CONFIG_SERIAL_8250_CONSOLE=y
51CONFIG_SERIAL_OF_PLATFORM=y
52CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
53CONFIG_HVC_RISCV_SBI=y
54# CONFIG_PTP_1588_CLOCK is not set
55CONFIG_DRM=y
56CONFIG_DRM_RADEON=y
57CONFIG_FRAMEBUFFER_CONSOLE=y
58CONFIG_USB=y
59CONFIG_USB_XHCI_HCD=y
60CONFIG_USB_XHCI_PLATFORM=y
61CONFIG_USB_EHCI_HCD=y
62CONFIG_USB_EHCI_HCD_PLATFORM=y
63CONFIG_USB_OHCI_HCD=y
64CONFIG_USB_OHCI_HCD_PLATFORM=y
65CONFIG_USB_STORAGE=y
66CONFIG_USB_UAS=y
67CONFIG_VIRTIO_MMIO=y
68CONFIG_SIFIVE_PLIC=y
69CONFIG_EXT4_FS=y
70CONFIG_EXT4_FS_POSIX_ACL=y
71CONFIG_AUTOFS4_FS=y
72CONFIG_MSDOS_FS=y
73CONFIG_VFAT_FS=y
74CONFIG_TMPFS=y
75CONFIG_TMPFS_POSIX_ACL=y
76CONFIG_NFS_FS=y
77CONFIG_NFS_V4=y
78CONFIG_NFS_V4_1=y
79CONFIG_NFS_V4_2=y
80CONFIG_ROOT_NFS=y
81CONFIG_CRYPTO_USER_API_HASH=y
82CONFIG_CRYPTO_DEV_VIRTIO=y
83CONFIG_PRINTK_TIME=y
84# CONFIG_RCU_TRACE is not set
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 5fd8c922e1c2..bc7b77e34d09 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -121,6 +121,14 @@ void __init setup_bootmem(void)
121 */ 121 */
122 memblock_reserve(reg->base, vmlinux_end - reg->base); 122 memblock_reserve(reg->base, vmlinux_end - reg->base);
123 mem_size = min(reg->size, (phys_addr_t)-PAGE_OFFSET); 123 mem_size = min(reg->size, (phys_addr_t)-PAGE_OFFSET);
124
125 /*
126 * Remove memblock from the end of usable area to the
127 * end of region
128 */
129 if (reg->base + mem_size < end)
130 memblock_remove(reg->base + mem_size,
131 end - reg->base - mem_size);
124 } 132 }
125 } 133 }
126 BUG_ON(mem_size == 0); 134 BUG_ON(mem_size == 0);
diff --git a/include/dt-bindings/clock/sifive-fu540-prci.h b/include/dt-bindings/clock/sifive-fu540-prci.h
new file mode 100644
index 000000000000..6a0b70a37d78
--- /dev/null
+++ b/include/dt-bindings/clock/sifive-fu540-prci.h
@@ -0,0 +1,18 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2018-2019 SiFive, Inc.
4 * Wesley Terpstra
5 * Paul Walmsley
6 */
7
8#ifndef __DT_BINDINGS_CLOCK_SIFIVE_FU540_PRCI_H
9#define __DT_BINDINGS_CLOCK_SIFIVE_FU540_PRCI_H
10
11/* Clock indexes for use by Device Tree data and the PRCI driver */
12
13#define PRCI_CLK_COREPLL 0
14#define PRCI_CLK_DDRPLL 1
15#define PRCI_CLK_GEMGXLPLL 2
16#define PRCI_CLK_TLCLK 3
17
18#endif