History log of /freebsd-11-stable/sys/arm/nvidia/tegra124/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
332025 04-Apr-2018 mmel

MFC r328201:

Convert extres/phy to kobj model. Similarly as other extres pseudo-drivers,
implement phy by using kobj model. This detaches it from provider device, so
single device driver can export multiple different phys. Additionally, this
allows phy to be subclassed to more specialized drivers, like is USB OTG phy,
or PCIe phy with hot-plug capability.

332010 04-Apr-2018 mmel

MFC (cherry pick)r306197,r306327,r306328,r308390,r308391,r310600,r314703:

cherry pick from r306197:
Nvidia Tegra 124 and Jetson TK1 related DTS.
r306327:
Update AHCI driver to match new dts tree
r306328:
Update PCI driver to match new dts tree
r308390:
Rework NVIDIA Tegra124 XUSBPAD driver.
- Adapt it for new, incompatible, DT bindings introduced by r306197. -
Add support for USB super speed pads/ports.
r308391:
Add NVIDIA Tegra XHCI driver and coresponding firmware blob.
r310600:
Implement drivers for NVIDIA tegra124 display controller, HDMI source and
host1x module. Unfortunately, tegra124 SoC doesn't have 2D acceleration
engine and 3D requires not yet started nouveau driver.
r314703:
Add support for card detect and write protect gpio pins to Tegra SDHCI.

331893 02-Apr-2018 gonzo

MFC r306263, r306268

r306263 by andrew:
Move cpu_reset to be a platform method to allow multiple implementations.

Reviewed by: mmel
Sponsored by: ABT Systems Ltd
Differential Revision: https://reviews.freebsd.org/D8010

r306268 by andrew:
Also implement platform_cpu_reset on bcm2836

327658 07-Jan-2018 ian

MFC r327367:

Make kernel option KERNVIRTADDR optional, remove it from std.<platform>
files that can use the default value.

It used to be required that the low-order bits of KERNVIRTADDR matched
the low-order bits of the physical load address for all arm platforms.
That hasn't been a requirement for armv6 platforms since FreeBSD 10.
There is no longer any relationship between load addr and KERNVIRTADDR
except that both must be aligned to a 2 MiB boundary.

This change makes the default KERNVIRTADDR value 0xc0000000, and removes the
options from all the platforms that can use the default value. The default
is now defined in vmparam.h, and that file is now included in a few new
places that reference KERNVIRTADDR, since it may not come in via the
forced-include of opt_global.h on the compile command line.

317013 16-Apr-2017 mmel

MFC r309538:

Fixes for NVIDIA Tegra124 clocks:
- EMC clock have standard peripheral clock block. Use it. - Implement full
frequency set method for PLLD2. This PLL
is used as HDMI pixel clock so we must be able to set it to wide range of
frequencies, within 5% tolerance allowed by HDMI specification. Due to
this, full state space search (over m, n, p fields) is necessary.

317012 16-Apr-2017 mmel

MFC r308286,r308287:

r308286:
TEGRA: Add basic driver for memory controller. For now, it only reports
memory and SMMU access errors.
r308287:
TEGRA: Fix numerous issues in clock code. Define and export clocks related
to XUSB driver.

317006 16-Apr-2017 mmel

MFC r306442,r306444,r306445,r306550:

r306442:
TEGRA: Add support for MULTIDELAY option.
r306444:
TEGRA: Don't include files already included by system or arch configs.
r306445:
TEGRA: Return back kern_clocksource.c into tegra config file. It was
removed in r306444 by mistake.
r306550:
TEGRA: Extend timeout for PLLs lock to 5 ms. Real lock time for PLLA has
been very near to old limit.

314506 01-Mar-2017 ian

MFC r306262, r306267, r310021: (needed to avoid conflicts on later merges)

Remove bus_dma_get_range and bus_dma_get_range_nb on armv6. We only need
this on a few earlier arm SoCs.

Restrict where we need to define fdt_fixup_table to just PowerPC and
Marvell.

Add the missing void to function signatures in much of the arm code.


