/openbmc/linux/drivers/net/ipa/ |
H A D | ipa_qmi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2022 Linaro Ltd. 13 #include "ipa.h" 21 * DOC: AP/Modem QMI Handshake 23 * The AP and modem perform a "handshake" at initialization time to ensure 24 * both sides know when everything is ready to begin operating. The AP 26 * using a service on the modem, and server to service modem requests (and 27 * to supply an indication message from the AP). Once the handshake is 28 * complete, the AP and modem may begin IPA operation. This occurs [all …]
|
H A D | ipa_table.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 15 #include <linux/dma-mapping.h> 17 #include "ipa.h" 28 * DOC: IPA Filter and Route Tables 30 * The IPA has tables defined in its local (IPA-resident) memory that define 32 * endian 64-bit "slot" that holds the address of a rule definition. (The 38 * by all IPA hardware (IPA v4.2 doesn't support hashed tables). 41 * an object (such as a route or filter table) in IPA-resident memory must [all …]
|
H A D | ipa_smp2p.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2022 Linaro Ltd. 17 #include "ipa.h" 21 * DOC: IPA SMP2P communication with the modem 23 * SMP2P is a primitive communication mechanism available between the AP and 24 * the modem. The IPA driver uses this for two purposes: to enable the modem 25 * to state that the GSI hardware is ready to use; and to communicate the 26 * state of IPA power in the event of a crash. 28 * GSI needs to have early initialization completed before it can be used. [all …]
|
H A D | ipa_qmi_msg.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 2018-2022 Linaro Ltd. 14 /* Request/response/indication QMI message ids used for IPA. Receiving 17 #define IPA_QMI_INDICATION_REGISTER 0x20 /* modem -> AP request */ 18 #define IPA_QMI_INIT_DRIVER 0x21 /* AP -> modem request */ 19 #define IPA_QMI_INIT_COMPLETE 0x22 /* AP -> modem indication */ 20 #define IPA_QMI_DRIVER_INIT_COMPLETE 0x35 /* modem -> AP request */ 25 * the message size to be provided. 27 #define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */ 28 #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */ [all …]
|
H A D | ipa.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2022 Linaro Ltd. 31 * struct ipa - IPA information 33 * @version: IPA hardware version 35 * @completion: Used to signal pipeline clear transfer complete 39 * @power: IPA power information 43 * @modem_route_count: Number of modem entries in a routing table 45 * @interrupt: IPA Interrupt information 48 * @reg_virt: Virtual address used for IPA register access [all …]
|
H A D | ipa_main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 22 #include "ipa.h" 41 * This driver supports the Qualcomm IP Accelerator (IPA), which is a 42 * networking component found in many Qualcomm SoCs. The IPA is connected 43 * to the application processor (AP), but is also connected (and partially 44 * controlled by) other "execution environments" (EEs), such as a modem. 46 * The IPA is the conduit between the AP and the modem that carries network 48 * connection of the modem to external (e.g. LTE) networks. [all …]
|
H A D | ipa_qmi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 2018-2022 Linaro Ltd. 12 struct ipa; 15 * struct ipa_qmi - QMI state associated with an IPA 16 * @client_handle: Used to send an QMI requests to the modem 17 * @server_handle: Used to handle QMI requests from the modem 18 * @modem_sq: QMAP socket address for the modem QMI server 43 * ipa_qmi_setup() - Set up for QMI message exchange 44 * @ipa: IPA pointer 46 * This is called at the end of ipa_setup(), to prepare for the exchange [all …]
|
H A D | ipa_mem.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 10 #include <linux/dma-mapping.h> 15 #include "ipa.h" 23 /* "Canary" value placed between memory regions to detect overflow */ 26 /* SMEM host id representing the modem. */ 29 const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id) in ipa_mem_find() argument 33 for (i = 0; i < ipa->mem_count; i++) { in ipa_mem_find() 34 const struct ipa_mem *mem = &ipa->mem[i]; in ipa_mem_find() [all …]
|
H A D | ipa_data.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 16 * DOC: IPA/GSI Configuration Data 18 * Boot-time configuration data is used to define the configuration of the 19 * IPA and GSI resources to use for a given platform. This data is supplied 25 * Resources are data structures used internally by the IPA hardware. The 29 * Endpoint configuration data defines properties of both IPA endpoints and 31 * communication path between the IPA and a particular execution environment 32 * (EE), such as the AP or Modem. Each EE has a set of channels associated [all …]
|
H A D | ipa_table.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2022 Linaro Ltd. 11 struct ipa; 14 * ipa_filtered_valid() - Validate a filter table endpoint bitmap 15 * @ipa: IPA pointer 16 * @filtered: Filter table endpoint bitmap to check 20 bool ipa_filtered_valid(struct ipa *ipa, u64 filtered); 23 * ipa_table_hash_support() - Return true if hashed tables are supported 24 * @ipa: IPA pointer [all …]
|
H A D | ipa_power.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2022 Linaro Ltd. 11 struct ipa; 15 /* IPA device power management function block */ 19 * ipa_core_clock_rate() - Return the current IPA core clock rate 20 * @ipa: IPA structure 24 u32 ipa_core_clock_rate(struct ipa *ipa); 27 * ipa_power_modem_queue_stop() - Possibly stop the modem netdev TX queue 28 * @ipa: IPA pointer [all …]
|
H A D | ipa_uc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2022 Linaro Ltd. 9 struct ipa; 13 * ipa_uc_interrupt_handler() - Handler for microcontroller IPA interrupts 14 * @ipa: IPA pointer 15 * @irq_id: IPA interrupt ID 17 void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id); 20 * ipa_uc_config() - Configure the IPA microcontroller subsystem 21 * @ipa: IPA pointer [all …]
|
H A D | ipa_cmd.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 11 #include <linux/dma-direction.h> 15 #include "ipa.h" 22 * DOC: IPA Immediate Commands 24 * The AP command TX endpoint is used to issue immediate commands to the IPA. 25 * An immediate command is generally used to request the IPA do something 26 * other than data transfer to another endpoint. 30 * has a well-defined format, having a payload of a known length. This [all …]
|
H A D | gsi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 41 * A channel ring consists of TRE entries filled by the AP and passed 42 * to the hardware for processing. For a channel ring, the ring index 43 * identifies the next unused entry to be filled by the AP. In this 44 * case the initial value is assumed by hardware to be 0. 47 * and passed to the AP. For event rings, the ring index identifies 48 * the next ring entry that is not known to have been filled by the 55 * but taken from a fixed-size pool. The number of elements required for [all …]
|
H A D | ipa_endpoint.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2023 Linaro Ltd. 12 #include <linux/dma-direction.h> 16 #include "ipa.h" 27 #define IPA_REPLENISH_BATCH 16 /* Must be non-zero */ 30 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 32 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 37 /** enum ipa_status_opcode - IPA status opcode field hardware values */ 48 /** enum ipa_status_exception - IPA status exception field hardware values */ [all …]
|
H A D | gsi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2023 Linaro Ltd. 28 * DOC: The IPA Generic Software Interface 30 * The generic software interface (GSI) is an integral component of the IPA, 31 * providing a well-defined communication layer between the AP subsystem 32 * and the IPA core. The modem uses the GSI layer as well. 34 * -------- --------- 36 * | AP +<---. .----+ Modem | 37 * | +--. | | .->+ | [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/net/ |
H A D | qcom,ipa.yaml | 1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/net/qcom,ipa.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm IP Accelerator (IPA) 10 - Alex Elder <elder@kernel.org> 13 This binding describes the Qualcomm IPA. The IPA is capable of offloading 17 The IPA sits between multiple independent "execution environments," 18 including the Application Processor (AP) and the modem. The IPA presents 19 a Generic Software Interface (GSI) to each execution environment. [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-platform-soc-ipa | 1 What: /sys/devices/platform/soc@X/XXXXXXX.ipa/ 6 The /sys/devices/platform/soc@X/XXXXXXX.ipa/ directory 7 contains read-only attributes exposing information about 8 an IPA device. The X values could vary, but are typically 9 "soc@0/1e40000.ipa". 11 What: .../XXXXXXX.ipa/version 16 The .../XXXXXXX.ipa/version file contains the IPA hardware 17 version, as a period-separated set of two or three integers 20 What: .../XXXXXXX.ipa/feature/ 25 The .../XXXXXXX.ipa/feature/ directory contains a set of [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/soc/qcom/ |
H A D | qcom,smp2p.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 15 The Shared Memory Point to Point (SMP2P) protocol facilitates communication 16 of a single 32-bit value between two processors. Each value has a single 18 uniquely identified in the system by the directed edge (local processor ID to 31 Reference to the mailbox representing the outgoing doorbell in APCS for [all …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A D | sc7180-trogdor-lte-sku.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 label = "proximity-wifi-lte"; 17 firmware-name = "qcom/sc7180-trogdor/modem/mba.mbn", 18 "qcom/sc7180-trogdor/modem/qdsp6sw.mbn"; 21 &ipa { 24 * modem needs to cover certain init steps (GSI init), and 25 * the AP needs to wait for it. 27 qcom,gsi-loader = "modem";
|
H A D | sm6375.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,rpmcc.h> 7 #include <dt-bindings/clock/qcom,sm6375-gcc.h> 8 #include <dt-bindings/clock/qcom,sm6375-gpucc.h> 9 #include <dt-bindings/dma/qcom-gpi.h> 10 #include <dt-bindings/firmware/qcom,scm.h> 11 #include <dt-bindings/interconnect/qcom,osm-l3.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/mailbox/qcom-ipcc.h> 14 #include <dt-bindings/power/qcom-rpmpd.h> [all …]
|
H A D | sm6350.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 7 #include <dt-bindings/clock/qcom,dispcc-sm6350.h> 8 #include <dt-bindings/clock/qcom,gcc-sm6350.h> 9 #include <dt-bindings/clock/qcom,gpucc-sm6350.h> 10 #include <dt-bindings/clock/qcom,rpmh.h> 11 #include <dt-bindings/clock/qcom,sm6350-camcc.h> 12 #include <dt-bindings/dma/qcom-gpi.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/interconnect/qcom,icc.h> 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> [all …]
|
/openbmc/linux/arch/arm/boot/dts/qcom/ |
H A D | qcom-sdx65.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 9 #include <dt-bindings/clock/qcom,gcc-sdx65.h> 10 #include <dt-bindings/clock/qcom,rpmh.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/power/qcom-rpmpd.h> 14 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 15 #include <dt-bindings/interconnect/qcom,sdx65.h> 18 #address-cells = <1>; 19 #size-cells = <1>; [all …]
|
H A D | qcom-sdx55.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 9 #include <dt-bindings/clock/qcom,gcc-sdx55.h> 10 #include <dt-bindings/clock/qcom,rpmh.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interconnect/qcom,sdx55.h> 13 #include <dt-bindings/interrupt-controller/arm-gic.h> 14 #include <dt-bindings/power/qcom-rpmpd.h> 15 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 18 #address-cells = <1>; 19 #size-cells = <1>; [all …]
|
/openbmc/openbmc/poky/meta/recipes-kernel/linux-firmware/ |
H A D | linux-firmware_20241210.bb | 9 Firmware-Abilis \ 10 & Firmware-adsp_sst \ 11 & Firmware-agere \ 12 & Firmware-amdgpu \ 13 & Firmware-amd-ucode \ 14 & Firmware-amlogic_vdec \ 15 & Firmware-amphion_vpu \ 16 & Firmware-atheros_firmware \ 17 & Firmware-atmel \ 18 & Firmware-broadcom_bcm43xx \ [all …]
|