This release features:
- support for a new architecture and related SoC: LoongArch 64-bit on Loongson 3A5000/3A6000 + LS7A
- major improvements to Microchip LAN969x support
- transition of Ethernet PHY drivers to its own phy package
Major changes for tamago package API on loong64 platforms:
- loong64: new package for LoongArch 64-bit support (#73)
- loong64:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - soc/loongson/ls3a5000: new package for Loongson 3A5000/3A6000 support (#73)
- board/qemu/virt: new package for QEMU virt machine support (#73)
Major changes for tamago package API to improve Microchip support:
- arm:
(*CPU).ServiceInterruptsfunction moved to CPU instance (2692cd4) - arm:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - microchip/lan9696evb: negotiate 100/1000 Mbps Ethernet speed (#86)
- microchip/devcpu: improve network frame handling implementation (#82)
- microchip/fan: new driver for lan969x fan controller (#91, 793d137)
- microchip/flexcom: use blocking mode for first
(*FLEXCOM).Read(#75) - microchip/flexcom: fix incorrect byte count in
(*FLEXCOM).Write(#79) - microchip/flexcom:
(*FLEXCOM).EnableInterruptnow disables interrupts with nil argument (#80) - microchip/flexcom: enable single-data FIFO and improve
(*FLEXCOM).Rx(#80) - microchip/flexcom:
(*FLEXCOM).InitUSART,(*FLEXCOM).USARTnew function and field for USART mode (#94) - microchip/flexcom:
(*FLEXCOM).InitTWI,(*FLEXCOM).TWInew function and field for TWI mode (#94) - microchip/gpio: move to
(*Pin)abstraction and add(*Pin).High,(*Pin).Lowfunctions (#85, #87) - microchip/temp: new driver for lan969x temperature sensor (#77)
- microchip/miim:
(*MIIM).MDIO22,(*MIIM).MDIO45now report transaction errors (#86) - microchip/miim:
(*MIIM).ReadPHYRegister,(*MIIM).WritePhyRegisternow report transaction errors (#86) - microchip/spgio: new driver for lan969x serial GPIO (#93)
- microchip/wdt: new driver for lan969x watchdog (#84)
Major changes for tamago package API on amd64 platforms:
- arm64:
(*CPU).InitMMUallow mapping across multiple boundaries (#76) - cloud_hypervisor/vm: adjust
goos.Exitimplementation to 1-byteshutdown_pio_addresswrite (8462b1f) - cloud_hypervisor/vm: increase
goos.RamSizeto 2560 MiB (8462b1f) - firecracker/microvm: increase
goos.RamSizeto 2560 MiB (8462b1f) - qemu/microvm: increase
goos.RamSizeto 2560 MiB (8462b1f) - intel/uart:
(*UART).EnableInterruptnew function to enable IRQ support (d9059b0) - intel/uart:
(*UART).Rxnow takes block argument for conditional data wait (d9059b0) - aifoundry/uart: fix incorrect byte count in
(*Shakti).Read,(*Shakti).Write(dc1edde) - aifoundry/uart: fix incorrect byte count in
(*Synopsys).Read,(*Synopsys).Write(dc1edde)
Major changes for tamago package API Ethernet PHY support:
- bits: add 16-bit register support (ea8c3a6)
- phy: generic MIIM interface for PHY operations (#88)
- ksz8081: new driver for Microchip KSZ8081 (#88)
- lan8804: new driver for Microchip LAN8804/LAN8814(#90, 6a236d3, #92)
- lan8840: new driver for Microchip LAN8840 (#88, #92)
- dp83825i: new driver for Texas Instruments DP83825i (#88)
- nxp/enet:
(*ENET).Timeoutnew field for MIIM operations timeout (#88) - nxp/enet:
(*ENET).MDIO22,(*ENET).MDIO45now return an error in case of timeout (#88) - nxp/enet:
(*ENET).ReadPHYRegister,(*ENET).WritePHYRegisternow returns an error in case of timeout (#88)
Major changes for tamago package API on arm/arm64 platforms:
- arm64:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - nuvoton/aic:
(*AIC).EnableInterruptrenamed from(*AIC).EnableIRQ(8fe9325) - nuvoton/aic:
(*AIC).DisableInterruptrenamed from(*AIC).DisableIRQ(8fe9325) - nuvoton/aic:
(*AIC).CurrentInterruptrenamed from(*AIC).CurrentIRQ(8fe9325) - nuvoton/aic:
(*AIC).ClearInterruptrenamed from(*AIC).EOI(8fe9325)
Major changes for tamago internal packages:
- dma: always defrag when freeing a DMA block (f7a60ad)
- dma: fix reservation check (18b653c)
- reg: improve implementation and fix (unused)
Get16andMovefunctions (#78, 2ba8fc2) - nxp/caam: improve CAAM checks (835eaad)
Full Changelog: v1.26.5...v1.26.6
This release requires GOOS=tamago support in the Go distribution with tamago-go1.26.5 or later releases, it has been tested with tamago-go1.26.6.