[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