File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm / tegra.mdwn
Revision 1.27: download - view: text, annotated - select for diffs
Mon Nov 9 23:22:53 2015 UTC (6 years ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by jmcneill: How to use modesetting

[[!meta title="NetBSD/evbarm on NVIDIA Tegra"]]

**The Tegra port is work in progress**

[[!toc levels=2]]


# Supported hardware
 - CPU: Cortex-A15: NVIDIA Tegra K1 (T124) (4-core)
   - VFP / NEON
   - CPU frequency scaling
 - GIC
 - ARM generic timer
 - Clock and reset controller
 - GPIO controller
 - MPIO / pinmux controller
 - Memory controller
 - Power management controller
 - I2C controller
 - UART [[!template id=man name="com" section="4"]] serial console
 - RTC
 - Watchdog timer
 - SDMMC [[!template id=man name="sdhc" section="4"]] controller
 - USB 2.0 [[!template id=man name="ehci" section="4"]] controller
 - PCI express
 - SATA [[!template id=man name="ahcisata" section="4"]] controller
 - HDMI
   - Framebuffer console
   - HDMI Audio [[!template id=man name="hdaudio" section="4"]] controller
   - HDMI CEC
 - Jetson TK1
   - On-board Realtek 8111G [[!template id=man name="re" section="4"]] gigabit ethernet 
   - EEPROM [[!template id=man name="seeprom" section="4"]] (on I2C)
   - TMP451 [[!template id=man name="titemp" section="4"]] temperature sensor (on I2C)
   - RF kill switch
   - Power button

# TODO
 - Analog audio output (I2S, Audio codec, APB DMA)
 - AS3722 power management unit
 - GPU (nouveau)
 - USB 3.0 [[!template id=man name="xhci" section="4"]] controller
 - SPI controller
 - PWM controller
 - PCIe MSI support

# Generating a boot script

[[!template  id=programlisting text="""
$ cat boot.txt
setenv bootargs root=ld1a
fatload mmc 1:1 0x90000000 netbsd.ub
bootm 0x90000000
$ mkubootimage -A arm -C none -O netbsd -T script -a 0 -n "NetBSD/tegra boot" boot.txt boot.scr
"""]]

# Getting U-Boot

Jetson TK1 boards come with Linux4Tegra R19.x installed, which doesn't use U-Boot. The easiest way to get U-Boot is to upgrade to Linux4Tegra R21.x (Linux PC or VM required) following the [quick start guide](http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/l4t_quick_start_guide.txt).

# Modesetting

To be able to use the mode setting features of the Tegra DRM driver, you must use the xf86-video-modesetting driver. Put this in xorg.conf:

[[!template  id=programlisting text="""
Section "Device"
    Identifier "DRM Modesetting"
    Driver "modesetting"
EndSection
"""]]

# Links

- [NVIDIA Jetson TK1 development kit](https://developer.nvidia.com/jetson-tk1)
- [Hardware documentation](https://developer.nvidia.com/hardware-design-and-development)
- [Linux For Tegra](https://developer.nvidia.com/linux-tegra)

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb