~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/sm501.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. include:: <isonum.txt>
  2 
  3 ============
  4 SM501 Driver
  5 ============
  6 
  7 :Copyright: |copy| 2006, 2007 Simtec Electronics
  8 
  9 The Silicon Motion SM501 multimedia companion chip is a multifunction device
 10 which may provide numerous interfaces including USB host controller USB gadget,
 11 asynchronous serial ports, audio functions, and a dual display video interface.
 12 The device may be connected by PCI or local bus with varying functions enabled.
 13 
 14 Core
 15 ----
 16 
 17 The core driver in drivers/mfd provides common services for the
 18 drivers which manage the specific hardware blocks. These services
 19 include locking for common registers, clock control and resource
 20 management.
 21 
 22 The core registers drivers for both PCI and generic bus based
 23 chips via the platform device and driver system.
 24 
 25 On detection of a device, the core initialises the chip (which may
 26 be specified by the platform data) and then exports the selected
 27 peripheral set as platform devices for the specific drivers.
 28 
 29 The core re-uses the platform device system as the platform device
 30 system provides enough features to support the drivers without the
 31 need to create a new bus-type and the associated code to go with it.
 32 
 33 
 34 Resources
 35 ---------
 36 
 37 Each peripheral has a view of the device which is implicitly narrowed to
 38 the specific set of resources that peripheral requires in order to
 39 function correctly.
 40 
 41 The centralised memory allocation allows the driver to ensure that the
 42 maximum possible resource allocation can be made to the video subsystem
 43 as this is by-far the most resource-sensitive of the on-chip functions.
 44 
 45 The primary issue with memory allocation is that of moving the video
 46 buffers once a display mode is chosen. Indeed when a video mode change
 47 occurs the memory footprint of the video subsystem changes.
 48 
 49 Since video memory is difficult to move without changing the display
 50 (unless sufficient contiguous memory can be provided for the old and new
 51 modes simultaneously) the video driver fully utilises the memory area
 52 given to it by aligning fb0 to the start of the area and fb1 to the end
 53 of it. Any memory left over in the middle is used for the acceleration
 54 functions, which are transient and thus their location is less critical
 55 as it can be moved.
 56 
 57 
 58 Configuration
 59 -------------
 60 
 61 The platform device driver uses a set of platform data to pass
 62 configurations through to the core and the subsidiary drivers
 63 so that there can be support for more than one system carrying
 64 an SM501 built into a single kernel image.
 65 
 66 The PCI driver assumes that the PCI card behaves as per the Silicon
 67 Motion reference design.
 68 
 69 There is an errata (AB-5) affecting the selection of the
 70 of the M1XCLK and M1CLK frequencies. These two clocks
 71 must be sourced from the same PLL, although they can then
 72 be divided down individually. If this is not set, then SM501 may
 73 lock and hang the whole system. The driver will refuse to
 74 attach if the PLL selection is different.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php