Home
last modified time | relevance | path

Searched full:pru (Results 1 – 25 of 29) sorted by relevance

12

/linux/Documentation/devicetree/bindings/remoteproc/
H A Dti,pru-rproc.yaml4 $id: http://devicetree.org/schemas/remoteproc/ti,pru-rproc.yaml#
7 title: TI Programmable Realtime Unit (PRU) cores
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.
20 PRU cores called RTUs with slightly different IP integration. The K3 SoCs
22 auxiliary Transmit PRU cores called Tx_PRUs that augment the PRUs. Each RTU
23 or Tx_PRU core can also be used independently like a PRU, or alongside a
24 corresponding PRU core to provide/implement auxiliary functionality/support.
26 Each PRU, RTU or Tx_PRU core node should be defined as a child node of the
[all …]
H A Dti,pru-consumer.yaml4 $id: http://devicetree.org/schemas/remoteproc/ti,pru-consumer.yaml#
7 title: TI PRU Consumer Common Properties
13 A PRU application/consumer/user node typically uses one or more PRU device
14 nodes to implement a PRU application/functionality. Each application/client
15 node would need a reference to at least a PRU node, and optionally define
17 properties are a list of common properties supported by the PRU remoteproc
26 description: phandles to the PRU, RTU or Tx_PRU nodes used
37 firmwares for the PRU cores, the default firmware for the core from
38 the PRU node will be used if not provided. The firmware names should
39 correspond to the PRU cores listed in the 'ti,prus' property
[all …]
/linux/include/linux/remoteproc/
H A Dpruss.h3 * PRU-ICSS Subsystem user interfaces
15 #define PRU_RPROC_DRVNAME "pru-rproc"
18 * enum pruss_pru_id - PRU core identifiers
19 * @PRUSS_PRU0: PRU Core 0.
20 * @PRUSS_PRU1: PRU Core 1.
21 * @PRUSS_NUM_PRUS: Total number of PRU Cores available.
/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Dti,pruss-intc.yaml7 title: TI PRU-ICSS Local Interrupt Controller
13 Each PRU-ICSS has a single interrupt controller instance that is common
14 to all the PRU cores. Most interrupt controllers can route 64 input events
18 interrupts (0, 1) are fed exclusively to the internal PRU cores, with the
77 Client users shall use the PRU System event number (the interrupt source
78 that the client is interested in) [cell 1], PRU channel [cell 2] and PRU
113 /* AM33xx PRU-ICSS */
136 /* AM4376 PRU-ICSS */
/linux/drivers/remoteproc/
H A Dpru_rproc.h13 * struct pruss_int_map - PRU system events _to_ channel and host mapping
18 * PRU system events are mapped to channels, and these channels are mapped
31 * struct pru_irq_rsc - PRU firmware section header for IRQ data
34 * @pru_intc_map: PRU interrupt routing description
36 * The PRU firmware blob can contain optional .pru_irq_map ELF section, which
H A DKconfig153 tristate "TI PRU remoteproc support"
157 Support for TI PRU remote processors present within a PRU-ICSS
160 Say Y or M here to support the Programmable Realtime Unit (PRU)
162 not interested in the PRU or if you are unsure.
/linux/arch/arm/boot/dts/ti/omap/
H A Dam57-pruss.dtsi88 pru1_0: pru@34000 {
89 compatible = "ti,am5728-pru";
97 pru1_1: pru@38000 {
98 compatible = "ti,am5728-pru";
197 pru2_0: pru@34000 {
198 compatible = "ti,am5728-pru";
206 pru2_1: pru@38000 {
207 compatible = "ti,am5728-pru";
H A Dam4372.dtsi498 pru1_0: pru@34000 {
499 compatible = "ti,am4376-pru";
507 pru1_1: pru@38000 {
508 compatible = "ti,am4376-pru";
585 pru0_0: pru@74000 {
586 compatible = "ti,am4376-pru";
594 pru0_1: pru@78000 {
595 compatible = "ti,am4376-pru";
/linux/drivers/soc/ti/
H A DKconfig75 tristate "TI PRU-ICSS Subsystem Platform drivers"
79 TI PRU-ICSS Subsystem platform specific support.
81 Say Y or M here to support the Programmable Realtime Unit (PRU)
83 not interested in the PRU or if you are unsure.
H A Dpruss.h3 * PRU-ICSS Subsystem user interfaces
/linux/include/linux/
H A Dpruss_driver.h3 * PRU-ICSS sub-system specific definitions
48 * enum pru_type - PRU core type identifier
101 struct mutex lock; /* PRU resource lock */
/linux/drivers/net/ethernet/ti/icssg/
H A Dicssg_prueth_sr1.c402 .pru = "ti-pruss/am65x-pru0-prueth-fw.elf",
406 .pru = "ti-pruss/am65x-pru1-prueth-fw.elf",
427 ret = rproc_set_firmware(prueth->pru[slice], firmwares[slice].pru); in prueth_emac_start()
428 ret = rproc_boot(prueth->pru[slice]); in prueth_emac_start()
430 dev_err(dev, "failed to boot PRU%d: %d\n", slice, ret); in prueth_emac_start()
444 rproc_shutdown(prueth->pru[slice]); in prueth_emac_start()
469 rproc_shutdown(prueth->pru[slice]); in prueth_emac_stop()
565 /* reset and start PRU firmware */ in emac_ndo_open()
995 prueth->pru[ICSS_SLICE in prueth_probe()
[all...]
H A Dicssg_prueth.c164 ret = prueth_start(prueth->pru[slice], firmwares[slice].pru); in prueth_emac_start()
166 dev_err(dev, "failed to boot PRU%d: %d\n", slice, ret); in prueth_emac_start()
173 rproc_shutdown(prueth->pru[slice]); in prueth_emac_start()
181 rproc_shutdown(prueth->pru[slice]); in prueth_emac_start()
192 prueth_shutdown(prueth->pru[slice]); in prueth_emac_start()
205 prueth_shutdown(prueth->pru[slice]);
1628 /* Stop both pru cores for both PRUeth ports*/ in icssg_read_firmware_names()
1635 /* Start both pru cores for both PRUeth ports */ in icssg_read_firmware_names()
1880 &fw[i].pru); in prueth_probe()
[all...]
H A Dicssg_prueth.h279 const char *pru;
288 * @pru: rproc instances of PRUs
329 struct rproc *pru[PRUSS_NUM_PRUS];
265 const char *pru; global() member
315 struct rproc *pru[PRUSS_NUM_PRUS]; global() member
H A Dicssg_common.c1749 prueth->pru[slice] = pru_rproc_get(np, idx, &pruss_id);
1750 if (IS_ERR(prueth->pru[slice])) {
1751 ret = PTR_ERR(prueth->pru[slice]);
1752 prueth->pru[slice] = NULL;
1753 return dev_err_probe(dev, ret, "unable to get PRU%d\n", slice);
1788 if (prueth->pru[slice])
1789 pru_rproc_put(prueth->pru[slice]);
H A Dicssg_mii_rt.h3 /* PRU-ICSS MII_RT register definitions
H A Dicssg_config.c325 /* The driver only uses first 4 queues per PRU, in prueth_fw_offload_buffer_setup()
538 /* enable XFR shift for PRU and RTU */ in icssg_config()
543 pru_rproc_set_ctable(prueth->pru[slice], PRU_C28, 0x100 << 8); in icssg_config()
H A Dicssg_classifier.c125 /* These are register offsets per PRU */
/linux/arch/arm64/boot/dts/ti/
H A Dk3-am65-main.dtsi1197 pru0_0: pru@34000 {
1198 compatible = "ti,am654-pru";
1222 compatible = "ti,am654-tx-pru";
1230 pru0_1: pru@38000 {
1231 compatible = "ti,am654-pru";
1255 compatible = "ti,am654-tx-pru";
1368 pru1_0: pru@34000 {
1369 compatible = "ti,am654-pru";
1393 compatible = "ti,am654-tx-pru";
1401 pru1_1: pru@38000 {
[all …]
H A Dk3-am642-tqma64xxl-mbax4xxl.dts655 main_gpio1_pru_pins: main-gpio1-pru-pins {
888 pru_icssg1_mdio_pins: pru-icssg1-mdio-pins {
902 pru_icssg1_rgmii1_pins: pru-icssg1-rgmii1-pins {
931 pru_icssg1_rgmii2_pins: pru-icssg1-rgmii2-pins {
H A Dk3-am654-idk.dtso23 /* Ethernet node on PRU-ICSSG0 */
90 /* Ethernet node on PRU-ICSSG1 */
H A Dk3-am62-main.dtsi1214 pru0: pru@34000 {
1215 compatible = "ti,am625-pru";
1226 pru1: pru@38000 {
1227 compatible = "ti,am625-pru";
/linux/drivers/irqchip/
H A Dirq-pruss-intc.c3 * PRU-ICSS INTC IRQChip driver for various TI SoCs
218 * Undo whatever was done in pruss_intc_map() for a PRU core.
657 MODULE_DESCRIPTION("TI PRU-ICSS INTC Driver");
/linux/include/linux/mfd/
H A Dda8xx-cfgchip.h132 /* CFGCHIP3 (EMAC/uPP/PLL1/ASYNC3/PRU/DIV4.5/EMIFA) register bits */
/linux/Documentation/devicetree/bindings/net/
H A Dti,icssg-prueth.yaml146 - $ref: /schemas/remoteproc/ti,pru-consumer.yaml#

12