/Linux-v5.15/arch/riscv/boot/dts/sifive/ |
D | fu540-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2018-2019 SiFive, Inc */ 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu540-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu540-c000", "sifive,fu540"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; [all …]
|
D | hifive-unleashed-a00.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2018-2019 SiFive, Inc */ 4 #include "fu540-c000.dtsi" 5 #include <dt-bindings/gpio/gpio.h> 11 #address-cells = <2>; 12 #size-cells = <2>; 14 compatible = "sifive,hifive-unleashed-a00", "sifive,fu540-c000"; 17 stdout-path = "serial0"; 21 timebase-frequency = <RTCCLK_FREQ>; 33 #clock-cells = <0>; [all …]
|
D | fu740-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu740-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu740-c000", "sifive,fu740"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; 29 i-cache-sets = <128>; [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/pwm/ |
D | pwm-sifive.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pwm/pwm-sifive.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Yash Shah <yash.shah@sifive.com> 12 - Sagar Kadam <sagar.kadam@sifive.com> 13 - Paul Walmsley <paul.walmsley@sifive.com> 21 numbers can be found here - 23 https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/pwm 28 - enum: [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/dma/ |
D | sifive,fu540-c000-pdma.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/dma/sifive,fu540-c000-pdma.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: SiFive Unleashed Rev C000 Platform DMA 10 - Green Wan <green.wan@sifive.com> 11 - Palmer Debbelt <palmer@sifive.com> 12 - Paul Walmsley <paul.walmsley@sifive.com> 23 https://static.dev.sifive.com/FU540-C000-v1.0.pdf 28 - const: sifive,fu540-c000-pdma [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/gpio/ |
D | sifive,gpio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Yash Shah <yash.shah@sifive.com> 11 - Paul Walmsley <paul.walmsley@sifive.com> 16 - enum: 17 - sifive,fu540-c000-gpio 18 - sifive,fu740-c000-gpio 19 - canaan,k210-gpiohs 20 - const: sifive,gpio0 [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/riscv/ |
D | sifive-l2-cache.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/riscv/sifive-l2-cache.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Sagar Kadam <sagar.kadam@sifive.com> 12 - Yash Shah <yash.shah@sifive.com> 13 - Paul Walmsley <paul.walmsley@sifive.com> 18 acts as directory-based coherency manager. 22 - $ref: /schemas/cache-controller.yaml# 29 - sifive,fu540-c000-ccache [all …]
|
D | sifive.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: SiFive SoC-based boards 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 14 SiFive SoC-based boards 21 - items: 22 - enum: 23 - sifive,hifive-unleashed-a00 [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/spi/ |
D | spi-sifive.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/spi/spi-sifive.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Pragnesh Patel <pragnesh.patel@sifive.com> 11 - Paul Walmsley <paul.walmsley@sifive.com> 12 - Palmer Dabbelt <palmer@sifive.com> 15 - $ref: "spi-controller.yaml#" 20 - enum: 21 - sifive,fu540-c000-spi [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/clock/sifive/ |
D | fu540-prci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/clock/sifive/fu540-prci.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: SiFive FU540 Power Reset Clock Interrupt Controller (PRCI) 11 - Sagar Kadam <sagar.kadam@sifive.com> 12 - Paul Walmsley <paul.walmsley@sifive.com> 15 On the FU540 family of SoCs, most system-wide clock and reset integration 18 macros defined in include/dt-bindings/clock/sifive-fu540-prci.h. 27 const: sifive,fu540-c000-prci [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/timer/ |
D | sifive,clint.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Palmer Dabbelt <palmer@dabbelt.com> 11 - Anup Patel <anup.patel@wdc.com> 14 SiFive (and other RISC-V) SOCs include an implementation of the SiFive 15 Core Local Interruptor (CLINT) for M-mode timer and M-mode inter-processor 16 interrupts. It directly connects to the timer and inter-processor interrupt 17 lines of various HARTs (or CPUs) so RISC-V per-HART (or per-CPU) local 19 The clock frequency of CLINT is specified via "timebase-frequency" DT [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/serial/ |
D | sifive-serial.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/serial/sifive-serial.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Pragnesh Patel <pragnesh.patel@sifive.com> 11 - Paul Walmsley <paul.walmsley@sifive.com> 12 - Palmer Dabbelt <palmer@sifive.com> 15 - $ref: serial.yaml# 20 - enum: 21 - sifive,fu540-c000-uart [all …]
|
/Linux-v5.15/drivers/clk/sifive/ |
D | fu540-prci.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2018-2019 SiFive, Inc. 4 * Copyright (C) 2018-2019 Wesley Terpstra 5 * Copyright (C) 2018-2019 Paul Walmsley 8 * The FU540 PRCI implements clock and reset control for the SiFive 9 * FU540-C000 chip. This driver assumes that it has sole control 13 * https://github.com/riscv/riscv-linux/commit/999529edf517ed75b56659d456d221b2ee56bb60 16 * - SiFive FU540-C000 manual v1p0, Chapter 7 "Clocking and Reset" 21 #include <dt-bindings/clock/sifive-fu540-prci.h> 23 #include "fu540-prci.h" [all …]
|
D | sifive-prci.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "sifive-prci.h" 12 #include "fu540-prci.h" 13 #include "fu740-prci.h" 25 * __prci_readl() - read from a PRCI register 39 return readl_relaxed(pd->va + offs); in __prci_readl() 44 writel_relaxed(v, pd->va + offs); in __prci_writel() 47 /* WRPLL-related private functions */ 50 * __prci_wrpll_unpack() - unpack WRPLL configuration registers into parameters 69 c->divr = v; in __prci_wrpll_unpack() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/net/ |
D | macb.txt | 4 - compatible: Should be "cdns,[<chip>-]{macb|gem}" 5 Use "cdns,at91rm9200-emac" Atmel at91rm9200 SoC. 6 Use "cdns,at91sam9260-macb" for Atmel at91sam9 SoCs. 7 Use "cdns,sam9x60-macb" for Microchip sam9x60 SoC. 8 Use "cdns,np4-macb" for NP4 SoC devices. 9 Use "cdns,at32ap7000-macb" for other 10/100 usage or use the generic form: "cdns,macb". 10 Use "atmel,sama5d2-gem" for the GEM IP (10/100) available on Atmel sama5d2 SoCs. 11 Use "atmel,sama5d29-gem" for GEM XL IP (10/100) available on Atmel sama5d29 SoCs. 12 Use "atmel,sama5d3-macb" for the 10/100Mbit IP available on Atmel sama5d3 SoCs. 13 Use "atmel,sama5d3-gem" for the Gigabit IP available on Atmel sama5d3 SoCs. [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/i2c/ |
D | i2c-ocores.txt | 1 Device tree configuration for i2c-ocores 4 - compatible : "opencores,i2c-ocores" 6 "sifive,fu540-c000-i2c", "sifive,i2c0" 8 FU540-C000 SoC. 9 "sifive,fu740-c000-i2c", "sifive,i2c0" 11 FU740-C000 SoC. 12 Please refer to sifive-blocks-ip-versioning.txt for 14 - reg : bus address start and address range size of device 15 - clocks : handle to the controller clock; see the note below. 16 Mutually exclusive with opencores,ip-clock-frequency [all …]
|
/Linux-v5.15/drivers/dma/sf-pdma/ |
D | sf-pdma.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * SiFive FU540 Platform DMA driver 7 * - drivers/dma/fsl-edma.c 8 * - drivers/dma/dw-edma/ 9 * - drivers/dma/pxa-dma.c 12 * - Chapter 12 "Platform DMA Engine (PDMA)" of 13 * SiFive FU540-C000 v1.0 14 * https://static.dev.sifive.com/FU540-C000-v1.0.pdf 20 #include <linux/dma-direction.h> 23 #include "../virt-dma.h" [all …]
|
D | sf-pdma.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * SiFive FU540 Platform DMA driver 7 * - drivers/dma/fsl-edma.c 8 * - drivers/dma/dw-edma/ 9 * - drivers/dma/pxa-dma.c 12 * - Chapter 12 "Platform DMA Engine (PDMA)" of 13 * SiFive FU540-C000 v1.0 14 * https://static.dev.sifive.com/FU540-C000-v1.0.pdf 21 #include <linux/dma-mapping.h> 25 #include "sf-pdma.h" [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/sifive/ |
D | sifive-blocks-ip-versioning.txt | 1 DT compatible string versioning for SiFive open-source IP blocks 4 strings for open-source SiFive IP blocks. HDL for these IP blocks 7 https://github.com/sifive/sifive-blocks 9 IP block-specific DT compatible strings are contained within the HDL, 10 in the form "sifive,<ip-block-name><integer version number>". 14 https://github.com/sifive/sifive-blocks/blob/v1.0/src/main/scala/devices/uart/UART.scala#L43 17 auto-discovery, the maintainers of these IP blocks intend to increment 25 upstream sifive-blocks commits. It is expected that most drivers will 26 match on these IP block-specific compatible strings. 29 continue to specify an SoC-specific compatible string value, such as [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/interrupt-controller/ |
D | sifive,plic-1.0.0.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 4 --- 5 $id: http://devicetree.org/schemas/interrupt-controller/sifive,plic-1.0.0.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: SiFive Platform-Level Interrupt Controller (PLIC) 11 SiFive SoCs and other RISC-V SoCs include an implementation of the 12 Platform-Level Interrupt Controller (PLIC) high-level specification in 13 the RISC-V Privileged Architecture specification. The PLIC connects all 18 in an 4 core system with 2-way SMT, you have 8 harts and probably at least two 21 Each interrupt can be enabled on per-context basis. Any context can claim [all …]
|
D | riscv,cpu-intc.txt | 1 RISC-V Hart-Level Interrupt Controller (HLIC) 2 --------------------------------------------- 4 RISC-V cores include Control Status Registers (CSRs) which are local to each 5 CPU core (HART in RISC-V terminology) and can be read or written by software. 10 The RISC-V supervisor ISA manual specifies three interrupt sources that are 13 timer interrupt comes from an architecturally mandated real-time timer that is 16 via the platform-level interrupt controller (PLIC). 18 All RISC-V systems that conform to the supervisor ISA specification are 27 - compatible : "riscv,cpu-intc" 28 - #interrupt-cells : should be <1>. The interrupt sources are defined by the [all …]
|
/Linux-v5.15/arch/riscv/boot/dts/microchip/ |
D | microchip-mpfs.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 /dts-v1/; 7 #address-cells = <2>; 8 #size-cells = <2>; 10 compatible = "microchip,mpfs-icicle-kit"; 16 #address-cells = <1>; 17 #size-cells = <0>; 20 clock-frequency = <0>; 23 i-cache-block-size = <64>; 24 i-cache-sets = <128>; [all …]
|
/Linux-v5.15/drivers/clk/analogbits/ |
D | wrpll-cln28hpc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2018-2019 SiFive, Inc. 16 * pre-determined set of performance points. 19 * - Analog Bits "Wide Range PLL Datasheet", version 2015.10.01 20 * - SiFive FU540-C000 Manual v1p0, Chapter 7 "Clocking and Reset" 21 * https://static.dev.sifive.com/FU540-C000-v1.0.pdf 32 #include <linux/clk/analogbits-wrpll-cln28hpc.h> 40 /* MIN_POST_DIVIDE_REF_FREQ: minimum post-divider reference frequency, in Hz */ 43 /* MAX_POST_DIVIDE_REF_FREQ: maximum post-divider reference frequency, in Hz */ 72 * __wrpll_calc_filter_range() - determine PLL loop filter bandwidth [all …]
|
/Linux-v5.15/drivers/soc/sifive/ |
D | sifive_l2_cache.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2019 SiFive, Inc. 58 return -EINVAL; in l2_write() 62 return -EINVAL; in l2_write() 100 { .compatible = "sifive,fu540-c000-ccache" }, 101 { .compatible = "sifive,fu740-c000-ccache" }, 145 if (this_leaf->level == 2) in l2_get_priv_group() 203 return -ENODEV; in sifive_l2_init() 206 return -ENODEV; in sifive_l2_init() 210 return -ENOMEM; in sifive_l2_init() [all …]
|
/Linux-v5.15/drivers/i2c/busses/ |
D | i2c-ocores.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * i2c-ocores.c: I2C bus driver for OpenCores I2C controller 22 #include <linux/platform_data/i2c-ocores.h> 87 #define OCORES_FLAG_BROKEN_IRQ BIT(1) /* Broken IRQ for FU540-C000 SoC */ 91 iowrite8(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_8() 96 iowrite16(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_16() 101 iowrite32(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_32() 106 iowrite16be(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_16be() 111 iowrite32be(value, i2c->base + (reg << i2c->reg_shift)); in oc_setreg_32be() 116 return ioread8(i2c->base + (reg << i2c->reg_shift)); in oc_getreg_8() [all …]
|