Add file corresponding to hx_arm_ni.c introducing ARM NI-700 PMU driver for HX. Signed-off-by: JiaLong.Yang <jialong.yang@xxxxxxxxxxxx> --- v1 --> v2: 1. Submit dt-bindings file Seperately. 2. Do some check: ~ #: make dt_binding_check DT_SCHEMA_FILES=perf LINT Documentation/devicetree/bindings CHKDT Documentation/devicetree/bindings/processed-schema.json SCHEMA Documentation/devicetree/bindings/processed-schema.json DTEX Documentation/devicetree/bindings/perf/hx,c2000-arm-ni.example.dts DTC_CHK Documentation/devicetree/bindings/perf/hx,c2000-arm-ni.example.dtb v2 --> v3: 1. Change vendor from hx to hexin. 2. Submit driver and dt-bindings files together. 3. Delete pccs-id property. Use alias-id to do this. 4. There are at least one interrupt line for the hardware and driver for handling counter overflow. 5. Use 4 spaces for example indentation in yaml file. .../bindings/perf/hexin,c2000-arm-ni.yaml | 51 +++++++++++++++++++ MAINTAINERS | 6 +++ 2 files changed, 57 insertions(+) create mode 100644 Documentation/devicetree/bindings/perf/hexin,c2000-arm-ni.yaml diff --git a/Documentation/devicetree/bindings/perf/hexin,c2000-arm-ni.yaml b/Documentation/devicetree/bindings/perf/hexin,c2000-arm-ni.yaml new file mode 100644 index 000000000000..b2641ee84d60 --- /dev/null +++ b/Documentation/devicetree/bindings/perf/hexin,c2000-arm-ni.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/perf/hexin,c2000-arm-ni.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: HX-C2000 NI (Network-on-chip Interconnect) Performance Monitors + +maintainers: + - Jialong Yang <jialong.yang@xxxxxxxxxxxx> + +properties: + compatible: + enum: + - hexin,c2000-arm-ni + + reg: + items: + - description: Physical address of the base (PERIPHBASE) and + size of the whole NI configuration address space. + + interrupts: + minItems: 1 + items: + - description: Overflow interrupt for clock domain 0 + - description: Overflow interrupt for clock domain 1 + - description: Overflow interrupt for clock domain 2 + - description: Generally, one interrupt line for one PMU. But this also + support one interrupt line for a NI if merged. + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/interrupt-controller/irq.h> + + aliases { + ni-pmu0 = &nipmu0; + }; + + nipmu0: pmu@23ff0000 { + compatible = "hexin,c2000-arm-ni"; + reg = <0x2b420000 0x10000>; + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 4f298c4187fb..4b664cec98a7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18890,6 +18890,12 @@ L: linux-riscv@xxxxxxxxxxxxxxxxxxx S: Maintained F: arch/riscv/boot/dts/thead/ +HX ARM-NI-700 PMU DRIVERS +M: Jialong Yang <jialong.yang@xxxxxxxxxxxx> +S: Supported +F: Documentation/devicetree/bindings/perf/hexin,c2000-arm-ni.yaml +F: drivers/perf/hx_arm_ni.c + RNBD BLOCK DRIVERS M: Md. Haris Iqbal <haris.iqbal@xxxxxxxxx> M: Jack Wang <jinpu.wang@xxxxxxxxx> -- 2.25.1