15 Commits

Author SHA1 Message Date
ian
c5659dcd16 MFC r262591, r262592, r262593, r262597, r262598, r262599, r262600, r262601,
r262606

  Initial import of Linux/Vendor DTS files for various embedded boards.

  Initial import of DTS files from Linux

  Correct initial import script

  New AT91 devices or fdt probe added to existing devices.  Some of these
  are just stubs for testing the new dts.
  - nand
  - SDRAMC
  - shdwc
  - tcb
  - usb host and gadget
2014-05-16 12:43:45 +00:00
ian
b817c837ca MFC r260695, r260696, r260884, r260885, r260886, r260887
Provide a simplified way to specify GPIO pins for the Atmel port.

  Add at91 data so we can convert a PIO unit number into a base address.

  Add at91 standard memory controller helper functions.

  Generalize AT91 NAND support a bit.

  Connect NAND for the SAM9260EK eval board, as well as the HotE HL-201.

  Add nand device and NANDFS into the mix for those at91 boards that have
  support for it at the moment.
2014-05-14 20:31:54 +00:00
ian
0fce07b314 MFC r260092, r260093, r260121, r260180,
Allow AT91_MCI_ALLOW_OVERCLOCK to be an option in kernel config files.

  Set the SoC name for the atmelbus name.

  Add support for Samsung K9F2G08U0A (256MiB SLC) NAND

  Comment updates.
2014-05-14 18:16:32 +00:00
brueffer
34d70af0d1 MFC: r261884
Correct the order of arguments to mtx_init().

PR:		186701
Submitted by:	Takanori Sawada <tak.swd at gmail.com>
2014-02-28 00:39:35 +00:00
ian
47bb9f823b MFC r258828:
Add a nand flash controller driver for Atmel at91 family.  Tested only
  on at91rm9200 so far.
2013-12-14 01:15:26 +00:00
ian
c6dcd8817f MFC r258740:
Look up a nand chip by id in the static table before trying to obtain
  ONFI parameters.  This allows a static table entry to provide valid data
  for chips known to provide invalid ONFI data.
2013-12-14 00:55:34 +00:00
ian
8b635cded3 MFC r257892, r258196, r258197, r258199, r258200, r258201, r258202:
Add ONFI signature check.

  Add Micron chip found in Freescale Vybrid Family Phytec COSMIC board.

  The vendor specified field is 88 bytes, not 8 bytes.

  Update the onfi_params struct to ONFI revision 3.2 (06 12 2013).

  Search for and validate the ONFI params as specified in the standard.

  ONFI parameters are little-endian, hence we must take care to convert them
  to native endianness.  We must also pay attention to unaligned accesses.

  Rework the routine that returns a pointer to the table of software ECC
  byte positions within the OOB area to support chips with unusual OOB
  sizes such as 218 or 224 bytes.
2013-12-14 00:54:05 +00:00
gber
476fa15d40 MFC: r258387,r258425
Split raw reading/programming into smaller chunks to avoid allocating too
big chunk of kernel memory. Validate size of data. Add error handling to
avoid calling copyout() when data has not been read correctly. Also MFC of
change r258425 which fixes problem introduced by r258387.

Reviewed by:    zbb
Reported by:    x90c <geinblues@gmail.com>
Approved by:    re
2013-11-25 15:34:57 +00:00
mav
fe855c3b46 Use direct custom implementations instead of g_handleattr() for CFI and NAND
d_getattr().  Since these drivers use disk(9) KPI and not directly GEOM, use
of that function means KPI layering violation, causing extra g_io_deliver()
call for the request.
2013-06-12 12:51:43 +00:00
gber
2ed2ec0660 Fix ONFI chip detection.
Submitted by:	Alexander Fedorov <alexander.fedorov@rtlservice.com>
2013-05-27 06:24:31 +00:00
ian
ac1b6656c3 Add the chip used in recent GlobalScale Technologies *Plug computers
Approved by:	cognet (mentor)
2013-01-27 00:16:36 +00:00
kib
560aa751e0 Remove the support for using non-mpsafe filesystem modules.
In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by:	attilio
Tested by:	pho
2012-10-22 17:50:54 +00:00
marcel
9c7ac0206a Add a driver for the Freescale FCM module in the localbus controller.
This driver does not yet handle multiple chip selects properly.

Note that the NAND infrastructure does not perform full page
reads or writes, which means that this driver cannot make use
of the hardware ECC that is otherwise present.
2012-07-03 01:00:29 +00:00
takawata
21928e9125 Add nand core module and module dependency information.
Reviewed by:gber
2012-06-26 18:08:03 +00:00
gber
6f7c735300 Import work done under project/nand (@235533) into head.
The NAND Flash environment consists of several distinct components:
  - NAND framework (drivers harness for NAND controllers and NAND chips)
  - NAND simulator (NANDsim)
  - NAND file system (NAND FS)
  - Companion tools and utilities
  - Documentation (manual pages)

This work is still experimental. Please use with caution.

Obtained from: Semihalf
Supported by:  FreeBSD Foundation, Juniper Networks
2012-05-17 10:11:18 +00:00