diff options
Diffstat (limited to 'Documentation')
47 files changed, 1205 insertions, 56 deletions
diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block index c1eb41cb9876..279da08f7541 100644 --- a/Documentation/ABI/testing/sysfs-block +++ b/Documentation/ABI/testing/sysfs-block | |||
@@ -206,3 +206,17 @@ Description: | |||
206 | when a discarded area is read the discard_zeroes_data | 206 | when a discarded area is read the discard_zeroes_data |
207 | parameter will be set to one. Otherwise it will be 0 and | 207 | parameter will be set to one. Otherwise it will be 0 and |
208 | the result of reading a discarded area is undefined. | 208 | the result of reading a discarded area is undefined. |
209 | |||
210 | What: /sys/block/<disk>/queue/write_same_max_bytes | ||
211 | Date: January 2012 | ||
212 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
213 | Description: | ||
214 | Some devices support a write same operation in which a | ||
215 | single data block can be written to a range of several | ||
216 | contiguous blocks on storage. This can be used to wipe | ||
217 | areas on disk or to initialize drives in a RAID | ||
218 | configuration. write_same_max_bytes indicates how many | ||
219 | bytes can be written in a single write same command. If | ||
220 | write_same_max_bytes is 0, write same is not supported | ||
221 | by the device. | ||
222 | |||
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index c6ae4c9d0e0c..4fdf6b562d1c 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -2582,6 +2582,10 @@ ioctls.</para> | |||
2582 | <listitem> | 2582 | <listitem> |
2583 | <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para> | 2583 | <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para> |
2584 | </listitem> | 2584 | </listitem> |
2585 | <listitem> | ||
2586 | <para>Vendor and device specific media bus pixel formats. | ||
2587 | <xref linkend="v4l2-mbus-vendor-spec-fmts" />.</para> | ||
2588 | </listitem> | ||
2585 | </itemizedlist> | 2589 | </itemizedlist> |
2586 | </section> | 2590 | </section> |
2587 | 2591 | ||
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 272a5f718509..7fe5be1d3bbb 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml | |||
@@ -1586,7 +1586,6 @@ frame counter of the frame that is currently displayed (decoded). This value is | |||
1586 | the decoder is started.</entry> | 1586 | the decoder is started.</entry> |
1587 | </row> | 1587 | </row> |
1588 | 1588 | ||
1589 | |||
1590 | <row><entry></entry></row> | 1589 | <row><entry></entry></row> |
1591 | <row> | 1590 | <row> |
1592 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant> </entry> | 1591 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant> </entry> |
@@ -2270,6 +2269,14 @@ Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry> | |||
2270 | </row> | 2269 | </row> |
2271 | 2270 | ||
2272 | <row><entry></entry></row> | 2271 | <row><entry></entry></row> |
2272 | <row id="v4l2-mpeg-video-vbv-delay"> | ||
2273 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_DELAY</constant> </entry> | ||
2274 | <entry>integer</entry> | ||
2275 | </row><row><entry spanname="descr">Sets the initial delay in milliseconds for | ||
2276 | VBV buffer control.</entry> | ||
2277 | </row> | ||
2278 | |||
2279 | <row><entry></entry></row> | ||
2273 | <row> | 2280 | <row> |
2274 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant> </entry> | 2281 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant> </entry> |
2275 | <entry>integer</entry> | 2282 | <entry>integer</entry> |
@@ -2334,6 +2341,265 @@ Applicable to the MPEG4 decoder.</entry> | |||
2334 | </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry> | 2341 | </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry> |
2335 | </row> | 2342 | </row> |
2336 | 2343 | ||
2344 | <row><entry></entry></row> | ||
2345 | <row> | ||
2346 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING</constant> </entry> | ||
2347 | <entry>boolean</entry> | ||
2348 | </row> | ||
2349 | <row><entry spanname="descr">Enable generation of frame packing supplemental enhancement information in the encoded bitstream. | ||
2350 | The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder.</entry> | ||
2351 | </row> | ||
2352 | |||
2353 | <row><entry></entry></row> | ||
2354 | <row> | ||
2355 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0</constant> </entry> | ||
2356 | <entry>boolean</entry> | ||
2357 | </row> | ||
2358 | <row><entry spanname="descr">Sets current frame as frame0 in frame packing SEI. | ||
2359 | Applicable to the H264 encoder.</entry> | ||
2360 | </row> | ||
2361 | |||
2362 | <row><entry></entry></row> | ||
2363 | <row id="v4l2-mpeg-video-h264-sei-fp-arrangement-type"> | ||
2364 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE</constant> </entry> | ||
2365 | <entry>enum v4l2_mpeg_video_h264_sei_fp_arrangement_type</entry> | ||
2366 | </row> | ||
2367 | <row><entry spanname="descr">Frame packing arrangement type for H264 SEI. | ||
2368 | Applicable to the H264 encoder. | ||
2369 | Possible values are:</entry> | ||
2370 | </row> | ||
2371 | <row> | ||
2372 | <entrytbl spanname="descr" cols="2"> | ||
2373 | <tbody valign="top"> | ||
2374 | <row> | ||
2375 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD</constant> </entry> | ||
2376 | <entry>Pixels are alternatively from L and R.</entry> | ||
2377 | </row> | ||
2378 | <row> | ||
2379 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN</constant> </entry> | ||
2380 | <entry>L and R are interlaced by column.</entry> | ||
2381 | </row> | ||
2382 | <row> | ||
2383 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW</constant> </entry> | ||
2384 | <entry>L and R are interlaced by row.</entry> | ||
2385 | </row> | ||
2386 | <row> | ||
2387 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE</constant> </entry> | ||
2388 | <entry>L is on the left, R on the right.</entry> | ||
2389 | </row> | ||
2390 | <row> | ||
2391 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM</constant> </entry> | ||
2392 | <entry>L is on top, R on bottom.</entry> | ||
2393 | </row> | ||
2394 | <row> | ||
2395 | <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL</constant> </entry> | ||
2396 | <entry>One view per frame.</entry> | ||
2397 | </row> | ||
2398 | </tbody> | ||
2399 | </entrytbl> | ||
2400 | </row> | ||
2401 | |||
2402 | <row><entry></entry></row> | ||
2403 | <row> | ||
2404 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO</constant> </entry> | ||
2405 | <entry>boolean</entry> | ||
2406 | </row> | ||
2407 | <row><entry spanname="descr">Enables flexible macroblock ordering in the encoded bitstream. It is a technique | ||
2408 | used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder.</entry> | ||
2409 | </row> | ||
2410 | |||
2411 | <row><entry></entry></row> | ||
2412 | <row id="v4l2-mpeg-video-h264-fmo-map-type"> | ||
2413 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE</constant> </entry> | ||
2414 | <entry>enum v4l2_mpeg_video_h264_fmo_map_type</entry> | ||
2415 | </row> | ||
2416 | <row><entry spanname="descr">When using FMO, the map type divides the image in different scan patterns of macroblocks. | ||
2417 | Applicable to the H264 encoder. | ||
2418 | Possible values are:</entry> | ||
2419 | </row> | ||
2420 | <row> | ||
2421 | <entrytbl spanname="descr" cols="2"> | ||
2422 | <tbody valign="top"> | ||
2423 | <row> | ||
2424 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES</constant> </entry> | ||
2425 | <entry>Slices are interleaved one after other with macroblocks in run length order.</entry> | ||
2426 | </row> | ||
2427 | <row> | ||
2428 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES</constant> </entry> | ||
2429 | <entry>Scatters the macroblocks based on a mathematical function known to both encoder and decoder.</entry> | ||
2430 | </row> | ||
2431 | <row> | ||
2432 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER</constant> </entry> | ||
2433 | <entry>Macroblocks arranged in rectangular areas or regions of interest.</entry> | ||
2434 | </row> | ||
2435 | <row> | ||
2436 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT</constant> </entry> | ||
2437 | <entry>Slice groups grow in a cyclic way from centre to outwards.</entry> | ||
2438 | </row> | ||
2439 | <row> | ||
2440 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN</constant> </entry> | ||
2441 | <entry>Slice groups grow in raster scan pattern from left to right.</entry> | ||
2442 | </row> | ||
2443 | <row> | ||
2444 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN</constant> </entry> | ||
2445 | <entry>Slice groups grow in wipe scan pattern from top to bottom.</entry> | ||
2446 | </row> | ||
2447 | <row> | ||
2448 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT</constant> </entry> | ||
2449 | <entry>User defined map type.</entry> | ||
2450 | </row> | ||
2451 | </tbody> | ||
2452 | </entrytbl> | ||
2453 | </row> | ||
2454 | |||
2455 | <row><entry></entry></row> | ||
2456 | <row> | ||
2457 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP</constant> </entry> | ||
2458 | <entry>integer</entry> | ||
2459 | </row> | ||
2460 | <row><entry spanname="descr">Number of slice groups in FMO. | ||
2461 | Applicable to the H264 encoder.</entry> | ||
2462 | </row> | ||
2463 | |||
2464 | <row><entry></entry></row> | ||
2465 | <row id="v4l2-mpeg-video-h264-fmo-change-direction"> | ||
2466 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION</constant> </entry> | ||
2467 | <entry>enum v4l2_mpeg_video_h264_fmo_change_dir</entry> | ||
2468 | </row> | ||
2469 | <row><entry spanname="descr">Specifies a direction of the slice group change for raster and wipe maps. | ||
2470 | Applicable to the H264 encoder. | ||
2471 | Possible values are:</entry> | ||
2472 | </row> | ||
2473 | <row> | ||
2474 | <entrytbl spanname="descr" cols="2"> | ||
2475 | <tbody valign="top"> | ||
2476 | <row> | ||
2477 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT</constant> </entry> | ||
2478 | <entry>Raster scan or wipe right.</entry> | ||
2479 | </row> | ||
2480 | <row> | ||
2481 | <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT</constant> </entry> | ||
2482 | <entry>Reverse raster scan or wipe left.</entry> | ||
2483 | </row> | ||
2484 | </tbody> | ||
2485 | </entrytbl> | ||
2486 | </row> | ||
2487 | |||
2488 | <row><entry></entry></row> | ||
2489 | <row> | ||
2490 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE</constant> </entry> | ||
2491 | <entry>integer</entry> | ||
2492 | </row> | ||
2493 | <row><entry spanname="descr">Specifies the size of the first slice group for raster and wipe map. | ||
2494 | Applicable to the H264 encoder.</entry> | ||
2495 | </row> | ||
2496 | |||
2497 | <row><entry></entry></row> | ||
2498 | <row> | ||
2499 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH</constant> </entry> | ||
2500 | <entry>integer</entry> | ||
2501 | </row> | ||
2502 | <row><entry spanname="descr">Specifies the number of consecutive macroblocks for the interleaved map. | ||
2503 | Applicable to the H264 encoder.</entry> | ||
2504 | </row> | ||
2505 | |||
2506 | <row><entry></entry></row> | ||
2507 | <row> | ||
2508 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO</constant> </entry> | ||
2509 | <entry>boolean</entry> | ||
2510 | </row> | ||
2511 | <row><entry spanname="descr">Enables arbitrary slice ordering in encoded bitstream. | ||
2512 | Applicable to the H264 encoder.</entry> | ||
2513 | </row> | ||
2514 | |||
2515 | <row><entry></entry></row> | ||
2516 | <row> | ||
2517 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER</constant> </entry> | ||
2518 | <entry>integer</entry> | ||
2519 | </row><row><entry spanname="descr">Specifies the slice order in ASO. Applicable to the H264 encoder. | ||
2520 | The supplied 32-bit integer is interpreted as follows (bit | ||
2521 | 0 = least significant bit):</entry> | ||
2522 | </row> | ||
2523 | <row> | ||
2524 | <entrytbl spanname="descr" cols="2"> | ||
2525 | <tbody valign="top"> | ||
2526 | <row> | ||
2527 | <entry>Bit 0:15</entry> | ||
2528 | <entry>Slice ID</entry> | ||
2529 | </row> | ||
2530 | <row> | ||
2531 | <entry>Bit 16:32</entry> | ||
2532 | <entry>Slice position or order</entry> | ||
2533 | </row> | ||
2534 | </tbody> | ||
2535 | </entrytbl> | ||
2536 | </row> | ||
2537 | |||
2538 | <row><entry></entry></row> | ||
2539 | <row> | ||
2540 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING</constant> </entry> | ||
2541 | <entry>boolean</entry> | ||
2542 | </row> | ||
2543 | <row><entry spanname="descr">Enables H264 hierarchical coding. | ||
2544 | Applicable to the H264 encoder.</entry> | ||
2545 | </row> | ||
2546 | |||
2547 | <row><entry></entry></row> | ||
2548 | <row id="v4l2-mpeg-video-h264-hierarchical-coding-type"> | ||
2549 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE</constant> </entry> | ||
2550 | <entry>enum v4l2_mpeg_video_h264_hierarchical_coding_type</entry> | ||
2551 | </row> | ||
2552 | <row><entry spanname="descr">Specifies the hierarchical coding type. | ||
2553 | Applicable to the H264 encoder. | ||
2554 | Possible values are:</entry> | ||
2555 | </row> | ||
2556 | <row> | ||
2557 | <entrytbl spanname="descr" cols="2"> | ||
2558 | <tbody valign="top"> | ||
2559 | <row> | ||
2560 | <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B</constant> </entry> | ||
2561 | <entry>Hierarchical B coding.</entry> | ||
2562 | </row> | ||
2563 | <row> | ||
2564 | <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</constant> </entry> | ||
2565 | <entry>Hierarchical P coding.</entry> | ||
2566 | </row> | ||
2567 | </tbody> | ||
2568 | </entrytbl> | ||
2569 | </row> | ||
2570 | |||
2571 | <row><entry></entry></row> | ||
2572 | <row> | ||
2573 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER</constant> </entry> | ||
2574 | <entry>integer</entry> | ||
2575 | </row> | ||
2576 | <row><entry spanname="descr">Specifies the number of hierarchical coding layers. | ||
2577 | Applicable to the H264 encoder.</entry> | ||
2578 | </row> | ||
2579 | |||
2580 | <row><entry></entry></row> | ||
2581 | <row> | ||
2582 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP</constant> </entry> | ||
2583 | <entry>integer</entry> | ||
2584 | </row><row><entry spanname="descr">Specifies a user defined QP for each layer. Applicable to the H264 encoder. | ||
2585 | The supplied 32-bit integer is interpreted as follows (bit | ||
2586 | 0 = least significant bit):</entry> | ||
2587 | </row> | ||
2588 | <row> | ||
2589 | <entrytbl spanname="descr" cols="2"> | ||
2590 | <tbody valign="top"> | ||
2591 | <row> | ||
2592 | <entry>Bit 0:15</entry> | ||
2593 | <entry>QP value</entry> | ||
2594 | </row> | ||
2595 | <row> | ||
2596 | <entry>Bit 16:32</entry> | ||
2597 | <entry>Layer number</entry> | ||
2598 | </row> | ||
2599 | </tbody> | ||
2600 | </entrytbl> | ||
2601 | </row> | ||
2602 | |||
2337 | </tbody> | 2603 | </tbody> |
2338 | </tgroup> | 2604 | </tgroup> |
2339 | </table> | 2605 | </table> |
@@ -4267,6 +4533,16 @@ interface and may change in the future.</para> | |||
4267 | pixels / second. | 4533 | pixels / second. |
4268 | </entry> | 4534 | </entry> |
4269 | </row> | 4535 | </row> |
4536 | <row> | ||
4537 | <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN</constant></entry> | ||
4538 | <entry>menu</entry> | ||
4539 | </row> | ||
4540 | <row id="v4l2-test-pattern"> | ||
4541 | <entry spanname="descr"> Some capture/display/sensor devices have | ||
4542 | the capability to generate test pattern images. These hardware | ||
4543 | specific test patterns can be used to test if a device is working | ||
4544 | properly.</entry> | ||
4545 | </row> | ||
4270 | <row><entry></entry></row> | 4546 | <row><entry></entry></row> |
4271 | </tbody> | 4547 | </tbody> |
4272 | </tgroup> | 4548 | </tgroup> |
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml index 97f785add841..b5d1cbdc558b 100644 --- a/Documentation/DocBook/media/v4l/io.xml +++ b/Documentation/DocBook/media/v4l/io.xml | |||
@@ -677,8 +677,10 @@ memory, set by the application. See <xref linkend="userp" /> for details. | |||
677 | <entry><structfield>length</structfield></entry> | 677 | <entry><structfield>length</structfield></entry> |
678 | <entry></entry> | 678 | <entry></entry> |
679 | <entry>Size of the buffer (not the payload) in bytes for the | 679 | <entry>Size of the buffer (not the payload) in bytes for the |
680 | single-planar API. For the multi-planar API should contain the | 680 | single-planar API. For the multi-planar API the application sets |
681 | number of elements in the <structfield>planes</structfield> array. | 681 | this to the number of elements in the <structfield>planes</structfield> |
682 | array. The driver will fill in the actual number of valid elements in | ||
683 | that array. | ||
682 | </entry> | 684 | </entry> |
683 | </row> | 685 | </row> |
684 | <row> | 686 | <row> |
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml index 5274c24d11e0..a990b34d911a 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml | |||
@@ -1,11 +1,13 @@ | |||
1 | <refentry id="V4L2-PIX-FMT-NV12M"> | 1 | <refentry> |
2 | <refmeta> | 2 | <refmeta> |
3 | <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12')</refentrytitle> | 3 | <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16</refentrytitle> |
4 | &manvol; | 4 | &manvol; |
5 | </refmeta> | 5 | </refmeta> |
6 | <refnamediv> | 6 | <refnamediv> |
7 | <refname> <constant>V4L2_PIX_FMT_NV12M</constant></refname> | 7 | <refname id="V4L2-PIX-FMT-NV12M"><constant>V4L2_PIX_FMT_NV12M</constant></refname> |
8 | <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> with planes | 8 | <refname id="V4L2-PIX-FMT-NV21M"><constant>V4L2_PIX_FMT_NV21M</constant></refname> |
9 | <refname id="V4L2-PIX-FMT-NV12MT_16X16"><constant>V4L2_PIX_FMT_NV12MT_16X16</constant></refname> | ||
10 | <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> and <constant>V4L2_PIX_FMT_NV21</constant> with planes | ||
9 | non contiguous in memory. </refpurpose> | 11 | non contiguous in memory. </refpurpose> |
10 | </refnamediv> | 12 | </refnamediv> |
11 | <refsect1> | 13 | <refsect1> |
@@ -22,7 +24,12 @@ The CbCr plane is the same width, in bytes, as the Y plane (and of the image), | |||
22 | but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, | 24 | but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, |
23 | Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to | 25 | Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to |
24 | Y'<subscript>00</subscript>, Y'<subscript>01</subscript>, | 26 | Y'<subscript>00</subscript>, Y'<subscript>01</subscript>, |
25 | Y'<subscript>10</subscript>, Y'<subscript>11</subscript>. </para> | 27 | Y'<subscript>10</subscript>, Y'<subscript>11</subscript>. |
28 | <constant>V4L2_PIX_FMT_NV12MT_16X16</constant> is the tiled version of | ||
29 | <constant>V4L2_PIX_FMT_NV12M</constant> with 16x16 macroblock tiles. Here pixels | ||
30 | are arranged in 16x16 2D tiles and tiles are arranged in linear order in memory. | ||
31 | <constant>V4L2_PIX_FMT_NV21M</constant> is the same as <constant>V4L2_PIX_FMT_NV12M</constant> | ||
32 | except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr byte.</para> | ||
26 | 33 | ||
27 | <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be | 34 | <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be |
28 | used only in drivers and applications that support the multi-planar API, | 35 | used only in drivers and applications that support the multi-planar API, |
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index 1ddbfabe3195..bf94f417592c 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml | |||
@@ -758,6 +758,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see | |||
758 | <entry>'AVC1'</entry> | 758 | <entry>'AVC1'</entry> |
759 | <entry>H264 video elementary stream without start codes.</entry> | 759 | <entry>H264 video elementary stream without start codes.</entry> |
760 | </row> | 760 | </row> |
761 | <row id="V4L2-PIX-FMT-H264-MVC"> | ||
762 | <entry><constant>V4L2_PIX_FMT_H264_MVC</constant></entry> | ||
763 | <entry>'MVC'</entry> | ||
764 | <entry>H264 MVC video elementary stream.</entry> | ||
765 | </row> | ||
761 | <row id="V4L2-PIX-FMT-H263"> | 766 | <row id="V4L2-PIX-FMT-H263"> |
762 | <entry><constant>V4L2_PIX_FMT_H263</constant></entry> | 767 | <entry><constant>V4L2_PIX_FMT_H263</constant></entry> |
763 | <entry>'H263'</entry> | 768 | <entry>'H263'</entry> |
@@ -793,6 +798,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see | |||
793 | <entry>'VC1L'</entry> | 798 | <entry>'VC1L'</entry> |
794 | <entry>VC1, SMPTE 421M Annex L compliant stream.</entry> | 799 | <entry>VC1, SMPTE 421M Annex L compliant stream.</entry> |
795 | </row> | 800 | </row> |
801 | <row id="V4L2-PIX-FMT-VP8"> | ||
802 | <entry><constant>V4L2_PIX_FMT_VP8</constant></entry> | ||
803 | <entry>'VP8'</entry> | ||
804 | <entry>VP8 video elementary stream.</entry> | ||
805 | </row> | ||
796 | </tbody> | 806 | </tbody> |
797 | </tgroup> | 807 | </tgroup> |
798 | </table> | 808 | </table> |
@@ -996,6 +1006,34 @@ the other bits are set to 0.</entry> | |||
996 | <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, | 1006 | <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, |
997 | the other bits are set to 0.</entry> | 1007 | the other bits are set to 0.</entry> |
998 | </row> | 1008 | </row> |
1009 | <row id="V4L2-PIX-FMT-S5C-UYVY-JPG"> | ||
1010 | <entry><constant>V4L2_PIX_FMT_S5C_UYVY_JPG</constant></entry> | ||
1011 | <entry>'S5CI'</entry> | ||
1012 | <entry>Two-planar format used by Samsung S5C73MX cameras. The | ||
1013 | first plane contains interleaved JPEG and UYVY image data, followed by meta data | ||
1014 | in form of an array of offsets to the UYVY data blocks. The actual pointer array | ||
1015 | follows immediately the interleaved JPEG/UYVY data, the number of entries in | ||
1016 | this array equals the height of the UYVY image. Each entry is a 4-byte unsigned | ||
1017 | integer in big endian order and it's an offset to a single pixel line of the | ||
1018 | UYVY image. The first plane can start either with JPEG or UYVY data chunk. The | ||
1019 | size of a single UYVY block equals the UYVY image's width multiplied by 2. The | ||
1020 | size of a JPEG chunk depends on the image and can vary with each line. | ||
1021 | <para>The second plane, at an offset of 4084 bytes, contains a 4-byte offset to | ||
1022 | the pointer array in the first plane. This offset is followed by a 4-byte value | ||
1023 | indicating size of the pointer array. All numbers in the second plane are also | ||
1024 | in big endian order. Remaining data in the second plane is undefined. The | ||
1025 | information in the second plane allows to easily find location of the pointer | ||
1026 | array, which can be different for each frame. The size of the pointer array is | ||
1027 | constant for given UYVY image height.</para> | ||
1028 | <para>In order to extract UYVY and JPEG frames an application can initially set | ||
1029 | a data pointer to the start of first plane and then add an offset from the first | ||
1030 | entry of the pointers table. Such a pointer indicates start of an UYVY image | ||
1031 | pixel line. Whole UYVY line can be copied to a separate buffer. These steps | ||
1032 | should be repeated for each line, i.e. the number of entries in the pointer | ||
1033 | array. Anything what's in between the UYVY lines is JPEG data and should be | ||
1034 | concatenated to form the JPEG stream. </para> | ||
1035 | </entry> | ||
1036 | </row> | ||
999 | </tbody> | 1037 | </tbody> |
1000 | </tgroup> | 1038 | </tgroup> |
1001 | </table> | 1039 | </table> |
diff --git a/Documentation/DocBook/media/v4l/subdev-formats.xml b/Documentation/DocBook/media/v4l/subdev-formats.xml index 49c532ebbbbe..a0a936455fae 100644 --- a/Documentation/DocBook/media/v4l/subdev-formats.xml +++ b/Documentation/DocBook/media/v4l/subdev-formats.xml | |||
@@ -2565,5 +2565,49 @@ | |||
2565 | </tgroup> | 2565 | </tgroup> |
2566 | </table> | 2566 | </table> |
2567 | </section> | 2567 | </section> |
2568 | |||
2569 | <section id="v4l2-mbus-vendor-spec-fmts"> | ||
2570 | <title>Vendor and Device Specific Formats</title> | ||
2571 | |||
2572 | <note> | ||
2573 | <title>Experimental</title> | ||
2574 | <para>This is an <link linkend="experimental">experimental</link> | ||
2575 | interface and may change in the future.</para> | ||
2576 | </note> | ||
2577 | |||
2578 | <para>This section lists complex data formats that are either vendor or | ||
2579 | device specific. | ||
2580 | </para> | ||
2581 | |||
2582 | <para>The following table lists the existing vendor and device specific | ||
2583 | formats.</para> | ||
2584 | |||
2585 | <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-vendor-specific"> | ||
2586 | <title>Vendor and device specific formats</title> | ||
2587 | <tgroup cols="3"> | ||
2588 | <colspec colname="id" align="left" /> | ||
2589 | <colspec colname="code" align="left"/> | ||
2590 | <colspec colname="remarks" align="left"/> | ||
2591 | <thead> | ||
2592 | <row> | ||
2593 | <entry>Identifier</entry> | ||
2594 | <entry>Code</entry> | ||
2595 | <entry>Comments</entry> | ||
2596 | </row> | ||
2597 | </thead> | ||
2598 | <tbody valign="top"> | ||
2599 | <row id="V4L2-MBUS-FMT-S5C-UYVY-JPEG-1X8"> | ||
2600 | <entry>V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8</entry> | ||
2601 | <entry>0x5001</entry> | ||
2602 | <entry> | ||
2603 | Interleaved raw UYVY and JPEG image format with embedded | ||
2604 | meta-data used by Samsung S3C73MX camera sensors. | ||
2605 | </entry> | ||
2606 | </row> | ||
2607 | </tbody> | ||
2608 | </tgroup> | ||
2609 | </table> | ||
2610 | </section> | ||
2611 | |||
2568 | </section> | 2612 | </section> |
2569 | </section> | 2613 | </section> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml index 6a821a65a5ae..2d37abefce13 100644 --- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml | |||
@@ -121,8 +121,7 @@ remaining fields or returns an error code. The driver may also set | |||
121 | field. It indicates a non-critical (recoverable) streaming error. In such case | 121 | field. It indicates a non-critical (recoverable) streaming error. In such case |
122 | the application may continue as normal, but should be aware that data in the | 122 | the application may continue as normal, but should be aware that data in the |
123 | dequeued buffer might be corrupted. When using the multi-planar API, the | 123 | dequeued buffer might be corrupted. When using the multi-planar API, the |
124 | planes array does not have to be passed; the <structfield>m.planes</structfield> | 124 | planes array must be passed in as well.</para> |
125 | member must be set to NULL in that case.</para> | ||
126 | 125 | ||
127 | <para>By default <constant>VIDIOC_DQBUF</constant> blocks when no | 126 | <para>By default <constant>VIDIOC_DQBUF</constant> blocks when no |
128 | buffer is in the outgoing queue. When the | 127 | buffer is in the outgoing queue. When the |
diff --git a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml index 6e414d7b6df7..a597155c052d 100644 --- a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml | |||
@@ -48,8 +48,8 @@ | |||
48 | <refsect1> | 48 | <refsect1> |
49 | <title>Description</title> | 49 | <title>Description</title> |
50 | 50 | ||
51 | <para>This ioctl is part of the <link linkend="mmap">memory | 51 | <para>This ioctl is part of the <link linkend="mmap">streaming |
52 | mapping</link> I/O method. It can be used to query the status of a | 52 | </link> I/O method. It can be used to query the status of a |
53 | buffer at any time after buffers have been allocated with the | 53 | buffer at any time after buffers have been allocated with the |
54 | &VIDIOC-REQBUFS; ioctl.</para> | 54 | &VIDIOC-REQBUFS; ioctl.</para> |
55 | 55 | ||
@@ -71,6 +71,7 @@ the structure.</para> | |||
71 | 71 | ||
72 | <para>In the <structfield>flags</structfield> field the | 72 | <para>In the <structfield>flags</structfield> field the |
73 | <constant>V4L2_BUF_FLAG_MAPPED</constant>, | 73 | <constant>V4L2_BUF_FLAG_MAPPED</constant>, |
74 | <constant>V4L2_BUF_FLAG_PREPARED</constant>, | ||
74 | <constant>V4L2_BUF_FLAG_QUEUED</constant> and | 75 | <constant>V4L2_BUF_FLAG_QUEUED</constant> and |
75 | <constant>V4L2_BUF_FLAG_DONE</constant> flags will be valid. The | 76 | <constant>V4L2_BUF_FLAG_DONE</constant> flags will be valid. The |
76 | <structfield>memory</structfield> field will be set to the current | 77 | <structfield>memory</structfield> field will be set to the current |
@@ -79,8 +80,10 @@ contains the offset of the buffer from the start of the device memory, | |||
79 | the <structfield>length</structfield> field its size. For the multi-planar API, | 80 | the <structfield>length</structfield> field its size. For the multi-planar API, |
80 | fields <structfield>m.mem_offset</structfield> and | 81 | fields <structfield>m.mem_offset</structfield> and |
81 | <structfield>length</structfield> in the <structfield>m.planes</structfield> | 82 | <structfield>length</structfield> in the <structfield>m.planes</structfield> |
82 | array elements will be used instead. The driver may or may not set the remaining | 83 | array elements will be used instead and the <structfield>length</structfield> |
83 | fields and flags, they are meaningless in this context.</para> | 84 | field of &v4l2-buffer; is set to the number of filled-in array elements. |
85 | The driver may or may not set the remaining fields and flags, they are | ||
86 | meaningless in this context.</para> | ||
84 | 87 | ||
85 | <para>The <structname>v4l2_buffer</structname> structure is | 88 | <para>The <structname>v4l2_buffer</structname> structure is |
86 | specified in <xref linkend="buffer" />.</para> | 89 | specified in <xref linkend="buffer" />.</para> |
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index e0aedb7a7827..fe122d6e686f 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
@@ -1216,8 +1216,6 @@ in this page</entry> | |||
1216 | #define NAND_BBT_LASTBLOCK 0x00000010 | 1216 | #define NAND_BBT_LASTBLOCK 0x00000010 |
1217 | /* The bbt is at the given page, else we must scan for the bbt */ | 1217 | /* The bbt is at the given page, else we must scan for the bbt */ |
1218 | #define NAND_BBT_ABSPAGE 0x00000020 | 1218 | #define NAND_BBT_ABSPAGE 0x00000020 |
1219 | /* The bbt is at the given page, else we must scan for the bbt */ | ||
1220 | #define NAND_BBT_SEARCH 0x00000040 | ||
1221 | /* bbt is stored per chip on multichip devices */ | 1219 | /* bbt is stored per chip on multichip devices */ |
1222 | #define NAND_BBT_PERCHIP 0x00000080 | 1220 | #define NAND_BBT_PERCHIP 0x00000080 |
1223 | /* bbt has a version counter at offset veroffs */ | 1221 | /* bbt has a version counter at offset veroffs */ |
diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index a341d87d276e..0c1f475fdf36 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting | |||
@@ -154,13 +154,33 @@ In either case, the following conditions must be met: | |||
154 | 154 | ||
155 | - CPU mode | 155 | - CPU mode |
156 | All forms of interrupts must be disabled (IRQs and FIQs) | 156 | All forms of interrupts must be disabled (IRQs and FIQs) |
157 | The CPU must be in SVC mode. (A special exception exists for Angel) | 157 | |
158 | For CPUs which do not include the ARM virtualization extensions, the | ||
159 | CPU must be in SVC mode. (A special exception exists for Angel) | ||
160 | |||
161 | CPUs which include support for the virtualization extensions can be | ||
162 | entered in HYP mode in order to enable the kernel to make full use of | ||
163 | these extensions. This is the recommended boot method for such CPUs, | ||
164 | unless the virtualisations are already in use by a pre-installed | ||
165 | hypervisor. | ||
166 | |||
167 | If the kernel is not entered in HYP mode for any reason, it must be | ||
168 | entered in SVC mode. | ||
158 | 169 | ||
159 | - Caches, MMUs | 170 | - Caches, MMUs |
160 | The MMU must be off. | 171 | The MMU must be off. |
161 | Instruction cache may be on or off. | 172 | Instruction cache may be on or off. |
162 | Data cache must be off. | 173 | Data cache must be off. |
163 | 174 | ||
175 | If the kernel is entered in HYP mode, the above requirements apply to | ||
176 | the HYP mode configuration in addition to the ordinary PL1 (privileged | ||
177 | kernel modes) configuration. In addition, all traps into the | ||
178 | hypervisor must be disabled, and PL1 access must be granted for all | ||
179 | peripherals and CPU resources for which this is architecturally | ||
180 | possible. Except for entering in HYP mode, the system configuration | ||
181 | should be such that a kernel which does not include support for the | ||
182 | virtualization extensions can boot correctly without extra help. | ||
183 | |||
164 | - The boot loader is expected to call the kernel image by jumping | 184 | - The boot loader is expected to call the kernel image by jumping |
165 | directly to the first instruction of the kernel image. | 185 | directly to the first instruction of the kernel image. |
166 | 186 | ||
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index e418dc0a7086..8df5e8e6dceb 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt | |||
@@ -465,7 +465,6 @@ struct bio { | |||
465 | bio_end_io_t *bi_end_io; /* bi_end_io (bio) */ | 465 | bio_end_io_t *bi_end_io; /* bi_end_io (bio) */ |
466 | atomic_t bi_cnt; /* pin count: free when it hits zero */ | 466 | atomic_t bi_cnt; /* pin count: free when it hits zero */ |
467 | void *bi_private; | 467 | void *bi_private; |
468 | bio_destructor_t *bi_destructor; /* bi_destructor (bio) */ | ||
469 | }; | 468 | }; |
470 | 469 | ||
471 | With this multipage bio design: | 470 | With this multipage bio design: |
@@ -647,10 +646,6 @@ for a non-clone bio. There are the 6 pools setup for different size biovecs, | |||
647 | so bio_alloc(gfp_mask, nr_iovecs) will allocate a vec_list of the | 646 | so bio_alloc(gfp_mask, nr_iovecs) will allocate a vec_list of the |
648 | given size from these slabs. | 647 | given size from these slabs. |
649 | 648 | ||
650 | The bi_destructor() routine takes into account the possibility of the bio | ||
651 | having originated from a different source (see later discussions on | ||
652 | n/w to block transfers and kvec_cb) | ||
653 | |||
654 | The bio_get() routine may be used to hold an extra reference on a bio prior | 649 | The bio_get() routine may be used to hold an extra reference on a bio prior |
655 | to i/o submission, if the bio fields are likely to be accessed after the | 650 | to i/o submission, if the bio fields are likely to be accessed after the |
656 | i/o is issued (since the bio may otherwise get freed in case i/o completion | 651 | i/o is issued (since the bio may otherwise get freed in case i/o completion |
diff --git a/Documentation/devicetree/bindings/arm/davinci/nand.txt b/Documentation/devicetree/bindings/arm/davinci/nand.txt new file mode 100644 index 000000000000..e37241f1fdd8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/davinci/nand.txt | |||
@@ -0,0 +1,51 @@ | |||
1 | * Texas Instruments Davinci NAND | ||
2 | |||
3 | This file provides information, what the device node for the | ||
4 | davinci nand interface contain. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "ti,davinci-nand"; | ||
8 | - reg : contain 2 offset/length values: | ||
9 | - offset and length for the access window | ||
10 | - offset and length for accessing the aemif control registers | ||
11 | - ti,davinci-chipselect: Indicates on the davinci_nand driver which | ||
12 | chipselect is used for accessing the nand. | ||
13 | |||
14 | Recommended properties : | ||
15 | - ti,davinci-mask-ale: mask for ale | ||
16 | - ti,davinci-mask-cle: mask for cle | ||
17 | - ti,davinci-mask-chipsel: mask for chipselect | ||
18 | - ti,davinci-ecc-mode: ECC mode valid values for davinci driver: | ||
19 | - "none" | ||
20 | - "soft" | ||
21 | - "hw" | ||
22 | - ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4. | ||
23 | - ti,davinci-nand-buswidth: buswidth 8 or 16 | ||
24 | - ti,davinci-nand-use-bbt: use flash based bad block table support. | ||
25 | |||
26 | Example (enbw_cmc board): | ||
27 | aemif@60000000 { | ||
28 | compatible = "ti,davinci-aemif"; | ||
29 | #address-cells = <2>; | ||
30 | #size-cells = <1>; | ||
31 | reg = <0x68000000 0x80000>; | ||
32 | ranges = <2 0 0x60000000 0x02000000 | ||
33 | 3 0 0x62000000 0x02000000 | ||
34 | 4 0 0x64000000 0x02000000 | ||
35 | 5 0 0x66000000 0x02000000 | ||
36 | 6 0 0x68000000 0x02000000>; | ||
37 | nand@3,0 { | ||
38 | compatible = "ti,davinci-nand"; | ||
39 | reg = <3 0x0 0x807ff | ||
40 | 6 0x0 0x8000>; | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <1>; | ||
43 | ti,davinci-chipselect = <1>; | ||
44 | ti,davinci-mask-ale = <0>; | ||
45 | ti,davinci-mask-cle = <0>; | ||
46 | ti,davinci-mask-chipsel = <0>; | ||
47 | ti,davinci-ecc-mode = "hw"; | ||
48 | ti,davinci-ecc-bits = <4>; | ||
49 | ti,davinci-nand-use-bbt; | ||
50 | }; | ||
51 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/atmel-i2c.txt b/Documentation/devicetree/bindings/i2c/atmel-i2c.txt new file mode 100644 index 000000000000..b689a0d9441c --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/atmel-i2c.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | I2C for Atmel platforms | ||
2 | |||
3 | Required properties : | ||
4 | - compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c", | ||
5 | "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c" | ||
6 | or "atmel,at91sam9x5-i2c" | ||
7 | - reg: physical base address of the controller and length of memory mapped | ||
8 | region. | ||
9 | - interrupts: interrupt number to the cpu. | ||
10 | - #address-cells = <1>; | ||
11 | - #size-cells = <0>; | ||
12 | |||
13 | Optional properties: | ||
14 | - Child nodes conforming to i2c bus binding | ||
15 | |||
16 | Examples : | ||
17 | |||
18 | i2c0: i2c@fff84000 { | ||
19 | compatible = "atmel,at91sam9g20-i2c"; | ||
20 | reg = <0xfff84000 0x100>; | ||
21 | interrupts = <12 4 6>; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | |||
25 | 24c512@50 { | ||
26 | compatible = "24c512"; | ||
27 | reg = <0x50>; | ||
28 | pagesize = <128>; | ||
29 | } | ||
30 | } | ||
diff --git a/Documentation/devicetree/bindings/i2c/davinci.txt b/Documentation/devicetree/bindings/i2c/davinci.txt new file mode 100644 index 000000000000..2dc935b4113d --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/davinci.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | * Texas Instruments Davinci I2C | ||
2 | |||
3 | This file provides information, what the device node for the | ||
4 | davinci i2c interface contain. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "ti,davinci-i2c"; | ||
8 | - reg : Offset and length of the register set for the device | ||
9 | |||
10 | Recommended properties : | ||
11 | - interrupts : standard interrupt property. | ||
12 | - clock-frequency : desired I2C bus clock frequency in Hz. | ||
13 | |||
14 | Example (enbw_cmc board): | ||
15 | i2c@1c22000 { | ||
16 | compatible = "ti,davinci-i2c"; | ||
17 | reg = <0x22000 0x1000>; | ||
18 | clock-frequency = <100000>; | ||
19 | interrupts = <15>; | ||
20 | interrupt-parent = <&intc>; | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | dtt@48 { | ||
25 | compatible = "national,lm75"; | ||
26 | reg = <0x48>; | ||
27 | }; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mxs.txt b/Documentation/devicetree/bindings/i2c/i2c-mxs.txt index 30ac3a0557f7..7a3fe9e5f4cb 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-mxs.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-mxs.txt | |||
@@ -6,6 +6,7 @@ Required properties: | |||
6 | - interrupts: Should contain ERROR and DMA interrupts | 6 | - interrupts: Should contain ERROR and DMA interrupts |
7 | - clock-frequency: Desired I2C bus clock frequency in Hz. | 7 | - clock-frequency: Desired I2C bus clock frequency in Hz. |
8 | Only 100000Hz and 400000Hz modes are supported. | 8 | Only 100000Hz and 400000Hz modes are supported. |
9 | - fsl,i2c-dma-channel: APBX DMA channel for the I2C | ||
9 | 10 | ||
10 | Examples: | 11 | Examples: |
11 | 12 | ||
@@ -16,4 +17,5 @@ i2c0: i2c@80058000 { | |||
16 | reg = <0x80058000 2000>; | 17 | reg = <0x80058000 2000>; |
17 | interrupts = <111 68>; | 18 | interrupts = <111 68>; |
18 | clock-frequency = <100000>; | 19 | clock-frequency = <100000>; |
20 | fsl,i2c-dma-channel = <6>; | ||
19 | }; | 21 | }; |
diff --git a/Documentation/devicetree/bindings/i2c/nomadik.txt b/Documentation/devicetree/bindings/i2c/nomadik.txt new file mode 100644 index 000000000000..72065b0ff680 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/nomadik.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | I2C for Nomadik based systems | ||
2 | |||
3 | Required (non-standard) properties: | ||
4 | - Nil | ||
5 | |||
6 | Recommended (non-standard) properties: | ||
7 | - clock-frequency : Maximum bus clock frequency for the device | ||
8 | |||
9 | Optional (non-standard) properties: | ||
10 | - Nil | ||
11 | |||
12 | Example : | ||
13 | |||
14 | i2c@80004000 { | ||
15 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c"; | ||
16 | reg = <0x80004000 0x1000>; | ||
17 | interrupts = <0 21 0x4>; | ||
18 | #address-cells = <1>; | ||
19 | #size-cells = <0>; | ||
20 | v-i2c-supply = <&db8500_vape_reg>; | ||
21 | |||
22 | clock-frequency = <400000>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt index 548892c08c59..7da578d72123 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt | |||
@@ -7,7 +7,7 @@ as "armctrl" in the SoC documentation, hence naming of this binding. | |||
7 | 7 | ||
8 | Required properties: | 8 | Required properties: |
9 | 9 | ||
10 | - compatible : should be "brcm,bcm2835-armctrl-ic.txt" | 10 | - compatible : should be "brcm,bcm2835-armctrl-ic" |
11 | - reg : Specifies base physical address and size of the registers. | 11 | - reg : Specifies base physical address and size of the registers. |
12 | - interrupt-controller : Identifies the node as an interrupt controller | 12 | - interrupt-controller : Identifies the node as an interrupt controller |
13 | - #interrupt-cells : Specifies the number of cells needed to encode an | 13 | - #interrupt-cells : Specifies the number of cells needed to encode an |
diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt new file mode 100644 index 000000000000..0a85c70cd30a --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt | |||
@@ -0,0 +1,68 @@ | |||
1 | * Atmel High Speed MultiMedia Card Interface | ||
2 | |||
3 | This controller on atmel products provides an interface for MMC, SD and SDIO | ||
4 | types of memory cards. | ||
5 | |||
6 | This file documents differences between the core properties described | ||
7 | by mmc.txt and the properties used by the atmel-mci driver. | ||
8 | |||
9 | 1) MCI node | ||
10 | |||
11 | Required properties: | ||
12 | - compatible: should be "atmel,hsmci" | ||
13 | - #address-cells: should be one. The cell is the slot id. | ||
14 | - #size-cells: should be zero. | ||
15 | - at least one slot node | ||
16 | |||
17 | The node contains child nodes for each slot that the platform uses | ||
18 | |||
19 | Example MCI node: | ||
20 | |||
21 | mmc0: mmc@f0008000 { | ||
22 | compatible = "atmel,hsmci"; | ||
23 | reg = <0xf0008000 0x600>; | ||
24 | interrupts = <12 4>; | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | [ child node definitions...] | ||
29 | }; | ||
30 | |||
31 | 2) slot nodes | ||
32 | |||
33 | Required properties: | ||
34 | - reg: should contain the slot id. | ||
35 | - bus-width: number of data lines connected to the controller | ||
36 | |||
37 | Optional properties: | ||
38 | - cd-gpios: specify GPIOs for card detection | ||
39 | - cd-inverted: invert the value of external card detect gpio line | ||
40 | - wp-gpios: specify GPIOs for write protection | ||
41 | |||
42 | Example slot node: | ||
43 | |||
44 | slot@0 { | ||
45 | reg = <0>; | ||
46 | bus-width = <4>; | ||
47 | cd-gpios = <&pioD 15 0> | ||
48 | cd-inverted; | ||
49 | }; | ||
50 | |||
51 | Example full MCI node: | ||
52 | mmc0: mmc@f0008000 { | ||
53 | compatible = "atmel,hsmci"; | ||
54 | reg = <0xf0008000 0x600>; | ||
55 | interrupts = <12 4>; | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <0>; | ||
58 | slot@0 { | ||
59 | reg = <0>; | ||
60 | bus-width = <4>; | ||
61 | cd-gpios = <&pioD 15 0> | ||
62 | cd-inverted; | ||
63 | }; | ||
64 | slot@1 { | ||
65 | reg = <1>; | ||
66 | bus-width = <4>; | ||
67 | }; | ||
68 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt new file mode 100644 index 000000000000..792768953330 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt | |||
@@ -0,0 +1,87 @@ | |||
1 | * Samsung Exynos specific extensions to the Synopsis Designware Mobile | ||
2 | Storage Host Controller | ||
3 | |||
4 | The Synopsis designware mobile storage host controller is used to interface | ||
5 | a SoC with storage medium such as eMMC or SD/MMC cards. This file documents | ||
6 | differences between the core Synopsis dw mshc controller properties described | ||
7 | by synposis-dw-mshc.txt and the properties used by the Samsung Exynos specific | ||
8 | extensions to the Synopsis Designware Mobile Storage Host Controller. | ||
9 | |||
10 | Required Properties: | ||
11 | |||
12 | * compatible: should be | ||
13 | - "samsung,exynos4210-dw-mshc": for controllers with Samsung Exynos4210 | ||
14 | specific extentions. | ||
15 | - "samsung,exynos4412-dw-mshc": for controllers with Samsung Exynos4412 | ||
16 | specific extentions. | ||
17 | - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250 | ||
18 | specific extentions. | ||
19 | |||
20 | * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface | ||
21 | unit (ciu) clock. This property is applicable only for Exynos5 SoC's and | ||
22 | ignored for Exynos4 SoC's. The valid range of divider value is 0 to 7. | ||
23 | |||
24 | * samsung,dw-mshc-sdr-timing: Specifies the value of CIU clock phase shift value | ||
25 | in transmit mode and CIU clock phase shift value in receive mode for single | ||
26 | data rate mode operation. Refer notes below for the order of the cells and the | ||
27 | valid values. | ||
28 | |||
29 | * samsung,dw-mshc-ddr-timing: Specifies the value of CUI clock phase shift value | ||
30 | in transmit mode and CIU clock phase shift value in receive mode for double | ||
31 | data rate mode operation. Refer notes below for the order of the cells and the | ||
32 | valid values. | ||
33 | |||
34 | Notes for the sdr-timing and ddr-timing values: | ||
35 | |||
36 | The order of the cells should be | ||
37 | - First Cell: CIU clock phase shift value for tx mode. | ||
38 | - Second Cell: CIU clock phase shift value for rx mode. | ||
39 | |||
40 | Valid values for SDR and DDR CIU clock timing for Exynos5250: | ||
41 | - valid value for tx phase shift and rx phase shift is 0 to 7. | ||
42 | - when CIU clock divider value is set to 3, all possible 8 phase shift | ||
43 | values can be used. | ||
44 | - if CIU clock divider value is 0 (that is divide by 1), both tx and rx | ||
45 | phase shift clocks should be 0. | ||
46 | |||
47 | Required properties for a slot: | ||
48 | |||
49 | * gpios: specifies a list of gpios used for command, clock and data bus. The | ||
50 | first gpio is the command line and the second gpio is the clock line. The | ||
51 | rest of the gpios (depending on the bus-width property) are the data lines in | ||
52 | no particular order. The format of the gpio specifier depends on the gpio | ||
53 | controller. | ||
54 | |||
55 | Example: | ||
56 | |||
57 | The MSHC controller node can be split into two portions, SoC specific and | ||
58 | board specific portions as listed below. | ||
59 | |||
60 | dwmmc0@12200000 { | ||
61 | compatible = "samsung,exynos5250-dw-mshc"; | ||
62 | reg = <0x12200000 0x1000>; | ||
63 | interrupts = <0 75 0>; | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <0>; | ||
66 | }; | ||
67 | |||
68 | dwmmc0@12200000 { | ||
69 | num-slots = <1>; | ||
70 | supports-highspeed; | ||
71 | broken-cd; | ||
72 | fifo-depth = <0x80>; | ||
73 | card-detect-delay = <200>; | ||
74 | samsung,dw-mshc-ciu-div = <3>; | ||
75 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
76 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
77 | |||
78 | slot@0 { | ||
79 | reg = <0>; | ||
80 | bus-width = <8>; | ||
81 | gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>, | ||
82 | <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>, | ||
83 | <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>, | ||
84 | <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>, | ||
85 | <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>; | ||
86 | }; | ||
87 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt index 8a6811f4a02f..8e2e0ba2f486 100644 --- a/Documentation/devicetree/bindings/mmc/mmc.txt +++ b/Documentation/devicetree/bindings/mmc/mmc.txt | |||
@@ -9,12 +9,17 @@ Interpreted by the OF core: | |||
9 | Required properties: | 9 | Required properties: |
10 | - bus-width: Number of data lines, can be <1>, <4>, or <8> | 10 | - bus-width: Number of data lines, can be <1>, <4>, or <8> |
11 | 11 | ||
12 | Card detection: | ||
13 | If no property below is supplied, standard SDHCI card detect is used. | ||
14 | Only one of the properties in this section should be supplied: | ||
15 | - broken-cd: There is no card detection available; polling must be used. | ||
16 | - cd-gpios: Specify GPIOs for card detection, see gpio binding | ||
17 | - non-removable: non-removable slot (like eMMC); assume always present. | ||
18 | |||
12 | Optional properties: | 19 | Optional properties: |
13 | - cd-gpios: Specify GPIOs for card detection, see gpio binding | ||
14 | - wp-gpios: Specify GPIOs for write protection, see gpio binding | 20 | - wp-gpios: Specify GPIOs for write protection, see gpio binding |
15 | - cd-inverted: when present, polarity on the cd gpio line is inverted | 21 | - cd-inverted: when present, polarity on the cd gpio line is inverted |
16 | - wp-inverted: when present, polarity on the wp gpio line is inverted | 22 | - wp-inverted: when present, polarity on the wp gpio line is inverted |
17 | - non-removable: non-removable slot (like eMMC) | ||
18 | - max-frequency: maximum operating clock frequency | 23 | - max-frequency: maximum operating clock frequency |
19 | 24 | ||
20 | Example: | 25 | Example: |
diff --git a/Documentation/devicetree/bindings/mmc/pxa-mmc.txt b/Documentation/devicetree/bindings/mmc/pxa-mmc.txt new file mode 100644 index 000000000000..b7025de7dced --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/pxa-mmc.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * PXA MMC drivers | ||
2 | |||
3 | Driver bindings for the PXA MCI (MMC/SDIO) interfaces | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be "marvell,pxa-mmc". | ||
7 | - vmmc-supply: A regulator for VMMC | ||
8 | |||
9 | Optional properties: | ||
10 | - marvell,detect-delay-ms: sets the detection delay timeout in ms. | ||
11 | - marvell,gpio-power: GPIO spec for the card power enable pin | ||
12 | |||
13 | This file documents differences between the core properties in mmc.txt | ||
14 | and the properties used by the pxa-mmc driver. | ||
15 | |||
16 | Examples: | ||
17 | |||
18 | mmc0: mmc@41100000 { | ||
19 | compatible = "marvell,pxa-mmc"; | ||
20 | reg = <0x41100000 0x1000>; | ||
21 | interrupts = <23>; | ||
22 | cd-gpios = <&gpio 23 0>; | ||
23 | wp-gpios = <&gpio 24 0>; | ||
24 | }; | ||
25 | |||
diff --git a/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt new file mode 100644 index 000000000000..630a7d7f4718 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/samsung-sdhci.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | * Samsung's SDHCI Controller device tree bindings | ||
2 | |||
3 | Samsung's SDHCI controller is used as a connectivity interface with external | ||
4 | MMC, SD and eMMC storage mediums. This file documents differences between the | ||
5 | core mmc properties described by mmc.txt and the properties used by the | ||
6 | Samsung implmentation of the SDHCI controller. | ||
7 | |||
8 | Note: The mmc core bindings documentation states that if none of the core | ||
9 | card-detect bindings are used, then the standard sdhci card detect mechanism | ||
10 | is used. The Samsung's SDHCI controller bindings extends this as listed below. | ||
11 | |||
12 | [A] The property "samsung,cd-pinmux-gpio" can be used as stated in the | ||
13 | "Optional Board Specific Properties" section below. | ||
14 | |||
15 | [B] If core card-detect bindings and "samsung,cd-pinmux-gpio" property | ||
16 | is not specified, it is assumed that there is no card detection | ||
17 | mechanism used. | ||
18 | |||
19 | Required SoC Specific Properties: | ||
20 | - compatible: should be one of the following | ||
21 | - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci | ||
22 | controller. | ||
23 | - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci | ||
24 | controller. | ||
25 | |||
26 | Required Board Specific Properties: | ||
27 | - gpios: Should specify the gpios used for clock, command and data lines. The | ||
28 | gpio specifier format depends on the gpio controller. | ||
29 | |||
30 | Optional Board Specific Properties: | ||
31 | - samsung,cd-pinmux-gpio: Specifies the card detect line that is routed | ||
32 | through a pinmux to the card-detect pin of the card slot. This property | ||
33 | should be used only if none of the mmc core card-detect properties are | ||
34 | used. | ||
35 | |||
36 | Example: | ||
37 | sdhci@12530000 { | ||
38 | compatible = "samsung,exynos4210-sdhci"; | ||
39 | reg = <0x12530000 0x100>; | ||
40 | interrupts = <0 75 0>; | ||
41 | bus-width = <4>; | ||
42 | cd-gpios = <&gpk2 2 2 3 3>; | ||
43 | gpios = <&gpk2 0 2 0 3>, /* clock line */ | ||
44 | <&gpk2 1 2 0 3>, /* command line */ | ||
45 | <&gpk2 3 2 3 3>, /* data line 0 */ | ||
46 | <&gpk2 4 2 3 3>, /* data line 1 */ | ||
47 | <&gpk2 5 2 3 3>, /* data line 2 */ | ||
48 | <&gpk2 6 2 3 3>; /* data line 3 */ | ||
49 | }; | ||
50 | |||
51 | Note: This example shows both SoC specific and board specific properties | ||
52 | in a single device node. The properties can be actually be seperated | ||
53 | into SoC specific node and board specific node. | ||
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-dove.txt b/Documentation/devicetree/bindings/mmc/sdhci-dove.txt new file mode 100644 index 000000000000..ae9aab9abcd7 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/sdhci-dove.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * Marvell sdhci-dove controller | ||
2 | |||
3 | This file documents differences between the core properties in mmc.txt | ||
4 | and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers. | ||
5 | |||
6 | - compatible: Should be "marvell,dove-sdhci". | ||
7 | |||
8 | Example: | ||
9 | |||
10 | sdio0: sdio@92000 { | ||
11 | compatible = "marvell,dove-sdhci"; | ||
12 | reg = <0x92000 0x100>; | ||
13 | interrupts = <35>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-spear.txt b/Documentation/devicetree/bindings/mmc/sdhci-spear.txt new file mode 100644 index 000000000000..fd3643e7e467 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/sdhci-spear.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | * SPEAr SDHCI Controller | ||
2 | |||
3 | This file documents differences between the core properties in mmc.txt | ||
4 | and the properties used by the sdhci-spear driver. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "st,spear300-sdhci" | ||
8 | |||
9 | Optional properties: | ||
10 | - cd-gpios: card detect gpio, with zero flags. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | sdhci@fc000000 { | ||
15 | compatible = "st,spear300-sdhci"; | ||
16 | reg = <0xfc000000 0x1000>; | ||
17 | cd-gpios = <&gpio0 6 0>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt new file mode 100644 index 000000000000..06cd32d08052 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt | |||
@@ -0,0 +1,79 @@ | |||
1 | * Synopsis Designware Mobile Storage Host Controller | ||
2 | |||
3 | The Synopsis designware mobile storage host controller is used to interface | ||
4 | a SoC with storage medium such as eMMC or SD/MMC cards. This file documents | ||
5 | differences between the core mmc properties described by mmc.txt and the | ||
6 | properties used by the Synopsis Designware Mobile Storage Host Controller. | ||
7 | |||
8 | Required Properties: | ||
9 | |||
10 | * compatible: should be | ||
11 | - snps,dw-mshc: for controllers compliant with synopsis dw-mshc. | ||
12 | * #address-cells: should be 1. | ||
13 | * #size-cells: should be 0. | ||
14 | |||
15 | # Slots: The slot specific information are contained within child-nodes with | ||
16 | each child-node representing a supported slot. There should be atleast one | ||
17 | child node representing a card slot. The name of the child node representing | ||
18 | the slot is recommended to be slot@n where n is the unique number of the slot | ||
19 | connnected to the controller. The following are optional properties which | ||
20 | can be included in the slot child node. | ||
21 | |||
22 | * reg: specifies the physical slot number. The valid values of this | ||
23 | property is 0 to (num-slots -1), where num-slots is the value | ||
24 | specified by the num-slots property. | ||
25 | |||
26 | * bus-width: as documented in mmc core bindings. | ||
27 | |||
28 | * wp-gpios: specifies the write protect gpio line. The format of the | ||
29 | gpio specifier depends on the gpio controller. If the write-protect | ||
30 | line is not available, this property is optional. | ||
31 | |||
32 | Optional properties: | ||
33 | |||
34 | * num-slots: specifies the number of slots supported by the controller. | ||
35 | The number of physical slots actually used could be equal or less than the | ||
36 | value specified by num-slots. If this property is not specified, the value | ||
37 | of num-slot property is assumed to be 1. | ||
38 | |||
39 | * fifo-depth: The maximum size of the tx/rx fifo's. If this property is not | ||
40 | specified, the default value of the fifo size is determined from the | ||
41 | controller registers. | ||
42 | |||
43 | * card-detect-delay: Delay in milli-seconds before detecting card after card | ||
44 | insert event. The default value is 0. | ||
45 | |||
46 | * supports-highspeed: Enables support for high speed cards (upto 50MHz) | ||
47 | |||
48 | * broken-cd: as documented in mmc core bindings. | ||
49 | |||
50 | Aliases: | ||
51 | |||
52 | - All the MSHC controller nodes should be represented in the aliases node using | ||
53 | the following format 'mshc{n}' where n is a unique number for the alias. | ||
54 | |||
55 | Example: | ||
56 | |||
57 | The MSHC controller node can be split into two portions, SoC specific and | ||
58 | board specific portions as listed below. | ||
59 | |||
60 | dwmmc0@12200000 { | ||
61 | compatible = "snps,dw-mshc"; | ||
62 | reg = <0x12200000 0x1000>; | ||
63 | interrupts = <0 75 0>; | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <0>; | ||
66 | }; | ||
67 | |||
68 | dwmmc0@12200000 { | ||
69 | num-slots = <1>; | ||
70 | supports-highspeed; | ||
71 | broken-cd; | ||
72 | fifo-depth = <0x80>; | ||
73 | card-detect-delay = <200>; | ||
74 | |||
75 | slot@0 { | ||
76 | reg = <0>; | ||
77 | bus-width = <8>; | ||
78 | }; | ||
79 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt index a20069502f5a..d555421ea49f 100644 --- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt +++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt | |||
@@ -3,7 +3,9 @@ Atmel NAND flash | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "atmel,at91rm9200-nand". | 4 | - compatible : "atmel,at91rm9200-nand". |
5 | - reg : should specify localbus address and size used for the chip, | 5 | - reg : should specify localbus address and size used for the chip, |
6 | and if availlable the ECC. | 6 | and hardware ECC controller if available. |
7 | If the hardware ECC is PMECC, it should contain address and size for | ||
8 | PMECC, PMECC Error Location controller and ROM which has lookup tables. | ||
7 | - atmel,nand-addr-offset : offset for the address latch. | 9 | - atmel,nand-addr-offset : offset for the address latch. |
8 | - atmel,nand-cmd-offset : offset for the command latch. | 10 | - atmel,nand-cmd-offset : offset for the command latch. |
9 | - #address-cells, #size-cells : Must be present if the device has sub-nodes | 11 | - #address-cells, #size-cells : Must be present if the device has sub-nodes |
@@ -16,6 +18,15 @@ Optional properties: | |||
16 | - nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default. | 18 | - nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default. |
17 | Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first", | 19 | Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first", |
18 | "soft_bch". | 20 | "soft_bch". |
21 | - atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware. | ||
22 | Only supported by at91sam9x5 or later sam9 product. | ||
23 | - atmel,pmecc-cap : error correct capability for Programmable Multibit ECC | ||
24 | Controller. Supported values are: 2, 4, 8, 12, 24. | ||
25 | - atmel,pmecc-sector-size : sector size for ECC computation. Supported values | ||
26 | are: 512, 1024. | ||
27 | - atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM | ||
28 | for different sector size. First one is for sector size 512, the next is for | ||
29 | sector size 1024. | ||
19 | - nand-bus-width : 8 or 16 bus width if not present 8 | 30 | - nand-bus-width : 8 or 16 bus width if not present 8 |
20 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false | 31 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false |
21 | 32 | ||
@@ -39,3 +50,30 @@ nand0: nand@40000000,0 { | |||
39 | ... | 50 | ... |
40 | }; | 51 | }; |
41 | }; | 52 | }; |
53 | |||
54 | /* for PMECC supported chips */ | ||
55 | nand0: nand@40000000 { | ||
56 | compatible = "atmel,at91rm9200-nand"; | ||
57 | #address-cells = <1>; | ||
58 | #size-cells = <1>; | ||
59 | reg = < 0x40000000 0x10000000 /* bus addr & size */ | ||
60 | 0xffffe000 0x00000600 /* PMECC addr & size */ | ||
61 | 0xffffe600 0x00000200 /* PMECC ERRLOC addr & size */ | ||
62 | 0x00100000 0x00100000 /* ROM addr & size */ | ||
63 | >; | ||
64 | atmel,nand-addr-offset = <21>; /* ale */ | ||
65 | atmel,nand-cmd-offset = <22>; /* cle */ | ||
66 | nand-on-flash-bbt; | ||
67 | nand-ecc-mode = "hw"; | ||
68 | atmel,has-pmecc; /* enable PMECC */ | ||
69 | atmel,pmecc-cap = <2>; | ||
70 | atmel,pmecc-sector-size = <512>; | ||
71 | atmel,pmecc-lookup-table-offset = <0x8000 0x10000>; | ||
72 | gpios = <&pioD 5 0 /* rdy */ | ||
73 | &pioD 4 0 /* nce */ | ||
74 | 0 /* cd */ | ||
75 | >; | ||
76 | partition@0 { | ||
77 | ... | ||
78 | }; | ||
79 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt index 1a5bbd346d22..3fb3f9015365 100644 --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt | |||
@@ -12,6 +12,10 @@ Required properties: | |||
12 | - interrupt-names : The interrupt names "gpmi-dma", "bch"; | 12 | - interrupt-names : The interrupt names "gpmi-dma", "bch"; |
13 | - fsl,gpmi-dma-channel : Should contain the dma channel it uses. | 13 | - fsl,gpmi-dma-channel : Should contain the dma channel it uses. |
14 | 14 | ||
15 | Optional properties: | ||
16 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not | ||
17 | present false | ||
18 | |||
15 | The device tree may optionally contain sub-nodes describing partitions of the | 19 | The device tree may optionally contain sub-nodes describing partitions of the |
16 | address space. See partition.txt for more detail. | 20 | address space. See partition.txt for more detail. |
17 | 21 | ||
diff --git a/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt new file mode 100644 index 000000000000..d0a37252eb22 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt | |||
@@ -0,0 +1,50 @@ | |||
1 | NXP LPC32xx SoC NAND MLC controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "nxp,lpc3220-mlc" | ||
5 | - reg: Address and size of the controller | ||
6 | - interrupts: The NAND interrupt specification | ||
7 | - gpios: GPIO specification for NAND write protect | ||
8 | |||
9 | The following required properties are very controller specific. See the LPC32xx | ||
10 | User Manual 7.5.14 MLC NAND Timing Register (the values here are specified in | ||
11 | Hz, to make them independent of actual clock speed and to provide for good | ||
12 | accuracy:) | ||
13 | - nxp,tcea_delay: TCEA_DELAY | ||
14 | - nxp,busy_delay: BUSY_DELAY | ||
15 | - nxp,nand_ta: NAND_TA | ||
16 | - nxp,rd_high: RD_HIGH | ||
17 | - nxp,rd_low: RD_LOW | ||
18 | - nxp,wr_high: WR_HIGH | ||
19 | - nxp,wr_low: WR_LOW | ||
20 | |||
21 | Optional subnodes: | ||
22 | - Partitions, see Documentation/devicetree/bindings/mtd/partition.txt | ||
23 | |||
24 | Example: | ||
25 | |||
26 | mlc: flash@200A8000 { | ||
27 | compatible = "nxp,lpc3220-mlc"; | ||
28 | reg = <0x200A8000 0x11000>; | ||
29 | interrupts = <11 0>; | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <1>; | ||
32 | |||
33 | nxp,tcea-delay = <333333333>; | ||
34 | nxp,busy-delay = <10000000>; | ||
35 | nxp,nand-ta = <18181818>; | ||
36 | nxp,rd-high = <31250000>; | ||
37 | nxp,rd-low = <45454545>; | ||
38 | nxp,wr-high = <40000000>; | ||
39 | nxp,wr-low = <83333333>; | ||
40 | gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */ | ||
41 | |||
42 | mtd0@00000000 { | ||
43 | label = "boot"; | ||
44 | reg = <0x00000000 0x00064000>; | ||
45 | read-only; | ||
46 | }; | ||
47 | |||
48 | ... | ||
49 | |||
50 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt b/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt new file mode 100644 index 000000000000..d94edc0fc554 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt | |||
@@ -0,0 +1,52 @@ | |||
1 | NXP LPC32xx SoC NAND SLC controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "nxp,lpc3220-slc" | ||
5 | - reg: Address and size of the controller | ||
6 | - nand-on-flash-bbt: Use bad block table on flash | ||
7 | - gpios: GPIO specification for NAND write protect | ||
8 | |||
9 | The following required properties are very controller specific. See the LPC32xx | ||
10 | User Manual: | ||
11 | - nxp,wdr-clks: Delay before Ready signal is tested on write (W_RDY) | ||
12 | - nxp,rdr-clks: Delay before Ready signal is tested on read (R_RDY) | ||
13 | (The following values are specified in Hz, to make them independent of actual | ||
14 | clock speed:) | ||
15 | - nxp,wwidth: Write pulse width (W_WIDTH) | ||
16 | - nxp,whold: Write hold time (W_HOLD) | ||
17 | - nxp,wsetup: Write setup time (W_SETUP) | ||
18 | - nxp,rwidth: Read pulse width (R_WIDTH) | ||
19 | - nxp,rhold: Read hold time (R_HOLD) | ||
20 | - nxp,rsetup: Read setup time (R_SETUP) | ||
21 | |||
22 | Optional subnodes: | ||
23 | - Partitions, see Documentation/devicetree/bindings/mtd/partition.txt | ||
24 | |||
25 | Example: | ||
26 | |||
27 | slc: flash@20020000 { | ||
28 | compatible = "nxp,lpc3220-slc"; | ||
29 | reg = <0x20020000 0x1000>; | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <1>; | ||
32 | |||
33 | nxp,wdr-clks = <14>; | ||
34 | nxp,wwidth = <40000000>; | ||
35 | nxp,whold = <100000000>; | ||
36 | nxp,wsetup = <100000000>; | ||
37 | nxp,rdr-clks = <14>; | ||
38 | nxp,rwidth = <40000000>; | ||
39 | nxp,rhold = <66666666>; | ||
40 | nxp,rsetup = <100000000>; | ||
41 | nand-on-flash-bbt; | ||
42 | gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */ | ||
43 | |||
44 | mtd0@00000000 { | ||
45 | label = "phy3250-boot"; | ||
46 | reg = <0x00000000 0x00064000>; | ||
47 | read-only; | ||
48 | }; | ||
49 | |||
50 | ... | ||
51 | |||
52 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt index a63c2bd7de2b..94de19b8f16b 100644 --- a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt +++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt | |||
@@ -16,6 +16,13 @@ file systems on embedded devices. | |||
16 | - #address-cells, #size-cells : Must be present if the device has | 16 | - #address-cells, #size-cells : Must be present if the device has |
17 | sub-nodes representing partitions (see below). In this case | 17 | sub-nodes representing partitions (see below). In this case |
18 | both #address-cells and #size-cells must be equal to 1. | 18 | both #address-cells and #size-cells must be equal to 1. |
19 | - no-unaligned-direct-access: boolean to disable the default direct | ||
20 | mapping of the flash. | ||
21 | On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause | ||
22 | problems with JFFS2 usage, as the local bus (LPB) doesn't support | ||
23 | unaligned accesses as implemented in the JFFS2 code via memcpy(). | ||
24 | By defining "no-unaligned-direct-access", the flash will not be | ||
25 | exposed directly to the MTD users (e.g. JFFS2) any more. | ||
19 | 26 | ||
20 | For JEDEC compatible devices, the following additional properties | 27 | For JEDEC compatible devices, the following additional properties |
21 | are defined: | 28 | are defined: |
diff --git a/Documentation/devicetree/bindings/pwm/imx-pwm.txt b/Documentation/devicetree/bindings/pwm/imx-pwm.txt new file mode 100644 index 000000000000..8522bfbccfd7 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/imx-pwm.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | Freescale i.MX PWM controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "fsl,<soc>-pwm" | ||
5 | - reg: physical base address and length of the controller's registers | ||
6 | - #pwm-cells: should be 2. The first cell specifies the per-chip index | ||
7 | of the PWM to use and the second cell is the period in nanoseconds. | ||
8 | - interrupts: The interrupt for the pwm controller | ||
9 | |||
10 | Example: | ||
11 | |||
12 | pwm1: pwm@53fb4000 { | ||
13 | #pwm-cells = <2>; | ||
14 | compatible = "fsl,imx53-pwm", "fsl,imx27-pwm"; | ||
15 | reg = <0x53fb4000 0x4000>; | ||
16 | interrupts = <61>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/pwm/mxs-pwm.txt b/Documentation/devicetree/bindings/pwm/mxs-pwm.txt index 11963e4d6bc4..9e3f8f1d46a2 100644 --- a/Documentation/devicetree/bindings/pwm/mxs-pwm.txt +++ b/Documentation/devicetree/bindings/pwm/mxs-pwm.txt | |||
@@ -4,7 +4,7 @@ Required properties: | |||
4 | - compatible: should be "fsl,imx23-pwm" | 4 | - compatible: should be "fsl,imx23-pwm" |
5 | - reg: physical base address and length of the controller's registers | 5 | - reg: physical base address and length of the controller's registers |
6 | - #pwm-cells: should be 2. The first cell specifies the per-chip index | 6 | - #pwm-cells: should be 2. The first cell specifies the per-chip index |
7 | of the PWM to use and the second cell is the duty cycle in nanoseconds. | 7 | of the PWM to use and the second cell is the period in nanoseconds. |
8 | - fsl,pwm-number: the number of PWM devices | 8 | - fsl,pwm-number: the number of PWM devices |
9 | 9 | ||
10 | Example: | 10 | Example: |
diff --git a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt index bbbeedb4ec05..01438ecd6628 100644 --- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | |||
@@ -7,7 +7,7 @@ Required properties: | |||
7 | - reg: physical base address and length of the controller's registers | 7 | - reg: physical base address and length of the controller's registers |
8 | - #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The | 8 | - #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The |
9 | first cell specifies the per-chip index of the PWM to use and the second | 9 | first cell specifies the per-chip index of the PWM to use and the second |
10 | cell is the duty cycle in nanoseconds. | 10 | cell is the period in nanoseconds. |
11 | 11 | ||
12 | Example: | 12 | Example: |
13 | 13 | ||
diff --git a/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt b/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt index 2de21c2acf55..844bd5fbd04c 100644 --- a/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt +++ b/Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt | |||
@@ -7,7 +7,7 @@ free running counter values, and generates an interrupt. | |||
7 | 7 | ||
8 | Required properties: | 8 | Required properties: |
9 | 9 | ||
10 | - compatible : should be "brcm,bcm2835-system-timer.txt" | 10 | - compatible : should be "brcm,bcm2835-system-timer" |
11 | - reg : Specifies base physical address and size of the registers. | 11 | - reg : Specifies base physical address and size of the registers. |
12 | - interrupts : A list of 4 interrupt sinks; one per timer channel. | 12 | - interrupts : A list of 4 interrupt sinks; one per timer channel. |
13 | - clock-frequency : The frequency of the clock that drives the counter, in Hz. | 13 | - clock-frequency : The frequency of the clock that drives the counter, in Hz. |
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt index 950856bd2e39..43cff70465ab 100644 --- a/Documentation/driver-model/devres.txt +++ b/Documentation/driver-model/devres.txt | |||
@@ -284,3 +284,7 @@ CLOCK | |||
284 | PINCTRL | 284 | PINCTRL |
285 | devm_pinctrl_get() | 285 | devm_pinctrl_get() |
286 | devm_pinctrl_put() | 286 | devm_pinctrl_put() |
287 | |||
288 | PWM | ||
289 | devm_pwm_get() | ||
290 | devm_pwm_put() | ||
diff --git a/Documentation/filesystems/nfs/nfs.txt b/Documentation/filesystems/nfs/nfs.txt index f50f26ce6cd0..f2571c8bef74 100644 --- a/Documentation/filesystems/nfs/nfs.txt +++ b/Documentation/filesystems/nfs/nfs.txt | |||
@@ -12,9 +12,47 @@ and work is in progress on adding support for minor version 1 of the NFSv4 | |||
12 | protocol. | 12 | protocol. |
13 | 13 | ||
14 | The purpose of this document is to provide information on some of the | 14 | The purpose of this document is to provide information on some of the |
15 | upcall interfaces that are used in order to provide the NFS client with | 15 | special features of the NFS client that can be configured by system |
16 | some of the information that it requires in order to fully comply with | 16 | administrators. |
17 | the NFS spec. | 17 | |
18 | |||
19 | The nfs4_unique_id parameter | ||
20 | ============================ | ||
21 | |||
22 | NFSv4 requires clients to identify themselves to servers with a unique | ||
23 | string. File open and lock state shared between one client and one server | ||
24 | is associated with this identity. To support robust NFSv4 state recovery | ||
25 | and transparent state migration, this identity string must not change | ||
26 | across client reboots. | ||
27 | |||
28 | Without any other intervention, the Linux client uses a string that contains | ||
29 | the local system's node name. System administrators, however, often do not | ||
30 | take care to ensure that node names are fully qualified and do not change | ||
31 | over the lifetime of a client system. Node names can have other | ||
32 | administrative requirements that require particular behavior that does not | ||
33 | work well as part of an nfs_client_id4 string. | ||
34 | |||
35 | The nfs.nfs4_unique_id boot parameter specifies a unique string that can be | ||
36 | used instead of a system's node name when an NFS client identifies itself to | ||
37 | a server. Thus, if the system's node name is not unique, or it changes, its | ||
38 | nfs.nfs4_unique_id stays the same, preventing collision with other clients | ||
39 | or loss of state during NFS reboot recovery or transparent state migration. | ||
40 | |||
41 | The nfs.nfs4_unique_id string is typically a UUID, though it can contain | ||
42 | anything that is believed to be unique across all NFS clients. An | ||
43 | nfs4_unique_id string should be chosen when a client system is installed, | ||
44 | just as a system's root file system gets a fresh UUID in its label at | ||
45 | install time. | ||
46 | |||
47 | The string should remain fixed for the lifetime of the client. It can be | ||
48 | changed safely if care is taken that the client shuts down cleanly and all | ||
49 | outstanding NFSv4 state has expired, to prevent loss of NFSv4 state. | ||
50 | |||
51 | This string can be stored in an NFS client's grub.conf, or it can be provided | ||
52 | via a net boot facility such as PXE. It may also be specified as an nfs.ko | ||
53 | module parameter. Specifying a uniquifier string is not support for NFS | ||
54 | clients running in containers. | ||
55 | |||
18 | 56 | ||
19 | The DNS resolver | 57 | The DNS resolver |
20 | ================ | 58 | ================ |
diff --git a/Documentation/hwmon/da9052 b/Documentation/hwmon/da9052 index ef898553638e..5bc51346b689 100644 --- a/Documentation/hwmon/da9052 +++ b/Documentation/hwmon/da9052 | |||
@@ -56,6 +56,6 @@ The junction temperature is calculated: | |||
56 | The junction temperature attribute is supported by the driver. | 56 | The junction temperature attribute is supported by the driver. |
57 | 57 | ||
58 | The battery temperature is calculated: | 58 | The battery temperature is calculated: |
59 | Degree Celcius = 1 / (t1 + 1/298)- 273 | 59 | Degree Celsius = 1 / (t1 + 1/298)- 273 |
60 | where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255)) | 60 | where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255)) |
61 | Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively. | 61 | Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively. |
diff --git a/Documentation/hwmon/max1619 b/Documentation/hwmon/max1619 index d6f8d9cd7d7f..e6d87398cc8f 100644 --- a/Documentation/hwmon/max1619 +++ b/Documentation/hwmon/max1619 | |||
@@ -9,7 +9,7 @@ Supported chips: | |||
9 | http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf | 9 | http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf |
10 | 10 | ||
11 | Authors: | 11 | Authors: |
12 | Alexey Fisher <fishor@mail.ru>, | 12 | Oleksij Rempel <bug-track@fisher-privat.net>, |
13 | Jean Delvare <khali@linux-fr.org> | 13 | Jean Delvare <khali@linux-fr.org> |
14 | 14 | ||
15 | Description | 15 | Description |
diff --git a/Documentation/hwmon/twl4030-madc-hwmon b/Documentation/hwmon/twl4030-madc-hwmon index ef7984317cec..c3a3a5be10ad 100644 --- a/Documentation/hwmon/twl4030-madc-hwmon +++ b/Documentation/hwmon/twl4030-madc-hwmon | |||
@@ -41,5 +41,5 @@ Channel Signal | |||
41 | 41 | ||
42 | The Sysfs nodes will represent the voltage in the units of mV, | 42 | The Sysfs nodes will represent the voltage in the units of mV, |
43 | the temperature channel shows the converted temperature in | 43 | the temperature channel shows the converted temperature in |
44 | degree celcius. The Battery charging current channel represents | 44 | degree Celsius. The Battery charging current channel represents |
45 | battery charging current in mA. | 45 | battery charging current in mA. |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index f777fa96243d..e2ed3360b708 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1730,6 +1730,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1730 | will be autodetected by the client, and it will fall | 1730 | will be autodetected by the client, and it will fall |
1731 | back to using the idmapper. | 1731 | back to using the idmapper. |
1732 | To turn off this behaviour, set the value to '0'. | 1732 | To turn off this behaviour, set the value to '0'. |
1733 | nfs.nfs4_unique_id= | ||
1734 | [NFS4] Specify an additional fixed unique ident- | ||
1735 | ification string that NFSv4 clients can insert into | ||
1736 | their nfs_client_id4 string. This is typically a | ||
1737 | UUID that is generated at system install time. | ||
1733 | 1738 | ||
1734 | nfs.send_implementation_id = | 1739 | nfs.send_implementation_id = |
1735 | [NFSv4.1] Send client implementation identification | 1740 | [NFSv4.1] Send client implementation identification |
diff --git a/Documentation/leds/leds-lp5523.txt b/Documentation/leds/leds-lp5523.txt index fad2feb8b7ce..c2743f59f9ac 100644 --- a/Documentation/leds/leds-lp5523.txt +++ b/Documentation/leds/leds-lp5523.txt | |||
@@ -10,8 +10,22 @@ Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) | |||
10 | Description | 10 | Description |
11 | ----------- | 11 | ----------- |
12 | LP5523 can drive up to 9 channels. Leds can be controlled directly via | 12 | LP5523 can drive up to 9 channels. Leds can be controlled directly via |
13 | the led class control interface. Channels have generic names: | 13 | the led class control interface. |
14 | lp5523:channelx where x is 0...8 | 14 | The name of each channel is configurable in the platform data - name and label. |
15 | There are three options to make the channel name. | ||
16 | |||
17 | a) Define the 'name' in the platform data | ||
18 | To make specific channel name, then use 'name' platform data. | ||
19 | /sys/class/leds/R1 (name: 'R1') | ||
20 | /sys/class/leds/B1 (name: 'B1') | ||
21 | |||
22 | b) Use the 'label' with no 'name' field | ||
23 | For one device name with channel number, then use 'label'. | ||
24 | /sys/class/leds/RGB:channelN (label: 'RGB', N: 0 ~ 8) | ||
25 | |||
26 | c) Default | ||
27 | If both fields are NULL, 'lp5523' is used by default. | ||
28 | /sys/class/leds/lp5523:channelN (N: 0 ~ 8) | ||
15 | 29 | ||
16 | The chip provides 3 engines. Each engine can control channels without | 30 | The chip provides 3 engines. Each engine can control channels without |
17 | interaction from the main CPU. Details of the micro engine code can be found | 31 | interaction from the main CPU. Details of the micro engine code can be found |
@@ -46,12 +60,13 @@ Note - chan_nr can have values between 0 and 8. | |||
46 | 60 | ||
47 | static struct lp5523_led_config lp5523_led_config[] = { | 61 | static struct lp5523_led_config lp5523_led_config[] = { |
48 | { | 62 | { |
63 | .name = "D1", | ||
49 | .chan_nr = 0, | 64 | .chan_nr = 0, |
50 | .led_current = 50, | 65 | .led_current = 50, |
51 | .max_current = 130, | 66 | .max_current = 130, |
52 | }, | 67 | }, |
53 | ... | 68 | ... |
54 | }, { | 69 | { |
55 | .chan_nr = 8, | 70 | .chan_nr = 8, |
56 | .led_current = 50, | 71 | .led_current = 50, |
57 | .max_current = 130, | 72 | .max_current = 130, |
diff --git a/Documentation/percpu-rw-semaphore.txt b/Documentation/percpu-rw-semaphore.txt new file mode 100644 index 000000000000..7d3c82431909 --- /dev/null +++ b/Documentation/percpu-rw-semaphore.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Percpu rw semaphores | ||
2 | -------------------- | ||
3 | |||
4 | Percpu rw semaphores is a new read-write semaphore design that is | ||
5 | optimized for locking for reading. | ||
6 | |||
7 | The problem with traditional read-write semaphores is that when multiple | ||
8 | cores take the lock for reading, the cache line containing the semaphore | ||
9 | is bouncing between L1 caches of the cores, causing performance | ||
10 | degradation. | ||
11 | |||
12 | Locking for reading is very fast, it uses RCU and it avoids any atomic | ||
13 | instruction in the lock and unlock path. On the other hand, locking for | ||
14 | writing is very expensive, it calls synchronize_rcu() that can take | ||
15 | hundreds of milliseconds. | ||
16 | |||
17 | The lock is declared with "struct percpu_rw_semaphore" type. | ||
18 | The lock is initialized percpu_init_rwsem, it returns 0 on success and | ||
19 | -ENOMEM on allocation failure. | ||
20 | The lock must be freed with percpu_free_rwsem to avoid memory leak. | ||
21 | |||
22 | The lock is locked for read with percpu_down_read, percpu_up_read and | ||
23 | for write with percpu_down_write, percpu_up_write. | ||
24 | |||
25 | The idea of using RCU for optimized rw-lock was introduced by | ||
26 | Eric Dumazet <eric.dumazet@gmail.com>. | ||
27 | The code was written by Mikulas Patocka <mpatocka@redhat.com> | ||
diff --git a/Documentation/pwm.txt b/Documentation/pwm.txt index 554290ebab94..7d2b4c9b544b 100644 --- a/Documentation/pwm.txt +++ b/Documentation/pwm.txt | |||
@@ -36,7 +36,8 @@ Legacy users can request a PWM device using pwm_request() and free it | |||
36 | after usage with pwm_free(). | 36 | after usage with pwm_free(). |
37 | 37 | ||
38 | New users should use the pwm_get() function and pass to it the consumer | 38 | New users should use the pwm_get() function and pass to it the consumer |
39 | device or a consumer name. pwm_put() is used to free the PWM device. | 39 | device or a consumer name. pwm_put() is used to free the PWM device. Managed |
40 | variants of these functions, devm_pwm_get() and devm_pwm_put(), also exist. | ||
40 | 41 | ||
41 | After being requested a PWM has to be configured using: | 42 | After being requested a PWM has to be configured using: |
42 | 43 | ||
diff --git a/Documentation/target/tcm_mod_builder.py b/Documentation/target/tcm_mod_builder.py index a78879b01f09..3fe0d812dcec 100755 --- a/Documentation/target/tcm_mod_builder.py +++ b/Documentation/target/tcm_mod_builder.py | |||
@@ -402,8 +402,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name): | |||
402 | buf += " .queue_data_in = " + fabric_mod_name + "_queue_data_in,\n" | 402 | buf += " .queue_data_in = " + fabric_mod_name + "_queue_data_in,\n" |
403 | buf += " .queue_status = " + fabric_mod_name + "_queue_status,\n" | 403 | buf += " .queue_status = " + fabric_mod_name + "_queue_status,\n" |
404 | buf += " .queue_tm_rsp = " + fabric_mod_name + "_queue_tm_rsp,\n" | 404 | buf += " .queue_tm_rsp = " + fabric_mod_name + "_queue_tm_rsp,\n" |
405 | buf += " .get_fabric_sense_len = " + fabric_mod_name + "_get_fabric_sense_len,\n" | ||
406 | buf += " .set_fabric_sense_len = " + fabric_mod_name + "_set_fabric_sense_len,\n" | ||
407 | buf += " .is_state_remove = " + fabric_mod_name + "_is_state_remove,\n" | 405 | buf += " .is_state_remove = " + fabric_mod_name + "_is_state_remove,\n" |
408 | buf += " /*\n" | 406 | buf += " /*\n" |
409 | buf += " * Setup function pointers for generic logic in target_core_fabric_configfs.c\n" | 407 | buf += " * Setup function pointers for generic logic in target_core_fabric_configfs.c\n" |
@@ -906,20 +904,6 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name): | |||
906 | buf += "}\n\n" | 904 | buf += "}\n\n" |
907 | bufi += "int " + fabric_mod_name + "_queue_tm_rsp(struct se_cmd *);\n" | 905 | bufi += "int " + fabric_mod_name + "_queue_tm_rsp(struct se_cmd *);\n" |
908 | 906 | ||
909 | if re.search('get_fabric_sense_len\)\(', fo): | ||
910 | buf += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void)\n" | ||
911 | buf += "{\n" | ||
912 | buf += " return 0;\n" | ||
913 | buf += "}\n\n" | ||
914 | bufi += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void);\n" | ||
915 | |||
916 | if re.search('set_fabric_sense_len\)\(', fo): | ||
917 | buf += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *se_cmd, u32 sense_length)\n" | ||
918 | buf += "{\n" | ||
919 | buf += " return 0;\n" | ||
920 | buf += "}\n\n" | ||
921 | bufi += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *, u32);\n" | ||
922 | |||
923 | if re.search('is_state_remove\)\(', fo): | 907 | if re.search('is_state_remove\)\(', fo): |
924 | buf += "int " + fabric_mod_name + "_is_state_remove(struct se_cmd *se_cmd)\n" | 908 | buf += "int " + fabric_mod_name + "_is_state_remove(struct se_cmd *se_cmd)\n" |
925 | buf += "{\n" | 909 | buf += "{\n" |
diff --git a/Documentation/video4linux/v4l2-controls.txt b/Documentation/video4linux/v4l2-controls.txt index 54270df99d5c..cfe52c798d74 100644 --- a/Documentation/video4linux/v4l2-controls.txt +++ b/Documentation/video4linux/v4l2-controls.txt | |||
@@ -136,11 +136,25 @@ Or alternatively for integer menu controls, by calling v4l2_ctrl_new_int_menu: | |||
136 | const struct v4l2_ctrl_ops *ops, | 136 | const struct v4l2_ctrl_ops *ops, |
137 | u32 id, s32 max, s32 def, const s64 *qmenu_int); | 137 | u32 id, s32 max, s32 def, const s64 *qmenu_int); |
138 | 138 | ||
139 | Standard menu controls with a driver specific menu are added by calling | ||
140 | v4l2_ctrl_new_std_menu_items: | ||
141 | |||
142 | struct v4l2_ctrl *v4l2_ctrl_new_std_menu_items( | ||
143 | struct v4l2_ctrl_handler *hdl, | ||
144 | const struct v4l2_ctrl_ops *ops, u32 id, s32 max, | ||
145 | s32 skip_mask, s32 def, const char * const *qmenu); | ||
146 | |||
139 | These functions are typically called right after the v4l2_ctrl_handler_init: | 147 | These functions are typically called right after the v4l2_ctrl_handler_init: |
140 | 148 | ||
141 | static const s64 exp_bias_qmenu[] = { | 149 | static const s64 exp_bias_qmenu[] = { |
142 | -2, -1, 0, 1, 2 | 150 | -2, -1, 0, 1, 2 |
143 | }; | 151 | }; |
152 | static const char * const test_pattern[] = { | ||
153 | "Disabled", | ||
154 | "Vertical Bars", | ||
155 | "Solid Black", | ||
156 | "Solid White", | ||
157 | }; | ||
144 | 158 | ||
145 | v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls); | 159 | v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls); |
146 | v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops, | 160 | v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops, |
@@ -156,6 +170,9 @@ These functions are typically called right after the v4l2_ctrl_handler_init: | |||
156 | ARRAY_SIZE(exp_bias_qmenu) - 1, | 170 | ARRAY_SIZE(exp_bias_qmenu) - 1, |
157 | ARRAY_SIZE(exp_bias_qmenu) / 2 - 1, | 171 | ARRAY_SIZE(exp_bias_qmenu) / 2 - 1, |
158 | exp_bias_qmenu); | 172 | exp_bias_qmenu); |
173 | v4l2_ctrl_new_std_menu_items(&foo->ctrl_handler, &foo_ctrl_ops, | ||
174 | V4L2_CID_TEST_PATTERN, ARRAY_SIZE(test_pattern) - 1, 0, | ||
175 | 0, test_pattern); | ||
159 | ... | 176 | ... |
160 | if (foo->ctrl_handler.error) { | 177 | if (foo->ctrl_handler.error) { |
161 | int err = foo->ctrl_handler.error; | 178 | int err = foo->ctrl_handler.error; |
@@ -185,6 +202,13 @@ v4l2_ctrl_new_std_menu in that it doesn't have the mask argument and takes | |||
185 | as the last argument an array of signed 64-bit integers that form an exact | 202 | as the last argument an array of signed 64-bit integers that form an exact |
186 | menu item list. | 203 | menu item list. |
187 | 204 | ||
205 | The v4l2_ctrl_new_std_menu_items function is very similar to | ||
206 | v4l2_ctrl_new_std_menu but takes an extra parameter qmenu, which is the driver | ||
207 | specific menu for an otherwise standard menu control. A good example for this | ||
208 | control is the test pattern control for capture/display/sensors devices that | ||
209 | have the capability to generate test patterns. These test patterns are hardware | ||
210 | specific, so the contents of the menu will vary from device to device. | ||
211 | |||
188 | Note that if something fails, the function will return NULL or an error and | 212 | Note that if something fails, the function will return NULL or an error and |
189 | set ctrl_handler->error to the error code. If ctrl_handler->error was already | 213 | set ctrl_handler->error to the error code. If ctrl_handler->error was already |
190 | set, then it will just return and do nothing. This is also true for | 214 | set, then it will just return and do nothing. This is also true for |
diff --git a/Documentation/virtual/uml/UserModeLinux-HOWTO.txt b/Documentation/virtual/uml/UserModeLinux-HOWTO.txt index 77dfecf4e2d6..a5f8436753e7 100644 --- a/Documentation/virtual/uml/UserModeLinux-HOWTO.txt +++ b/Documentation/virtual/uml/UserModeLinux-HOWTO.txt | |||
@@ -3591,7 +3591,7 @@ | |||
3591 | 3591 | ||
3592 | 3592 | ||
3593 | Looking at the source shows that the fault happened during a call to | 3593 | Looking at the source shows that the fault happened during a call to |
3594 | copy_to_user to copy the data into the kernel: | 3594 | copy_from_user to copy the data into the kernel: |
3595 | 3595 | ||
3596 | 3596 | ||
3597 | 107 count -= chars; | 3597 | 107 count -= chars; |