<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/fdt, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-08-17T01:28:03Z</updated>
<entry>
<title>MFC r269594, r269596, r269597, r269598, r269605, r269606:</title>
<updated>2014-08-17T01:28:03Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-08-17T01:28:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f2e93e6963e56a36b921004f95181c084f6e824d'/>
<id>urn:sha1:f2e93e6963e56a36b921004f95181c084f6e824d</id>
<content type='text'>
  Set ofwbus and simplebus to attach during BUS_PASS_BUS.

  Define names that drivers can use to adjust their position relative to
  other drivers within a BUS_PASS

  Adjust ofwbus and simplebus to attach at BUS_PASS_ORDER_MIDDLE, so that
  a platform can attach some other bus first if necessary.

  Set the pl310 L2 cache driver to attach during the middle of BUS_PASS_CPU.

  Attach arm generic interrupt and timer drivers in the middle of
  BUS_PASS_INTERRUPT and BUS_PASS_TIMER, respectively.

  Add an arm option, ARM_DEVICE_MULTIPASS, used to opt-in to multi-pass
  device attachment on arm platforms.  If this is defined, nexus attaches
  early in BUS_PASS_BUS, and other busses and devices attach later, in the
  pass number they are set up for.  Without it defined, nexus attaches in
  BUS_PASS_DEFAULT and thus so does everything else, which is status quo.
</content>
</entry>
<entry>
<title>MFC r261938, r261939, r261940, r261944, r261945, r261946, r261947, r261956, r261957, r261983, r261094,</title>
<updated>2014-05-15T22:35:04Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-15T22:35:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=68602f513a7eefc7bbb559936a5d47ae64cbc25f'/>
<id>urn:sha1:68602f513a7eefc7bbb559936a5d47ae64cbc25f</id>
<content type='text'>
    r261955, r261958,

  Add a driver to provide access to imx6 on-chip one-time-programmble data.

  Make it possible to access the ocotp registers before the ocotp device
  is attached, by establishing a temporary mapping of the registers when
  necessary.

  It turns out Freescale cleverly made the ocotp device compatible across
  several different families of SoCs, so move it to the freescale directory
  and prefix everything with fsl rather than imx6.

  Convert the imx6 sdhci "R1B fix" from a busy-loop in the interrupt handler
  to a callout.

  Increase the wait time for acquiring the SD bus from 10 to 250ms.

  If no compatible cards were found after probing the SD bus, say so.

  Add timeout logic to sdhci, separate from the timeouts done by the hardware.

  After a timeout, reset the controller using SDHCI_RESET_CMD|SDHCI_RESET_DATA
  rather than SDHCI_RESET_ALL; the latter turns off clocks and power, removing
  any possibility of recovering from the error.

  Add a helper routine to depth-search the device tree for a node with a
  matching 'compatible' property.
</content>
</entry>
<entry>
<title>MFC r261681, r261682, r261683, r261684, r261685, r261686, r261687, r261688,</title>
<updated>2014-05-15T21:21:47Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-15T21:21:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3944df06c9ae3c63deb945800390598b2eb43572'/>
<id>urn:sha1:3944df06c9ae3c63deb945800390598b2eb43572</id>
<content type='text'>
    r261689, r261690, r261783, r261791, r261836, r261837, r261841,

  Add FDT matching code to AT91 device drivers.

  Better nomatch messages: include compat string.  Also, flag devices as
  disabled in the successful probe message, but leave what that means to
  the actual driver (no semantic changes).

  Fix Embest board name and id.

  Honor the disabled status by only grabbing resources and returning
  when running under FDT in the AT91 SPI driver.
</content>
</entry>
<entry>
<title>MFC r261423, r261424, r261516, r261513, r261562, r261563, r261564, r261565,</title>
<updated>2014-05-15T17:30:16Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-15T17:30:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aac49345d30f4a7d3a1f7d0a2736340168cc31d3'/>
<id>urn:sha1:aac49345d30f4a7d3a1f7d0a2736340168cc31d3</id>
<content type='text'>
    r261596, r261606

  Add the imx sdhci controller.

  Move Open Firmware device root on PowerPC, ARM, and MIPS systems to
  a sub-node of nexus (ofwbus) rather than direct attach under nexus. This
  fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier.
  SPARC is unchanged.

  Add the missing ')' at end of sentence.  Reword it to use a more common idiom.

  Pass the kernel physical address to initarm through the boot param struct.

  Make functions only used in vfp.c static, and remove vfp_enable.

  Fix __syscall on armeb EABI. As it returns a 64-bit value it needs to
  place 32-bit data in r1, not r0. 64-bit data is already packed correctly.

  Use abp_physaddr for the physical address over KERNPHYSADDR. This helps us
  remove the need to load the kernel at a fixed address.

  Remove references to PHYSADDR where it's used only in debugging output.

  Dynamically generate the page table. This will allow us to detect the
  physical address we are loaded at to change the mapping.
