mirror of
https://github.com/VIKINGYFY/immortalwrt.git
synced 2025-12-16 17:15:26 +00:00
EcoNet EN75xx is a big endian MIPS platform used in XPON (fiber), DSL, and SIM (3g/4g) applications. Complete GPL vender SDKs exist for this platform, but are based on Linux 2.6. The bulk of this submission has already been accepted upstream: https://patchwork.kernel.org/project/linux-mips/list/?series=960479&state=* This platform uses a bootloader that is derived from old TrendChip code. This bootloader implements a frustratingly complex Bad Block Table which is implemented here in en75_bmt.c This BMT is not upstreamed because it depends on mtk_bmt framework which likewise is not upstreamed. This BMT system rewrites block indexes in flash and if the bootloader considers it to be corrupted, it will attempt to automatically rebuild on boot. So without implementing the algorithm, you can't safely use the disk at all. Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr> Link: https://github.com/openwrt/openwrt/pull/19021 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
99 lines
3.1 KiB
Diff
99 lines
3.1 KiB
Diff
From 9773c540441c6ae15aefb49e67142e94369dbbc0 Mon Sep 17 00:00:00 2001
|
|
From: Caleb James DeLisle <cjd@cjdns.fr>
|
|
Date: Sun, 30 Mar 2025 17:02:58 +0000
|
|
Subject: [PATCH] dt-bindings: interrupt-controller: Add EcoNet EN751221 INTC
|
|
|
|
Document the device tree binding for the interrupt controller in the
|
|
EcoNet EN751221 MIPS SoC.
|
|
|
|
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
|
|
Link: https://lore.kernel.org/all/20250330170306.2584136-3-cjd@cjdns.fr
|
|
---
|
|
.../econet,en751221-intc.yaml | 78 +++++++++++++++++++
|
|
1 file changed, 78 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/econet,en751221-intc.yaml
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/interrupt-controller/econet,en751221-intc.yaml
|
|
@@ -0,0 +1,78 @@
|
|
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/interrupt-controller/econet,en751221-intc.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: EcoNet EN751221 Interrupt Controller
|
|
+
|
|
+maintainers:
|
|
+ - Caleb James DeLisle <cjd@cjdns.fr>
|
|
+
|
|
+description:
|
|
+ The EcoNet EN751221 Interrupt Controller is a simple interrupt controller
|
|
+ designed for the MIPS 34Kc MT SMP processor with 2 VPEs. Each interrupt can
|
|
+ be routed to either VPE but not both, so to support per-CPU interrupts, a
|
|
+ secondary IRQ number is allocated to control masking/unmasking on VPE#1. For
|
|
+ lack of a better term we call these "shadow interrupts". The assignment of
|
|
+ shadow interrupts is defined by the SoC integrator when wiring the interrupt
|
|
+ lines, so they are configurable in the device tree.
|
|
+
|
|
+allOf:
|
|
+ - $ref: /schemas/interrupt-controller.yaml#
|
|
+
|
|
+properties:
|
|
+ compatible:
|
|
+ const: econet,en751221-intc
|
|
+
|
|
+ reg:
|
|
+ maxItems: 1
|
|
+
|
|
+ "#interrupt-cells":
|
|
+ const: 1
|
|
+
|
|
+ interrupt-controller: true
|
|
+
|
|
+ interrupts:
|
|
+ maxItems: 1
|
|
+ description: Interrupt line connecting this controller to its parent.
|
|
+
|
|
+ econet,shadow-interrupts:
|
|
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
|
|
+ description:
|
|
+ An array of interrupt number pairs where each pair represents a shadow
|
|
+ interrupt relationship. The first number in each pair is the primary IRQ,
|
|
+ and the second is its shadow IRQ used for VPE#1 control. For example,
|
|
+ <8 3> means IRQ 8 is shadowed by IRQ 3, so IRQ 3 cannot be mapped, but
|
|
+ when VPE#1 requests IRQ 8, it will manipulate the IRQ 3 mask bit.
|
|
+ minItems: 1
|
|
+ maxItems: 20
|
|
+ items:
|
|
+ items:
|
|
+ - description: primary per-CPU IRQ
|
|
+ - description: shadow IRQ number
|
|
+
|
|
+required:
|
|
+ - compatible
|
|
+ - reg
|
|
+ - interrupt-controller
|
|
+ - "#interrupt-cells"
|
|
+ - interrupts
|
|
+
|
|
+additionalProperties: false
|
|
+
|
|
+examples:
|
|
+ - |
|
|
+ interrupt-controller@1fb40000 {
|
|
+ compatible = "econet,en751221-intc";
|
|
+ reg = <0x1fb40000 0x100>;
|
|
+
|
|
+ interrupt-controller;
|
|
+ #interrupt-cells = <1>;
|
|
+
|
|
+ interrupt-parent = <&cpuintc>;
|
|
+ interrupts = <2>;
|
|
+
|
|
+ econet,shadow-interrupts = <7 2>, <8 3>, <13 12>, <30 29>;
|
|
+ };
|
|
+...
|