Jetson TK1 board support

Weiß, Dr. Jürgen weiss at uni-mainz.de
Fri Oct 3 13:33:07 UTC 2014


If you enable the sdhci controller(s) in the fdt, the controllers and
the cards are (at least partially) recognized. Read data transfers
from the sd card slot return only data bytes with zero contents.
The quirk in the fdt should disable DMA. The transfers are done
in pio mode.

U-boot should already have initialized the controllers. But the
generic sdhci driver tries at least to set frequency and bus width
according to the cards present. For the EMMC it certainly does
not know how to handle 8 bit transfers without further help 
from a tegra specific driver extensions.

Juergen

Juergen Weiss      |Universitaet Mainz, Zentrum fuer Datenverarbeitung,
weiss at uni-mainz.de |55099 Mainz, Tel: +49(6131)39-26361, FAX: +49(6131)39-26407

> -----Original Message-----
> From: David Rayson [mailto:drayson at andrew.cmu.edu]
> Sent: Thursday, October 02, 2014 11:54 PM
> To: Weiß, Dr. Jürgen
> Cc: freebsd-arm at freebsd.org
> Subject: Re: Jetson TK1 board support
> 
> How much work do you think would be needed to get the SD controller working?  Would it
> simply be a matter of doing the appropriate initialization (wouldn't U-Boot do this
> already even?), enabling it in the device tree, and using the standard FreeBSD SDHCI
> driver, or is there something more complicated that would need to be done?
> 
> 
> (This would probably be simple to test, but I don't have access to the hardware right now)
> 
> 
> --David
> 
> 
> On Fri, Sep 26, 2014 at 4:39 PM, Weiß, Dr. Jürgen <weiss at uni-mainz.de> wrote:
> 
> 
> 	Hi,
> 
> 	sorry, I did not have any time during the week.
> 
> 	I just sent a mail to the list with a link to my changes.
> 
> 	Only serial, USB2 and PCIe/Ethernet hardware is working - so no
> 	SATA.
> 
> 	The drivers rely on u-boot to initialize the hardware. While this
> 	is ok for pinmux, other initializations should be done by the
> 	drivers.
> 
> 	The interrupt handling for PCIe is rather ad hoc. The interrupt
> 	routing should honor the FDT description.
> 
> 	The Tegra platform has a GIC with extensions for interrupt
> 	routing. I just made a copy of the GIC code end extended it
> 	in a few cases. There should probably be a mechanism to do
> 	this without duplicating code.
> 
> 	I changed some non tegra files to get FreeBSD running on the
> 	hardware. There should be better solutions, which can be merged
> 	back to the FreeBSD source tree. For example the problem
> 	with cache coherency due to aggressive L2 prefetch awaits
> 	a real solution.
> 
> 	There is no code to change the cpu clock yet.
> 
> 	There is no support for SDHCI or EMMC.
> 
> 	So I would consider this a first step, which allows to do
> 	native development on the platform.
> 
> 	Besides that, the kernel seems to be quite stable - at least with
> 	the compiles I did.
> 
> 	Regards
> 
> 	Juergen
> 
> 	Juergen Weiss      |Universitaet Mainz, Zentrum fuer Datenverarbeitung,
> 	weiss at uni-mainz.de |55099 Mainz, Tel: +49(6131)39-26361 <tel:%2B49%286131%2939-26361>
> , FAX: +49(6131)39-26407 <tel:%2B49%286131%2939-26407>
> 
> 
> 	> -----Original Message-----
> 	> From: owner-freebsd-arm at freebsd.org [mailto:owner-freebsd-arm at freebsd.org] On
> Behalf Of
> 	> David Rayson
> 	> Sent: Wednesday, September 24, 2014 9:25 AM
> 	> To: freebsd-arm at freebsd.org
> 	> Subject: Re: Jetson TK1 board support
> 	>
> 	> Hi,
> 	>
> 	> What other work would be useful to get this port working well?  I might
> 	> be interested in working on improving it, but first I want to make sure
> 	> I have a clear sense of what's been done so far (and how stable/not it
> 	> is) and what still remains to be done.
> 	>
> 	> --David
> 	>
> 	> > Hi,
> 	> >
> 	> > I have a rather rough port of FreeBSD current on arm to Jetson TK1. I
> 	> > used Stephen Warren's tegra u-boot sources, which initialize and configure
> 	> > USB and PCIe.
> 	> >
> 	> > So SMP, USB and the onboard PCIe Ethernet adapter work.
> 	> >
> 	> > After Ian's changes to busdma_machdep-v6 (r269212) I had problems with
> 	> > cache coherency with the Ethernet adapter. Seems this is due to the aggressive
> 	> > L2 prefetcher of Cortex A15. Disabling L2 prefetch does help, as well as
> 	> > invalidating the cache a second time after the dma transfer. I'm not
> 	> > sure what the correct solution to this problem is. I wonder how
> 	> > other Cortex A15 platforms (exynos5) handle this.
> 	> >
> 	> > I will probably be able to do some cleanups and put patches on the web
> 	> > within a week.
> 	> >
> 	> > Regards
> 	> >
> 	> > Juergen
> 	> >
> 	> > Juergen Weiss      |Universitaet Mainz, Zentrum fuer Datenverarbeitung,
> 	> > weiss at uni-mainz.de  <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>
> |55099
> 	> Mainz, Tel: +49(6131)39-26361 <tel:%2B49%286131%2939-26361> , FAX: +49(6131)39-
> 26407 <tel:%2B49%286131%2939-26407>
> 	> >
> 	> > >/  -----Original Message-----
> 	> > />/  From:owner-freebsd-arm at freebsd.org
> 	> <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>  [mailto:owner-freebsd-arm
> at
> 	> freebsd.org  <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>] On Behalf Of
> 	> > />/  Ian Lepore
> 	> > />/  Sent: Sunday, September 21, 2014 3:44 PM
> 	> > />/  To: Lundberg, Johannes
> 	> > />/  Cc:freebsd-arm at freebsd.org
> <http://lists.freebsd.org/mailman/listinfo/freebsd-
> 	> arm>
> 	> > />/  Subject: Re: Jetson TK1 board support
> 	> > />/
> 	> > />/  On Sun, 2014-09-21 at 16:45 +0900, Lundberg, Johannes wrote:
> 	> > />/  > Great!
> 	> > />/  >
> 	> > />/  > What I've done so far is
> 	> > />/  >
> 	> > />/  > - build and patch (enable API) u-boot-nvidia on freebsd (i think i got it
> 	> > />/  > fromgit://nv-tegra.nvidia.com/3rdparty/u-boot.git,  the normal u-boot
> 	> > />/  > wouldn't work...)
> 	> > />/  > - flash u-boot-dtb-tegra.img onto the board's mmc using nvidia's flash
> tool
> 	> > />/  > on ubuntu
> 	> > />/  > - build an image using crochet and dd to sd card (so far I copied the
> 	> > />/  > beaglebone setup, just to get a ubldr and a kernel file)
> 	> > />/  >
> 	> > />/  >
> 	> > />/  > From u-boot I can see all devices. I load ubldr with
> 	> > />/  > fatload mmc 1:1 0x80200000 ubldr
> 	> > />/  > bootelf 0x80200000
> 	> > />/  >
> 	> > />/  > ubldr load fine but, from ubldr I can only see the mmc 0 and net devices.
> 	> > />/  > There's no sd card (mmc 1), and no ufs partition..
> 	> > />/  >
> 	> > />/  >
> 	> > />/  >
> 	> > />/  >
> 	> > />/  > --
> 	> > />/  > Johannes Lundberg
> 	> > />/  > BRILLIANTSERVICE CO., LTD.
> 	> > />/  >
> 	> > />/  > On Fri, Sep 19, 2014 at 8:25 PM, John Howie <john at thehowies.com
> 	> <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>> wrote:
> 	> > />/  >
> 	> > />/  > > Hi all,
> 	> > />/  > >
> 	> > />/  > > I am up for testing and supporting this board. I ordered and received
> 	> > />/  > > mine, but have not really had a chance to use it due to work to-date.
> The
> 	> > />/  > > good news is the next few months I will have bandwidth.
> 	> > />/  > >
> 	> > />/  > > Regards,
> 	> > />/  > >
> 	> > />/  > > John
> 	> > />/  > >
> 	> > />/  > >
> 	> > />/  > > On 9/19/14, 12:15 PM, "Lundberg, Johannes"
> 	> > />/  > > <johannes at brilliantservice.co.jp
> 	> <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>> wrote:
> 	> > />/  > >
> 	> > />/  > > >Hi
> 	> > />/  > > >
> 	> > />/  > > >I started working on adding the Jetson TK1 board to Crochet. Is there
> any
> 	> > />/  > > >work in progress on this?
> 	> > />/  > > >I guess there is quite a lot of work that has to been done to get full
> 	> > />/  > > >support for it in the kernel as well..
> 	> > />/  > > >
> 	> > />/  > > >Best regards
> 	> > />/  > > >--
> 	> > />/  > > >Johannes Lundberg
> 	> > />/  > > >
> 	> > />/
> 	> > />/  You may have to change some u-boot options to support multiple mmc/sd
> 	> > />/  interfaces.  Look in the config header for CONFIG_SYS_MMC_MAX_DEVICE; if
> 	> > />/  it's not there you may need to add it.  For wandboard I also had to add
> 	> > />/  a freescale-specific one, CONFIG_SYS_FSL_USDHC_NUM, so there may be
> 	> > />/  something like that you need to find as well.
> 	> > />/
> 	> > />/  -- Ian
> 	> > />/
> 	> > />/
> 	> > />/  _______________________________________________
> 	> > />/  freebsd-arm at freebsd.org
> <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>
> 	> mailing list
> 	> > />/  http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> 	> > />/  To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org
> 	> <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>"/
> 	> _______________________________________________
> 	> freebsd-arm at freebsd.org mailing list
> 	> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> 	> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> 
> 



More information about the freebsd-arm mailing list