</content>
</entry>
<entry>
<title>MFC r261410</title>
<updated>2014-05-15T16:11:06Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-15T16:11:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=359c68281f130a91637dbe0f7fe4f9ba4da79e58'/>
<id>urn:sha1:359c68281f130a91637dbe0f7fe4f9ba4da79e58</id>
<content type='text'>
  Follow r261352 by updating all drivers which are children of simplebus
  to check the status property in their probe routines.
</content>
</entry>
<entry>
<title>MFC r261351, r261352, r261355, r261396, r261397, r261398, r261403, r261404,</title>
<updated>2014-05-15T14:26:11Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-15T14:26:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c34bee4ed1be9313e8f3e749405b0ab7d7becc31'/>
<id>urn:sha1:c34bee4ed1be9313e8f3e749405b0ab7d7becc31</id>
<content type='text'>
    r261405

  Open Firmware interrupt specifiers can consist of arbitrary-length byte
  strings and include arbitrary information (IRQ line/domain/sense). When the
  ofw_bus_map_intr() API was introduced, it assumed that, as on most systems,
  these were either 1 cell, containing an interrupt line, or 2, containing
  a line number plus a sense code. It turns out a non-negligible number of
  ARM systems use 3 (or even 4!) cells for interrupts, so make this more
  general.

  Provide a simpler and more standards-compliant simplebus implementation to
  get the Routerboard 800 up and running with the vendor device tree. This
  does not implement some BERI-specific features (which hopefully won't be
  necessary soon), so move the old code to mips/beri, with a higher attach
  priority when built, until MIPS interrupt domain support is rearranged.

  Allow nesting of simplebuses.

  Add a set of helpers (ofw_bus_get_status() and ofw_bus_status_okay()) to
  process "status" properties of OF nodes.

  Fix one remnant endian flaw in nexus.
</content>
</entry>
<entry>
<title>MFC r257738, r259202, r258410, r260288, r260292, r260294, r260320, r260323,</title>
<updated>2014-05-14T19:18:58Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-14T19:18:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=423a23569476c5f920a0d18355dba93a96f563b2'/>
<id>urn:sha1:423a23569476c5f920a0d18355dba93a96f563b2</id>
<content type='text'>
    r260326, r260327, r260331, r260333, r260340, r260371, r260372, r260373,
    r260374, r260375

  Add common bus_space tag definition shared for most supported ARMv6/v7 SoCs.
  Correct license statements to reflect the fact that these files were all
  derived from sys/arm/mv/bus_space.c.

  In pmap_unmapdev(), remember the size, and use that as an argument to
  kva_free(), or we'd end up always passing it a size of 0

  In pmap_mapdev(), first check whether a static mapping exists,

  Convert TI static device mapping to use the new arm_devmap_add_entry(),

  Use the common armv6 fdt_bus_tag defintion for tegra instead of a local copy.

  Eliminate use of fdt_immr_addr(), it's not needed for tegra

  Convert lpc from using fdt_immr style to arm_devmap_add_entry() to make
  static device mappings.

  Retire machine/fdt.h as a header used by MI code, as its function is now
  obsolete. This involves the following pieces:
  - Remove it entirely on PowerPC, where it is not used by MD code either
  - Remove all references to machine/fdt.h in non-architecture-specific code
    (aside from uart_cpu_fdt.c, shared by ARM and MIPS, and so is somewhat
    non-arch-specific).
  - Fix code relying on header pollution from machine/fdt.h includes
  - Legacy fdtbus.c (still used on x86 FDT systems) now passes resource
    requests to its parent (nexus). This allows x86 FDT devices to allocate
    both memory and IO requests and removes the last notionally MI use of
    fdtbus_bs_tag.
  - On those architectures that retain a machine/fdt.h, unused bits like
    FDT_MAP_IRQ and FDT_INTR_MAX have been removed.

  Add #include &lt;machine/fdt.h&gt; to a few files that used to get it via pollution

  Enable the mv cesa security/crypto device by providing the required property
  in the dts source, and adding the right devices to the kernel config.

  Remove dev/fdt/fdt_pci.c, which was code specific to Marvell ARM SoCs,
  related to setting up static device mappings.  Since it was only used by
  arm/mv/mv_pci.c, it's now just static functions within that file, plus
  one public function that gets called only from arm/mv/mv_machdep.c.

  Switch RPi to using arm_devmap_add_entry() to set up static device mapping.

  Allow 'no static device mappings' to potentially work.

  Don't try to find a static mapping before calling pmap_mapdev(), that logic
  is now part of pmap_mapdev() and doesn't need to be duplicated here.

 Switch a10 to using arm_devmap_add_entry() to set up static device mapping.
