| /kernel/linux/linux-6.6/drivers/soc/ti/ |
| 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 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 62 if (IS_ERR_OR_NULL(pruss)) in pruss_cfg_read() [all …]
|
| 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> 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 30 * @has_no_sharedram: flag to indicate the absence of PRUSS Shared Data RAM [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-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/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> 15 interrupt-parent = <&wakeupgen>; 16 #address-cells = <1>; 17 #size-cells = <1>; 41 #address-cells = <1>; [all …]
|
| D | am33xx-l4.dtsi | 2 compatible = "ti,am33xx-l4-wkup", "simple-pm-bus"; 3 power-domains = <&prm_wkup>; 5 clock-names = "fck"; 10 reg-names = "ap", "la", "ia0", "ia1"; 11 #address-cells = <1>; 12 #size-cells = <1>; 18 compatible = "simple-pm-bus"; 19 #address-cells = <1>; 20 #size-cells = <1>; 28 compatible = "simple-pm-bus"; [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> 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 41 static int pruss_clk_mux_setup(struct pruss *pruss, struct clk *clk_mux, in pruss_clk_mux_setup() argument [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/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> 11 * Puranjay Mohan <p-mohan@ti.com> 22 #include <linux/remoteproc/pruss.h> 41 /* CTRL register bit-fields */ 71 * enum pru_iomem - PRU core memory/register range identifiers 86 * struct pru_private_data - device data for a PRU core 96 * struct pru_rproc - PRU remoteproc structure [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/ti/ |
| D | k3-am65-main.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/ 7 #include <dt-bindings/phy/phy-am654-serdes.h> 11 compatible = "mmio-sram"; 13 #address-cells = <1>; 14 #size-cells = <1>; 17 atf-sram@0 { 21 sysfw-sram@f0000 { 25 l3cache-sram@100000 { 30 gic500: interrupt-controller@1800000 { [all …]
|
| D | k3-am64-main.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ 8 #include <dt-bindings/phy/phy-cadence.h> 9 #include <dt-bindings/phy/phy-ti.h> 12 serdes_refclk: clock-cmnrefclk { 13 #clock-cells = <0>; 14 compatible = "fixed-clock"; 15 clock-frequency = <0>; 21 compatible = "mmio-sram"; 23 #address-cells = <1>; [all …]
|
| D | k3-j721e-main.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/ 7 #include <dt-bindings/phy/phy.h> 8 #include <dt-bindings/phy/phy-ti.h> 9 #include <dt-bindings/mux/mux.h> 11 #include "k3-serdes.h" 14 cmn_refclk: clock-cmnrefclk { 15 #clock-cells = <0>; 16 compatible = "fixed-clock"; 17 clock-frequency = <0>; [all …]
|
| /kernel/linux/linux-6.6/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> 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 …]
|
| D | icssg_config.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com 77 * struct map - ICSSG Queue Map 111 struct prueth *prueth = emac->prueth; in icssg_config_mii_init() 115 mii_rt = prueth->mii_rt; in icssg_config_mii_init() 130 /* In MII mode TX lines swapped inside ICSSG, so TX_MUX_SEL cfg need in icssg_config_mii_init() 133 if (emac->phy_if == PHY_INTERFACE_MODE_MII && slice == ICSS_MII0) in icssg_config_mii_init() 135 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && slice == ICSS_MII1) in icssg_config_mii_init() 145 struct regmap *miig_rt = prueth->miig_rt; in icssg_miig_queues_init() 146 void __iomem *smem = prueth->shram.va; in icssg_miig_queues_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/bus/ |
| D | ti-sysc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ti-sysc.c - Texas Instruments sysc interconnect target driver 24 #include <linux/platform_data/ti-sysc.h> 26 #include <dt-bindings/bus/ti-sysc.h> 96 * struct sysc - TI sysc interconnect target module registers and capabilities 102 * @mdata: ti-sysc to hwmod translation data for a module 109 * @cfg: interconnect target module configuration 119 * @pre_reset_quirk: module specific pre-reset quirk 120 * @post_reset_quirk: module specific post-reset quirk 140 struct sysc_config cfg; member [all …]
|
| /kernel/linux/linux-6.6/drivers/bus/ |
| D | ti-sysc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ti-sysc.c - Texas Instruments sysc interconnect target driver 24 #include <linux/platform_data/ti-sysc.h> 26 #include <dt-bindings/bus/ti-sysc.h> 96 * struct sysc - TI sysc interconnect target module registers and capabilities 102 * @mdata: ti-sysc to hwmod translation data for a module 109 * @cfg: interconnect target module configuration 120 * @pre_reset_quirk: module specific pre-reset quirk 121 * @post_reset_quirk: module specific post-reset quirk 141 struct sysc_config cfg; member [all …]
|