/freebsd-11-stable/sys/arm/allwinner/a10_common.c
/freebsd-11-stable/sys/arm/allwinner/aw_machdep.c
/freebsd-11-stable/sys/arm/allwinner/aw_wdog.c
/freebsd-11-stable/sys/arm/altera/socfpga/socfpga_common.c
/freebsd-11-stable/sys/arm/altera/socfpga/socfpga_machdep.c
/freebsd-11-stable/sys/arm/amlogic/aml8726/aml8726_identsoc.c
/freebsd-11-stable/sys/arm/amlogic/aml8726/aml8726_machdep.c
/freebsd-11-stable/sys/arm/amlogic/aml8726/aml8726_wdt.c
/freebsd-11-stable/sys/arm/annapurna/alpine/alpine_machdep.c
/freebsd-11-stable/sys/arm/annapurna/alpine/common.c
/freebsd-11-stable/sys/arm/arm/busdma_machdep-v6.c
/freebsd-11-stable/sys/arm/arm/cpufunc.c
/freebsd-11-stable/sys/arm/arm/db_trace.c
/freebsd-11-stable/sys/arm/arm/physmem.c
/freebsd-11-stable/sys/arm/arm/platform.c
/freebsd-11-stable/sys/arm/arm/undefined.c
/freebsd-11-stable/sys/arm/at91/at91_common.c
/freebsd-11-stable/sys/arm/broadcom/bcm2835/bcm2835_common.c
/freebsd-11-stable/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
/freebsd-11-stable/sys/arm/broadcom/bcm2835/bcm2835_wdog.c
/freebsd-11-stable/sys/arm/freescale/imx/imx6_anatop.c
/freebsd-11-stable/sys/arm/freescale/imx/imx6_machdep.c
/freebsd-11-stable/sys/arm/freescale/imx/imx6_src.c
/freebsd-11-stable/sys/arm/freescale/imx/imx_common.c
/freebsd-11-stable/sys/arm/freescale/imx/imx_machdep.c
/freebsd-11-stable/sys/arm/freescale/vybrid/vf_common.c
/freebsd-11-stable/sys/arm/freescale/vybrid/vf_machdep.c
/freebsd-11-stable/sys/arm/include/bus_dma.h
/freebsd-11-stable/sys/arm/lpc/lpc_gpio.c
/freebsd-11-stable/sys/arm/lpc/lpc_intc.c
/freebsd-11-stable/sys/arm/mv/mv_machdep.c
tegra124_machdep.c
/freebsd-11-stable/sys/arm/nvidia/tegra_efuse.c
/freebsd-11-stable/sys/arm/qemu/virt_common.c
/freebsd-11-stable/sys/arm/qemu/virt_machdep.c
/freebsd-11-stable/sys/arm/rockchip/rk30xx_common.c
/freebsd-11-stable/sys/arm/rockchip/rk30xx_machdep.c
/freebsd-11-stable/sys/arm/rockchip/rk30xx_wdog.c
/freebsd-11-stable/sys/arm/samsung/exynos/exynos5_common.c
/freebsd-11-stable/sys/arm/samsung/exynos/exynos5_machdep.c
/freebsd-11-stable/sys/arm/ti/am335x/am335x_dmtpps.c
/freebsd-11-stable/sys/arm/ti/ti_common.c
/freebsd-11-stable/sys/arm/ti/ti_machdep.c
/freebsd-11-stable/sys/arm/versatile/versatile_common.c
/freebsd-11-stable/sys/arm/versatile/versatile_machdep.c
/freebsd-11-stable/sys/arm/xilinx/zy7_machdep.c
/freebsd-11-stable/sys/arm/xilinx/zy7_slcr.c
/freebsd-11-stable/sys/arm/xscale/pxa/pxa_gpio.c
/freebsd-11-stable/sys/arm/xscale/pxa/pxa_icu.c
/freebsd-11-stable/sys/arm/xscale/pxa/pxa_space.c
/freebsd-11-stable/sys/arm/xscale/pxa/pxa_timer.c
/freebsd-11-stable/sys/dev/ofw/ofw_fdt.c
308374 06-Nov-2016 mmel

MFC r306551,r307557:

r306551:
TEGRA: Fix bindings for cpufreq and coretemp drivers, it was broken in
r306477. Correct a description for coretemp driver.
r307557:
TEGRA: Attach cpufreq and coretemp drivers only on tegra124 SoC. It's
needed by GENERIC kernel.

308336 05-Nov-2016 mmel

MFC r307556,r307637:

r307556:
TEGRA: Really implement early printf. The original version was cut&pasted
from another SoC.
r307637:
TEGRA: Raise minimum voltage for CPU, original 0.9 V was too optimistic.
While I'm in, remove duplicated line from CPU frequency table.

308335 05-Nov-2016 mmel

MFC r306447,r306477:

r306447:
TEGRA: Rename (cut & pasted) genahci to tegra_ahci. Make device class
definition static.
r306477:
TEGRA: Prepare Tegra subtree for inclusion into ARM generic kernel.
- use DEFINE_CLASS_0() for driver classes - unify driver names - cleanup
driver definitions and bindings

308324 05-Nov-2016 mmel

MFC r302523,r302528:

r302523:
Add clk_get_by_ofw_node_index, which is like clk_get_by_ofw_index but
operates on a specific OF node instead of the pass in device's OF node.
r302528:
EXTRES: Add OF node as argument to all <foo>_get_by_ofw_<bar>() functions.
In some cases, the driver must handle given properties located in specific
OF subnode. Instead of creating duplicate set of function, add 'node' as
argument to existing functions, defaulting it to device OF node.


