/linux/Documentation/devicetree/bindings/arm/ |
H A 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 …]
|
H A 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/drivers/bus/ |
H A 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/Documentation/devicetree/bindings/interconnect/ |
H A 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 22 - mediatek,mt8183-cci 23 - mediatek,mt8186-cci 26 - mediatek,mt7988-cci 27 - const: mediatek,mt8183-cci 40 - const: cci 49 Phandle of the regulator for CCI that provides the supply voltage. 53 Phandle of the regulator for sram of CCI that provides the supply [all …]
|
/linux/drivers/usb/typec/ucsi/ |
H A 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() 108 static int cros_ucsi_sync_control(struct ucsi *ucsi, u64 cmd, u32 *cci, in cros_ucsi_sync_control() argument 114 ret = ucsi_sync_control_common(ucsi, cmd, cci, data, size); in cros_ucsi_sync_control() 117 /* EC may return -EBUSY if CCI.busy is set. in cros_ucsi_sync_control() 149 u32 cci; in cros_ucsi_work() local 151 if (cros_ucsi_read_cci(udata->ucsi, &cci)) in cros_ucsi_work() 154 ucsi_notify_common(udata->ucsi, cci); in cros_ucsi_work() 161 u32 cci; in cros_ucsi_write_timeout() local 164 if (cros_ucsi_read(udata->ucsi, UCSI_CCI, &cci, sizeof(cci))) { in cros_ucsi_write_timeout() [all …]
|
H A 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() 108 static int ucsi_gram_sync_control(struct ucsi *ucsi, u64 command, u32 *cci, in ucsi_gram_sync_control() argument 116 ret = ucsi_sync_control_common(ucsi, command, cci, val, len); in ucsi_gram_sync_control() 161 u32 cci; in ucsi_acpi_notify() local 164 ret = ua->ucsi->ops->read_cci(ua->ucsi, &cci); in ucsi_acpi_notify() 168 ucsi_notify_common(ua->ucsi, cci); in ucsi_acpi_notify()
|
H A D | ucsi_yoga_c630.c | 50 static int yoga_c630_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in yoga_c630_ucsi_read_cci() argument 60 memcpy(cci, buf, sizeof(*cci)); in yoga_c630_ucsi_read_cci() 91 u32 *cci, in yoga_c630_ucsi_sync_control() argument 112 *cci = UCSI_CCI_COMMAND_COMPLETE | UCSI_SET_CCI_LENGTH(sizeof(alt)); in yoga_c630_ucsi_sync_control() 125 *cci = UCSI_CCI_COMMAND_COMPLETE; in yoga_c630_ucsi_sync_control() 129 ret = ucsi_sync_control_common(ucsi, command, cci, data, size); in yoga_c630_ucsi_sync_control() 214 u32 cci; in yoga_c630_ucsi_notify() local 225 ret = uec->ucsi->ops->read_cci(uec->ucsi, &cci); in yoga_c630_ucsi_notify() 229 ucsi_notify_common(uec->ucsi, cci); in yoga_c630_ucsi_notify()
|
H A 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()
|
H A D | ucsi_ccg.c | 197 __le32 cci; member 230 * This spinlock protects op_data which includes CCI and MESSAGE_IN that 318 static int ccg_op_region_update(struct ucsi_ccg *uc, u32 cci) in ccg_op_region_update() argument 328 if (UCSI_CCI_LENGTH(cci)) { in ccg_op_region_update() 338 data->cci = cpu_to_le32(cci); in ccg_op_region_update() 339 if (UCSI_CCI_LENGTH(cci)) in ccg_op_region_update() 571 static int ucsi_ccg_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_ccg_read_cci() argument 576 *cci = uc->op_data.cci; in ucsi_ccg_read_cci() 599 * UCSI may read CCI instantly after async_control, in ucsi_ccg_async_control() 600 * clear CCI to avoid caller getting wrong data before we get CCI from ISR in ucsi_ccg_async_control() [all …]
|
H A D | ucsi_huawei_gaokun.c | 117 static int gaokun_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in gaokun_ucsi_read_cci() argument 127 memcpy(cci, buf, sizeof(*cci)); in gaokun_ucsi_read_cci() 361 u32 cci; in gaokun_ucsi_notify() local 372 ret = gaokun_ucsi_read_cci(uec->ucsi, &cci); in gaokun_ucsi_notify() 376 ucsi_notify_common(uec->ucsi, cci); in gaokun_ucsi_notify() 377 if (UCSI_CCI_CONNECTOR(cci)) in gaokun_ucsi_notify() 378 gaokun_ucsi_handle_no_usb_event(uec, UCSI_CCI_CONNECTOR(cci) - 1); in gaokun_ucsi_notify()
|
/linux/drivers/perf/ |
H A 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.
|
/linux/arch/arm/boot/dts/samsung/ |
H A 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>;
|
H A 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>;
|
H A 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/include/media/ |
H A 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/arch/arm/boot/dts/mediatek/ |
H A 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/arch/arm/boot/dts/arm/ |
H A 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/arch/arm/mach-versatile/ |
H A 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()
|
/linux/Documentation/driver-api/media/ |
H A D | v4l2-cci.rst | 3 V4L2 CCI kAPI 5 .. kernel-doc:: include/media/v4l2-cci.h
|
/linux/arch/arm/boot/dts/allwinner/ |
H A D | sun9i-a80.dtsi | 70 cci-control-port = <&cci_control0>; 79 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 97 cci-control-port = <&cci_control0>; 106 cci-control-port = <&cci_control1>; 115 cci-control-port = <&cci_control1>; 124 cci-control-port = <&cci_control1>; 133 cci-control-port = <&cci_control1>; 551 cci: cci@1c90000 { label 552 compatible = "arm,cci-400"; [all …]
|
H A D | sun8i-a83t.dtsi | 69 cci-control-port = <&cci_control0>; 80 cci-control-port = <&cci_control0>; 91 cci-control-port = <&cci_control0>; 102 cci-control-port = <&cci_control0>; 113 cci-control-port = <&cci_control1>; 124 cci-control-port = <&cci_control1>; 135 cci-control-port = <&cci_control1>; 146 cci-control-port = <&cci_control1>; 405 cci@1790000 { 406 compatible = "arm,cci-400"; [all …]
|
/linux/include/linux/ |
H A D | arm-cci.h | 3 * CCI cache coherent interconnect support 14 #include <asm/arm-cci.h>
|
/linux/drivers/media/v4l2-core/ |
H A D | v4l2-cci.c | 3 * MIPI Camera Control Interface (CCI) register access helpers. 17 #include <media/v4l2-cci.h> 203 MODULE_DESCRIPTION("MIPI Camera Control Interface (CCI) support");
|
/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt7622.dtsi | 82 cci-control-port = <&cci_control2>; 97 cci-control-port = <&cci_control2>; 346 cci: cci@10390000 { label 347 compatible = "arm,cci-400"; 354 compatible = "arm,cci-400-ctrl-if"; 360 compatible = "arm,cci-400-ctrl-if"; 366 compatible = "arm,cci-400-ctrl-if", "syscon"; 372 compatible = "arm,cci-400-pmu,r1"; 988 cci-control-port = <&cci_control2>;
|
/linux/drivers/devfreq/ |
H A D | Kconfig | 134 tristate "MEDIATEK CCI DEVFREQ Driver" 140 buck voltages and update a proper CCI frequency. Use the notification
|