/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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";
|
D | am5718.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,am5718", "ti,dra7";
|
D | am5728.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,am5728", "ti,dra7";
|
/linux-6.12.1/arch/arm64/boot/dts/ti/ |
D | k3-am654-idk.dtso | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/net/ti-dp83867.h> 13 #include "k3-pinctrl.h" 17 ethernet3 = "/icssg0-eth/ethernet-ports/port@0"; 18 ethernet4 = "/icssg0-eth/ethernet-ports/port@1"; 19 ethernet5 = "/icssg1-eth/ethernet-ports/port@0"; 20 ethernet6 = "/icssg1-eth/ethernet-ports/port@1"; [all …]
|
D | k3-am654-icssg2.dtso | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 11 #include <dt-bindings/net/ti-dp83867.h> 12 #include "k3-pinctrl.h" 16 ethernet1 = "/icssg2-eth/ethernet-ports/port@0"; 17 ethernet2 = "/icssg2-eth/ethernet-ports/port@1"; 20 /* Ethernet node on PRU-ICSSG2 */ 21 icssg2_eth: icssg2-eth { 22 compatible = "ti,am654-icssg-prueth"; [all …]
|
D | k3-am65-iot2050-common-pg1.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) Siemens AG, 2021-2023 11 #include "k3-am65-iot2050-dp.dtsi" 18 no-1-8-v; 46 compatible = "ti,am654-sr1-icssg-prueth"; 48 ti,prus = <&pru0_0>, <&rtu0_0>, <&pru0_1>, <&rtu0_1>; 49 firmware-name = "ti-pruss/am65x-pru0-prueth-fw.elf", 50 "ti-pruss/am65x-rtu0-prueth-fw.elf", 51 "ti-pruss/am65x-pru1-prueth-fw.elf", 52 "ti-pruss/am65x-rtu1-prueth-fw.elf"; [all …]
|
D | k3-am642-sr-som.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2023 Josua Mayer <josua@solid-run.com> 7 #include <dt-bindings/net/ti-dp83869.h> 11 compatible = "solidrun,am642-sr-som", "ti,am642"; 24 stdout-path = "serial2:115200n8"; 29 compatible = "ti,am642-icssg-prueth"; 30 pinctrl-names = "default"; 31 pinctrl-0 = <&pru_rgmii1_default_pins>, <&pru_rgmii2_default_pins>; 34 ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>, <&pru1_1>, <&rtu1_1>, <&tx_pru1_1>; 35 firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf", [all …]
|
D | k3-am642-phyboard-electra-rdk.dts | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2021-2024 PHYTEC America, LLC - https://www.phytec.com 6 * Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH 10 * https://www.phytec.com/product/phyboard-am64x 13 /dts-v1/; 15 #include <dt-bindings/gpio/gpio.h> 16 #include <dt-bindings/input/input.h> 17 #include <dt-bindings/leds/common.h> 18 #include <dt-bindings/leds/leds-pca9532.h> 19 #include <dt-bindings/phy/phy.h> [all …]
|
D | k3-am65-iot2050-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) Siemens AG, 2018-2024 12 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/phy/phy.h> 14 #include <dt-bindings/net/ti-dp83867.h> 36 stdout-path = "serial3:115200n8"; 39 reserved-memory { 40 #address-cells = <2>; 41 #size-cells = <2>; 44 secure_ddr: secure-ddr@9e800000 { [all …]
|
D | k3-am642-evm.dts | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/ 6 /dts-v1/; 8 #include <dt-bindings/phy/phy.h> 9 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/net/ti-dp83867.h> 12 #include "k3-am642.dtsi" 14 #include "k3-serdes.h" 17 compatible = "ti,am642-evm", "ti,am642"; [all …]
|
D | k3-am642-tqma64xxl-mbax4xxl.dts | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ 4 * Copyright (c) 2022-2024 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany. 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/net/ti-dp83867.h> 13 #include <dt-bindings/phy/phy.h> 14 #include <dt-bindings/pwm/pwm.h> [all …]
|
/linux-6.12.1/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 19 - ti,am642-icssg-prueth # for AM64x SoC family 20 - ti,am654-icssg-prueth # for AM65x SoC family 21 - ti,am654-sr1-icssg-prueth # for AM65x SoC family, SR1.0 [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/drivers/net/ethernet/ti/icssg/ |
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> 19 #include <linux/io-64-nonatomic-hi-lo.h> 29 #include <linux/remoteproc/pruss.h> 37 #include "../k3-cppi-desc-pool.h" 39 #define PRUETH_MODULE_DESCRIPTION "PRUSS ICSSG Ethernet driver" 56 struct prueth *prueth = emac->prueth; in emac_get_tx_ts() 65 memcpy_fromio(rsp, prueth->shram.va + addr, sizeof(*rsp)); in emac_get_tx_ts() [all …]
|
D | icssg_prueth_sr1.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2022 Texas Instruments Incorporated - https://www.ti.com/ 21 #include <linux/remoteproc/pruss.h> 26 #include "../k3-cppi-desc-pool.h" 28 #define PRUETH_MODULE_DESCRIPTION "PRUSS ICSSG SR1.0 Ethernet driver" 34 * situation. So use Q0-Q2 as data queues and Q3 as management queue 62 config.addr_lo = cpu_to_le32(lower_32_bits(prueth->msmcram.pa)); in icssg_config_sr1() 63 config.addr_hi = cpu_to_le32(upper_32_bits(prueth->msmcram.pa)); in icssg_config_sr1() 64 config.rx_flow_id = cpu_to_le32(emac->rx_flow_id_base); /* flow id for host port */ in icssg_config_sr1() 65 config.rx_mgr_flow_id = cpu_to_le32(emac->rx_mgm_flow_id_base); /* for mgm ch */ in icssg_config_sr1() [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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
|