Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f9b2c40
dt-bindings: serial: add bindings doc for Bouffalolab uart driver
xhackerustc Nov 20, 2022
2c19a5b
riscv: add the Bouffalolab SoC family Kconfig option
xhackerustc Nov 20, 2022
77c6c7a
riscv: dts: bouffalolab: add the bl808 SoC base device tree
xhackerustc Nov 20, 2022
cddacea
riscv: dts: bouffalolab: add Sipeed M1S dock devicetree
xhackerustc Nov 20, 2022
69f0772
MAINTAINERS: add myself as Bouffalolab SoC entry maintainer
xhackerustc Nov 20, 2022
398fa5f
riscv: bl808: Add defconfig
arm000 Jan 8, 2023
87c20a5
riscv: dts: bouffalolab: add bootargs/initrd
arm000 Jan 8, 2023
c463c23
riscv: dts: bouffalolab: add xip_flash
arm000 Jan 8, 2023
950fd2a
WIP: add BFLB MBOX interrupt controller driver
arm000 Jan 12, 2023
6617696
WIP: sdhci: add BFLB sdhci driver
arm000 Jan 12, 2023
4b74d10
bl808_defconfig: enable sdhci driver
arm000 Jan 11, 2023
69e4d28
bl808_defconfig: enable mailbox irqchip driver
arm000 Jan 11, 2023
3b946f7
bl808_defconfig: enable irq debugfs
arm000 Jan 11, 2023
e4017e3
WIP: add BFLB MBOX interrupt controller driver
arm000 Jan 12, 2023
885fc70
UART2 working under Linux!
alexhorner Jan 14, 2023
9a54e5b
dts: bl808: add fake sdh clock at 96MHz
arm000 Jan 15, 2023
ad398a4
Disable flash rootfs for now, edit bootargs to use SDHCI ext4 partiti…
alexhorner Jan 15, 2023
b2fe283
Update defconfig with EXT4 support for SD rootfs
alexhorner Jan 15, 2023
4c45c42
usb: add bflb ehci controller
arm000 Jan 13, 2023
0a71847
bl808_defconfig: enable USB and EHCI
arm000 Jan 13, 2023
aa9ca42
dts: bl808: fix offset of ehci controller
arm000 Jan 16, 2023
3258905
bl808_defconfig: enable USB serial and network devices
arm000 Jan 16, 2023
dcecd69
Rename DTS Files
Fishwaldo Jan 20, 2023
5de1031
dts: bl808-pine64-ox64: change rootfs to /dev/mmcblk0p2
arm000 Jan 21, 2023
3788416
dts: bl808-pine64-ox64: disable secondary UART
arm000 Jan 25, 2023
92d66e0
dts: bl808: add entry for EMAC device
arm000 Jan 25, 2023
2ad217b
riscv: bl808_defconfig: enable ETHOC driver
arm000 Jan 25, 2023
a7bbe72
dts: bl808: enable enet nodes
arm000 Jan 25, 2023
ee0931d
riscv: dts: bflb: m1s: Fix address/size-cells
smaeul Feb 5, 2023
be296b4
riscv: dts: bflb: ox64: Fix address/size-cells
arm000 Feb 6, 2023
d48d4b1
Add timer node for OpenSBI 1.2 compatibility
Fishwaldo Feb 6, 2023
b79eef5
Tabstops are 8 chars, not 4
Fishwaldo Feb 6, 2023
4fb0219
Update device trees for new GPIO and HWRNG drivers
alexhorner Feb 16, 2023
56820fe
Update bl808_defconfig for new drivers
alexhorner Feb 14, 2023
5bc3035
Bring M1s device tree up to date with Ox64's changes, fix compatible …
alexhorner Feb 16, 2023
b9595ae
Add GPIO/PINCTRL and HWRNG/Crypto drivers
alexhorner Feb 14, 2023
3532068
BL808 Watchdog Support #2/3: device-tree updates
grant-olson Mar 10, 2023
a4c7de0
BL808 Watchdog Support #2/3: Watchdog device driver
grant-olson Feb 6, 2023
1e52544
BL808 Watchdog Support #3/3: Enable Watchdog in bl808_defconfig
grant-olson Feb 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions Documentation/devicetree/bindings/serial/bouffalolab,uart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2022 Jisheng Zhang <[email protected]>
%YAML 1.2
---
$id: "http://devicetree.org/schemas/serial/bouffalolab,uart.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Bouffalolab UART Controller

maintainers:
- Jisheng Zhang <[email protected]>

allOf:
- $ref: serial.yaml#

properties:
compatible:
const: bouffalolab,uart

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
maxItems: 1

required:
- compatible
- reg
- interrupts
- clocks

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
aliases {
serial0 = &uart0;
};

