[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian in a Pcduino3



On Sat, Dec 27, 2014 at 11:18:25PM +0100, Patrice Go wrote:

[using a dtb from a newer kernel with kernel 3.16]

> understood. don't have enough technical capacities and time to 
> advance in that...  is it something like that, that it would be
> necessary to do ?  : 
> http://olimex.wordpress.com/2013/09/18/7795/

Hello,

the olimex page describes something completely different - it is
about manually setting up a Debian rootfs with a linux-sunxi.org
3.4 kernel.  The linux-sunxi.org 3.4 kernel does not use
device-trees, but instead uses the Allwinner-specific fex
system, which is incompatible with mainline kernels.

I guess you need some more background information about Linux on
arm-based systems:

Historically, every arm-based system needed a specifically built
kernel.  This obviously did not scale well to a large number of
systems, so people worked on a solution, which was found in the
form of device-trees.  A device-tree is a description of the
hardware setup of a specific board.  It contains information such
as which I/O-pins are connected to which external devices and
which non-probeable hardware components are built onto the board. 
Systems-on-Chip ("SoC") like the Allwinner A20 give a hardware
designer the possibility to use their I/O connectors for very
different functions, which means that the very same I/O pin that
is used for detecting the presence of an SD card on one board
might be used to control the power supply of an ethernet PHY on
another board.  All this information is encoded in the board's
device-tree, so that a single kernel which understands this
device-tree information can run on lots of different boards, as
long as a device-tree for that board exists and the kernel has
the necessary drivers for the hardware components on the board.

The kernel 3.16 in Jessie has drivers for several core components
of the pcduino3 (like serial port, MMC controller, USB host
controller, internal ethernet MAC, external ethernet PHY, SATA
controller), but due to lack of a device-tree for the board, it
does not "know" how several of the connectors or external
components are wired to the SoC.  If one provides the device-tree
information for the board (which can be taken from kernel 3.17)
to kernel 3.16, those drivers which are already available in
kernel 3.16 can make use of it and thereby work on the "new"
board.

I hope this helps a bit in clearing up the confusion.

Regards,
Karsten
-- 
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.


Reply to: