LWN.net Logo

Merging Allwinner support

By Jake Edge
June 19, 2013

Getting support for their ARM system-on-chip (SoC) families into the mainline kernel has generally been a goal for the various SoC vendors, but there are exceptions. One of those, perhaps, is Allwinner Technology, which makes an SoC popular in tablets. Allwinner seems to have been uninterested in the switch to Device Tree (DT) in the mainline ARM kernel (and the requirement to use it for new SoCs added to the kernel tree). But the story becomes a bit murkier because it turns out that developers in the community have been doing the work to get fully DT-ready support for the company's A1X SoCs into the mainline. While Allwinner is not fully participating in that effort, at least yet, a recent call to action with regard to support for the hardware seems to be somewhat off-kilter.

The topic came up in response to a note from Ben Hutchings on the debian-release mailing list (among others) that was not specifically about Allwinner SoCs at all; it was, instead, about his disappointment with the progress in the Debian ARM tree. Luke Leighton, who is acting as a, perhaps self-appointed, "go-between" for the kernel and Allwinner, replied at length, noting that the company would likely not be pushing its code upstream:

well, the point is: the expectation of the linux kernel developers is that Everyone Must Convert To DT. implicitly behind that is, i believe, an expectation that if you *don't* convert to Device Tree, you can kiss upstream submission goodbye. and, in allwinner's case, that's simply not going to happen.

As might be guessed, that didn't sit well with the Linux ARM crowd. ARM maintainer Russell King had a sharply worded response that attributed the problem directly to Allwinner. He suggested that, instead of going off and doing its own thing with "fex" (which serves many of the same roles that DT does in the mainline), the company could have pitched in and helped fix any deficiencies in DT. In addition, he is skeptical of the argument that DT was not ready when Allwinner needed it:

DT has been well defined for many many years before we started using it on ARM. It has been used for years on both PowerPC and Sparc architectures to describe their hardware, and all of the DT infrastructure was already present in the kernel.

Leighton, though, points to the success of the Allwinner SoCs, as well as the ability for less-technical customers to easily reconfigure the kernel using fex as reasons behind the decision. There are, evidently, a lot of tablet vendors who have limited technical know-how, so not having to understand DT or how to transform it for the bootloader is a major plus:

the ODMs can take virtually any device, from any customer, regardless of the design, put *one* [unmodified, precompiled] boot0, boot1, u-boot and kernel onto it, prepare the script.fex easily when the customer has been struggling on how to start that DOS editor he heard about 20 years ago, and boot the device up, put it into a special mode where the SD/MMC card becomes a JTAG+RS232 and see what's up... all without even removing any screws.

The discussion continued in that vein, with ARM kernel developers stating that the way forward was to support DT while Leighton insisted that Allwinner would just continue to carry its patches in its own tree and that Linux (and its users) would ultimately lose out because of it. Except for one small problem: as Thomas Petazzoni pointed out, Maxime Ripard has been working on support for the Allwinner A1X SoCs—merged into the 3.8 kernel in arch/arm/mach-sunxi.

In fact, it turns out that Ripard has been in contact with Allwinner and gotten data sheets and evaluation boards from it. He pointed Leighton to a wiki that is tracking the progress of the effort. That work has evidently been done on a volunteer basis, as Ripard is interested in seeing mainline support for those SoCs.

In the end, Leighton's messages start to degenerate into what might seem like an elaborate troll evidencing a serious misunderstanding of how Linux kernel development happens. In any case, he seems to think he is in a position to influence Allwinner's management to pursue an upstream course, rather than its current development path. But his demands and his suggestion that he apologize on behalf of the Linux kernel community for "not consulting with you (allwinner) on the decision to only accept device tree" elicited both amazement and anger—for obvious reasons.

Leighton appears to start with the assumption that the Linux kernel and its community need to support Allwinner SoCs, and that they need to beg Allwinner to come inside the tent. It is a common starting point for successful silicon vendors, but time and again has been shown to not be the case at all. In fact, Allwinner's customers are probably already putting pressure on the company to get its code upstream so that they aren't tied to whichever devices and peripherals are supported in the Allwinner tree.

As far as fex goes, several in thread suggested that some kind of translator could be written to produce DT from fex input. That way, customers who want to use a Windows editor to configure their device will just need to run the tool, which could put the resulting flattened DT file into the proper place in the firmware. Very little would change for the customers, but they would immediately have access to the latest Linux kernel with its associated drivers and core kernel improvements.

