| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/soc/ti/ |
| D | ti,pruss.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 TI Programmable Real-Time Unit and Industrial Communication Subsystem 11 - Suman Anna <s-anna@ti.com> 15 The Programmable Real-Time Unit and Industrial Communication Subsystem 16 (PRU-ICSS a.k.a. PRUSS) is present on various TI SoCs such as AM335x, AM437x, 17 Keystone 66AK2G, OMAP-L138/DA850 etc. A PRUSS consists of dual 32-bit RISC 18 cores (Programmable Real-Time Units, or PRUs), shared RAM, data and [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/ti/ |
| D | pruss.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS platform driver for various TI SoCs 5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - http://www.ti.com/ 7 * Suman Anna <s-anna@ti.com> 8 * Andrew F. Davis <afd@ti.com> 9 * Tero Kristo <t-kristo@ti.com> 12 #include <linux/clk-provider.h> 13 #include <linux/dma-mapping.h> 26 #include "pruss.h" 29 * struct pruss_private_data - PRUSS driver private data [all …]
|
| D | pruss.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * PRU-ICSS Subsystem user interfaces 5 * Copyright (C) 2015-2023 Texas Instruments Incorporated - http://www.ti.com 6 * MD Danish Anwar <danishanwar@ti.com> 50 * pruss_cfg_read() - read a PRUSS CFG sub-module register 51 * @pruss: the pruss instance handle 52 * @reg: register offset within the CFG sub-module 55 * Reads a given register within the PRUSS CFG sub-module and 56 * returns it through the passed-in @val pointer 60 static int pruss_cfg_read(struct pruss *pruss, unsigned int reg, unsigned int *val) in pruss_cfg_read() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/ti/ |
| D | ti,pruss.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 TI Programmable Real-Time Unit and Industrial Communication Subsystem 11 - Suman Anna <s-anna@ti.com> 15 The Programmable Real-Time Unit and Industrial Communication Subsystem 16 (PRU-ICSS a.k.a. PRUSS) is present on various TI SoCs such as AM335x, AM437x, 17 Keystone 66AK2G, OMAP-L138/DA850 etc. A PRUSS consists of dual 32-bit RISC 18 cores (Programmable Real-Time Units, or PRUs), shared RAM, data and [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/ti/ |
| D | pruss.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS platform driver for various TI SoCs 5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - http://www.ti.com/ 7 * Suman Anna <s-anna@ti.com> 8 * Andrew F. Davis <afd@ti.com> 11 #include <linux/clk-provider.h> 12 #include <linux/dma-mapping.h> 24 * struct pruss_private_data - PRUSS driver private data 25 * @has_no_sharedram: flag to indicate the absence of PRUSS Shared Data RAM 26 * @has_core_mux_clock: flag to indicate the presence of PRUSS core clock [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/ |
| D | ti,pruss-intc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/ti,pruss-intc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI PRU-ICSS Local Interrupt Controller 10 - Suman Anna <s-anna@ti.com> 13 Each PRU-ICSS has a single interrupt controller instance that is common 17 various other PRUSS internal and external peripherals. The first 2 output 20 including the MPU and/or other PRUSS instances, DSPs or devices. 22 The property "ti,irqs-reserved" is used for denoting the connection [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/interrupt-controller/ |
| D | ti,pruss-intc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/ti,pruss-intc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI PRU-ICSS Local Interrupt Controller 10 - Suman Anna <s-anna@ti.com> 13 Each PRU-ICSS has a single interrupt controller instance that is common 17 various other PRUSS internal and external peripherals. The first 2 output 20 including the MPU and/or other PRUSS instances, DSPs or devices. 22 The property "ti,irqs-reserved" is used for denoting the connection [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/ti/omap/ |
| D | am57-pruss.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ 5 * Common PRUSS data for TI AM57xx platforms 9 pruss1_tm: target-module@4b226000 { 10 compatible = "ti,sysc-pruss", "ti,sysc"; 13 reg-names = "rev", "sysc"; 14 ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 16 ti,sysc-midle = <SYSC_IDLE_FORCE>, 19 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 24 clock-names = "fck"; [all …]
|
| D | am4372.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 8 #include <dt-bindings/bus/ti-sysc.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/clock/am4.h> 14 compatible = "ti,am4372", "ti,am43"; 15 interrupt-parent = <&wakeupgen>; 16 #address-cells = <1>; 17 #size-cells = <1>; [all …]
|
| D | am5748.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com/ 6 #include "dra74x-p.dtsi" 7 #include "am57-pruss.dtsi" 10 compatible = "ti,am5748", "ti,dra762", "ti,dra7";
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/ |
| D | ti,icssg-prueth.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/ti,icssg-prueth.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Texas Instruments ICSSG PRUSS Ethernet 10 - Md Danish Anwar <danishanwar@ti.com> 13 Ethernet based on the Programmable Real-Time Unit and Industrial 17 - $ref: /schemas/remoteproc/ti,pru-consumer.yaml# 22 - ti,am654-icssg-prueth # for AM65x SoC family 32 dma-names: [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | pruss_driver.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * PRU-ICSS sub-system specific definitions 5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - http://www.ti.com/ 6 * Suman Anna <s-anna@ti.com> 15 * enum pruss_mem - PRUSS memory range identifiers 25 * struct pruss_mem_region - PRUSS memory region structure 26 * @va: kernel virtual address of the PRUSS memory region 27 * @pa: physical (bus) address of the PRUSS memory region 28 * @size: size of the PRUSS memory region 37 * struct pruss - PRUSS parent structure [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | pruss_driver.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * PRU-ICSS sub-system specific definitions 5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - http://www.ti.com/ 6 * Suman Anna <s-anna@ti.com> 13 #include <linux/remoteproc/pruss.h> 18 * enum pruss_gp_mux_sel - PRUSS GPI/O Mux modes for the 23 * values are interchanged. Also, this bit-field does not exist on 36 * enum pruss_gpi_mode - PRUSS GPI configuration modes, used 48 * enum pru_type - PRU core type identifier 50 * @PRU_TYPE_PRU: Programmable Real-time Unit [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/remoteproc/ |
| D | ti,pru-rproc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/ti,pru-rproc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI Programmable Realtime Unit (PRU) cores 10 - Suman Anna <s-anna@ti.com> 13 Each Programmable Real-Time Unit and Industrial Communication Subsystem 14 (PRU-ICSS or PRUSS) has two 32-bit load/store RISC CPU cores called 15 Programmable Real-Time Units (PRUs), each represented by a node. Each PRU 17 use the Data RAMs present within the PRU-ICSS for code execution. [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | am57-pruss.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/ 5 * Common PRUSS data for TI AM57xx platforms 9 pruss1_tm: target-module@4b226000 { 10 compatible = "ti,sysc-pruss", "ti,sysc"; 13 reg-names = "rev", "sysc"; 14 ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 16 ti,sysc-midle = <SYSC_IDLE_FORCE>, 19 ti,sysc-sidle = <SYSC_IDLE_FORCE>, 24 clock-names = "fck"; [all …]
|
| D | am5748.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com/ 7 #include "am57-pruss.dtsi" 10 compatible = "ti,am5748", "ti,dra762", "ti,dra7";
|
| /kernel/linux/linux-5.10/drivers/irqchip/ |
| D | irq-pruss-intc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS INTC IRQChip driver for various TI SoCs 5 * Copyright (C) 2016-2020 Texas Instruments Incorporated - http://www.ti.com/ 8 * Andrew F. Davis <afd@ti.com> 9 * Suman Anna <s-anna@ti.com> 24 * Number of host interrupts reaching the main MPU sub-system. Note that this 25 * is not the same as the total number of host interrupts supported by the PRUSS 57 /* CMR register bit-field macros */ 62 /* HMR register bit-field macros */ 67 /* HIPIR register bit-fields */ [all …]
|
| /kernel/linux/linux-6.6/drivers/irqchip/ |
| D | irq-pruss-intc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS INTC IRQChip driver for various TI SoCs 5 * Copyright (C) 2016-2020 Texas Instruments Incorporated - http://www.ti.com/ 8 * Andrew F. Davis <afd@ti.com> 9 * Suman Anna <s-anna@ti.com> 24 * Number of host interrupts reaching the main MPU sub-system. Note that this 25 * is not the same as the total number of host interrupts supported by the PRUSS 57 /* CMR register bit-field macros */ 62 /* HMR register bit-field macros */ 67 /* HIPIR register bit-fields */ [all …]
|
| /kernel/linux/linux-6.6/drivers/remoteproc/ |
| D | pru_rproc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS remoteproc driver for various TI SoCs 5 * Copyright (C) 2014-2022 Texas Instruments Incorporated - https://www.ti.com/ 8 * Suman Anna <s-anna@ti.com> 9 * Andrew F. Davis <afd@ti.com> 11 * Puranjay Mohan <p-mohan@ti.com> 12 * Md Danish Anwar <danishanwar@ti.com> 22 #include <linux/remoteproc/pruss.h> 41 /* CTRL register bit-fields */ 71 * enum pru_iomem - PRU core memory/register range identifiers [all …]
|
| D | pru_rproc.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 3 * PRUSS Remote Processor specific types 5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - https://www.ti.com/ 6 * Suman Anna <s-anna@ti.com> 13 * struct pruss_int_map - PRU system events _to_ channel and host mapping 19 * to host interrupts. Events can be mapped to channels in a one-to-one or 20 * many-to-one ratio (multiple events per channel), and channels can be 21 * mapped to host interrupts in a one-to-one or many-to-one ratio (multiple 31 * struct pru_irq_rsc - PRU firmware section header for IRQ data 37 * provides the PRUSS interrupt mapping description. The pru_irq_rsc struct
|
| /kernel/linux/linux-6.6/drivers/uio/ |
| D | uio_pruss.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Programmable Real-Time Unit Sub System (PRUSS) UIO driver (uio_pruss) 5 * This driver exports PRUSS host event out interrupts and PRUSS, L3 RAM, 6 * and DDR RAM to user space for applications interacting with PRUSS firmware 8 * Copyright (C) 2010-11 Texas Instruments Incorporated - http://www.ti.com/ 18 #include <linux/dma-mapping.h> 35 * Host event IRQ numbers from PRUSS - PRUSS can generate up to 8 interrupt 36 * events to AINTC of ARM host processor - which can be used for IPC b/w PRUSS 70 struct uio_pruss_dev *gdev = info->priv; in pruss_handler() 71 int intr_bit = (irq - gdev->hostirq_start + 2); in pruss_handler() [all …]
|
| /kernel/linux/linux-5.10/drivers/uio/ |
| D | uio_pruss.c | 2 * Programmable Real-Time Unit Sub System (PRUSS) UIO driver (uio_pruss) 4 * This driver exports PRUSS host event out interrupts and PRUSS, L3 RAM, 5 * and DDR RAM to user space for applications interacting with PRUSS firmware 7 * Copyright (C) 2010-11 Texas Instruments Incorporated - http://www.ti.com/ 26 #include <linux/dma-mapping.h> 43 * Host event IRQ numbers from PRUSS - PRUSS can generate up to 8 interrupt 44 * events to AINTC of ARM host processor - which can be used for IPC b/w PRUSS 78 struct uio_pruss_dev *gdev = info->priv; in pruss_handler() 79 int intr_bit = (irq - gdev->hostirq_start + 2); in pruss_handler() 81 void __iomem *base = gdev->prussio_vaddr + gdev->pintc_base; in pruss_handler() [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 36 for acknowledging the hardware device if needed, and re-enabling 114 performance memories and memory-mapped devices. For devices using 115 FCM or UPM eLBC modes, other device-specific drivers are available. 129 tristate "Texas Instruments PRUSS driver" 133 PRUSS driver for OMAPL138/DA850/AM18XX devices 134 PRUSS driver requires user space components, examples and user space 135 driver is available from below SVN repo - you may use anonymous login 137 https://gforge.ti.com/gf/project/pru_sw/ 141 http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/ti/icssg/ |
| D | icssg_prueth.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 2018-2022 Texas Instruments Incorporated - https://www.ti.com/ 26 #include <linux/remoteproc/pruss.h> 31 #include <linux/dma-mapping.h> 32 #include <linux/dma/ti-cppi5.h> 33 #include <linux/dma/k3-udma-glue.h> 41 #define PRUETH_MAX_MTU (2000 - ETH_HLEN - ETH_FCS_LEN) 56 #define ICSSG_NUM_ETHTOOL_STATS (ICSSG_NUM_STATS - ICSSG_NUM_STANDARD_STATS) 181 * struct prueth_pdata - PRUeth platform data 191 * struct prueth - PRUeth structure [all …]
|
| D | icssg_prueth.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2022 Texas Instruments Incorporated - https://www.ti.com/ 12 #include <linux/dma-mapping.h> 13 #include <linux/dma/ti-cppi5.h> 27 #include <linux/remoteproc/pruss.h> 33 #include "../k3-cppi-desc-pool.h" 35 #define PRUETH_MODULE_DESCRIPTION "PRUSS ICSSG Ethernet driver" 65 if (rx_chn->desc_pool) in prueth_cleanup_rx_chns() 66 k3_cppi_desc_pool_destroy(rx_chn->desc_pool); in prueth_cleanup_rx_chns() 68 if (rx_chn->rx_chn) in prueth_cleanup_rx_chns() [all …]
|