uart0: serial@30002000 {
compatible = "bouffalolab,uart";
reg = <0x30002000 0x1000>;
interrupts = <53 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&xtal>;
};
...
6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -17975,6 +17975,12 @@ F: arch/riscv/
N: riscv
K: riscv

RISC-V BOUFFALOLAB SOC SUPPORT
M: Jisheng Zhang <[email protected]>
L: linux-riscv at lists.infradead.org
S: Maintained
F: arch/riscv/boot/dts/bouffalolab/

RISC-V MICROCHIP FPGA SUPPORT
M: Conor Dooley <[email protected]>
M: Daire McNamara <[email protected]>
Expand Down
6 changes: 6 additions & 0 deletions arch/riscv/Kconfig.socs
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
menu "SoC selection"

config SOC_BOUFFALOLAB
bool "Bouffalolab SoCs"
select SIFIVE_PLIC
help
This enables support for Bouffalolab SoC platforms.

config SOC_MICROCHIP_POLARFIRE
bool "Microchip PolarFire SoCs"
select MCHP_CLK_MPFS
Expand Down
1 change: 1 addition & 0 deletions arch/riscv/boot/dts/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
subdir-y += bouffalolab
subdir-y += sifive
subdir-y += starfive
subdir-$(CONFIG_SOC_CANAAN_K210_DTB_BUILTIN) += canaan
Expand Down
3 changes: 3 additions & 0 deletions arch/riscv/boot/dts/bouffalolab/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_SOC_BOUFFALOLAB) += bl808-sipeed-m1s.dtb
dtb-$(CONFIG_SOC_BOUFFALOLAB) += bl808-pine64-ox64.dtb
72 changes: 72 additions & 0 deletions arch/riscv/boot/dts/bouffalolab/bl808-pine64-ox64.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
/*
* Copyright (C) 2022 Jisheng Zhang <[email protected]>
*/

/dts-v1/;

#include "bl808.dtsi"

/ {
model = "Pine64 Ox64";
compatible = "pine64,ox64", "bflb,bl808";

aliases {
serial0 = &uart0;
serial1 = &uart1;
};

chosen {
stdout-path = "serial0:2000000n8";
bootargs = "console=ttyS0,2000000 loglevel=8 earlycon=sbi root=/dev/mmcblk0p2 rootwait rootfstype=ext4";
linux,initrd-start = <0x0 0x52000000>;
linux,initrd-end = <0x0 0x52941784>;
};

memory@50000000 {
device_type = "memory";
reg = <0x50000000 0x04000000>;
};

xip_flash@58500000 {
compatible = "mtd-rom";
reg = <0x58500000 0x400000>;
linux,mtd-name = "xip-flash.0";
erase-size = <0x10000>;
bank-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
};
};

&pinctrl {
status = "okay";
};

&seceng {
status = "okay";
};

&uart0 {
status = "okay";
};

&sdhci0 {
status = "okay";
};

&ipclic {
status = "okay";
};

&ehci0 {
status = "okay";
};

&enet0 {
status = "okay";
};

&wdt {
status = "okay";
};
86 changes: 86 additions & 0 deletions arch/riscv/boot/dts/bouffalolab/bl808-sipeed-m1s.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
/*
* Copyright (C) 2022 Jisheng Zhang <[email protected]>
*/

/dts-v1/;

#include "bl808.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/ {
model = "Sipeed M1s";
compatible = "sipeed,m1s", "bflb,bl808";

aliases {
serial0 = &uart0;
};

chosen {
stdout-path = "serial0:2000000n8";
bootargs = "console=ttyS0,2000000 loglevel=8 earlycon=sbi root=/dev/mmcblk0p2 rootwait rootfstype=ext4";
linux,initrd-start = <0x0 0x52000000>;
linux,initrd-end = <0x0 0x52941784>;
};

memory@50000000 {
device_type = "memory";
reg = <0x50000000 0x04000000>;
};

xip_flash@58500000 {
compatible = "mtd-rom";
reg = <0x58500000 0x400000>;
linux,mtd-name = "xip-flash.0";
erase-size = <0x10000>;
bank-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
};

leds {
compatible = "gpio-leds";

led {
gpios = <&pinctrl 8 GPIO_ACTIVE_LOW>;
};
};
};

&pinctrl {
status = "okay";

led {
pins = "GPIO8";
function = "gpio";
};
};

&seceng {
status = "okay";
};

&uart0 {
status = "okay";
};

&sdhci0 {
status = "okay";
};

&ipclic {
status = "okay";
};

&ehci0 {
status = "okay";
};

&enet0 {
status = "okay";
};

&wdt {
status = "okay";
};
Loading