/linux-6.14.4/drivers/i2c/busses/ |
D | i2c-qcom-cci.c | 108 struct cci; 116 struct cci *cci; member 126 struct cci { struct 138 struct cci *cci = dev; in cci_isr() argument 142 val = readl(cci->base + CCI_IRQ_STATUS_0); in cci_isr() 143 writel(val, cci->base + CCI_IRQ_CLEAR_0); in cci_isr() 144 writel(0x1, cci->base + CCI_IRQ_GLOBAL_CLEAR_CMD); in cci_isr() 147 complete(&cci->master[0].irq_complete); in cci_isr() 148 if (cci->master[1].master) in cci_isr() 149 complete(&cci->master[1].irq_complete); in cci_isr() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/i2c/ |
D | qcom,i2c-cci.yaml | 4 $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml# 7 title: Qualcomm Camera Control Interface (CCI) I2C controller 17 - qcom,msm8226-cci 18 - qcom,msm8974-cci 19 - qcom,msm8996-cci 23 - qcom,msm8916-cci 24 - const: qcom,msm8226-cci # CCI v1 28 - qcom,sc7280-cci 29 - qcom,sc8280xp-cci 30 - qcom,sdm670-cci [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/arm/ |
D | arm,cci-400.yaml | 4 $id: http://devicetree.org/schemas/arm/arm,cci-400.yaml# 7 title: ARM CCI Cache Coherent Interconnect 14 coherent interconnect (CCI) that is capable of monitoring bus transactions 24 pattern: "^cci(@[0-9a-f]+)?$" 28 - arm,cci-400 29 - arm,cci-500 30 - arm,cci-550 35 Specifies base physical address of CCI control registers common to all 48 const: arm,cci-400-ctrl-if 71 - const: arm,cci-400-pmu,r0 [all …]
|
D | cci-control-port.yaml | 4 $id: http://devicetree.org/schemas/arm/cci-control-port.yaml# 7 title: CCI Interconnect Bus Masters 13 Masters in the device tree connected to a CCI port (inclusive of CPUs 19 cci-control-port: 33 cci-control-port = <&cci_control1>;
|
/linux-6.14.4/drivers/bus/ |
D | arm-cci.c | 2 * CCI cache coherent interconnect driver 17 #include <linux/arm-cci.h> 49 {.compatible = "arm,cci-400", .data = CCI400_PORTS_DATA }, 52 { .compatible = "arm,cci-500", }, 53 { .compatible = "arm,cci-550", }, 59 OF_DEV_AUXDATA("arm,cci-400-pmu", 0, NULL, &cci_ctrl_base), 60 OF_DEV_AUXDATA("arm,cci-400-pmu,r0", 0, NULL, &cci_ctrl_base), 61 OF_DEV_AUXDATA("arm,cci-400-pmu,r1", 0, NULL, &cci_ctrl_base), 62 OF_DEV_AUXDATA("arm,cci-500-pmu,r0", 0, NULL, &cci_ctrl_base), 63 OF_DEV_AUXDATA("arm,cci-550-pmu,r0", 0, NULL, &cci_ctrl_base), [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/interconnect/ |
D | mediatek,cci.yaml | 4 $id: http://devicetree.org/schemas/interconnect/mediatek,cci.yaml# 7 title: MediaTek Cache Coherent Interconnect (CCI) frequency and voltage scaling 14 MediaTek Cache Coherent Interconnect (CCI) is a hardware engine used by 21 - mediatek,mt8183-cci 22 - mediatek,mt8186-cci 35 - const: cci 44 Phandle of the regulator for CCI that provides the supply voltage. 48 Phandle of the regulator for sram of CCI that provides the supply 66 cci: cci { 67 compatible = "mediatek,mt8183-cci"; [all …]
|
/linux-6.14.4/drivers/usb/typec/ucsi/ |
D | trace.c | 36 const char *ucsi_cci_str(u32 cci) in ucsi_cci_str() argument 38 if (UCSI_CCI_CONNECTOR(cci)) { in ucsi_cci_str() 39 if (cci & UCSI_CCI_ACK_COMPLETE) in ucsi_cci_str() 41 if (cci & UCSI_CCI_COMMAND_COMPLETE) in ucsi_cci_str() 45 if (cci & UCSI_CCI_ACK_COMPLETE) in ucsi_cci_str() 47 if (cci & UCSI_CCI_COMMAND_COMPLETE) in ucsi_cci_str()
|
D | cros_ec_ucsi.c | 79 static int cros_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in cros_ucsi_read_cci() argument 81 return cros_ucsi_read(ucsi, UCSI_CCI, cci, sizeof(*cci)); in cros_ucsi_read_cci() 116 /* EC may return -EBUSY if CCI.busy is set. in cros_ucsi_sync_control() 147 u32 cci; in cros_ucsi_work() local 149 if (cros_ucsi_read_cci(udata->ucsi, &cci)) in cros_ucsi_work() 152 ucsi_notify_common(udata->ucsi, cci); in cros_ucsi_work() 159 u32 cci; in cros_ucsi_write_timeout() local 162 if (cros_ucsi_read(udata->ucsi, UCSI_CCI, &cci, sizeof(cci))) { in cros_ucsi_write_timeout() 164 "Reading CCI failed; no write timeout recovery possible.\n"); in cros_ucsi_write_timeout() 168 if (cci & UCSI_CCI_BUSY) { in cros_ucsi_write_timeout() [all …]
|
D | ucsi_yoga_c630.c | 35 static int yoga_c630_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in yoga_c630_ucsi_read_cci() argument 45 memcpy(cci, buf, sizeof(*cci)); in yoga_c630_ucsi_read_cci() 87 u32 cci; in yoga_c630_ucsi_notify() local 97 ret = uec->ucsi->ops->read_cci(uec->ucsi, &cci); in yoga_c630_ucsi_notify() 101 ucsi_notify_common(uec->ucsi, cci); in yoga_c630_ucsi_notify()
|
D | ucsi_acpi.c | 59 static int ucsi_acpi_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_read_cci() argument 63 memcpy(cci, ua->base + UCSI_CCI, sizeof(*cci)); in ucsi_acpi_read_cci() 68 static int ucsi_acpi_poll_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_poll_cci() argument 77 return ucsi_acpi_read_cci(ucsi, cci); in ucsi_acpi_poll_cci() 172 u32 cci; in ucsi_acpi_notify() local 175 ret = ua->ucsi->ops->read_cci(ua->ucsi, &cci); in ucsi_acpi_notify() 179 ucsi_notify_common(ua->ucsi, cci); in ucsi_acpi_notify()
|
D | ucsi.c | 39 void ucsi_notify_common(struct ucsi *ucsi, u32 cci) in ucsi_notify_common() argument 41 /* Ignore bogus data in CCI if busy indicator is set. */ in ucsi_notify_common() 42 if (cci & UCSI_CCI_BUSY) in ucsi_notify_common() 45 if (UCSI_CCI_CONNECTOR(cci)) in ucsi_notify_common() 46 ucsi_connector_change(ucsi, UCSI_CCI_CONNECTOR(cci)); in ucsi_notify_common() 48 if (cci & UCSI_CCI_ACK_COMPLETE && in ucsi_notify_common() 52 if (cci & UCSI_CCI_COMMAND_COMPLETE && in ucsi_notify_common() 101 static int ucsi_run_command(struct ucsi *ucsi, u64 command, u32 *cci, in ucsi_run_command() argument 106 *cci = 0; in ucsi_run_command() 112 if (ucsi->ops->read_cci(ucsi, cci)) in ucsi_run_command() [all …]
|
D | ucsi_glink.c | 121 static int pmic_glink_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in pmic_glink_ucsi_read_cci() argument 123 return pmic_glink_ucsi_read(ucsi, UCSI_CCI, cci, sizeof(*cci)); in pmic_glink_ucsi_read_cci() 241 u32 cci; in pmic_glink_ucsi_notify() local 244 ret = pmic_glink_ucsi_read(ucsi->ucsi, UCSI_CCI, &cci, sizeof(cci)); in pmic_glink_ucsi_notify() 246 dev_err(ucsi->dev, "failed to read CCI on notification\n"); in pmic_glink_ucsi_notify() 250 ucsi_notify_common(ucsi->ucsi, cci); in pmic_glink_ucsi_notify()
|
/linux-6.14.4/drivers/media/i2c/ |
D | imx283.c | 32 #include <media/v4l2-cci.h> 549 struct regmap *cci; member 738 return cci_write(imx283->cci, IMX283_REG_TPG_CTRL, 0x00, NULL); in imx283_update_test_pattern() 740 ret = cci_write(imx283->cci, IMX283_REG_TPG_PAT, in imx283_update_test_pattern() 745 return cci_write(imx283->cci, IMX283_REG_TPG_CTRL, in imx283_update_test_pattern() 801 ret = cci_write(imx283->cci, IMX283_REG_SHR, shr, NULL); in imx283_set_ctrl() 809 ret = cci_write(imx283->cci, IMX283_REG_HMAX, imx283->hmax, NULL); in imx283_set_ctrl() 816 ret = cci_write(imx283->cci, IMX283_REG_VMAX, imx283->vmax, NULL); in imx283_set_ctrl() 820 ret = cci_write(imx283->cci, IMX283_REG_ANALOG_GAIN, ctrl->val, NULL); in imx283_set_ctrl() 824 ret = cci_write(imx283->cci, IMX283_REG_DIGITAL_GAIN, ctrl->val, NULL); in imx283_set_ctrl() [all …]
|
D | imx335.c | 16 #include <media/v4l2-cci.h> 179 * @cci: CCI register map 202 struct regmap *cci; member 480 cci_write(imx335->cci, IMX335_REG_HOLD, 1, &ret); in imx335_update_exp_gain() 481 cci_write(imx335->cci, IMX335_REG_VMAX, lpfr, &ret); in imx335_update_exp_gain() 482 cci_write(imx335->cci, IMX335_REG_SHUTTER, shutter, &ret); in imx335_update_exp_gain() 483 cci_write(imx335->cci, IMX335_REG_GAIN, gain, &ret); in imx335_update_exp_gain() 488 ret_hold = cci_write(imx335->cci, IMX335_REG_HOLD, 0, NULL); in imx335_update_exp_gain() 512 cci_write(imx335->cci, IMX335_REG_TPG, in imx335_update_test_pattern() 515 cci_multi_reg_write(imx335->cci, tpg_enable_regs, in imx335_update_test_pattern() [all …]
|
/linux-6.14.4/drivers/perf/ |
D | Kconfig | 10 tristate "ARM CCI PMU driver" 14 Support for PMU events monitoring on the ARM CCI (Cache Coherent 17 If compiled as a module, it will be called arm-cci. 20 bool "support CCI-400" 25 CCI-400 provides 4 independent event counters counting events related 29 bool "support CCI-500/CCI-550" 33 CCI-500/CCI-550 both provide 8 independent event counters, which can 35 internal events to the CCI.
|
D | arm-cci.c | 2 // CCI Cache Coherent Interconnect PMU driver 6 #include <linux/arm-cci.h> 16 #define DRIVER_NAME "ARM-CCI PMU" 160 * Instead of an event id to monitor CCI cycles, a dedicated counter is 161 * provided. Use 0xff to represent CCI cycles and hope that no future revisions 172 * CCI PMU event id is an 8-bit value made of two parts - bits 7:5 for one of 8 633 * Program the CCI PMU counters which have PERF_HES_ARCH set 739 * For all counters on the CCI-PMU, disable any 'enabled' counters, 778 * by the cci 824 dev_err(&pmu_device->dev, "no irqs for CCI PMUs defined\n"); in pmu_request_irq() [all …]
|
/linux-6.14.4/arch/arm/boot/dts/samsung/ |
D | exynos5422-cpus.dtsi | 62 cci-control-port = <&cci_control0>; 75 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 101 cci-control-port = <&cci_control0>; 114 cci-control-port = <&cci_control1>; 127 cci-control-port = <&cci_control1>; 140 cci-control-port = <&cci_control1>; 153 cci-control-port = <&cci_control1>;
|
D | exynos5420-cpus.dtsi | 63 cci-control-port = <&cci_control1>; 75 cci-control-port = <&cci_control1>; 87 cci-control-port = <&cci_control1>; 99 cci-control-port = <&cci_control1>; 111 cci-control-port = <&cci_control0>; 123 cci-control-port = <&cci_control0>; 135 cci-control-port = <&cci_control0>; 147 cci-control-port = <&cci_control0>;
|
D | exynos5260.dtsi | 67 cci-control-port = <&cci_control1>; 74 cci-control-port = <&cci_control1>; 81 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 95 cci-control-port = <&cci_control0>; 102 cci-control-port = <&cci_control0>; 355 cci: cci@10f00000 { label 356 compatible = "arm,cci-400"; 363 compatible = "arm,cci-400-ctrl-if"; 369 compatible = "arm,cci-400-ctrl-if";
|
/linux-6.14.4/drivers/devfreq/ |
D | mtk-cci-devfreq.c | 173 /* switch the cci clock to intermediate clock source. */ in mtk_ccifreq_target() 176 dev_err(dev, "failed to re-parent cci clock\n"); in mtk_ccifreq_target() 183 dev_err(dev, "failed to set cci pll rate: %d\n", ret); in mtk_ccifreq_target() 188 /* switch the cci clock back to the original clock source. */ in mtk_ccifreq_target() 191 dev_err(dev, "failed to re-parent cci clock\n"); in mtk_ccifreq_target() 268 drv->cci_clk = devm_clk_get(dev, "cci"); in mtk_ccifreq_probe() 271 return dev_err_probe(dev, ret, "failed to get cci clk\n"); in mtk_ccifreq_probe() 425 { .compatible = "mediatek,mt8183-cci", .data = &mt8183_platform_data }, 426 { .compatible = "mediatek,mt8186-cci", .data = &mt8186_platform_data }, 441 MODULE_DESCRIPTION("MediaTek CCI devfreq driver");
|
/linux-6.14.4/include/media/ |
D | v4l2-cci.h | 3 * MIPI Camera Control Interface (CCI) register access helpers. 18 * struct cci_reg_sequence - An individual write from a sequence of CCI writes 38 * Private CCI register flags, for the use of drivers. 59 * cci_read() - Read a value from a single CCI register 72 * cci_write() - Write a value to a single CCI register 86 * a single CCI register
|
/linux-6.14.4/Documentation/devicetree/bindings/cpufreq/ |
D | cpufreq-mediatek.txt | 23 - mediatek,cci: 24 Used to confirm the link status between cpufreq and mediatek cci. Because 25 cpufreq and mediatek cci could share the same regulator in some MediaTek SoCs. 27 property to make sure mediatek cci is ready. 28 For details of mediatek cci, please refer to 29 Documentation/devicetree/bindings/interconnect/mediatek,cci.yaml
|
/linux-6.14.4/arch/arm/boot/dts/mediatek/ |
D | mt7629.dtsi | 32 cci-control-port = <&cci_control2>; 40 cci-control-port = <&cci_control2>; 174 cci: cci@10390000 { label 175 compatible = "arm,cci-400"; 182 compatible = "arm,cci-400-ctrl-if"; 188 compatible = "arm,cci-400-ctrl-if"; 194 compatible = "arm,cci-400-ctrl-if"; 200 compatible = "arm,cci-400-pmu,r1";
|
/linux-6.14.4/arch/arm/boot/dts/arm/ |
D | vexpress-v2p-ca15_a7.dts | 42 cci-control-port = <&cci_control1>; 52 cci-control-port = <&cci_control1>; 62 cci-control-port = <&cci_control2>; 72 cci-control-port = <&cci_control2>; 82 cci-control-port = <&cci_control2>; 161 cci@2c090000 { 162 compatible = "arm,cci-400"; 169 compatible = "arm,cci-400-ctrl-if"; 175 compatible = "arm,cci-400-ctrl-if"; 181 compatible = "arm,cci-400-pmu,r0";
|
/linux-6.14.4/arch/arm/mach-versatile/ |
D | platsmp-vexpress.c | 28 * is to detect if the kernel can take over CCI ports in vexpress_smp_init_ops() 29 * control. Loop over possible CPUs and check if CCI in vexpress_smp_init_ops() 40 cci_node = of_parse_phandle(cpu_node, "cci-control-port", 0); in vexpress_smp_init_ops()
|