[PATCH v5 0/7] Add EcoNet EN751221 MIPS platform support
Caleb James DeLisle
cjd at cjdns.fr
Tue May 20 09:07:28 PDT 2025
On 20/05/2025 08:49, Thomas Bogendoerfer wrote:
> 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
Thank you very much, and also thanks to everyone who helped review and
apply the others.
Thanks,
Caleb
>
> Thomas.
>
More information about the Linux-mediatek
mailing list