The 3.10 Linux kernel has been released a few days ago. According to LWN, with almost 13.500 non-merge commits, the 3.10 has been the busiest ever, and also the fastest. Bootlin engineers again contributed to this release, with 99 patches integrated, making Bootlin the 28th most active company contributing, right between ST-Ericsson (103 patches) and ARM (97 patches). See http://www.remword.com/kps_result/3.10_whole.html for the complete statistics.
This time, Bootlin contributions include:
- LPAE support for the Marvell Armada XP SoC, done by Grégory Clement.
- Fix for errata 4742 of the PJ4B CPU core (used in Armada 370/XP), which prevented booting Armada 370 platforms after ARM optimized some TLB operations. Done by Grégory Clement.
- Support for NOR flash on Marvell Armada 370 and Armada XP SoC, done by Ezequiel Garcia
- Addition of a
mvebu-mbus
driver to handle the address decoding mechanism and configurable memory windows of Marvell SoC. Themach-kirkwood
,mach-orion5x
,mach-dove
,mach-mv78xx0
andmach-mvebu
Marvell platforms are all converted to use it. Developping this driver was a requirement to enable PCIe in a Device Tree compatible way on these platforms. Done by Thomas Petazzoni. - Addition of Device Tree information for the PCIe controllers of the Armada 370 and Armada XP, but unfortunately not the PCIe driver itself (which will arrive in 3.11). Done by Thomas Petazzoni.
- Support for the thermal sensor on Marvell Armada 370 and Armada XP SoC, done by Ezequiel Garcia
- A lot of reorganization of the Device Tree compatible strings for the Allwinner ARM SoC support, to prepare for the addition of additional SoCs in the future. Done by Maxime Ripard.
- Improvements to the Allwinner pinctrl driver, with support for the A10 and A13 SoC. Done by Maxime Ripard.
- Enabling of the I2C GPIO expander of the Armada 370 based Mirabox platform. Done by Grégory Clement.
- A few updates to the support for the i.MX28 Crystalfontz boards: touchscreen and one-wire support on CFA10049. Done by Alexandre Belloni.
- Various cleanups and improvements to the OMAP GMPC driver, done by Ezequiel Garcia.
- Various cleanups and improvements to the Marvell Armada 370/XP IRQ controller driver, done by Thomas Petazzoni.
In detail, the contributions are:
- Alexandre Belloni (4):
- Ezequiel Garcia (24):
- thermal: Fix compiler warning
- thermal: kirkwood: Fix valid check for thermal register
- thermal: kirkwood: Fix thermal sensor formula
- thermal: dove: Fix thermal sensor formula
- ARM: mvebu: Add button on Armada 370 Reference Design board
- ARM: omap2: gpmc: Mark local scoped functions static
- ARM: omap2: gpmc: Remove unused gpmc_round_ns_to_ticks() function
- ARM: omap2: gpmc: Fix gpmc_cs_reserved() return value
- ARM: omap2: gpmc-nand: Print something useful on CS request failure
- ARM: omap2: gpmc-onenand: Print something useful on CS request failure
- ARM: omap2: gpmc-onenand: Replace pr_err() with dev_err()
- ARM: omap2: gpmc-onenand: Replace printk KERN_ERR with dev_warn()
- ARM: omap2: gpmc: Remove redundant chip select out of range check
- thermal: Add driver for Armada 370/XP SoC thermal management
- ARM: mvebu: Add thermal support to Armada XP device tree
- ARM: mvebu: Add thermal support to Armada 370 device tree
- ARM: configs: Update mvebu defconfig for thermal
- ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
- ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
- ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
- ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
- ARM: mvebu: Add a ranges entry to translate devbus childs
- ARM: mvebu: Fix ranges entry on XP GP board
- serial: 8250_dw: Add valid clk pointer check
- Gregory CLEMENT (12):
- arm: mvebu: enable gpio expander over i2c on Mirabox platform
- clk: add device tree fixed-factor-clock binding support
- ARM: mvebu: Limit the DMA zone when LPAE is selected
- ARM: dts: mvebu: Convert all the mvebu files to use the range property
- ARM: dts: mvebu: introduce internal-regs node
- ARM: dts: mvebu: Convert mvebu device tree files to 64 bits
- ARM: 7695/1: mvebu: Enable pj4b on LPAE compilations
- ARM: mvebu: select ARCH_REQUIRE_GPIOLIB for mvebu platform
- ARM: plat-orion: Fix num_resources and id for ge10 and ge11
- ARM: dts: mvebu: Fix wrong the address reg value for the L2-cache node
- ARM: 7754/1: Fix the CPU ID and the mask associated to the PJ4B
- ARM: 7773/1: PJ4B: Add support for errata 4742
- Maxime Ripard (28):
- sunxi: dts: Report the pinctrl nodes as gpio-controllers
- sunxi: a13-olinuxino: Add user LED to the device tree
- pinctrl: sunxi: Add Allwinner A10 pin functions
- pinctrl: sunxi: Add Allwinner A13 pin functions
- ARM: sunxi: dt: Add support for the PineRiver Mini X-plus
- regulator: Fix typo in of_get_regulator function comments
- ARM: at91: Fix typo in restart code panic message
- ARM: sunxi: dt: Use clocks property instead of clock-frequency for the UARTs
- ARM: sunxi: Rename uart nodes to serial
- ARM: sunxi: dt: Move uart0 to sun4i-a10.dtsi
- ARM: sunxi: dt: Add uart3 dt node
- ARM: sunxi: dt: Add A10 UARTs to the dtsi.
- ARM: sunxi: hackberry: Add UART muxing
- ARM: irq: Call irqchip_init if no init_irq function is specified
- clocksource: sunxi: Cleanup the timer code
- clocksource: sunxi: make use of CLKSRC_OF
- clocksource: sunxi: Rename sunxi to sun4i
- irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
- irqchip: sunxi: Rename sunxi to sun4i
- ARM: sunxi: Rework the restart code
- ARM: sunxi: dt: Reorganize the dtsi
- ARM: sunxi: dt: Update timer compatible string
- ARM: sunxi: dt: Update interrupt controller compatible string
- ARM: sunxi: dt: Update watchdog compatible string
- pinctrl: sunxi: Rename wemac functions to emac
- ARM: sunxi: Fix Mini X-plus device tree build
- ARM: sunxi: select ARCH_REQUIRE_GPIOLIB
- gpio: mxs: Use set and clear capabilities of the gpio controller
- Thomas Petazzoni (31):
- arm: plat-orion: only build addr-map.c when needed
- arm: plat-orion: use mv_mbus_dram_info() in PCIe code
- arm: mach-orion5x: use mv_mbus_dram_info() in PCI code
- mmc: mvsdio: fix non-DT probing of GPIOs
- mmc: mvsdio: use dev_*() API instead of pr_*() API
- bus: introduce an Marvell EBU MBus driver
- ARM: 7683/1: pci: add a align_resource hook
- bus: mvebu: fix mistake in PCIe window target attribute for Kirkwood
- arm: mach-mvebu: convert to use mvebu-mbus driver
- arm: mach-kirkwood: convert to use mvebu-mbus driver
- arm: mach-dove: convert to use mvebu-mbus driver
- arm: mach-orion5x: convert to use mvebu-mbus driver
- arm: mach-mv78xx0: convert to use the mvebu-mbus driver
- arm: plat-orion: remove addr-map code
- arm: mvebu: add PCIe Device Tree informations for Armada 370
- arm: mvebu: add PCIe Device Tree informations for Armada XP
- arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
- arm: mvebu: PCIe Device Tree informations for Armada XP DB
- arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
- arm: mvebu: PCIe Device Tree informations for Armada 370 DB
- arm: mvebu: PCIe Device Tree informations for Armada XP GP
- ARM: dts: mvebu: fix cpus section indentation
- ARM: dts: mvebu: move all peripherals inside soc
- ARM: mvebu: move L2 cache initialization in init_early()
- irqchip: move IRQ driver for Armada 370/XP
- irqchip: armada-370-xp: move IRQ handler to avoid forward declaration
- irqchip: armada-370-xp: slightly cleanup irq controller driver
- ARM: mvebu: do not duplicate the mpic alias
- arm: mvebu: fix the ‘ranges’ property to handle PCIe
- arm: omap2: fix AM33xx hwmod infos for UART2
- arm: mvebu: armada-xp-{gp,openblocks-ax3-4}: specify PCIe range
Your kernel article and the “ARM support in the
Linux kernel” FOSDEM 2013 pdf were very interesting to me.
I have been working with GlobalScale’s SMILE plug and had come to the conclusion that its Linux distribution were old and un-supported.
The SMILE plug is an Access Point, but does not have a Webmin user interface.
With the latest Linux Kernel supporting the Armada 370, is possible to build a Linux distribution with Webmin support? I see the MiraPlug is now supported by the kernel.
Is this something free-electrons could help with on a consulting basis?
Best Regards
Larry Harmon
We replied to this message in a private way (talking about consulting services).
is the tdma support implemented in any of the linux kernel versions??
Hi Thomas.
I am trying Linux Kernel 4.0.3 on ARMADAXP-MV78260 . There two issues which I am stuck with
1) U-Boot deletes /l2-cache node from FDT blob.
Tried setting “setenv disL2Cache no” but then Linux boot stops at “Starting Kernel”
If I “setenv disL2Cache yes” then L2C doesnt initialize & dumps following message
” L2C: failed to init: -19″ . This -ENODEV since its not able to find /l2-cache node from FDT.
2) Another Issue is secondary CPU’s dont come online .
“CPU1: failed to come online”
I am using marvell supplied U-BOOT BSP & latest kernel release from kernel.org.
Kernel doesnt have any LSP for now.
Could you report this issue on the ARM kernel mailing list, with the Marvell EBU maintainers and myself (Thomas Petazzoni) in Cc? This will be a much more efficient way to address your problem than exchanging through blog post comments.