Alternatively, Allwinner could try to make a technical case for the superiority of fex over DT, as Russell King suggested. It seems unlikely to be successful, as several developers in the thread indicated that it was a less-general solution than DT, but it could be tried. Lastly, there is nothing stopping Allwinner from continuing down its current path. If its customers are happy with the kernels it provides, and it is happy to carry its code out of tree, there is no "Linux cabal" that will try force a change.

Evidently, though, that may not actually be what Allwinner wants. Its efforts to support Ripard's work, along with contacts made by Olof Johansson, Ripard, and others, indicate that Allwinner is interested in heading toward mainline. It essentially started out where many vendors do, but, again like many SoC makers before it, decided that it makes sense to start working with upstream.

We have seen this particular story play out numerous times before—though typically with fewer comedic interludes. In a lot of ways, it is the vendors who benefit most from collaborating with the mainline. It may take a while to actually see that, but most SoC makers end up there eventually—just as with other hardware vendors. There are simply too many benefits to being in the mainline to stay out of tree forever.


(Log in to post comments)

Merging Allwinner support

Posted Jun 20, 2013 4:54 UTC (Thu) by roc (subscriber, #30627) [Link]

Google for "Luke Leighton troll".

Merging Allwinner support

Posted Jun 21, 2013 1:54 UTC (Fri) by rusty (✭ supporter ✭, #26) [Link]

Not something I say lightly, but LKCL is a nutcase. With long-standing form. That doesn't mean he's always wrong, but needs to be heavily filtered.

Cheers,
Rusty.

Merging Allwinner support

Posted Jun 20, 2013 14:17 UTC (Thu) by dw (subscriber, #12017) [Link]

If I was an Allwinner I suspect I would be teetering on the brink of damage control after reading this, which is a damn shame since they are quite clearly one of the friendliest SOC vendors around.

This piece comes across as negative press for a company that are obviously trying to be cooperative (including despite straddling the Asia<->West culture boundary), while simultaneously muddying the distinction between the company's motivations and one (somewhat bold) external developer's opinions.

I really don't like seeing this on LWN. Perhaps on Phoronix, but not here.

Merging Allwinner support

Posted Jun 20, 2013 14:37 UTC (Thu) by mpr22 (subscriber, #60784) [Link]

To me, this comes across as neutral press for Allwinner, positive press for Maxime Ripard, and deeply negative press for Luke Leighton.

Merging Allwinner support

Posted Jun 23, 2013 15:49 UTC (Sun) by nix (subscriber, #2304) [Link]

Quite. Like he needs more...

Merging Allwinner support

Posted Jun 20, 2013 17:02 UTC (Thu) by nevets (subscriber, #11875) [Link]

I really don't like seeing this on LWN. Perhaps on Phoronix, but not here.

Don't shoot the messenger. LWN is just reporting what happened on LKML. Seems that Luke needs a bit of communication training. I was actually amazed at how much restraint was given to him from the other developers.

Luke also did a bit of bad mouthing about those that work at Allwinner, which is quite surprising coming from someone that claims to be their representative.

"they have more employees than sense :) they also don't have any idea of what they *should* be doing, so this is an opportunity to educate them."

Perhaps he thinks they wont read this as he also thinks they don't understand any English.

Merging Allwinner support

Posted Jun 20, 2013 21:16 UTC (Thu) by pboddie (guest, #50784) [Link]

I read this from the other side of the curtain in the arm-netbook archives where messages were also being copied, and although it's possible to take the "who does the guy think he is?" position, I think by just considering this as a kernel mailing list phenomenon it misses a great deal of context. Nevertheless, the whole issue may have been a storm in a teacup.

(As for the "bad mouthing", maybe there's an ongoing lack of diplomatic tact here, but that doesn't mean that diplomacy in some form isn't being exercised. People seem to think that when some political leader openly berates some other entity - frequently the USA - that diplomacy has failed, but outbursts and performances also serve various purposes and don't always indicate a breakdown in communications.)

The wider issue as far as I can see, not adequately addressed by any claims of kernel development maturity (and outsider/vendor immaturity), is that there are lots of different projects straddling the software/hardware divide and much less collaboration than would be desirable to avoid issues like this and indeed many others.

Merging Allwinner support

Posted Jun 20, 2013 22:53 UTC (Thu) by boog (subscriber, #30882) [Link]

I agree that a good deal of context is missing. Leighton is pursuing an ambitious personal attempt to kickstart standardised arm-style hardware that runs properly free software. That's certainly a laudible aim. It's based around a pluggable "system" (for want of a better word). From my (quite inexpert) point of view it seems a very interesting idea with a real chance of success:
http://rhombus-tech.net/
(I'm looking forward to getting my hands on such a system.)

So people unaware of the project might easily be annoyed by Leighton, but they would be missing the point that he is investing a great deal of effort towards a valuable goal; the approach he is taking is original and clearly results from a lot of personal reflection and some real experience. He's certainly not just in it for the trolling of kernel developers.

It does seem plausible that some of the progess being made with Allwinner simply reflects the fact that he is pushing against an opening door. Note that the project is not tied to Allwinner.

Merging Allwinner support

Posted Jun 21, 2013 2:48 UTC (Fri) by roc (subscriber, #30627) [Link]

Luke has had interactions with other projects --- Samba, Webkit, Mozilla at least that I know of. Look them up.

Merging Allwinner support

Posted Jun 21, 2013 8:09 UTC (Fri) by boog (subscriber, #30882) [Link]

I think there are two separate issues here. Most people seem interested in criticising Leighton's interactional behaviour. Instead, I wanted to make the point that I see value, originality, progress and a (perhaps surprising) chance of success in his current project, which is certainly very worthwhile from a free software point of view. Nothing regrading the underlying project motivitaing Leighton appeared in the article, giving the impression that he was simply criticising kernel developers for fun, which I consider a real misrepresentation of the situation (it may accurately reflect the impression gained by kernel developers).

For those (like roc) particularly interested in discussing the social aspects rather than the underlying project, I guess I can imagine that a younger Leighton would have proved disruptive in larger projects. However, despite the apparently impulsive approach, the current project clearly results from some strategic thinking and long-term effort. I've been following/lurking the eoma project for a while and I've seen no behaviour that isn't motivated by good intentions and - to me - a defensible analysis of the current situation. In the latest kerfuffle, he was/is trying to draw the attention of developers to what he perceives to be a fundamental problem in arm hardware. That there is currently a problem is hardly in doubt. The final outcome and solution (if any) is not so easy to predict, but I think it would be hasty to say that Leighton is obviously wrong.

Merging Allwinner support

Posted Jun 21, 2013 11:53 UTC (Fri) by pboddie (guest, #50784) [Link]

I think people are too eager to criticise others when many are (or have been) in the same boat. Furthermore, the climate of discussion around many projects does lead people to be confrontational instead of conciliatory, so many people perceive that the best approach is to just demand or assert things rather than to gently tease out advice and opinions and to gradually persuade and encourage people to agree on the right course of action. In this particular case, the perceived urgency of the situation didn't encourage the apparently necessary tiptoeing around, and the usual "when it's done" responses are probably hard to stomach when an opportunity seems about to be lost.

With regard to reputations, I've dealt with people that no-one else wants to deal with, and although such people can exhibit annoying patterns of behaviour, one does come away with the impression that such people are genuinely trying to improve things and are not just playing some "trolling" game for the fun of it. Sadly, a lot of established contributors to projects seem to have the impression that every newcomer or outsider is by default only there to see some of the glamour rub off on them, and thus they treat newcomers with suspicion rather than take advantage of the opportunity of someone showing up with enthusiasm for that project. Such enthusiasm can drain away pretty quickly, after all.

I'm sure that a lot of people don't regard such matters as a problem, but I've also seen sentiments expressed in favour of blocking or censoring "difficult" people in a community, so I don't think anyone should be complacent about this kind of thing at all.

Merging Allwinner support

Posted Jun 23, 2013 20:01 UTC (Sun) by mato (guest, #964) [Link]

I second this. I've also been lurking on debian-arm and know of Leighton only from his efforts on the EOMA/Rhombus project where he has indeed been putting a lot of long-term efforts towards a worthwhile goal.

Further, having done some significant business in Korea, I'm inclined to think that the "suggestion" Leighton is being ridiculed for in the article, namely

that he apologize on behalf of the Linux kernel community for "not consulting with you (allwinner) on the decision to only accept device tree" elicited both amazement and anger—for obvious reasons

in fact shows that he is in a position "on the ground" at Allwinner and knows how the local culture works. In Korea (and China, Taiwan, Japan, ...) there is an extremely strong culture of conflict avoidance and fear of "losing face". Leighton's suggestion would be exactly the kind of statement I would make to Allwinner senior management were I in a position to be negotiating a situation like this.

Merging Allwinner support

Posted Jun 24, 2013 18:26 UTC (Mon) by boog (subscriber, #30882) [Link]

Indeed. Although not apparent in the summary email quoted in the article, it was clear on arm-netbook that the "apology" bit simply emerged as a presentational gambit, suggested moreover by Leighton's associates, not by him. Seems it is the done thing when asking favours from influential people or companies.

The whole thing was completely overblown. Leighton was in a position to influence people meeting Allwinner top brass and simply wished to make the most of the meeting for the benefit of free software, albeit at very short notice. The time pressure short circuited the background explanations that it turns out are essential when dealing with kernel developers.

Merging Allwinner support

Posted Jun 25, 2013 16:24 UTC (Tue) by pboddie (guest, #50784) [Link]

The amusing thing about this, of course, is that one must apparently also "apologise" on behalf of successful SoC vendors for not consulting with kernel developers. Everybody likes to think they are free of cultural baggage, I'm sure.

Merging Allwinner support

Posted Jun 25, 2013 17:05 UTC (Tue) by nevets (subscriber, #11875) [Link]

Apologize for what?

The kernel is GPL, you can do whatever you like with it as long as you continue to provide the changes under the GPL guidelines. I don't see the kernel developers saying "you must apologize to us for not working with us". I saw several comments to let them keep their work out of tree. Their work is also under the GPL, and can be pulled in properly by anyone that wants to follow the Linux Kernel rules.

The whole "apologize" comment had no place in that conversation. If Luke needs to follow social customs and "apologize" on behalf of the kernel developers to gain favor from the managers at Allwinner, he could do that off the public lists.

In other words, if you are dealing as a liaison for two different cultures, you need to act the part of the culture you are dealing with. For Asian companies, that usually means being very humble and playing the political correctness game.

For dealing with the Linux community, just give out the facts. Saying that a decision has to be made in 4 days, but never say what will happen when the time runs out, as well as pushing, we need to accept the other implementation that DT already has without any technical reason but "it works for a successful company", shows that Luke didn't properly handle the situation at all.

There's no need to have to give an "apology" to the kernel community. Just state what has happened and see what you get. The answer was pretty quick: Device Tree, or show us why their system is better for *everyone*. Also, other workarounds were given too, doing a script for the conversion of fex to DT. But it did seems that Luke wasn't happy with these answers, and only wanted the kernel developers to change their mind. Which he gave no real reason to do so.

Perhaps he's doing a great job at pushing Open Source in otherwise closed companies. But he should also know how to deal with the Open Source developers in a more productive and diplomatic way.

Merging Allwinner support

Posted Jun 27, 2013 17:54 UTC (Thu) by farnz (guest, #17727) [Link]

The issue with Luke's idea here is that he's ignored existing, popular industry standards. Had the Rhombus Tech system been based around the Qseven specification (which existed before EOMA-68) or the SMARC specification (which came after EOMA-68 but has more traction than EOMA-68 does), there would be products already. Indeed, producing a "profile" of Qseven (basically saying you must implement Qseven with all of these interfaces to qualify) would have resulted in being able to produce product back in 2008, and you would now be able to upgrade from that to an iMX6 or AMD G-series module.

Note that back in 2008, Qseven already covered SATA, gigE, USB 2.0, PCIe, DisplayPort, HDMI and audio interfaces. CAN and SPI got added in 2010, in a backwards compatible fashion.

Merging Allwinner support

Posted Jun 29, 2013 21:05 UTC (Sat) by boog (subscriber, #30882) [Link]

You may disagree with the reasons for not following the QSeven route, but that standard was considered (see "Alternative Standards" section near the bottom):

http://elinux.org/Embedded_Open_Modular_Architecture

Specific reasons appear to include: user-swappable, defined overall dimensions, all interfaces non-optional (the existence of incompatible boards seems to have been considered a problem).

Merging Allwinner support

Posted Jul 4, 2013 15:19 UTC (Thu) by farnz (guest, #17727) [Link]

That's why I suggested a derivative of Qseven, rather than a straight endorsement of Qseven as-is; by making EOMA "Qseven, but with these compatible changes", it would be easier to break the chicken-and-egg cycle of any board design.

Right now, to use EOMA, I need to convince a processing board maker to build me an EOMA board, and an interface board maker to build me an EOMA carrier. If EOMA was a Qseven derivative, I would face the easier option of convincing a Qseven board maker to produce me an EOMA-compliant derivative of product they already sell, even if that meant new connectors and packaging. As it is, I might design Qseven-based product in the future; there seems to be very little chance of my employer even considering EOMA.

Merging Allwinner support

Posted Jun 21, 2013 21:12 UTC (Fri) by iabervon (subscriber, #722) [Link]

There are some silicon vendors who don't care too much about working with the Linux kernel community per se or getting their chips supported in the mainline kernel, but do a great job of explaining exactly what their chips do to anyone who will listen. They often have some demo code and examples, but these are written to be informative about their chips, rather than aligning well with the kernel design. What they care about is having chips that are well-documented and easy to work with, and software design decisions are not their job. They seem to do well, to the extent that their chips are actually nice to work with and their document is actually accurate, and the user community just goes off and writes whatever it needs.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds