Up to [cvs.NetBSD.org] / src / sys / arch / arm / ti
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Pull up following revision(s) (requested by sekiya in ticket #1609): sys/arch/arm/ti/if_cpsw.c: revision 1.17 Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define. This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out. The TI documentation ("AM335x and AMIC110 Sitara(TM) Processors Technical Reference Manual") documents the EOQ bit thus: (14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only. Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
Pull up following revision(s) (requested by sekiya in ticket #109): sys/arch/arm/ti/if_cpsw.c: revision 1.17 Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define. This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out. The TI documentation ("AM335x and AMIC110 Sitara(TM) Processors Technical Reference Manual") documents the EOQ bit thus: (14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only. Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
Uncomment and protect sanity checks that would drop into the debugger with a CPSW_DEBUG_DMA define. This handles a condition where checking for DMA_RXEOQ in the received packet results in the console being spammed with "rxeoq" messages, which soon results in a kernel panic. The corresponding Debugger() call for this check was commented out. The TI documentation ("AM335x and AMIC110 Sitaraâ„¢ Processors Technical Reference Manual") documents the EOQ bit thus: (14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies that a descriptor is the last for a given packet received (also sets the EOP flag), and there are no more descriptors in the receive list (next descriptor pointer is NULL). The software application can use this bit to detect when the EMAC receiver for the corresponding channel has halted. This is useful when the application appends additional free buffer descriptors to an active receive queue. Note that this flag is valid on EOP descriptors only. Moving this check (and the offending printf() ) into a debug #ifdef results in the BeagleBone Green surviving the nightly checks; it would always drop into the debugger before this change.
Eliminate use of IFF_OACTIVE.
ti: cpsw: adapt to dts-5.15 bindings
Sync with HEAD.
Rename of_match_compat_data() to of_compatible_match(). Similarly, rename of_search_compatible() to of_compatible_lookup(). Standardize on of_compatible_match() for driver matching, and adapt all call sites.
use fdtbus_intr_establish_xname
Mostly merge changes from HEAD upto 20200411
Merge changes from current as of 20200406
Sync with head.
Pull up following revision(s) (requested by skrll in ticket #711): sys/arch/arm/ti/if_cpsw.c: revision 1.9 Fix KERNHIST build (and simplify)
Use ifmedia_fini().
Adopt <net/if_stats.h>.
Pull up following revision(s) (requested by msaitoh in ticket #662): sys/dev/pcmcia/if_xi.c: revision 1.93 sys/arch/x86/pci/if_vmx.c: revision 1.54 sys/dev/pci/if_de.c: revision 1.165 sys/arch/arm/ti/if_cpsw.c: revision 1.10 sys/arch/arm/omap/if_cpsw.c: revision 1.26 sys/dev/isa/if_iy.c: revision 1.112 sys/dev/pcmcia/if_ray.c: revision 1.96 Add ETHER_LOCK() and ETHER_UNLOCK() to protect ec_multiaddrs. XXX These drivers don't check whether enm_addrlo and enm_addrhi are the same or not, so it won't work correctly if an multicast address entry has a range. Protect ec_multicnt.
Add ETHER_LOCK() and ETHER_UNLOCK() to protect ec_multiaddrs. XXX These drivers don't check whether enm_addrlo and enm_addrhi are the same or not, so it won't work correctly if an multicast address entry has a range.
Pull up following revision(s) (requested by jmcneill in ticket #491): sys/arch/evbarm/conf/BEAGLEBOARD_INSTALL: file removal sys/arch/arm/ti/ti_dpll_clock.c: revision 1.2 sys/arch/arm/ti/ti_sysc.c: revision 1.1 sys/arch/arm/ti/ti_rng.c: revision 1.1 sys/arch/arm/ti/ti_rng.c: revision 1.2 sys/dev/i2c/tps65950.c: file removal sys/arch/evbarm/conf/std.ti: file removal sys/dev/i2c/files.i2c: revision 1.101 sys/dev/i2c/files.i2c: revision 1.102 sys/dev/i2c/at24cxx.c: revision 1.32 sys/dev/i2c/files.i2c: revision 1.103 sys/dev/i2c/twl4030.c: revision 1.1 sys/dev/i2c/files.i2c: revision 1.104 sys/dev/i2c/twl4030.c: revision 1.2 sys/dev/i2c/twl4030.c: revision 1.3 sys/arch/arm/ti/ti_com.c: revision 1.6 sys/arch/arm/ti/ti_com.c: revision 1.7 sys/arch/arm/ti/ti_com.c: revision 1.8 sys/dev/fdt/cpufreq_dt.c: revision 1.11 sys/arch/arm/ti/ti_iic.c: revision 1.1 sys/dev/fdt/cpufreq_dt.c: revision 1.12 sys/arch/arm/ti/ti_usb.c: revision 1.1 sys/arch/arm/ti/ti_iic.c: revision 1.2 sys/dev/fdt/cpufreq_dt.c: revision 1.13 sys/arch/arm/ti/ti_iic.c: revision 1.3 sys/arch/arm/ti/ti_iic.c: revision 1.4 sys/arch/evbarm/conf/files.ti: file removal sys/arch/evbarm/conf/BEAGLEBOARDXM: file removal sys/arch/arm/dts/omap3-n900.dts: revision 1.1 sys/arch/arm/ti/ti_edma.h: revision 1.1 sys/arch/evbarm/conf/OVERO_INSTALL: file removal sys/arch/arm/ti/ti_usbtll.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.5 etc/etc.evbarm/Makefile.inc: revision 1.108 sys/arch/arm/ti/files.ti: revision 1.6 sys/dev/i2c/tps65217pmic.c: revision 1.13 etc/etc.evbarm/Makefile.inc: revision 1.109 sys/arch/arm/ti/files.ti: revision 1.7 sys/dev/i2c/tps65217pmic.c: revision 1.14 sys/arch/arm/ti/files.ti: revision 1.8 sys/arch/arm/ti/files.ti: revision 1.9 sys/dev/fdt/usbnopphy.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.55 sys/arch/evbarm/conf/GENERIC: revision 1.56 sys/arch/evbarm/conf/GENERIC: revision 1.57 sys/arch/evbarm/conf/GENERIC: revision 1.58 sys/arch/evbarm/conf/GENERIC: revision 1.59 sys/arch/evbarm/conf/BEAGLEBONE: file removal sys/arch/arm/ti/omap2_gpmcreg.h: revision 1.1 sys/arch/arm/ti/ti_otgreg.h: revision 1.1 sys/arch/arm/ti/ti_tptc.c: revision 1.1 sys/arch/evbarm/conf/IGEPV2: file removal sys/arch/arm/ti/am3_prcm.c: revision 1.10 sys/dev/i2c/tda19988.c: revision 1.1 sys/arch/evbarm/conf/OVERO: file removal sys/dev/i2c/tda19988.c: revision 1.2 sys/dev/i2c/tda19988.c: revision 1.3 sys/arch/arm/ti/omap3_dss.c: revision 1.1 sys/arch/evbarm/conf/BEAGLEBONE_INSTALL: file removal sys/arch/arm/ti/ti_omapintc.c: revision 1.2 etc/etc.evbarm/Makefile.inc: revision 1.112 etc/etc.evbarm/Makefile.inc: revision 1.113 sys/arch/arm/ti/ti_div_clock.c: revision 1.1 etc/etc.evbarm/Makefile.inc: revision 1.114 sys/arch/evbarm/conf/N900: revision 1.32 sys/arch/evbarm/conf/N900: revision 1.33 distrib/utils/embedded/conf/armv7.conf: revision 1.36 sys/arch/evbarm/conf/GENERIC: revision 1.60 distrib/utils/embedded/conf/armv7.conf: revision 1.37 sys/arch/arm/ti/omap2_nand.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.61 sys/arch/arm/ti/omap2_nand.c: revision 1.2 sys/arch/evbarm/conf/GENERIC: revision 1.62 distrib/utils/embedded/conf/armv7.conf: revision 1.39 sys/arch/evbarm/conf/GENERIC: revision 1.63 sys/arch/arm/ti/ti_fb.c: revision 1.1 sys/arch/evbarm/conf/GENERIC: revision 1.64 sys/arch/evbarm/conf/GENERIC: revision 1.65 sys/arch/evbarm/conf/GENERIC: revision 1.66 sys/arch/evbarm/conf/GENERIC: revision 1.67 sys/arch/arm/ti/ti_platform.c: revision 1.7 sys/arch/arm/ti/ti_platform.c: revision 1.8 sys/arch/arm/ti/am3_prcm.c: revision 1.2 sys/arch/arm/ti/ti_platform.c: revision 1.9 sys/arch/arm/ti/am3_prcm.c: revision 1.3 sys/arch/arm/ti/am3_prcm.c: revision 1.4 sys/arch/arm/ti/am3_prcm.c: revision 1.5 sys/arch/arm/ti/am3_prcm.c: revision 1.6 sys/arch/arm/ti/am3_prcm.c: revision 1.7 sys/arch/evbarm/conf/DEVKIT8000: file removal sys/arch/arm/ti/am3_prcm.c: revision 1.8 sys/arch/arm/ti/am3_prcm.c: revision 1.9 sys/dev/fdt/syscon.c: revision 1.4 sys/arch/arm/ti/files.ti: revision 1.10 sys/arch/arm/ti/ti_mux_clock.c: revision 1.1 sys/arch/arm/ti/ti_sdhc.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.11 sys/arch/arm/ti/if_cpswreg.h: revision 1.1 sys/arch/arm/ti/ti_sdhc.c: revision 1.2 sys/arch/arm/ti/files.ti: revision 1.12 sys/arch/arm/ti/ti_sdhc.c: revision 1.3 sys/arch/arm/ti/files.ti: revision 1.13 sys/arch/arm/ti/files.ti: revision 1.14 sys/arch/arm/ti/files.ti: revision 1.15 sys/arch/arm/ti/files.ti: revision 1.16 sys/arch/arm/ti/omap3_cm.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.17 sys/arch/arm/ti/omap3_cm.c: revision 1.2 sys/arch/arm/ti/files.ti: revision 1.18 sys/arch/arm/ti/omap3_cm.c: revision 1.3 sys/arch/arm/ti/files.ti: revision 1.19 sys/arch/arm/ti/omap3_cm.c: revision 1.4 sys/arch/arm/ti/ti_motg.c: revision 1.1 sys/arch/arm/ti/ti_rngreg.h: revision 1.1 sys/arch/arm/ti/ti_sdhcreg.h: revision 1.1 sys/arch/arm/dts/omap3-beagle-xm.dts: revision 1.1 sys/arch/arm/ti/am3_platform.c: revision 1.1 sys/arch/arm/ti/ti_sdhcreg.h: revision 1.2 sys/arch/arm/ti/ti_lcdc.h: revision 1.1 sys/arch/evbarm/conf/BEAGLEBOARDXM_INSTALL: file removal sys/arch/evbarm/conf/README.evbarm: revision 1.22 sys/arch/evbarm/conf/README.evbarm: revision 1.23 sys/arch/arm/ti/ti_platform.c: file removal sys/arch/evbarm/conf/README.evbarm: revision 1.24 sys/arch/arm/ti/ti_omaptimer.c: revision 1.2 sys/arch/arm/ti/ti_prcm.c: revision 1.2 sys/arch/evbarm/conf/README.evbarm: revision 1.25 sys/arch/arm/ti/ti_omaptimer.c: revision 1.3 sys/arch/arm/ti/ti_prcm.c: revision 1.3 sys/arch/evbarm/conf/README.evbarm: revision 1.26 sys/arch/arm/ti/ti_omaptimer.c: revision 1.4 sys/arch/evbarm/conf/README.evbarm: revision 1.27 sys/arch/arm/ti/ti_ehci.c: revision 1.1 sys/arch/arm/ti/files.ti: revision 1.20 sys/arch/arm/ti/ti_cpufreq.c: revision 1.1 sys/arch/arm/ti/ti_cpufreq.c: revision 1.2 sys/arch/arm/fdt/smsh_fdt.c: revision 1.2 sys/arch/arm/ti/omap3_dssreg.h: revision 1.1 sys/arch/evbarm/conf/OVERO: revision 1.56 sys/arch/evbarm/conf/TI: file removal sys/arch/arm/dts/omap3-beagle.dts: revision 1.1 sys/dev/fdt/fdtvar.h: revision 1.55 sys/dev/fdt/fdtvar.h: revision 1.56 distrib/utils/embedded/files/armv7_boot_nonefi.cmd: revision 1.2 sys/dev/fdt/fdt_phy.c: revision 1.6 sys/arch/arm/ti/ti_iicreg.h: revision 1.1 sys/arch/arm/ti/ti_lcdc.c: revision 1.1 sys/arch/arm/ti/ti_gpio.c: revision 1.1 sys/arch/arm/ti/ti_iicreg.h: revision 1.2 sys/arch/arm/ti/ti_lcdc.c: revision 1.2 sys/dev/fdt/files.fdt: revision 1.46 sys/arch/arm/ti/ti_gpio.c: revision 1.2 sys/arch/arm/ti/ti_iicreg.h: revision 1.3 sys/arch/arm/ti/ti_lcdc.c: revision 1.3 sys/dev/fdt/files.fdt: revision 1.47 sys/arch/arm/ti/ti_gpio.c: revision 1.3 sys/dev/fdt/pinctrl_single.c: revision 1.1 sys/arch/evbarm/conf/files.generic: revision 1.9 sys/arch/arm/ti/ti_gpmc.c: revision 1.1 sys/arch/arm/ti/ti_lcdcreg.h: revision 1.1 sys/arch/evbarm/conf/BEAGLEBOARD: file removal sys/arch/arm/ti/omap3_prm.c: revision 1.1 sys/arch/arm/ti/ti_platform.h: file removal sys/arch/arm/ti/omap3_platform.c: revision 1.1 sys/arch/arm/ti/ti_prcm.h: revision 1.2 sys/arch/arm/ti/omap3_platform.c: revision 1.2 sys/arch/arm/ti/ti_prcm.h: revision 1.3 sys/arch/arm/ti/ti_prcm.h: revision 1.4 sys/dev/fdt/fdt_clock.c: revision 1.9 sys/arch/arm/ti/ti_edma.c: revision 1.1 sys/arch/arm/ti/ti_otg.c: revision 1.1 distrib/utils/embedded/files/armv7_boot.cmd: revision 1.15 sys/arch/arm/ti/if_cpsw.c: revision 1.7 sys/arch/evbarm/conf/std.igepv2: file removal sys/arch/arm/ti/if_cpsw.c: revision 1.8 sys/arch/arm/ti/ti_dpll_clock.c: revision 1.1 Adapt ti fdt glue to support GENERIC kernel. Do not search 64-bit directories for dts files Fix am33xx_platform_early_putchar for pre-MMU output Add bus driver for TI sysc interconncet. Make com work again Add EDMA TPCC and TPTC drivers. Add driver for one-register-per-pin type pinctrl devices. Add MMCHS support. Add USB support. Disable autoidle Place devmap above KERNEL_IO_VBASE Use Timer2 for timecounter, and enable hw module. Add support for TI AM335x Add atmel,24c256 compat data Add I2C support. Add tiiic, tps65217pmic Add FDT support Fix early putchar, add reset func No support for tegra210 in armv7 kernel Switch to GENERIC kernels only. Get mac address from DT Skip nodes with an "opp-suspend" property and fix tables that have disabled nodes in the middle. enumerate devices under child "clocks" node Add support for platform specific opp table filters. Add fdtbus_clock_count to count the number of clock references on a given node enumerate devices under child "clocks" node Add AM335x DVFS support. Enable TI AM335x DVFS support Add support for GPIO controller. Add tigpio Unhook BEAGLEBONE kernel from the build Remove BEAGLEBONE kernel config (AM335x SoC is supported by GENERIC now). Add support for hardware RNG. Add tirng Add explicit FDT_OPP for operating-points-v2 so the link set won't be empty Rename SOC_TI_AM335X to SOC_AM33XX and rename ti_platform.c to am3_platform.c Set stdout-path on TI OMAP3 BeagleBoard Add support for TI OMAP3. Add OMAP3 support. Move a lot of *.dtb files to a dtb/ subdirectory on the FAT partition. Mkimage (eroneously) creates a FAT16 partition (despite the configuration asking for FAT32), and that has a root directory size limit. Idea from Jared. Skip xref if it is 0 Add generic USB PHY driver Add driver for TI TWL4030 Power Management IC Use the hwmod clk to get the timer rate and explicitly enable the timecounter timer. Add OMAP3 USB support. Add twl, usbnopphy, tiusb, tiusbtll Move omap3 dtb files to /boot/dtb Remove BEAGLEBOARD kernel from list of kernels to build Remove BEAGLEBOARD kernel (supported by GENERIC now) Fix PRM_RSTCTRL_RST_DPLL3 definition, now reset works. Remove DEVKIT8000 kernel (GENERIC should work now) Remove DPLL5 init ported from old omap code, it is not required Set the stdout-path on xM like Ti OMAP3 BeagleBoard Remove BEAGLEBOARDXM from the build Remove BEAGLEBOARDXM kernel (supported by GENERIC now) Handle different register layout on OMAP3 Add omapfb to FDT-ized TI port. Use dss as console on Nokia N900. Enable IRQ status bits for omap3 type and set speed properly Add RTC support Remove tps65950pm (hardware now supported by twl4030.c) Add NAND flash support. Add tigpmc, omapnand Attach tiusb before the default pass since it adds a bus to reduce kernel output Replace tps65950pm with twl (the former has been removed) Fix non-FDT build Cleanup and remove dependency on arch/arm/omap Add support for GPIO interrupts and fix reading the state of output pins. Match smsc,lan9115 and honour local-mac-address/mac-address properties Only one instance of twl(4) is needed Remove OVERO from build, and commented out N900 kernel config OMAP3 SoC and all peripherals in the OVERO kernel are now supported by GENERIC. Remove commented out IGEPV2 entry OMAP3 SoC and all peripherals in the IGEPV2 kernel are now supported by GENERIC. No longer used. Also match ti,omap2-onenand Defer power monitor polling to the sysmon taskq thread to avoid i2c transactions in intr context Add driver for NXP TDA19988 HDMI encoder Add support for AM335x display controller (LCDC). Add tdahdmi, tilcdc, tifb Test DRM_MODE_* flags, not VID_* Comment out mode fixup (not needed it seems) Use 297MHz for display clock Select closest rate to desired pixel clock Speed up mode setting a bit and turn off the display while changing modes
Fix KERNHIST build (and simplify)
Cleanup and remove dependency on arch/arm/omap
Get mac address from DT
Sync with HEAD
No functional change: - Simplify MII structure initialization and reference. - KNF
KNF. No functional change.
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
Sync with HEAD
Change MII PHY read/write API from: int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to: int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t); Now we can test if a read/write operation failed or not by the return value. In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR. Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed: arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c Tested with the following device: axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V) Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
Sync with HEAD
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD. This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
update from HEAD
file if_cpsw.c was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
Initial FDT support for TI's ARM SoCs. Currently supports only limited functionality on AM335x.