Jetson TK1 board support
Weiß, Dr. Jürgen
weiss at uni-mainz.de
Fri Nov 14 20:58:35 UTC 2014
The Ethernet works quite well. But there has been a change in a more
recent version of u-boot which did not initialize the interrupt
routing of the pcie bridge. So you do not get receive interrupts.
I put more recent patches for the jetson tk1 board to
http://www.staff.uni-mainz.de/weiss/jetson-tk1-20141114.tgz
New changes to u-boot:
(diff to git://nv-tegra.nvidia.com/3rdparty/u-boot.git):
device enumeration through the u-boot API did only return the
first device of each type.
New changes to the FreeBSD kernel:
(diff to FreeBSD current):
better initialize pcie bridge interrupt routing.
change cpu clock to 2 GHz (about 3 times faster)
SDHCI support. Tested only with non-highspeed cards.
changed cpu_reset to return to boot loader (u-boot).
Regards
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: Friday, November 14, 2014 8:29 AM
> To: Weiß, Dr. Jürgen
> Cc: freebsd-arm at freebsd.org
> Subject: Re: Jetson TK1 board support
>
> How well does the ethernet support work for you? When I try to use it, packets are sent
> successfully, but no packets are received (usually). I think there might be some sort of
> odd race condition: if I break into the debugger, let it sit for a while, then continue,
> it will start to (very intermittently) receive a packet every now and then (typically
> after a watchdog timeout message from the ethernet driver). Any idea what could be going
> on there?
>
>
> --David
>
>
> On Fri, Oct 3, 2014 at 9:33 AM, Weiß, Dr. Jürgen <weiss at uni-mainz.de> wrote:
>
>
> 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 <tel:%2B49%286131%2939-26361>
> , FAX: +49(6131)39-26407 <tel:%2B49%286131%2939-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> <tel:%2B49%286131%2939-26361>
> > , FAX: +49(6131)39-26407 <tel:%2B49%286131%2939-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>
> <tel:%2B49%286131%2939-26361> , FAX: +49(6131)39 <tel:%2B49%286131%2939> -
> > 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