[PATCH v5 0/7] Add EcoNet EN751221 MIPS platform support
Thomas Bogendoerfer
tsbogend at alpha.franken.de
Mon May 19 23:49:30 PDT 2025
On Wed, May 07, 2025 at 01:44:53PM +0000, Caleb James DeLisle wrote:
> EcoNet MIPS SoCs are big endian machines based on 34Kc and 1004Kc
> processors. They are found in xDSL and xPON modems, and contain PCM
> (VoIP), Ethernet, USB, GPIO, I2C, SPI (Flash), UART, and PCIe.
>
> The EcoNet MIPS SoCs are divided broadly into two families, the
> EN751221 family based on the 34Kc, and the EN751627 family based on
> the 1004Kc. Individual SoCs within a family are very similar, only
> with different peripherals.
>
> This patchset adds basic "boots to a console" support for the EN751221
> family and adds SmartFiber XP8421-B, a low cost commercially available
> board that is useful for testing and development.
>
> Note that Airoha (AN7523, AN7581) is similar to EcoNet in terms of
> peripherals, and for historical reasons Airoha chips are sometimes
> referred to with the EN75xx prefix. However this is a different
> platform because Airoha chips are ARM based.
>
> This patchset is against mips-next.
>
> v4 -> v5
> * 2/7 clocksource/drivers: Add EcoNet Timer HPT driver:
> * Improve explanation of HPT timer in changelog
> * Move pr_info to pr_debug per recommendation
> * Remove pointless debug on spurious interrupt
> * Small code-style change
>
> v3 -> v4
> * Rebase to 3b3704261e851e25983860e4c352f1f73786f4ab
> * Omit already accepted patches (thanks guys!):
> - https://patchwork.kernel.org/project/linux-mips/patch/20250330170306.2584136-2-cjd@cjdns.fr/
> - https://patchwork.kernel.org/project/linux-mips/patch/20250330170306.2584136-3-cjd@cjdns.fr/
> - https://patchwork.kernel.org/project/linux-mips/patch/20250330170306.2584136-4-cjd@cjdns.fr/
>
> v2 -> v3
> * econet,en751221-timer.yaml -> Improve code style
> * vendor-prefixes.yaml -> Correct alphabetic order
> * en751221.dtsi
> - interrupt-controller code style
> - serial: Explain reason for clock-frequency = <1843200>
> * v3->v3 diff provided for reference
> - https://gist.github.com/cjdelisle/21c9f0cd225f499bdff3c574c7f185f2
> * CC: linux-mediatek at lists.infradead.org who may be interested.
>
> v1 -> v2
> * Codestyle
> - Apply codestyle from "The tip tree handbook" and recommendations
> - Remove "_rai" and "_m" symbol suffixes which are not standard
> * irq-econet-en751221.c
> - Use cleanup.h _guard() and _free()
> - Separate irq_domain_ops from irq_chip, eliminating econet_intc struct
> - Remove irqsave in econet_wreg, irqs are already disabled in mask/unmask
> - Add explainatory comments
> - Refactor shadow logic for clarity, e.g. INTC_NO_SHADOW -> NOT_PERCPU
> - Improve error handling in case of invalid DTS
> * econet,timer-hpt.yaml
> - Rename to econet,timer-en751221.yaml
> - Impose rule: "reg" must have 1 item on EN751221 and 2 on EN751627
> * timer-econet-hpt.c
> - Rename to timer-econet-en751221.c to follow naming scheme from DT
> * econet,en751221-intc.yaml
> - Fix validation error from required: interrupt-parent
> - shadow-interrupts -> switch to uint32-matrix for list of pairs
> * MAINTAINERS -> Fixed accidental F: MAINTAINERS
> * Replace "test image" with device SmartFiber-XP8421-B
> * Restructure arch/mips/econet/Kconfig per arch/mips/ralink example
> * v1->v2 diff is offered for reference:
> - https://gist.github.com/cjdelisle/bb3acab78b5f70dcdfe5dd6338293efe
>
>
> Caleb James DeLisle (7):
> dt-bindings: timer: Add EcoNet EN751221 "HPT" CPU Timer
> clocksource/drivers: Add EcoNet Timer HPT driver
> dt-bindings: mips: Add EcoNet platform binding
> mips: Add EcoNet MIPS platform support
> dt-bindings: vendor-prefixes: Add SmartFiber
> mips: dts: Add EcoNet DTS with EN751221 and SmartFiber XP8421-B board
> MAINTAINERS: Add entry for newly added EcoNet platform.
>
> .../devicetree/bindings/mips/econet.yaml | 26 +++
> .../bindings/timer/econet,en751221-timer.yaml | 80 +++++++
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> MAINTAINERS | 12 +
> arch/mips/Kbuild.platforms | 1 +
> arch/mips/Kconfig | 25 ++
> arch/mips/boot/compressed/uart-16550.c | 5 +
> arch/mips/boot/dts/Makefile | 1 +
> arch/mips/boot/dts/econet/Makefile | 2 +
> arch/mips/boot/dts/econet/en751221.dtsi | 67 ++++++
> .../econet/en751221_smartfiber_xp8421-b.dts | 19 ++
> arch/mips/econet/Kconfig | 48 ++++
> arch/mips/econet/Makefile | 2 +
> arch/mips/econet/Platform | 5 +
> arch/mips/econet/init.c | 78 +++++++
> drivers/clocksource/Kconfig | 8 +
> drivers/clocksource/Makefile | 1 +
> drivers/clocksource/timer-econet-en751221.c | 216 ++++++++++++++++++
> 18 files changed, 598 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mips/econet.yaml
> create mode 100644 Documentation/devicetree/bindings/timer/econet,en751221-timer.yaml
> create mode 100644 arch/mips/boot/dts/econet/Makefile
> create mode 100644 arch/mips/boot/dts/econet/en751221.dtsi
> create mode 100644 arch/mips/boot/dts/econet/en751221_smartfiber_xp8421-b.dts
> create mode 100644 arch/mips/econet/Kconfig
> create mode 100644 arch/mips/econet/Makefile
> create mode 100644 arch/mips/econet/Platform
> create mode 100644 arch/mips/econet/init.c
> create mode 100644 drivers/clocksource/timer-econet-en751221.c
applied patches 3-7 to mips-next
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
More information about the Linux-mediatek
mailing list