</content>
</entry>
<entry>
<title>MFC r260281, r260282, r260283, r260285</title>
<updated>2014-05-14T18:54:34Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-14T18:54:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c41d563ddaf7d4664fd4a98b8fbd77bc97efcbc8'/>
<id>urn:sha1:c41d563ddaf7d4664fd4a98b8fbd77bc97efcbc8</id>
<content type='text'>
  Implement OFW_BUS_MAP_INTR() in terms of the FDT PIC table

  Reimplement fdt_intr_to_rl() in terms of OFW_BUS_MAP_INTR() and
  OFW_BUS_CONFIG_INTR().

  Use bus_space_map() rather than pmap_mapdev() in nexus_activate_resource(),
  when running on FDT systems.  Unmap memory in nexus_deactivate_resource().

  Remove fdt_pic_table code from MIPS, PowerPC, and x86, as it is no longer
  used by anything.
</content>
</entry>
<entry>
<title>MFC r258800, r258802, r258805, r258806, r258807, r258851, r258857,</title>
<updated>2014-05-14T14:17:51Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-14T14:17:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=533a01f6517e6f73353f506355e96eb3c31d0b5e'/>
<id>urn:sha1:533a01f6517e6f73353f506355e96eb3c31d0b5e</id>
<content type='text'>
    r259199, r259484, r259513, r259514, r259516

  The kernel stack guard pages are only below the stack pointer, not above.

  Remove unnecessary double-setting of the thread's onfault state in
  copyinstr().

  Open Firmware mandates that certain cross-references, in particular those
  in /chosen, be ihandles. The ePAPR spec makes those cross-reference phandles,
  since FDT has no concept of ihandles. Have the OF FDT CI module interpret
  queries about ihandles as cross-reference phandles.

  Real OF systems have an ihandle under /chosen/stdout, not a phandle. Use
  the right type.

  Rearchitect platform memory map parsing to make it less
  Open Firmware-centric.

  Remove fdtbus_bs_tag definition, which is now obsolete. The remainder of
  this file is also slated for future demolition.

  Return the correct IEEE 1275 code for "nextprop".

  Use the common Open Firmware PCI interrupt routing code instead of the
  duplicate version in dev/fdt.

  Configure interrupt sense based on device tree information.

  Simplify the ofw_bus_lookup_imap() API slightly: make it allocate maskbuf
  internally instead of requiring the caller to allocate it.
</content>
</entry>
<entry>
<title>MFC r257702, r257745, r257746, r257747, r257751, r257791, r257793,</title>
<updated>2014-05-14T01:53:20Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-05-14T01:53:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4a7cdc7c19181e47140e92c58b77ee1bdab29da2'/>
<id>urn:sha1:4a7cdc7c19181e47140e92c58b77ee1bdab29da2</id>
<content type='text'>
    r257794, r257795, r257992

  Teach nexus(4) about Open Firmware (e.g. FDT) on ARM and MIPS, retiring
  fdtbus in most cases.

  Make OF_nextprop() work correctly for FDT by using the libfdt
  fdt_next_property_offset() API.

  Do not panic if pmap_mincore() is called.

  An addendum: it is possible, though of questionable utility, for a node
  to have no properties at all.
  Add definition for the Atheros 8021 gigabit PHY.

  Consolidate Apple firmware hacks and improve them by switching on the
  presence of mac-io devices in the tree, which uniquely identifies Apple
  hardware.

  Allow OF_decode_addr() to also be able to map resources on big-endian
  devices.

  Make tsec work with the device tree present on the RB800.

  Be more flexible about which compatible strings to accept.  This brings up
  the PCI Express bus on the RB800 using the firmware device tree.

  Rename the "bare" platform "mpc85xx", which is what it actually is, and
  add actual platform probing based on PVR.
</content>
</entry>
</feed>