/freebsd-11-stable/sys/arm/allwinner/a10_ahci.c
/freebsd-11-stable/sys/arm/allwinner/a10_codec.c
/freebsd-11-stable/sys/arm/allwinner/a10_dmac.c
/freebsd-11-stable/sys/arm/allwinner/a10_ehci.c
/freebsd-11-stable/sys/arm/allwinner/a10_fb.c
/freebsd-11-stable/sys/arm/allwinner/a10_gpio.c
/freebsd-11-stable/sys/arm/allwinner/a10_hdmi.c
/freebsd-11-stable/sys/arm/allwinner/a10_mmc.c
/freebsd-11-stable/sys/arm/allwinner/aw_if_dwc.c
/freebsd-11-stable/sys/arm/allwinner/aw_rsb.c
/freebsd-11-stable/sys/arm/allwinner/aw_usbphy.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_ahbclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_apbclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_axiclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_codecclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_cpuclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_cpusclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_debeclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_gate.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_gmacclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_hdmiclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_lcdclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_mmcclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_modclk.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_pll.c
/freebsd-11-stable/sys/arm/allwinner/clk/aw_usbclk.c
/freebsd-11-stable/sys/arm/allwinner/if_awg.c
/freebsd-11-stable/sys/arm/allwinner/if_emac.c
tegra124_cpufreq.c
tegra124_pmc.c
tegra124_xusbpadctl.c
/freebsd-11-stable/sys/arm/nvidia/tegra_ahci.c
/freebsd-11-stable/sys/arm/nvidia/tegra_efuse.c
/freebsd-11-stable/sys/arm/nvidia/tegra_ehci.c
/freebsd-11-stable/sys/arm/nvidia/tegra_i2c.c
/freebsd-11-stable/sys/arm/nvidia/tegra_pcie.c
/freebsd-11-stable/sys/arm/nvidia/tegra_rtc.c
/freebsd-11-stable/sys/arm/nvidia/tegra_sdhci.c
/freebsd-11-stable/sys/arm/nvidia/tegra_soctherm.c
/freebsd-11-stable/sys/arm/nvidia/tegra_uart.c
/freebsd-11-stable/sys/arm/nvidia/tegra_usbphy.c
/freebsd-11-stable/sys/dev/dwc/if_dwc.c
/freebsd-11-stable/sys/dev/extres/clk/clk.c
/freebsd-11-stable/sys/dev/extres/clk/clk.h
/freebsd-11-stable/sys/dev/extres/clk/clk_fixed.c
/freebsd-11-stable/sys/dev/extres/hwreset/hwreset.c
/freebsd-11-stable/sys/dev/extres/hwreset/hwreset.h
/freebsd-11-stable/sys/dev/extres/phy/phy.c
/freebsd-11-stable/sys/dev/extres/phy/phy.h
/freebsd-11-stable/sys/dev/extres/regulator/regulator.c
/freebsd-11-stable/sys/dev/extres/regulator/regulator.h
/freebsd-11-stable/sys/dev/iicbus/twsi/a10_twsi.c
/freebsd-11-stable/sys/dev/uart/uart_dev_snps.c
/freebsd-11-stable/sys/dev/usb/controller/generic_ohci.c
307344 15-Oct-2016 mmel

MFC r306756:

ARM: SEV/WFE instructions are implemented starting from ARMv6K, use it
directly.

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
301288 03-Jun-2016 pfg

tegra124: use roundup/rounddown macros from <sys/param.h>.


299715 14-May-2016 gonzo

Use OF_prop_free instead of direct call to free(9)

Reviewed by: mmel@


298854 30-Apr-2016 andrew

Add a MULTIDELAY option to allow the ARM kernel to have multiple DELAY
implementations. Early in the boot the kernel will use an approximate,
however after the timer has been probed it will switch to a more accurate
implementation.

Reviewed by: manu
Sponsored by: ABT Systems Ltd
Differential Revision: https://reviews.freebsd.org/D5762


298627 26-Apr-2016 br

Move arm's devmap to some generic place, so it can be used
by other architectures.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D6091
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5


298068 15-Apr-2016 andrew

Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine
independent code that needs to know about INTRNG such as PCI drivers.

Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation


297576 05-Apr-2016 mmel

TEGRA: Fix CPU frequency switching.
The PLL_X, base CPU frequency source, doesn't have a bypass switch and thus
we must use another frequency source for CPU while changing its frequency.
PLL_P is ideal for this, it runs at 480MHz and CPU can be clocked at this
frequency at any CPU voltage.


296936 16-Mar-2016 mmel

Import basic support for Nvidia Jetson TK1 board and tegra124 SoC.
The following pheripherals are supported: UART, MMC, AHCI, EHCI, PCIe, I2C,
PMIC, GPIO, CPU temperature and clock.

Note: The PCIe driver is pure mash at this moment. It will be reworked
immediately when both D5237 and D2579 enter the current tree.