| /linux/arch/riscv/boot/dts/sifive/ | 
| H A 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 …]
 
 | 
| H A 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>
 6 #include <dt-bindings/leds/common.h>
 7 #include <dt-bindings/pwm/pwm.h>
 14 	compatible = "sifive,hifive-unleashed-a00", "sifive,fu540-c000",
 15 		     "sifive,fu540";
 18 		stdout-path = "serial0";
 22 		timebase-frequency = <RTCCLK_FREQ>;
 [all …]
 
 | 
| H A 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/Documentation/devicetree/bindings/pwm/ | 
| H A 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   - Paul Walmsley <paul.walmsley@sifive.com>
 19   numbers can be found here -
 21   https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/pwm
 24   - $ref: pwm.yaml#
 29       - enum:
 30           - sifive,fu540-c000-pwm
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/cache/ | 
| H A D | sifive,ccache0.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)4 ---
 6 $schema: http://devicetree.org/meta-schemas/core.yaml#
 11   - Paul Walmsley <paul.walmsley@sifive.com>
 16   acts as directory-based coherency manager.
 24           - sifive,ccache0
 25           - sifive,fu540-c000-ccache
 26           - sifive,fu740-c000-ccache
 29     - compatible
 34       - items:
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/gpio/ | 
| H A 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   - Paul Walmsley <paul.walmsley@sifive.com>
 15       - enum:
 16           - sifive,fu540-c000-gpio
 17           - sifive,fu740-c000-gpio
 18           - canaan,k210-gpiohs
 19       - const: sifive,gpio0
 30   interrupt-controller: true
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/spi/ | 
| H A D | spi-sifive.yaml | 1 # SPDX-License-Identifier: GPL-2.03 ---
 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/Documentation/devicetree/bindings/clock/sifive/ | 
| H A 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   - Paul Walmsley  <paul.walmsley@sifive.com>
 14   On the FU540 family of SoCs, most system-wide clock and reset integration
 17   macros defined in include/dt-bindings/clock/sifive-fu540-prci.h.
 26     const: sifive,fu540-c000-prci
 33       - description: high frequency clock.
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/serial/ | 
| H A D | sifive-serial.yaml | 1 # SPDX-License-Identifier: GPL-2.03 ---
 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/drivers/clk/sifive/ | 
| H A D | fu540-prci.h | 1 /* SPDX-License-Identifier: GPL-2.0 */3  * Copyright (C) 2018-2021 SiFive, Inc.
 4  * Copyright (C) 2018-2019 Wesley Terpstra
 5  * Copyright (C) 2018-2019 Paul Walmsley
 6  * Copyright (C) 2020-2021 Zong Li
 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"
 25 #include <dt-bindings/clock/sifive-fu540-prci.h>
 [all …]
 
 | 
| H A D | sifive-prci.c | 1 // SPDX-License-Identifier: GPL-2.011 #include "sifive-prci.h"
 12 #include "fu540-prci.h"
 13 #include "fu740-prci.h"
 20  * __prci_readl() - read from a PRCI register
 34 	return readl_relaxed(pd->va + offs);  in __prci_readl()
 39 	writel_relaxed(v, pd->va + offs);  in __prci_writel()
 42 /* WRPLL-related private functions */
 45  * __prci_wrpll_unpack() - unpack WRPLL configuration registers into parameters
 64 	c->divr = v;  in __prci_wrpll_unpack()
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/riscv/ | 
| H A 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/Documentation/devicetree/bindings/i2c/ | 
| H A D | opencores,i2c-ocores.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/i2c/opencores,i2c-ocores.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Peter Korsgaard <peter@korsgaard.com>
 11   - Andrew Lunn <andrew@lunn.ch>
 14   - $ref: /schemas/i2c/i2c-controller.yaml#
 19       - items:
 20           - enum:
 21               - sifive,fu740-c000-i2c # Opencore based IP block FU740-C000 SoC
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/timer/ | 
| H A 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/drivers/dma/sf-pdma/ | 
| H A 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 …]
 
 | 
| /linux/Documentation/devicetree/bindings/sifive/ | 
| H A D | sifive-blocks-ip-versioning.txt | 1 DT compatible string versioning for SiFive open-source IP blocks4 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/arch/riscv/boot/dts/microchip/ | 
| H A D | mpfs.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)2 /* Copyright (c) 2020-2021 Microchip Technology Inc */
 4 /dts-v1/;
 5 #include "dt-bindings/clock/microchip,mpfs-clock.h"
 8 	#address-cells = <2>;
 9 	#size-cells = <2>;
 14 		#address-cells = <1>;
 15 		#size-cells = <0>;
 16 		timebase-frequency = <1000000>;
 21 			i-cache-block-size = <64>;
 [all …]
 
 | 
| /linux/drivers/pwm/ | 
| H A D | pwm-sifive.c | 1 // SPDX-License-Identifier: GPL-2.03  * Copyright (C) 2017-2018 SiFive
 5  * Reference Manual : https://static.dev.sifive.com/FU540-C000-v1.0.pdf
 12  * hard-tied to 0 (XNOR), which effectively inverts the comparison so that
 21  * **active-high** PWM interface.
 25  * - When changing both duty cycle and period, we cannot prevent in
 28  * - The hardware cannot generate a 0% duty cycle.
 29  * - The hardware generates only inverted output.
 81 	mutex_lock(&ddata->lock);  in pwm_sifive_request()
 82 	ddata->user_count++;  in pwm_sifive_request()
 [all …]
 
 | 
| /linux/drivers/tty/serial/ | 
| H A D | sifive.c | 1 // SPDX-License-Identifier: GPL-2.0+5  * Copyright (C) 2018-2019 SiFive
 8  * - drivers/tty/serial/pxa.c
 9  * - drivers/tty/serial/amba-pl011.c
 10  * - drivers/tty/serial/uartlite.c
 11  * - drivers/tty/serial/omap-serial.c
 12  * - drivers/pwm/pwm-sifive.c
 15  * - Chapter 19 "Universal Asynchronous Receiver/Transmitter (UART)" of
 16  *   SiFive FE310-G000 v2p3
 17  * - The tree/master/src/main/scala/devices/uart directory of
 [all …]
 
 | 
| /linux/drivers/net/ethernet/cadence/ | 
| H A D | macb_main.c | 1 // SPDX-License-Identifier: GPL-2.0-only5  * Copyright (C) 2004-2006 Atmel Corporation
 10 #include <linux/clk-provider.h>
 23 #include <linux/dma-mapping.h>
 37 #include <linux/firmware/xlnx-zynqmp.h>
 42 /* This structure is only used for MACB on SiFive FU540 devices */
 61 #define MACB_TX_WAKEUP_THRESH(bp)	(3 * (bp)->tx_ring_size / 4)
 72 …MAX_TX_LEN		((unsigned int)((1 << MACB_TX_FRMLEN_SIZE) - 1) & ~((unsigned int)(MACB_TX_LEN_ALIGN -…
 88  * 1 frame time (10 Mbits/s, full-duplex, ignoring collisions)
 127 	switch (bp->hw_dma_cap) {  in macb_dma_desc_get_size()
 [all …]
 
 |