- support for EX-G M-XGL20DLBK device, from YOSHIOKA Takuma
Unified · Split
| @@ -429,6 +429,7 @@ ForEachMacros: · 428 unmodified lines | ||
| 429 | 429 | - 'rbtree_postorder_for_each_entry_safe' |
| 430 | 430 | - 'rdma_for_each_block' |
| 431 | 431 | - 'rdma_for_each_port' |
| 432 | + - 'rdma_umem_for_each_dma_block' | |
| 432 | 433 | - 'resource_list_for_each_entry' |
| 433 | 434 | - 'resource_list_for_each_entry_safe' |
| 434 | 435 | - 'rhl_for_each_entry_rcu' |
| @@ -82,7 +82,10 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com> · 81 unmodified lines | ||
| 82 | 82 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com> |
| 83 | 83 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com> |
| 84 | 84 | <dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be> |
| 85 | −Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | |
| 85 | +Dmitry Baryshkov <dbaryshkov@gmail.com> | |
| 86 | +Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]> | |
| 87 | +Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com> | |
| 88 | +Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com> | |
| 86 | 89 | Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com> |
| 87 | 90 | Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com> |
| 88 | 91 | Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com> |
| @@ -133,6 +136,7 @@ James Ketrenos <jketreno@io.(none)> · 44 unmodified lines | ||
| 133 | 136 | Jan Glauber <jan.glauber@gmail.com> <jang@de.ibm.com> |
| 134 | 137 | Jan Glauber <jan.glauber@gmail.com> <jang@linux.vnet.ibm.com> |
| 135 | 138 | Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com> |
| 139 | +Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@linux.intel.com> | |
| 136 | 140 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com> |
| 137 | 141 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com> |
| 138 | 142 | Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com> |
| @@ -98,7 +98,7 @@ N: Erik Andersen · 97 unmodified lines | ||
| 98 | 98 | E: andersen@codepoet.org |
| 99 | 99 | W: https://www.codepoet.org/ |
| 100 | 100 | P: 1024D/30D39057 1BC4 2742 E885 E4DE 9301 0C82 5F9B 643E 30D3 9057 |
| 101 | −D: Maintainer of ide-cd and Uniform CD-ROM driver, | |
| 101 | +D: Maintainer of ide-cd and Uniform CD-ROM driver, | |
| 102 | 102 | D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update. |
| 103 | 103 | S: 352 North 525 East |
| 104 | 104 | S: Springville, Utah 84663 |
| @@ -191,6 +191,10 @@ N: Krishna Balasubramanian · 86 unmodified lines | ||
| 191 | 191 | E: balasub@cis.ohio-state.edu |
| 192 | 192 | D: Wrote SYS V IPC (part of standard kernel since 0.99.10) |
| 193 | 193 | |
| 194 | +B: Robert Baldyga | |
| 195 | +E: r.baldyga@hackerion.com | |
| 196 | +D: Samsung S3FWRN5 NCI NFC Controller | |
| 197 | + | |
| 194 | 198 | N: Chris Ball |
| 195 | 199 | E: chris@printf.net |
| 196 | 200 | D: Former maintainer of the MMC/SD/SDIO subsystem. |
| @@ -259,7 +263,7 @@ N: Paul Barton-Davis · 62 unmodified lines | ||
| 259 | 263 | E: pbd@op.net |
| 260 | 264 | D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+) |
| 261 | 265 | D: Various bugfixes and changes to sound drivers |
| 262 | −S: USA | |
| 266 | +S: USA | |
| 263 | 267 | |
| 264 | 268 | N: Carlos Henrique Bauer |
| 265 | 269 | E: chbauer@acm.org |
| @@ -845,6 +849,12 @@ D: trivial hack to add variable address length routing to Rose. · 579 unmodified lines | ||
| 845 | 849 | D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO |
| 846 | 850 | D: ax25-utils maintainer. |
| 847 | 851 | |
| 852 | +N: Kamil Debski | |
| 853 | +E: kamil@wypas.org | |
| 854 | +D: Samsung S5P 2D graphics acceleration and Multi Format Codec drivers | |
| 855 | +D: Samsung USB2 phy drivers | |
| 856 | +D: PWM fan driver | |
| 857 | + | |
| 848 | 858 | N: Helge Deller |
| 849 | 859 | E: deller@gmx.de |
| 850 | 860 | W: http://www.parisc-linux.org/ |
| @@ -1195,7 +1205,7 @@ N: Daniel J. Frasnelli · 344 unmodified lines | ||
| 1195 | 1205 | E: dfrasnel@alphalinux.org |
| 1196 | 1206 | W: http://www.alphalinux.org/ |
| 1197 | 1207 | P: 1024/3EF87611 B9 F1 44 50 D3 E8 C2 80 DA E5 55 AA 56 7C 42 DA |
| 1198 | −D: DEC Alpha hacker | |
| 1208 | +D: DEC Alpha hacker | |
| 1199 | 1209 | D: Miscellaneous bug squisher |
| 1200 | 1210 | |
| 1201 | 1211 | N: Jim Freeman |
| @@ -1295,7 +1305,7 @@ S: P.O. Box 76, Epping · 93 unmodified lines | ||
| 1295 | 1305 | S: New South Wales, 2121 |
| 1296 | 1306 | S: Australia |
| 1297 | 1307 | |
| 1298 | −N: Carlos E. Gorges | |
| 1308 | +N: Carlos E. Gorges | |
| 1299 | 1309 | E: carlos@techlinux.com.br |
| 1300 | 1310 | D: fix smp support on cmpci driver |
| 1301 | 1311 | P: 2048G/EA3C4B19 FF31 33A6 0362 4915 B7EB E541 17D0 0379 EA3C 4B19 |
| @@ -1336,7 +1346,7 @@ E: wgreathouse@smva.com · 34 unmodified lines | ||
| 1336 | 1346 | E: wgreathouse@myfavoritei.com |
| 1337 | 1347 | D: Current Belkin USB Serial Adapter F5U103 hacker |
| 1338 | 1348 | D: Kernel hacker, embedded systems |
| 1339 | −S: 7802 Fitzwater Road | |
| 1349 | +S: 7802 Fitzwater Road | |
| 1340 | 1350 | S: Brecksville, OH 44141-1334 |
| 1341 | 1351 | S: USA |
| 1342 | 1352 | |
| @@ -1377,7 +1387,7 @@ N: Grant Guenther · 34 unmodified lines | ||
| 1377 | 1387 | E: grant@torque.net |
| 1378 | 1388 | W: http://www.torque.net/linux-pp.html |
| 1379 | 1389 | D: original author of ppa driver for parallel port ZIP drive |
| 1380 | −D: original architect of the parallel-port sharing scheme | |
| 1390 | +D: original architect of the parallel-port sharing scheme | |
| 1381 | 1391 | D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices |
| 1382 | 1392 | S: 44 St. Joseph Street, Suite 506 |
| 1383 | 1393 | S: Toronto, Ontario, M4Y 2W4 |
| @@ -1519,7 +1529,7 @@ N: Benjamin Herrenschmidt · 135 unmodified lines | ||
| 1519 | 1529 | E: benh@kernel.crashing.org |
| 1520 | 1530 | D: Various parts of PPC/PPC64 & PowerMac |
| 1521 | 1531 | S: 312/107 Canberra Avenue |
| 1522 | −S: Griffith, ACT 2603 | |
| 1532 | +S: Griffith, ACT 2603 | |
| 1523 | 1533 | S: Australia |
| 1524 | 1534 | |
| 1525 | 1535 | N: Andreas Herrmann |
| @@ -1821,7 +1831,7 @@ S: Hungary · 295 unmodified lines | ||
| 1821 | 1831 | N: Bernhard Kaindl |
| 1822 | 1832 | E: bkaindl@netway.at |
| 1823 | 1833 | E: edv@bartelt.via.at |
| 1824 | −D: Author of a menu based configuration tool, kmenu, which | |
| 1834 | +D: Author of a menu based configuration tool, kmenu, which | |
| 1825 | 1835 | D: is the predecessor of 'make menuconfig' and 'make xconfig'. |
| 1826 | 1836 | D: digiboard driver update(modularisation work and 2.1.x upd) |
| 1827 | 1837 | S: Tallak 95 |
| @@ -1906,6 +1916,15 @@ S: 660 Harvard Ave. #7 · 78 unmodified lines | ||
| 1906 | 1916 | S: Santa Clara, CA 95051 |
| 1907 | 1917 | S: USA |
| 1908 | 1918 | |
| 1919 | +N: Kukjin Kim | |
| 1920 | +E: kgene@kernel.org | |
| 1921 | +D: Samsung S3C, S5P and Exynos ARM architectures | |
| 1922 | + | |
| 1923 | +N: Sangbeom Kim | |
| 1924 | +E: sbkim73@samsung.com | |
| 1925 | +D: Samsung SoC Audio (ASoC) drivers | |
| 1926 | +D: Samsung PMIC (RTC, regulators, MFD) drivers | |
| 1927 | + | |
| 1909 | 1928 | N: Russell King |
| 1910 | 1929 | E: rmk@arm.linux.org.uk |
| 1911 | 1930 | D: Linux/arm integrator, maintainer & hacker |
| @@ -2003,7 +2022,7 @@ W: http://www.xos.nl/ · 91 unmodified lines | ||
| 2003 | 2022 | D: IP transparent proxy support |
| 2004 | 2023 | S: X/OS Experts in Open Systems BV |
| 2005 | 2024 | S: Kruislaan 419 |
| 2006 | −S: 1098 VA Amsterdam | |
| 2025 | +S: 1098 VA Amsterdam | |
| 2007 | 2026 | S: The Netherlands |
| 2008 | 2027 | |
| 2009 | 2028 | N: Goran Koruga |
| @@ -2075,7 +2094,7 @@ S: Germany · 65 unmodified lines | ||
| 2075 | 2094 | |
| 2076 | 2095 | N: Andrzej M. Krzysztofowicz |
| 2077 | 2096 | E: ankry@mif.pg.gda.pl |
| 2078 | −D: Some 8-bit XT disk driver and devfs hacking | |
| 2097 | +D: Some 8-bit XT disk driver and devfs hacking | |
| 2079 | 2098 | D: Aladdin 1533/1543(C) chipset IDE |
| 2080 | 2099 | D: PIIX chipset IDE |
| 2081 | 2100 | S: ul. Matemblewska 1B/10 |
| @@ -2450,7 +2469,7 @@ E: mge@EZ-Darmstadt.Telekom.de · 368 unmodified lines | ||
| 2450 | 2469 | D: Logical Volume Manager |
| 2451 | 2470 | S: Bartningstr. 12 |
| 2452 | 2471 | S: 64289 Darmstadt |
| 2453 | −S: Germany | |
| 2472 | +S: Germany | |
| 2454 | 2473 | |
| 2455 | 2474 | N: Mark W. McClelland |
| 2456 | 2475 | E: mmcclell@bigfoot.com |
| @@ -2534,7 +2553,7 @@ E: meskes@debian.org · 77 unmodified lines | ||
| 2534 | 2553 | P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D |
| 2535 | 2554 | D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon. |
| 2536 | 2555 | D: Maintainer of several Debian packages |
| 2537 | −S: Th.-Heuss-Str. 61 | |
| 2556 | +S: Th.-Heuss-Str. 61 | |
| 2538 | 2557 | S: D-41812 Erkelenz |
| 2539 | 2558 | S: Germany |
| 2540 | 2559 | |
| @@ -2772,7 +2791,7 @@ E: neuffer@goofy.zdv.uni-mainz.de · 231 unmodified lines | ||
| 2772 | 2791 | W: http://www.i-Connect.Net/~mike/ |
| 2773 | 2792 | D: Developer and maintainer of the EATA-DMA SCSI driver |
| 2774 | 2793 | D: Co-developer EATA-PIO SCSI driver |
| 2775 | −D: /proc/scsi and assorted other snippets | |
| 2794 | +D: /proc/scsi and assorted other snippets | |
| 2776 | 2795 | S: Zum Schiersteiner Grund 2 |
| 2777 | 2796 | S: 55127 Mainz |
| 2778 | 2797 | S: Germany |
| @@ -2839,6 +2858,10 @@ D: IPX development and support · 60 unmodified lines | ||
| 2839 | 2858 | N: Venkatesh Pallipadi (Venki) |
| 2840 | 2859 | D: x86/HPET |
| 2841 | 2860 | |
| 2861 | +N: Kyungmin Park | |
| 2862 | +E: kyungmin.park@samsung.com | |
| 2863 | +D: Samsung S5Pv210 and Exynos4210 mobile platforms | |
| 2864 | + | |
| 2842 | 2865 | N: David Parsons |
| 2843 | 2866 | E: orc@pell.chi.il.us |
| 2844 | 2867 | D: improved memory detection code. |
| @@ -3006,7 +3029,7 @@ D: Embedded PowerPC 4xx/6xx/7xx/74xx support · 161 unmodified lines | ||
| 3006 | 3029 | S: Chandler, Arizona 85249 |
| 3007 | 3030 | S: USA |
| 3008 | 3031 | |
| 3009 | −N: Frederic Potter | |
| 3032 | +N: Frederic Potter | |
| 3010 | 3033 | E: fpotter@cirpack.com |
| 3011 | 3034 | D: Some PCI kernel support |
| 3012 | 3035 | |
| @@ -3439,21 +3462,21 @@ S: Klosterweg 28 / i309 · 426 unmodified lines | ||
| 3439 | 3462 | S: 76131 Karlsruhe |
| 3440 | 3463 | S: Germany |
| 3441 | 3464 | |
| 3442 | −N: James Simmons | |
| 3465 | +N: James Simmons | |
| 3443 | 3466 | E: jsimmons@infradead.org |
| 3444 | −E: jsimmons@users.sf.net | |
| 3467 | +E: jsimmons@users.sf.net | |
| 3445 | 3468 | D: Frame buffer device maintainer |
| 3446 | 3469 | D: input layer development |
| 3447 | 3470 | D: tty/console layer |
| 3448 | −D: various mipsel devices | |
| 3449 | −S: 115 Carmel Avenue | |
| 3471 | +D: various mipsel devices | |
| 3472 | +S: 115 Carmel Avenue | |
| 3450 | 3473 | S: El Cerrito CA 94530 |
| 3451 | −S: USA | |
| 3474 | +S: USA | |
| 3452 | 3475 | |
| 3453 | 3476 | N: Jaspreet Singh |
| 3454 | 3477 | E: jaspreet@sangoma.com |
| 3455 | 3478 | W: www.sangoma.com |
| 3456 | −D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards | |
| 3479 | +D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards | |
| 3457 | 3480 | S: Sangoma Technologies Inc., |
| 3458 | 3481 | S: 1001 Denison Street |
| 3459 | 3482 | S: Suite 101 |
| @@ -3477,7 +3500,7 @@ N: Craig Small · 17 unmodified lines | ||
| 3477 | 3500 | E: csmall@triode.apana.org.au |
| 3478 | 3501 | E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio) |
| 3479 | 3502 | D: Gracilis PackeTwin device driver |
| 3480 | −D: RSPF daemon | |
| 3503 | +D: RSPF daemon | |
| 3481 | 3504 | S: 10 Stockalls Place |
| 3482 | 3505 | S: Minto, NSW, 2566 |
| 3483 | 3506 | S: Australia |
| @@ -3687,7 +3710,7 @@ N: Tsu-Sheng Tsao · 203 unmodified lines | ||
| 3687 | 3710 | E: tsusheng@scf.usc.edu |
| 3688 | 3711 | D: IGMP(Internet Group Management Protocol) version 2 |
| 3689 | 3712 | S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD |
| 3690 | −S: Taipei | |
| 3713 | +S: Taipei | |
| 3691 | 3714 | S: Taiwan 112 |
| 3692 | 3715 | S: Republic of China |
| 3693 | 3716 | S: 24335 Delta Drive |
| @@ -3848,7 +3871,7 @@ D: Produced the Slackware distribution, updated the SVGAlib · 154 unmodified lines | ||
| 3848 | 3871 | D: patches for ghostscript, worked on color 'ls', etc. |
| 3849 | 3872 | S: 301 15th Street S. |
| 3850 | 3873 | S: Moorhead, Minnesota 56560 |
| 3851 | −S: USA | |
| 3874 | +S: USA | |
| 3852 | 3875 | |
| 3853 | 3876 | N: Jos Vos |
| 3854 | 3877 | E: jos@xos.nl |
| @@ -3856,7 +3879,7 @@ W: http://www.xos.nl/ · 1 unmodified line | ||
| 3856 | 3879 | D: Various IP firewall updates, ipfwadm |
| 3857 | 3880 | S: X/OS Experts in Open Systems BV |
| 3858 | 3881 | S: Kruislaan 419 |
| 3859 | −S: 1098 VA Amsterdam | |
| 3882 | +S: 1098 VA Amsterdam | |
| 3860 | 3883 | S: The Netherlands |
| 3861 | 3884 | |
| 3862 | 3885 | N: Jeroen Vreeken |
| @@ -4094,7 +4117,7 @@ S: People's Repulic of China · 231 unmodified lines | ||
| 4094 | 4117 | N: Victor Yodaiken |
| 4095 | 4118 | E: yodaiken@fsmlabs.com |
| 4096 | 4119 | D: RTLinux (RealTime Linux) |
| 4097 | −S: POB 1822 | |
| 4120 | +S: POB 1822 | |
| 4098 | 4121 | S: Socorro NM, 87801 |
| 4099 | 4122 | S: USA |
| 4100 | 4123 | |
| @@ -4192,7 +4215,7 @@ D: EISA/sysfs subsystem · 91 unmodified lines | ||
| 4192 | 4215 | S: France |
| 4193 | 4216 | |
| 4194 | 4217 | # Don't add your name here, unless you really _are_ after Marc |
| 4195 | −# alphabetically. Leonard used to be very proud of being the | |
| 4218 | +# alphabetically. Leonard used to be very proud of being the | |
| 4196 | 4219 | # last entry, and he'll get positively pissed if he can't even |
| 4197 | 4220 | # be second-to-last. (and this file really _is_ supposed to be |
| 4198 | 4221 | # in alphabetic order) |
| @@ -32,7 +32,7 @@ The different levels of stability are: · 31 unmodified lines | ||
| 32 | 32 | layout of the files below for details on how to do this.) |
| 33 | 33 | |
| 34 | 34 | obsolete/ |
| 35 | − This directory documents interfaces that are still remaining in | |
| 35 | + This directory documents interfaces that are still remaining in | |
| 36 | 36 | the kernel, but are marked to be removed at some later point in |
| 37 | 37 | time. The description of the interface will document the reason |
| 38 | 38 | why it is obsolete and when it can be expected to be removed. |
| @@ -58,6 +58,14 @@ Users: All users of this interface who wish to be notified when · 19 unmodified lines | ||
| 58 | 58 | be changed further. |
| 59 | 59 | |
| 60 | 60 | |
| 61 | +Note: | |
| 62 | + The fields should be use a simple notation, compatible with ReST markup. | |
| 63 | + Also, the file **should not** have a top-level index, like:: | |
| 64 | + | |
| 65 | + === | |
| 66 | + foo | |
| 67 | + === | |
| 68 | + | |
| 61 | 69 | How things move between levels: |
| 62 | 70 | |
| 63 | 71 | Interfaces in stable may move to obsolete, as long as the proper |
| @@ -8,11 +8,11 @@ Description: Device DAX is the device-centric analogue of Filesystem · 7 unmodified lines | ||
| 8 | 8 | system. Device DAX is strict, precise and predictable. |
| 9 | 9 | Specifically this interface: |
| 10 | 10 | |
| 11 | − 1/ Guarantees fault granularity with respect to a given | |
| 12 | − page size (pte, pmd, or pud) set at configuration time. | |
| 11 | + 1. Guarantees fault granularity with respect to a given | |
| 12 | + page size (pte, pmd, or pud) set at configuration time. | |
| 13 | 13 | |
| 14 | − 2/ Enforces deterministic behavior by being strict about | |
| 15 | − what fault scenarios are supported. | |
| 14 | + 2. Enforces deterministic behavior by being strict about | |
| 15 | + what fault scenarios are supported. | |
| 16 | 16 | |
| 17 | 17 | The /sys/class/dax/ interface enumerates all the |
| 18 | 18 | device-dax instances in the system. The ABI is |
| @@ -7,10 +7,13 @@ Description: It is possible to switch the cpi setting of the mouse with the · 6 unmodified lines | ||
| 7 | 7 | setting reported by the mouse. This number has to be further |
| 8 | 8 | processed to receive the real dpi value: |
| 9 | 9 | |
| 10 | + ===== ==== | |
| 10 | 11 | VALUE DPI |
| 12 | + ===== ==== | |
| 11 | 13 | 1 400 |
| 12 | 14 | 2 800 |
| 13 | 15 | 4 1600 |
| 16 | + ===== ==== | |
| 14 | 17 | |
| 15 | 18 | This file is readonly. |
| 16 | 19 | Has never been used. If bookkeeping is done, it's done in userland tools. |
| @@ -13,6 +13,8 @@ Description: · 12 unmodified lines | ||
| 13 | 13 | GPIOs are identified as they are inside the kernel, using integers in |
| 14 | 14 | the range 0..INT_MAX. See Documentation/admin-guide/gpio for more information. |
| 15 | 15 | |
| 16 | + :: | |
| 17 | + | |
| 16 | 18 | /sys/class/gpio |
| 17 | 19 | /export ... asks the kernel to export a GPIO to userspace |
| 18 | 20 | /unexport ... to return a GPIO to the kernel |
| @@ -5,6 +5,7 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | devfs has been unmaintained for a number of years, has unfixable |
| 6 | 6 | races, contains a naming policy within the kernel that is |
| 7 | 7 | against the LSB, and can be replaced by using udev. |
| 8 | + | |
| 8 | 9 | The files fs/devfs/*, include/linux/devfs_fs*.h were removed, |
| 9 | 10 | along with the assorted devfs function calls throughout the |
| 10 | 11 | kernel tree. |
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | to implement sensible device security policies, and its low level |
| 8 | 8 | of abstraction that required userspace clients to duplicate much |
| 9 | 9 | of the kernel's ieee1394 core functionality. |
| 10 | + | |
| 10 | 11 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of |
| 11 | 12 | firewire-core. |
| 12 | 13 | |
| @@ -10,4 +10,4 @@ Description: This file was deprecated because there no longer was a way to · 9 unmodified lines | ||
| 10 | 10 | claim just control over a single rfkill instance. |
| 11 | 11 | This file was scheduled to be removed in 2012, and was removed |
| 12 | 12 | in 2016. |
| 13 | −Values: 0: Kernel handles events | |
| 13 | +Values: 0: Kernel handles events | |
| @@ -8,6 +8,7 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | performance issues in its first generation. Any video1394 user had |
| 9 | 9 | to use raw1394 + libraw1394 too because video1394 did not provide |
| 10 | 10 | asynchronous I/O for device discovery and configuration. |
| 11 | + | |
| 11 | 12 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of |
| 12 | 13 | firewire-core. |
| 13 | 14 | |
| @@ -14,13 +14,17 @@ Description: · 13 unmodified lines | ||
| 14 | 14 | Each /dev/fw* is associated with one IEEE 1394 node, which can |
| 15 | 15 | be remote or local nodes. Operations on a /dev/fw* file have |
| 16 | 16 | different scope: |
| 17 | + | |
| 17 | 18 | - The 1394 node which is associated with the file: |
| 19 | + | |
| 18 | 20 | - Asynchronous request transmission |
| 19 | 21 | - Get the Configuration ROM |
| 20 | 22 | - Query node ID |
| 21 | 23 | - Query maximum speed of the path between this node |
| 22 | 24 | and local node |
| 25 | + | |
| 23 | 26 | - The 1394 bus (i.e. "card") to which the node is attached to: |
| 27 | + | |
| 24 | 28 | - Isochronous stream transmission and reception |
| 25 | 29 | - Asynchronous stream transmission and reception |
| 26 | 30 | - Asynchronous broadcast request transmission |
| @@ -31,7 +35,9 @@ Description: · 4 unmodified lines | ||
| 31 | 35 | manager |
| 32 | 36 | - Query cycle time |
| 33 | 37 | - Bus reset initiation, bus reset event reception |
| 38 | + | |
| 34 | 39 | - All 1394 buses: |
| 40 | + | |
| 35 | 41 | - Allocation of IEEE 1212 address ranges on the local |
| 36 | 42 | link layers, reception of inbound requests to such |
| 37 | 43 | an address range, asynchronous response transmission |
| @@ -43,6 +49,7 @@ Description: · 5 unmodified lines | ||
| 43 | 49 | userland implement different access permission models, some |
| 44 | 50 | operations are restricted to /dev/fw* files that are associated |
| 45 | 51 | with a local node: |
| 52 | + | |
| 46 | 53 | - Addition of descriptors or directories to the local |
| 47 | 54 | nodes' Configuration ROM |
| 48 | 55 | - PHY packet transmission and reception |
| @@ -55,50 +62,50 @@ Description: · 6 unmodified lines | ||
| 55 | 62 | The following file operations are supported: |
| 56 | 63 | |
| 57 | 64 | open(2) |
| 58 | − Currently the only useful flags are O_RDWR. | |
| 65 | + Currently the only useful flags are O_RDWR. | |
| 59 | 66 | |
| 60 | 67 | ioctl(2) |
| 61 | − Initiate various actions. Some take immediate effect, others | |
| 62 | − are performed asynchronously while or after the ioctl returns. | |
| 63 | − See the inline documentation in <linux/firewire-cdev.h> for | |
| 64 | − descriptions of all ioctls. | |
| 68 | + Initiate various actions. Some take immediate effect, others | |
| 69 | + are performed asynchronously while or after the ioctl returns. | |
| 70 | + See the inline documentation in <linux/firewire-cdev.h> for | |
| 71 | + descriptions of all ioctls. | |
| 65 | 72 | |
| 66 | 73 | poll(2), select(2), epoll_wait(2) etc. |
| 67 | − Watch for events to become available to be read. | |
| 74 | + Watch for events to become available to be read. | |
| 68 | 75 | |
| 69 | 76 | read(2) |
| 70 | − Receive various events. There are solicited events like | |
| 71 | − outbound asynchronous transaction completion or isochronous | |
| 72 | − buffer completion, and unsolicited events such as bus resets, | |
| 73 | − request reception, or PHY packet reception. Always use a read | |
| 74 | − buffer which is large enough to receive the largest event that | |
| 75 | − could ever arrive. See <linux/firewire-cdev.h> for descriptions | |
| 76 | − of all event types and for which ioctls affect reception of | |
| 77 | − events. | |
| 77 | + Receive various events. There are solicited events like | |
| 78 | + outbound asynchronous transaction completion or isochronous | |
| 79 | + buffer completion, and unsolicited events such as bus resets, | |
| 80 | + request reception, or PHY packet reception. Always use a read | |
| 81 | + buffer which is large enough to receive the largest event that | |
| 82 | + could ever arrive. See <linux/firewire-cdev.h> for descriptions | |
| 83 | + of all event types and for which ioctls affect reception of | |
| 84 | + events. | |
| 78 | 85 | |
| 79 | 86 | mmap(2) |
| 80 | − Allocate a DMA buffer for isochronous reception or transmission | |
| 81 | − and map it into the process address space. The arguments should | |
| 82 | − be used as follows: addr = NULL, length = the desired buffer | |
| 83 | − size, i.e. number of packets times size of largest packet, | |
| 84 | − prot = at least PROT_READ for reception and at least PROT_WRITE | |
| 85 | − for transmission, flags = MAP_SHARED, fd = the handle to the | |
| 86 | − /dev/fw*, offset = 0. | |
| 87 | + Allocate a DMA buffer for isochronous reception or transmission | |
| 88 | + and map it into the process address space. The arguments should | |
| 89 | + be used as follows: addr = NULL, length = the desired buffer | |
| 90 | + size, i.e. number of packets times size of largest packet, | |
| 91 | + prot = at least PROT_READ for reception and at least PROT_WRITE | |
| 92 | + for transmission, flags = MAP_SHARED, fd = the handle to the | |
| 93 | + /dev/fw*, offset = 0. | |
| 87 | 94 | |
| 88 | 95 | Isochronous reception works in packet-per-buffer fashion except |
| 89 | 96 | for multichannel reception which works in buffer-fill mode. |
| 90 | 97 | |
| 91 | 98 | munmap(2) |
| 92 | − Unmap the isochronous I/O buffer from the process address space. | |
| 99 | + Unmap the isochronous I/O buffer from the process address space. | |
| 93 | 100 | |
| 94 | 101 | close(2) |
| 95 | − Besides stopping and freeing I/O contexts that were associated | |
| 96 | − with the file descriptor, back out any changes to the local | |
| 97 | − nodes' Configuration ROM. Deallocate isochronous channels and | |
| 98 | − bandwidth at the IRM that were marked for kernel-assisted | |
| 99 | − re- and deallocation. | |
| 100 | − | |
| 101 | −Users: libraw1394 | |
| 102 | − libdc1394 | |
| 103 | − libhinawa | |
| 102 | + Besides stopping and freeing I/O contexts that were associated | |
| 103 | + with the file descriptor, back out any changes to the local | |
| 104 | + nodes' Configuration ROM. Deallocate isochronous channels and | |
| 105 | + bandwidth at the IRM that were marked for kernel-assisted | |
| 106 | + re- and deallocation. | |
| 107 | + | |
| 108 | +Users: libraw1394; | |
| 109 | + libdc1394; | |
| 110 | + libhinawa; | |
| 104 | 111 | tools like linux-firewire-utils, fwhack, ... |
| @@ -1,22 +1,26 @@ | ||
| 1 | −What: /sys/firmware/acpi/pm_profile | |
| 1 | +What: /sys/firmware/acpi/pm_profile | |
| 2 | 2 | Date: 03-Nov-2011 |
| 3 | 3 | KernelVersion: v3.2 |
| 4 | 4 | Contact: linux-acpi@vger.kernel.org |
| 5 | −Description: The ACPI pm_profile sysfs interface exports the platform | |
| 5 | +Description: The ACPI pm_profile sysfs interface exports the platform | |
| 6 | 6 | power management (and performance) requirement expectations |
| 7 | 7 | as provided by BIOS. The integer value is directly passed as |
| 8 | 8 | retrieved from the FADT ACPI table. |
| 9 | −Values: For possible values see ACPI specification: | |
| 9 | + | |
| 10 | +Values: For possible values see ACPI specification: | |
| 10 | 11 | 5.2.9 Fixed ACPI Description Table (FADT) |
| 11 | 12 | Field: Preferred_PM_Profile |
| 12 | 13 | |
| 13 | 14 | Currently these values are defined by spec: |
| 14 | − 0 Unspecified | |
| 15 | − 1 Desktop | |
| 16 | − 2 Mobile | |
| 17 | − 3 Workstation | |
| 18 | − 4 Enterprise Server | |
| 19 | − 5 SOHO Server | |
| 20 | − 6 Appliance PC | |
| 21 | − 7 Performance Server | |
| 15 | + | |
| 16 | + == ================= | |
| 17 | + 0 Unspecified | |
| 18 | + 1 Desktop | |
| 19 | + 2 Mobile | |
| 20 | + 3 Workstation | |
| 21 | + 4 Enterprise Server | |
| 22 | + 5 SOHO Server | |
| 23 | + 6 Appliance PC | |
| 24 | + 7 Performance Server | |
| 22 | 25 | >7 Reserved |
| 26 | + == ================= | |
| @@ -47,6 +47,7 @@ Description: · 46 unmodified lines | ||
| 47 | 47 | IEEE 1394 node device attribute. |
| 48 | 48 | Read-only and immutable. |
| 49 | 49 | Values: 1: The sysfs entry represents a local node (a controller card). |
| 50 | + | |
| 50 | 51 | 0: The sysfs entry represents a remote node. |
| 51 | 52 | |
| 52 | 53 | |
| @@ -125,7 +126,9 @@ Description: · 72 unmodified lines | ||
| 125 | 126 | Read-only attribute, immutable during the target's lifetime. |
| 126 | 127 | Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: |
| 127 | 128 | Colon-separated hexadecimal string representations of |
| 129 | + | |
| 128 | 130 | u64 EUI-64 : u24 directory_ID : u16 LUN |
| 131 | + | |
| 129 | 132 | without 0x prefixes, without whitespace. The former sbp2 driver |
| 130 | 133 | (removed in 2.6.37 after being superseded by firewire-sbp2) used |
| 131 | 134 | a somewhat shorter format which was not as close to SAM. |
| @@ -9,13 +9,14 @@ Description: · 8 unmodified lines | ||
| 9 | 9 | Note: This file is only present if CONFIG_NVMEM_SYSFS |
| 10 | 10 | is enabled |
| 11 | 11 | |
| 12 | − ex: | |
| 13 | − hexdump /sys/bus/nvmem/devices/qfprom0/nvmem | |
| 12 | + ex:: | |
| 14 | 13 | |
| 15 | − 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | |
| 16 | − * | |
| 17 | − 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 | |
| 18 | − 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | |
| 19 | − ... | |
| 20 | − * | |
| 21 | − 0001000 | |
| 14 | + hexdump /sys/bus/nvmem/devices/qfprom0/nvmem | |
| 15 | + | |
| 16 | + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | |
| 17 | + * | |
| 18 | + 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 | |
| 19 | + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | |
| 20 | + ... | |
| 21 | + * | |
| 22 | + 0001000 | |
| @@ -50,8 +50,10 @@ Description: · 49 unmodified lines | ||
| 50 | 50 | |
| 51 | 51 | Tools can use this file and the connected_duration file to |
| 52 | 52 | compute the percentage of time that a device has been active. |
| 53 | − For example, | |
| 54 | − echo $((100 * `cat active_duration` / `cat connected_duration`)) | |
| 53 | + For example:: | |
| 54 | + | |
| 55 | + echo $((100 * `cat active_duration` / `cat connected_duration`)) | |
| 56 | + | |
| 55 | 57 | will give an integer percentage. Note that this does not |
| 56 | 58 | account for counter wrap. |
| 57 | 59 | Users: |
| @@ -63,13 +63,6 @@ Contact: Stephen Hemminger <sthemmin@microsoft.com> · 62 unmodified lines | ||
| 63 | 63 | Description: VCPU (sub)channel is affinitized to |
| 64 | 64 | Users: tools/hv/lsvmbus and other debugging tools |
| 65 | 65 | |
| 66 | −What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/cpu | |
| 67 | −Date: September. 2017 | |
| 68 | −KernelVersion: 4.14 | |
| 69 | −Contact: Stephen Hemminger <sthemmin@microsoft.com> | |
| 70 | −Description: VCPU (sub)channel is affinitized to | |
| 71 | −Users: tools/hv/lsvmbus and other debugging tools | |
| 72 | − | |
| 73 | 66 | What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask |
| 74 | 67 | Date: September. 2017 |
| 75 | 68 | KernelVersion: 4.14 |
| @@ -6,6 +6,7 @@ Description: Bus scanning interval, microseconds component. · 5 unmodified lines | ||
| 6 | 6 | control systems are attached/generate presence for as short as |
| 7 | 7 | 100 ms - hence the tens-to-hundreds milliseconds scan intervals |
| 8 | 8 | are required. |
| 9 | + | |
| 9 | 10 | see Documentation/w1/w1-generic.rst for detailed information. |
| 10 | 11 | Users: any user space application which wants to know bus scanning |
| 11 | 12 | interval |
| @@ -4,6 +4,7 @@ KernelVersion: 2.6.12 · 3 unmodified lines | ||
| 4 | 4 | Contact: Richard Purdie <rpurdie@rpsys.net> |
| 5 | 5 | Description: |
| 6 | 6 | Control BACKLIGHT power, values are FB_BLANK_* from fb.h |
| 7 | + | |
| 7 | 8 | - FB_BLANK_UNBLANK (0) : power on. |
| 8 | 9 | - FB_BLANK_POWERDOWN (4) : power off |
| 9 | 10 | Users: HAL |
| @@ -8,12 +8,14 @@ Date: Apr, 2005 · 7 unmodified lines | ||
| 8 | 8 | KernelVersion: v2.6.12 |
| 9 | 9 | Contact: linux-rdma@vger.kernel.org |
| 10 | 10 | Description: |
| 11 | + =============== =========================================== | |
| 11 | 12 | node_type: (RO) Node type (CA, RNIC, usNIC, usNIC UDP, |
| 12 | 13 | switch or router) |
| 13 | 14 | |
| 14 | 15 | node_guid: (RO) Node GUID |
| 15 | 16 | |
| 16 | 17 | sys_image_guid: (RO) System image GUID |
| 18 | + =============== =========================================== | |
| 17 | 19 | |
| 18 | 20 | |
| 19 | 21 | What: /sys/class/infiniband/<device>/node_desc |
| @@ -47,6 +49,7 @@ KernelVersion: v2.6.12 · 27 unmodified lines | ||
| 47 | 49 | Contact: linux-rdma@vger.kernel.org |
| 48 | 50 | Description: |
| 49 | 51 | |
| 52 | + =============== =============================================== | |
| 50 | 53 | lid: (RO) Port LID |
| 51 | 54 | |
| 52 | 55 | rate: (RO) Port data rate (active width * active |
| @@ -66,8 +69,9 @@ Description: · 13 unmodified lines | ||
| 66 | 69 | |
| 67 | 70 | cap_mask: (RO) Port capability mask. 2 bits here are |
| 68 | 71 | settable- IsCommunicationManagementSupported |
| 69 | − (set when CM module is loaded) and IsSM (set via | |
| 70 | − open of issmN file). | |
| 72 | + (set when CM module is loaded) and IsSM (set | |
| 73 | + via open of issmN file). | |
| 74 | + =============== =============================================== | |
| 71 | 75 | |
| 72 | 76 | |
| 73 | 77 | What: /sys/class/infiniband/<device>/ports/<port-num>/link_layer |
| @@ -103,8 +107,7 @@ Date: Apr, 2005 · 29 unmodified lines | ||
| 103 | 107 | KernelVersion: v2.6.12 |
| 104 | 108 | Contact: linux-rdma@vger.kernel.org |
| 105 | 109 | Description: |
| 106 | − Errors info: | |
| 107 | − ----------- | |
| 110 | + **Errors info**: | |
| 108 | 111 | |
| 109 | 112 | symbol_error: (RO) Total number of minor link errors detected on |
| 110 | 113 | one or more physical lanes. |
| @@ -142,8 +145,7 @@ Description: · 31 unmodified lines | ||
| 142 | 145 | intervention. It can also indicate hardware issues or extremely |
| 143 | 146 | poor link signal integrity |
| 144 | 147 | |
| 145 | − Data info: | |
| 146 | − --------- | |
| 148 | + **Data info**: | |
| 147 | 149 | |
| 148 | 150 | port_xmit_data: (RO) Total number of data octets, divided by 4 |
| 149 | 151 | (lanes), transmitted on all VLs. This is 64 bit counter |
| @@ -176,8 +178,7 @@ Description: · 26 unmodified lines | ||
| 176 | 178 | transmitted on all VLs from the port. This may include multicast |
| 177 | 179 | packets with errors. |
| 178 | 180 | |
| 179 | − Misc info: | |
| 180 | − --------- | |
| 181 | + **Misc info**: | |
| 181 | 182 | |
| 182 | 183 | port_xmit_discards: (RO) Total number of outbound packets |
| 183 | 184 | discarded by the port because the port is down or congested. |
| @@ -244,9 +245,11 @@ Description: · 60 unmodified lines | ||
| 244 | 245 | two umad devices and two issm devices, while a switch will have |
| 245 | 246 | one device of each type (for switch port 0). |
| 246 | 247 | |
| 248 | + ======= ===================================== | |
| 247 | 249 | ibdev: (RO) Show Infiniband (IB) device name |
| 248 | 250 | |
| 249 | 251 | port: (RO) Display port number |
| 252 | + ======= ===================================== | |
| 250 | 253 | |
| 251 | 254 | |
| 252 | 255 | What: /sys/class/infiniband_mad/abi_version |
| @@ -258,33 +261,18 @@ Description: · 5 unmodified lines | ||
| 258 | 261 | userspace ABI compatibility of umad & issm devices. |
| 259 | 262 | |
| 260 | 263 | |
| 261 | −What: /sys/class/infiniband_cm/ucmN/ibdev | |
| 262 | −Date: Oct, 2005 | |
| 263 | −KernelVersion: v2.6.14 | |
| 264 | −Contact: linux-rdma@vger.kernel.org | |
| 265 | −Description: | |
| 266 | − (RO) Display Infiniband (IB) device name | |
| 267 | − | |
| 268 | − | |
| 269 | −What: /sys/class/infiniband_cm/abi_version | |
| 270 | −Date: Oct, 2005 | |
| 271 | −KernelVersion: v2.6.14 | |
| 272 | −Contact: linux-rdma@vger.kernel.org | |
| 273 | −Description: | |
| 274 | − (RO) Value is incremented if any changes are made that break | |
| 275 | − userspace ABI compatibility of ucm devices. | |
| 276 | − | |
| 277 | − | |
| 278 | 264 | What: /sys/class/infiniband_verbs/uverbsN/ibdev |
| 279 | 265 | What: /sys/class/infiniband_verbs/uverbsN/abi_version |
| 280 | 266 | Date: Sept, 2005 |
| 281 | 267 | KernelVersion: v2.6.14 |
| 282 | 268 | Contact: linux-rdma@vger.kernel.org |
| 283 | 269 | Description: |
| 270 | + =============== =========================================== | |
| 284 | 271 | ibdev: (RO) Display Infiniband (IB) device name |
| 285 | 272 | |
| 286 | 273 | abi_version: (RO) Show ABI version of IB device specific |
| 287 | 274 | interfaces. |
| 275 | + =============== =========================================== | |
| 288 | 276 | |
| 289 | 277 | |
| 290 | 278 | What: /sys/class/infiniband_verbs/abi_version |
| @@ -306,12 +294,14 @@ Date: Apr, 2005 · 15 unmodified lines | ||
| 306 | 294 | KernelVersion: v2.6.12 |
| 307 | 295 | Contact: linux-rdma@vger.kernel.org |
| 308 | 296 | Description: |
| 297 | + =============== ================================================ | |
| 309 | 298 | hw_rev: (RO) Hardware revision number |
| 310 | 299 | |
| 311 | 300 | hca_type: (RO) Host Channel Adapter type: MT23108, MT25208 |
| 312 | 301 | (MT23108 compat mode), MT25208 or MT25204 |
| 313 | 302 | |
| 314 | 303 | board_id: (RO) Manufacturing board ID |
| 304 | + =============== ================================================ | |
| 315 | 305 | |
| 316 | 306 | |
| 317 | 307 | sysfs interface for Mellanox ConnectX HCA IB driver (mlx4) |
| @@ -324,11 +314,13 @@ Date: Sep, 2007 · 6 unmodified lines | ||
| 324 | 314 | KernelVersion: v2.6.24 |
| 325 | 315 | Contact: linux-rdma@vger.kernel.org |
| 326 | 316 | Description: |
| 317 | + =============== =============================== | |
| 327 | 318 | hw_rev: (RO) Hardware revision number |
| 328 | 319 | |
| 329 | 320 | hca_type: (RO) Host channel adapter type |
| 330 | 321 | |
| 331 | 322 | board_id: (RO) Manufacturing board ID |
| 323 | + =============== =============================== | |
| 332 | 324 | |
| 333 | 325 | |
| 334 | 326 | What: /sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n> |
| @@ -354,6 +346,7 @@ Description: · 19 unmodified lines | ||
| 354 | 346 | example, ports/1/pkeys/10 contains the value at index 10 in port |
| 355 | 347 | 1's P_Key table. |
| 356 | 348 | |
| 349 | + ======================= ========================================== | |
| 357 | 350 | gids/<n>: (RO) The physical port gids n = 0..127 |
| 358 | 351 | |
| 359 | 352 | admin_guids/<n>: (RW) Allows examining or changing the |
| @@ -382,6 +375,7 @@ Description: · 22 unmodified lines | ||
| 382 | 375 | guest, whenever it uses its pkey index |
| 383 | 376 | 1, will actually be using the real pkey |
| 384 | 377 | index 10. |
| 378 | + ======================= ========================================== | |
| 385 | 379 | |
| 386 | 380 | |
| 387 | 381 | What: /sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled |
| @@ -393,12 +387,14 @@ Description: · 5 unmodified lines | ||
| 393 | 387 | Enabling QP0 on VFs for selected VF/port. By default, no VFs are |
| 394 | 388 | enabled for QP0 operation. |
| 395 | 389 | |
| 396 | − smi_enabled: (RO) Indicates whether smi is currently enabled | |
| 397 | − for the indicated VF/port | |
| 390 | + ================= ==== =========================================== | |
| 391 | + smi_enabled: (RO) Indicates whether smi is currently enabled | |
| 392 | + for the indicated VF/port | |
| 398 | 393 | |
| 399 | − enable_smi_admin:(RW) Used by the admin to request that smi | |
| 400 | − capability be enabled or disabled for the | |
| 401 | − indicated VF/port. 0 = disable, 1 = enable. | |
| 394 | + enable_smi_admin: (RW) Used by the admin to request that smi | |
| 395 | + capability be enabled or disabled for the | |
| 396 | + indicated VF/port. 0 = disable, 1 = enable. | |
| 397 | + ================= ==== =========================================== | |
| 402 | 398 | |
| 403 | 399 | The requested enablement will occur at the next reset of the VF |
| 404 | 400 | (e.g. driver restart on the VM which owns the VF). |
| @@ -415,6 +411,7 @@ KernelVersion: v2.6.35 · 10 unmodified lines | ||
| 415 | 411 | Contact: linux-rdma@vger.kernel.org |
| 416 | 412 | Description: |
| 417 | 413 | |
| 414 | + =============== ============================================= | |
| 418 | 415 | hw_rev: (RO) Hardware revision number |
| 419 | 416 | |
| 420 | 417 | hca_type: (RO) Driver short name. Should normally match |
| @@ -423,6 +420,7 @@ Description: · 2 unmodified lines | ||
| 423 | 420 | |
| 424 | 421 | board_id: (RO) Manufacturing board id. (Vendor + device |
| 425 | 422 | information) |
| 423 | + =============== ============================================= | |
| 426 | 424 | |
| 427 | 425 | |
| 428 | 426 | sysfs interface for Intel IB driver qib |
| @@ -443,6 +441,7 @@ Date: May, 2010 · 14 unmodified lines | ||
| 443 | 441 | KernelVersion: v2.6.35 |
| 444 | 442 | Contact: linux-rdma@vger.kernel.org |
| 445 | 443 | Description: |
| 444 | + =============== ====================================================== | |
| 446 | 445 | version: (RO) Display version information of installed software |
| 447 | 446 | and drivers. |
| 448 | 447 | |
| @@ -469,6 +468,7 @@ Description: · 20 unmodified lines | ||
| 469 | 468 | chip_reset: (WO) Reset the chip if possible by writing |
| 470 | 469 | "reset" to this file. Only allowed if no user |
| 471 | 470 | contexts are open that use chip resources. |
| 471 | + =============== ====================================================== | |
| 472 | 472 | |
| 473 | 473 | |
| 474 | 474 | What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15] |
| @@ -488,14 +488,16 @@ Contact: linux-rdma@vger.kernel.org · 13 unmodified lines | ||
| 488 | 488 | Description: |
| 489 | 489 | Per-port congestion control. Both are binary attributes. |
| 490 | 490 | |
| 491 | − cc_table_bin: (RO) Congestion control table size followed by | |
| 491 | + =============== ================================================ | |
| 492 | + cc_table_bin (RO) Congestion control table size followed by | |
| 492 | 493 | table entries. |
| 493 | 494 | |
| 494 | − cc_settings_bin:(RO) Congestion settings: port control, control | |
| 495 | + cc_settings_bin (RO) Congestion settings: port control, control | |
| 495 | 496 | map and an array of 16 entries for the |
| 496 | 497 | congestion entries - increase, timer, event log |
| 497 | 498 | trigger threshold and the minimum injection rate |
| 498 | 499 | delay. |
| 500 | + =============== ================================================ | |
| 499 | 501 | |
| 500 | 502 | What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback |
| 501 | 503 | What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override |
| @@ -508,6 +510,7 @@ Contact: linux-rdma@vger.kernel.org · 6 unmodified lines | ||
| 508 | 510 | Description: |
| 509 | 511 | [to be documented] |
| 510 | 512 | |
| 513 | + =============== =============================================== | |
| 511 | 514 | loopback: (WO) |
| 512 | 515 | led_override: (WO) |
| 513 | 516 | hrtbt_enable: (RW) |
| @@ -518,6 +521,7 @@ Description: · 4 unmodified lines | ||
| 518 | 521 | errors. Possible states are- "Initted", |
| 519 | 522 | "Present", "IB_link_up", "IB_configured" or |
| 520 | 523 | "Fatal_Hardware_Error". |
| 524 | + =============== =============================================== | |
| 521 | 525 | |
| 522 | 526 | What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends |
| 523 | 527 | What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks |
| @@ -566,6 +570,7 @@ Contact: Christian Benvenuti <benve@cisco.com>, · 42 unmodified lines | ||
| 566 | 570 | linux-rdma@vger.kernel.org |
| 567 | 571 | Description: |
| 568 | 572 | |
| 573 | + =============== =============================================== | |
| 569 | 574 | board_id: (RO) Manufacturing board id |
| 570 | 575 | |
| 571 | 576 | config: (RO) Report the configuration for this PF |
| @@ -578,6 +583,7 @@ Description: · 6 unmodified lines | ||
| 578 | 583 | |
| 579 | 584 | iface: (RO) Shows which network interface this usNIC |
| 580 | 585 | entry is associated to (visible with ifconfig). |
| 586 | + =============== =============================================== | |
| 581 | 587 | |
| 582 | 588 | What: /sys/class/infiniband/usnic_X/qpn/summary |
| 583 | 589 | What: /sys/class/infiniband/usnic_X/qpn/context |
| @@ -622,6 +628,7 @@ Date: May, 2016 · 38 unmodified lines | ||
| 622 | 628 | KernelVersion: v4.6 |
| 623 | 629 | Contact: linux-rdma@vger.kernel.org |
| 624 | 630 | Description: |
| 631 | + =============== ============================================= | |
| 625 | 632 | hw_rev: (RO) Hardware revision number |
| 626 | 633 | |
| 627 | 634 | board_id: (RO) Manufacturing board id |
| @@ -640,6 +647,7 @@ Description: · 12 unmodified lines | ||
| 640 | 647 | available. |
| 641 | 648 | |
| 642 | 649 | tempsense: (RO) Thermal sense information |
| 650 | + =============== ============================================= | |
| 643 | 651 | |
| 644 | 652 | |
| 645 | 653 | What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin |
| @@ -651,19 +659,21 @@ Contact: linux-rdma@vger.kernel.org · 5 unmodified lines | ||
| 651 | 659 | Description: |
| 652 | 660 | Per-port congestion control. |
| 653 | 661 | |
| 654 | − cc_table_bin: (RO) CCA tables used by PSM2 Congestion control | |
| 662 | + =============== ================================================ | |
| 663 | + cc_table_bin (RO) CCA tables used by PSM2 Congestion control | |
| 655 | 664 | table size followed by table entries. Binary |
| 656 | 665 | attribute. |
| 657 | 666 | |
| 658 | − cc_settings_bin:(RO) Congestion settings: port control, control | |
| 667 | + cc_settings_bin (RO) Congestion settings: port control, control | |
| 659 | 668 | map and an array of 16 entries for the |
| 660 | 669 | congestion entries - increase, timer, event log |
| 661 | 670 | trigger threshold and the minimum injection rate |
| 662 | 671 | delay. Binary attribute. |
| 663 | 672 | |
| 664 | − cc_prescan: (RW) enable prescanning for faster BECN | |
| 673 | + cc_prescan (RW) enable prescanning for faster BECN | |
| 665 | 674 | response. Write "on" to enable and "off" to |
| 666 | 675 | disable. |
| 676 | + =============== ================================================ | |
| 667 | 677 | |
| 668 | 678 | What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] |
| 669 | 679 | What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] |
| @@ -672,11 +682,13 @@ Date: May, 2016 · 2 unmodified lines | ||
| 672 | 682 | KernelVersion: v4.6 |
| 673 | 683 | Contact: linux-rdma@vger.kernel.org |
| 674 | 684 | Description: |
| 685 | + =============== =================================================== | |
| 675 | 686 | sc2vl/: (RO) 32 files (0 - 31) used to translate sl->vl |
| 676 | 687 | |
| 677 | 688 | sl2sc/: (RO) 32 files (0 - 31) used to translate sl->sc |
| 678 | 689 | |
| 679 | 690 | vl2mtu/: (RO) 16 files (0 - 15) used to determine MTU for vl |
| 691 | + =============== =================================================== | |
| 680 | 692 | |
| 681 | 693 | |
| 682 | 694 | What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list |
| @@ -687,26 +699,28 @@ Contact: linux-rdma@vger.kernel.org · 4 unmodified lines | ||
| 687 | 699 | Description: |
| 688 | 700 | sdma<N>/ contains one directory per sdma engine (0 - 15) |
| 689 | 701 | |
| 702 | + =============== ============================================== | |
| 690 | 703 | cpu_list: (RW) List of cpus for user-process to sdma |
| 691 | 704 | engine assignment. |
| 692 | 705 | |
| 693 | 706 | vl: (RO) Displays the virtual lane (vl) the sdma |
| 694 | 707 | engine maps to. |
| 708 | + =============== ============================================== | |
| 695 | 709 | |
| 696 | 710 | This interface gives the user control on the affinity settings |
| 697 | 711 | for the device. As an example, to set an sdma engine irq |
| 698 | 712 | affinity and thread affinity of a user processes to use the |
| 699 | 713 | sdma engine, which is "near" in terms of NUMA configuration, or |
| 700 | − physical cpu location, the user will do: | |
| 714 | + physical cpu location, the user will do:: | |
| 701 | 715 | |
| 702 | − echo "3" > /proc/irq/<N>/smp_affinity_list | |
| 703 | − echo "4-7" > /sys/devices/.../sdma3/cpu_list | |
| 704 | − cat /sys/devices/.../sdma3/vl | |
| 705 | − 0 | |
| 706 | − echo "8" > /proc/irq/<M>/smp_affinity_list | |
| 707 | − echo "9-12" > /sys/devices/.../sdma4/cpu_list | |
| 708 | − cat /sys/devices/.../sdma4/vl | |
| 709 | − 1 | |
| 716 | + echo "3" > /proc/irq/<N>/smp_affinity_list | |
| 717 | + echo "4-7" > /sys/devices/.../sdma3/cpu_list | |
| 718 | + cat /sys/devices/.../sdma3/vl | |
| 719 | + 0 | |
| 720 | + echo "8" > /proc/irq/<M>/smp_affinity_list | |
| 721 | + echo "9-12" > /sys/devices/.../sdma4/cpu_list | |
| 722 | + cat /sys/devices/.../sdma4/vl | |
| 723 | + 1 | |
| 710 | 724 | |
| 711 | 725 | to make sure that when a process runs on cpus 4,5,6, or 7, and |
| 712 | 726 | uses vl=0, then sdma engine 3 is selected by the driver, and |
| @@ -728,11 +742,13 @@ Date: Jan, 2016 · 15 unmodified lines | ||
| 728 | 742 | KernelVersion: v4.10 |
| 729 | 743 | Contact: linux-rdma@vger.kernel.org |
| 730 | 744 | Description: |
| 745 | + =============== ==== ======================== | |
| 731 | 746 | hw_rev: (RO) Hardware revision number |
| 732 | 747 | |
| 733 | 748 | hca_type: (RO) Show HCA type (I40IW) |
| 734 | 749 | |
| 735 | 750 | board_id: (RO) I40IW board ID |
| 751 | + =============== ==== ======================== | |
| 736 | 752 | |
| 737 | 753 | |
| 738 | 754 | sysfs interface for QLogic qedr NIC Driver |
| @@ -745,9 +761,11 @@ KernelVersion: v4.10 · 6 unmodified lines | ||
| 745 | 761 | Contact: linux-rdma@vger.kernel.org |
| 746 | 762 | Description: |
| 747 | 763 | |
| 764 | + =============== ==== ======================== | |
| 748 | 765 | hw_rev: (RO) Hardware revision number |
| 749 | 766 | |
| 750 | 767 | hca_type: (RO) Display HCA type |
| 768 | + =============== ==== ======================== | |
| 751 | 769 | |
| 752 | 770 | |
| 753 | 771 | sysfs interface for VMware Paravirtual RDMA driver |
| @@ -761,11 +779,13 @@ KernelVersion: v4.10 · 7 unmodified lines | ||
| 761 | 779 | Contact: linux-rdma@vger.kernel.org |
| 762 | 780 | Description: |
| 763 | 781 | |
| 782 | + =============== ==== ===================================== | |
| 764 | 783 | hw_rev: (RO) Hardware revision number |
| 765 | 784 | |
| 766 | 785 | hca_type: (RO) Host channel adapter type |
| 767 | 786 | |
| 768 | 787 | board_id: (RO) Display PVRDMA manufacturing board ID |
| 788 | + =============== ==== ===================================== | |
| 769 | 789 | |
| 770 | 790 | |
| 771 | 791 | sysfs interface for Broadcom NetXtreme-E RoCE driver |
| @@ -777,6 +797,8 @@ Date: Feb, 2017 · 5 unmodified lines | ||
| 777 | 797 | KernelVersion: v4.11 |
| 778 | 798 | Contact: linux-rdma@vger.kernel.org |
| 779 | 799 | Description: |
| 800 | + =============== ==== ========================= | |
| 780 | 801 | hw_rev: (RO) Hardware revision number |
| 781 | 802 | |
| 782 | 803 | hca_type: (RO) Host channel adapter type |
| 804 | + =============== ==== ========================= | |
| @@ -2,7 +2,7 @@ rfkill - radio frequency (RF) connector kill switch support · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | For details to this subsystem look at Documentation/driver-api/rfkill.rst. |
| 4 | 4 | |
| 5 | −For the deprecated /sys/class/rfkill/*/claim knobs of this interface look in | |
| 5 | +For the deprecated ``/sys/class/rfkill/*/claim`` knobs of this interface look in | |
| 6 | 6 | Documentation/ABI/removed/sysfs-class-rfkill. |
| 7 | 7 | |
| 8 | 8 | What: /sys/class/rfkill |
| @@ -36,9 +36,10 @@ KernelVersion v2.6.22 · 27 unmodified lines | ||
| 36 | 36 | Contact: linux-wireless@vger.kernel.org |
| 37 | 37 | Description: Whether the soft blocked state is initialised from non-volatile |
| 38 | 38 | storage at startup. |
| 39 | −Values: A numeric value. | |
| 40 | − 0: false | |
| 41 | − 1: true | |
| 39 | +Values: A numeric value: | |
| 40 | + | |
| 41 | + - 0: false | |
| 42 | + - 1: true | |
| 42 | 43 | |
| 43 | 44 | |
| 44 | 45 | What: /sys/class/rfkill/rfkill[0-9]+/state |
| @@ -54,6 +55,7 @@ Description: Current state of the transmitter. · 9 unmodified lines | ||
| 54 | 55 | through this interface. There will likely be another attempt to |
| 55 | 56 | remove it in the future. |
| 56 | 57 | Values: A numeric value. |
| 58 | + | |
| 57 | 59 | 0: RFKILL_STATE_SOFT_BLOCKED |
| 58 | 60 | transmitter is turned off by software |
| 59 | 61 | 1: RFKILL_STATE_UNBLOCKED |
| @@ -69,6 +71,7 @@ KernelVersion v2.6.34 · 9 unmodified lines | ||
| 69 | 71 | Contact: linux-wireless@vger.kernel.org |
| 70 | 72 | Description: Current hardblock state. This file is read only. |
| 71 | 73 | Values: A numeric value. |
| 74 | + | |
| 72 | 75 | 0: inactive |
| 73 | 76 | The transmitter is (potentially) active. |
| 74 | 77 | 1: active |
| @@ -82,7 +85,9 @@ KernelVersion v2.6.34 · 7 unmodified lines | ||
| 82 | 85 | Contact: linux-wireless@vger.kernel.org |
| 83 | 86 | Description: Current softblock state. This file is read and write. |
| 84 | 87 | Values: A numeric value. |
| 88 | + | |
| 85 | 89 | 0: inactive |
| 86 | 90 | The transmitter is (potentially) active. |
| 91 | + | |
| 87 | 92 | 1: active |
| 88 | 93 | The transmitter is turned off by software. |
| @@ -32,11 +32,11 @@ KernelVersion: 2.6.12 · 31 unmodified lines | ||
| 32 | 32 | Contact: linux-integrity@vger.kernel.org |
| 33 | 33 | Description: The "caps" property contains TPM manufacturer and version info. |
| 34 | 34 | |
| 35 | − Example output: | |
| 35 | + Example output:: | |
| 36 | 36 | |
| 37 | − Manufacturer: 0x53544d20 | |
| 38 | − TCG version: 1.2 | |
| 39 | − Firmware version: 8.16 | |
| 37 | + Manufacturer: 0x53544d20 | |
| 38 | + TCG version: 1.2 | |
| 39 | + Firmware version: 8.16 | |
| 40 | 40 | |
| 41 | 41 | Manufacturer is a hex dump of the 4 byte manufacturer info |
| 42 | 42 | space in a TPM. TCG version shows the TCG TPM spec level that |
| @@ -54,9 +54,9 @@ Description: The "durations" property shows the 3 vendor-specific values · 11 unmodified lines | ||
| 54 | 54 | any longer than necessary before starting to poll for a |
| 55 | 55 | result. |
| 56 | 56 | |
| 57 | − Example output: | |
| 57 | + Example output:: | |
| 58 | 58 | |
| 59 | − 3015000 4508000 180995000 [original] | |
| 59 | + 3015000 4508000 180995000 [original] | |
| 60 | 60 | |
| 61 | 61 | Here the short, medium and long durations are displayed in |
| 62 | 62 | usecs. "[original]" indicates that the values are displayed |
| @@ -92,14 +92,14 @@ Description: The "pcrs" property will dump the current value of all Platform · 29 unmodified lines | ||
| 92 | 92 | values may be constantly changing, the output is only valid |
| 93 | 93 | for a snapshot in time. |
| 94 | 94 | |
| 95 | − Example output: | |
| 95 | + Example output:: | |
| 96 | 96 | |
| 97 | − PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 98 | − PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 99 | − PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 100 | − PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 101 | − PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 102 | − ... | |
| 97 | + PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 98 | + PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 99 | + PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 100 | + PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 101 | + PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | |
| 102 | + ... | |
| 103 | 103 | |
| 104 | 104 | The number of PCRs and hex bytes needed to represent a PCR |
| 105 | 105 | value will vary depending on TPM chip version. For TPM 1.1 and |
| @@ -119,44 +119,44 @@ Description: The "pubek" property will return the TPM's public endorsement · 13 unmodified lines | ||
| 119 | 119 | ated at TPM manufacture time and exists for the life of the |
| 120 | 120 | chip. |
| 121 | 121 | |
| 122 | − Example output: | |
| 123 | − | |
| 124 | − Algorithm: 00 00 00 01 | |
| 125 | − Encscheme: 00 03 | |
| 126 | − Sigscheme: 00 01 | |
| 127 | − Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 | |
| 128 | − Modulus length: 256 | |
| 129 | − Modulus: | |
| 130 | − B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C | |
| 131 | − 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 | |
| 132 | − 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB | |
| 133 | − 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 | |
| 134 | − D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B | |
| 135 | − 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 | |
| 136 | − 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E | |
| 137 | − 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D | |
| 138 | − 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 | |
| 139 | − A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 | |
| 140 | − 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 | |
| 141 | − 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 | |
| 142 | − E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A | |
| 143 | − F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 | |
| 144 | − F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B | |
| 145 | − C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B | |
| 146 | − | |
| 147 | − Possible values: | |
| 148 | − | |
| 149 | − Algorithm: TPM_ALG_RSA (1) | |
| 150 | − Encscheme: TPM_ES_RSAESPKCSv15 (2) | |
| 122 | + Example output:: | |
| 123 | + | |
| 124 | + Algorithm: 00 00 00 01 | |
| 125 | + Encscheme: 00 03 | |
| 126 | + Sigscheme: 00 01 | |
| 127 | + Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 | |
| 128 | + Modulus length: 256 | |
| 129 | + Modulus: | |
| 130 | + B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C | |
| 131 | + 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 | |
| 132 | + 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB | |
| 133 | + 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 | |
| 134 | + D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B | |
| 135 | + 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 | |
| 136 | + 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E | |
| 137 | + 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D | |
| 138 | + 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 | |
| 139 | + A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 | |
| 140 | + 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 | |
| 141 | + 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 | |
| 142 | + E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A | |
| 143 | + F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 | |
| 144 | + F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B | |
| 145 | + C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B | |
| 146 | + | |
| 147 | + Possible values:: | |
| 148 | + | |
| 149 | + Algorithm: TPM_ALG_RSA (1) | |
| 150 | + Encscheme: TPM_ES_RSAESPKCSv15 (2) | |
| 151 | 151 | TPM_ES_RSAESOAEP_SHA1_MGF1 (3) |
| 152 | − Sigscheme: TPM_SS_NONE (1) | |
| 153 | − Parameters, a byte string of 3 u32 values: | |
| 152 | + Sigscheme: TPM_SS_NONE (1) | |
| 153 | + Parameters, a byte string of 3 u32 values: | |
| 154 | 154 | Key Length (bits): 00 00 08 00 (2048) |
| 155 | 155 | Num primes: 00 00 00 02 (2) |
| 156 | 156 | Exponent Size: 00 00 00 00 (0 means the |
| 157 | 157 | default exp) |
| 158 | − Modulus Length: 256 (bytes) | |
| 159 | − Modulus: The 256 byte Endorsement Key modulus | |
| 158 | + Modulus Length: 256 (bytes) | |
| 159 | + Modulus: The 256 byte Endorsement Key modulus | |
| 160 | 160 | |
| 161 | 161 | What: /sys/class/tpm/tpmX/device/temp_deactivated |
| 162 | 162 | Date: April 2006 |
| @@ -176,9 +176,9 @@ Description: The "timeouts" property shows the 4 vendor-specific values · 13 unmodified lines | ||
| 176 | 176 | timeouts is defined by the TPM interface spec that the chip |
| 177 | 177 | conforms to. |
| 178 | 178 | |
| 179 | − Example output: | |
| 179 | + Example output:: | |
| 180 | 180 | |
| 181 | − 750000 750000 750000 750000 [original] | |
| 181 | + 750000 750000 750000 750000 [original] | |
| 182 | 182 | |
| 183 | 183 | The four timeout values are shown in usecs, with a trailing |
| 184 | 184 | "[original]" or "[adjusted]" depending on whether the values |
| @@ -191,6 +191,6 @@ Contact: linux-integrity@vger.kernel.org · 6 unmodified lines | ||
| 191 | 191 | Description: The "tpm_version_major" property shows the TCG spec major version |
| 192 | 192 | implemented by the TPM device. |
| 193 | 193 | |
| 194 | − Example output: | |
| 194 | + Example output:: | |
| 195 | 195 | |
| 196 | − 2 | |
| 196 | + 2 | |
| @@ -1,5 +1,6 @@ | ||
| 1 | −# Note: This documents additional properties of any device beyond what | |
| 2 | −# is documented in Documentation/admin-guide/sysfs-rules.rst | |
| 1 | +Note: | |
| 2 | + This documents additional properties of any device beyond what | |
| 3 | + is documented in Documentation/admin-guide/sysfs-rules.rst | |
| 3 | 4 | |
| 4 | 5 | What: /sys/devices/*/of_node |
| 5 | 6 | Date: February 2015 |
| @@ -1,29 +1,29 @@ | ||
| 1 | −What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap | |
| 1 | +What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap | |
| 2 | 2 | Date: December 3, 2009 |
| 3 | 3 | KernelVersion: 2.6.32 |
| 4 | 4 | Contact: dmaengine@vger.kernel.org |
| 5 | 5 | Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL, |
| 6 | 6 | DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT. |
| 7 | 7 | |
| 8 | −What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active | |
| 8 | +What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active | |
| 9 | 9 | Date: December 3, 2009 |
| 10 | 10 | KernelVersion: 2.6.32 |
| 11 | 11 | Contact: dmaengine@vger.kernel.org |
| 12 | 12 | Description: The number of descriptors active in the ring. |
| 13 | 13 | |
| 14 | −What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size | |
| 14 | +What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size | |
| 15 | 15 | Date: December 3, 2009 |
| 16 | 16 | KernelVersion: 2.6.32 |
| 17 | 17 | Contact: dmaengine@vger.kernel.org |
| 18 | 18 | Description: Descriptor ring size, total number of descriptors available. |
| 19 | 19 | |
| 20 | −What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version | |
| 20 | +What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version | |
| 21 | 21 | Date: December 3, 2009 |
| 22 | 22 | KernelVersion: 2.6.32 |
| 23 | 23 | Contact: dmaengine@vger.kernel.org |
| 24 | 24 | Description: Version of ioatdma device. |
| 25 | 25 | |
| 26 | −What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce | |
| 26 | +What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce | |
| 27 | 27 | Date: August 8, 2017 |
| 28 | 28 | KernelVersion: 4.14 |
| 29 | 29 | Contact: dmaengine@vger.kernel.org |
| @@ -12,13 +12,15 @@ Description: · 11 unmodified lines | ||
| 12 | 12 | resets. Three registers are used by the FSBL and |
| 13 | 13 | other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}. |
| 14 | 14 | |
| 15 | − Usage: | |
| 16 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 17 | − # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 15 | + Usage:: | |
| 16 | + | |
| 17 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 18 | + # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 19 | + | |
| 20 | + Example:: | |
| 18 | 21 | |
| 19 | − Example: | |
| 20 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 21 | − # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 22 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 23 | + # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | |
| 22 | 24 | |
| 23 | 25 | Users: Xilinx |
| 24 | 26 | |
| @@ -39,13 +41,15 @@ Description: · 14 unmodified lines | ||
| 39 | 41 | software products: PERS_GLOB_GEN_STORAGE{4:7}. |
| 40 | 42 | Register is reset only by a POR reset. |
| 41 | 43 | |
| 42 | − Usage: | |
| 43 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 44 | − # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 44 | + Usage:: | |
| 45 | + | |
| 46 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 47 | + # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 48 | + | |
| 49 | + Example:: | |
| 45 | 50 | |
| 46 | − Example: | |
| 47 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 48 | − # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 51 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 52 | + # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | |
| 49 | 53 | |
| 50 | 54 | Users: Xilinx |
| 51 | 55 | |
| @@ -61,23 +65,28 @@ Description: · 9 unmodified lines | ||
| 61 | 65 | |
| 62 | 66 | Following are available shutdown scopes(subtypes): |
| 63 | 67 | |
| 64 | − subsystem: Only the APU along with all of its peripherals | |
| 68 | + subsystem: | |
| 69 | + Only the APU along with all of its peripherals | |
| 65 | 70 | not used by other processing units will be |
| 66 | 71 | shut down. This may result in the FPD power |
| 67 | 72 | domain being shut down provided that no other |
| 68 | 73 | processing unit uses FPD peripherals or DRAM. |
| 69 | − ps_only: The complete PS will be shut down, including the | |
| 74 | + ps_only: | |
| 75 | + The complete PS will be shut down, including the | |
| 70 | 76 | RPU, PMU, etc. Only the PL domain (FPGA) |
| 71 | 77 | remains untouched. |
| 72 | − system: The complete system/device is shut down. | |
| 78 | + system: | |
| 79 | + The complete system/device is shut down. | |
| 73 | 80 | |
| 74 | − Usage: | |
| 75 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 76 | − # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 81 | + Usage:: | |
| 82 | + | |
| 83 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 84 | + # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 85 | + | |
| 86 | + Example:: | |
| 77 | 87 | |
| 78 | − Example: | |
| 79 | − # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 80 | − # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 88 | + # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 89 | + # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | |
| 81 | 90 | |
| 82 | 91 | Users: Xilinx |
| 83 | 92 | |
| @@ -94,10 +103,13 @@ Description: · 10 unmodified lines | ||
| 94 | 103 | system restart. |
| 95 | 104 | |
| 96 | 105 | Usage: |
| 97 | − Set healthy bit | |
| 98 | − # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | |
| 99 | 106 | |
| 100 | − Unset healthy bit | |
| 101 | − # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | |
| 107 | + Set healthy bit:: | |
| 108 | + | |
| 109 | + # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | |
| 110 | + | |
| 111 | + Unset healthy bit:: | |
| 112 | + | |
| 113 | + # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | |
| 102 | 114 | |
| 103 | 115 | Users: Xilinx |
| @@ -6,6 +6,7 @@ Description: Interface for making ib_srp connect to a new target. · 5 unmodified lines | ||
| 6 | 6 | One can request ib_srp to connect to a new target by writing |
| 7 | 7 | a comma-separated list of login parameters to this sysfs |
| 8 | 8 | attribute. The supported parameters are: |
| 9 | + | |
| 9 | 10 | * id_ext, a 16-digit hexadecimal number specifying the eight |
| 10 | 11 | byte identifier extension in the 16-byte SRP target port |
| 11 | 12 | identifier. The target port identifier is sent by ib_srp |
| @@ -69,6 +69,7 @@ Description: Controls if typing interrupts output from speakup. With · 68 unmodified lines | ||
| 69 | 69 | speakup if for example |
| 70 | 70 | the say screen command is used before the |
| 71 | 71 | entire screen is read. |
| 72 | + | |
| 72 | 73 | With no_interrupt set to one, if the say |
| 73 | 74 | screen command is used, and one then types on the keyboard, |
| 74 | 75 | speakup will continue to say the whole screen regardless until |
| @@ -215,8 +216,10 @@ Description: This file contains names for key states. · 140 unmodified lines | ||
| 215 | 216 | Again, these are part of the help system. For instance, if you |
| 216 | 217 | had pressed speakup + keypad 3, you would hear: |
| 217 | 218 | "speakup keypad 3 is go to bottom edge." |
| 219 | + | |
| 218 | 220 | The speakup key is depressed, so the name of the key state is |
| 219 | 221 | speakup. |
| 222 | + | |
| 220 | 223 | This part of the message comes from the states collection. |
| 221 | 224 | |
| 222 | 225 | What: /sys/accessibility/speakup/i18n/characters |
| @@ -297,6 +300,7 @@ KernelVersion: 2.6 · 74 unmodified lines | ||
| 297 | 300 | Contact: speakup@linux-speakup.org |
| 298 | 301 | Description: Controls if punctuation is spoken by speakup, or by the |
| 299 | 302 | synthesizer. |
| 303 | + | |
| 300 | 304 | For example, speakup speaks ">" as "greater", while |
| 301 | 305 | the espeak synthesizer used by the soft driver speaks "greater |
| 302 | 306 | than". Zero lets speakup speak the punctuation. One lets the |
| @@ -17,6 +17,7 @@ Description: · 16 unmodified lines | ||
| 17 | 17 | directory has a name of the form "<key>-<vendor guid>" |
| 18 | 18 | and contains the following files: |
| 19 | 19 | |
| 20 | + =============== ======================================== | |
| 20 | 21 | attributes: A read-only text file enumerating the |
| 21 | 22 | EFI variable flags. Potential values |
| 22 | 23 | include: |
| @@ -59,12 +60,14 @@ Description: · 36 unmodified lines | ||
| 59 | 60 | |
| 60 | 61 | size: As ASCII representation of the size of |
| 61 | 62 | the variable's value. |
| 63 | + =============== ======================================== | |
| 62 | 64 | |
| 63 | 65 | |
| 64 | 66 | In addition, two other magic binary files are provided |
| 65 | 67 | in the top-level directory and are used for adding and |
| 66 | 68 | removing variables: |
| 67 | 69 | |
| 70 | + =============== ======================================== | |
| 68 | 71 | new_var: Takes a "struct efi_variable" and |
| 69 | 72 | instructs the EFI firmware to create a |
| 70 | 73 | new variable. |
| @@ -73,3 +76,4 @@ Description: · 2 unmodified lines | ||
| 73 | 76 | instructs the EFI firmware to remove any |
| 74 | 77 | variable that has a matching vendor GUID |
| 75 | 78 | and variable key name. |
| 79 | + =============== ======================================== | |
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | |
| 8 | 8 | This is only for the powerpc/powernv platform. |
| 9 | 9 | |
| 10 | + =============== =============================================== | |
| 10 | 11 | initiate_dump: When '1' is written to it, |
| 11 | 12 | we will initiate a dump. |
| 12 | 13 | Read this file for supported commands. |
| @@ -19,8 +20,11 @@ Description: · 6 unmodified lines | ||
| 19 | 20 | and ID of the dump, use the id and type files. |
| 20 | 21 | Do not rely on any particular size of dump |
| 21 | 22 | type or dump id. |
| 23 | + =============== =============================================== | |
| 22 | 24 | |
| 23 | 25 | Each dump has the following files: |
| 26 | + | |
| 27 | + =============== =============================================== | |
| 24 | 28 | id: An ASCII representation of the dump ID |
| 25 | 29 | in hex (e.g. '0x01') |
| 26 | 30 | type: An ASCII representation of the type of |
| @@ -39,3 +43,4 @@ Description: · 12 unmodified lines | ||
| 39 | 43 | inaccessible. |
| 40 | 44 | Reading this file will get a list of |
| 41 | 45 | supported actions. |
| 46 | + =============== =============================================== | |
| @@ -38,6 +38,7 @@ Description: · 37 unmodified lines | ||
| 38 | 38 | For each log entry (directory), there are the following |
| 39 | 39 | files: |
| 40 | 40 | |
| 41 | + ============== ================================================ | |
| 41 | 42 | id: An ASCII representation of the ID of the |
| 42 | 43 | error log, in hex - e.g. "0x01". |
| 43 | 44 | |
| @@ -58,3 +59,4 @@ Description: · 14 unmodified lines | ||
| 58 | 59 | entry will be removed from sysfs. |
| 59 | 60 | Reading this file will list the supported |
| 60 | 61 | operations (currently just acknowledge). |
| 62 | + ============== ================================================ | |
| @@ -33,6 +33,8 @@ Description: If running under Xen: · 32 unmodified lines | ||
| 33 | 33 | Space separated list of supported guest system types. Each type |
| 34 | 34 | is in the format: <class>-<major>.<minor>-<arch> |
| 35 | 35 | With: |
| 36 | + | |
| 37 | + ======== ============================================ | |
| 36 | 38 | <class>: "xen" -- x86: paravirtualized, arm: standard |
| 37 | 39 | "hvm" -- x86 only: fully virtualized |
| 38 | 40 | <major>: major guest interface version |
| @@ -43,6 +45,7 @@ Description: If running under Xen: · 4 unmodified lines | ||
| 43 | 45 | "x86_64": 64 bit x86 guest |
| 44 | 46 | "armv7l": 32 bit arm guest |
| 45 | 47 | "aarch64": 64 bit arm guest |
| 48 | + ======== ============================================ | |
| 46 | 49 | |
| 47 | 50 | What: /sys/hypervisor/properties/changeset |
| 48 | 51 | Date: March 2009 |
| @@ -1,3 +1,9 @@ | ||
| 1 | +What: vDSO | |
| 2 | +Date: July 2011 | |
| 3 | +KernelVersion: 3.0 | |
| 4 | +Contact: Andy Lutomirski <luto@kernel.org> | |
| 5 | +Description: | |
| 6 | + | |
| 1 | 7 | On some architectures, when the kernel loads any userspace program it |
| 2 | 8 | maps an ELF DSO into that program's address space. This DSO is called |
| 3 | 9 | the vDSO and it often contains useful and highly-optimized alternatives |
| @@ -23,6 +29,7 @@ Unless otherwise noted, the set of symbols with any given version and the · 19 unmodified lines | ||
| 23 | 29 | ABI of those symbols is considered stable. It may vary across architectures, |
| 24 | 30 | though. |
| 25 | 31 | |
| 26 | −(As of this writing, this ABI documentation as been confirmed for x86_64. | |
| 32 | +Note: | |
| 33 | + As of this writing, this ABI documentation as been confirmed for x86_64. | |
| 27 | 34 | The maintainers of the other vDSO-using architectures should confirm |
| 28 | − that it is correct for their architecture.) | |
| 35 | + that it is correct for their architecture. | |
| @@ -14,7 +14,8 @@ Description: · 13 unmodified lines | ||
| 14 | 14 | This group contains the configuration for user defined ACPI |
| 15 | 15 | tables. The attributes of a user define table are: |
| 16 | 16 | |
| 17 | − aml - a binary attribute that the user can use to | |
| 17 | + aml | |
| 18 | + - a binary attribute that the user can use to | |
| 18 | 19 | fill in the ACPI aml definitions. Once the aml |
| 19 | 20 | data is written to this file and the file is |
| 20 | 21 | closed the table will be loaded and ACPI devices |
| @@ -26,11 +27,26 @@ Description: · 5 unmodified lines | ||
| 26 | 27 | The rest of the attributes are read-only and are valid only |
| 27 | 28 | after the table has been loaded by filling the aml entry: |
| 28 | 29 | |
| 29 | − signature - ASCII table signature | |
| 30 | − length - length of table in bytes, including the header | |
| 31 | − revision - ACPI Specification minor version number | |
| 32 | − oem_id - ASCII OEM identification | |
| 33 | − oem_table_id - ASCII OEM table identification | |
| 34 | − oem_revision - OEM revision number | |
| 35 | − asl_compiler_id - ASCII ASL compiler vendor ID | |
| 36 | − asl_compiler_revision - ASL compiler version | |
| 30 | + signature | |
| 31 | + - ASCII table signature | |
| 32 | + | |
| 33 | + length | |
| 34 | + - length of table in bytes, including the header | |
| 35 | + | |
| 36 | + revision | |
| 37 | + - ACPI Specification minor version number | |
| 38 | + | |
| 39 | + oem_id | |
| 40 | + - ASCII OEM identification | |
| 41 | + | |
| 42 | + oem_table_id | |
| 43 | + - ASCII OEM table identification | |
| 44 | + | |
| 45 | + oem_revision | |
| 46 | + - OEM revision number | |
| 47 | + | |
| 48 | + asl_compiler_id | |
| 49 | + - ASCII ASL compiler vendor ID | |
| 50 | + | |
| 51 | + asl_compiler_revision | |
| 52 | + - ASL compiler version | |
| @@ -15,22 +15,28 @@ KernelVersion: 5.2 · 14 unmodified lines | ||
| 15 | 15 | Description: |
| 16 | 16 | The attributes: |
| 17 | 17 | |
| 18 | − buffer_size configure the buffer size for this channel | |
| 18 | + buffer_size | |
| 19 | + configure the buffer size for this channel | |
| 19 | 20 | |
| 20 | − subbuffer_size configure the sub-buffer size for this channel | |
| 21 | + subbuffer_size | |
| 22 | + configure the sub-buffer size for this channel | |
| 21 | 23 | (needed for synchronous and isochrnous data) |
| 22 | 24 | |
| 23 | 25 | |
| 24 | − num_buffers configure number of buffers used for this | |
| 26 | + num_buffers | |
| 27 | + configure number of buffers used for this | |
| 25 | 28 | channel |
| 26 | 29 | |
| 27 | − datatype configure type of data that will travel over | |
| 30 | + datatype | |
| 31 | + configure type of data that will travel over | |
| 28 | 32 | this channel |
| 29 | 33 | |
| 30 | − direction configure whether this link will be an input | |
| 34 | + direction | |
| 35 | + configure whether this link will be an input | |
| 31 | 36 | or output |
| 32 | 37 | |
| 33 | − dbr_size configure DBR data buffer size (this is used | |
| 38 | + dbr_size | |
| 39 | + configure DBR data buffer size (this is used | |
| 34 | 40 | for MediaLB communication only) |
| 35 | 41 | |
| 36 | 42 | packets_per_xact |
| @@ -39,18 +45,23 @@ Description: · 2 unmodified lines | ||
| 39 | 45 | transmitted via USB (this is used for USB |
| 40 | 46 | communication only) |
| 41 | 47 | |
| 42 | − device name of the device the link is to be attached to | |
| 48 | + device | |
| 49 | + name of the device the link is to be attached to | |
| 43 | 50 | |
| 44 | − channel name of the channel the link is to be attached to | |
| 51 | + channel | |
| 52 | + name of the channel the link is to be attached to | |
| 45 | 53 | |
| 46 | − comp_params pass parameters needed by some components | |
| 54 | + comp_params | |
| 55 | + pass parameters needed by some components | |
| 47 | 56 | |
| 48 | − create_link write '1' to this attribute to trigger the | |
| 57 | + create_link | |
| 58 | + write '1' to this attribute to trigger the | |
| 49 | 59 | creation of the link. In case of speculative |
| 50 | 60 | configuration, the creation is post-poned until |
| 51 | 61 | a physical device is being attached to the bus. |
| 52 | 62 | |
| 53 | − destroy_link write '1' to this attribute to destroy an | |
| 63 | + destroy_link | |
| 64 | + write '1' to this attribute to destroy an | |
| 54 | 65 | active link |
| 55 | 66 | |
| 56 | 67 | What: /sys/kernel/config/most_video/<link> |
| @@ -59,22 +70,28 @@ KernelVersion: 5.2 · 2 unmodified lines | ||
| 59 | 70 | Description: |
| 60 | 71 | The attributes: |
| 61 | 72 | |
| 62 | − buffer_size configure the buffer size for this channel | |
| 73 | + buffer_size | |
| 74 | + configure the buffer size for this channel | |
| 63 | 75 | |
| 64 | − subbuffer_size configure the sub-buffer size for this channel | |
| 76 | + subbuffer_size | |
| 77 | + configure the sub-buffer size for this channel | |
| 65 | 78 | (needed for synchronous and isochrnous data) |
| 66 | 79 | |
| 67 | 80 | |
| 68 | − num_buffers configure number of buffers used for this | |
| 81 | + num_buffers | |
| 82 | + configure number of buffers used for this | |
| 69 | 83 | channel |
| 70 | 84 | |
| 71 | − datatype configure type of data that will travel over | |
| 85 | + datatype | |
| 86 | + configure type of data that will travel over | |
| 72 | 87 | this channel |
| 73 | 88 | |
| 74 | − direction configure whether this link will be an input | |
| 89 | + direction | |
| 90 | + configure whether this link will be an input | |
| 75 | 91 | or output |
| 76 | 92 | |
| 77 | − dbr_size configure DBR data buffer size (this is used | |
| 93 | + dbr_size | |
| 94 | + configure DBR data buffer size (this is used | |
| 78 | 95 | for MediaLB communication only) |
| 79 | 96 | |
| 80 | 97 | packets_per_xact |
| @@ -83,18 +100,23 @@ Description: · 2 unmodified lines | ||
| 83 | 100 | transmitted via USB (this is used for USB |
| 84 | 101 | communication only) |
| 85 | 102 | |
| 86 | − device name of the device the link is to be attached to | |
| 103 | + device | |
| 104 | + name of the device the link is to be attached to | |
| 87 | 105 | |
| 88 | − channel name of the channel the link is to be attached to | |
| 106 | + channel | |
| 107 | + name of the channel the link is to be attached to | |
| 89 | 108 | |
| 90 | − comp_params pass parameters needed by some components | |
| 109 | + comp_params | |
| 110 | + pass parameters needed by some components | |
| 91 | 111 | |
| 92 | − create_link write '1' to this attribute to trigger the | |
| 112 | + create_link | |
| 113 | + write '1' to this attribute to trigger the | |
| 93 | 114 | creation of the link. In case of speculative |
| 94 | 115 | configuration, the creation is post-poned until |
| 95 | 116 | a physical device is being attached to the bus. |
| 96 | 117 | |
| 97 | − destroy_link write '1' to this attribute to destroy an | |
| 118 | + destroy_link | |
| 119 | + write '1' to this attribute to destroy an | |
| 98 | 120 | active link |
| 99 | 121 | |
| 100 | 122 | What: /sys/kernel/config/most_net/<link> |
| @@ -103,22 +125,28 @@ KernelVersion: 5.2 · 2 unmodified lines | ||
| 103 | 125 | Description: |
| 104 | 126 | The attributes: |
| 105 | 127 | |
| 106 | − buffer_size configure the buffer size for this channel | |
| 128 | + buffer_size | |
| 129 | + configure the buffer size for this channel | |
| 107 | 130 | |
| 108 | − subbuffer_size configure the sub-buffer size for this channel | |
| 131 | + subbuffer_size | |
| 132 | + configure the sub-buffer size for this channel | |
| 109 | 133 | (needed for synchronous and isochrnous data) |
| 110 | 134 | |
| 111 | 135 | |
| 112 | − num_buffers configure number of buffers used for this | |
| 136 | + num_buffers | |
| 137 | + configure number of buffers used for this | |
| 113 | 138 | channel |
| 114 | 139 | |
| 115 | − datatype configure type of data that will travel over | |
| 140 | + datatype | |
| 141 | + configure type of data that will travel over | |
| 116 | 142 | this channel |
| 117 | 143 | |
| 118 | − direction configure whether this link will be an input | |
| 144 | + direction | |
| 145 | + configure whether this link will be an input | |
| 119 | 146 | or output |
| 120 | 147 | |
| 121 | − dbr_size configure DBR data buffer size (this is used | |
| 148 | + dbr_size | |
| 149 | + configure DBR data buffer size (this is used | |
| 122 | 150 | for MediaLB communication only) |
| 123 | 151 | |
| 124 | 152 | packets_per_xact |
| @@ -127,18 +155,23 @@ Description: · 2 unmodified lines | ||
| 127 | 155 | transmitted via USB (this is used for USB |
| 128 | 156 | communication only) |
| 129 | 157 | |
| 130 | − device name of the device the link is to be attached to | |
| 158 | + device | |
| 159 | + name of the device the link is to be attached to | |
| 131 | 160 | |
| 132 | − channel name of the channel the link is to be attached to | |
| 161 | + channel | |
| 162 | + name of the channel the link is to be attached to | |
| 133 | 163 | |
| 134 | − comp_params pass parameters needed by some components | |
| 164 | + comp_params | |
| 165 | + pass parameters needed by some components | |
| 135 | 166 | |
| 136 | − create_link write '1' to this attribute to trigger the | |
| 167 | + create_link | |
| 168 | + write '1' to this attribute to trigger the | |
| 137 | 169 | creation of the link. In case of speculative |
| 138 | 170 | configuration, the creation is post-poned until |
| 139 | 171 | a physical device is being attached to the bus. |
| 140 | 172 | |
| 141 | − destroy_link write '1' to this attribute to destroy an | |
| 173 | + destroy_link | |
| 174 | + write '1' to this attribute to destroy an | |
| 142 | 175 | active link |
| 143 | 176 | |
| 144 | 177 | What: /sys/kernel/config/most_sound/<card> |
| @@ -147,7 +180,8 @@ KernelVersion: 5.2 · 2 unmodified lines | ||
| 147 | 180 | Description: |
| 148 | 181 | The attributes: |
| 149 | 182 | |
| 150 | − create_card write '1' to this attribute to trigger the | |
| 183 | + create_card | |
| 184 | + write '1' to this attribute to trigger the | |
| 151 | 185 | registration of the sound card with the ALSA |
| 152 | 186 | subsystem. |
| 153 | 187 | |
| @@ -157,22 +191,28 @@ KernelVersion: 5.2 · 3 unmodified lines | ||
| 157 | 191 | Description: |
| 158 | 192 | The attributes: |
| 159 | 193 | |
| 160 | − buffer_size configure the buffer size for this channel | |
| 194 | + buffer_size | |
| 195 | + configure the buffer size for this channel | |
| 161 | 196 | |
| 162 | − subbuffer_size configure the sub-buffer size for this channel | |
| 197 | + subbuffer_size | |
| 198 | + configure the sub-buffer size for this channel | |
| 163 | 199 | (needed for synchronous and isochrnous data) |
| 164 | 200 | |
| 165 | 201 | |
| 166 | − num_buffers configure number of buffers used for this | |
| 202 | + num_buffers | |
| 203 | + configure number of buffers used for this | |
| 167 | 204 | channel |
| 168 | 205 | |
| 169 | − datatype configure type of data that will travel over | |
| 206 | + datatype | |
| 207 | + configure type of data that will travel over | |
| 170 | 208 | this channel |
| 171 | 209 | |
| 172 | − direction configure whether this link will be an input | |
| 210 | + direction | |
| 211 | + configure whether this link will be an input | |
| 173 | 212 | or output |
| 174 | 213 | |
| 175 | − dbr_size configure DBR data buffer size (this is used | |
| 214 | + dbr_size | |
| 215 | + configure DBR data buffer size (this is used | |
| 176 | 216 | for MediaLB communication only) |
| 177 | 217 | |
| 178 | 218 | packets_per_xact |
| @@ -181,16 +221,21 @@ Description: · 2 unmodified lines | ||
| 181 | 221 | transmitted via USB (this is used for USB |
| 182 | 222 | communication only) |
| 183 | 223 | |
| 184 | − device name of the device the link is to be attached to | |
| 224 | + device | |
| 225 | + name of the device the link is to be attached to | |
| 185 | 226 | |
| 186 | − channel name of the channel the link is to be attached to | |
| 227 | + channel | |
| 228 | + name of the channel the link is to be attached to | |
| 187 | 229 | |
| 188 | − comp_params pass parameters needed by some components | |
| 230 | + comp_params | |
| 231 | + pass parameters needed by some components | |
| 189 | 232 | |
| 190 | − create_link write '1' to this attribute to trigger the | |
| 233 | + create_link | |
| 234 | + write '1' to this attribute to trigger the | |
| 191 | 235 | creation of the link. In case of speculative |
| 192 | 236 | configuration, the creation is post-poned until |
| 193 | 237 | a physical device is being attached to the bus. |
| 194 | 238 | |
| 195 | − destroy_link write '1' to this attribute to destroy an | |
| 239 | + destroy_link | |
| 240 | + write '1' to this attribute to destroy an | |
| 196 | 241 | active link |
| @@ -10,22 +10,24 @@ Description: · 9 unmodified lines | ||
| 10 | 10 | This interfaces can be used to show spear's PCIe device capability. |
| 11 | 11 | |
| 12 | 12 | Nodes are only visible when configfs is mounted. To mount configfs |
| 13 | − in /config directory use: | |
| 14 | − # mount -t configfs none /config/ | |
| 13 | + in /config directory use:: | |
| 15 | 14 | |
| 16 | − For nth PCIe Device Controller | |
| 17 | − /config/pcie-gadget.n/ | |
| 18 | − link ... used to enable ltssm and read its status. | |
| 19 | − int_type ...used to configure and read type of supported | |
| 20 | − interrupt | |
| 21 | − no_of_msi ... used to configure number of MSI vector needed and | |
| 15 | + # mount -t configfs none /config/ | |
| 16 | + | |
| 17 | + For nth PCIe Device Controller /config/pcie-gadget.n/: | |
| 18 | + | |
| 19 | + =============== ====================================================== | |
| 20 | + link used to enable ltssm and read its status. | |
| 21 | + int_type used to configure and read type of supported interrupt | |
| 22 | + no_of_msi used to configure number of MSI vector needed and | |
| 22 | 23 | to read no of MSI granted. |
| 23 | − inta ... write 1 to assert INTA and 0 to de-assert. | |
| 24 | − send_msi ... write MSI vector to be sent. | |
| 25 | − vendor_id ... used to write and read vendor id (hex) | |
| 26 | − device_id ... used to write and read device id (hex) | |
| 27 | − bar0_size ... used to write and read bar0_size | |
| 28 | − bar0_address ... used to write and read bar0 mapped area in hex. | |
| 29 | − bar0_rw_offset ... used to write and read offset of bar0 where | |
| 30 | − bar0_data will be written or read. | |
| 31 | − bar0_data ... used to write and read data at bar0_rw_offset. | |
| 24 | + inta write 1 to assert INTA and 0 to de-assert. | |
| 25 | + send_msi write MSI vector to be sent. | |
| 26 | + vendor_id used to write and read vendor id (hex) | |
| 27 | + device_id used to write and read device id (hex) | |
| 28 | + bar0_size used to write and read bar0_size | |
| 29 | + bar0_address used to write and read bar0 mapped area in hex. | |
| 30 | + bar0_rw_offset used to write and read offset of bar0 where bar0_data | |
| 31 | + will be written or read. | |
| 32 | + bar0_data used to write and read data at bar0_rw_offset. | |
| 33 | + =============== ====================================================== | |
| @@ -12,22 +12,24 @@ Description: · 11 unmodified lines | ||
| 12 | 12 | |
| 13 | 13 | The attributes of a gadget: |
| 14 | 14 | |
| 15 | − UDC - bind a gadget to UDC/unbind a gadget; | |
| 16 | − write UDC's name found in /sys/class/udc/* | |
| 17 | − to bind a gadget, empty string "" to unbind. | |
| 18 | − | |
| 19 | − max_speed - maximum speed the driver supports. Valid | |
| 20 | − names are super-speed-plus, super-speed, | |
| 21 | − high-speed, full-speed, and low-speed. | |
| 22 | − | |
| 23 | − bDeviceClass - USB device class code | |
| 24 | − bDeviceSubClass - USB device subclass code | |
| 25 | − bDeviceProtocol - USB device protocol code | |
| 26 | − bMaxPacketSize0 - maximum endpoint 0 packet size | |
| 27 | − bcdDevice - bcd device release number | |
| 28 | − bcdUSB - bcd USB specification version number | |
| 29 | − idProduct - product ID | |
| 30 | − idVendor - vendor ID | |
| 15 | + ================ ============================================ | |
| 16 | + UDC bind a gadget to UDC/unbind a gadget; | |
| 17 | + write UDC's name found in /sys/class/udc/* | |
| 18 | + to bind a gadget, empty string "" to unbind. | |
| 19 | + | |
| 20 | + max_speed maximum speed the driver supports. Valid | |
| 21 | + names are super-speed-plus, super-speed, | |
| 22 | + high-speed, full-speed, and low-speed. | |
| 23 | + | |
| 24 | + bDeviceClass USB device class code | |
| 25 | + bDeviceSubClass USB device subclass code | |
| 26 | + bDeviceProtocol USB device protocol code | |
| 27 | + bMaxPacketSize0 maximum endpoint 0 packet size | |
| 28 | + bcdDevice bcd device release number | |
| 29 | + bcdUSB bcd USB specification version number | |
| 30 | + idProduct product ID | |
| 31 | + idVendor vendor ID | |
| 32 | + ================ ============================================ | |
| 31 | 33 | |
| 32 | 34 | What: /config/usb-gadget/gadget/configs |
| 33 | 35 | Date: Jun 2013 |
| @@ -41,8 +43,10 @@ KernelVersion: 3.11 · 7 unmodified lines | ||
| 41 | 43 | Description: |
| 42 | 44 | The attributes of a configuration: |
| 43 | 45 | |
| 44 | − bmAttributes - configuration characteristics | |
| 45 | − MaxPower - maximum power consumption from the bus | |
| 46 | + ================ ====================================== | |
| 47 | + bmAttributes configuration characteristics | |
| 48 | + MaxPower maximum power consumption from the bus | |
| 49 | + ================ ====================================== | |
| 46 | 50 | |
| 47 | 51 | What: /config/usb-gadget/gadget/configs/config/strings |
| 48 | 52 | Date: Jun 2013 |
| @@ -57,7 +61,9 @@ KernelVersion: 3.11 · 8 unmodified lines | ||
| 57 | 61 | Description: |
| 58 | 62 | The attributes: |
| 59 | 63 | |
| 60 | − configuration - configuration description | |
| 64 | + ================ ========================= | |
| 65 | + configuration configuration description | |
| 66 | + ================ ========================= | |
| 61 | 67 | |
| 62 | 68 | |
| 63 | 69 | What: /config/usb-gadget/gadget/functions |
| @@ -76,8 +82,10 @@ Description: · 12 unmodified lines | ||
| 76 | 82 | |
| 77 | 83 | The attributes: |
| 78 | 84 | |
| 79 | − compatible_id - 8-byte string for "Compatible ID" | |
| 80 | − sub_compatible_id - 8-byte string for "Sub Compatible ID" | |
| 85 | + ================= ===================================== | |
| 86 | + compatible_id 8-byte string for "Compatible ID" | |
| 87 | + sub_compatible_id 8-byte string for "Sub Compatible ID" | |
| 88 | + ================= ===================================== | |
| 81 | 89 | |
| 82 | 90 | What: /config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property> |
| 83 | 91 | Date: May 2014 |
| @@ -89,16 +97,19 @@ Description: · 5 unmodified lines | ||
| 89 | 97 | |
| 90 | 98 | The attributes: |
| 91 | 99 | |
| 92 | − type - value 1..7 for interpreting the data | |
| 93 | − 1: unicode string | |
| 94 | − 2: unicode string with environment variable | |
| 95 | − 3: binary | |
| 96 | − 4: little-endian 32-bit | |
| 97 | − 5: big-endian 32-bit | |
| 98 | − 6: unicode string with a symbolic link | |
| 99 | − 7: multiple unicode strings | |
| 100 | − data - blob of data to be interpreted depending on | |
| 100 | + ===== =============================================== | |
| 101 | + type value 1..7 for interpreting the data | |
| 102 | + | |
| 103 | + - 1: unicode string | |
| 104 | + - 2: unicode string with environment variable | |
| 105 | + - 3: binary | |
| 106 | + - 4: little-endian 32-bit | |
| 107 | + - 5: big-endian 32-bit | |
| 108 | + - 6: unicode string with a symbolic link | |
| 109 | + - 7: multiple unicode strings | |
| 110 | + data blob of data to be interpreted depending on | |
| 101 | 111 | type |
| 112 | + ===== =============================================== | |
| 102 | 113 | |
| 103 | 114 | What: /config/usb-gadget/gadget/strings |
| 104 | 115 | Date: Jun 2013 |
| @@ -113,9 +124,11 @@ KernelVersion: 3.11 · 8 unmodified lines | ||
| 113 | 124 | Description: |
| 114 | 125 | The attributes: |
| 115 | 126 | |
| 116 | − serialnumber - gadget's serial number (string) | |
| 117 | − product - gadget's product description | |
| 118 | − manufacturer - gadget's manufacturer description | |
| 127 | + ============ ================================= | |
| 128 | + serialnumber gadget's serial number (string) | |
| 129 | + product gadget's product description | |
| 130 | + manufacturer gadget's manufacturer description | |
| 131 | + ============ ================================= | |
| 119 | 132 | |
| 120 | 133 | What: /config/usb-gadget/gadget/os_desc |
| 121 | 134 | Date: May 2014 |
| @@ -123,8 +136,10 @@ KernelVersion: 3.16 · 1 unmodified line | ||
| 123 | 136 | Description: |
| 124 | 137 | This group contains "OS String" extension handling attributes. |
| 125 | 138 | |
| 126 | − use - flag turning "OS Desctiptors" support on/off | |
| 127 | − b_vendor_code - one-byte value used for custom per-device and | |
| 139 | + ============= =============================================== | |
| 140 | + use flag turning "OS Desctiptors" support on/off | |
| 141 | + b_vendor_code one-byte value used for custom per-device and | |
| 128 | 142 | per-interface requests |
| 129 | − qw_sign - an identifier to be reported as "OS String" | |
| 143 | + qw_sign an identifier to be reported as "OS String" | |
| 130 | 144 | proper |
| 145 | + ============= =============================================== | |
| @@ -4,13 +4,17 @@ KernelVersion: 3.11 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − ifname - network device interface name associated with | |
| 7 | + ifname | |
| 8 | + - network device interface name associated with | |
| 8 | 9 | this function instance |
| 9 | − qmult - queue length multiplier for high and | |
| 10 | + qmult | |
| 11 | + - queue length multiplier for high and | |
| 10 | 12 | super speed |
| 11 | − host_addr - MAC address of host's end of this | |
| 13 | + host_addr | |
| 14 | + - MAC address of host's end of this | |
| 12 | 15 | Ethernet over USB link |
| 13 | − dev_addr - MAC address of device's end of this | |
| 16 | + dev_addr | |
| 17 | + - MAC address of device's end of this | |
| 14 | 18 | Ethernet over USB link |
| 15 | 19 | |
| 16 | 20 | |
| @@ -4,11 +4,13 @@ KernelVersion: 3.11 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − ifname - network device interface name associated with | |
| 7 | + ========== ============================================= | |
| 8 | + ifname network device interface name associated with | |
| 8 | 9 | this function instance |
| 9 | − qmult - queue length multiplier for high and | |
| 10 | + qmult queue length multiplier for high and | |
| 10 | 11 | super speed |
| 11 | − host_addr - MAC address of host's end of this | |
| 12 | + host_addr MAC address of host's end of this | |
| 12 | 13 | Ethernet over USB link |
| 13 | − dev_addr - MAC address of device's end of this | |
| 14 | + dev_addr MAC address of device's end of this | |
| 14 | 15 | Ethernet over USB link |
| 16 | + ========== ============================================= | |
| @@ -4,8 +4,10 @@ KernelVersion: 3.19 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − protocol - HID protocol to use | |
| 8 | − report_desc - blob corresponding to HID report descriptors | |
| 7 | + ============= ============================================ | |
| 8 | + protocol HID protocol to use | |
| 9 | + report_desc blob corresponding to HID report descriptors | |
| 9 | 10 | except the data passed through /dev/hidg<N> |
| 10 | − report_length - HID report length | |
| 11 | − subclass - HID device subclass to use | |
| 11 | + report_length HID report length | |
| 12 | + subclass HID device subclass to use | |
| 13 | + ============= ============================================ | |
| @@ -4,5 +4,7 @@ KernelVersion: 3.13 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − qlen - depth of loopback queue | |
| 8 | − buflen - buffer length | |
| 7 | + ======= ======================= | |
| 8 | + qlen depth of loopback queue | |
| 9 | + buflen buffer length | |
| 10 | + ======= ======================= | |
| @@ -4,12 +4,14 @@ KernelVersion: 3.13 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − stall - Set to permit function to halt bulk endpoints. | |
| 7 | + =========== ============================================== | |
| 8 | + stall Set to permit function to halt bulk endpoints. | |
| 8 | 9 | Disabled on some USB devices known not to work |
| 9 | 10 | correctly. You should set it to true. |
| 10 | − num_buffers - Number of pipeline buffers. Valid numbers | |
| 11 | + num_buffers Number of pipeline buffers. Valid numbers | |
| 11 | 12 | are 2..4. Available only if |
| 12 | 13 | CONFIG_USB_GADGET_DEBUG_FILES is set. |
| 14 | + =========== ============================================== | |
| 13 | 15 | |
| 14 | 16 | What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name |
| 15 | 17 | Date: Oct 2013 |
| @@ -17,15 +19,17 @@ KernelVersion: 3.13 · 1 unmodified line | ||
| 17 | 19 | Description: |
| 18 | 20 | The attributes: |
| 19 | 21 | |
| 20 | − file - The path to the backing file for the LUN. | |
| 22 | + =========== ============================================== | |
| 23 | + file The path to the backing file for the LUN. | |
| 21 | 24 | Required if LUN is not marked as removable. |
| 22 | − ro - Flag specifying access to the LUN shall be | |
| 25 | + ro Flag specifying access to the LUN shall be | |
| 23 | 26 | read-only. This is implied if CD-ROM emulation |
| 24 | 27 | is enabled as well as when it was impossible |
| 25 | 28 | to open "filename" in R/W mode. |
| 26 | − removable - Flag specifying that LUN shall be indicated as | |
| 29 | + removable Flag specifying that LUN shall be indicated as | |
| 27 | 30 | being removable. |
| 28 | − cdrom - Flag specifying that LUN shall be reported as | |
| 31 | + cdrom Flag specifying that LUN shall be reported as | |
| 29 | 32 | being a CD-ROM. |
| 30 | − nofua - Flag specifying that FUA flag | |
| 33 | + nofua Flag specifying that FUA flag | |
| 31 | 34 | in SCSI WRITE(10,12) |
| 35 | + =========== ============================================== | |
| @@ -4,9 +4,11 @@ KernelVersion: 3.19 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − index - index value for the USB MIDI adapter | |
| 8 | − id - ID string for the USB MIDI adapter | |
| 9 | − buflen - MIDI buffer length | |
| 10 | − qlen - USB read request queue length | |
| 11 | − in_ports - number of MIDI input ports | |
| 12 | − out_ports - number of MIDI output ports | |
| 7 | + ========== ==================================== | |
| 8 | + index index value for the USB MIDI adapter | |
| 9 | + id ID string for the USB MIDI adapter | |
| 10 | + buflen MIDI buffer length | |
| 11 | + qlen USB read request queue length | |
| 12 | + in_ports number of MIDI input ports | |
| 13 | + out_ports number of MIDI output ports | |
| 14 | + ========== ==================================== | |
| @@ -4,6 +4,8 @@ KernelVersion: 4.1 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − pnp_string - Data to be passed to the host in pnp string | |
| 8 | − q_len - Number of requests per endpoint | |
| 7 | + ========== =========================================== | |
| 8 | + pnp_string Data to be passed to the host in pnp string | |
| 9 | + q_len Number of requests per endpoint | |
| 10 | + ========== =========================================== | |
| 9 | 11 | |
| @@ -4,14 +4,16 @@ KernelVersion: 3.11 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − ifname - network device interface name associated with | |
| 7 | + ========= ============================================= | |
| 8 | + ifname network device interface name associated with | |
| 8 | 9 | this function instance |
| 9 | − qmult - queue length multiplier for high and | |
| 10 | + qmult queue length multiplier for high and | |
| 10 | 11 | super speed |
| 11 | − host_addr - MAC address of host's end of this | |
| 12 | + host_addr MAC address of host's end of this | |
| 12 | 13 | Ethernet over USB link |
| 13 | − dev_addr - MAC address of device's end of this | |
| 14 | + dev_addr MAC address of device's end of this | |
| 14 | 15 | Ethernet over USB link |
| 15 | − class - USB interface class, default is 02 (hex) | |
| 16 | − subclass - USB interface subclass, default is 06 (hex) | |
| 17 | − protocol - USB interface protocol, default is 00 (hex) | |
| 16 | + class USB interface class, default is 02 (hex) | |
| 17 | + subclass USB interface subclass, default is 06 (hex) | |
| 18 | + protocol USB interface protocol, default is 00 (hex) | |
| 19 | + ========= ============================================= | |
| @@ -4,11 +4,13 @@ KernelVersion: 3.13 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − pattern - 0 (all zeros), 1 (mod63), 2 (none) | |
| 8 | − isoc_interval - 1..16 | |
| 9 | − isoc_maxpacket - 0 - 1023 (fs), 0 - 1024 (hs/ss) | |
| 10 | − isoc_mult - 0..2 (hs/ss only) | |
| 11 | − isoc_maxburst - 0..15 (ss only) | |
| 12 | − buflen - buffer length | |
| 13 | − bulk_qlen - depth of queue for bulk | |
| 14 | − iso_qlen - depth of queue for iso | |
| 7 | + ============== ================================== | |
| 8 | + pattern 0 (all zeros), 1 (mod63), 2 (none) | |
| 9 | + isoc_interval 1..16 | |
| 10 | + isoc_maxpacket 0 - 1023 (fs), 0 - 1024 (hs/ss) | |
| 11 | + isoc_mult 0..2 (hs/ss only) | |
| 12 | + isoc_maxburst 0..15 (ss only) | |
| 13 | + buflen buffer length | |
| 14 | + bulk_qlen depth of queue for bulk | |
| 15 | + iso_qlen depth of queue for iso | |
| 16 | + ============== ================================== | |
| @@ -4,11 +4,13 @@ KernelVersion: 3.11 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − ifname - network device interface name associated with | |
| 7 | + ========== ============================================= | |
| 8 | + ifname network device interface name associated with | |
| 8 | 9 | this function instance |
| 9 | − qmult - queue length multiplier for high and | |
| 10 | + qmult queue length multiplier for high and | |
| 10 | 11 | super speed |
| 11 | − host_addr - MAC address of host's end of this | |
| 12 | + host_addr MAC address of host's end of this | |
| 12 | 13 | Ethernet over USB link |
| 13 | − dev_addr - MAC address of device's end of this | |
| 14 | + dev_addr MAC address of device's end of this | |
| 14 | 15 | Ethernet over USB link |
| 16 | + ========== ============================================= | |
| @@ -4,11 +4,13 @@ KernelVersion: 4.14 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − c_chmask - capture channel mask | |
| 8 | − c_srate - capture sampling rate | |
| 9 | − c_ssize - capture sample size (bytes) | |
| 10 | − p_chmask - playback channel mask | |
| 11 | − p_srate - playback sampling rate | |
| 12 | − p_ssize - playback sample size (bytes) | |
| 13 | − req_number - the number of pre-allocated request | |
| 14 | − for both capture and playback | |
| 7 | + ========== =================================== | |
| 8 | + c_chmask capture channel mask | |
| 9 | + c_srate capture sampling rate | |
| 10 | + c_ssize capture sample size (bytes) | |
| 11 | + p_chmask playback channel mask | |
| 12 | + p_srate playback sampling rate | |
| 13 | + p_ssize playback sample size (bytes) | |
| 14 | + req_number the number of pre-allocated request | |
| 15 | + for both capture and playback | |
| 16 | + ========== =================================== | |
| @@ -4,9 +4,11 @@ KernelVersion: 3.18 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The attributes: |
| 6 | 6 | |
| 7 | − c_chmask - capture channel mask | |
| 8 | − c_srate - capture sampling rate | |
| 9 | − c_ssize - capture sample size (bytes) | |
| 10 | − p_chmask - playback channel mask | |
| 11 | − p_srate - playback sampling rate | |
| 12 | − p_ssize - playback sample size (bytes) | |
| 7 | + ========= ============================ | |
| 8 | + c_chmask capture channel mask | |
| 9 | + c_srate capture sampling rate | |
| 10 | + c_ssize capture sample size (bytes) | |
| 11 | + p_chmask playback channel mask | |
| 12 | + p_srate playback sampling rate | |
| 13 | + p_ssize playback sample size (bytes) | |
| 14 | + ========= ============================ | |
| @@ -3,9 +3,11 @@ Date: Dec 2014 · 2 unmodified lines | ||
| 3 | 3 | KernelVersion: 4.0 |
| 4 | 4 | Description: UVC function directory |
| 5 | 5 | |
| 6 | − streaming_maxburst - 0..15 (ss only) | |
| 7 | − streaming_maxpacket - 1..1023 (fs), 1..3072 (hs/ss) | |
| 8 | − streaming_interval - 1..16 | |
| 6 | + =================== ============================= | |
| 7 | + streaming_maxburst 0..15 (ss only) | |
| 8 | + streaming_maxpacket 1..1023 (fs), 1..3072 (hs/ss) | |
| 9 | + streaming_interval 1..16 | |
| 10 | + =================== ============================= | |
| 9 | 11 | |
| 10 | 12 | What: /config/usb-gadget/gadget/functions/uvc.name/control |
| 11 | 13 | Date: Dec 2014 |
| @@ -13,8 +15,11 @@ KernelVersion: 4.0 · 1 unmodified line | ||
| 13 | 15 | Description: Control descriptors |
| 14 | 16 | |
| 15 | 17 | All attributes read only: |
| 16 | − bInterfaceNumber - USB interface number for this | |
| 17 | − streaming interface | |
| 18 | + | |
| 19 | + ================ ============================= | |
| 20 | + bInterfaceNumber USB interface number for this | |
| 21 | + streaming interface | |
| 22 | + ================ ============================= | |
| 18 | 23 | |
| 19 | 24 | What: /config/usb-gadget/gadget/functions/uvc.name/control/class |
| 20 | 25 | Date: Dec 2014 |
| @@ -47,13 +52,16 @@ KernelVersion: 4.0 · 26 unmodified lines | ||
| 47 | 52 | Description: Default output terminal descriptors |
| 48 | 53 | |
| 49 | 54 | All attributes read only: |
| 50 | − iTerminal - index of string descriptor | |
| 51 | − bSourceID - id of the terminal to which this terminal | |
| 55 | + | |
| 56 | + ============== ============================================= | |
| 57 | + iTerminal index of string descriptor | |
| 58 | + bSourceID id of the terminal to which this terminal | |
| 52 | 59 | is connected |
| 53 | − bAssocTerminal - id of the input terminal to which this output | |
| 60 | + bAssocTerminal id of the input terminal to which this output | |
| 54 | 61 | terminal is associated |
| 55 | − wTerminalType - terminal type | |
| 56 | − bTerminalID - a non-zero id of this terminal | |
| 62 | + wTerminalType terminal type | |
| 63 | + bTerminalID a non-zero id of this terminal | |
| 64 | + ============== ============================================= | |
| 57 | 65 | |
| 58 | 66 | What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera |
| 59 | 67 | Date: Dec 2014 |
| @@ -66,16 +74,19 @@ KernelVersion: 4.0 · 6 unmodified lines | ||
| 66 | 74 | Description: Default camera terminal descriptors |
| 67 | 75 | |
| 68 | 76 | All attributes read only: |
| 69 | − bmControls - bitmap specifying which controls are | |
| 70 | − supported for the video stream | |
| 71 | − wOcularFocalLength - the value of Locular | |
| 72 | − wObjectiveFocalLengthMax- the value of Lmin | |
| 73 | − wObjectiveFocalLengthMin- the value of Lmax | |
| 74 | − iTerminal - index of string descriptor | |
| 75 | − bAssocTerminal - id of the output terminal to which | |
| 76 | − this terminal is connected | |
| 77 | − wTerminalType - terminal type | |
| 78 | − bTerminalID - a non-zero id of this terminal | |
| 77 | + | |
| 78 | + ======================== ==================================== | |
| 79 | + bmControls bitmap specifying which controls are | |
| 80 | + supported for the video stream | |
| 81 | + wOcularFocalLength the value of Locular | |
| 82 | + wObjectiveFocalLengthMax the value of Lmin | |
| 83 | + wObjectiveFocalLengthMin the value of Lmax | |
| 84 | + iTerminal index of string descriptor | |
| 85 | + bAssocTerminal id of the output terminal to which | |
| 86 | + this terminal is connected | |
| 87 | + wTerminalType terminal type | |
| 88 | + bTerminalID a non-zero id of this terminal | |
| 89 | + ======================== ==================================== | |
| 79 | 90 | |
| 80 | 91 | What: /config/usb-gadget/gadget/functions/uvc.name/control/processing |
| 81 | 92 | Date: Dec 2014 |
| @@ -88,13 +99,16 @@ KernelVersion: 4.0 · 6 unmodified lines | ||
| 88 | 99 | Description: Default processing unit descriptors |
| 89 | 100 | |
| 90 | 101 | All attributes read only: |
| 91 | − iProcessing - index of string descriptor | |
| 92 | − bmControls - bitmap specifying which controls are | |
| 102 | + | |
| 103 | + =============== ======================================== | |
| 104 | + iProcessing index of string descriptor | |
| 105 | + bmControls bitmap specifying which controls are | |
| 93 | 106 | supported for the video stream |
| 94 | − wMaxMultiplier - maximum digital magnification x100 | |
| 95 | − bSourceID - id of the terminal to which this unit is | |
| 107 | + wMaxMultiplier maximum digital magnification x100 | |
| 108 | + bSourceID id of the terminal to which this unit is | |
| 96 | 109 | connected |
| 97 | − bUnitID - a non-zero id of this unit | |
| 110 | + bUnitID a non-zero id of this unit | |
| 111 | + =============== ======================================== | |
| 98 | 112 | |
| 99 | 113 | What: /config/usb-gadget/gadget/functions/uvc.name/control/header |
| 100 | 114 | Date: Dec 2014 |
| @@ -114,8 +128,11 @@ KernelVersion: 4.0 · 13 unmodified lines | ||
| 114 | 128 | Description: Streaming descriptors |
| 115 | 129 | |
| 116 | 130 | All attributes read only: |
| 117 | − bInterfaceNumber - USB interface number for this | |
| 118 | − streaming interface | |
| 131 | + | |
| 132 | + ================ ============================= | |
| 133 | + bInterfaceNumber USB interface number for this | |
| 134 | + streaming interface | |
| 135 | + ================ ============================= | |
| 119 | 136 | |
| 120 | 137 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class |
| 121 | 138 | Date: Dec 2014 |
| @@ -148,13 +165,16 @@ KernelVersion: 4.0 · 26 unmodified lines | ||
| 148 | 165 | Description: Default color matching descriptors |
| 149 | 166 | |
| 150 | 167 | All attributes read only: |
| 151 | − bMatrixCoefficients - matrix used to compute luma and | |
| 152 | − chroma values from the color primaries | |
| 153 | − bTransferCharacteristics- optoelectronic transfer | |
| 154 | − characteristic of the source picutre, | |
| 155 | − also called the gamma function | |
| 156 | − bColorPrimaries - color primaries and the reference | |
| 157 | − white | |
| 168 | + | |
| 169 | + ======================== ====================================== | |
| 170 | + bMatrixCoefficients matrix used to compute luma and | |
| 171 | + chroma values from the color primaries | |
| 172 | + bTransferCharacteristics optoelectronic transfer | |
| 173 | + characteristic of the source picutre, | |
| 174 | + also called the gamma function | |
| 175 | + bColorPrimaries color primaries and the reference | |
| 176 | + white | |
| 177 | + ======================== ====================================== | |
| 158 | 178 | |
| 159 | 179 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg |
| 160 | 180 | Date: Dec 2014 |
| @@ -168,47 +188,52 @@ Description: Specific MJPEG format descriptors · 7 unmodified lines | ||
| 168 | 188 | |
| 169 | 189 | All attributes read only, |
| 170 | 190 | except bmaControls and bDefaultFrameIndex: |
| 171 | − bFormatIndex - unique id for this format descriptor; | |
| 191 | + | |
| 192 | + =================== ===================================== | |
| 193 | + bFormatIndex unique id for this format descriptor; | |
| 172 | 194 | only defined after parent header is |
| 173 | 195 | linked into the streaming class; |
| 174 | 196 | read-only |
| 175 | − bmaControls - this format's data for bmaControls in | |
| 197 | + bmaControls this format's data for bmaControls in | |
| 176 | 198 | the streaming header |
| 177 | − bmInterfaceFlags - specifies interlace information, | |
| 199 | + bmInterfaceFlags specifies interlace information, | |
| 178 | 200 | read-only |
| 179 | − bAspectRatioY - the X dimension of the picture aspect | |
| 201 | + bAspectRatioY the X dimension of the picture aspect | |
| 180 | 202 | ratio, read-only |
| 181 | − bAspectRatioX - the Y dimension of the picture aspect | |
| 203 | + bAspectRatioX the Y dimension of the picture aspect | |
| 182 | 204 | ratio, read-only |
| 183 | − bmFlags - characteristics of this format, | |
| 205 | + bmFlags characteristics of this format, | |
| 184 | 206 | read-only |
| 185 | − bDefaultFrameIndex - optimum frame index for this stream | |
| 207 | + bDefaultFrameIndex optimum frame index for this stream | |
| 208 | + =================== ===================================== | |
| 186 | 209 | |
| 187 | 210 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name |
| 188 | 211 | Date: Dec 2014 |
| 189 | 212 | KernelVersion: 4.0 |
| 190 | 213 | Description: Specific MJPEG frame descriptors |
| 191 | 214 | |
| 192 | − bFrameIndex - unique id for this framedescriptor; | |
| 193 | − only defined after parent format is | |
| 194 | − linked into the streaming header; | |
| 195 | − read-only | |
| 196 | − dwFrameInterval - indicates how frame interval can be | |
| 197 | − programmed; a number of values | |
| 198 | − separated by newline can be specified | |
| 199 | − dwDefaultFrameInterval - the frame interval the device would | |
| 200 | − like to use as default | |
| 201 | − dwMaxVideoFrameBufferSize- the maximum number of bytes the | |
| 202 | − compressor will produce for a video | |
| 203 | − frame or still image | |
| 204 | − dwMaxBitRate - the maximum bit rate at the shortest | |
| 205 | − frame interval in bps | |
| 206 | − dwMinBitRate - the minimum bit rate at the longest | |
| 207 | − frame interval in bps | |
| 208 | − wHeight - height of decoded bitmap frame in px | |
| 209 | − wWidth - width of decoded bitmam frame in px | |
| 210 | − bmCapabilities - still image support, fixed frame-rate | |
| 211 | − support | |
| 215 | + ========================= ===================================== | |
| 216 | + bFrameIndex unique id for this framedescriptor; | |
| 217 | + only defined after parent format is | |
| 218 | + linked into the streaming header; | |
| 219 | + read-only | |
| 220 | + dwFrameInterval indicates how frame interval can be | |
| 221 | + programmed; a number of values | |
| 222 | + separated by newline can be specified | |
| 223 | + dwDefaultFrameInterval the frame interval the device would | |
| 224 | + like to use as default | |
| 225 | + dwMaxVideoFrameBufferSize the maximum number of bytes the | |
| 226 | + compressor will produce for a video | |
| 227 | + frame or still image | |
| 228 | + dwMaxBitRate the maximum bit rate at the shortest | |
| 229 | + frame interval in bps | |
| 230 | + dwMinBitRate the minimum bit rate at the longest | |
| 231 | + frame interval in bps | |
| 232 | + wHeight height of decoded bitmap frame in px | |
| 233 | + wWidth width of decoded bitmam frame in px | |
| 234 | + bmCapabilities still image support, fixed frame-rate | |
| 235 | + support | |
| 236 | + ========================= ===================================== | |
| 212 | 237 | |
| 213 | 238 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed |
| 214 | 239 | Date: Dec 2014 |
| @@ -220,50 +245,54 @@ Date: Dec 2014 · 5 unmodified lines | ||
| 220 | 245 | KernelVersion: 4.0 |
| 221 | 246 | Description: Specific uncompressed format descriptors |
| 222 | 247 | |
| 223 | − bFormatIndex - unique id for this format descriptor; | |
| 248 | + ================== ======================================= | |
| 249 | + bFormatIndex unique id for this format descriptor; | |
| 224 | 250 | only defined after parent header is |
| 225 | 251 | linked into the streaming class; |
| 226 | 252 | read-only |
| 227 | − bmaControls - this format's data for bmaControls in | |
| 253 | + bmaControls this format's data for bmaControls in | |
| 228 | 254 | the streaming header |
| 229 | − bmInterfaceFlags - specifies interlace information, | |
| 255 | + bmInterfaceFlags specifies interlace information, | |
| 230 | 256 | read-only |
| 231 | − bAspectRatioY - the X dimension of the picture aspect | |
| 257 | + bAspectRatioY the X dimension of the picture aspect | |
| 232 | 258 | ratio, read-only |
| 233 | − bAspectRatioX - the Y dimension of the picture aspect | |
| 259 | + bAspectRatioX the Y dimension of the picture aspect | |
| 234 | 260 | ratio, read-only |
| 235 | − bDefaultFrameIndex - optimum frame index for this stream | |
| 236 | − bBitsPerPixel - number of bits per pixel used to | |
| 261 | + bDefaultFrameIndex optimum frame index for this stream | |
| 262 | + bBitsPerPixel number of bits per pixel used to | |
| 237 | 263 | specify color in the decoded video |
| 238 | 264 | frame |
| 239 | − guidFormat - globally unique id used to identify | |
| 265 | + guidFormat globally unique id used to identify | |
| 240 | 266 | stream-encoding format |
| 267 | + ================== ======================================= | |
| 241 | 268 | |
| 242 | 269 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name |
| 243 | 270 | Date: Dec 2014 |
| 244 | 271 | KernelVersion: 4.0 |
| 245 | 272 | Description: Specific uncompressed frame descriptors |
| 246 | 273 | |
| 247 | − bFrameIndex - unique id for this framedescriptor; | |
| 248 | − only defined after parent format is | |
| 249 | − linked into the streaming header; | |
| 250 | − read-only | |
| 251 | − dwFrameInterval - indicates how frame interval can be | |
| 252 | − programmed; a number of values | |
| 253 | − separated by newline can be specified | |
| 254 | − dwDefaultFrameInterval - the frame interval the device would | |
| 255 | − like to use as default | |
| 256 | − dwMaxVideoFrameBufferSize- the maximum number of bytes the | |
| 257 | − compressor will produce for a video | |
| 258 | − frame or still image | |
| 259 | − dwMaxBitRate - the maximum bit rate at the shortest | |
| 260 | − frame interval in bps | |
| 261 | − dwMinBitRate - the minimum bit rate at the longest | |
| 262 | − frame interval in bps | |
| 263 | − wHeight - height of decoded bitmap frame in px | |
| 264 | − wWidth - width of decoded bitmam frame in px | |
| 265 | − bmCapabilities - still image support, fixed frame-rate | |
| 266 | − support | |
| 274 | + ========================= ===================================== | |
| 275 | + bFrameIndex unique id for this framedescriptor; | |
| 276 | + only defined after parent format is | |
| 277 | + linked into the streaming header; | |
| 278 | + read-only | |
| 279 | + dwFrameInterval indicates how frame interval can be | |
| 280 | + programmed; a number of values | |
| 281 | + separated by newline can be specified | |
| 282 | + dwDefaultFrameInterval the frame interval the device would | |
| 283 | + like to use as default | |
| 284 | + dwMaxVideoFrameBufferSize the maximum number of bytes the | |
| 285 | + compressor will produce for a video | |
| 286 | + frame or still image | |
| 287 | + dwMaxBitRate the maximum bit rate at the shortest | |
| 288 | + frame interval in bps | |
| 289 | + dwMinBitRate the minimum bit rate at the longest | |
| 290 | + frame interval in bps | |
| 291 | + wHeight height of decoded bitmap frame in px | |
| 292 | + wWidth width of decoded bitmam frame in px | |
| 293 | + bmCapabilities still image support, fixed frame-rate | |
| 294 | + support | |
| 295 | + ========================= ===================================== | |
| 267 | 296 | |
| 268 | 297 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header |
| 269 | 298 | Date: Dec 2014 |
| @@ -276,17 +305,20 @@ KernelVersion: 4.0 · 6 unmodified lines | ||
| 276 | 305 | Description: Specific streaming header descriptors |
| 277 | 306 | |
| 278 | 307 | All attributes read only: |
| 279 | − bTriggerUsage - how the host software will respond to | |
| 308 | + | |
| 309 | + ==================== ===================================== | |
| 310 | + bTriggerUsage how the host software will respond to | |
| 280 | 311 | a hardware trigger interrupt event |
| 281 | − bTriggerSupport - flag specifying if hardware | |
| 312 | + bTriggerSupport flag specifying if hardware | |
| 282 | 313 | triggering is supported |
| 283 | − bStillCaptureMethod - method of still image caputre | |
| 314 | + bStillCaptureMethod method of still image caputre | |
| 284 | 315 | supported |
| 285 | − bTerminalLink - id of the output terminal to which | |
| 316 | + bTerminalLink id of the output terminal to which | |
| 286 | 317 | the video endpoint of this interface |
| 287 | 318 | is connected |
| 288 | − bmInfo - capabilities of this video streaming | |
| 319 | + bmInfo capabilities of this video streaming | |
| 289 | 320 | interface |
| 321 | + ==================== ===================================== | |
| 290 | 322 | |
| 291 | 323 | What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name |
| 292 | 324 | Date: May 2018 |
| @@ -23,7 +23,7 @@ error injections without having to know the details of the driver-specific · 22 unmodified lines | ||
| 23 | 23 | commands. |
| 24 | 24 | |
| 25 | 25 | Note that the output of 'error-inj' shall be valid as input to 'error-inj'. |
| 26 | −So this must work: | |
| 26 | +So this must work:: | |
| 27 | 27 | |
| 28 | 28 | $ cat error-inj >einj.txt |
| 29 | 29 | $ cat einj.txt >error-inj |
| @@ -20,9 +20,13 @@ Description: Allow the root user to disable/enable in runtime the clock · 19 unmodified lines | ||
| 20 | 20 | The user can supply a bitmask value, each bit represents |
| 21 | 21 | a different engine to disable/enable its clock gating feature. |
| 22 | 22 | The bitmask is composed of 20 bits: |
| 23 | − 0 - 7 : DMA channels | |
| 24 | − 8 - 11 : MME engines | |
| 25 | − 12 - 19 : TPC engines | |
| 23 | + | |
| 24 | + ======= ============ | |
| 25 | + 0 - 7 DMA channels | |
| 26 | + 8 - 11 MME engines | |
| 27 | + 12 - 19 TPC engines | |
| 28 | + ======= ============ | |
| 29 | + | |
| 26 | 30 | The bit's location of a specific engine can be determined |
| 27 | 31 | using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values |
| 28 | 32 | are defined in uapi habanalabs.h file in enum gaudi_engine_id |
| @@ -59,6 +63,7 @@ Description: Allows the root user to read or write directly through the · 30 unmodified lines | ||
| 59 | 63 | the generic Linux user-space PCI mapping) because the DDR bar |
| 60 | 64 | is very small compared to the DDR memory and only the driver can |
| 61 | 65 | move the bar before and after the transaction. |
| 66 | + | |
| 62 | 67 | If the IOMMU is disabled, it also allows the root user to read |
| 63 | 68 | or write from the host a device VA of a host mapped memory |
| 64 | 69 | |
| @@ -73,6 +78,7 @@ Description: Allows the root user to read or write 64 bit data directly · 8 unmodified lines | ||
| 73 | 78 | the generic Linux user-space PCI mapping) because the DDR bar |
| 74 | 79 | is very small compared to the DDR memory and only the driver can |
| 75 | 80 | move the bar before and after the transaction. |
| 81 | + | |
| 76 | 82 | If the IOMMU is disabled, it also allows the root user to read |
| 77 | 83 | or write from the host a device VA of a host mapped memory |
| 78 | 84 | |
| @@ -6,7 +6,7 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | General information like which GPE is assigned to the EC and whether |
| 7 | 7 | the global lock should get used. |
| 8 | 8 | Knowing the EC GPE one can watch the amount of HW events related to |
| 9 | −the EC here (XY -> GPE number from /sys/kernel/debug/ec/*/gpe): | |
| 9 | +the EC here (XY -> GPE number from `/sys/kernel/debug/ec/*/gpe`): | |
| 10 | 10 | /sys/firmware/acpi/interrupts/gpeXY |
| 11 | 11 | |
| 12 | 12 | The io file is binary and a userspace tool located here: |
| @@ -14,7 +14,8 @@ ftp://ftp.suse.com/pub/people/trenn/sources/ec/ · 1 unmodified line | ||
| 14 | 14 | should get used to read out the 256 Embedded Controller registers |
| 15 | 15 | or writing to them. |
| 16 | 16 | |
| 17 | −CAUTION: Do not write to the Embedded Controller if you don't know | |
| 18 | −what you are doing! Rebooting afterwards also is a good idea. | |
| 19 | −This can influence the way your machine is cooled and fans may | |
| 20 | −not get switched on again after you did a wrong write. | |
| 17 | +CAUTION: | |
| 18 | + Do not write to the Embedded Controller if you don't know | |
| 19 | + what you are doing! Rebooting afterwards also is a good idea. | |
| 20 | + This can influence the way your machine is cooled and fans may | |
| 21 | + not get switched on again after you did a wrong write. | |
| @@ -2,13 +2,19 @@ What: /sys/kernel/debug/moxtet/input · 1 unmodified line | ||
| 2 | 2 | Date: March 2019 |
| 3 | 3 | KernelVersion: 5.3 |
| 4 | 4 | Contact: Marek Behún <marek.behun@nic.cz> |
| 5 | −Description: (R) Read input from the shift registers, in hexadecimal. | |
| 5 | +Description: (Read) Read input from the shift registers, in hexadecimal. | |
| 6 | 6 | Returns N+1 bytes, where N is the number of Moxtet connected |
| 7 | 7 | modules. The first byte is from the CPU board itself. |
| 8 | − Example: 101214 | |
| 9 | − 10: CPU board with SD card | |
| 10 | − 12: 2 = PCIe module, 1 = IRQ not active | |
| 11 | − 14: 4 = Peridot module, 1 = IRQ not active | |
| 8 | + | |
| 9 | + Example:: | |
| 10 | + | |
| 11 | + 101214 | |
| 12 | + | |
| 13 | + == ======================================= | |
| 14 | + 10 CPU board with SD card | |
| 15 | + 12 2 = PCIe module, 1 = IRQ not active | |
| 16 | + 14 4 = Peridot module, 1 = IRQ not active | |
| 17 | + == ======================================= | |
| 12 | 18 | |
| 13 | 19 | What: /sys/kernel/debug/moxtet/output |
| 14 | 20 | Date: March 2019 |
| @@ -17,7 +23,13 @@ Contact: Marek Behún <marek.behun@nic.cz> · 2 unmodified lines | ||
| 17 | 23 | Description: (RW) Read last written value to the shift registers, in |
| 18 | 24 | hexadecimal, or write values to the shift registers, also |
| 19 | 25 | in hexadecimal. |
| 20 | − Example: 0102 | |
| 21 | − 01: 01 was last written, or is to be written, to the | |
| 22 | − first module's shift register | |
| 23 | − 02: the same for second module | |
| 26 | + | |
| 27 | + Example:: | |
| 28 | + | |
| 29 | + 0102 | |
| 30 | + | |
| 31 | + == ================================================ | |
| 32 | + 01 01 was last written, or is to be written, to the | |
| 33 | + first module's shift register | |
| 34 | + 02 the same for second module | |
| 35 | + == ================================================ | |
| @@ -4,42 +4,42 @@ KernelVersion: 3.4 · 3 unmodified lines | ||
| 4 | 4 | Contact: Kent Yoder <key@linux.vnet.ibm.com> |
| 5 | 5 | Description: |
| 6 | 6 | |
| 7 | − These debugfs interfaces are built by the nx-crypto driver, built in | |
| 7 | +These debugfs interfaces are built by the nx-crypto driver, built in | |
| 8 | 8 | arch/powerpc/crypto/nx. |
| 9 | 9 | |
| 10 | 10 | Error Detection |
| 11 | 11 | =============== |
| 12 | 12 | |
| 13 | 13 | errors: |
| 14 | −- A u32 providing a total count of errors since the driver was loaded. The | |
| 15 | −only errors counted here are those returned from the hcall, H_COP_OP. | |
| 14 | + A u32 providing a total count of errors since the driver was loaded. The | |
| 15 | + only errors counted here are those returned from the hcall, H_COP_OP. | |
| 16 | 16 | |
| 17 | 17 | last_error: |
| 18 | −- The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not | |
| 19 | −recorded here (the hcall will retry until -EBUSY goes away). | |
| 18 | + The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not | |
| 19 | + recorded here (the hcall will retry until -EBUSY goes away). | |
| 20 | 20 | |
| 21 | 21 | last_error_pid: |
| 22 | −- The process ID of the process who received the most recent error from the | |
| 23 | −hcall. | |
| 22 | + The process ID of the process who received the most recent error from the | |
| 23 | + hcall. | |
| 24 | 24 | |
| 25 | 25 | Device Use |
| 26 | 26 | ========== |
| 27 | 27 | |
| 28 | 28 | aes_bytes: |
| 29 | −- The total number of bytes encrypted using AES in any of the driver's | |
| 30 | −supported modes. | |
| 29 | + The total number of bytes encrypted using AES in any of the driver's | |
| 30 | + supported modes. | |
| 31 | 31 | |
| 32 | 32 | aes_ops: |
| 33 | −- The total number of AES operations submitted to the hardware. | |
| 33 | + The total number of AES operations submitted to the hardware. | |
| 34 | 34 | |
| 35 | 35 | sha256_bytes: |
| 36 | −- The total number of bytes hashed by the hardware using SHA-256. | |
| 36 | + The total number of bytes hashed by the hardware using SHA-256. | |
| 37 | 37 | |
| 38 | 38 | sha256_ops: |
| 39 | −- The total number of SHA-256 operations submitted to the hardware. | |
| 39 | + The total number of SHA-256 operations submitted to the hardware. | |
| 40 | 40 | |
| 41 | 41 | sha512_bytes: |
| 42 | −- The total number of bytes hashed by the hardware using SHA-512. | |
| 42 | + The total number of bytes hashed by the hardware using SHA-512. | |
| 43 | 43 | |
| 44 | 44 | sha512_ops: |
| 45 | −- The total number of SHA-512 operations submitted to the hardware. | |
| 45 | + The total number of SHA-512 operations submitted to the hardware. | |
| @@ -4,16 +4,15 @@ KernelVersion: 2.6.20 · 3 unmodified lines | ||
| 4 | 4 | Contact: Thomas Maier <balagi@justmail.de> |
| 5 | 5 | Description: |
| 6 | 6 | |
| 7 | −debugfs interface | |
| 8 | −----------------- | |
| 9 | − | |
| 10 | 7 | The pktcdvd module (packet writing driver) creates |
| 11 | 8 | these files in debugfs: |
| 12 | 9 | |
| 13 | 10 | /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ |
| 14 | − info (0444) Lots of driver statistics and infos. | |
| 15 | 11 | |
| 16 | −Example: | |
| 17 | −------- | |
| 12 | + ==== ====== ==================================== | |
| 13 | + info 0444 Lots of driver statistics and infos. | |
| 14 | + ==== ====== ==================================== | |
| 15 | + | |
| 16 | +Example:: | |
| 18 | 17 | |
| 19 | −cat /sys/kernel/debug/pktcdvd/pktcdvd0/info | |
| 18 | + cat /sys/kernel/debug/pktcdvd/pktcdvd0/info | |
| @@ -2,8 +2,13 @@ What: /sys/kernel/debug/turris-mox-rwtm/do_sign · 1 unmodified line | ||
| 2 | 2 | Date: Jun 2020 |
| 3 | 3 | KernelVersion: 5.8 |
| 4 | 4 | Contact: Marek Behún <marek.behun@nic.cz> |
| 5 | −Description: (W) Message to sign with the ECDSA private key stored in | |
| 6 | − device's OTP. The message must be exactly 64 bytes (since | |
| 7 | − this is intended for SHA-512 hashes). | |
| 8 | − (R) The resulting signature, 136 bytes. This contains the R and | |
| 9 | − S values of the ECDSA signature, both in big-endian format. | |
| 5 | +Description: | |
| 6 | + | |
| 7 | + ======= =========================================================== | |
| 8 | + (Write) Message to sign with the ECDSA private key stored in | |
| 9 | + device's OTP. The message must be exactly 64 bytes | |
| 10 | + (since this is intended for SHA-512 hashes). | |
| 11 | + (Read) The resulting signature, 136 bytes. This contains the | |
| 12 | + R and S values of the ECDSA signature, both in | |
| 13 | + big-endian format. | |
| 14 | + ======= =========================================================== | |
| @@ -27,16 +27,17 @@ Description: · 26 unmodified lines | ||
| 27 | 27 | for writing, two for the type and at least a single byte of |
| 28 | 28 | data. |
| 29 | 29 | |
| 30 | − Example: | |
| 31 | − // Request EC info type 3 (EC firmware build date) | |
| 32 | − // Corresponds with sending type 0x00f0 with | |
| 33 | − // MBOX = [38, 00, 03, 00] | |
| 34 | − $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw | |
| 35 | − // View the result. The decoded ASCII result "12/21/18" is | |
| 36 | − // included after the raw hex. | |
| 37 | − // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] | |
| 38 | − $ cat /sys/kernel/debug/wilco_ec/raw | |
| 39 | − 00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00 ..12/21/18.8... | |
| 30 | + Example:: | |
| 31 | + | |
| 32 | + // Request EC info type 3 (EC firmware build date) | |
| 33 | + // Corresponds with sending type 0x00f0 with | |
| 34 | + // MBOX = [38, 00, 03, 00] | |
| 35 | + $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw | |
| 36 | + // View the result. The decoded ASCII result "12/21/18" is | |
| 37 | + // included after the raw hex. | |
| 38 | + // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] | |
| 39 | + $ cat /sys/kernel/debug/wilco_ec/raw | |
| 40 | + 00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00 ..12/21/18.8... | |
| 40 | 41 | |
| 41 | 42 | Note that the first 16 bytes of the received MBOX[] will be |
| 42 | 43 | printed, even if some of the data is junk, and skipping bytes |
| @@ -10,29 +10,29 @@ Description: · 9 unmodified lines | ||
| 10 | 10 | <uapi/linux/wmi.h> |
| 11 | 11 | |
| 12 | 12 | 1) To perform an SMBIOS call from userspace, you'll need to |
| 13 | − first determine the minimum size of the calling interface | |
| 14 | − buffer for your machine. | |
| 15 | − Platforms that contain larger buffers can return larger | |
| 16 | − objects from the system firmware. | |
| 17 | − Commonly this size is either 4k or 32k. | |
| 13 | + first determine the minimum size of the calling interface | |
| 14 | + buffer for your machine. | |
| 15 | + Platforms that contain larger buffers can return larger | |
| 16 | + objects from the system firmware. | |
| 17 | + Commonly this size is either 4k or 32k. | |
| 18 | 18 | |
| 19 | − To determine the size of the buffer read() a u64 dword from | |
| 20 | − the WMI character device /dev/wmi/dell-smbios. | |
| 19 | + To determine the size of the buffer read() a u64 dword from | |
| 20 | + the WMI character device /dev/wmi/dell-smbios. | |
| 21 | 21 | |
| 22 | 22 | 2) After you've determined the minimum size of the calling |
| 23 | − interface buffer, you can allocate a structure that represents | |
| 24 | − the structure documented above. | |
| 23 | + interface buffer, you can allocate a structure that represents | |
| 24 | + the structure documented above. | |
| 25 | 25 | |
| 26 | 26 | 3) In the 'length' object store the size of the buffer you |
| 27 | − determined above and allocated. | |
| 27 | + determined above and allocated. | |
| 28 | 28 | |
| 29 | 29 | 4) In this buffer object, prepare as necessary for the SMBIOS |
| 30 | − call you're interested in. Typically SMBIOS buffers have | |
| 31 | − "class", "select", and "input" defined to values that coincide | |
| 32 | − with the data you are interested in. | |
| 33 | − Documenting class/select/input values is outside of the scope | |
| 34 | − of this documentation. Check with the libsmbios project for | |
| 35 | − further documentation on these values. | |
| 30 | + call you're interested in. Typically SMBIOS buffers have | |
| 31 | + "class", "select", and "input" defined to values that coincide | |
| 32 | + with the data you are interested in. | |
| 33 | + Documenting class/select/input values is outside of the scope | |
| 34 | + of this documentation. Check with the libsmbios project for | |
| 35 | + further documentation on these values. | |
| 36 | 36 | |
| 37 | 37 | 6) Run the call by using ioctl() as described in the header. |
| 38 | 38 | |
| @@ -6,6 +6,7 @@ Description: The /dev/kmsg character device node provides userspace access · 5 unmodified lines | ||
| 6 | 6 | to the kernel's printk buffer. |
| 7 | 7 | |
| 8 | 8 | Injecting messages: |
| 9 | + | |
| 9 | 10 | Every write() to the opened device node places a log entry in |
| 10 | 11 | the kernel's printk buffer. |
| 11 | 12 | |
| @@ -21,6 +22,7 @@ Description: The /dev/kmsg character device node provides userspace access · 9 unmodified lines | ||
| 21 | 22 | the messages can always be reliably determined. |
| 22 | 23 | |
| 23 | 24 | Accessing the buffer: |
| 25 | + | |
| 24 | 26 | Every read() from the opened device node receives one record |
| 25 | 27 | of the kernel's printk buffer. |
| 26 | 28 | |
| @@ -48,6 +50,7 @@ Description: The /dev/kmsg character device node provides userspace access · 21 unmodified lines | ||
| 48 | 50 | if needed, without limiting the interface to a single reader. |
| 49 | 51 | |
| 50 | 52 | The device supports seek with the following parameters: |
| 53 | + | |
| 51 | 54 | SEEK_SET, 0 |
| 52 | 55 | seek to the first entry in the buffer |
| 53 | 56 | SEEK_END, 0 |
| @@ -87,18 +90,22 @@ Description: The /dev/kmsg character device node provides userspace access · 33 unmodified lines | ||
| 87 | 90 | readable context of the message, for reliable processing in |
| 88 | 91 | userspace. |
| 89 | 92 | |
| 90 | − Example: | |
| 91 | − 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) | |
| 92 | − SUBSYSTEM=acpi | |
| 93 | − DEVICE=+acpi:PNP0A03:00 | |
| 94 | − 6,339,5140900,-;NET: Registered protocol family 10 | |
| 95 | − 30,340,5690716,-;udevd[80]: starting version 181 | |
| 93 | + Example:: | |
| 94 | + | |
| 95 | + 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) | |
| 96 | + SUBSYSTEM=acpi | |
| 97 | + DEVICE=+acpi:PNP0A03:00 | |
| 98 | + 6,339,5140900,-;NET: Registered protocol family 10 | |
| 99 | + 30,340,5690716,-;udevd[80]: starting version 181 | |
| 96 | 100 | |
| 97 | 101 | The DEVICE= key uniquely identifies devices the following way: |
| 98 | − b12:8 - block dev_t | |
| 99 | − c127:3 - char dev_t | |
| 100 | − n8 - netdev ifindex | |
| 101 | − +sound:card0 - subsystem:devname | |
| 102 | + | |
| 103 | + ============ ================= | |
| 104 | + b12:8 block dev_t | |
| 105 | + c127:3 char dev_t | |
| 106 | + n8 netdev ifindex | |
| 107 | + +sound:card0 subsystem:devname | |
| 108 | + ============ ================= | |
| 102 | 109 | |
| 103 | 110 | The flags field carries '-' by default. A 'c' indicates a |
| 104 | 111 | fragment of a line. Note, that these hints about continuation |
| @@ -17,26 +17,33 @@ Description: · 16 unmodified lines | ||
| 17 | 17 | echoing a value to <securityfs>/evm made up of the |
| 18 | 18 | following bits: |
| 19 | 19 | |
| 20 | + === ================================================== | |
| 20 | 21 | Bit Effect |
| 22 | + === ================================================== | |
| 21 | 23 | 0 Enable HMAC validation and creation |
| 22 | 24 | 1 Enable digital signature validation |
| 23 | 25 | 2 Permit modification of EVM-protected metadata at |
| 24 | 26 | runtime. Not supported if HMAC validation and |
| 25 | 27 | creation is enabled. |
| 26 | 28 | 31 Disable further runtime modification of EVM policy |
| 29 | + === ================================================== | |
| 27 | 30 | |
| 28 | − For example: | |
| 31 | + For example:: | |
| 29 | 32 | |
| 30 | − echo 1 ><securityfs>/evm | |
| 33 | + echo 1 ><securityfs>/evm | |
| 31 | 34 | |
| 32 | 35 | will enable HMAC validation and creation |
| 33 | 36 | |
| 34 | − echo 0x80000003 ><securityfs>/evm | |
| 37 | + :: | |
| 38 | + | |
| 39 | + echo 0x80000003 ><securityfs>/evm | |
| 35 | 40 | |
| 36 | 41 | will enable HMAC and digital signature validation and |
| 37 | 42 | HMAC creation and disable all further modification of policy. |
| 38 | 43 | |
| 39 | − echo 0x80000006 ><securityfs>/evm | |
| 44 | + :: | |
| 45 | + | |
| 46 | + echo 0x80000006 ><securityfs>/evm | |
| 40 | 47 | |
| 41 | 48 | will enable digital signature validation, permit |
| 42 | 49 | modification of EVM-protected metadata and |
| @@ -65,7 +72,7 @@ Description: · 22 unmodified lines | ||
| 65 | 72 | Shows the set of extended attributes used to calculate or |
| 66 | 73 | validate the EVM signature, and allows additional attributes |
| 67 | 74 | to be added at runtime. Any signatures generated after |
| 68 | − additional attributes are added (and on files posessing those | |
| 75 | + additional attributes are added (and on files possessing those | |
| 69 | 76 | additional attributes) will only be valid if the same |
| 70 | 77 | additional attributes are configured on system boot. Writing |
| 71 | 78 | a single period (.) will lock the xattr list from any further |
| @@ -12,15 +12,16 @@ Description: · 11 unmodified lines | ||
| 12 | 12 | The following file operations are supported: |
| 13 | 13 | |
| 14 | 14 | open(2) |
| 15 | − Currently the only useful flags are O_RDWR. | |
| 15 | + Currently the only useful flags are O_RDWR. | |
| 16 | 16 | |
| 17 | 17 | ioctl(2) |
| 18 | − Initiate various actions. | |
| 19 | − See the inline documentation in [include/uapi]<linux/gpio.h> | |
| 20 | − for descriptions of all ioctls. | |
| 18 | + Initiate various actions. | |
| 19 | + | |
| 20 | + See the inline documentation in [include/uapi]<linux/gpio.h> | |
| 21 | + for descriptions of all ioctls. | |
| 21 | 22 | |
| 22 | 23 | close(2) |
| 23 | − Stops and free up the I/O contexts that was associated | |
| 24 | − with the file descriptor. | |
| 24 | + Stops and free up the I/O contexts that was associated | |
| 25 | + with the file descriptor. | |
| 25 | 26 | |
| 26 | 27 | Users: TBD |
| @@ -15,19 +15,22 @@ Description: · 14 unmodified lines | ||
| 15 | 15 | IMA appraisal, if configured, uses these file measurements |
| 16 | 16 | for local measurement appraisal. |
| 17 | 17 | |
| 18 | − rule format: action [condition ...] | |
| 18 | + :: | |
| 19 | 19 | |
| 20 | − action: measure | dont_measure | appraise | dont_appraise | | |
| 21 | − audit | hash | dont_hash | |
| 22 | − condition:= base | lsm [option] | |
| 20 | + rule format: action [condition ...] | |
| 21 | + | |
| 22 | + action: measure | dont_measure | appraise | dont_appraise | | |
| 23 | + audit | hash | dont_hash | |
| 24 | + condition:= base | lsm [option] | |
| 23 | 25 | base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] |
| 24 | 26 | [euid=] [fowner=] [fsname=]] |
| 25 | 27 | lsm: [[subj_user=] [subj_role=] [subj_type=] |
| 26 | 28 | [obj_user=] [obj_role=] [obj_type=]] |
| 27 | 29 | option: [[appraise_type=]] [template=] [permit_directio] |
| 28 | 30 | [appraise_flag=] [keyrings=] |
| 29 | − base: func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK] | |
| 30 | − [FIRMWARE_CHECK] | |
| 31 | + base: | |
| 32 | + func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK]MODULE_CHECK] | |
| 33 | + [FIRMWARE_CHECK] | |
| 31 | 34 | [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK] |
| 32 | 35 | [KEXEC_CMDLINE] [KEY_CHECK] |
| 33 | 36 | mask:= [[^]MAY_READ] [[^]MAY_WRITE] [[^]MAY_APPEND] |
| @@ -37,8 +40,9 @@ Description: · 3 unmodified lines | ||
| 37 | 40 | uid:= decimal value |
| 38 | 41 | euid:= decimal value |
| 39 | 42 | fowner:= decimal value |
| 40 | − lsm: are LSM specific | |
| 41 | − option: appraise_type:= [imasig] [imasig|modsig] | |
| 43 | + lsm: are LSM specific | |
| 44 | + option: | |
| 45 | + appraise_type:= [imasig] [imasig|modsig] | |
| 42 | 46 | appraise_flag:= [check_blacklist] |
| 43 | 47 | Currently, blacklist check is only for files signed with appended |
| 44 | 48 | signature. |
| @@ -49,7 +53,7 @@ Description: · 4 unmodified lines | ||
| 49 | 53 | (eg, ima-ng). Only valid when action is "measure". |
| 50 | 54 | pcr:= decimal value |
| 51 | 55 | |
| 52 | − default policy: | |
| 56 | + default policy: | |
| 53 | 57 | # PROC_SUPER_MAGIC |
| 54 | 58 | dont_measure fsmagic=0x9fa0 |
| 55 | 59 | dont_appraise fsmagic=0x9fa0 |
| @@ -97,7 +101,8 @@ Description: · 41 unmodified lines | ||
| 97 | 101 | |
| 98 | 102 | Examples of LSM specific definitions: |
| 99 | 103 | |
| 100 | − SELinux: | |
| 104 | + SELinux:: | |
| 105 | + | |
| 101 | 106 | dont_measure obj_type=var_log_t |
| 102 | 107 | dont_appraise obj_type=var_log_t |
| 103 | 108 | dont_measure obj_type=auditd_log_t |
| @@ -105,10 +110,11 @@ Description: · 1 unmodified line | ||
| 105 | 110 | measure subj_user=system_u func=FILE_CHECK mask=MAY_READ |
| 106 | 111 | measure subj_role=system_r func=FILE_CHECK mask=MAY_READ |
| 107 | 112 | |
| 108 | − Smack: | |
| 113 | + Smack:: | |
| 114 | + | |
| 109 | 115 | measure subj_user=_ func=FILE_CHECK mask=MAY_READ |
| 110 | 116 | |
| 111 | − Example of measure rules using alternate PCRs: | |
| 117 | + Example of measure rules using alternate PCRs:: | |
| 112 | 118 | |
| 113 | 119 | measure func=KEXEC_KERNEL_CHECK pcr=4 |
| 114 | 120 | measure func=KEXEC_INITRAMFS_CHECK pcr=5 |
| @@ -6,32 +6,38 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | of block devices. Each line contains the following 14 |
| 7 | 7 | fields: |
| 8 | 8 | |
| 9 | − 1 - major number | |
| 10 | − 2 - minor mumber | |
| 11 | − 3 - device name | |
| 12 | − 4 - reads completed successfully | |
| 13 | − 5 - reads merged | |
| 14 | − 6 - sectors read | |
| 15 | − 7 - time spent reading (ms) | |
| 16 | − 8 - writes completed | |
| 17 | − 9 - writes merged | |
| 18 | − 10 - sectors written | |
| 19 | − 11 - time spent writing (ms) | |
| 20 | − 12 - I/Os currently in progress | |
| 21 | − 13 - time spent doing I/Os (ms) | |
| 22 | − 14 - weighted time spent doing I/Os (ms) | |
| 9 | + == =================================== | |
| 10 | + 1 major number | |
| 11 | + 2 minor mumber | |
| 12 | + 3 device name | |
| 13 | + 4 reads completed successfully | |
| 14 | + 5 reads merged | |
| 15 | + 6 sectors read | |
| 16 | + 7 time spent reading (ms) | |
| 17 | + 8 writes completed | |
| 18 | + 9 writes merged | |
| 19 | + 10 sectors written | |
| 20 | + 11 time spent writing (ms) | |
| 21 | + 12 I/Os currently in progress | |
| 22 | + 13 time spent doing I/Os (ms) | |
| 23 | + 14 weighted time spent doing I/Os (ms) | |
| 24 | + == =================================== | |
| 23 | 25 | |
| 24 | 26 | Kernel 4.18+ appends four more fields for discard |
| 25 | 27 | tracking putting the total at 18: |
| 26 | 28 | |
| 27 | − 15 - discards completed successfully | |
| 28 | − 16 - discards merged | |
| 29 | − 17 - sectors discarded | |
| 30 | − 18 - time spent discarding | |
| 29 | + == =================================== | |
| 30 | + 15 discards completed successfully | |
| 31 | + 16 discards merged | |
| 32 | + 17 sectors discarded | |
| 33 | + 18 time spent discarding | |
| 34 | + == =================================== | |
| 31 | 35 | |
| 32 | 36 | Kernel 5.5+ appends two more fields for flush requests: |
| 33 | 37 | |
| 34 | − 19 - flush requests completed successfully | |
| 35 | − 20 - time spent flushing | |
| 38 | + == ===================================== | |
| 39 | + 19 flush requests completed successfully | |
| 40 | + 20 time spent flushing | |
| 41 | + == ===================================== | |
| 36 | 42 | |
| 37 | 43 | For more details refer to Documentation/admin-guide/iostats.rst |
| @@ -14,28 +14,28 @@ Description: · 13 unmodified lines | ||
| 14 | 14 | For more details, see Documentation/filesystems/proc.rst |
| 15 | 15 | and the procfs man page. |
| 16 | 16 | |
| 17 | − Typical output looks like this: | |
| 17 | + Typical output looks like this:: | |
| 18 | 18 | |
| 19 | − 00100000-ff709000 ---p 00000000 00:00 0 [rollup] | |
| 20 | − Size: 1192 kB | |
| 21 | − KernelPageSize: 4 kB | |
| 22 | − MMUPageSize: 4 kB | |
| 23 | − Rss: 884 kB | |
| 24 | − Pss: 385 kB | |
| 25 | − Pss_Anon: 301 kB | |
| 26 | − Pss_File: 80 kB | |
| 27 | − Pss_Shmem: 4 kB | |
| 28 | − Shared_Clean: 696 kB | |
| 29 | − Shared_Dirty: 0 kB | |
| 30 | − Private_Clean: 120 kB | |
| 31 | − Private_Dirty: 68 kB | |
| 32 | − Referenced: 884 kB | |
| 33 | − Anonymous: 68 kB | |
| 34 | − LazyFree: 0 kB | |
| 35 | − AnonHugePages: 0 kB | |
| 36 | − ShmemPmdMapped: 0 kB | |
| 37 | − Shared_Hugetlb: 0 kB | |
| 38 | − Private_Hugetlb: 0 kB | |
| 39 | − Swap: 0 kB | |
| 40 | − SwapPss: 0 kB | |
| 41 | − Locked: 385 kB | |
| 19 | + 00100000-ff709000 ---p 00000000 00:00 0 [rollup] | |
| 20 | + Size: 1192 kB | |
| 21 | + KernelPageSize: 4 kB | |
| 22 | + MMUPageSize: 4 kB | |
| 23 | + Rss: 884 kB | |
| 24 | + Pss: 385 kB | |
| 25 | + Pss_Anon: 301 kB | |
| 26 | + Pss_File: 80 kB | |
| 27 | + Pss_Shmem: 4 kB | |
| 28 | + Shared_Clean: 696 kB | |
| 29 | + Shared_Dirty: 0 kB | |
| 30 | + Private_Clean: 120 kB | |
| 31 | + Private_Dirty: 68 kB | |
| 32 | + Referenced: 884 kB | |
| 33 | + Anonymous: 68 kB | |
| 34 | + LazyFree: 0 kB | |
| 35 | + AnonHugePages: 0 kB | |
| 36 | + ShmemPmdMapped: 0 kB | |
| 37 | + Shared_Hugetlb: 0 kB | |
| 38 | + Private_Hugetlb: 0 kB | |
| 39 | + Swap: 0 kB | |
| 40 | + SwapPss: 0 kB | |
| 41 | + Locked: 385 kB | |
| @@ -9,25 +9,25 @@ Description: Generic interface to platform dependent persistent storage. · 8 unmodified lines | ||
| 9 | 9 | provide a generic interface to show records captured in |
| 10 | 10 | the dying moments. In the case of a panic the last part |
| 11 | 11 | of the console log is captured, but other interesting |
| 12 | − data can also be saved. | |
| 12 | + data can also be saved:: | |
| 13 | 13 | |
| 14 | − # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore | |
| 14 | + # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore | |
| 15 | 15 | |
| 16 | − $ ls -l /sys/fs/pstore/ | |
| 17 | − total 0 | |
| 18 | − -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 | |
| 16 | + $ ls -l /sys/fs/pstore/ | |
| 17 | + total 0 | |
| 18 | + -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 | |
| 19 | 19 | |
| 20 | 20 | Different users of this interface will result in different |
| 21 | 21 | filename prefixes. Currently two are defined: |
| 22 | 22 | |
| 23 | − "dmesg" - saved console log | |
| 24 | − "mce" - architecture dependent data from fatal h/w error | |
| 23 | + - "dmesg" - saved console log | |
| 24 | + - "mce" - architecture dependent data from fatal h/w error | |
| 25 | 25 | |
| 26 | 26 | Once the information in a file has been read, removing |
| 27 | 27 | the file will signal to the underlying persistent storage |
| 28 | − device that it can reclaim the space for later re-use. | |
| 28 | + device that it can reclaim the space for later re-use:: | |
| 29 | 29 | |
| 30 | − $ rm /sys/fs/pstore/dmesg-erst-1 | |
| 30 | + $ rm /sys/fs/pstore/dmesg-erst-1 | |
| 31 | 31 | |
| 32 | 32 | The expectation is that all files in /sys/fs/pstore/ |
| 33 | 33 | will be saved elsewhere and erased from persistent store |
| @@ -44,4 +44,3 @@ Description: Generic interface to platform dependent persistent storage. · 10 unmodified lines | ||
| 44 | 44 | backends are available, the preferred backend may be |
| 45 | 45 | set by passing the pstore.backend= argument to the kernel at |
| 46 | 46 | boot time. |
| 47 | − | |
| @@ -4,23 +4,27 @@ Contact: Jerome Marchand <jmarchan@redhat.com> · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | The /sys/block/<disk>/stat files displays the I/O |
| 6 | 6 | statistics of disk <disk>. They contain 11 fields: |
| 7 | − 1 - reads completed successfully | |
| 8 | − 2 - reads merged | |
| 9 | − 3 - sectors read | |
| 10 | − 4 - time spent reading (ms) | |
| 11 | − 5 - writes completed | |
| 12 | − 6 - writes merged | |
| 13 | − 7 - sectors written | |
| 14 | − 8 - time spent writing (ms) | |
| 15 | − 9 - I/Os currently in progress | |
| 16 | − 10 - time spent doing I/Os (ms) | |
| 17 | − 11 - weighted time spent doing I/Os (ms) | |
| 18 | − 12 - discards completed | |
| 19 | − 13 - discards merged | |
| 20 | − 14 - sectors discarded | |
| 21 | − 15 - time spent discarding (ms) | |
| 22 | − 16 - flush requests completed | |
| 23 | − 17 - time spent flushing (ms) | |
| 7 | + | |
| 8 | + == ============================================== | |
| 9 | + 1 reads completed successfully | |
| 10 | + 2 reads merged | |
| 11 | + 3 sectors read | |
| 12 | + 4 time spent reading (ms) | |
| 13 | + 5 writes completed | |
| 14 | + 6 writes merged | |
| 15 | + 7 sectors written | |
| 16 | + 8 time spent writing (ms) | |
| 17 | + 9 I/Os currently in progress | |
| 18 | + 10 time spent doing I/Os (ms) | |
| 19 | + 11 weighted time spent doing I/Os (ms) | |
| 20 | + 12 discards completed | |
| 21 | + 13 discards merged | |
| 22 | + 14 sectors discarded | |
| 23 | + 15 time spent discarding (ms) | |
| 24 | + 16 flush requests completed | |
| 25 | + 17 time spent flushing (ms) | |
| 26 | + == ============================================== | |
| 27 | + | |
| 24 | 28 | For more details refer Documentation/admin-guide/iostats.rst |
| 25 | 29 | |
| 26 | 30 | |
| @@ -8,11 +8,13 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | |
| 9 | 9 | It has the following valid values: |
| 10 | 10 | |
| 11 | + == ======================================================== | |
| 11 | 12 | 0 OFF - the LED is not activated on activity |
| 12 | 13 | 1 BLINK_ON - the LED blinks on every 10ms when activity is |
| 13 | 14 | detected. |
| 14 | 15 | 2 BLINK_OFF - the LED is on when idle, and blinks off |
| 15 | 16 | every 10ms when activity is detected. |
| 17 | + == ======================================================== | |
| 16 | 18 | |
| 17 | 19 | Note that the user must turn sw_activity OFF it they wish to |
| 18 | 20 | control the activity LED via the em_message file. |
| @@ -9,9 +9,9 @@ Description: To unmap a volume, "normal" or "force" has to be written to: · 8 unmodified lines | ||
| 9 | 9 | is using the device. When "force" is used, the device is also unmapped |
| 10 | 10 | when device is in use. All I/Os that are in progress will fail. |
| 11 | 11 | |
| 12 | − Example: | |
| 12 | + Example:: | |
| 13 | 13 | |
| 14 | − # echo "normal" > /sys/block/rnbd0/rnbd/unmap_device | |
| 14 | + # echo "normal" > /sys/block/rnbd0/rnbd/unmap_device | |
| 15 | 15 | |
| 16 | 16 | What: /sys/block/rnbd<N>/rnbd/state |
| 17 | 17 | Date: Feb 2020 |
| @@ -5,6 +5,7 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | This attribute indicates the full path of ACPI namespace |
| 6 | 6 | object associated with the device object. For example, |
| 7 | 7 | \_SB_.PCI0. |
| 8 | + | |
| 8 | 9 | This file is not present for device objects representing |
| 9 | 10 | fixed ACPI hardware features (like power and sleep |
| 10 | 11 | buttons). |
| @@ -67,14 +68,16 @@ Description: · 56 unmodified lines | ||
| 67 | 68 | The return value is a decimal integer representing the device's |
| 68 | 69 | status bitmap: |
| 69 | 70 | |
| 70 | − Bit [0] – Set if the device is present. | |
| 71 | − Bit [1] – Set if the device is enabled and decoding its | |
| 72 | − resources. | |
| 73 | − Bit [2] – Set if the device should be shown in the UI. | |
| 74 | − Bit [3] – Set if the device is functioning properly (cleared if | |
| 75 | − device failed its diagnostics). | |
| 76 | − Bit [4] – Set if the battery is present. | |
| 77 | − Bits [31:5] – Reserved (must be cleared) | |
| 71 | + =========== ================================================== | |
| 72 | + Bit [0] Set if the device is present. | |
| 73 | + Bit [1] Set if the device is enabled and decoding its | |
| 74 | + resources. | |
| 75 | + Bit [2] Set if the device should be shown in the UI. | |
| 76 | + Bit [3] Set if the device is functioning properly (cleared | |
| 77 | + if device failed its diagnostics). | |
| 78 | + Bit [4] Set if the battery is present. | |
| 79 | + Bits [31:5] Reserved (must be cleared) | |
| 80 | + =========== ================================================== | |
| 78 | 81 | |
| 79 | 82 | If bit [0] is clear, then bit 1 must also be clear (a device |
| 80 | 83 | that is not present cannot be enabled). |
| @@ -8,50 +8,50 @@ What: /sys/bus/coresight/devices/<cti-name>/powered · 7 unmodified lines | ||
| 8 | 8 | Date: March 2020 |
| 9 | 9 | KernelVersion 5.7 |
| 10 | 10 | Contact: Mike Leach or Mathieu Poirier |
| 11 | −Description: (R) Indicate if the CTI hardware is powered. | |
| 11 | +Description: (Read) Indicate if the CTI hardware is powered. | |
| 12 | 12 | |
| 13 | 13 | What: /sys/bus/coresight/devices/<cti-name>/ctmid |
| 14 | 14 | Date: March 2020 |
| 15 | 15 | KernelVersion 5.7 |
| 16 | 16 | Contact: Mike Leach or Mathieu Poirier |
| 17 | −Description: (R) Display the associated CTM ID | |
| 17 | +Description: (Read) Display the associated CTM ID | |
| 18 | 18 | |
| 19 | 19 | What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons |
| 20 | 20 | Date: March 2020 |
| 21 | 21 | KernelVersion 5.7 |
| 22 | 22 | Contact: Mike Leach or Mathieu Poirier |
| 23 | −Description: (R) Number of devices connected to triggers on this CTI | |
| 23 | +Description: (Read) Number of devices connected to triggers on this CTI | |
| 24 | 24 | |
| 25 | 25 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name |
| 26 | 26 | Date: March 2020 |
| 27 | 27 | KernelVersion 5.7 |
| 28 | 28 | Contact: Mike Leach or Mathieu Poirier |
| 29 | −Description: (R) Name of connected device <N> | |
| 29 | +Description: (Read) Name of connected device <N> | |
| 30 | 30 | |
| 31 | 31 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals |
| 32 | 32 | Date: March 2020 |
| 33 | 33 | KernelVersion 5.7 |
| 34 | 34 | Contact: Mike Leach or Mathieu Poirier |
| 35 | −Description: (R) Input trigger signals from connected device <N> | |
| 35 | +Description: (Read) Input trigger signals from connected device <N> | |
| 36 | 36 | |
| 37 | 37 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types |
| 38 | 38 | Date: March 2020 |
| 39 | 39 | KernelVersion 5.7 |
| 40 | 40 | Contact: Mike Leach or Mathieu Poirier |
| 41 | −Description: (R) Functional types for the input trigger signals | |
| 41 | +Description: (Read) Functional types for the input trigger signals | |
| 42 | 42 | from connected device <N> |
| 43 | 43 | |
| 44 | 44 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals |
| 45 | 45 | Date: March 2020 |
| 46 | 46 | KernelVersion 5.7 |
| 47 | 47 | Contact: Mike Leach or Mathieu Poirier |
| 48 | −Description: (R) Output trigger signals to connected device <N> | |
| 48 | +Description: (Read) Output trigger signals to connected device <N> | |
| 49 | 49 | |
| 50 | 50 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types |
| 51 | 51 | Date: March 2020 |
| 52 | 52 | KernelVersion 5.7 |
| 53 | 53 | Contact: Mike Leach or Mathieu Poirier |
| 54 | −Description: (R) Functional types for the output trigger signals | |
| 54 | +Description: (Read) Functional types for the output trigger signals | |
| 55 | 55 | to connected device <N> |
| 56 | 56 | |
| 57 | 57 | What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel |
| @@ -88,7 +88,7 @@ What: /sys/bus/coresight/devices/<cti-name>/regs/intack · 30 unmodified lines | ||
| 88 | 88 | Date: March 2020 |
| 89 | 89 | KernelVersion 5.7 |
| 90 | 90 | Contact: Mike Leach or Mathieu Poirier |
| 91 | −Description: (W) Write the INTACK register. | |
| 91 | +Description: (Write) Write the INTACK register. | |
| 92 | 92 | |
| 93 | 93 | What: /sys/bus/coresight/devices/<cti-name>/regs/appset |
| 94 | 94 | Date: March 2020 |
| @@ -101,99 +101,99 @@ What: /sys/bus/coresight/devices/<cti-name>/regs/appclear · 6 unmodified lines | ||
| 101 | 101 | Date: March 2020 |
| 102 | 102 | KernelVersion 5.7 |
| 103 | 103 | Contact: Mike Leach or Mathieu Poirier |
| 104 | −Description: (W) Write APPCLEAR register to deactivate channel. | |
| 104 | +Description: (Write) Write APPCLEAR register to deactivate channel. | |
| 105 | 105 | |
| 106 | 106 | What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse |
| 107 | 107 | Date: March 2020 |
| 108 | 108 | KernelVersion 5.7 |
| 109 | 109 | Contact: Mike Leach or Mathieu Poirier |
| 110 | −Description: (W) Write APPPULSE to pulse a channel active for one clock | |
| 110 | +Description: (Write) Write APPPULSE to pulse a channel active for one clock | |
| 111 | 111 | cycle. |
| 112 | 112 | |
| 113 | 113 | What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus |
| 114 | 114 | Date: March 2020 |
| 115 | 115 | KernelVersion 5.7 |
| 116 | 116 | Contact: Mike Leach or Mathieu Poirier |
| 117 | −Description: (R) Read current status of channel inputs. | |
| 117 | +Description: (Read) Read current status of channel inputs. | |
| 118 | 118 | |
| 119 | 119 | What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus |
| 120 | 120 | Date: March 2020 |
| 121 | 121 | KernelVersion 5.7 |
| 122 | 122 | Contact: Mike Leach or Mathieu Poirier |
| 123 | −Description: (R) read current status of channel outputs. | |
| 123 | +Description: (Read) read current status of channel outputs. | |
| 124 | 124 | |
| 125 | 125 | What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus |
| 126 | 126 | Date: March 2020 |
| 127 | 127 | KernelVersion 5.7 |
| 128 | 128 | Contact: Mike Leach or Mathieu Poirier |
| 129 | −Description: (R) read current status of input trigger signals | |
| 129 | +Description: (Read) read current status of input trigger signals | |
| 130 | 130 | |
| 131 | 131 | What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus |
| 132 | 132 | Date: March 2020 |
| 133 | 133 | KernelVersion 5.7 |
| 134 | 134 | Contact: Mike Leach or Mathieu Poirier |
| 135 | −Description: (R) read current status of output trigger signals. | |
| 135 | +Description: (Read) read current status of output trigger signals. | |
| 136 | 136 | |
| 137 | 137 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach |
| 138 | 138 | Date: March 2020 |
| 139 | 139 | KernelVersion 5.7 |
| 140 | 140 | Contact: Mike Leach or Mathieu Poirier |
| 141 | −Description: (W) Attach a CTI input trigger to a CTM channel. | |
| 141 | +Description: (Write) Attach a CTI input trigger to a CTM channel. | |
| 142 | 142 | |
| 143 | 143 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach |
| 144 | 144 | Date: March 2020 |
| 145 | 145 | KernelVersion 5.7 |
| 146 | 146 | Contact: Mike Leach or Mathieu Poirier |
| 147 | −Description: (W) Detach a CTI input trigger from a CTM channel. | |
| 147 | +Description: (Write) Detach a CTI input trigger from a CTM channel. | |
| 148 | 148 | |
| 149 | 149 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach |
| 150 | 150 | Date: March 2020 |
| 151 | 151 | KernelVersion 5.7 |
| 152 | 152 | Contact: Mike Leach or Mathieu Poirier |
| 153 | −Description: (W) Attach a CTI output trigger to a CTM channel. | |
| 153 | +Description: (Write) Attach a CTI output trigger to a CTM channel. | |
| 154 | 154 | |
| 155 | 155 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach |
| 156 | 156 | Date: March 2020 |
| 157 | 157 | KernelVersion 5.7 |
| 158 | 158 | Contact: Mike Leach or Mathieu Poirier |
| 159 | −Description: (W) Detach a CTI output trigger from a CTM channel. | |
| 159 | +Description: (Write) Detach a CTI output trigger from a CTM channel. | |
| 160 | 160 | |
| 161 | 161 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable |
| 162 | 162 | Date: March 2020 |
| 163 | 163 | KernelVersion 5.7 |
| 164 | 164 | Contact: Mike Leach or Mathieu Poirier |
| 165 | −Description: (RW) Enable CTIGATE for single channel (W) or list enabled | |
| 165 | +Description: (RW) Enable CTIGATE for single channel (Write) or list enabled | |
| 166 | 166 | channels through the gate (R). |
| 167 | 167 | |
| 168 | 168 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable |
| 169 | 169 | Date: March 2020 |
| 170 | 170 | KernelVersion 5.7 |
| 171 | 171 | Contact: Mike Leach or Mathieu Poirier |
| 172 | −Description: (W) Disable CTIGATE for single channel. | |
| 172 | +Description: (Write) Disable CTIGATE for single channel. | |
| 173 | 173 | |
| 174 | 174 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set |
| 175 | 175 | Date: March 2020 |
| 176 | 176 | KernelVersion 5.7 |
| 177 | 177 | Contact: Mike Leach or Mathieu Poirier |
| 178 | −Description: (W) Activate a single channel. | |
| 178 | +Description: (Write) Activate a single channel. | |
| 179 | 179 | |
| 180 | 180 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear |
| 181 | 181 | Date: March 2020 |
| 182 | 182 | KernelVersion 5.7 |
| 183 | 183 | Contact: Mike Leach or Mathieu Poirier |
| 184 | −Description: (W) Deactivate a single channel. | |
| 184 | +Description: (Write) Deactivate a single channel. | |
| 185 | 185 | |
| 186 | 186 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse |
| 187 | 187 | Date: March 2020 |
| 188 | 188 | KernelVersion 5.7 |
| 189 | 189 | Contact: Mike Leach or Mathieu Poirier |
| 190 | −Description: (W) Pulse a single channel - activate for a single clock cycle. | |
| 190 | +Description: (Write) Pulse a single channel - activate for a single clock cycle. | |
| 191 | 191 | |
| 192 | 192 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered |
| 193 | 193 | Date: March 2020 |
| 194 | 194 | KernelVersion 5.7 |
| 195 | 195 | Contact: Mike Leach or Mathieu Poirier |
| 196 | −Description: (R) List of output triggers filtered across all connections. | |
| 196 | +Description: (Read) List of output triggers filtered across all connections. | |
| 197 | 197 | |
| 198 | 198 | What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable |
| 199 | 199 | Date: March 2020 |
| @@ -205,13 +205,13 @@ What: /sys/bus/coresight/devices/<cti-name>/channels/chan_inuse · 5 unmodified lines | ||
| 205 | 205 | Date: March 2020 |
| 206 | 206 | KernelVersion 5.7 |
| 207 | 207 | Contact: Mike Leach or Mathieu Poirier |
| 208 | −Description: (R) show channels with at least one attached trigger signal. | |
| 208 | +Description: (Read) show channels with at least one attached trigger signal. | |
| 209 | 209 | |
| 210 | 210 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free |
| 211 | 211 | Date: March 2020 |
| 212 | 212 | KernelVersion 5.7 |
| 213 | 213 | Contact: Mike Leach or Mathieu Poirier |
| 214 | −Description: (R) show channels with no attached trigger signals. | |
| 214 | +Description: (Read) show channels with no attached trigger signals. | |
| 215 | 215 | |
| 216 | 216 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel |
| 217 | 217 | Date: March 2020 |
| @@ -224,18 +224,18 @@ What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in · 6 unmodified lines | ||
| 224 | 224 | Date: March 2020 |
| 225 | 225 | KernelVersion 5.7 |
| 226 | 226 | Contact: Mike Leach or Mathieu Poirier |
| 227 | −Description: (R) Read to see input triggers connected to selected view | |
| 227 | +Description: (Read) Read to see input triggers connected to selected view | |
| 228 | 228 | channel. |
| 229 | 229 | |
| 230 | 230 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out |
| 231 | 231 | Date: March 2020 |
| 232 | 232 | KernelVersion 5.7 |
| 233 | 233 | Contact: Mike Leach or Mathieu Poirier |
| 234 | −Description: (R) Read to see output triggers connected to selected view | |
| 234 | +Description: (Read) Read to see output triggers connected to selected view | |
| 235 | 235 | channel. |
| 236 | 236 | |
| 237 | 237 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset |
| 238 | 238 | Date: March 2020 |
| 239 | 239 | KernelVersion 5.7 |
| 240 | 240 | Contact: Mike Leach or Mathieu Poirier |
| 241 | −Description: (W) Clear all channel / trigger programming. | |
| 241 | +Description: (Write) Clear all channel / trigger programming. | |
| @@ -4,7 +4,10 @@ KernelVersion: 3.19 · 3 unmodified lines | ||
| 4 | 4 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 5 | 5 | Description: (RW) Add/remove a sink from a trace path. There can be multiple |
| 6 | 6 | source for a single sink. |
| 7 | − ex: echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink | |
| 7 | + | |
| 8 | + ex:: | |
| 9 | + | |
| 10 | + echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink | |
| 8 | 11 | |
| 9 | 12 | What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr |
| 10 | 13 | Date: November 2014 |
| @@ -20,21 +23,21 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rdp · 9 unmodified lines | ||
| 20 | 23 | Date: March 2016 |
| 21 | 24 | KernelVersion: 4.7 |
| 22 | 25 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 23 | −Description: (R) Defines the depth, in words, of the trace RAM in powers of | |
| 26 | +Description: (Read) Defines the depth, in words, of the trace RAM in powers of | |
| 24 | 27 | 2. The value is read directly from HW register RDP, 0x004. |
| 25 | 28 | |
| 26 | 29 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts |
| 27 | 30 | Date: March 2016 |
| 28 | 31 | KernelVersion: 4.7 |
| 29 | 32 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 30 | −Description: (R) Shows the value held by the ETB status register. The value | |
| 33 | +Description: (Read) Shows the value held by the ETB status register. The value | |
| 31 | 34 | is read directly from HW register STS, 0x00C. |
| 32 | 35 | |
| 33 | 36 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp |
| 34 | 37 | Date: March 2016 |
| 35 | 38 | KernelVersion: 4.7 |
| 36 | 39 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 37 | −Description: (R) Shows the value held by the ETB RAM Read Pointer register | |
| 40 | +Description: (Read) Shows the value held by the ETB RAM Read Pointer register | |
| 38 | 41 | that is used to read entries from the Trace RAM over the APB |
| 39 | 42 | interface. The value is read directly from HW register RRP, |
| 40 | 43 | 0x014. |
| @@ -43,7 +46,7 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rwp · 2 unmodified lines | ||
| 43 | 46 | Date: March 2016 |
| 44 | 47 | KernelVersion: 4.7 |
| 45 | 48 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 46 | −Description: (R) Shows the value held by the ETB RAM Write Pointer register | |
| 49 | +Description: (Read) Shows the value held by the ETB RAM Write Pointer register | |
| 47 | 50 | that is used to sets the write pointer to write entries from |
| 48 | 51 | the CoreSight bus into the Trace RAM. The value is read directly |
| 49 | 52 | from HW register RWP, 0x018. |
| @@ -52,21 +55,21 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/trg · 2 unmodified lines | ||
| 52 | 55 | Date: March 2016 |
| 53 | 56 | KernelVersion: 4.7 |
| 54 | 57 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 55 | −Description: (R) Similar to "trigger_cntr" above except that this value is | |
| 58 | +Description: (Read) Similar to "trigger_cntr" above except that this value is | |
| 56 | 59 | read directly from HW register TRG, 0x01C. |
| 57 | 60 | |
| 58 | 61 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl |
| 59 | 62 | Date: March 2016 |
| 60 | 63 | KernelVersion: 4.7 |
| 61 | 64 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 62 | −Description: (R) Shows the value held by the ETB Control register. The value | |
| 65 | +Description: (Read) Shows the value held by the ETB Control register. The value | |
| 63 | 66 | is read directly from HW register CTL, 0x020. |
| 64 | 67 | |
| 65 | 68 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr |
| 66 | 69 | Date: March 2016 |
| 67 | 70 | KernelVersion: 4.7 |
| 68 | 71 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 69 | −Description: (R) Shows the value held by the ETB Formatter and Flush Status | |
| 72 | +Description: (Read) Shows the value held by the ETB Formatter and Flush Status | |
| 70 | 73 | register. The value is read directly from HW register FFSR, |
| 71 | 74 | 0x300. |
| 72 | 75 | |
| @@ -74,6 +77,6 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffcr · 1 unmodified line | ||
| 74 | 77 | Date: March 2016 |
| 75 | 78 | KernelVersion: 4.7 |
| 76 | 79 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 77 | −Description: (R) Shows the value held by the ETB Formatter and Flush Control | |
| 80 | +Description: (Read) Shows the value held by the ETB Formatter and Flush Control | |
| 78 | 81 | register. The value is read directly from HW register FFCR, |
| 79 | 82 | 0x304. |
| @@ -146,28 +146,28 @@ What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_addr_cmp · 145 unmodified lines | ||
| 146 | 146 | Date: November 2014 |
| 147 | 147 | KernelVersion: 3.19 |
| 148 | 148 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 149 | −Description: (R) Provides the number of address comparators pairs accessible | |
| 149 | +Description: (Read) Provides the number of address comparators pairs accessible | |
| 150 | 150 | on a trace unit, as specified by bit 3:0 of register ETMCCR. |
| 151 | 151 | |
| 152 | 152 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_cntr |
| 153 | 153 | Date: November 2014 |
| 154 | 154 | KernelVersion: 3.19 |
| 155 | 155 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 156 | −Description: (R) Provides the number of counters accessible on a trace unit, | |
| 156 | +Description: (Read) Provides the number of counters accessible on a trace unit, | |
| 157 | 157 | as specified by bit 15:13 of register ETMCCR. |
| 158 | 158 | |
| 159 | 159 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_ctxid_cmp |
| 160 | 160 | Date: November 2014 |
| 161 | 161 | KernelVersion: 3.19 |
| 162 | 162 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 163 | −Description: (R) Provides the number of context ID comparator available on a | |
| 163 | +Description: (Read) Provides the number of context ID comparator available on a | |
| 164 | 164 | trace unit, as specified by bit 25:24 of register ETMCCR. |
| 165 | 165 | |
| 166 | 166 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/reset |
| 167 | 167 | Date: November 2014 |
| 168 | 168 | KernelVersion: 3.19 |
| 169 | 169 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 170 | −Description: (W) Cancels all configuration on a trace unit and set it back | |
| 170 | +Description: (Write) Cancels all configuration on a trace unit and set it back | |
| 171 | 171 | to its boot configuration. |
| 172 | 172 | |
| 173 | 173 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_12_event |
| @@ -216,7 +216,7 @@ What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/curr_seq_state · 42 unmodified lines | ||
| 216 | 216 | Date: November 2014 |
| 217 | 217 | KernelVersion: 3.19 |
| 218 | 218 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 219 | −Description: (R) Holds the current state of the sequencer. | |
| 219 | +Description: (Read) Holds the current state of the sequencer. | |
| 220 | 220 | |
| 221 | 221 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/sync_freq |
| 222 | 222 | Date: November 2014 |
| @@ -12,75 +12,75 @@ What: /sys/bus/coresight/devices/etm<N>/cpu · 11 unmodified lines | ||
| 12 | 12 | Date: April 2015 |
| 13 | 13 | KernelVersion: 4.01 |
| 14 | 14 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 15 | −Description: (R) The CPU this tracing entity is associated with. | |
| 15 | +Description: (Read) The CPU this tracing entity is associated with. | |
| 16 | 16 | |
| 17 | 17 | What: /sys/bus/coresight/devices/etm<N>/nr_pe_cmp |
| 18 | 18 | Date: April 2015 |
| 19 | 19 | KernelVersion: 4.01 |
| 20 | 20 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 21 | −Description: (R) Indicates the number of PE comparator inputs that are | |
| 21 | +Description: (Read) Indicates the number of PE comparator inputs that are | |
| 22 | 22 | available for tracing. |
| 23 | 23 | |
| 24 | 24 | What: /sys/bus/coresight/devices/etm<N>/nr_addr_cmp |
| 25 | 25 | Date: April 2015 |
| 26 | 26 | KernelVersion: 4.01 |
| 27 | 27 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 28 | −Description: (R) Indicates the number of address comparator pairs that are | |
| 28 | +Description: (Read) Indicates the number of address comparator pairs that are | |
| 29 | 29 | available for tracing. |
| 30 | 30 | |
| 31 | 31 | What: /sys/bus/coresight/devices/etm<N>/nr_cntr |
| 32 | 32 | Date: April 2015 |
| 33 | 33 | KernelVersion: 4.01 |
| 34 | 34 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 35 | −Description: (R) Indicates the number of counters that are available for | |
| 35 | +Description: (Read) Indicates the number of counters that are available for | |
| 36 | 36 | tracing. |
| 37 | 37 | |
| 38 | 38 | What: /sys/bus/coresight/devices/etm<N>/nr_ext_inp |
| 39 | 39 | Date: April 2015 |
| 40 | 40 | KernelVersion: 4.01 |
| 41 | 41 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 42 | −Description: (R) Indicates how many external inputs are implemented. | |
| 42 | +Description: (Read) Indicates how many external inputs are implemented. | |
| 43 | 43 | |
| 44 | 44 | What: /sys/bus/coresight/devices/etm<N>/numcidc |
| 45 | 45 | Date: April 2015 |
| 46 | 46 | KernelVersion: 4.01 |
| 47 | 47 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 48 | −Description: (R) Indicates the number of Context ID comparators that are | |
| 48 | +Description: (Read) Indicates the number of Context ID comparators that are | |
| 49 | 49 | available for tracing. |
| 50 | 50 | |
| 51 | 51 | What: /sys/bus/coresight/devices/etm<N>/numvmidc |
| 52 | 52 | Date: April 2015 |
| 53 | 53 | KernelVersion: 4.01 |
| 54 | 54 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 55 | −Description: (R) Indicates the number of VMID comparators that are available | |
| 55 | +Description: (Read) Indicates the number of VMID comparators that are available | |
| 56 | 56 | for tracing. |
| 57 | 57 | |
| 58 | 58 | What: /sys/bus/coresight/devices/etm<N>/nrseqstate |
| 59 | 59 | Date: April 2015 |
| 60 | 60 | KernelVersion: 4.01 |
| 61 | 61 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 62 | −Description: (R) Indicates the number of sequencer states that are | |
| 62 | +Description: (Read) Indicates the number of sequencer states that are | |
| 63 | 63 | implemented. |
| 64 | 64 | |
| 65 | 65 | What: /sys/bus/coresight/devices/etm<N>/nr_resource |
| 66 | 66 | Date: April 2015 |
| 67 | 67 | KernelVersion: 4.01 |
| 68 | 68 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 69 | −Description: (R) Indicates the number of resource selection pairs that are | |
| 69 | +Description: (Read) Indicates the number of resource selection pairs that are | |
| 70 | 70 | available for tracing. |
| 71 | 71 | |
| 72 | 72 | What: /sys/bus/coresight/devices/etm<N>/nr_ss_cmp |
| 73 | 73 | Date: April 2015 |
| 74 | 74 | KernelVersion: 4.01 |
| 75 | 75 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 76 | −Description: (R) Indicates the number of single-shot comparator controls that | |
| 76 | +Description: (Read) Indicates the number of single-shot comparator controls that | |
| 77 | 77 | are available for tracing. |
| 78 | 78 | |
| 79 | 79 | What: /sys/bus/coresight/devices/etm<N>/reset |
| 80 | 80 | Date: April 2015 |
| 81 | 81 | KernelVersion: 4.01 |
| 82 | 82 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 83 | −Description: (W) Cancels all configuration on a trace unit and set it back | |
| 83 | +Description: (Write) Cancels all configuration on a trace unit and set it back | |
| 84 | 84 | to its boot configuration. |
| 85 | 85 | |
| 86 | 86 | What: /sys/bus/coresight/devices/etm<N>/mode |
| @@ -300,7 +300,7 @@ What: /sys/bus/coresight/devices/etm<N>/addr_cmp_view · 213 unmodified lines | ||
| 300 | 300 | Date: December 2019 |
| 301 | 301 | KernelVersion: 5.5 |
| 302 | 302 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 303 | −Description: (R) Print the current settings for the selected address | |
| 303 | +Description: (Read) Print the current settings for the selected address | |
| 304 | 304 | comparator. |
| 305 | 305 | |
| 306 | 306 | What: /sys/bus/coresight/devices/etm<N>/sshot_idx |
| @@ -319,7 +319,7 @@ What: /sys/bus/coresight/devices/etm<N>/sshot_status · 12 unmodified lines | ||
| 319 | 319 | Date: December 2019 |
| 320 | 320 | KernelVersion: 5.5 |
| 321 | 321 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 322 | −Description: (R) Print the current value of the selected single shot | |
| 322 | +Description: (Read) Print the current value of the selected single shot | |
| 323 | 323 | status register. |
| 324 | 324 | |
| 325 | 325 | What: /sys/bus/coresight/devices/etm<N>/sshot_pe_ctrl |
| @@ -333,111 +333,111 @@ What: /sys/bus/coresight/devices/etm<N>/mgmt/trcoslsr · 7 unmodified lines | ||
| 333 | 333 | Date: April 2015 |
| 334 | 334 | KernelVersion: 4.01 |
| 335 | 335 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 336 | −Description: (R) Print the content of the OS Lock Status Register (0x304). | |
| 336 | +Description: (Read) Print the content of the OS Lock Status Register (0x304). | |
| 337 | 337 | The value it taken directly from the HW. |
| 338 | 338 | |
| 339 | 339 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdcr |
| 340 | 340 | Date: April 2015 |
| 341 | 341 | KernelVersion: 4.01 |
| 342 | 342 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 343 | −Description: (R) Print the content of the Power Down Control Register | |
| 343 | +Description: (Read) Print the content of the Power Down Control Register | |
| 344 | 344 | (0x310). The value is taken directly from the HW. |
| 345 | 345 | |
| 346 | 346 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdsr |
| 347 | 347 | Date: April 2015 |
| 348 | 348 | KernelVersion: 4.01 |
| 349 | 349 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 350 | −Description: (R) Print the content of the Power Down Status Register | |
| 350 | +Description: (Read) Print the content of the Power Down Status Register | |
| 351 | 351 | (0x314). The value is taken directly from the HW. |
| 352 | 352 | |
| 353 | 353 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trclsr |
| 354 | 354 | Date: April 2015 |
| 355 | 355 | KernelVersion: 4.01 |
| 356 | 356 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 357 | −Description: (R) Print the content of the SW Lock Status Register | |
| 357 | +Description: (Read) Print the content of the SW Lock Status Register | |
| 358 | 358 | (0xFB4). The value is taken directly from the HW. |
| 359 | 359 | |
| 360 | 360 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus |
| 361 | 361 | Date: April 2015 |
| 362 | 362 | KernelVersion: 4.01 |
| 363 | 363 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 364 | −Description: (R) Print the content of the Authentication Status Register | |
| 364 | +Description: (Read) Print the content of the Authentication Status Register | |
| 365 | 365 | (0xFB8). The value is taken directly from the HW. |
| 366 | 366 | |
| 367 | 367 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevid |
| 368 | 368 | Date: April 2015 |
| 369 | 369 | KernelVersion: 4.01 |
| 370 | 370 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 371 | −Description: (R) Print the content of the Device ID Register | |
| 371 | +Description: (Read) Print the content of the Device ID Register | |
| 372 | 372 | (0xFC8). The value is taken directly from the HW. |
| 373 | 373 | |
| 374 | 374 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevtype |
| 375 | 375 | Date: April 2015 |
| 376 | 376 | KernelVersion: 4.01 |
| 377 | 377 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 378 | −Description: (R) Print the content of the Device Type Register | |
| 378 | +Description: (Read) Print the content of the Device Type Register | |
| 379 | 379 | (0xFCC). The value is taken directly from the HW. |
| 380 | 380 | |
| 381 | 381 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr0 |
| 382 | 382 | Date: April 2015 |
| 383 | 383 | KernelVersion: 4.01 |
| 384 | 384 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 385 | −Description: (R) Print the content of the Peripheral ID0 Register | |
| 385 | +Description: (Read) Print the content of the Peripheral ID0 Register | |
| 386 | 386 | (0xFE0). The value is taken directly from the HW. |
| 387 | 387 | |
| 388 | 388 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr1 |
| 389 | 389 | Date: April 2015 |
| 390 | 390 | KernelVersion: 4.01 |
| 391 | 391 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 392 | −Description: (R) Print the content of the Peripheral ID1 Register | |
| 392 | +Description: (Read) Print the content of the Peripheral ID1 Register | |
| 393 | 393 | (0xFE4). The value is taken directly from the HW. |
| 394 | 394 | |
| 395 | 395 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr2 |
| 396 | 396 | Date: April 2015 |
| 397 | 397 | KernelVersion: 4.01 |
| 398 | 398 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 399 | −Description: (R) Print the content of the Peripheral ID2 Register | |
| 399 | +Description: (Read) Print the content of the Peripheral ID2 Register | |
| 400 | 400 | (0xFE8). The value is taken directly from the HW. |
| 401 | 401 | |
| 402 | 402 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr3 |
| 403 | 403 | Date: April 2015 |
| 404 | 404 | KernelVersion: 4.01 |
| 405 | 405 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 406 | −Description: (R) Print the content of the Peripheral ID3 Register | |
| 406 | +Description: (Read) Print the content of the Peripheral ID3 Register | |
| 407 | 407 | (0xFEC). The value is taken directly from the HW. |
| 408 | 408 | |
| 409 | 409 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcconfig |
| 410 | 410 | Date: February 2016 |
| 411 | 411 | KernelVersion: 4.07 |
| 412 | 412 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 413 | −Description: (R) Print the content of the trace configuration register | |
| 413 | +Description: (Read) Print the content of the trace configuration register | |
| 414 | 414 | (0x010) as currently set by SW. |
| 415 | 415 | |
| 416 | 416 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trctraceid |
| 417 | 417 | Date: February 2016 |
| 418 | 418 | KernelVersion: 4.07 |
| 419 | 419 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 420 | −Description: (R) Print the content of the trace ID register (0x040). | |
| 420 | +Description: (Read) Print the content of the trace ID register (0x040). | |
| 421 | 421 | |
| 422 | 422 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr0 |
| 423 | 423 | Date: April 2015 |
| 424 | 424 | KernelVersion: 4.01 |
| 425 | 425 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 426 | −Description: (R) Returns the tracing capabilities of the trace unit (0x1E0). | |
| 426 | +Description: (Read) Returns the tracing capabilities of the trace unit (0x1E0). | |
| 427 | 427 | The value is taken directly from the HW. |
| 428 | 428 | |
| 429 | 429 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr1 |
| 430 | 430 | Date: April 2015 |
| 431 | 431 | KernelVersion: 4.01 |
| 432 | 432 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 433 | −Description: (R) Returns the tracing capabilities of the trace unit (0x1E4). | |
| 433 | +Description: (Read) Returns the tracing capabilities of the trace unit (0x1E4). | |
| 434 | 434 | The value is taken directly from the HW. |
| 435 | 435 | |
| 436 | 436 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr2 |
| 437 | 437 | Date: April 2015 |
| 438 | 438 | KernelVersion: 4.01 |
| 439 | 439 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 440 | −Description: (R) Returns the maximum size of the data value, data address, | |
| 440 | +Description: (Read) Returns the maximum size of the data value, data address, | |
| 441 | 441 | VMID, context ID and instuction address in the trace unit |
| 442 | 442 | (0x1E8). The value is taken directly from the HW. |
| 443 | 443 | |
| @@ -445,7 +445,7 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr3 · 1 unmodified line | ||
| 445 | 445 | Date: April 2015 |
| 446 | 446 | KernelVersion: 4.01 |
| 447 | 447 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 448 | −Description: (R) Returns the value associated with various resources | |
| 448 | +Description: (Read) Returns the value associated with various resources | |
| 449 | 449 | available to the trace unit. See the Trace Macrocell |
| 450 | 450 | architecture specification for more details (0x1E8). |
| 451 | 451 | The value is taken directly from the HW. |
| @@ -454,42 +454,42 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr4 · 2 unmodified lines | ||
| 454 | 454 | Date: April 2015 |
| 455 | 455 | KernelVersion: 4.01 |
| 456 | 456 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 457 | −Description: (R) Returns how many resources the trace unit supports (0x1F0). | |
| 457 | +Description: (Read) Returns how many resources the trace unit supports (0x1F0). | |
| 458 | 458 | The value is taken directly from the HW. |
| 459 | 459 | |
| 460 | 460 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr5 |
| 461 | 461 | Date: April 2015 |
| 462 | 462 | KernelVersion: 4.01 |
| 463 | 463 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 464 | −Description: (R) Returns how many resources the trace unit supports (0x1F4). | |
| 464 | +Description: (Read) Returns how many resources the trace unit supports (0x1F4). | |
| 465 | 465 | The value is taken directly from the HW. |
| 466 | 466 | |
| 467 | 467 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr8 |
| 468 | 468 | Date: April 2015 |
| 469 | 469 | KernelVersion: 4.01 |
| 470 | 470 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 471 | −Description: (R) Returns the maximum speculation depth of the instruction | |
| 471 | +Description: (Read) Returns the maximum speculation depth of the instruction | |
| 472 | 472 | trace stream. (0x180). The value is taken directly from the HW. |
| 473 | 473 | |
| 474 | 474 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr9 |
| 475 | 475 | Date: April 2015 |
| 476 | 476 | KernelVersion: 4.01 |
| 477 | 477 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 478 | −Description: (R) Returns the number of P0 right-hand keys that the trace unit | |
| 478 | +Description: (Read) Returns the number of P0 right-hand keys that the trace unit | |
| 479 | 479 | can use (0x184). The value is taken directly from the HW. |
| 480 | 480 | |
| 481 | 481 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr10 |
| 482 | 482 | Date: April 2015 |
| 483 | 483 | KernelVersion: 4.01 |
| 484 | 484 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 485 | −Description: (R) Returns the number of P1 right-hand keys that the trace unit | |
| 485 | +Description: (Read) Returns the number of P1 right-hand keys that the trace unit | |
| 486 | 486 | can use (0x188). The value is taken directly from the HW. |
| 487 | 487 | |
| 488 | 488 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr11 |
| 489 | 489 | Date: April 2015 |
| 490 | 490 | KernelVersion: 4.01 |
| 491 | 491 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 492 | −Description: (R) Returns the number of special P1 right-hand keys that the | |
| 492 | +Description: (Read) Returns the number of special P1 right-hand keys that the | |
| 493 | 493 | trace unit can use (0x18C). The value is taken directly from |
| 494 | 494 | the HW. |
| 495 | 495 | |
| @@ -497,7 +497,7 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr12 · 1 unmodified line | ||
| 497 | 497 | Date: April 2015 |
| 498 | 498 | KernelVersion: 4.01 |
| 499 | 499 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 500 | −Description: (R) Returns the number of conditional P1 right-hand keys that | |
| 500 | +Description: (Read) Returns the number of conditional P1 right-hand keys that | |
| 501 | 501 | the trace unit can use (0x190). The value is taken directly |
| 502 | 502 | from the HW. |
| 503 | 503 | |
| @@ -505,6 +505,6 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr13 · 1 unmodified line | ||
| 505 | 505 | Date: April 2015 |
| 506 | 506 | KernelVersion: 4.01 |
| 507 | 507 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 508 | −Description: (R) Returns the number of special conditional P1 right-hand keys | |
| 508 | +Description: (Read) Returns the number of special conditional P1 right-hand keys | |
| 509 | 509 | that the trace unit can use (0x194). The value is taken |
| 510 | 510 | directly from the HW. |
| @@ -42,7 +42,7 @@ What: /sys/bus/coresight/devices/<memory_map>.stm/status · 41 unmodified lines | ||
| 42 | 42 | Date: April 2016 |
| 43 | 43 | KernelVersion: 4.7 |
| 44 | 44 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 45 | −Description: (R) List various control and status registers. The specific | |
| 45 | +Description: (Read) List various control and status registers. The specific | |
| 46 | 46 | layout and content is driver specific. |
| 47 | 47 | |
| 48 | 48 | What: /sys/bus/coresight/devices/<memory_map>.stm/traceid |
| @@ -11,21 +11,21 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rsz · 10 unmodified lines | ||
| 11 | 11 | Date: March 2016 |
| 12 | 12 | KernelVersion: 4.7 |
| 13 | 13 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 14 | −Description: (R) Defines the size, in 32-bit words, of the local RAM buffer. | |
| 14 | +Description: (Read) Defines the size, in 32-bit words, of the local RAM buffer. | |
| 15 | 15 | The value is read directly from HW register RSZ, 0x004. |
| 16 | 16 | |
| 17 | 17 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts |
| 18 | 18 | Date: March 2016 |
| 19 | 19 | KernelVersion: 4.7 |
| 20 | 20 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 21 | −Description: (R) Shows the value held by the TMC status register. The value | |
| 21 | +Description: (Read) Shows the value held by the TMC status register. The value | |
| 22 | 22 | is read directly from HW register STS, 0x00C. |
| 23 | 23 | |
| 24 | 24 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp |
| 25 | 25 | Date: March 2016 |
| 26 | 26 | KernelVersion: 4.7 |
| 27 | 27 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 28 | −Description: (R) Shows the value held by the TMC RAM Read Pointer register | |
| 28 | +Description: (Read) Shows the value held by the TMC RAM Read Pointer register | |
| 29 | 29 | that is used to read entries from the Trace RAM over the APB |
| 30 | 30 | interface. The value is read directly from HW register RRP, |
| 31 | 31 | 0x014. |
| @@ -34,7 +34,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rwp · 2 unmodified lines | ||
| 34 | 34 | Date: March 2016 |
| 35 | 35 | KernelVersion: 4.7 |
| 36 | 36 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 37 | −Description: (R) Shows the value held by the TMC RAM Write Pointer register | |
| 37 | +Description: (Read) Shows the value held by the TMC RAM Write Pointer register | |
| 38 | 38 | that is used to sets the write pointer to write entries from |
| 39 | 39 | the CoreSight bus into the Trace RAM. The value is read directly |
| 40 | 40 | from HW register RWP, 0x018. |
| @@ -43,21 +43,21 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/trg · 2 unmodified lines | ||
| 43 | 43 | Date: March 2016 |
| 44 | 44 | KernelVersion: 4.7 |
| 45 | 45 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 46 | −Description: (R) Similar to "trigger_cntr" above except that this value is | |
| 46 | +Description: (Read) Similar to "trigger_cntr" above except that this value is | |
| 47 | 47 | read directly from HW register TRG, 0x01C. |
| 48 | 48 | |
| 49 | 49 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl |
| 50 | 50 | Date: March 2016 |
| 51 | 51 | KernelVersion: 4.7 |
| 52 | 52 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 53 | −Description: (R) Shows the value held by the TMC Control register. The value | |
| 53 | +Description: (Read) Shows the value held by the TMC Control register. The value | |
| 54 | 54 | is read directly from HW register CTL, 0x020. |
| 55 | 55 | |
| 56 | 56 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr |
| 57 | 57 | Date: March 2016 |
| 58 | 58 | KernelVersion: 4.7 |
| 59 | 59 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 60 | −Description: (R) Shows the value held by the TMC Formatter and Flush Status | |
| 60 | +Description: (Read) Shows the value held by the TMC Formatter and Flush Status | |
| 61 | 61 | register. The value is read directly from HW register FFSR, |
| 62 | 62 | 0x300. |
| 63 | 63 | |
| @@ -65,7 +65,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffcr · 1 unmodified line | ||
| 65 | 65 | Date: March 2016 |
| 66 | 66 | KernelVersion: 4.7 |
| 67 | 67 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 68 | −Description: (R) Shows the value held by the TMC Formatter and Flush Control | |
| 68 | +Description: (Read) Shows the value held by the TMC Formatter and Flush Control | |
| 69 | 69 | register. The value is read directly from HW register FFCR, |
| 70 | 70 | 0x304. |
| 71 | 71 | |
| @@ -73,7 +73,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode · 1 unmodified line | ||
| 73 | 73 | Date: March 2016 |
| 74 | 74 | KernelVersion: 4.7 |
| 75 | 75 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 76 | −Description: (R) Shows the value held by the TMC Mode register, which | |
| 76 | +Description: (Read) Shows the value held by the TMC Mode register, which | |
| 77 | 77 | indicate the mode the device has been configured to enact. The |
| 78 | 78 | The value is read directly from the MODE register, 0x028. |
| 79 | 79 | |
| @@ -81,7 +81,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/devid · 1 unmodified line | ||
| 81 | 81 | Date: March 2016 |
| 82 | 82 | KernelVersion: 4.7 |
| 83 | 83 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 84 | −Description: (R) Indicates the capabilities of the Coresight TMC. | |
| 84 | +Description: (Read) Indicates the capabilities of the Coresight TMC. | |
| 85 | 85 | The value is read directly from the DEVID register, 0xFC8, |
| 86 | 86 | |
| 87 | 87 | What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size |
| @@ -20,6 +20,7 @@ Contact: Cornelia Huck <cornelia.huck@de.ibm.com> · 19 unmodified lines | ||
| 20 | 20 | Description: Contains the ids of the channel paths used by this |
| 21 | 21 | subchannel, as reported by the channel subsystem |
| 22 | 22 | during subchannel recognition. |
| 23 | + | |
| 23 | 24 | Note: This is an I/O-subchannel specific attribute. |
| 24 | 25 | Users: s390-tools, HAL |
| 25 | 26 | |
| @@ -31,6 +32,7 @@ Description: Contains the PIM/PAM/POM values, as reported by the · 5 unmodified lines | ||
| 31 | 32 | channel subsystem when last queried by the common I/O |
| 32 | 33 | layer (this implies that this attribute is not necessarily |
| 33 | 34 | in sync with the values current in the channel subsystem). |
| 35 | + | |
| 34 | 36 | Note: This is an I/O-subchannel specific attribute. |
| 35 | 37 | Users: s390-tools, HAL |
| 36 | 38 | |
| @@ -53,6 +55,7 @@ Description: This file allows the driver for a device to be specified. When · 16 unmodified lines | ||
| 53 | 55 | opt-out of driver binding using a driver_override name such as |
| 54 | 56 | "none". Only a single driver may be specified in the override, |
| 55 | 57 | there is no support for parsing delimiters. |
| 58 | + | |
| 56 | 59 | Note that unlike the mechanism of the same name for pci, this |
| 57 | 60 | file does not allow to override basic matching rules. I.e., |
| 58 | 61 | the driver must still match the subchannel type of the device. |
| @@ -4,6 +4,7 @@ KernelVersion: 5.10 · 3 unmodified lines | ||
| 4 | 4 | Contact: Xu Yilun <yilun.xu@intel.com> |
| 5 | 5 | Description: Read-only. It returns type of DFL FIU of the device. Now DFL |
| 6 | 6 | supports 2 FIU types, 0 for FME, 1 for PORT. |
| 7 | + | |
| 7 | 8 | Format: 0x%x |
| 8 | 9 | |
| 9 | 10 | What: /sys/bus/dfl/devices/dfl_dev.X/feature_id |
| @@ -12,4 +13,5 @@ KernelVersion: 5.10 · 2 unmodified lines | ||
| 12 | 13 | Contact: Xu Yilun <yilun.xu@intel.com> |
| 13 | 14 | Description: Read-only. It returns feature identifier local to its DFL FIU |
| 14 | 15 | type. |
| 16 | + | |
| 15 | 17 | Format: 0x%x |
| @@ -8,13 +8,13 @@ Description: Read-only. Attribute group to describe the magic bits · 7 unmodified lines | ||
| 8 | 8 | |
| 9 | 9 | Each attribute under this group defines a bit range of the |
| 10 | 10 | perf_event_attr.config. All supported attributes are listed |
| 11 | − below. | |
| 11 | + below:: | |
| 12 | 12 | |
| 13 | 13 | event = "config:0-11" - event ID |
| 14 | 14 | evtype = "config:12-15" - event type |
| 15 | 15 | portid = "config:16-23" - event source |
| 16 | 16 | |
| 17 | − For example, | |
| 17 | + For example:: | |
| 18 | 18 | |
| 19 | 19 | fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff" |
| 20 | 20 | |
| @@ -40,11 +40,11 @@ Description: Read-only. Attribute group to describe performance monitoring · 19 unmodified lines | ||
| 40 | 40 | |
| 41 | 41 | All supported performance monitoring events are listed below. |
| 42 | 42 | |
| 43 | − Basic events (evtype=0x00) | |
| 43 | + Basic events (evtype=0x00):: | |
| 44 | 44 | |
| 45 | 45 | clock = "event=0x00,evtype=0x00,portid=0xff" |
| 46 | 46 | |
| 47 | − Cache events (evtype=0x01) | |
| 47 | + Cache events (evtype=0x01):: | |
| 48 | 48 | |
| 49 | 49 | cache_read_hit = "event=0x00,evtype=0x01,portid=0xff" |
| 50 | 50 | cache_read_miss = "event=0x01,evtype=0x01,portid=0xff" |
| @@ -59,7 +59,7 @@ Description: Read-only. Attribute group to describe performance monitoring · 8 unmodified lines | ||
| 59 | 59 | cache_rx_req_stall = "event=0x09,evtype=0x01,portid=0xff" |
| 60 | 60 | cache_eviction = "event=0x0a,evtype=0x01,portid=0xff" |
| 61 | 61 | |
| 62 | − Fabric events (evtype=0x02) | |
| 62 | + Fabric events (evtype=0x02):: | |
| 63 | 63 | |
| 64 | 64 | fab_pcie0_read = "event=0x00,evtype=0x02,portid=0xff" |
| 65 | 65 | fab_pcie0_write = "event=0x01,evtype=0x02,portid=0xff" |
| @@ -78,7 +78,7 @@ Description: Read-only. Attribute group to describe performance monitoring · 12 unmodified lines | ||
| 78 | 78 | fab_port_mmio_read = "event=0x06,evtype=0x02,portid=?" |
| 79 | 79 | fab_port_mmio_write = "event=0x07,evtype=0x02,portid=?" |
| 80 | 80 | |
| 81 | − VTD events (evtype=0x03) | |
| 81 | + VTD events (evtype=0x03):: | |
| 82 | 82 | |
| 83 | 83 | vtd_port_read_transaction = "event=0x00,evtype=0x03,portid=?" |
| 84 | 84 | vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?" |
| @@ -88,7 +88,7 @@ Description: Read-only. Attribute group to describe performance monitoring · 3 unmodified lines | ||
| 88 | 88 | vtd_port_devtlb_2m_fill = "event=0x05,evtype=0x03,portid=?" |
| 89 | 89 | vtd_port_devtlb_1g_fill = "event=0x06,evtype=0x03,portid=?" |
| 90 | 90 | |
| 91 | − VTD SIP events (evtype=0x04) | |
| 91 | + VTD SIP events (evtype=0x04):: | |
| 92 | 92 | |
| 93 | 93 | vtd_sip_iotlb_4k_hit = "event=0x00,evtype=0x04,portid=0xff" |
| 94 | 94 | vtd_sip_iotlb_2m_hit = "event=0x01,evtype=0x04,portid=0xff" |
| @@ -10,7 +10,8 @@ Description: · 9 unmodified lines | ||
| 10 | 10 | name/value pairs. |
| 11 | 11 | |
| 12 | 12 | Userspace must be prepared for the possibility that attributes |
| 13 | − define overlapping bit ranges. For example: | |
| 13 | + define overlapping bit ranges. For example:: | |
| 14 | + | |
| 14 | 15 | attr1 = 'config:0-23' |
| 15 | 16 | attr2 = 'config:0-7' |
| 16 | 17 | attr3 = 'config:12-35' |
| @@ -1,3 +1,28 @@ | ||
| 1 | +What: /sys/bus/event_source/devices/hv_24x7/format | |
| 2 | +Date: September 2020 | |
| 3 | +Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> | |
| 4 | +Description: Read-only. Attribute group to describe the magic bits | |
| 5 | + that go into perf_event_attr.config for a particular pmu. | |
| 6 | + (See ABI/testing/sysfs-bus-event_source-devices-format). | |
| 7 | + | |
| 8 | + Each attribute under this group defines a bit range of the | |
| 9 | + perf_event_attr.config. All supported attributes are listed | |
| 10 | + below:: | |
| 11 | + | |
| 12 | + chip = "config:16-31" | |
| 13 | + core = "config:16-31" | |
| 14 | + domain = "config:0-3" | |
| 15 | + lpar = "config:0-15" | |
| 16 | + offset = "config:32-63" | |
| 17 | + vcpu = "config:16-31" | |
| 18 | + | |
| 19 | + For example:: | |
| 20 | + | |
| 21 | + PM_PB_CYC = "domain=1,offset=0x80,chip=?,lpar=0x0" | |
| 22 | + | |
| 23 | + In this event, '?' after chip specifies that | |
| 24 | + this value will be provided by user while running this event. | |
| 25 | + | |
| 1 | 26 | What: /sys/bus/event_source/devices/hv_24x7/interface/catalog |
| 2 | 27 | Date: February 2014 |
| 3 | 28 | Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> |
| @@ -1,3 +1,34 @@ | ||
| 1 | +What: /sys/bus/event_source/devices/hv_gpci/format | |
| 2 | +Date: September 2020 | |
| 3 | +Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> | |
| 4 | +Description: Read-only. Attribute group to describe the magic bits | |
| 5 | + that go into perf_event_attr.config for a particular pmu. | |
| 6 | + (See ABI/testing/sysfs-bus-event_source-devices-format). | |
| 7 | + | |
| 8 | + Each attribute under this group defines a bit range of the | |
| 9 | + perf_event_attr.config. All supported attributes are listed | |
| 10 | + below:: | |
| 11 | + | |
| 12 | + counter_info_version = "config:16-23" | |
| 13 | + length = "config:24-31" | |
| 14 | + partition_id = "config:32-63" | |
| 15 | + request = "config:0-31" | |
| 16 | + sibling_part_id = "config:32-63" | |
| 17 | + hw_chip_id = "config:32-63" | |
| 18 | + offset = "config:32-63" | |
| 19 | + phys_processor_idx = "config:32-63" | |
| 20 | + secondary_index = "config:0-15" | |
| 21 | + starting_index = "config:32-63" | |
| 22 | + | |
| 23 | + For example:: | |
| 24 | + | |
| 25 | + processor_core_utilization_instructions_completed = "request=0x94, | |
| 26 | + phys_processor_idx=?,counter_info_version=0x8, | |
| 27 | + length=8,offset=0x18" | |
| 28 | + | |
| 29 | + In this event, '?' after phys_processor_idx specifies this value | |
| 30 | + this value will be provided by user while running this event. | |
| 31 | + | |
| 1 | 32 | What: /sys/bus/event_source/devices/hv_gpci/interface/collect_privileged |
| 2 | 33 | Date: February 2014 |
| 3 | 34 | Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> |
| @@ -5,6 +36,7 @@ Description: · 1 unmodified line | ||
| 5 | 36 | '0' if the hypervisor is configured to forbid access to event |
| 6 | 37 | counters being accumulated by other guests and to physical |
| 7 | 38 | domain event counters. |
| 39 | + | |
| 8 | 40 | '1' if that access is allowed. |
| 9 | 41 | |
| 10 | 42 | What: /sys/bus/event_source/devices/hv_gpci/interface/ga |
| @@ -41,3 +73,10 @@ Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> · 30 unmodified lines | ||
| 41 | 73 | Description: |
| 42 | 74 | A number indicating the latest version of the gpci interface |
| 43 | 75 | that the kernel is aware of. |
| 76 | + | |
| 77 | +What: /sys/devices/hv_gpci/cpumask | |
| 78 | +Date: October 2020 | |
| 79 | +Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> | |
| 80 | +Description: read only | |
| 81 | + This sysfs file exposes the cpumask which is designated to make | |
| 82 | + HCALLs to retrieve hv-gpci pmu event counter data. | |
| @@ -3,16 +3,19 @@ Date: August 2012 · 2 unmodified lines | ||
| 3 | 3 | KernelVersion: TBD |
| 4 | 4 | Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org |
| 5 | 5 | Description: The FCoE bus. Attributes in this directory are control interfaces. |
| 6 | + | |
| 6 | 7 | Attributes: |
| 7 | 8 | |
| 8 | − ctlr_create: 'FCoE Controller' instance creation interface. Writing an | |
| 9 | + ctlr_create: | |
| 10 | + 'FCoE Controller' instance creation interface. Writing an | |
| 9 | 11 | <ifname> to this file will allocate and populate sysfs with a |
| 10 | 12 | fcoe_ctlr_device (ctlr_X). The user can then configure any |
| 11 | 13 | per-port settings and finally write to the fcoe_ctlr_device's |
| 12 | 14 | 'start' attribute to begin the kernel's discovery and login |
| 13 | 15 | process. |
| 14 | 16 | |
| 15 | − ctlr_destroy: 'FCoE Controller' instance removal interface. Writing a | |
| 17 | + ctlr_destroy: | |
| 18 | + 'FCoE Controller' instance removal interface. Writing a | |
| 16 | 19 | fcoe_ctlr_device's sysfs name to this file will log the |
| 17 | 20 | fcoe_ctlr_device out of the fabric or otherwise connected |
| 18 | 21 | FCoE devices. It will also free all kernel memory allocated |
| @@ -32,11 +35,13 @@ Description: 'FCoE Controller' instances on the fcoe bus. · 13 unmodified lines | ||
| 32 | 35 | |
| 33 | 36 | Attributes: |
| 34 | 37 | |
| 35 | − fcf_dev_loss_tmo: Device loss timeout period (see below). Changing | |
| 38 | + fcf_dev_loss_tmo: | |
| 39 | + Device loss timeout period (see below). Changing | |
| 36 | 40 | this value will change the dev_loss_tmo for all |
| 37 | 41 | FCFs discovered by this controller. |
| 38 | 42 | |
| 39 | − mode: Display or change the FCoE Controller's mode. Possible | |
| 43 | + mode: | |
| 44 | + Display or change the FCoE Controller's mode. Possible | |
| 40 | 45 | modes are 'Fabric' and 'VN2VN'. If a FCoE Controller |
| 41 | 46 | is started in 'Fabric' mode then FIP FCF discovery is |
| 42 | 47 | initiated and ultimately a fabric login is attempted. |
| @@ -44,23 +49,30 @@ Attributes: · 1 unmodified line | ||
| 44 | 49 | FIP VN2VN discovery and login is performed. A FCoE |
| 45 | 50 | Controller only supports one mode at a time. |
| 46 | 51 | |
| 47 | − enabled: Whether an FCoE controller is enabled or disabled. | |
| 52 | + enabled: | |
| 53 | + Whether an FCoE controller is enabled or disabled. | |
| 48 | 54 | 0 if disabled, 1 if enabled. Writing either 0 or 1 |
| 49 | 55 | to this file will enable or disable the FCoE controller. |
| 50 | 56 | |
| 51 | − lesb/link_fail: Link Error Status Block (LESB) link failure count. | |
| 57 | + lesb/link_fail: | |
| 58 | + Link Error Status Block (LESB) link failure count. | |
| 52 | 59 | |
| 53 | − lesb/vlink_fail: Link Error Status Block (LESB) virtual link | |
| 60 | + lesb/vlink_fail: | |
| 61 | + Link Error Status Block (LESB) virtual link | |
| 54 | 62 | failure count. |
| 55 | 63 | |
| 56 | − lesb/miss_fka: Link Error Status Block (LESB) missed FCoE | |
| 64 | + lesb/miss_fka: | |
| 65 | + Link Error Status Block (LESB) missed FCoE | |
| 57 | 66 | Initialization Protocol (FIP) Keep-Alives (FKA). |
| 58 | 67 | |
| 59 | − lesb/symb_err: Link Error Status Block (LESB) symbolic error count. | |
| 68 | + lesb/symb_err: | |
| 69 | + Link Error Status Block (LESB) symbolic error count. | |
| 60 | 70 | |
| 61 | − lesb/err_block: Link Error Status Block (LESB) block error count. | |
| 71 | + lesb/err_block: | |
| 72 | + Link Error Status Block (LESB) block error count. | |
| 62 | 73 | |
| 63 | − lesb/fcs_error: Link Error Status Block (LESB) Fibre Channel | |
| 74 | + lesb/fcs_error: | |
| 75 | + Link Error Status Block (LESB) Fibre Channel | |
| 64 | 76 | Services error count. |
| 65 | 77 | |
| 66 | 78 | Notes: ctlr_X (global increment starting at 0) |
| @@ -75,31 +87,41 @@ Description: 'FCoE FCF' instances on the fcoe bus. A FCF is a Fibre Channel · 8 unmodified lines | ||
| 75 | 87 | Fibre Channel frames into a FC fabric. It can also take |
| 76 | 88 | outbound FC frames and pack them in Ethernet packets to |
| 77 | 89 | be sent to their destination on the Ethernet segment. |
| 90 | + | |
| 78 | 91 | Attributes: |
| 79 | 92 | |
| 80 | − fabric_name: Identifies the fabric that the FCF services. | |
| 93 | + fabric_name: | |
| 94 | + Identifies the fabric that the FCF services. | |
| 81 | 95 | |
| 82 | − switch_name: Identifies the FCF. | |
| 96 | + switch_name: | |
| 97 | + Identifies the FCF. | |
| 83 | 98 | |
| 84 | − priority: The switch's priority amongst other FCFs on the same | |
| 99 | + priority: | |
| 100 | + The switch's priority amongst other FCFs on the same | |
| 85 | 101 | fabric. |
| 86 | 102 | |
| 87 | − selected: 1 indicates that the switch has been selected for use; | |
| 103 | + selected: | |
| 104 | + 1 indicates that the switch has been selected for use; | |
| 88 | 105 | 0 indicates that the switch will not be used. |
| 89 | 106 | |
| 90 | − fc_map: The Fibre Channel MAP | |
| 107 | + fc_map: | |
| 108 | + The Fibre Channel MAP | |
| 91 | 109 | |
| 92 | − vfid: The Virtual Fabric ID | |
| 110 | + vfid: | |
| 111 | + The Virtual Fabric ID | |
| 93 | 112 | |
| 94 | − mac: The FCF's MAC address | |
| 113 | + mac: | |
| 114 | + The FCF's MAC address | |
| 95 | 115 | |
| 96 | − fka_period: The FIP Keep-Alive period | |
| 116 | + fka_period: | |
| 117 | + The FIP Keep-Alive period | |
| 97 | 118 | |
| 98 | 119 | fabric_state: The internal kernel state |
| 99 | − "Unknown" - Initialization value | |
| 100 | − "Disconnected" - No link to the FCF/fabric | |
| 101 | − "Connected" - Host is connected to the FCF | |
| 102 | − "Deleted" - FCF is being removed from the system | |
| 120 | + | |
| 121 | + - "Unknown" - Initialization value | |
| 122 | + - "Disconnected" - No link to the FCF/fabric | |
| 123 | + - "Connected" - Host is connected to the FCF | |
| 124 | + - "Deleted" - FCF is being removed from the system | |
| 103 | 125 | |
| 104 | 126 | dev_loss_tmo: The device loss timeout period for this FCF. |
| 105 | 127 | |
| @@ -6,8 +6,10 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | the driver to attempt to bind to the device found at |
| 7 | 7 | this location. The format for the location is Object.Id |
| 8 | 8 | and is the same as found in /sys/bus/fsl-mc/devices/. |
| 9 | − For example: | |
| 10 | − # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind | |
| 9 | + | |
| 10 | + For example:: | |
| 11 | + | |
| 12 | + # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind | |
| 11 | 13 | |
| 12 | 14 | What: /sys/bus/fsl-mc/drivers/.../unbind |
| 13 | 15 | Date: December 2016 |
| @@ -17,5 +19,7 @@ Description: · 3 unmodified lines | ||
| 17 | 19 | driver to attempt to unbind from the device found at |
| 18 | 20 | this location. The format for the location is Object.Id |
| 19 | 21 | and is the same as found in /sys/bus/fsl-mc/devices/. |
| 20 | − For example: | |
| 21 | − # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind | |
| 22 | + | |
| 23 | + For example:: | |
| 24 | + | |
| 25 | + # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind | |
| @@ -3,19 +3,25 @@ Date: February 2011 · 2 unmodified lines | ||
| 3 | 3 | Contact: Minkyu Kang <mk7.kang@samsung.com> |
| 4 | 4 | Description: |
| 5 | 5 | show what device is attached |
| 6 | − NONE - no device | |
| 7 | − USB - USB device is attached | |
| 8 | − UART - UART is attached | |
| 9 | − CHARGER - Charger is attaced | |
| 10 | − JIG - JIG is attached | |
| 6 | + | |
| 7 | + ======= ====================== | |
| 8 | + NONE no device | |
| 9 | + USB USB device is attached | |
| 10 | + UART UART is attached | |
| 11 | + CHARGER Charger is attaced | |
| 12 | + JIG JIG is attached | |
| 13 | + ======= ====================== | |
| 11 | 14 | |
| 12 | 15 | What: /sys/bus/i2c/devices/.../switch |
| 13 | 16 | Date: February 2011 |
| 14 | 17 | Contact: Minkyu Kang <mk7.kang@samsung.com> |
| 15 | 18 | Description: |
| 16 | 19 | show or set the state of manual switch |
| 17 | − VAUDIO - switch to VAUDIO path | |
| 18 | − UART - switch to UART path | |
| 19 | − AUDIO - switch to AUDIO path | |
| 20 | − DHOST - switch to DHOST path | |
| 21 | − AUTO - switch automatically by device | |
| 20 | + | |
| 21 | + ======= ============================== | |
| 22 | + VAUDIO switch to VAUDIO path | |
| 23 | + UART switch to UART path | |
| 24 | + AUDIO switch to AUDIO path | |
| 25 | + DHOST switch to DHOST path | |
| 26 | + AUTO switch automatically by device | |
| 27 | + ======= ============================== | |
| @@ -6,15 +6,18 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | Value that exists only for mux devices that can be |
| 7 | 7 | written to control the behaviour of the multiplexer on |
| 8 | 8 | idle. Possible values: |
| 9 | − -2 - disconnect on idle, i.e. deselect the last used | |
| 10 | − channel, which is useful when there is a device | |
| 11 | − with an address that conflicts with another | |
| 12 | − device on another mux on the same parent bus. | |
| 13 | − -1 - leave the mux as-is, which is the most optimal | |
| 14 | − setting in terms of I2C operations and is the | |
| 15 | − default mode. | |
| 16 | − 0..<nchans> - set the mux to a predetermined channel, | |
| 17 | − which is useful if there is one channel that is | |
| 18 | − used almost always, and you want to reduce the | |
| 19 | − latency for normal operations after rare | |
| 20 | − transactions on other channels | |
| 9 | + | |
| 10 | + =========== =============================================== | |
| 11 | + -2 disconnect on idle, i.e. deselect the last used | |
| 12 | + channel, which is useful when there is a device | |
| 13 | + with an address that conflicts with another | |
| 14 | + device on another mux on the same parent bus. | |
| 15 | + -1 leave the mux as-is, which is the most optimal | |
| 16 | + setting in terms of I2C operations and is the | |
| 17 | + default mode. | |
| 18 | + 0..<nchans> set the mux to a predetermined channel, | |
| 19 | + which is useful if there is one channel that is | |
| 20 | + used almost always, and you want to reduce the | |
| 21 | + latency for normal operations after rare | |
| 22 | + transactions on other channels | |
| 23 | + =========== =============================================== | |
| @@ -84,6 +84,7 @@ Description: · 83 unmodified lines | ||
| 84 | 84 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". |
| 85 | 85 | See the I3C specification for more details about these HDR |
| 86 | 86 | modes. |
| 87 | + | |
| 87 | 88 | This entry describes the HDRCAP of the master controller |
| 88 | 89 | driving the bus. |
| 89 | 90 | |
| @@ -135,6 +136,7 @@ Description: · 45 unmodified lines | ||
| 135 | 136 | Expose the HDR (High Data Rate) capabilities of a device. |
| 136 | 137 | Returns a list of supported HDR mode, each element is separated |
| 137 | 138 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". |
| 139 | + | |
| 138 | 140 | See the I3C specification for more details about these HDR |
| 139 | 141 | modes. |
| 140 | 142 | |
| @@ -15,6 +15,7 @@ Description: · 14 unmodified lines | ||
| 15 | 15 | based on hardware generated events (e.g. data ready) or |
| 16 | 16 | provided by a separate driver for other hardware (e.g. |
| 17 | 17 | periodic timer, GPIO or high resolution timer). |
| 18 | + | |
| 18 | 19 | Contains trigger type specific elements. These do not |
| 19 | 20 | generalize well and hence are not documented in this file. |
| 20 | 21 | X is the IIO index of the trigger. |
| @@ -65,6 +66,7 @@ Contact: linux-iio@vger.kernel.org · 44 unmodified lines | ||
| 65 | 66 | Description: |
| 66 | 67 | When the internal sampling clock can only take a specific set of |
| 67 | 68 | frequencies, we can specify the available values with: |
| 69 | + | |
| 68 | 70 | - a small discrete set of values like "0 2 4 6 8" |
| 69 | 71 | - a range with minimum, step and maximum frequencies like |
| 70 | 72 | "[min step max]" |
| @@ -665,6 +667,7 @@ Description: · 594 unmodified lines | ||
| 665 | 667 | <type>[Y][_name]_<raw|input>_thresh_falling_value may take |
| 666 | 668 | different values, but the device can only enable both thresholds |
| 667 | 669 | or neither. |
| 670 | + | |
| 668 | 671 | Note the driver will assume the last p events requested are |
| 669 | 672 | to be enabled where p is how many it supports (which may vary |
| 670 | 673 | depending on the exact set requested. So if you want to be |
| @@ -719,6 +722,7 @@ Description: · 48 unmodified lines | ||
| 719 | 722 | <type>[Y][_name]_<raw|input>_roc_falling_value may take |
| 720 | 723 | different values, but the device can only enable both rate of |
| 721 | 724 | change thresholds or neither. |
| 725 | + | |
| 722 | 726 | Note the driver will assume the last p events requested are |
| 723 | 727 | to be enabled where p is however many it supports (which may |
| 724 | 728 | vary depending on the exact set requested. So if you want to be |
| @@ -774,9 +778,11 @@ Description: · 49 unmodified lines | ||
| 774 | 778 | Specifies the value of threshold that the device is comparing |
| 775 | 779 | against for the events enabled by |
| 776 | 780 | <type>Y[_name]_thresh[_rising|falling]_en. |
| 781 | + | |
| 777 | 782 | If separate attributes exist for the two directions, but |
| 778 | 783 | direction is not specified for this attribute, then a single |
| 779 | 784 | threshold value applies to both directions. |
| 785 | + | |
| 780 | 786 | The raw or input element of the name indicates whether the |
| 781 | 787 | value is in raw device units or in processed units (as _raw |
| 782 | 788 | and _input do on sysfs direct channel read attributes). |
| @@ -859,6 +865,7 @@ Description: · 76 unmodified lines | ||
| 859 | 865 | If separate attributes exist for the two directions, but |
| 860 | 866 | direction is not specified for this attribute, then a single |
| 861 | 867 | hysteresis value applies to both directions. |
| 868 | + | |
| 862 | 869 | For falling events the hysteresis is added to the _value attribute for |
| 863 | 870 | this event to get the upper threshold for when the event goes back to |
| 864 | 871 | normal, for rising events the hysteresis is subtracted from the _value |
| @@ -905,6 +912,7 @@ Description: · 40 unmodified lines | ||
| 905 | 912 | Specifies the value of rate of change threshold that the |
| 906 | 913 | device is comparing against for the events enabled by |
| 907 | 914 | <type>[Y][_name]_roc[_rising|falling]_en. |
| 915 | + | |
| 908 | 916 | If separate attributes exist for the two directions, |
| 909 | 917 | but direction is not specified for this attribute, |
| 910 | 918 | then a single threshold value applies to both directions. |
| @@ -1304,6 +1312,7 @@ Description: · 393 unmodified lines | ||
| 1304 | 1312 | Proximity measurement indicating that some |
| 1305 | 1313 | object is near the sensor, usually by observing |
| 1306 | 1314 | reflectivity of infrared or ultrasound emitted. |
| 1315 | + | |
| 1307 | 1316 | Often these sensors are unit less and as such conversion |
| 1308 | 1317 | to SI units is not possible. Higher proximity measurements |
| 1309 | 1318 | indicate closer objects, and vice versa. Units after |
| @@ -1449,9 +1458,12 @@ Contact: linux-iio@vger.kernel.org · 139 unmodified lines | ||
| 1449 | 1458 | Description: |
| 1450 | 1459 | A single positive integer specifying the maximum number of scan |
| 1451 | 1460 | elements to wait for. |
| 1461 | + | |
| 1452 | 1462 | Poll will block until the watermark is reached. |
| 1463 | + | |
| 1453 | 1464 | Blocking read will wait until the minimum between the requested |
| 1454 | 1465 | read amount or the low water mark is available. |
| 1466 | + | |
| 1455 | 1467 | Non-blocking read will retrieve the available samples from the |
| 1456 | 1468 | buffer even if there are less samples then watermark level. This |
| 1457 | 1469 | allows the application to block on poll with a timeout and read |
| @@ -1480,11 +1492,13 @@ Description: · 22 unmodified lines | ||
| 1480 | 1492 | device settings allows it (e.g. if a trigger is set that samples |
| 1481 | 1493 | data differently that the hardware fifo does then hardware fifo |
| 1482 | 1494 | will not enabled). |
| 1495 | + | |
| 1483 | 1496 | If the hardware fifo is enabled and the level of the hardware |
| 1484 | 1497 | fifo reaches the hardware fifo watermark level the device will |
| 1485 | 1498 | flush its hardware fifo to the device buffer. Doing a non |
| 1486 | 1499 | blocking read on the device when no samples are present in the |
| 1487 | 1500 | device buffer will also force a flush. |
| 1501 | + | |
| 1488 | 1502 | When the hardware fifo is enabled there is no need to use a |
| 1489 | 1503 | trigger to use buffer mode since the watermark settings |
| 1490 | 1504 | guarantees that the hardware fifo is flushed to the device |
| @@ -1522,6 +1536,7 @@ Description: · 31 unmodified lines | ||
| 1522 | 1536 | A single positive integer specifying the minimum watermark level |
| 1523 | 1537 | for the hardware fifo of this device. If the device does not |
| 1524 | 1538 | have a hardware fifo this entry is not present. |
| 1539 | + | |
| 1525 | 1540 | If the user sets buffer/watermark to a value less than this one, |
| 1526 | 1541 | then the hardware watermark will remain unset. |
| 1527 | 1542 | |
| @@ -1532,6 +1547,7 @@ Description: · 4 unmodified lines | ||
| 1532 | 1547 | A single positive integer specifying the maximum watermark level |
| 1533 | 1548 | for the hardware fifo of this device. If the device does not |
| 1534 | 1549 | have a hardware fifo this entry is not present. |
| 1550 | + | |
| 1535 | 1551 | If the user sets buffer/watermark to a value greater than this |
| 1536 | 1552 | one, then the hardware watermark will be capped at this value. |
| 1537 | 1553 | |
| @@ -1543,6 +1559,7 @@ Description: · 5 unmodified lines | ||
| 1543 | 1559 | levels for the hardware fifo. This entry is optional and if it |
| 1544 | 1560 | is not present it means that all the values between |
| 1545 | 1561 | hwfifo_watermark_min and hwfifo_watermark_max are supported. |
| 1562 | + | |
| 1546 | 1563 | If the user sets buffer/watermark to a value greater than |
| 1547 | 1564 | hwfifo_watermak_min but not equal to any of the values in this |
| 1548 | 1565 | list, the driver will chose an appropriate value for the |
| @@ -1604,7 +1621,8 @@ KernelVersion: 4.1.0 · 55 unmodified lines | ||
| 1604 | 1621 | Contact: linux-iio@vger.kernel.org |
| 1605 | 1622 | Description: |
| 1606 | 1623 | '1' (enable) or '0' (disable) specifying the enable |
| 1607 | − of heater function. Same reading values apply | |
| 1624 | + of heater function. Same reading values apply. | |
| 1625 | + | |
| 1608 | 1626 | This ABI is especially applicable for humidity sensors |
| 1609 | 1627 | to heatup the device and get rid of any condensation |
| 1610 | 1628 | in some humidity environment |
| @@ -1627,17 +1645,21 @@ Description: · 16 unmodified lines | ||
| 1627 | 1645 | Mounting matrix for IIO sensors. This is a rotation matrix which |
| 1628 | 1646 | informs userspace about sensor chip's placement relative to the |
| 1629 | 1647 | main hardware it is mounted on. |
| 1648 | + | |
| 1630 | 1649 | Main hardware placement is defined according to the local |
| 1631 | 1650 | reference frame related to the physical quantity the sensor |
| 1632 | 1651 | measures. |
| 1652 | + | |
| 1633 | 1653 | Given that the rotation matrix is defined in a board specific |
| 1634 | 1654 | way (platform data and / or device-tree), the main hardware |
| 1635 | 1655 | reference frame definition is left to the implementor's choice |
| 1636 | 1656 | (see below for a magnetometer example). |
| 1657 | + | |
| 1637 | 1658 | Applications should apply this rotation matrix to samples so |
| 1638 | 1659 | that when main hardware reference frame is aligned onto local |
| 1639 | 1660 | reference frame, then sensor chip reference frame is also |
| 1640 | 1661 | perfectly aligned with it. |
| 1662 | + | |
| 1641 | 1663 | Matrix is a 3x3 unitary matrix and typically looks like |
| 1642 | 1664 | [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix |
| 1643 | 1665 | [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware |
| @@ -1646,8 +1668,10 @@ Description: · 2 unmodified lines | ||
| 1646 | 1668 | For example, a mounting matrix for a magnetometer sensor informs |
| 1647 | 1669 | userspace about sensor chip's ORIENTATION relative to the main |
| 1648 | 1670 | hardware. |
| 1671 | + | |
| 1649 | 1672 | More specifically, main hardware orientation is defined with |
| 1650 | 1673 | respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where : |
| 1674 | + | |
| 1651 | 1675 | * Y is in the ground plane and positive towards magnetic North ; |
| 1652 | 1676 | * X is in the ground plane, perpendicular to the North axis and |
| 1653 | 1677 | positive towards the East ; |
| @@ -1656,13 +1680,16 @@ Description: · 2 unmodified lines | ||
| 1656 | 1680 | An implementor might consider that for a hand-held device, a |
| 1657 | 1681 | 'natural' orientation would be 'front facing camera at the top'. |
| 1658 | 1682 | The main hardware reference frame could then be described as : |
| 1683 | + | |
| 1659 | 1684 | * Y is in the plane of the screen and is positive towards the |
| 1660 | 1685 | top of the screen ; |
| 1661 | 1686 | * X is in the plane of the screen, perpendicular to Y axis, and |
| 1662 | 1687 | positive towards the right hand side of the screen ; |
| 1663 | 1688 | * Z is perpendicular to the screen plane and positive out of the |
| 1664 | 1689 | screen. |
| 1690 | + | |
| 1665 | 1691 | Another example for a quadrotor UAV might be : |
| 1692 | + | |
| 1666 | 1693 | * Y is in the plane of the propellers and positive towards the |
| 1667 | 1694 | front-view camera; |
| 1668 | 1695 | * X is in the plane of the propellers, perpendicular to Y axis, |
| @@ -1704,6 +1731,7 @@ Description: · 35 unmodified lines | ||
| 1704 | 1731 | This interface is deprecated; please use the Counter subsystem. |
| 1705 | 1732 | |
| 1706 | 1733 | A list of possible counting directions which are: |
| 1734 | + | |
| 1707 | 1735 | - "up" : counter device is increasing. |
| 1708 | 1736 | - "down": counter device is decreasing. |
| 1709 | 1737 | |
| @@ -5,7 +5,8 @@ Contact: Peter Rosin <peda@axentia.se> · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | The DAC is used to find the peak level of an alternating |
| 7 | 7 | voltage input signal by a binary search using the output |
| 8 | − of a comparator wired to an interrupt pin. Like so: | |
| 8 | + of a comparator wired to an interrupt pin. Like so:: | |
| 9 | + | |
| 9 | 10 | _ |
| 10 | 11 | | \ |
| 11 | 12 | input +------>-------|+ \ |
| @@ -19,10 +20,12 @@ Description: · 7 unmodified lines | ||
| 19 | 20 | | irq|------<-------' |
| 20 | 21 | | | |
| 21 | 22 | '-------' |
| 23 | + | |
| 22 | 24 | The boolean invert attribute (0/1) should be set when the |
| 23 | 25 | input signal is centered around the maximum value of the |
| 24 | 26 | dac instead of zero. The envelope detector will search |
| 25 | 27 | from below in this case and will also invert the result. |
| 28 | + | |
| 26 | 29 | The edge/level of the interrupt is also switched to its |
| 27 | 30 | opposite value. |
| 28 | 31 | |
| @@ -19,9 +19,11 @@ Description: · 18 unmodified lines | ||
| 19 | 19 | is separately set for "GND-Open" and "Supply-Open" modes. |
| 20 | 20 | Channels 0..31 have common low threshold values, but could have different |
| 21 | 21 | sensing_modes. |
| 22 | + | |
| 22 | 23 | The low voltage threshold range is between 2..21V. |
| 23 | 24 | Hysteresis between low and high thresholds can not be lower then 2 and |
| 24 | 25 | can not be odd. |
| 26 | + | |
| 25 | 27 | If falling threshold results hysteresis to odd value then rising |
| 26 | 28 | threshold is automatically subtracted by one. |
| 27 | 29 | |
| @@ -34,10 +36,13 @@ Description: · 6 unmodified lines | ||
| 34 | 36 | this value then the threshold rising event is pushed. |
| 35 | 37 | Depending on in_voltageY_sensing_mode the high voltage threshold |
| 36 | 38 | is separately set for "GND-Open" and "Supply-Open" modes. |
| 39 | + | |
| 37 | 40 | Channels 0..31 have common high threshold values, but could have different |
| 38 | 41 | sensing_modes. |
| 42 | + | |
| 39 | 43 | The high voltage threshold range is between 3..22V. |
| 40 | 44 | Hysteresis between low and high thresholds can not be lower then 2 and |
| 41 | 45 | can not be odd. |
| 46 | + | |
| 42 | 47 | If rising threshold results hysteresis to odd value then falling |
| 43 | 48 | threshold is automatically appended by one. |
| @@ -5,10 +5,13 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | The STM32 ADC can be configured to use external trigger sources |
| 6 | 6 | (e.g. timers, pwm or exti gpio). Then, it can be tuned to start |
| 7 | 7 | conversions on external trigger by either: |
| 8 | + | |
| 8 | 9 | - "rising-edge" |
| 9 | 10 | - "falling-edge" |
| 10 | 11 | - "both-edges". |
| 12 | + | |
| 11 | 13 | Reading returns current trigger polarity. |
| 14 | + | |
| 12 | 15 | Writing value before enabling conversions sets trigger polarity. |
| 13 | 16 | |
| 14 | 17 | What: /sys/bus/iio/devices/triggerX/trigger_polarity_available |
| @@ -4,7 +4,7 @@ KernelVersion: 4.7 · 3 unmodified lines | ||
| 4 | 4 | Contact: linux-iio@vger.kernel.org |
| 5 | 5 | Description: |
| 6 | 6 | Writing '1' will perform a FOC (Fast Online Calibration). The |
| 7 | − corresponding calibration offsets can be read from *_calibbias | |
| 7 | + corresponding calibration offsets can be read from `*_calibbias` | |
| 8 | 8 | entries. |
| 9 | 9 | |
| 10 | 10 | What: /sys/bus/iio/devices/iio:deviceX/location |
| @@ -3,14 +3,20 @@ KernelVersion: 4.14 · 2 unmodified lines | ||
| 3 | 3 | Contact: arnaud.pouliquen@st.com |
| 4 | 4 | Description: |
| 5 | 5 | For audio purpose only. |
| 6 | + | |
| 6 | 7 | Used by audio driver to set/get the spi input frequency. |
| 8 | + | |
| 7 | 9 | This is mandatory if DFSDM is slave on SPI bus, to |
| 8 | 10 | provide information on the SPI clock frequency during runtime |
| 9 | 11 | Notice that the SPI frequency should be a multiple of sample |
| 10 | 12 | frequency to ensure the precision. |
| 11 | − if DFSDM input is SPI master | |
| 13 | + | |
| 14 | + if DFSDM input is SPI master: | |
| 15 | + | |
| 12 | 16 | Reading SPI clkout frequency, |
| 13 | 17 | error on writing |
| 18 | + | |
| 14 | 19 | If DFSDM input is SPI Slave: |
| 20 | + | |
| 15 | 21 | Reading returns value previously set. |
| 16 | 22 | Writing value before starting conversions. |
| @@ -15,8 +15,11 @@ Description: · 14 unmodified lines | ||
| 15 | 15 | first object echoed in meters. Default value is 6.020. |
| 16 | 16 | This setting limits the time the driver is waiting for a |
| 17 | 17 | echo. |
| 18 | + | |
| 18 | 19 | Showing the range of available values is represented as the |
| 19 | 20 | minimum value, the step and the maximum value, all enclosed |
| 20 | 21 | in square brackets. |
| 21 | − Example: | |
| 22 | − [0.043 0.043 11.008] | |
| 22 | + | |
| 23 | + Example:: | |
| 24 | + | |
| 25 | + [0.043 0.043 11.008] | |
| @@ -8,7 +8,9 @@ KernelVersion: 3.4.0 · 7 unmodified lines | ||
| 8 | 8 | Contact: linux-iio@vger.kernel.org |
| 9 | 9 | Description: |
| 10 | 10 | Reading returns either '1' or '0'. |
| 11 | + | |
| 11 | 12 | '1' means that the clock in question is present. |
| 13 | + | |
| 12 | 14 | '0' means that the clock is missing. |
| 13 | 15 | |
| 14 | 16 | What: /sys/bus/iio/devices/iio:deviceX/pllY_locked |
| @@ -27,12 +27,12 @@ What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_name · 26 unmodified lines | ||
| 27 | 27 | KernelVersion: |
| 28 | 28 | Contact: linux-iio@vger.kernel.org |
| 29 | 29 | Description: |
| 30 | − Reading returns the datasheet name for channel Y: | |
| 30 | + Reading returns the datasheet name for channel Y:: | |
| 31 | 31 | |
| 32 | − out_altvoltage0_name: RF8x | |
| 33 | − out_altvoltage1_name: RFAUX8x | |
| 34 | − out_altvoltage2_name: RF16x | |
| 35 | − out_altvoltage3_name: RF32x | |
| 32 | + out_altvoltage0_name: RF8x | |
| 33 | + out_altvoltage1_name: RFAUX8x | |
| 34 | + out_altvoltage2_name: RF16x | |
| 35 | + out_altvoltage3_name: RF32x | |
| 36 | 36 | |
| 37 | 37 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown |
| 38 | 38 | KernelVersion: |
| @@ -6,10 +6,14 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | Get measured values from the ADC for these stages. Y is the |
| 7 | 7 | specific stage number corresponding to datasheet stage names |
| 8 | 8 | as follows: |
| 9 | − 1 -> LED2 | |
| 10 | − 2 -> ALED2/LED3 | |
| 11 | − 3 -> LED1 | |
| 12 | − 4 -> ALED1/LED4 | |
| 9 | + | |
| 10 | + == ========== | |
| 11 | + 1 LED2 | |
| 12 | + 2 ALED2/LED3 | |
| 13 | + 3 LED1 | |
| 14 | + 4 ALED1/LED4 | |
| 15 | + == ========== | |
| 16 | + | |
| 13 | 17 | Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 |
| 14 | 18 | respectively which simply helper channels containing the |
| 15 | 19 | calculated difference in the value of stage 1 - 2 and 3 - 4. |
| @@ -15,5 +15,7 @@ Description: · 14 unmodified lines | ||
| 15 | 15 | Scheme 0 has wider dynamic range, Scheme 1 proximity detection |
| 16 | 16 | is less affected by the ambient IR noise variation. |
| 17 | 17 | |
| 18 | − 0 Sensing IR from LED and ambient | |
| 19 | − 1 Sensing IR from LED with ambient IR rejection | |
| 18 | + == ============================================= | |
| 19 | + 0 Sensing IR from LED and ambient | |
| 20 | + 1 Sensing IR from LED with ambient IR rejection | |
| 21 | + == ============================================= | |
| @@ -17,9 +17,11 @@ KernelVersion: 4.13 · 16 unmodified lines | ||
| 17 | 17 | Contact: fabrice.gasnier@st.com |
| 18 | 18 | Description: |
| 19 | 19 | Configure the device counter quadrature modes: |
| 20 | + | |
| 20 | 21 | - non-quadrature: |
| 21 | 22 | Encoder IN1 input servers as the count input (up |
| 22 | 23 | direction). |
| 24 | + | |
| 23 | 25 | - quadrature: |
| 24 | 26 | Encoder IN1 and IN2 inputs are mixed to get direction |
| 25 | 27 | and count. |
| @@ -35,23 +37,26 @@ KernelVersion: 4.13 · 9 unmodified lines | ||
| 35 | 37 | Contact: fabrice.gasnier@st.com |
| 36 | 38 | Description: |
| 37 | 39 | Configure the device encoder/counter active edge: |
| 40 | + | |
| 38 | 41 | - rising-edge |
| 39 | 42 | - falling-edge |
| 40 | 43 | - both-edges |
| 41 | 44 | |
| 42 | 45 | In non-quadrature mode, device counts up on active edge. |
| 46 | + | |
| 43 | 47 | In quadrature mode, encoder counting scenarios are as follows: |
| 44 | − ---------------------------------------------------------------- | |
| 48 | + | |
| 49 | + +---------+----------+--------------------+--------------------+ | |
| 45 | 50 | | Active | Level on | IN1 signal | IN2 signal | |
| 46 | − | edge | opposite |------------------------------------------ | |
| 51 | + | edge | opposite +----------+---------+----------+---------+ | |
| 47 | 52 | | | signal | Rising | Falling | Rising | Falling | |
| 48 | − ---------------------------------------------------------------- | |
| 49 | − | Rising | High -> | Down | - | Up | - | | |
| 50 | − | edge | Low -> | Up | - | Down | - | | |
| 51 | − ---------------------------------------------------------------- | |
| 52 | − | Falling | High -> | - | Up | - | Down | | |
| 53 | − | edge | Low -> | - | Down | - | Up | | |
| 54 | − ---------------------------------------------------------------- | |
| 55 | − | Both | High -> | Down | Up | Up | Down | | |
| 56 | − | edges | Low -> | Up | Down | Down | Up | | |
| 57 | − ---------------------------------------------------------------- | |
| 53 | + +---------+----------+----------+---------+----------+---------+ | |
| 54 | + | Rising | High -> | Down | - | Up | - | | |
| 55 | + | edge | Low -> | Up | - | Down | - | | |
| 56 | + +---------+----------+----------+---------+----------+---------+ | |
| 57 | + | Falling | High -> | - | Up | - | Down | | |
| 58 | + | edge | Low -> | - | Down | - | Up | | |
| 59 | + +---------+----------+----------+---------+----------+---------+ | |
| 60 | + | Both | High -> | Down | Up | Up | Down | | |
| 61 | + | edges | Low -> | Up | Down | Down | Up | | |
| 62 | + +---------+----------+----------+---------+----------+---------+ | |
| @@ -5,11 +5,16 @@ Contact: linux-iio@vger.kernel.org · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | Current configuration and available configurations |
| 7 | 7 | for the bias current. |
| 8 | − normal - Normal measurement configurations (default) | |
| 9 | − positivebias - Positive bias configuration | |
| 10 | − negativebias - Negative bias configuration | |
| 11 | − disabled - Only available on HMC5983. Disables magnetic | |
| 8 | + | |
| 9 | + ============ ============================================ | |
| 10 | + normal Normal measurement configurations (default) | |
| 11 | + positivebias Positive bias configuration | |
| 12 | + negativebias Negative bias configuration | |
| 13 | + disabled Only available on HMC5983. Disables magnetic | |
| 12 | 14 | sensor and enables temperature sensor. |
| 13 | − Note: The effect of this configuration may vary | |
| 14 | − according to the device. For exact documentation | |
| 15 | − check the device's datasheet. | |
| 15 | + ============ ============================================ | |
| 16 | + | |
| 17 | + Note: | |
| 18 | + The effect of this configuration may vary | |
| 19 | + according to the device. For exact documentation | |
| 20 | + check the device's datasheet. | |
| @@ -5,9 +5,12 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | Open-circuit fault. The detection of open-circuit faults, |
| 6 | 6 | such as those caused by broken thermocouple wires. |
| 7 | 7 | Reading returns either '1' or '0'. |
| 8 | − '1' = An open circuit such as broken thermocouple wires | |
| 9 | − has been detected. | |
| 10 | − '0' = No open circuit or broken thermocouple wires are detected | |
| 8 | + | |
| 9 | + === ======================================================= | |
| 10 | + '1' An open circuit such as broken thermocouple wires | |
| 11 | + has been detected. | |
| 12 | + '0' No open circuit or broken thermocouple wires are detected | |
| 13 | + === ======================================================= | |
| 11 | 14 | |
| 12 | 15 | What: /sys/bus/iio/devices/iio:deviceX/fault_ovuv |
| 13 | 16 | KernelVersion: 5.1 |
| @@ -18,7 +21,11 @@ Description: · 4 unmodified lines | ||
| 18 | 21 | cables by integrated MOSFETs at the T+ and T- inputs, and the |
| 19 | 22 | BIAS output. These MOSFETs turn off when the input voltage is |
| 20 | 23 | negative or greater than VDD. |
| 24 | + | |
| 21 | 25 | Reading returns either '1' or '0'. |
| 22 | − '1' = The input voltage is negative or greater than VDD. | |
| 23 | − '0' = The input voltage is positive and less than VDD (normal | |
| 24 | − state). | |
| 26 | + | |
| 27 | + === ======================================================= | |
| 28 | + '1' The input voltage is negative or greater than VDD. | |
| 29 | + '0' The input voltage is positive and less than VDD (normal | |
| 30 | + state). | |
| 31 | + === ======================================================= | |
| @@ -3,67 +3,85 @@ KernelVersion: 4.11 · 2 unmodified lines | ||
| 3 | 3 | Contact: benjamin.gaignard@st.com |
| 4 | 4 | Description: |
| 5 | 5 | Reading returns the list possible master modes which are: |
| 6 | − - "reset" : The UG bit from the TIMx_EGR register is | |
| 6 | + | |
| 7 | + | |
| 8 | + - "reset" | |
| 9 | + The UG bit from the TIMx_EGR register is | |
| 7 | 10 | used as trigger output (TRGO). |
| 8 | − - "enable" : The Counter Enable signal CNT_EN is used | |
| 11 | + - "enable" | |
| 12 | + The Counter Enable signal CNT_EN is used | |
| 9 | 13 | as trigger output. |
| 10 | − - "update" : The update event is selected as trigger output. | |
| 14 | + - "update" | |
| 15 | + The update event is selected as trigger output. | |
| 11 | 16 | For instance a master timer can then be used |
| 12 | 17 | as a prescaler for a slave timer. |
| 13 | − - "compare_pulse" : The trigger output send a positive pulse | |
| 14 | − when the CC1IF flag is to be set. | |
| 15 | − - "OC1REF" : OC1REF signal is used as trigger output. | |
| 16 | − - "OC2REF" : OC2REF signal is used as trigger output. | |
| 17 | − - "OC3REF" : OC3REF signal is used as trigger output. | |
| 18 | − - "OC4REF" : OC4REF signal is used as trigger output. | |
| 18 | + - "compare_pulse" | |
| 19 | + The trigger output send a positive pulse | |
| 20 | + when the CC1IF flag is to be set. | |
| 21 | + - "OC1REF" | |
| 22 | + OC1REF signal is used as trigger output. | |
| 23 | + - "OC2REF" | |
| 24 | + OC2REF signal is used as trigger output. | |
| 25 | + - "OC3REF" | |
| 26 | + OC3REF signal is used as trigger output. | |
| 27 | + - "OC4REF" | |
| 28 | + OC4REF signal is used as trigger output. | |
| 29 | + | |
| 19 | 30 | Additional modes (on TRGO2 only): |
| 20 | − - "OC5REF" : OC5REF signal is used as trigger output. | |
| 21 | − - "OC6REF" : OC6REF signal is used as trigger output. | |
| 31 | + | |
| 32 | + - "OC5REF" | |
| 33 | + OC5REF signal is used as trigger output. | |
| 34 | + - "OC6REF" | |
| 35 | + OC6REF signal is used as trigger output. | |
| 22 | 36 | - "compare_pulse_OC4REF": |
| 23 | − OC4REF rising or falling edges generate pulses. | |
| 37 | + OC4REF rising or falling edges generate pulses. | |
| 24 | 38 | - "compare_pulse_OC6REF": |
| 25 | − OC6REF rising or falling edges generate pulses. | |
| 39 | + OC6REF rising or falling edges generate pulses. | |
| 26 | 40 | - "compare_pulse_OC4REF_r_or_OC6REF_r": |
| 27 | − OC4REF or OC6REF rising edges generate pulses. | |
| 41 | + OC4REF or OC6REF rising edges generate pulses. | |
| 28 | 42 | - "compare_pulse_OC4REF_r_or_OC6REF_f": |
| 29 | − OC4REF rising or OC6REF falling edges generate pulses. | |
| 43 | + OC4REF rising or OC6REF falling edges generate | |
| 44 | + pulses. | |
| 30 | 45 | - "compare_pulse_OC5REF_r_or_OC6REF_r": |
| 31 | − OC5REF or OC6REF rising edges generate pulses. | |
| 46 | + OC5REF or OC6REF rising edges generate pulses. | |
| 32 | 47 | - "compare_pulse_OC5REF_r_or_OC6REF_f": |
| 33 | − OC5REF rising or OC6REF falling edges generate pulses. | |
| 34 | − | |
| 35 | − +-----------+ +-------------+ +---------+ | |
| 36 | − | Prescaler +-> | Counter | +-> | Master | TRGO(2) | |
| 37 | − +-----------+ +--+--------+-+ |-> | Control +--> | |
| 38 | − | | || +---------+ | |
| 39 | − +--v--------+-+ OCxREF || +---------+ | |
| 40 | − | Chx compare +----------> | Output | ChX | |
| 41 | − +-----------+-+ | | Control +--> | |
| 42 | − . | | +---------+ | |
| 43 | − . | | . | |
| 44 | − +-----------v-+ OC6REF | . | |
| 45 | − | Ch6 compare +---------+> | |
| 46 | − +-------------+ | |
| 47 | − | |
| 48 | − Example with: "compare_pulse_OC4REF_r_or_OC6REF_r": | |
| 49 | − | |
| 50 | − X | |
| 51 | − X X | |
| 52 | − X . . X | |
| 53 | − X . . X | |
| 54 | − X . . X | |
| 55 | − count X . . . . X | |
| 56 | − . . . . | |
| 57 | − . . . . | |
| 58 | − +---------------+ | |
| 59 | − OC4REF | . . | | |
| 60 | − +-+ . . +-+ | |
| 61 | − . +---+ . | |
| 62 | − OC6REF . | | . | |
| 63 | − +-------+ +-------+ | |
| 64 | − +-+ +-+ | |
| 65 | − TRGO2 | | | | | |
| 66 | − +-+ +---+ +---------+ | |
| 48 | + OC5REF rising or OC6REF falling edges generate | |
| 49 | + pulses. | |
| 50 | + | |
| 51 | + :: | |
| 52 | + | |
| 53 | + +-----------+ +-------------+ +---------+ | |
| 54 | + | Prescaler +-> | Counter | +-> | Master | TRGO(2) | |
| 55 | + +-----------+ +--+--------+-+ |-> | Control +--> | |
| 56 | + | | || +---------+ | |
| 57 | + +--v--------+-+ OCxREF || +---------+ | |
| 58 | + | Chx compare +----------> | Output | ChX | |
| 59 | + +-----------+-+ | | Control +--> | |
| 60 | + . | | +---------+ | |
| 61 | + . | | . | |
| 62 | + +-----------v-+ OC6REF | . | |
| 63 | + | Ch6 compare +---------+> | |
| 64 | + +-------------+ | |
| 65 | + | |
| 66 | + Example with: "compare_pulse_OC4REF_r_or_OC6REF_r":: | |
| 67 | + | |
| 68 | + X | |
| 69 | + X X | |
| 70 | + X . . X | |
| 71 | + X . . X | |
| 72 | + X . . X | |
| 73 | + count X . . . . X | |
| 74 | + . . . . | |
| 75 | + . . . . | |
| 76 | + +---------------+ | |
| 77 | + OC4REF | . . | | |
| 78 | + +-+ . . +-+ | |
| 79 | + . +---+ . | |
| 80 | + OC6REF . | | . | |
| 81 | + +-------+ +-------+ | |
| 82 | + +-+ +-+ | |
| 83 | + TRGO2 | | | | | |
| 84 | + +-+ +---+ +---------+ | |
| 67 | 85 | |
| 68 | 86 | What: /sys/bus/iio/devices/triggerX/master_mode |
| 69 | 87 | KernelVersion: 4.11 |
| @@ -104,6 +122,7 @@ Description: · 34 unmodified lines | ||
| 104 | 122 | Configure the device counter enable modes, in all case |
| 105 | 123 | counting direction is set by in_count0_count_direction |
| 106 | 124 | attribute and the counter is clocked by the internal clock. |
| 125 | + | |
| 107 | 126 | always: |
| 108 | 127 | Counter is always ON. |
| 109 | 128 | |
| @@ -10,10 +10,13 @@ Date: June 2015 · 9 unmodified lines | ||
| 10 | 10 | KernelVersion: 4.3 |
| 11 | 11 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 12 | 12 | Description: (RO) Output port type: |
| 13 | − 0: not present, | |
| 14 | − 1: MSU (Memory Storage Unit) | |
| 15 | − 2: CTP (Common Trace Port) | |
| 16 | − 4: PTI (MIPI PTI). | |
| 13 | + | |
| 14 | + == ========================= | |
| 15 | + 0 not present, | |
| 16 | + 1 MSU (Memory Storage Unit) | |
| 17 | + 2 CTP (Common Trace Port) | |
| 18 | + 4 PTI (MIPI PTI). | |
| 19 | + == ========================= | |
| 17 | 20 | |
| 18 | 21 | What: /sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop |
| 19 | 22 | Date: June 2015 |
| @@ -9,11 +9,13 @@ Date: June 2015 · 8 unmodified lines | ||
| 9 | 9 | KernelVersion: 4.3 |
| 10 | 10 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 11 | 11 | Description: (RW) Configure MSC operating mode: |
| 12 | + | |
| 12 | 13 | - "single", for contiguous buffer mode (high-order alloc); |
| 13 | 14 | - "multi", for multiblock mode; |
| 14 | 15 | - "ExI", for DCI handler mode; |
| 15 | 16 | - "debug", for debug mode; |
| 16 | 17 | - any of the currently loaded buffer sinks. |
| 18 | + | |
| 17 | 19 | If operating mode changes, existing buffer is deallocated, |
| 18 | 20 | provided there are no active users and tracing is not enabled, |
| 19 | 21 | otherwise the write will fail. |
| @@ -23,10 +25,12 @@ Date: June 2015 · 3 unmodified lines | ||
| 23 | 25 | KernelVersion: 4.3 |
| 24 | 26 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 25 | 27 | Description: (RW) Configure MSC buffer size for "single" or "multi" modes. |
| 28 | + | |
| 26 | 29 | In single mode, this is a single number of pages, has to be |
| 27 | 30 | power of 2. In multiblock mode, this is a comma-separated list |
| 28 | 31 | of numbers of pages for each window to be allocated. Number of |
| 29 | 32 | windows is not limited. |
| 33 | + | |
| 30 | 34 | Writing to this file deallocates existing buffer (provided |
| 31 | 35 | there are no active users and tracing is not enabled) and then |
| 32 | 36 | allocates a new one. |
| @@ -235,7 +235,8 @@ KernelVersion: 4.15 · 234 unmodified lines | ||
| 235 | 235 | Contact: Christian Gromm <christian.gromm@microchip.com> |
| 236 | 236 | Description: |
| 237 | 237 | This is to read back the configured direction of the channel. |
| 238 | − The following strings will be accepted: | |
| 238 | + The following strings will be accepted:: | |
| 239 | + | |
| 239 | 240 | 'tx', |
| 240 | 241 | 'rx' |
| 241 | 242 | Users: |
| @@ -246,7 +247,8 @@ KernelVersion: 4.15 · 4 unmodified lines | ||
| 246 | 247 | Contact: Christian Gromm <christian.gromm@microchip.com> |
| 247 | 248 | Description: |
| 248 | 249 | This is to read back the configured data type of the channel. |
| 249 | − The following strings will be accepted: | |
| 250 | + The following strings will be accepted:: | |
| 251 | + | |
| 250 | 252 | 'control', |
| 251 | 253 | 'async', |
| 252 | 254 | 'sync', |
| @@ -2,16 +2,16 @@ What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description · 1 unmodified line | ||
| 2 | 2 | Date: March 2019 |
| 3 | 3 | KernelVersion: 5.3 |
| 4 | 4 | Contact: Marek Behún <marek.behun@nic.cz> |
| 5 | −Description: (R) Moxtet module description. Format: string | |
| 5 | +Description: (Read) Moxtet module description. Format: string | |
| 6 | 6 | |
| 7 | 7 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id |
| 8 | 8 | Date: March 2019 |
| 9 | 9 | KernelVersion: 5.3 |
| 10 | 10 | Contact: Marek Behún <marek.behun@nic.cz> |
| 11 | −Description: (R) Moxtet module ID. Format: %x | |
| 11 | +Description: (Read) Moxtet module ID. Format: %x | |
| 12 | 12 | |
| 13 | 13 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name |
| 14 | 14 | Date: March 2019 |
| 15 | 15 | KernelVersion: 5.3 |
| 16 | 16 | Contact: Marek Behún <marek.behun@nic.cz> |
| 17 | −Description: (R) Moxtet module name. Format: string | |
| 17 | +Description: (Read) Moxtet module name. Format: string | |
| @@ -1,4 +1,4 @@ | ||
| 1 | −For all of the nmem device attributes under nfit/*, see the 'NVDIMM Firmware | |
| 1 | +For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware | |
| 2 | 2 | Interface Table (NFIT)' section in the ACPI specification |
| 3 | 3 | (http://www.uefi.org/specifications) for more details. |
| 4 | 4 | |
| @@ -1,2 +1,8 @@ | ||
| 1 | +What: nvdimm | |
| 2 | +Date: July 2020 | |
| 3 | +KernelVersion: 5.8 | |
| 4 | +Contact: Dan Williams <dan.j.williams@intel.com> | |
| 5 | +Description: | |
| 6 | + | |
| 1 | 7 | The libnvdimm sub-system implements a common sysfs interface for |
| 2 | 8 | platform nvdimm resources. See Documentation/driver-api/nvdimm/. |
| @@ -11,19 +11,26 @@ Description: · 10 unmodified lines | ||
| 11 | 11 | at 'Documentation/powerpc/papr_hcalls.rst' . Below are |
| 12 | 12 | the flags reported in this sysfs file: |
| 13 | 13 | |
| 14 | − * "not_armed" : Indicates that NVDIMM contents will not | |
| 14 | + * "not_armed" | |
| 15 | + Indicates that NVDIMM contents will not | |
| 15 | 16 | survive a power cycle. |
| 16 | − * "flush_fail" : Indicates that NVDIMM contents | |
| 17 | + * "flush_fail" | |
| 18 | + Indicates that NVDIMM contents | |
| 17 | 19 | couldn't be flushed during last |
| 18 | 20 | shut-down event. |
| 19 | − * "restore_fail": Indicates that NVDIMM contents | |
| 21 | + * "restore_fail" | |
| 22 | + Indicates that NVDIMM contents | |
| 20 | 23 | couldn't be restored during NVDIMM |
| 21 | 24 | initialization. |
| 22 | − * "encrypted" : NVDIMM contents are encrypted. | |
| 23 | − * "smart_notify": There is health event for the NVDIMM. | |
| 24 | − * "scrubbed" : Indicating that contents of the | |
| 25 | + * "encrypted" | |
| 26 | + NVDIMM contents are encrypted. | |
| 27 | + * "smart_notify" | |
| 28 | + There is health event for the NVDIMM. | |
| 29 | + * "scrubbed" | |
| 30 | + Indicating that contents of the | |
| 25 | 31 | NVDIMM have been scrubbed. |
| 26 | − * "locked" : Indicating that NVDIMM contents cant | |
| 32 | + * "locked" | |
| 33 | + Indicating that NVDIMM contents cant | |
| 27 | 34 | be modified until next power cycle. |
| 28 | 35 | |
| 29 | 36 | What: /sys/bus/nd/devices/nmemX/papr/perf_stats |
| @@ -51,4 +58,4 @@ Description: · 21 unmodified lines | ||
| 51 | 58 | * "MedWDur " : Media Write Duration |
| 52 | 59 | * "CchRHCnt" : Cache Read Hit Count |
| 53 | 60 | * "CchWHCnt" : Cache Write Hit Count |
| 54 | − * "FastWCnt" : Fast Write Count | |
| 61 | + * "FastWCnt" : Fast Write Count | |
| @@ -7,8 +7,10 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | this location. This is useful for overriding default |
| 8 | 8 | bindings. The format for the location is: DDDD:BB:DD.F. |
| 9 | 9 | That is Domain:Bus:Device.Function and is the same as |
| 10 | − found in /sys/bus/pci/devices/. For example: | |
| 11 | − # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind | |
| 10 | + found in /sys/bus/pci/devices/. For example:: | |
| 11 | + | |
| 12 | + # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind | |
| 13 | + | |
| 12 | 14 | (Note: kernels before 2.6.28 may require echo -n). |
| 13 | 15 | |
| 14 | 16 | What: /sys/bus/pci/drivers/.../unbind |
| @@ -20,8 +22,10 @@ Description: · 5 unmodified lines | ||
| 20 | 22 | this location. This may be useful when overriding default |
| 21 | 23 | bindings. The format for the location is: DDDD:BB:DD.F. |
| 22 | 24 | That is Domain:Bus:Device.Function and is the same as |
| 23 | − found in /sys/bus/pci/devices/. For example: | |
| 24 | − # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind | |
| 25 | + found in /sys/bus/pci/devices/. For example:: | |
| 26 | + | |
| 27 | + # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind | |
| 28 | + | |
| 25 | 29 | (Note: kernels before 2.6.28 may require echo -n). |
| 26 | 30 | |
| 27 | 31 | What: /sys/bus/pci/drivers/.../new_id |
| @@ -38,8 +42,9 @@ Description: · 10 unmodified lines | ||
| 38 | 42 | Class, Class Mask, and Private Driver Data. The Vendor ID |
| 39 | 43 | and Device ID fields are required, the rest are optional. |
| 40 | 44 | Upon successfully adding an ID, the driver will probe |
| 41 | − for the device and attempt to bind to it. For example: | |
| 42 | − # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id | |
| 45 | + for the device and attempt to bind to it. For example:: | |
| 46 | + | |
| 47 | + # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id | |
| 43 | 48 | |
| 44 | 49 | What: /sys/bus/pci/drivers/.../remove_id |
| 45 | 50 | Date: February 2009 |
| @@ -54,8 +59,9 @@ Description: · 8 unmodified lines | ||
| 54 | 59 | required, the rest are optional. After successfully |
| 55 | 60 | removing an ID, the driver will no longer support the |
| 56 | 61 | device. This is useful to ensure auto probing won't |
| 57 | − match the driver to the device. For example: | |
| 58 | − # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id | |
| 62 | + match the driver to the device. For example:: | |
| 63 | + | |
| 64 | + # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id | |
| 59 | 65 | |
| 60 | 66 | What: /sys/bus/pci/rescan |
| 61 | 67 | Date: January 2009 |
| @@ -1,6 +1,6 @@ | ||
| 1 | −========================== | |
| 2 | 1 | PCIe Device AER statistics |
| 3 | −========================== | |
| 2 | +-------------------------- | |
| 3 | + | |
| 4 | 4 | These attributes show up under all the devices that are AER capable. These |
| 5 | 5 | statistical counters indicate the errors "as seen/reported by the device". |
| 6 | 6 | Note that this may mean that if an endpoint is causing problems, the AER |
| @@ -17,19 +17,18 @@ Description: List of correctable errors seen and reported by this · 10 unmodified lines | ||
| 17 | 17 | PCI device using ERR_COR. Note that since multiple errors may |
| 18 | 18 | be reported using a single ERR_COR message, thus |
| 19 | 19 | TOTAL_ERR_COR at the end of the file may not match the actual |
| 20 | − total of all the errors in the file. Sample output: | |
| 21 | −------------------------------------------------------------------------- | |
| 22 | −localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable | |
| 23 | −Receiver Error 2 | |
| 24 | −Bad TLP 0 | |
| 25 | −Bad DLLP 0 | |
| 26 | −RELAY_NUM Rollover 0 | |
| 27 | −Replay Timer Timeout 0 | |
| 28 | −Advisory Non-Fatal 0 | |
| 29 | −Corrected Internal Error 0 | |
| 30 | −Header Log Overflow 0 | |
| 31 | −TOTAL_ERR_COR 2 | |
| 32 | −------------------------------------------------------------------------- | |
| 20 | + total of all the errors in the file. Sample output:: | |
| 21 | + | |
| 22 | + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable | |
| 23 | + Receiver Error 2 | |
| 24 | + Bad TLP 0 | |
| 25 | + Bad DLLP 0 | |
| 26 | + RELAY_NUM Rollover 0 | |
| 27 | + Replay Timer Timeout 0 | |
| 28 | + Advisory Non-Fatal 0 | |
| 29 | + Corrected Internal Error 0 | |
| 30 | + Header Log Overflow 0 | |
| 31 | + TOTAL_ERR_COR 2 | |
| 33 | 32 | |
| 34 | 33 | What: /sys/bus/pci/devices/<dev>/aer_dev_fatal |
| 35 | 34 | Date: July 2018 |
| @@ -39,28 +38,27 @@ Description: List of uncorrectable fatal errors seen and reported by this · 3 unmodified lines | ||
| 39 | 38 | PCI device using ERR_FATAL. Note that since multiple errors may |
| 40 | 39 | be reported using a single ERR_FATAL message, thus |
| 41 | 40 | TOTAL_ERR_FATAL at the end of the file may not match the actual |
| 42 | − total of all the errors in the file. Sample output: | |
| 43 | −------------------------------------------------------------------------- | |
| 44 | −localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal | |
| 45 | −Undefined 0 | |
| 46 | −Data Link Protocol 0 | |
| 47 | −Surprise Down Error 0 | |
| 48 | −Poisoned TLP 0 | |
| 49 | −Flow Control Protocol 0 | |
| 50 | −Completion Timeout 0 | |
| 51 | −Completer Abort 0 | |
| 52 | −Unexpected Completion 0 | |
| 53 | −Receiver Overflow 0 | |
| 54 | −Malformed TLP 0 | |
| 55 | −ECRC 0 | |
| 56 | −Unsupported Request 0 | |
| 57 | −ACS Violation 0 | |
| 58 | −Uncorrectable Internal Error 0 | |
| 59 | −MC Blocked TLP 0 | |
| 60 | −AtomicOp Egress Blocked 0 | |
| 61 | −TLP Prefix Blocked Error 0 | |
| 62 | −TOTAL_ERR_FATAL 0 | |
| 63 | −------------------------------------------------------------------------- | |
| 41 | + total of all the errors in the file. Sample output:: | |
| 42 | + | |
| 43 | + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal | |
| 44 | + Undefined 0 | |
| 45 | + Data Link Protocol 0 | |
| 46 | + Surprise Down Error 0 | |
| 47 | + Poisoned TLP 0 | |
| 48 | + Flow Control Protocol 0 | |
| 49 | + Completion Timeout 0 | |
| 50 | + Completer Abort 0 | |
| 51 | + Unexpected Completion 0 | |
| 52 | + Receiver Overflow 0 | |
| 53 | + Malformed TLP 0 | |
| 54 | + ECRC 0 | |
| 55 | + Unsupported Request 0 | |
| 56 | + ACS Violation 0 | |
| 57 | + Uncorrectable Internal Error 0 | |
| 58 | + MC Blocked TLP 0 | |
| 59 | + AtomicOp Egress Blocked 0 | |
| 60 | + TLP Prefix Blocked Error 0 | |
| 61 | + TOTAL_ERR_FATAL 0 | |
| 64 | 62 | |
| 65 | 63 | What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal |
| 66 | 64 | Date: July 2018 |
| @@ -70,32 +68,31 @@ Description: List of uncorrectable nonfatal errors seen and reported by this · 3 unmodified lines | ||
| 70 | 68 | PCI device using ERR_NONFATAL. Note that since multiple errors |
| 71 | 69 | may be reported using a single ERR_FATAL message, thus |
| 72 | 70 | TOTAL_ERR_NONFATAL at the end of the file may not match the |
| 73 | − actual total of all the errors in the file. Sample output: | |
| 74 | −------------------------------------------------------------------------- | |
| 75 | −localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal | |
| 76 | −Undefined 0 | |
| 77 | −Data Link Protocol 0 | |
| 78 | −Surprise Down Error 0 | |
| 79 | −Poisoned TLP 0 | |
| 80 | −Flow Control Protocol 0 | |
| 81 | −Completion Timeout 0 | |
| 82 | −Completer Abort 0 | |
| 83 | −Unexpected Completion 0 | |
| 84 | −Receiver Overflow 0 | |
| 85 | −Malformed TLP 0 | |
| 86 | −ECRC 0 | |
| 87 | −Unsupported Request 0 | |
| 88 | −ACS Violation 0 | |
| 89 | −Uncorrectable Internal Error 0 | |
| 90 | −MC Blocked TLP 0 | |
| 91 | −AtomicOp Egress Blocked 0 | |
| 92 | −TLP Prefix Blocked Error 0 | |
| 93 | −TOTAL_ERR_NONFATAL 0 | |
| 94 | −------------------------------------------------------------------------- | |
| 71 | + actual total of all the errors in the file. Sample output:: | |
| 72 | + | |
| 73 | + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal | |
| 74 | + Undefined 0 | |
| 75 | + Data Link Protocol 0 | |
| 76 | + Surprise Down Error 0 | |
| 77 | + Poisoned TLP 0 | |
| 78 | + Flow Control Protocol 0 | |
| 79 | + Completion Timeout 0 | |
| 80 | + Completer Abort 0 | |
| 81 | + Unexpected Completion 0 | |
| 82 | + Receiver Overflow 0 | |
| 83 | + Malformed TLP 0 | |
| 84 | + ECRC 0 | |
| 85 | + Unsupported Request 0 | |
| 86 | + ACS Violation 0 | |
| 87 | + Uncorrectable Internal Error 0 | |
| 88 | + MC Blocked TLP 0 | |
| 89 | + AtomicOp Egress Blocked 0 | |
| 90 | + TLP Prefix Blocked Error 0 | |
| 91 | + TOTAL_ERR_NONFATAL 0 | |
| 95 | 92 | |
| 96 | −============================ | |
| 97 | 93 | PCIe Rootport AER statistics |
| 98 | −============================ | |
| 94 | +---------------------------- | |
| 95 | + | |
| 99 | 96 | These attributes show up under only the rootports (or root complex event |
| 100 | 97 | collectors) that are AER capable. These indicate the number of error messages as |
| 101 | 98 | "reported to" the rootport. Please note that the rootports also transmit |
| @@ -4,6 +4,7 @@ Contact: Cezary Rojewski <cezary.rojewski@intel.com> · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | Version of AudioDSP firmware ASoC catpt driver is |
| 6 | 6 | communicating with. |
| 7 | + | |
| 7 | 8 | Format: %d.%d.%d.%d, type:major:minor:build. |
| 8 | 9 | |
| 9 | 10 | What: /sys/devices/pci0000:00/<dev>/fw_info |
| @@ -21,11 +21,11 @@ Description: · 20 unmodified lines | ||
| 21 | 21 | number returns the port to normal operation. |
| 22 | 22 | |
| 23 | 23 | For example: To force the high-speed device attached to |
| 24 | − port 4 on bus 2 to run at full speed: | |
| 24 | + port 4 on bus 2 to run at full speed:: | |
| 25 | 25 | |
| 26 | 26 | echo 4 >/sys/bus/usb/devices/usb2/../companion |
| 27 | 27 | |
| 28 | − To return the port to high-speed operation: | |
| 28 | + To return the port to high-speed operation:: | |
| 29 | 29 | |
| 30 | 30 | echo -4 >/sys/bus/usb/devices/usb2/../companion |
| 31 | 31 | |
| @@ -4,24 +4,27 @@ Description: · 3 unmodified lines | ||
| 4 | 4 | an individual subdirectory with the following name format of |
| 5 | 5 | device_name "nn:d:iiii", where: |
| 6 | 6 | |
| 7 | − nn - two-digit hexadecimal ID of RapidIO network where the | |
| 7 | + ==== ======================================================== | |
| 8 | + nn two-digit hexadecimal ID of RapidIO network where the | |
| 8 | 9 | device resides |
| 9 | − d - device type: 'e' - for endpoint or 's' - for switch | |
| 10 | − iiii - four-digit device destID for endpoints, or switchID for | |
| 10 | + d device type: 'e' - for endpoint or 's' - for switch | |
| 11 | + iiii four-digit device destID for endpoints, or switchID for | |
| 11 | 12 | switches |
| 13 | + ==== ======================================================== | |
| 12 | 14 | |
| 13 | 15 | For example, below is a list of device directories that |
| 14 | 16 | represents a typical RapidIO network with one switch, one host, |
| 15 | 17 | and two agent endpoints, as it is seen by the enumerating host |
| 16 | − (with destID = 1): | |
| 18 | + (with destID = 1):: | |
| 17 | 19 | |
| 18 | − /sys/bus/rapidio/devices/00:e:0000 | |
| 19 | − /sys/bus/rapidio/devices/00:e:0002 | |
| 20 | − /sys/bus/rapidio/devices/00:s:0001 | |
| 20 | + /sys/bus/rapidio/devices/00:e:0000 | |
| 21 | + /sys/bus/rapidio/devices/00:e:0002 | |
| 22 | + /sys/bus/rapidio/devices/00:s:0001 | |
| 21 | 23 | |
| 22 | − NOTE: An enumerating or discovering endpoint does not create a | |
| 23 | − sysfs entry for itself, this is why an endpoint with destID=1 is | |
| 24 | − not shown in the list. | |
| 24 | + NOTE: | |
| 25 | + An enumerating or discovering endpoint does not create a | |
| 26 | + sysfs entry for itself, this is why an endpoint with destID=1 | |
| 27 | + is not shown in the list. | |
| 25 | 28 | |
| 26 | 29 | Attributes Common for All RapidIO Devices |
| 27 | 30 | ----------------------------------------- |
| @@ -7,6 +7,8 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | |
| 8 | 8 | Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>] |
| 9 | 9 | |
| 10 | + Example:: | |
| 11 | + | |
| 10 | 12 | $ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add |
| 11 | 13 | |
| 12 | 14 | The snapshot name can be "-" or omitted to map the image |
| @@ -23,6 +25,8 @@ Description: · 10 unmodified lines | ||
| 23 | 25 | |
| 24 | 26 | Usage: <dev-id> [force] |
| 25 | 27 | |
| 28 | + Example:: | |
| 29 | + | |
| 26 | 30 | $ echo 2 > /sys/bus/rbd/remove |
| 27 | 31 | |
| 28 | 32 | Optional "force" argument which when passed will wait for |
| @@ -80,26 +84,29 @@ Date: Oct, 2010 · 51 unmodified lines | ||
| 80 | 84 | KernelVersion: v2.6.37 |
| 81 | 85 | Contact: Sage Weil <sage@newdream.net> |
| 82 | 86 | Description: |
| 83 | − size: (RO) The size (in bytes) of the mapped block | |
| 87 | + | |
| 88 | + ============== ================================================ | |
| 89 | + size (RO) The size (in bytes) of the mapped block | |
| 84 | 90 | device. |
| 85 | 91 | |
| 86 | − major: (RO) The block device major number. | |
| 92 | + major (RO) The block device major number. | |
| 87 | 93 | |
| 88 | − client_id: (RO) The ceph unique client id that was assigned | |
| 94 | + client_id (RO) The ceph unique client id that was assigned | |
| 89 | 95 | for this specific session. |
| 90 | 96 | |
| 91 | − pool: (RO) The name of the storage pool where this rbd | |
| 97 | + pool (RO) The name of the storage pool where this rbd | |
| 92 | 98 | image resides. An rbd image name is unique |
| 93 | 99 | within its pool. |
| 94 | 100 | |
| 95 | − name: (RO) The name of the rbd image. | |
| 101 | + name (RO) The name of the rbd image. | |
| 96 | 102 | |
| 97 | − refresh: (WO) Writing to this file will reread the image | |
| 103 | + refresh (WO) Writing to this file will reread the image | |
| 98 | 104 | header data and set all relevant data structures |
| 99 | 105 | accordingly. |
| 100 | 106 | |
| 101 | − current_snap: (RO) The current snapshot for which the device | |
| 107 | + current_snap (RO) The current snapshot for which the device | |
| 102 | 108 | is mapped. |
| 109 | + ============== ================================================ | |
| 103 | 110 | |
| 104 | 111 | |
| 105 | 112 | What: /sys/bus/rbd/devices/<dev-id>/pool_id |
| @@ -117,11 +124,13 @@ Date: Oct, 2012 · 11 unmodified lines | ||
| 117 | 124 | KernelVersion: v3.7 |
| 118 | 125 | Contact: Sage Weil <sage@newdream.net> |
| 119 | 126 | Description: |
| 120 | − image_id: (RO) The unique id for the rbd image. (For rbd | |
| 127 | + ========= =============================================== | |
| 128 | + image_id (RO) The unique id for the rbd image. (For rbd | |
| 121 | 129 | image format 1 this is empty.) |
| 122 | 130 | |
| 123 | − features: (RO) A hexadecimal encoding of the feature bits | |
| 131 | + features (RO) A hexadecimal encoding of the feature bits | |
| 124 | 132 | for this image. |
| 133 | + ========= =============================================== | |
| 125 | 134 | |
| 126 | 135 | |
| 127 | 136 | What: /sys/bus/rbd/devices/<dev-id>/parent |
| @@ -149,14 +158,16 @@ Date: Aug, 2016 · 21 unmodified lines | ||
| 149 | 158 | KernelVersion: v4.9 |
| 150 | 159 | Contact: Sage Weil <sage@newdream.net> |
| 151 | 160 | Description: |
| 152 | − snap_id: (RO) The current snapshot's id. | |
| 161 | + ============ ================================================ | |
| 162 | + snap_id (RO) The current snapshot's id. | |
| 153 | 163 | |
| 154 | − config_info: (RO) The string written into | |
| 164 | + config_info (RO) The string written into | |
| 155 | 165 | /sys/bus/rbd/add{,_single_major}. |
| 156 | 166 | |
| 157 | − cluster_fsid: (RO) The ceph cluster UUID. | |
| 167 | + cluster_fsid (RO) The ceph cluster UUID. | |
| 158 | 168 | |
| 159 | − client_addr: (RO) The ceph unique client | |
| 169 | + client_addr (RO) The ceph unique client | |
| 160 | 170 | entity_addr_t (address + nonce). The format is |
| 161 | 171 | <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or |
| 162 | 172 | '[1:2:3:4:5:6:7:8]:1234/5678'. |
| 173 | + ============ ================================================ | |
| @@ -8,6 +8,7 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | When the file contains a "1" the bus is operated and periodically |
| 9 | 9 | does a push-pull cycle to write and read data from the |
| 10 | 10 | connected devices. |
| 11 | + | |
| 11 | 12 | When writing a "0" or "1" the bus moves to the described state. |
| 12 | 13 | |
| 13 | 14 | What: /sys/bus/siox/devices/siox-X/device_add |
| @@ -21,8 +22,10 @@ Description: · 7 unmodified lines | ||
| 21 | 22 | to add a new device dynamically. <type> is the name that is used to match |
| 22 | 23 | to a driver (similar to the platform bus). <inbytes> and <outbytes> define |
| 23 | 24 | the length of the input and output shift register in bytes respectively. |
| 25 | + | |
| 24 | 26 | <statustype> defines the 4 bit device type that is check to identify connection |
| 25 | 27 | problems. |
| 28 | + | |
| 26 | 29 | The new device is added to the end of the existing chain. |
| 27 | 30 | |
| 28 | 31 | What: /sys/bus/siox/devices/siox-X/device_remove |
| @@ -37,16 +37,18 @@ Contact: thunderbolt-software@lists.01.org · 36 unmodified lines | ||
| 37 | 37 | Description: This attribute holds current Thunderbolt security level |
| 38 | 38 | set by the system BIOS. Possible values are: |
| 39 | 39 | |
| 40 | − none: All devices are automatically authorized | |
| 41 | − user: Devices are only authorized based on writing | |
| 42 | − appropriate value to the authorized attribute | |
| 43 | − secure: Require devices that support secure connect at | |
| 44 | − minimum. User needs to authorize each device. | |
| 45 | − dponly: Automatically tunnel Display port (and USB). No | |
| 46 | − PCIe tunnels are created. | |
| 47 | − usbonly: Automatically tunnel USB controller of the | |
| 40 | + ======= ================================================== | |
| 41 | + none All devices are automatically authorized | |
| 42 | + user Devices are only authorized based on writing | |
| 43 | + appropriate value to the authorized attribute | |
| 44 | + secure Require devices that support secure connect at | |
| 45 | + minimum. User needs to authorize each device. | |
| 46 | + dponly Automatically tunnel Display port (and USB). No | |
| 47 | + PCIe tunnels are created. | |
| 48 | + usbonly Automatically tunnel USB controller of the | |
| 48 | 49 | connected Thunderbolt dock (and Display Port). All |
| 49 | 50 | PCIe links downstream of the dock are removed. |
| 51 | + ======= ================================================== | |
| 50 | 52 | |
| 51 | 53 | What: /sys/bus/thunderbolt/devices/.../authorized |
| 52 | 54 | Date: Sep 2017 |
| @@ -61,17 +63,23 @@ Description: This attribute is used to authorize Thunderbolt devices · 8 unmodified lines | ||
| 61 | 63 | yet authorized. |
| 62 | 64 | |
| 63 | 65 | Possible values are supported: |
| 64 | − 1: The device will be authorized and connected | |
| 66 | + | |
| 67 | + == =========================================== | |
| 68 | + 1 The device will be authorized and connected | |
| 69 | + == =========================================== | |
| 65 | 70 | |
| 66 | 71 | When key attribute contains 32 byte hex string the possible |
| 67 | 72 | values are: |
| 68 | − 1: The 32 byte hex string is added to the device NVM and | |
| 69 | − the device is authorized. | |
| 70 | − 2: Send a challenge based on the 32 byte hex string. If the | |
| 71 | − challenge response from device is valid, the device is | |
| 72 | − authorized. In case of failure errno will be ENOKEY if | |
| 73 | − the device did not contain a key at all, and | |
| 74 | − EKEYREJECTED if the challenge response did not match. | |
| 73 | + | |
| 74 | + == ======================================================== | |
| 75 | + 1 The 32 byte hex string is added to the device NVM and | |
| 76 | + the device is authorized. | |
| 77 | + 2 Send a challenge based on the 32 byte hex string. If the | |
| 78 | + challenge response from device is valid, the device is | |
| 79 | + authorized. In case of failure errno will be ENOKEY if | |
| 80 | + the device did not contain a key at all, and | |
| 81 | + EKEYREJECTED if the challenge response did not match. | |
| 82 | + == ======================================================== | |
| 75 | 83 | |
| 76 | 84 | What: /sys/bus/thunderbolt/devices/.../boot |
| 77 | 85 | Date: Jun 2018 |
| @@ -185,10 +193,11 @@ Description: When new NVM image is written to the non-active NVM · 107 unmodified lines | ||
| 185 | 193 | verification fails an error code is returned instead. |
| 186 | 194 | |
| 187 | 195 | This file will accept writing values "1" or "2" |
| 196 | + | |
| 188 | 197 | - Writing "1" will flush the image to the storage |
| 189 | − area and authenticate the image in one action. | |
| 198 | + area and authenticate the image in one action. | |
| 190 | 199 | - Writing "2" will run some basic validation on the image |
| 191 | − and flush it to the storage area. | |
| 200 | + and flush it to the storage area. | |
| 192 | 201 | |
| 193 | 202 | When read holds status of the last authentication |
| 194 | 203 | operation if an error occurred during the process. This |
| @@ -205,9 +214,11 @@ Description: This contains name of the property directory the XDomain · 10 unmodified lines | ||
| 205 | 214 | question. Following directories are already reserved by |
| 206 | 215 | the Apple XDomain specification: |
| 207 | 216 | |
| 208 | − network: IP/ethernet over Thunderbolt | |
| 209 | − targetdm: Target disk mode protocol over Thunderbolt | |
| 210 | − extdisp: External display mode protocol over Thunderbolt | |
| 217 | + ======== =============================================== | |
| 218 | + network IP/ethernet over Thunderbolt | |
| 219 | + targetdm Target disk mode protocol over Thunderbolt | |
| 220 | + extdisp External display mode protocol over Thunderbolt | |
| 221 | + ======== =============================================== | |
| 211 | 222 | |
| 212 | 223 | What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias |
| 213 | 224 | Date: Jan 2018 |
| @@ -285,7 +296,8 @@ Description: For supported devices, automatically authenticate the new Thunderbo · 71 unmodified lines | ||
| 285 | 296 | image when the device is disconnected from the host system. |
| 286 | 297 | |
| 287 | 298 | This file will accept writing values "1" or "2" |
| 299 | + | |
| 288 | 300 | - Writing "1" will flush the image to the storage |
| 289 | − area and prepare the device for authentication on disconnect. | |
| 301 | + area and prepare the device for authentication on disconnect. | |
| 290 | 302 | - Writing "2" will run some basic validation on the image |
| 291 | − and flush it to the storage area. | |
| 303 | + and flush it to the storage area. | |
| @@ -9,6 +9,7 @@ Description: · 8 unmodified lines | ||
| 9 | 9 | by writing INTERFACE to /sys/bus/usb/drivers_probe |
| 10 | 10 | This allows to avoid side-effects with drivers |
| 11 | 11 | that need multiple interfaces. |
| 12 | + | |
| 12 | 13 | A deauthorized interface cannot be probed or claimed. |
| 13 | 14 | |
| 14 | 15 | What: /sys/bus/usb/devices/usbX/interface_authorized_default |
| @@ -72,24 +73,27 @@ Description: · 57 unmodified lines | ||
| 72 | 73 | table at compile time. The format for the device ID is: |
| 73 | 74 | idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct |
| 74 | 75 | The vendor ID and device ID fields are required, the |
| 75 | − rest is optional. The Ref* tuple can be used to tell the | |
| 76 | + rest is optional. The `Ref*` tuple can be used to tell the | |
| 76 | 77 | driver to use the same driver_data for the new device as |
| 77 | 78 | it is used for the reference device. |
| 78 | 79 | Upon successfully adding an ID, the driver will probe |
| 79 | − for the device and attempt to bind to it. For example: | |
| 80 | − # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | |
| 80 | + for the device and attempt to bind to it. For example:: | |
| 81 | + | |
| 82 | + # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | |
| 81 | 83 | |
| 82 | 84 | Here add a new device (0458:7045) using driver_data from |
| 83 | − an already supported device (0458:704c): | |
| 84 | − # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id | |
| 85 | + an already supported device (0458:704c):: | |
| 86 | + | |
| 87 | + # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id | |
| 85 | 88 | |
| 86 | 89 | Reading from this file will list all dynamically added |
| 87 | 90 | device IDs in the same format, with one entry per |
| 88 | − line. For example: | |
| 89 | − # cat /sys/bus/usb/drivers/foo/new_id | |
| 90 | − 8086 10f5 | |
| 91 | − dead beef 06 | |
| 92 | − f00d cafe | |
| 91 | + line. For example:: | |
| 92 | + | |
| 93 | + # cat /sys/bus/usb/drivers/foo/new_id | |
| 94 | + 8086 10f5 | |
| 95 | + dead beef 06 | |
| 96 | + f00d cafe | |
| 93 | 97 | |
| 94 | 98 | The list will be truncated at PAGE_SIZE bytes due to |
| 95 | 99 | sysfs restrictions. |
| @@ -209,9 +213,11 @@ Description: · 113 unmodified lines | ||
| 209 | 213 | advance, and behaves well according to the specification. |
| 210 | 214 | This attribute is a bit-field that controls the behavior of |
| 211 | 215 | a specific port: |
| 216 | + | |
| 212 | 217 | - Bit 0 of this field selects the "old" enumeration scheme, |
| 213 | 218 | as it is considerably faster (it only causes one USB reset |
| 214 | 219 | instead of 2). |
| 220 | + | |
| 215 | 221 | The old enumeration scheme can also be selected globally |
| 216 | 222 | using /sys/module/usbcore/parameters/old_scheme_first, but |
| 217 | 223 | it is often not desirable as the new scheme was introduced to |
| @@ -233,10 +239,10 @@ Description: · 15 unmodified lines | ||
| 233 | 239 | poll() for monitoring changes to this value in user space. |
| 234 | 240 | |
| 235 | 241 | Any time this value changes the corresponding hub device will send a |
| 236 | − udev event with the following attributes: | |
| 242 | + udev event with the following attributes:: | |
| 237 | 243 | |
| 238 | − OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX | |
| 239 | − OVER_CURRENT_COUNT=[current value of this sysfs attribute] | |
| 244 | + OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX | |
| 245 | + OVER_CURRENT_COUNT=[current value of this sysfs attribute] | |
| 240 | 246 | |
| 241 | 247 | What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit |
| 242 | 248 | Date: November 2015 |
| @@ -12,8 +12,11 @@ KernelVersion: 2.6.26 · 11 unmodified lines | ||
| 12 | 12 | Contact: Harrison Metzger <harrisonmetz@gmail.com> |
| 13 | 13 | Description: Controls the devices display mode. |
| 14 | 14 | For a 6 character display the values are |
| 15 | + | |
| 15 | 16 | MSB 0x06; LSB 0x3F, and |
| 17 | + | |
| 16 | 18 | for an 8 character display the values are |
| 19 | + | |
| 17 | 20 | MSB 0x08; LSB 0xFF. |
| 18 | 21 | |
| 19 | 22 | What: /sys/bus/usb/.../textmode |
| @@ -37,7 +40,7 @@ KernelVersion: 2.6.26 · 17 unmodified lines | ||
| 37 | 40 | Contact: Harrison Metzger <harrisonmetz@gmail.com> |
| 38 | 41 | Description: Controls the decimal places on the device. |
| 39 | 42 | To set the nth decimal place, give this field |
| 40 | − the value of 10 ** n. Assume this field has | |
| 43 | + the value of ``10 ** n``. Assume this field has | |
| 41 | 44 | the value k and has 1 or more decimal places set, |
| 42 | 45 | to set the mth place (where m is not already set), |
| 43 | − change this fields value to k + 10 ** m. | |
| 46 | + change this fields value to ``k + 10 ** m``. | |
| @@ -28,8 +28,9 @@ Description: · 27 unmodified lines | ||
| 28 | 28 | Writing UUID to this file will create mediated device of |
| 29 | 29 | type <type-id> for parent device <device>. This is a |
| 30 | 30 | write-only file. |
| 31 | − For example: | |
| 32 | − # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ | |
| 31 | + For example:: | |
| 32 | + | |
| 33 | + # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ | |
| 33 | 34 | /sys/devices/foo/mdev_supported_types/foo-1/create |
| 34 | 35 | |
| 35 | 36 | What: /sys/.../mdev_supported_types/<type-id>/devices/ |
| @@ -107,5 +108,6 @@ Description: · 71 unmodified lines | ||
| 107 | 108 | Writing '1' to this file destroys the mediated device. The |
| 108 | 109 | vendor driver can fail the remove() callback if that device |
| 109 | 110 | is active and the vendor driver doesn't support hot unplug. |
| 110 | − Example: | |
| 111 | − # echo 1 > /sys/bus/mdev/devices/<UUID>/remove | |
| 111 | + Example:: | |
| 112 | + | |
| 113 | + # echo 1 > /sys/bus/mdev/devices/<UUID>/remove | |
| @@ -66,13 +66,6 @@ Description: · 65 unmodified lines | ||
| 66 | 66 | the "erase" command on the on-board flash of the connected |
| 67 | 67 | micro. |
| 68 | 68 | |
| 69 | −What: /sys/class/c2port/c2portX/flash_erase | |
| 70 | −Date: October 2008 | |
| 71 | −Contact: Rodolfo Giometti <giometti@linux.it> | |
| 72 | −Description: | |
| 73 | − The /sys/class/c2port/c2portX/flash_erase file show the | |
| 74 | − on-board flash size of the connected micro. | |
| 75 | − | |
| 76 | 69 | What: /sys/class/c2port/c2portX/reset |
| 77 | 70 | Date: October 2008 |
| 78 | 71 | Contact: Rodolfo Giometti <giometti@linux.it> |
| @@ -24,3 +24,63 @@ Description: · 23 unmodified lines | ||
| 24 | 24 | non-linear |
| 25 | 25 | The brightness changes non-linearly with each step. Brightness |
| 26 | 26 | controls should use a linear mapping for a linear perception. |
| 27 | + | |
| 28 | +What: /sys/class/backlight/<backlight>/ambient_light_level | |
| 29 | +Date: Apr, 2010 | |
| 30 | +KernelVersion: v2.6.35 | |
| 31 | +Contact: Michael Hennerich <michael.hennerich@analog.com> | |
| 32 | +Description: | |
| 33 | + (RO) Get conversion value of the light sensor. | |
| 34 | + | |
| 35 | + The value is automatically updated every 80 ms when the | |
| 36 | + light sensor is enabled. | |
| 37 | + | |
| 38 | + The value range is device-driver specific: | |
| 39 | + | |
| 40 | + For ADP8870: | |
| 41 | + | |
| 42 | + It returns integer between 0 (dark) and 8000 (max ambient | |
| 43 | + brightness). | |
| 44 | + | |
| 45 | + For ADP8860: | |
| 46 | + | |
| 47 | + It returns a 13-bits integer. | |
| 48 | + | |
| 49 | +What: /sys/class/backlight/<backlight>/ambient_light_zone | |
| 50 | +Date: Apr, 2010 | |
| 51 | +KernelVersion: v2.6.35 | |
| 52 | +Contact: Michael Hennerich <michael.hennerich@analog.com>, | |
| 53 | + device-drivers-devel@blackfin.uclinux.org | |
| 54 | + | |
| 55 | +Description: | |
| 56 | + (RW) Read or write the specific brightness level at which the | |
| 57 | + backlight operates. | |
| 58 | + | |
| 59 | + The value meaning is device-driver specific: | |
| 60 | + | |
| 61 | + For ADP8860: | |
| 62 | + | |
| 63 | + == ========================== | |
| 64 | + 0 Off: Backlight set to 0 mA | |
| 65 | + 1 Level 1: daylight | |
| 66 | + 2 Level 2: bright | |
| 67 | + 3 Level 3: dark | |
| 68 | + == ========================== | |
| 69 | + | |
| 70 | + For ADP8870: | |
| 71 | + | |
| 72 | + == ========================== | |
| 73 | + 0 Off: Backlight set to 0 mA | |
| 74 | + 1 Level 1: daylight | |
| 75 | + 2 Level 2: bright | |
| 76 | + 3 Level 3: office | |
| 77 | + 4 Level 4: indoor | |
| 78 | + 5 Level 5: dark | |
| 79 | + == ========================== | |
| 80 | + | |
| 81 | + Writing 0 returns to normal/automatic ambient light level | |
| 82 | + operation. | |
| 83 | + | |
| 84 | + It can be enabled by writing the value stored in | |
| 85 | + /sys/class/backlight/<backlight>/max_brightness to | |
| 86 | + /sys/class/backlight/<backlight>/brightness. | |
| @@ -6,25 +6,8 @@ adp8860, adp8861 and adp8863 devices: daylight (level 1), office (level 2) and · 5 unmodified lines | ||
| 6 | 6 | dark (level 3). By default the brightness operates at the daylight brightness |
| 7 | 7 | level. |
| 8 | 8 | |
| 9 | −What: /sys/class/backlight/<backlight>/ambient_light_level | |
| 10 | −Date: Apr, 2010 | |
| 11 | −KernelVersion: v2.6.35 | |
| 12 | −Contact: Michael Hennerich <michael.hennerich@analog.com> | |
| 13 | −Description: | |
| 14 | − (RO) 13-bit conversion value for the first light sensor—high | |
| 15 | − byte (Bit 12 to Bit 8). The value is updated every 80 ms (when | |
| 16 | − the light sensor is enabled). | |
| 17 | − | |
| 18 | − | |
| 19 | −What: /sys/class/backlight/<backlight>/ambient_light_zone | |
| 20 | −Date: Apr, 2010 | |
| 21 | −KernelVersion: v2.6.35 | |
| 22 | −Contact: Michael Hennerich <michael.hennerich@analog.com> | |
| 23 | −Description: | |
| 24 | − (RW) Read or write the specific level at which the backlight | |
| 25 | − operates. Value "0" enables automatic ambient light sensing, and | |
| 26 | − values "1", "2" or "3" set the control to daylight, office or | |
| 27 | − dark respectively. | |
| 9 | +See also /sys/class/backlight/<backlight>/ambient_light_level and | |
| 10 | +/sys/class/backlight/<backlight>/ambient_light_zone. | |
| 28 | 11 | |
| 29 | 12 | |
| 30 | 13 | What: /sys/class/backlight/<backlight>/l1_daylight_max |
| @@ -1,3 +1,6 @@ | ||
| 1 | +See also /sys/class/backlight/<backlight>/ambient_light_level and | |
| 2 | +/sys/class/backlight/<backlight>/ambient_light_zone. | |
| 3 | + | |
| 1 | 4 | What: /sys/class/backlight/<backlight>/<ambient light zone>_max |
| 2 | 5 | What: /sys/class/backlight/<backlight>/l1_daylight_max |
| 3 | 6 | What: /sys/class/backlight/<backlight>/l2_bright_max |
| @@ -27,30 +30,3 @@ Description: · 23 unmodified lines | ||
| 27 | 30 | set to 0. Full off when the backlight is disabled. |
| 28 | 31 | This file will also show the dim brightness level stored for |
| 29 | 32 | this <ambient light zone>. |
| 30 | − | |
| 31 | −What: /sys/class/backlight/<backlight>/ambient_light_level | |
| 32 | −Date: May 2011 | |
| 33 | −KernelVersion: 3.0 | |
| 34 | −Contact: device-drivers-devel@blackfin.uclinux.org | |
| 35 | −Description: | |
| 36 | − Get conversion value of the light sensor. | |
| 37 | − This value is updated every 80 ms (when the light sensor | |
| 38 | − is enabled). Returns integer between 0 (dark) and | |
| 39 | − 8000 (max ambient brightness) | |
| 40 | − | |
| 41 | −What: /sys/class/backlight/<backlight>/ambient_light_zone | |
| 42 | −Date: May 2011 | |
| 43 | −KernelVersion: 3.0 | |
| 44 | −Contact: device-drivers-devel@blackfin.uclinux.org | |
| 45 | −Description: | |
| 46 | − Get/Set current ambient light zone. Reading returns | |
| 47 | − integer between 1..5 (1 = daylight, 2 = bright, ..., 5 = dark). | |
| 48 | − Writing a value between 1..5 forces the backlight controller | |
| 49 | − to enter the corresponding ambient light zone. | |
| 50 | − Writing 0 returns to normal/automatic ambient light level | |
| 51 | − operation. The ambient light sensing feature on these devices | |
| 52 | − is an extension to the API documented in | |
| 53 | − Documentation/ABI/stable/sysfs-class-backlight. | |
| 54 | − It can be enabled by writing the value stored in | |
| 55 | − /sys/class/backlight/<backlight>/max_brightness to | |
| 56 | − /sys/class/backlight/<backlight>/brightness. | |
| @@ -6,8 +6,10 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | Get the ALS output channel used as input in |
| 7 | 7 | ALS-current-control mode (0, 1), where: |
| 8 | 8 | |
| 9 | − 0 - out_current0 (backlight 0) | |
| 10 | − 1 - out_current1 (backlight 1) | |
| 9 | + == ========================== | |
| 10 | + 0 out_current0 (backlight 0) | |
| 11 | + 1 out_current1 (backlight 1) | |
| 12 | + == ========================== | |
| 11 | 13 | |
| 12 | 14 | What: /sys/class/backlight/<backlight>/als_en |
| 13 | 15 | Date: May 2012 |
| @@ -30,8 +32,10 @@ Contact: Johan Hovold <jhovold@gmail.com> · 16 unmodified lines | ||
| 30 | 32 | Description: |
| 31 | 33 | Set the brightness-mapping mode (0, 1), where: |
| 32 | 34 | |
| 33 | − 0 - exponential mode | |
| 34 | − 1 - linear mode | |
| 35 | + == ================ | |
| 36 | + 0 exponential mode | |
| 37 | + 1 linear mode | |
| 38 | + == ================ | |
| 35 | 39 | |
| 36 | 40 | What: /sys/class/backlight/<backlight>/pwm |
| 37 | 41 | Date: April 2012 |
| @@ -40,9 +44,11 @@ Contact: Johan Hovold <jhovold@gmail.com> · 2 unmodified lines | ||
| 40 | 44 | Description: |
| 41 | 45 | Set the PWM-input control mask (5 bits), where: |
| 42 | 46 | |
| 43 | − bit 5 - PWM-input enabled in Zone 4 | |
| 44 | − bit 4 - PWM-input enabled in Zone 3 | |
| 45 | − bit 3 - PWM-input enabled in Zone 2 | |
| 46 | − bit 2 - PWM-input enabled in Zone 1 | |
| 47 | − bit 1 - PWM-input enabled in Zone 0 | |
| 48 | − bit 0 - PWM-input enabled | |
| 47 | + ===== =========================== | |
| 48 | + bit 5 PWM-input enabled in Zone 4 | |
| 49 | + bit 4 PWM-input enabled in Zone 3 | |
| 50 | + bit 3 PWM-input enabled in Zone 2 | |
| 51 | + bit 2 PWM-input enabled in Zone 1 | |
| 52 | + bit 1 PWM-input enabled in Zone 0 | |
| 53 | + bit 0 PWM-input enabled | |
| 54 | + ===== =========================== | |
| @@ -24,7 +24,6 @@ default · 23 unmodified lines | ||
| 24 | 24 | filesystems which do not provide their own BDI. |
| 25 | 25 | |
| 26 | 26 | Files under /sys/class/bdi/<bdi>/ |
| 27 | −--------------------------------- | |
| 28 | 27 | |
| 29 | 28 | read_ahead_kb (read-write) |
| 30 | 29 | |
| @@ -17,13 +17,14 @@ Date: August 2015 · 16 unmodified lines | ||
| 17 | 17 | KernelVersion: 4.2 |
| 18 | 18 | Description: |
| 19 | 19 | Tell the EC to reboot in various ways. Options are: |
| 20 | − "cancel": Cancel a pending reboot. | |
| 21 | − "ro": Jump to RO without rebooting. | |
| 22 | − "rw": Jump to RW without rebooting. | |
| 23 | − "cold": Cold reboot. | |
| 24 | − "disable-jump": Disable jump until next reboot. | |
| 25 | − "hibernate": Hibernate the EC. | |
| 26 | − "at-shutdown": Reboot after an AP shutdown. | |
| 20 | + | |
| 21 | + - "cancel": Cancel a pending reboot. | |
| 22 | + - "ro": Jump to RO without rebooting. | |
| 23 | + - "rw": Jump to RW without rebooting. | |
| 24 | + - "cold": Cold reboot. | |
| 25 | + - "disable-jump": Disable jump until next reboot. | |
| 26 | + - "hibernate": Hibernate the EC. | |
| 27 | + - "at-shutdown": Reboot after an AP shutdown. | |
| 27 | 28 | |
| 28 | 29 | What: /sys/class/chromeos/<ec-device-name>/version |
| 29 | 30 | Date: August 2015 |
| @@ -72,11 +72,16 @@ Description: read/write · 71 unmodified lines | ||
| 72 | 72 | when performing the START_WORK ioctl. Only applicable when |
| 73 | 73 | running under hashed page table mmu. |
| 74 | 74 | Possible values: |
| 75 | − none: No prefaulting (default) | |
| 76 | − work_element_descriptor: Treat the work element | |
| 77 | − descriptor as an effective address and | |
| 78 | − prefault what it points to. | |
| 79 | − all: all segments process calling START_WORK maps. | |
| 75 | + | |
| 76 | + ======================= ====================================== | |
| 77 | + none No prefaulting (default) | |
| 78 | + work_element_descriptor Treat the work element | |
| 79 | + descriptor as an effective address and | |
| 80 | + prefault what it points to. | |
| 81 | + all all segments process calling | |
| 82 | + START_WORK maps. | |
| 83 | + ======================= ====================================== | |
| 84 | + | |
| 80 | 85 | Users: https://github.com/ibm-capi/libcxl |
| 81 | 86 | |
| 82 | 87 | What: /sys/class/cxl/<afu>/reset |
| @@ -212,6 +217,7 @@ Description: read/write · 129 unmodified lines | ||
| 212 | 217 | card. A power cycle is required to load the image. |
| 213 | 218 | "none" could be useful for debugging because the trace arrays |
| 214 | 219 | are preserved. |
| 220 | + | |
| 215 | 221 | "user" and "factory" means PERST will cause either the user or |
| 216 | 222 | user or factory image to be loaded. |
| 217 | 223 | Default is to reload on PERST whichever image the card has |
| @@ -235,8 +241,11 @@ Contact: linuxppc-dev@lists.ozlabs.org · 17 unmodified lines | ||
| 235 | 241 | Description: read/write |
| 236 | 242 | Trust that when an image is reloaded via PERST, it will not |
| 237 | 243 | have changed. |
| 238 | − 0 = don't trust, the image may be different (default) | |
| 239 | − 1 = trust that the image will not change. | |
| 244 | + | |
| 245 | + == ================================================= | |
| 246 | + 0 don't trust, the image may be different (default) | |
| 247 | + 1 trust that the image will not change. | |
| 248 | + == ================================================= | |
| 240 | 249 | Users: https://github.com/ibm-capi/libcxl |
| 241 | 250 | |
| 242 | 251 | What: /sys/class/cxl/<card>/psl_timebase_synced |
| @@ -62,7 +62,8 @@ Description: · 61 unmodified lines | ||
| 62 | 62 | driver should provide the list of available frequencies |
| 63 | 63 | with its profile. If need to reset the statistics of devfreq |
| 64 | 64 | behavior on a specific device, enter 0(zero) to 'trans_stat' |
| 65 | − as following: | |
| 65 | + as following:: | |
| 66 | + | |
| 66 | 67 | echo 0 > /sys/class/devfreq/.../trans_stat |
| 67 | 68 | |
| 68 | 69 | What: /sys/class/devfreq/.../userspace/set_freq |
| @@ -117,6 +118,7 @@ Description: · 48 unmodified lines | ||
| 117 | 118 | This work timer is used by devfreq workqueue in order to |
| 118 | 119 | monitor the device status such as utilization. The user |
| 119 | 120 | can change the work timer on runtime according to their demand |
| 120 | − as following: | |
| 121 | + as following:: | |
| 122 | + | |
| 121 | 123 | echo deferrable > /sys/class/devfreq/.../timer |
| 122 | 124 | echo delayed > /sys/class/devfreq/.../timer |
| @@ -18,9 +18,9 @@ Description: · 17 unmodified lines | ||
| 18 | 18 | |
| 19 | 19 | This will be one of the following strings: |
| 20 | 20 | |
| 21 | − 'consumer unbind' | |
| 22 | − 'supplier unbind' | |
| 23 | − 'never' | |
| 21 | + - 'consumer unbind' | |
| 22 | + - 'supplier unbind' | |
| 23 | + - 'never' | |
| 24 | 24 | |
| 25 | 25 | 'consumer unbind' means the device link will be removed when |
| 26 | 26 | the consumer's driver is unbound from the consumer device. |
| @@ -49,8 +49,10 @@ Description: · 22 unmodified lines | ||
| 49 | 49 | |
| 50 | 50 | This will be one of the following strings: |
| 51 | 51 | |
| 52 | − '0' - Does not affect runtime power management | |
| 53 | − '1' - Affects runtime power management | |
| 52 | + === ======================================== | |
| 53 | + '0' Does not affect runtime power management | |
| 54 | + '1' Affects runtime power management | |
| 55 | + === ======================================== | |
| 54 | 56 | |
| 55 | 57 | What: /sys/class/devlink/.../status |
| 56 | 58 | Date: May 2020 |
| @@ -68,13 +70,13 @@ Description: · 11 unmodified lines | ||
| 68 | 70 | |
| 69 | 71 | This will be one of the following strings: |
| 70 | 72 | |
| 71 | − 'not tracked' | |
| 72 | − 'dormant' | |
| 73 | − 'available' | |
| 74 | − 'consumer probing' | |
| 75 | − 'active' | |
| 76 | − 'supplier unbinding' | |
| 77 | − 'unknown' | |
| 73 | + - 'not tracked' | |
| 74 | + - 'dormant' | |
| 75 | + - 'available' | |
| 76 | + - 'consumer probing' | |
| 77 | + - 'active' | |
| 78 | + - 'supplier unbinding' | |
| 79 | + - 'unknown' | |
| 78 | 80 | |
| 79 | 81 | 'not tracked' means this device link does not track the status |
| 80 | 82 | and has no impact on the binding, unbinding and syncing the |
| @@ -114,8 +116,10 @@ Description: · 33 unmodified lines | ||
| 114 | 116 | |
| 115 | 117 | This will be one of the following strings: |
| 116 | 118 | |
| 119 | + === ================================ | |
| 117 | 120 | '0' |
| 118 | − '1' - Affects runtime power management | |
| 121 | + '1' Affects runtime power management | |
| 122 | + === ================================ | |
| 119 | 123 | |
| 120 | 124 | '0' means the device link can affect other device behaviors |
| 121 | 125 | like binding/unbinding, suspend/resume, runtime power |
| @@ -39,19 +39,22 @@ Description: · 38 unmodified lines | ||
| 39 | 39 | callback. |
| 40 | 40 | |
| 41 | 41 | If the default callback for showing function is used, the |
| 42 | − format is like this: | |
| 43 | − # cat state | |
| 44 | − USB_OTG=1 | |
| 45 | − HDMI=0 | |
| 46 | − TA=1 | |
| 47 | − EAR_JACK=0 | |
| 48 | − # | |
| 42 | + format is like this:: | |
| 43 | + | |
| 44 | + # cat state | |
| 45 | + USB_OTG=1 | |
| 46 | + HDMI=0 | |
| 47 | + TA=1 | |
| 48 | + EAR_JACK=0 | |
| 49 | + # | |
| 50 | + | |
| 49 | 51 | In this example, the extcon device has USB_OTG and TA |
| 50 | 52 | cables attached and HDMI and EAR_JACK cables detached. |
| 51 | 53 | |
| 52 | 54 | In order to update the state of an extcon device, enter a hex |
| 53 | − state number starting with 0x: | |
| 54 | − # echo 0xHEX > state | |
| 55 | + state number starting with 0x:: | |
| 56 | + | |
| 57 | + # echo 0xHEX > state | |
| 55 | 58 | |
| 56 | 59 | This updates the whole state of the extcon device. |
| 57 | 60 | Inputs of all the methods are required to meet the |
| @@ -84,12 +87,13 @@ Contact: MyungJoo Ham <myungjoo.ham@samsung.com> · 26 unmodified lines | ||
| 84 | 87 | Description: |
| 85 | 88 | Shows the relations of mutually exclusiveness. For example, |
| 86 | 89 | if the mutually_exclusive array of extcon device is |
| 87 | − {0x3, 0x5, 0xC, 0x0}, then the output is: | |
| 88 | − # ls mutually_exclusive/ | |
| 89 | − 0x3 | |
| 90 | − 0x5 | |
| 91 | − 0xc | |
| 92 | − # | |
| 90 | + {0x3, 0x5, 0xC, 0x0}, then the output is:: | |
| 91 | + | |
| 92 | + # ls mutually_exclusive/ | |
| 93 | + 0x3 | |
| 94 | + 0x5 | |
| 95 | + 0xc | |
| 96 | + # | |
| 93 | 97 | |
| 94 | 98 | Note that mutually_exclusive is a sub-directory of the extcon |
| 95 | 99 | device and the file names under the mutually_exclusive |
| @@ -28,8 +28,7 @@ Description: Read fpga manager state as a string. · 27 unmodified lines | ||
| 28 | 28 | * firmware request = firmware class request in progress |
| 29 | 29 | * firmware request error = firmware request failed |
| 30 | 30 | * write init = preparing FPGA for programming |
| 31 | − * write init error = Error while preparing FPGA for | |
| 32 | − programming | |
| 31 | + * write init error = Error while preparing FPGA for programming | |
| 33 | 32 | * write = FPGA ready to receive image data |
| 34 | 33 | * write error = Error while programming |
| 35 | 34 | * write complete = Doing post programming steps |
| @@ -47,7 +46,7 @@ Description: Read fpga manager status as a string. · 11 unmodified lines | ||
| 47 | 46 | programming errors to userspace. This is a list of strings for |
| 48 | 47 | the supported status. |
| 49 | 48 | |
| 50 | − * reconfig operation error - invalid operations detected by | |
| 49 | + * reconfig operation error - invalid operations detected by | |
| 51 | 50 | reconfiguration hardware. |
| 52 | 51 | e.g. start reconfiguration |
| 53 | 52 | with errors not cleared |
| @@ -6,9 +6,11 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | The GNSS receiver type. The currently identified types reflect |
| 7 | 7 | the protocol(s) supported by the receiver: |
| 8 | 8 | |
| 9 | + ====== =========== | |
| 9 | 10 | "NMEA" NMEA 0183 |
| 10 | 11 | "SiRF" SiRF Binary |
| 11 | 12 | "UBX" UBX |
| 13 | + ====== =========== | |
| 12 | 14 | |
| 13 | 15 | Note that also non-"NMEA" type receivers typically support a |
| 14 | 16 | subset of NMEA 0183 with vendor extensions (e.g. to allow |
| @@ -3,9 +3,26 @@ Date: March 2006 · 2 unmodified lines | ||
| 3 | 3 | KernelVersion: 2.6.17 |
| 4 | 4 | Contact: Richard Purdie <rpurdie@rpsys.net> |
| 5 | 5 | Description: |
| 6 | − Set the brightness of the LED. Most LEDs don't | |
| 7 | − have hardware brightness support, so will just be turned on for | |
| 8 | − non-zero brightness settings. The value is between 0 and | |
| 6 | + Set the brightness of the LED. | |
| 7 | + | |
| 8 | + Most LEDs don't have hardware brightness support, so will | |
| 9 | + just be turned on for non-zero brightness settings. | |
| 10 | + | |
| 11 | + .. Note:: | |
| 12 | + | |
| 13 | + For multicolor LEDs, writing to this file will update all | |
| 14 | + LEDs within the group to a calculated percentage of what | |
| 15 | + each color LED intensity is set to. | |
| 16 | + | |
| 17 | + The percentage is calculated for each grouped LED via | |
| 18 | + the equation below:: | |
| 19 | + | |
| 20 | + led_brightness = brightness * multi_intensity/max_brightness | |
| 21 | + | |
| 22 | + For additional details please refer to | |
| 23 | + Documentation/leds/leds-class-multicolor.rst. | |
| 24 | + | |
| 25 | + The value is between 0 and | |
| 9 | 26 | /sys/class/leds/<led>/max_brightness. |
| 10 | 27 | |
| 11 | 28 | Writing 0 to this file clears active trigger. |
| @@ -13,6 +30,8 @@ Description: · 1 unmodified line | ||
| 13 | 30 | Writing non-zero to this file while trigger is active changes the |
| 14 | 31 | top brightness trigger is going to use. |
| 15 | 32 | |
| 33 | + | |
| 34 | + | |
| 16 | 35 | What: /sys/class/leds/<led>/max_brightness |
| 17 | 36 | Date: March 2006 |
| 18 | 37 | KernelVersion: 2.6.17 |
| @@ -47,10 +66,11 @@ Contact: Richard Purdie <rpurdie@rpsys.net> · 28 unmodified lines | ||
| 47 | 66 | Description: |
| 48 | 67 | Set the trigger for this LED. A trigger is a kernel based source |
| 49 | 68 | of LED events. |
| 69 | + | |
| 50 | 70 | You can change triggers in a similar manner to the way an IO |
| 51 | 71 | scheduler is chosen. Trigger specific parameters can appear in |
| 52 | 72 | /sys/class/leds/<led> once a given trigger is selected. For |
| 53 | − their documentation see sysfs-class-led-trigger-*. | |
| 73 | + their documentation see `sysfs-class-led-trigger-*`. | |
| 54 | 74 | |
| 55 | 75 | What: /sys/class/leds/<led>/inverted |
| 56 | 76 | Date: January 2011 |
| @@ -1,133 +1,3 @@ | ||
| 1 | −What: /sys/class/leds/<led>/hw_pattern | |
| 2 | −Date: September 2019 | |
| 3 | −KernelVersion: 5.5 | |
| 4 | −Description: | |
| 5 | − Specify a hardware pattern for the EL15203000 LED. | |
| 6 | − The LEDs board supports only predefined patterns by firmware | |
| 7 | − for specific LEDs. | |
| 8 | − | |
| 9 | − Breathing mode for Screen frame light tube: | |
| 10 | − "0 4000 1 4000" | |
| 11 | − | |
| 12 | − ^ | |
| 13 | − | | |
| 14 | − Max-| --- | |
| 15 | − | / \ | |
| 16 | − | / \ | |
| 17 | − | / \ / | |
| 18 | − | / \ / | |
| 19 | − Min-|- --- | |
| 20 | − | | |
| 21 | − 0------4------8--> time (sec) | |
| 22 | − | |
| 23 | − Cascade mode for Pipe LED: | |
| 24 | − "1 800 2 800 4 800 8 800 16 800" | |
| 25 | − | |
| 26 | − ^ | |
| 27 | − | | |
| 28 | − 0 On -|----+ +----+ +--- | |
| 29 | − | | | | | | |
| 30 | − Off-| +-------------------+ +-------------------+ | |
| 31 | − | | |
| 32 | − 1 On -| +----+ +----+ | |
| 33 | − | | | | | | |
| 34 | − Off |----+ +-------------------+ +------------------ | |
| 35 | − | | |
| 36 | − 2 On -| +----+ +----+ | |
| 37 | − | | | | | | |
| 38 | − Off-|---------+ +-------------------+ +------------- | |
| 39 | − | | |
| 40 | − 3 On -| +----+ +----+ | |
| 41 | − | | | | | | |
| 42 | − Off-|--------------+ +-------------------+ +-------- | |
| 43 | − | | |
| 44 | − 4 On -| +----+ +----+ | |
| 45 | − | | | | | | |
| 46 | − Off-|-------------------+ +-------------------+ +--- | |
| 47 | − | | |
| 48 | − 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) | |
| 49 | − | |
| 50 | − Inverted cascade mode for Pipe LED: | |
| 51 | − "30 800 29 800 27 800 23 800 15 800" | |
| 52 | − | |
| 53 | − ^ | |
| 54 | − | | |
| 55 | − 0 On -| +-------------------+ +-------------------+ | |
| 56 | − | | | | | | |
| 57 | − Off-|----+ +----+ +--- | |
| 58 | − | | |
| 59 | − 1 On -|----+ +-------------------+ +------------------ | |
| 60 | − | | | | | | |
| 61 | − Off | +----+ +----+ | |
| 62 | − | | |
| 63 | − 2 On -|---------+ +-------------------+ +------------- | |
| 64 | − | | | | | | |
| 65 | − Off-| +----+ +----+ | |
| 66 | − | | |
| 67 | − 3 On -|--------------+ +-------------------+ +-------- | |
| 68 | − | | | | | | |
| 69 | − Off-| +----+ +----+ | |
| 70 | − | | |
| 71 | − 4 On -|-------------------+ +-------------------+ +--- | |
| 72 | − | | | | | | |
| 73 | − Off-| +----+ +----+ | |
| 74 | − | | |
| 75 | − 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) | |
| 76 | − | |
| 77 | − Bounce mode for Pipe LED: | |
| 78 | − "1 800 2 800 4 800 8 800 16 800 16 800 8 800 4 800 2 800 1 800" | |
| 79 | − | |
| 80 | − ^ | |
| 81 | − | | |
| 82 | − 0 On -|----+ +-------- | |
| 83 | − | | | | |
| 84 | − Off-| +---------------------------------------+ | |
| 85 | − | | |
| 86 | − 1 On -| +----+ +----+ | |
| 87 | − | | | | | | |
| 88 | − Off |----+ +-----------------------------+ +-------- | |
| 89 | − | | |
| 90 | − 2 On -| +----+ +----+ | |
| 91 | − | | | | | | |
| 92 | − Off-|---------+ +-------------------+ +------------- | |
| 93 | − | | |
| 94 | − 3 On -| +----+ +----+ | |
| 95 | − | | | | | | |
| 96 | − Off-|--------------+ +---------+ +------------------ | |
| 97 | − | | |
| 98 | − 4 On -| +---------+ | |
| 99 | − | | | | |
| 100 | − Off-|-------------------+ +----------------------- | |
| 101 | − | | |
| 102 | − 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) | |
| 103 | − | |
| 104 | − Inverted bounce mode for Pipe LED: | |
| 105 | − "30 800 29 800 27 800 23 800 15 800 15 800 23 800 27 800 29 800 30 800" | |
| 106 | − | |
| 107 | − ^ | |
| 108 | − | | |
| 109 | − 0 On -| +---------------------------------------+ | |
| 110 | − | | | | |
| 111 | − Off-|----+ +-------- | |
| 112 | − | | |
| 113 | − 1 On -|----+ +-----------------------------+ +-------- | |
| 114 | − | | | | | | |
| 115 | − Off | +----+ +----+ | |
| 116 | − | | |
| 117 | − 2 On -|---------+ +-------------------+ +------------- | |
| 118 | − | | | | | | |
| 119 | − Off-| +----+ +----+ | |
| 120 | − | | |
| 121 | − 3 On -|--------------+ +---------+ +------------------ | |
| 122 | − | | | | | | |
| 123 | − Off-| +----+ +----+ | |
| 124 | − | | |
| 125 | − 4 On -|-------------------+ +----------------------- | |
| 126 | − | | | | |
| 127 | − Off-| +---------+ | |
| 128 | − | | |
| 129 | − 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) | |
| 130 | − | |
| 131 | 1 | What: /sys/class/leds/<led>/repeat |
| 132 | 2 | Date: September 2019 |
| 133 | 3 | KernelVersion: 5.5 |
| @@ -6,8 +6,10 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | Set the ALS output channel to use as input in |
| 7 | 7 | ALS-current-control mode (1, 2), where: |
| 8 | 8 | |
| 9 | − 1 - out_current1 | |
| 10 | − 2 - out_current2 | |
| 9 | + == ============ | |
| 10 | + 1 out_current1 | |
| 11 | + 2 out_current2 | |
| 12 | + == ============ | |
| 11 | 13 | |
| 12 | 14 | What: /sys/class/leds/<led>/als_en |
| 13 | 15 | Date: May 2012 |
| @@ -24,14 +26,16 @@ Contact: Johan Hovold <jhovold@gmail.com> · 10 unmodified lines | ||
| 24 | 26 | Description: |
| 25 | 27 | Set the pattern generator fall and rise times (0..7), where: |
| 26 | 28 | |
| 27 | − 0 - 2048 us | |
| 28 | − 1 - 262 ms | |
| 29 | − 2 - 524 ms | |
| 30 | − 3 - 1.049 s | |
| 31 | − 4 - 2.097 s | |
| 32 | − 5 - 4.194 s | |
| 33 | − 6 - 8.389 s | |
| 34 | − 7 - 16.78 s | |
| 29 | + == ======= | |
| 30 | + 0 2048 us | |
| 31 | + 1 262 ms | |
| 32 | + 2 524 ms | |
| 33 | + 3 1.049 s | |
| 34 | + 4 2.097 s | |
| 35 | + 5 4.194 s | |
| 36 | + 6 8.389 s | |
| 37 | + 7 16.78 s | |
| 38 | + == ======= | |
| 35 | 39 | |
| 36 | 40 | What: /sys/class/leds/<led>/id |
| 37 | 41 | Date: April 2012 |
| @@ -47,8 +51,10 @@ Contact: Johan Hovold <jhovold@gmail.com> · 9 unmodified lines | ||
| 47 | 51 | Description: |
| 48 | 52 | Set the brightness-mapping mode (0, 1), where: |
| 49 | 53 | |
| 50 | − 0 - exponential mode | |
| 51 | − 1 - linear mode | |
| 54 | + == ================ | |
| 55 | + 0 exponential mode | |
| 56 | + 1 linear mode | |
| 57 | + == ================ | |
| 52 | 58 | |
| 53 | 59 | What: /sys/class/leds/<led>/pwm |
| 54 | 60 | Date: April 2012 |
| @@ -57,9 +63,11 @@ Contact: Johan Hovold <jhovold@gmail.com> · 2 unmodified lines | ||
| 57 | 63 | Description: |
| 58 | 64 | Set the PWM-input control mask (5 bits), where: |
| 59 | 65 | |
| 60 | − bit 5 - PWM-input enabled in Zone 4 | |
| 61 | − bit 4 - PWM-input enabled in Zone 3 | |
| 62 | − bit 3 - PWM-input enabled in Zone 2 | |
| 63 | − bit 2 - PWM-input enabled in Zone 1 | |
| 64 | − bit 1 - PWM-input enabled in Zone 0 | |
| 65 | − bit 0 - PWM-input enabled | |
| 66 | + ===== =========================== | |
| 67 | + bit 5 PWM-input enabled in Zone 4 | |
| 68 | + bit 4 PWM-input enabled in Zone 3 | |
| 69 | + bit 3 PWM-input enabled in Zone 2 | |
| 70 | + bit 2 PWM-input enabled in Zone 1 | |
| 71 | + bit 1 PWM-input enabled in Zone 0 | |
| 72 | + bit 0 PWM-input enabled | |
| 73 | + ===== =========================== | |
| @@ -1,22 +0,0 @@ | ||
| 1 | −What: /sys/class/leds/<led>/hw_pattern | |
| 2 | −Date: September 2018 | |
| 3 | −KernelVersion: 4.20 | |
| 4 | −Description: | |
| 5 | − Specify a hardware pattern for the SC27XX LED. For the SC27XX | |
| 6 | − LED controller, it only supports 4 stages to make a single | |
| 7 | − hardware pattern, which is used to configure the rise time, | |
| 8 | − high time, fall time and low time for the breathing mode. | |
| 9 | − | |
| 10 | − For the breathing mode, the SC27XX LED only expects one brightness | |
| 11 | − for the high stage. To be compatible with the hardware pattern | |
| 12 | − format, we should set brightness as 0 for rise stage, fall | |
| 13 | − stage and low stage. | |
| 14 | − | |
| 15 | − Min stage duration: 125 ms | |
| 16 | − Max stage duration: 31875 ms | |
| 17 | − | |
| 18 | − Since the stage duration step is 125 ms, the duration should be | |
| 19 | − a multiplier of 125, like 125ms, 250ms, 375ms, 500ms ... 31875ms. | |
| 20 | − | |
| 21 | − Thus the format of the hardware pattern values should be: | |
| 22 | − "0 rise_duration brightness high_duration 0 fall_duration 0 low_duration". | |
| @@ -55,26 +55,35 @@ Description: read only · 54 unmodified lines | ||
| 55 | 55 | Flash faults are re-read after strobing the flash. Possible |
| 56 | 56 | flash faults: |
| 57 | 57 | |
| 58 | − * led-over-voltage - flash controller voltage to the flash LED | |
| 58 | + * led-over-voltage | |
| 59 | + flash controller voltage to the flash LED | |
| 59 | 60 | has exceeded the limit specific to the flash controller |
| 60 | − * flash-timeout-exceeded - the flash strobe was still on when | |
| 61 | + * flash-timeout-exceeded | |
| 62 | + the flash strobe was still on when | |
| 61 | 63 | the timeout set by the user has expired; not all flash |
| 62 | 64 | controllers may set this in all such conditions |
| 63 | − * controller-over-temperature - the flash controller has | |
| 65 | + * controller-over-temperature | |
| 66 | + the flash controller has | |
| 64 | 67 | overheated |
| 65 | − * controller-short-circuit - the short circuit protection | |
| 68 | + * controller-short-circuit | |
| 69 | + the short circuit protection | |
| 66 | 70 | of the flash controller has been triggered |
| 67 | − * led-power-supply-over-current - current in the LED power | |
| 71 | + * led-power-supply-over-current | |
| 72 | + current in the LED power | |
| 68 | 73 | supply has exceeded the limit specific to the flash |
| 69 | 74 | controller |
| 70 | − * indicator-led-fault - the flash controller has detected | |
| 75 | + * indicator-led-fault | |
| 76 | + the flash controller has detected | |
| 71 | 77 | a short or open circuit condition on the indicator LED |
| 72 | − * led-under-voltage - flash controller voltage to the flash | |
| 78 | + * led-under-voltage | |
| 79 | + flash controller voltage to the flash | |
| 73 | 80 | LED has been below the minimum limit specific to |
| 74 | 81 | the flash |
| 75 | − * controller-under-voltage - the input voltage of the flash | |
| 82 | + * controller-under-voltage | |
| 83 | + the input voltage of the flash | |
| 76 | 84 | controller is below the limit under which strobing the |
| 77 | 85 | flash at full current will not be possible; |
| 78 | 86 | the condition persists until this flag is no longer set |
| 79 | − * led-over-temperature - the temperature of the LED has exceeded | |
| 87 | + * led-over-temperature | |
| 88 | + the temperature of the LED has exceeded | |
| 80 | 89 | its allowed upper limit |
| @@ -1,20 +1,3 @@ | ||
| 1 | −What: /sys/class/leds/<led>/brightness | |
| 2 | −Date: March 2020 | |
| 3 | −KernelVersion: 5.9 | |
| 4 | −Contact: Dan Murphy <dmurphy@ti.com> | |
| 5 | −Description: read/write | |
| 6 | − Writing to this file will update all LEDs within the group to a | |
| 7 | − calculated percentage of what each color LED intensity is set | |
| 8 | − to. The percentage is calculated for each grouped LED via the | |
| 9 | − equation below: | |
| 10 | − | |
| 11 | − led_brightness = brightness * multi_intensity/max_brightness | |
| 12 | − | |
| 13 | − For additional details please refer to | |
| 14 | − Documentation/leds/leds-class-multicolor.rst. | |
| 15 | − | |
| 16 | − The value of the LED is from 0 to | |
| 17 | − /sys/class/leds/<led>/max_brightness. | |
| 18 | 1 | |
| 19 | 2 | What: /sys/class/leds/<led>/multi_index |
| 20 | 3 | Date: March 2020 |
| @@ -25,6 +8,9 @@ Description: read · 4 unmodified lines | ||
| 25 | 8 | as an array of strings as they are indexed in the |
| 26 | 9 | multi_intensity file. |
| 27 | 10 | |
| 11 | + For additional details please refer to | |
| 12 | + Documentation/leds/leds-class-multicolor.rst. | |
| 13 | + | |
| 28 | 14 | What: /sys/class/leds/<led>/multi_intensity |
| 29 | 15 | Date: March 2020 |
| 30 | 16 | KernelVersion: 5.9 |
| @@ -33,3 +19,6 @@ Description: read/write · 2 unmodified lines | ||
| 33 | 19 | This file contains array of integers. Order of components is |
| 34 | 20 | described by the multi_index array. The maximum intensity should |
| 35 | 21 | not exceed /sys/class/leds/<led>/max_brightness. |
| 22 | + | |
| 23 | + For additional details please refer to | |
| 24 | + Documentation/leds/leds-class-multicolor.rst. | |
| @@ -19,18 +19,23 @@ KernelVersion: 4.16 · 18 unmodified lines | ||
| 19 | 19 | Contact: linux-leds@vger.kernel.org |
| 20 | 20 | Description: |
| 21 | 21 | Signal the link state of the named network device. |
| 22 | + | |
| 22 | 23 | If set to 0 (default), the LED's normal state is off. |
| 24 | + | |
| 23 | 25 | If set to 1, the LED's normal state reflects the link state |
| 24 | 26 | of the named network device. |
| 25 | 27 | Setting this value also immediately changes the LED state. |
| 26 | 28 | |
| 29 | + | |
| 27 | 30 | What: /sys/class/leds/<led>/tx |
| 28 | 31 | Date: Dec 2017 |
| 29 | 32 | KernelVersion: 4.16 |
| 30 | 33 | Contact: linux-leds@vger.kernel.org |
| 31 | 34 | Description: |
| 32 | 35 | Signal transmission of data on the named network device. |
| 36 | + | |
| 33 | 37 | If set to 0 (default), the LED will not blink on transmission. |
| 38 | + | |
| 34 | 39 | If set to 1, the LED will blink for the milliseconds specified |
| 35 | 40 | in interval to signal transmission. |
| 36 | 41 | |
| @@ -40,6 +45,8 @@ KernelVersion: 4.16 · 3 unmodified lines | ||
| 40 | 45 | Contact: linux-leds@vger.kernel.org |
| 41 | 46 | Description: |
| 42 | 47 | Signal reception of data on the named network device. |
| 48 | + | |
| 43 | 49 | If set to 0 (default), the LED will not blink on reception. |
| 50 | + | |
| 44 | 51 | If set to 1, the LED will blink for the milliseconds specified |
| 45 | 52 | in interval to signal reception. |
| @@ -23,8 +23,8 @@ Description: · 22 unmodified lines | ||
| 23 | 23 | |
| 24 | 24 | Since different LED hardware can have different semantics of |
| 25 | 25 | hardware patterns, each driver is expected to provide its own |
| 26 | − description for the hardware patterns in their ABI documentation | |
| 27 | − file. | |
| 26 | + description for the hardware patterns in their documentation | |
| 27 | + file at Documentation/leds/. | |
| 28 | 28 | |
| 29 | 29 | What: /sys/class/leds/<led>/repeat |
| 30 | 30 | Date: September 2018 |
| @@ -8,5 +8,6 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | selected for the USB port trigger. Selecting ports makes trigger |
| 9 | 9 | observing them for any connected devices and lighting on LED if |
| 10 | 10 | there are any. |
| 11 | + | |
| 11 | 12 | Echoing "1" value selects USB port. Echoing "0" unselects it. |
| 12 | 13 | Current state can be also read. |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | of one LED will update the mode of its two sibling devices as |
| 8 | 8 | well. Possible values are: |
| 9 | 9 | |
| 10 | − 0 - normal | |
| 11 | − 1 - audio | |
| 12 | − 2 - breathing | |
| 10 | + == ========= | |
| 11 | + 0 normal | |
| 12 | + 1 audio | |
| 13 | + 2 breathing | |
| 14 | + == ========= | |
| 13 | 15 | |
| 14 | 16 | Normal: LEDs are fully on when enabled |
| 15 | 17 | Audio: LEDs brightness depends on sound level |
| @@ -41,24 +41,33 @@ Description: · 40 unmodified lines | ||
| 41 | 41 | When read, this entry provides the current state of an Intel |
| 42 | 42 | MIC device in the context of the card OS. Possible values that |
| 43 | 43 | will be read are: |
| 44 | − "ready" - The MIC device is ready to boot the card OS. On | |
| 45 | − reading this entry after an OSPM resume, a "boot" has to be | |
| 46 | − written to this entry if the card was previously shutdown | |
| 47 | − during OSPM suspend. | |
| 48 | − "booting" - The MIC device has initiated booting a card OS. | |
| 49 | − "online" - The MIC device has completed boot and is online | |
| 50 | − "shutting_down" - The card OS is shutting down. | |
| 51 | − "resetting" - A reset has been initiated for the MIC device | |
| 52 | − "reset_failed" - The MIC device has failed to reset. | |
| 44 | + | |
| 45 | + | |
| 46 | + =============== =============================================== | |
| 47 | + "ready" The MIC device is ready to boot the card OS. | |
| 48 | + On reading this entry after an OSPM resume, | |
| 49 | + a "boot" has to be written to this entry if | |
| 50 | + the card was previously shutdown during OSPM | |
| 51 | + suspend. | |
| 52 | + "booting" The MIC device has initiated booting a card OS. | |
| 53 | + "online" The MIC device has completed boot and is online | |
| 54 | + "shutting_down" The card OS is shutting down. | |
| 55 | + "resetting" A reset has been initiated for the MIC device | |
| 56 | + "reset_failed" The MIC device has failed to reset. | |
| 57 | + =============== =============================================== | |
| 53 | 58 | |
| 54 | 59 | When written, this sysfs entry triggers different state change |
| 55 | 60 | operations depending upon the current state of the card OS. |
| 56 | 61 | Acceptable values are: |
| 57 | − "boot" - Boot the card OS image specified by the combination | |
| 58 | − of firmware, ramdisk, cmdline and bootmode | |
| 59 | − sysfs entries. | |
| 60 | − "reset" - Initiates device reset. | |
| 61 | − "shutdown" - Initiates card OS shutdown. | |
| 62 | + | |
| 63 | + | |
| 64 | + ========== =================================================== | |
| 65 | + "boot" Boot the card OS image specified by the combination | |
| 66 | + of firmware, ramdisk, cmdline and bootmode | |
| 67 | + sysfs entries. | |
| 68 | + "reset" Initiates device reset. | |
| 69 | + "shutdown" Initiates card OS shutdown. | |
| 70 | + ========== =================================================== | |
| 62 | 71 | |
| 63 | 72 | What: /sys/class/mic/mic(x)/shutdown_status |
| 64 | 73 | Date: October 2013 |
| @@ -69,12 +78,15 @@ Description: · 4 unmodified lines | ||
| 69 | 78 | OS can shutdown because of various reasons. When read, this |
| 70 | 79 | entry provides the status on why the card OS was shutdown. |
| 71 | 80 | Possible values are: |
| 72 | − "nop" - shutdown status is not applicable, when the card OS is | |
| 73 | − "online" | |
| 74 | − "crashed" - Shutdown because of a HW or SW crash. | |
| 75 | − "halted" - Shutdown because of a halt command. | |
| 76 | − "poweroff" - Shutdown because of a poweroff command. | |
| 77 | − "restart" - Shutdown because of a restart command. | |
| 81 | + | |
| 82 | + ========== =================================================== | |
| 83 | + "nop" shutdown status is not applicable, when the card OS | |
| 84 | + is "online" | |
| 85 | + "crashed" Shutdown because of a HW or SW crash. | |
| 86 | + "halted" Shutdown because of a halt command. | |
| 87 | + "poweroff" Shutdown because of a poweroff command. | |
| 88 | + "restart" Shutdown because of a restart command. | |
| 89 | + ========== =================================================== | |
| 78 | 90 | |
| 79 | 91 | What: /sys/class/mic/mic(x)/cmdline |
| 80 | 92 | Date: October 2013 |
| @@ -4,10 +4,13 @@ KernelVersion: 3.17 · 3 unmodified lines | ||
| 4 | 4 | Contact: netdev@vger.kernel.org |
| 5 | 5 | Description: |
| 6 | 6 | Indicates the name assignment type. Possible values are: |
| 7 | − 1: enumerated by the kernel, possibly in an unpredictable way | |
| 8 | − 2: predictably named by the kernel | |
| 9 | − 3: named by userspace | |
| 10 | − 4: renamed | |
| 7 | + | |
| 8 | + == ========================================================== | |
| 9 | + 1 enumerated by the kernel, possibly in an unpredictable way | |
| 10 | + 2 predictably named by the kernel | |
| 11 | + 3 named by userspace | |
| 12 | + 4 renamed | |
| 13 | + == ========================================================== | |
| 11 | 14 | |
| 12 | 15 | What: /sys/class/net/<iface>/addr_assign_type |
| 13 | 16 | Date: July 2010 |
| @@ -15,10 +18,13 @@ KernelVersion: 3.2 · 1 unmodified line | ||
| 15 | 18 | Contact: netdev@vger.kernel.org |
| 16 | 19 | Description: |
| 17 | 20 | Indicates the address assignment type. Possible values are: |
| 18 | − 0: permanent address | |
| 19 | − 1: randomly generated | |
| 20 | − 2: stolen from another device | |
| 21 | − 3: set using dev_set_mac_address | |
| 21 | + | |
| 22 | + == ============================= | |
| 23 | + 0 permanent address | |
| 24 | + 1 randomly generated | |
| 25 | + 2 stolen from another device | |
| 26 | + 3 set using dev_set_mac_address | |
| 27 | + == ============================= | |
| 22 | 28 | |
| 23 | 29 | What: /sys/class/net/<iface>/addr_len |
| 24 | 30 | Date: April 2005 |
| @@ -51,9 +57,12 @@ Description: · 26 unmodified lines | ||
| 51 | 57 | Default value 0 does not forward any link local frames. |
| 52 | 58 | |
| 53 | 59 | Restricted bits: |
| 54 | − 0: 01-80-C2-00-00-00 Bridge Group Address used for STP | |
| 55 | − 1: 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE | |
| 56 | − 2: 01-80-C2-00-00-02 (Link Aggregation) 802.3ad | |
| 60 | + | |
| 61 | + == ======================================================== | |
| 62 | + 0 01-80-C2-00-00-00 Bridge Group Address used for STP | |
| 63 | + 1 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE | |
| 64 | + 2 01-80-C2-00-00-02 (Link Aggregation) 802.3ad | |
| 65 | + == ======================================================== | |
| 57 | 66 | |
| 58 | 67 | Any values not setting these bits can be used. Take special |
| 59 | 68 | care when forwarding control frames e.g. 802.1X-PAE or LLDP. |
| @@ -74,8 +83,11 @@ Contact: netdev@vger.kernel.org · 14 unmodified lines | ||
| 74 | 83 | Description: |
| 75 | 84 | Indicates the current physical link state of the interface. |
| 76 | 85 | Posssible values are: |
| 77 | − 0: physical link is down | |
| 78 | − 1: physical link is up | |
| 86 | + | |
| 87 | + == ===================== | |
| 88 | + 0 physical link is down | |
| 89 | + 1 physical link is up | |
| 90 | + == ===================== | |
| 79 | 91 | |
| 80 | 92 | Note: some special devices, e.g: bonding and team drivers will |
| 81 | 93 | allow this attribute to be written to force a link state for |
| @@ -131,21 +143,27 @@ Contact: netdev@vger.kernel.org · 49 unmodified lines | ||
| 131 | 143 | Description: |
| 132 | 144 | Indicates whether the interface is under test. Possible |
| 133 | 145 | values are: |
| 134 | − 0: interface is not being tested | |
| 135 | − 1: interface is being tested | |
| 146 | + | |
| 147 | + == ============================= | |
| 148 | + 0 interface is not being tested | |
| 149 | + 1 interface is being tested | |
| 150 | + == ============================= | |
| 136 | 151 | |
| 137 | 152 | When an interface is under test, it cannot be expected |
| 138 | 153 | to pass packets as normal. |
| 139 | 154 | |
| 140 | −What: /sys/clas/net/<iface>/duplex | |
| 155 | +What: /sys/class/net/<iface>/duplex | |
| 141 | 156 | Date: October 2009 |
| 142 | 157 | KernelVersion: 2.6.33 |
| 143 | 158 | Contact: netdev@vger.kernel.org |
| 144 | 159 | Description: |
| 145 | 160 | Indicates the interface latest or current duplex value. Possible |
| 146 | 161 | values are: |
| 147 | − half: half duplex | |
| 148 | − full: full duplex | |
| 162 | + | |
| 163 | + ==== =========== | |
| 164 | + half half duplex | |
| 165 | + full full duplex | |
| 166 | + ==== =========== | |
| 149 | 167 | |
| 150 | 168 | Note: This attribute is only valid for interfaces that implement |
| 151 | 169 | the ethtool get_link_ksettings method (mostly Ethernet). |
| @@ -196,8 +214,11 @@ Description: · 44 unmodified lines | ||
| 196 | 214 | Indicates the interface link mode, as a decimal number. This |
| 197 | 215 | attribute should be used in conjunction with 'dormant' attribute |
| 198 | 216 | to determine the interface usability. Possible values: |
| 199 | − 0: default link mode | |
| 200 | − 1: dormant link mode | |
| 217 | + | |
| 218 | + == ================= | |
| 219 | + 0 default link mode | |
| 220 | + 1 dormant link mode | |
| 221 | + == ================= | |
| 201 | 222 | |
| 202 | 223 | What: /sys/class/net/<iface>/mtu |
| 203 | 224 | Date: April 2005 |
| @@ -226,7 +247,9 @@ KernelVersion: 2.6.17 · 22 unmodified lines | ||
| 226 | 247 | Contact: netdev@vger.kernel.org |
| 227 | 248 | Description: |
| 228 | 249 | Indicates the interface RFC2863 operational state as a string. |
| 250 | + | |
| 229 | 251 | Possible values are: |
| 252 | + | |
| 230 | 253 | "unknown", "notpresent", "down", "lowerlayerdown", "testing", |
| 231 | 254 | "dormant", "up". |
| 232 | 255 | |
| @@ -91,9 +91,9 @@ Date: May 2014 · 90 unmodified lines | ||
| 91 | 91 | KernelVersion: 3.16 |
| 92 | 92 | Contact: Bjørn Mork <bjorn@mork.no> |
| 93 | 93 | Description: |
| 94 | − Bit 0: 16-bit NTB supported (set to 1) | |
| 95 | − Bit 1: 32-bit NTB supported | |
| 96 | − Bits 2 – 15: reserved (reset to zero; must be ignored by host) | |
| 94 | + - Bit 0: 16-bit NTB supported (set to 1) | |
| 95 | + - Bit 1: 32-bit NTB supported | |
| 96 | + - Bits 2 – 15: reserved (reset to zero; must be ignored by host) | |
| 97 | 97 | |
| 98 | 98 | What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize |
| 99 | 99 | Date: May 2014 |
| @@ -35,7 +35,9 @@ Description: · 34 unmodified lines | ||
| 35 | 35 | Ethernet driver during bus enumeration, encoded in string. |
| 36 | 36 | This interface mode is used to configure the Ethernet MAC with the |
| 37 | 37 | appropriate mode for its data lines to the PHY hardware. |
| 38 | + | |
| 38 | 39 | Possible values are: |
| 40 | + | |
| 39 | 41 | <empty> (not available), mii, gmii, sgmii, tbi, rev-mii, |
| 40 | 42 | rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii |
| 41 | 43 | xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui, |
| @@ -11,8 +11,11 @@ Contact: linuxppc-dev@lists.ozlabs.org · 10 unmodified lines | ||
| 11 | 11 | Description: read only |
| 12 | 12 | Number of contexts for the AFU, in the format <n>/<max> |
| 13 | 13 | where: |
| 14 | − n: number of currently active contexts, for debug | |
| 15 | − max: maximum number of contexts supported by the AFU | |
| 14 | + | |
| 15 | + ==== =============================================== | |
| 16 | + n number of currently active contexts, for debug | |
| 17 | + max maximum number of contexts supported by the AFU | |
| 18 | + ==== =============================================== | |
| 16 | 19 | |
| 17 | 20 | What: /sys/class/ocxl/<afu name>/pp_mmio_size |
| 18 | 21 | Date: January 2018 |
| @@ -40,7 +43,9 @@ Contact: linuxppc-dev@lists.ozlabs.org · 21 unmodified lines | ||
| 40 | 43 | Description: read/write |
| 41 | 44 | Control whether the FPGA is reloaded on a link reset. Enabled |
| 42 | 45 | through a vendor-specific logic block on the FPGA. |
| 43 | − 0 Do not reload FPGA image from flash | |
| 44 | − 1 Reload FPGA image from flash | |
| 45 | − unavailable | |
| 46 | − The device does not support this capability | |
| 46 | + | |
| 47 | + =========== =========================================== | |
| 48 | + 0 Do not reload FPGA image from flash | |
| 49 | + 1 Reload FPGA image from flash | |
| 50 | + unavailable The device does not support this capability | |
| 51 | + =========== =========================================== | |
| @@ -11,15 +11,17 @@ KernelVersion: 2.6.20 · 10 unmodified lines | ||
| 11 | 11 | Contact: Thomas Maier <balagi@justmail.de> |
| 12 | 12 | Description: |
| 13 | 13 | |
| 14 | − add: (WO) Write a block device id (major:minor) to | |
| 14 | + ========== ============================================== | |
| 15 | + add (WO) Write a block device id (major:minor) to | |
| 15 | 16 | create a new pktcdvd device and map it to the |
| 16 | 17 | block device. |
| 17 | 18 | |
| 18 | − remove: (WO) Write the pktcdvd device id (major:minor) | |
| 19 | + remove (WO) Write the pktcdvd device id (major:minor) | |
| 19 | 20 | to remove the pktcdvd device. |
| 20 | 21 | |
| 21 | − device_map: (RO) Shows the device mapping in format: | |
| 22 | + device_map (RO) Shows the device mapping in format: | |
| 22 | 23 | pktcdvd[0-7] <pktdevid> <blkdevid> |
| 24 | + ========== ============================================== | |
| 23 | 25 | |
| 24 | 26 | |
| 25 | 27 | What: /sys/class/pktcdvd/pktcdvd[0-7]/dev |
| @@ -65,29 +67,31 @@ Date: Oct. 2006 · 39 unmodified lines | ||
| 65 | 67 | KernelVersion: 2.6.20 |
| 66 | 68 | Contact: Thomas Maier <balagi@justmail.de> |
| 67 | 69 | Description: |
| 68 | − size: (RO) Contains the size of the bio write queue. | |
| 70 | + ============== ================================================ | |
| 71 | + size (RO) Contains the size of the bio write queue. | |
| 69 | 72 | |
| 70 | − congestion_off: (RW) If bio write queue size is below this mark, | |
| 73 | + congestion_off (RW) If bio write queue size is below this mark, | |
| 71 | 74 | accept new bio requests from the block layer. |
| 72 | 75 | |
| 73 | − congestion_on: (RW) If bio write queue size is higher as this | |
| 76 | + congestion_on (RW) If bio write queue size is higher as this | |
| 74 | 77 | mark, do no longer accept bio write requests |
| 75 | 78 | from the block layer and wait till the pktcdvd |
| 76 | 79 | device has processed enough bio's so that bio |
| 77 | 80 | write queue size is below congestion off mark. |
| 78 | 81 | A value of <= 0 disables congestion control. |
| 82 | + ============== ================================================ | |
| 79 | 83 | |
| 80 | 84 | |
| 81 | 85 | Example: |
| 82 | 86 | -------- |
| 83 | −To use the pktcdvd sysfs interface directly, you can do: | |
| 84 | − | |
| 85 | −# create a new pktcdvd device mapped to /dev/hdc | |
| 86 | −echo "22:0" >/sys/class/pktcdvd/add | |
| 87 | −cat /sys/class/pktcdvd/device_map | |
| 88 | −# assuming device pktcdvd0 was created, look at stat's | |
| 89 | −cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written | |
| 90 | −# print the device id of the mapped block device | |
| 91 | −fgrep pktcdvd0 /sys/class/pktcdvd/device_map | |
| 92 | −# remove device, using pktcdvd0 device id 253:0 | |
| 93 | −echo "253:0" >/sys/class/pktcdvd/remove | |
| 87 | +To use the pktcdvd sysfs interface directly, you can do:: | |
| 88 | + | |
| 89 | + # create a new pktcdvd device mapped to /dev/hdc | |
| 90 | + echo "22:0" >/sys/class/pktcdvd/add | |
| 91 | + cat /sys/class/pktcdvd/device_map | |
| 92 | + # assuming device pktcdvd0 was created, look at stat's | |
| 93 | + cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written | |
| 94 | + # print the device id of the mapped block device | |
| 95 | + fgrep pktcdvd0 /sys/class/pktcdvd/device_map | |
| 96 | + # remove device, using pktcdvd0 device id 253:0 | |
| 97 | + echo "253:0" >/sys/class/pktcdvd/remove | |
| @@ -1,4 +1,4 @@ | ||
| 1 | −===== General Properties ===== | |
| 1 | +**General Properties** | |
| 2 | 2 | |
| 3 | 3 | What: /sys/class/power_supply/<supply_name>/manufacturer |
| 4 | 4 | Date: May 2007 |
| @@ -34,16 +34,240 @@ Description: · 29 unmodified lines | ||
| 34 | 34 | Describes the main type of the supply. |
| 35 | 35 | |
| 36 | 36 | Access: Read |
| 37 | − Valid values: "Battery", "UPS", "Mains", "USB" | |
| 37 | + Valid values: "Battery", "UPS", "Mains", "USB", "Wireless" | |
| 38 | 38 | |
| 39 | −===== Battery Properties ===== | |
| 39 | +**Battery and USB properties** | |
| 40 | + | |
| 41 | +What: /sys/class/power_supply/<supply_name>/current_avg | |
| 42 | +Date: May 2007 | |
| 43 | +Contact: linux-pm@vger.kernel.org | |
| 44 | +Description: | |
| 45 | + Battery: | |
| 46 | + | |
| 47 | + Reports an average IBAT current reading for the battery, over | |
| 48 | + a fixed period. Normally devices will provide a fixed interval | |
| 49 | + in which they average readings to smooth out the reported | |
| 50 | + value. | |
| 51 | + | |
| 52 | + USB: | |
| 53 | + | |
| 54 | + Reports an average IBUS current reading over a fixed period. | |
| 55 | + Normally devices will provide a fixed interval in which they | |
| 56 | + average readings to smooth out the reported value. | |
| 57 | + | |
| 58 | + Access: Read | |
| 59 | + | |
| 60 | + Valid values: Represented in microamps. Negative values are | |
| 61 | + used for discharging batteries, positive values for charging | |
| 62 | + batteries and for USB IBUS current. | |
| 63 | + | |
| 64 | +What: /sys/class/power_supply/<supply_name>/current_max | |
| 65 | +Date: October 2010 | |
| 66 | +Contact: linux-pm@vger.kernel.org | |
| 67 | +Description: | |
| 68 | + Battery: | |
| 69 | + | |
| 70 | + Reports the maximum IBAT current allowed into the battery. | |
| 71 | + | |
| 72 | + USB: | |
| 73 | + | |
| 74 | + Reports the maximum IBUS current the supply can support. | |
| 75 | + | |
| 76 | + Access: Read | |
| 77 | + Valid values: Represented in microamps | |
| 78 | + | |
| 79 | +What: /sys/class/power_supply/<supply_name>/current_now | |
| 80 | +Date: May 2007 | |
| 81 | +Contact: linux-pm@vger.kernel.org | |
| 82 | +Description: | |
| 83 | + | |
| 84 | + Battery: | |
| 85 | + | |
| 86 | + Reports an instant, single IBAT current reading for the | |
| 87 | + battery. This value is not averaged/smoothed. | |
| 88 | + | |
| 89 | + Access: Read | |
| 90 | + | |
| 91 | + USB: | |
| 92 | + | |
| 93 | + Reports the IBUS current supplied now. This value is generally | |
| 94 | + read-only reporting, unless the 'online' state of the supply | |
| 95 | + is set to be programmable, in which case this value can be set | |
| 96 | + within the reported min/max range. | |
| 97 | + | |
| 98 | + Access: Read, Write | |
| 99 | + | |
| 100 | + Valid values: Represented in microamps. Negative values are | |
| 101 | + used for discharging batteries, positive values for charging | |
| 102 | + batteries and for USB IBUS current. | |
| 103 | + | |
| 104 | +What: /sys/class/power_supply/<supply_name>/temp | |
| 105 | +Date: May 2007 | |
| 106 | +Contact: linux-pm@vger.kernel.org | |
| 107 | +Description: | |
| 108 | + Battery: | |
| 109 | + | |
| 110 | + Reports the current TBAT battery temperature reading. | |
| 111 | + | |
| 112 | + USB: | |
| 113 | + | |
| 114 | + Reports the current supply temperature reading. This would | |
| 115 | + normally be the internal temperature of the device itself | |
| 116 | + (e.g TJUNC temperature of an IC) | |
| 117 | + | |
| 118 | + Access: Read | |
| 119 | + | |
| 120 | + Valid values: Represented in 1/10 Degrees Celsius | |
| 121 | + | |
| 122 | +What: /sys/class/power_supply/<supply_name>/temp_alert_max | |
| 123 | +Date: July 2012 | |
| 124 | +Contact: linux-pm@vger.kernel.org | |
| 125 | +Description: | |
| 126 | + Battery: | |
| 127 | + | |
| 128 | + Maximum TBAT temperature trip-wire value where the supply will | |
| 129 | + notify user-space of the event. | |
| 130 | + | |
| 131 | + USB: | |
| 132 | + | |
| 133 | + Maximum supply temperature trip-wire value where the supply | |
| 134 | + will notify user-space of the event. | |
| 135 | + | |
| 136 | + This is normally used for the charging scenario where | |
| 137 | + user-space needs to know if the temperature has crossed an | |
| 138 | + upper threshold so it can take appropriate action (e.g. warning | |
| 139 | + user that the temperature is critically high, and charging has | |
| 140 | + stopped). | |
| 141 | + | |
| 142 | + Access: Read | |
| 143 | + | |
| 144 | + Valid values: Represented in 1/10 Degrees Celsius | |
| 145 | + | |
| 146 | +What: /sys/class/power_supply/<supply_name>/temp_alert_min | |
| 147 | +Date: July 2012 | |
| 148 | +Contact: linux-pm@vger.kernel.org | |
| 149 | +Description: | |
| 150 | + | |
| 151 | + Battery: | |
| 152 | + | |
| 153 | + Minimum TBAT temperature trip-wire value where the supply will | |
| 154 | + notify user-space of the event. | |
| 155 | + | |
| 156 | + USB: | |
| 157 | + | |
| 158 | + Minimum supply temperature trip-wire value where the supply | |
| 159 | + will notify user-space of the event. | |
| 160 | + | |
| 161 | + This is normally used for the charging scenario where user-space | |
| 162 | + needs to know if the temperature has crossed a lower threshold | |
| 163 | + so it can take appropriate action (e.g. warning user that | |
| 164 | + temperature level is high, and charging current has been | |
| 165 | + reduced accordingly to remedy the situation). | |
| 166 | + | |
| 167 | + Access: Read | |
| 168 | + | |
| 169 | + Valid values: Represented in 1/10 Degrees Celsius | |
| 170 | + | |
| 171 | +What: /sys/class/power_supply/<supply_name>/temp_max | |
| 172 | +Date: July 2014 | |
| 173 | +Contact: linux-pm@vger.kernel.org | |
| 174 | +Description: | |
| 175 | + Battery: | |
| 176 | + | |
| 177 | + Reports the maximum allowed TBAT battery temperature for | |
| 178 | + charging. | |
| 179 | + | |
| 180 | + USB: | |
| 181 | + | |
| 182 | + Reports the maximum allowed supply temperature for operation. | |
| 183 | + | |
| 184 | + Access: Read | |
| 185 | + | |
| 186 | + Valid values: Represented in 1/10 Degrees Celsius | |
| 187 | + | |
| 188 | +What: /sys/class/power_supply/<supply_name>/temp_min | |
| 189 | +Date: July 2014 | |
| 190 | +Contact: linux-pm@vger.kernel.org | |
| 191 | +Description: | |
| 192 | + Battery: | |
| 193 | + | |
| 194 | + Reports the minimum allowed TBAT battery temperature for | |
| 195 | + charging. | |
| 196 | + | |
| 197 | + USB: | |
| 198 | + | |
| 199 | + Reports the minimum allowed supply temperature for operation. | |
| 200 | + | |
| 201 | + Access: Read | |
| 202 | + | |
| 203 | + Valid values: Represented in 1/10 Degrees Celsius | |
| 204 | + | |
| 205 | +What: /sys/class/power_supply/<supply_name>/voltage_max, | |
| 206 | +Date: January 2008 | |
| 207 | +Contact: linux-pm@vger.kernel.org | |
| 208 | +Description: | |
| 209 | + Battery: | |
| 210 | + | |
| 211 | + Reports the maximum safe VBAT voltage permitted for the | |
| 212 | + battery, during charging. | |
| 213 | + | |
| 214 | + USB: | |
| 215 | + | |
| 216 | + Reports the maximum VBUS voltage the supply can support. | |
| 217 | + | |
| 218 | + Access: Read | |
| 219 | + | |
| 220 | + Valid values: Represented in microvolts | |
| 221 | + | |
| 222 | +What: /sys/class/power_supply/<supply_name>/voltage_min, | |
| 223 | +Date: January 2008 | |
| 224 | +Contact: linux-pm@vger.kernel.org | |
| 225 | +Description: | |
| 226 | + Battery: | |
| 227 | + | |
| 228 | + Reports the minimum safe VBAT voltage permitted for the | |
| 229 | + battery, during discharging. | |
| 230 | + | |
| 231 | + USB: | |
| 232 | + | |
| 233 | + Reports the minimum VBUS voltage the supply can support. | |
| 234 | + | |
| 235 | + Access: Read | |
| 236 | + | |
| 237 | + Valid values: Represented in microvolts | |
| 238 | + | |
| 239 | +What: /sys/class/power_supply/<supply_name>/voltage_now, | |
| 240 | +Date: May 2007 | |
| 241 | +Contact: linux-pm@vger.kernel.org | |
| 242 | +Description: | |
| 243 | + Battery: | |
| 244 | + | |
| 245 | + Reports an instant, single VBAT voltage reading for the | |
| 246 | + battery. This value is not averaged/smoothed. | |
| 247 | + | |
| 248 | + Access: Read | |
| 249 | + | |
| 250 | + USB: | |
| 251 | + | |
| 252 | + Reports the VBUS voltage supplied now. This value is generally | |
| 253 | + read-only reporting, unless the 'online' state of the supply | |
| 254 | + is set to be programmable, in which case this value can be set | |
| 255 | + within the reported min/max range. | |
| 256 | + | |
| 257 | + Access: Read, Write | |
| 258 | + | |
| 259 | + Valid values: Represented in microvolts | |
| 260 | + | |
| 261 | +**Battery Properties** | |
| 40 | 262 | |
| 41 | 263 | What: /sys/class/power_supply/<supply_name>/capacity |
| 42 | 264 | Date: May 2007 |
| 43 | 265 | Contact: linux-pm@vger.kernel.org |
| 44 | 266 | Description: |
| 45 | 267 | Fine grain representation of battery capacity. |
| 268 | + | |
| 46 | 269 | Access: Read |
| 270 | + | |
| 47 | 271 | Valid values: 0 - 100 (percent) |
| 48 | 272 | |
| 49 | 273 | What: /sys/class/power_supply/<supply_name>/capacity_alert_max |
| @@ -58,6 +282,7 @@ Description: · 8 unmodified lines | ||
| 58 | 282 | low). |
| 59 | 283 | |
| 60 | 284 | Access: Read, Write |
| 285 | + | |
| 61 | 286 | Valid values: 0 - 100 (percent) |
| 62 | 287 | |
| 63 | 288 | What: /sys/class/power_supply/<supply_name>/capacity_alert_min |
| @@ -72,6 +297,7 @@ Description: · 8 unmodified lines | ||
| 72 | 297 | critically low). |
| 73 | 298 | |
| 74 | 299 | Access: Read, Write |
| 300 | + | |
| 75 | 301 | Valid values: 0 - 100 (percent) |
| 76 | 302 | |
| 77 | 303 | What: /sys/class/power_supply/<supply_name>/capacity_error_margin |
| @@ -87,6 +313,7 @@ Description: · 9 unmodified lines | ||
| 87 | 313 | completely useless. |
| 88 | 314 | |
| 89 | 315 | Access: Read |
| 316 | + | |
| 90 | 317 | Valid values: 0 - 100 (percent) |
| 91 | 318 | |
| 92 | 319 | What: /sys/class/power_supply/<supply_name>/capacity_level |
| @@ -96,38 +323,10 @@ Description: · 3 unmodified lines | ||
| 96 | 323 | Coarse representation of battery capacity. |
| 97 | 324 | |
| 98 | 325 | Access: Read |
| 99 | − Valid values: "Unknown", "Critical", "Low", "Normal", "High", | |
| 100 | − "Full" | |
| 101 | − | |
| 102 | −What: /sys/class/power_supply/<supply_name>/current_avg | |
| 103 | −Date: May 2007 | |
| 104 | −Contact: linux-pm@vger.kernel.org | |
| 105 | −Description: | |
| 106 | − Reports an average IBAT current reading for the battery, over a | |
| 107 | − fixed period. Normally devices will provide a fixed interval in | |
| 108 | − which they average readings to smooth out the reported value. | |
| 109 | − | |
| 110 | − Access: Read | |
| 111 | − Valid values: Represented in microamps | |
| 112 | 326 | |
| 113 | −What: /sys/class/power_supply/<supply_name>/current_max | |
| 114 | −Date: October 2010 | |
| 115 | −Contact: linux-pm@vger.kernel.org | |
| 116 | −Description: | |
| 117 | − Reports the maximum IBAT current allowed into the battery. | |
| 118 | − | |
| 119 | − Access: Read | |
| 120 | − Valid values: Represented in microamps | |
| 121 | − | |
| 122 | −What: /sys/class/power_supply/<supply_name>/current_now | |
| 123 | −Date: May 2007 | |
| 124 | −Contact: linux-pm@vger.kernel.org | |
| 125 | −Description: | |
| 126 | − Reports an instant, single IBAT current reading for the battery. | |
| 127 | − This value is not averaged/smoothed. | |
| 128 | − | |
| 129 | − Access: Read | |
| 130 | − Valid values: Represented in microamps | |
| 327 | + Valid values: | |
| 328 | + "Unknown", "Critical", "Low", "Normal", "High", | |
| 329 | + "Full" | |
| 131 | 330 | |
| 132 | 331 | What: /sys/class/power_supply/<supply_name>/charge_control_limit |
| 133 | 332 | Date: Oct 2012 |
| @@ -137,6 +336,7 @@ Description: · 3 unmodified lines | ||
| 137 | 336 | throttling for thermal cooling or improving battery health. |
| 138 | 337 | |
| 139 | 338 | Access: Read, Write |
| 339 | + | |
| 140 | 340 | Valid values: Represented in microamps |
| 141 | 341 | |
| 142 | 342 | What: /sys/class/power_supply/<supply_name>/charge_control_limit_max |
| @@ -146,6 +346,7 @@ Description: · 3 unmodified lines | ||
| 146 | 346 | Maximum legal value for the charge_control_limit property. |
| 147 | 347 | |
| 148 | 348 | Access: Read |
| 349 | + | |
| 149 | 350 | Valid values: Represented in microamps |
| 150 | 351 | |
| 151 | 352 | What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold |
| @@ -166,6 +367,7 @@ Description: · 14 unmodified lines | ||
| 166 | 367 | stop. |
| 167 | 368 | |
| 168 | 369 | Access: Read, Write |
| 370 | + | |
| 169 | 371 | Valid values: 0 - 100 (percent) |
| 170 | 372 | |
| 171 | 373 | What: /sys/class/power_supply/<supply_name>/charge_type |
| @@ -181,7 +383,9 @@ Description: · 9 unmodified lines | ||
| 181 | 383 | different algorithm. |
| 182 | 384 | |
| 183 | 385 | Access: Read, Write |
| 184 | − Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard", | |
| 386 | + | |
| 387 | + Valid values: | |
| 388 | + "Unknown", "N/A", "Trickle", "Fast", "Standard", | |
| 185 | 389 | "Adaptive", "Custom" |
| 186 | 390 | |
| 187 | 391 | What: /sys/class/power_supply/<supply_name>/charge_term_current |
| @@ -192,6 +396,7 @@ Description: · 4 unmodified lines | ||
| 192 | 396 | when the battery is considered full and charging should end. |
| 193 | 397 | |
| 194 | 398 | Access: Read |
| 399 | + | |
| 195 | 400 | Valid values: Represented in microamps |
| 196 | 401 | |
| 197 | 402 | What: /sys/class/power_supply/<supply_name>/health |
| @@ -202,7 +407,9 @@ Description: · 4 unmodified lines | ||
| 202 | 407 | functionality. |
| 203 | 408 | |
| 204 | 409 | Access: Read |
| 205 | − Valid values: "Unknown", "Good", "Overheat", "Dead", | |
| 410 | + | |
| 411 | + Valid values: | |
| 412 | + "Unknown", "Good", "Overheat", "Dead", | |
| 206 | 413 | "Over voltage", "Unspecified failure", "Cold", |
| 207 | 414 | "Watchdog timer expire", "Safety timer expire", |
| 208 | 415 | "Over current", "Calibration required", "Warm", |
| @@ -216,6 +423,7 @@ Description: · 7 unmodified lines | ||
| 216 | 423 | for a battery charge cycle. |
| 217 | 424 | |
| 218 | 425 | Access: Read |
| 426 | + | |
| 219 | 427 | Valid values: Represented in microamps |
| 220 | 428 | |
| 221 | 429 | What: /sys/class/power_supply/<supply_name>/present |
| @@ -225,9 +433,13 @@ Description: · 3 unmodified lines | ||
| 225 | 433 | Reports whether a battery is present or not in the system. |
| 226 | 434 | |
| 227 | 435 | Access: Read |
| 436 | + | |
| 228 | 437 | Valid values: |
| 438 | + | |
| 439 | + == ======= | |
| 229 | 440 | 0: Absent |
| 230 | 441 | 1: Present |
| 442 | + == ======= | |
| 231 | 443 | |
| 232 | 444 | What: /sys/class/power_supply/<supply_name>/status |
| 233 | 445 | Date: May 2007 |
| @@ -238,7 +450,9 @@ Description: · 4 unmodified lines | ||
| 238 | 450 | used to enable/disable charging to the battery. |
| 239 | 451 | |
| 240 | 452 | Access: Read, Write |
| 241 | − Valid values: "Unknown", "Charging", "Discharging", | |
| 453 | + | |
| 454 | + Valid values: | |
| 455 | + "Unknown", "Charging", "Discharging", | |
| 242 | 456 | "Not charging", "Full" |
| 243 | 457 | |
| 244 | 458 | What: /sys/class/power_supply/<supply_name>/technology |
| @@ -248,66 +462,11 @@ Description: · 3 unmodified lines | ||
| 248 | 462 | Describes the battery technology supported by the supply. |
| 249 | 463 | |
| 250 | 464 | Access: Read |
| 251 | − Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", | |
| 252 | − "NiCd", "LiMn" | |
| 253 | − | |
| 254 | −What: /sys/class/power_supply/<supply_name>/temp | |
| 255 | −Date: May 2007 | |
| 256 | −Contact: linux-pm@vger.kernel.org | |
| 257 | −Description: | |
| 258 | − Reports the current TBAT battery temperature reading. | |
| 259 | − | |
| 260 | − Access: Read | |
| 261 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 262 | − | |
| 263 | −What: /sys/class/power_supply/<supply_name>/temp_alert_max | |
| 264 | −Date: July 2012 | |
| 265 | −Contact: linux-pm@vger.kernel.org | |
| 266 | −Description: | |
| 267 | − Maximum TBAT temperature trip-wire value where the supply will | |
| 268 | − notify user-space of the event. This is normally used for the | |
| 269 | − battery charging scenario where user-space needs to know the | |
| 270 | − battery temperature has crossed an upper threshold so it can | |
| 271 | − take appropriate action (e.g. warning user that battery level is | |
| 272 | − critically high, and charging has stopped). | |
| 273 | − | |
| 274 | − Access: Read | |
| 275 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 276 | − | |
| 277 | −What: /sys/class/power_supply/<supply_name>/temp_alert_min | |
| 278 | −Date: July 2012 | |
| 279 | −Contact: linux-pm@vger.kernel.org | |
| 280 | −Description: | |
| 281 | − Minimum TBAT temperature trip-wire value where the supply will | |
| 282 | − notify user-space of the event. This is normally used for the | |
| 283 | − battery charging scenario where user-space needs to know the | |
| 284 | − battery temperature has crossed a lower threshold so it can take | |
| 285 | − appropriate action (e.g. warning user that battery level is | |
| 286 | − high, and charging current has been reduced accordingly to | |
| 287 | − remedy the situation). | |
| 288 | − | |
| 289 | − Access: Read | |
| 290 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 291 | − | |
| 292 | −What: /sys/class/power_supply/<supply_name>/temp_max | |
| 293 | −Date: July 2014 | |
| 294 | −Contact: linux-pm@vger.kernel.org | |
| 295 | −Description: | |
| 296 | − Reports the maximum allowed TBAT battery temperature for | |
| 297 | − charging. | |
| 298 | − | |
| 299 | − Access: Read | |
| 300 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 301 | 465 | |
| 302 | −What: /sys/class/power_supply/<supply_name>/temp_min | |
| 303 | −Date: July 2014 | |
| 304 | −Contact: linux-pm@vger.kernel.org | |
| 305 | −Description: | |
| 306 | − Reports the minimum allowed TBAT battery temperature for | |
| 307 | − charging. | |
| 466 | + Valid values: | |
| 467 | + "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", | |
| 468 | + "NiCd", "LiMn" | |
| 308 | 469 | |
| 309 | − Access: Read | |
| 310 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 311 | 470 | |
| 312 | 471 | What: /sys/class/power_supply/<supply_name>/voltage_avg, |
| 313 | 472 | Date: May 2007 |
| @@ -318,72 +477,10 @@ Description: · 4 unmodified lines | ||
| 318 | 477 | which they average readings to smooth out the reported value. |
| 319 | 478 | |
| 320 | 479 | Access: Read |
| 321 | − Valid values: Represented in microvolts | |
| 322 | − | |
| 323 | −What: /sys/class/power_supply/<supply_name>/voltage_max, | |
| 324 | −Date: January 2008 | |
| 325 | −Contact: linux-pm@vger.kernel.org | |
| 326 | −Description: | |
| 327 | − Reports the maximum safe VBAT voltage permitted for the battery, | |
| 328 | − during charging. | |
| 329 | − | |
| 330 | − Access: Read | |
| 331 | − Valid values: Represented in microvolts | |
| 332 | 480 | |
| 333 | −What: /sys/class/power_supply/<supply_name>/voltage_min, | |
| 334 | −Date: January 2008 | |
| 335 | −Contact: linux-pm@vger.kernel.org | |
| 336 | −Description: | |
| 337 | − Reports the minimum safe VBAT voltage permitted for the battery, | |
| 338 | − during discharging. | |
| 339 | − | |
| 340 | − Access: Read | |
| 341 | 481 | Valid values: Represented in microvolts |
| 342 | 482 | |
| 343 | −What: /sys/class/power_supply/<supply_name>/voltage_now, | |
| 344 | −Date: May 2007 | |
| 345 | −Contact: linux-pm@vger.kernel.org | |
| 346 | −Description: | |
| 347 | − Reports an instant, single VBAT voltage reading for the battery. | |
| 348 | − This value is not averaged/smoothed. | |
| 349 | − | |
| 350 | − Access: Read | |
| 351 | − Valid values: Represented in microvolts | |
| 352 | − | |
| 353 | −===== USB Properties ===== | |
| 354 | − | |
| 355 | −What: /sys/class/power_supply/<supply_name>/current_avg | |
| 356 | −Date: May 2007 | |
| 357 | −Contact: linux-pm@vger.kernel.org | |
| 358 | −Description: | |
| 359 | − Reports an average IBUS current reading over a fixed period. | |
| 360 | − Normally devices will provide a fixed interval in which they | |
| 361 | − average readings to smooth out the reported value. | |
| 362 | − | |
| 363 | − Access: Read | |
| 364 | − Valid values: Represented in microamps | |
| 365 | − | |
| 366 | − | |
| 367 | −What: /sys/class/power_supply/<supply_name>/current_max | |
| 368 | −Date: October 2010 | |
| 369 | −Contact: linux-pm@vger.kernel.org | |
| 370 | −Description: | |
| 371 | − Reports the maximum IBUS current the supply can support. | |
| 372 | − | |
| 373 | − Access: Read | |
| 374 | − Valid values: Represented in microamps | |
| 375 | − | |
| 376 | −What: /sys/class/power_supply/<supply_name>/current_now | |
| 377 | −Date: May 2007 | |
| 378 | −Contact: linux-pm@vger.kernel.org | |
| 379 | −Description: | |
| 380 | − Reports the IBUS current supplied now. This value is generally | |
| 381 | − read-only reporting, unless the 'online' state of the supply | |
| 382 | − is set to be programmable, in which case this value can be set | |
| 383 | − within the reported min/max range. | |
| 384 | − | |
| 385 | − Access: Read, Write | |
| 386 | − Valid values: Represented in microamps | |
| 483 | +**USB Properties** | |
| 387 | 484 | |
| 388 | 485 | What: /sys/class/power_supply/<supply_name>/input_current_limit |
| 389 | 486 | Date: July 2014 |
| @@ -397,6 +494,7 @@ Description: · 7 unmodified lines | ||
| 397 | 494 | solved using power limit use input_current_limit. |
| 398 | 495 | |
| 399 | 496 | Access: Read, Write |
| 497 | + | |
| 400 | 498 | Valid values: Represented in microamps |
| 401 | 499 | |
| 402 | 500 | What: /sys/class/power_supply/<supply_name>/input_voltage_limit |
| @@ -414,6 +512,7 @@ Description: · 11 unmodified lines | ||
| 414 | 512 | solved using power limit use input_voltage_limit. |
| 415 | 513 | |
| 416 | 514 | Access: Read, Write |
| 515 | + | |
| 417 | 516 | Valid values: Represented in microvolts |
| 418 | 517 | |
| 419 | 518 | What: /sys/class/power_supply/<supply_name>/input_power_limit |
| @@ -427,6 +526,7 @@ Description: · 7 unmodified lines | ||
| 427 | 526 | limit only for problems that can be solved using power limit. |
| 428 | 527 | |
| 429 | 528 | Access: Read, Write |
| 529 | + | |
| 430 | 530 | Valid values: Represented in microwatts |
| 431 | 531 | |
| 432 | 532 | What: /sys/class/power_supply/<supply_name>/online, |
| @@ -439,69 +539,14 @@ Description: · 6 unmodified lines | ||
| 439 | 539 | USB supply so voltage and current can be controlled). |
| 440 | 540 | |
| 441 | 541 | Access: Read, Write |
| 542 | + | |
| 442 | 543 | Valid values: |
| 544 | + | |
| 545 | + == ================================================== | |
| 443 | 546 | 0: Offline |
| 444 | 547 | 1: Online Fixed - Fixed Voltage Supply |
| 445 | 548 | 2: Online Programmable - Programmable Voltage Supply |
| 446 | − | |
| 447 | −What: /sys/class/power_supply/<supply_name>/temp | |
| 448 | −Date: May 2007 | |
| 449 | −Contact: linux-pm@vger.kernel.org | |
| 450 | −Description: | |
| 451 | − Reports the current supply temperature reading. This would | |
| 452 | − normally be the internal temperature of the device itself (e.g | |
| 453 | − TJUNC temperature of an IC) | |
| 454 | − | |
| 455 | − Access: Read | |
| 456 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 457 | − | |
| 458 | −What: /sys/class/power_supply/<supply_name>/temp_alert_max | |
| 459 | −Date: July 2012 | |
| 460 | −Contact: linux-pm@vger.kernel.org | |
| 461 | −Description: | |
| 462 | − Maximum supply temperature trip-wire value where the supply will | |
| 463 | − notify user-space of the event. This is normally used for the | |
| 464 | − charging scenario where user-space needs to know the supply | |
| 465 | − temperature has crossed an upper threshold so it can take | |
| 466 | − appropriate action (e.g. warning user that the supply | |
| 467 | − temperature is critically high, and charging has stopped to | |
| 468 | − remedy the situation). | |
| 469 | − | |
| 470 | − Access: Read | |
| 471 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 472 | − | |
| 473 | −What: /sys/class/power_supply/<supply_name>/temp_alert_min | |
| 474 | −Date: July 2012 | |
| 475 | −Contact: linux-pm@vger.kernel.org | |
| 476 | −Description: | |
| 477 | − Minimum supply temperature trip-wire value where the supply will | |
| 478 | − notify user-space of the event. This is normally used for the | |
| 479 | − charging scenario where user-space needs to know the supply | |
| 480 | − temperature has crossed a lower threshold so it can take | |
| 481 | − appropriate action (e.g. warning user that the supply | |
| 482 | − temperature is high, and charging current has been reduced | |
| 483 | − accordingly to remedy the situation). | |
| 484 | − | |
| 485 | − Access: Read | |
| 486 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 487 | − | |
| 488 | −What: /sys/class/power_supply/<supply_name>/temp_max | |
| 489 | −Date: July 2014 | |
| 490 | −Contact: linux-pm@vger.kernel.org | |
| 491 | −Description: | |
| 492 | − Reports the maximum allowed supply temperature for operation. | |
| 493 | − | |
| 494 | − Access: Read | |
| 495 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 496 | − | |
| 497 | −What: /sys/class/power_supply/<supply_name>/temp_min | |
| 498 | −Date: July 2014 | |
| 499 | −Contact: linux-pm@vger.kernel.org | |
| 500 | −Description: | |
| 501 | − Reports the mainimum allowed supply temperature for operation. | |
| 502 | − | |
| 503 | − Access: Read | |
| 504 | − Valid values: Represented in 1/10 Degrees Celsius | |
| 549 | + == ================================================== | |
| 505 | 550 | |
| 506 | 551 | What: /sys/class/power_supply/<supply_name>/usb_type |
| 507 | 552 | Date: March 2018 |
| @@ -512,40 +557,12 @@ Description: · 4 unmodified lines | ||
| 512 | 557 | is attached. |
| 513 | 558 | |
| 514 | 559 | Access: Read-Only |
| 515 | − Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", | |
| 516 | − "PD_DRP", "PD_PPS", "BrickID" | |
| 517 | − | |
| 518 | −What: /sys/class/power_supply/<supply_name>/voltage_max | |
| 519 | −Date: January 2008 | |
| 520 | −Contact: linux-pm@vger.kernel.org | |
| 521 | −Description: | |
| 522 | − Reports the maximum VBUS voltage the supply can support. | |
| 523 | − | |
| 524 | − Access: Read | |
| 525 | − Valid values: Represented in microvolts | |
| 526 | − | |
| 527 | −What: /sys/class/power_supply/<supply_name>/voltage_min | |
| 528 | −Date: January 2008 | |
| 529 | −Contact: linux-pm@vger.kernel.org | |
| 530 | −Description: | |
| 531 | − Reports the minimum VBUS voltage the supply can support. | |
| 532 | 560 | |
| 533 | − Access: Read | |
| 534 | − Valid values: Represented in microvolts | |
| 535 | − | |
| 536 | −What: /sys/class/power_supply/<supply_name>/voltage_now | |
| 537 | −Date: May 2007 | |
| 538 | −Contact: linux-pm@vger.kernel.org | |
| 539 | −Description: | |
| 540 | − Reports the VBUS voltage supplied now. This value is generally | |
| 541 | − read-only reporting, unless the 'online' state of the supply | |
| 542 | − is set to be programmable, in which case this value can be set | |
| 543 | − within the reported min/max range. | |
| 544 | − | |
| 545 | − Access: Read, Write | |
| 546 | − Valid values: Represented in microvolts | |
| 561 | + Valid values: | |
| 562 | + "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", | |
| 563 | + "PD_DRP", "PD_PPS", "BrickID" | |
| 547 | 564 | |
| 548 | −===== Device Specific Properties ===== | |
| 565 | +**Device Specific Properties** | |
| 549 | 566 | |
| 550 | 567 | What: /sys/class/power/ds2760-battery.*/charge_now |
| 551 | 568 | Date: May 2010 |
| @@ -579,6 +596,7 @@ Description: · 27 unmodified lines | ||
| 579 | 596 | will drop to 0 A) and will trigger interrupt. |
| 580 | 597 | |
| 581 | 598 | Valid values: |
| 599 | + | |
| 582 | 600 | - 5, 6 or 7 (hours), |
| 583 | 601 | - 0: disabled. |
| 584 | 602 | |
| @@ -593,6 +611,7 @@ Description: · 8 unmodified lines | ||
| 593 | 611 | will drop to 0 A) and will trigger interrupt. |
| 594 | 612 | |
| 595 | 613 | Valid values: |
| 614 | + | |
| 596 | 615 | - 4 - 16 (hours), step by 2 (rounded down) |
| 597 | 616 | - 0: disabled. |
| 598 | 617 | |
| @@ -607,6 +626,7 @@ Description: · 8 unmodified lines | ||
| 607 | 626 | interrupt and start top-off charging mode. |
| 608 | 627 | |
| 609 | 628 | Valid values: |
| 629 | + | |
| 610 | 630 | - 100000 - 200000 (microamps), step by 25000 (rounded down) |
| 611 | 631 | - 200000 - 350000 (microamps), step by 50000 (rounded down) |
| 612 | 632 | - 0: disabled. |
| @@ -622,6 +642,7 @@ Description: · 9 unmodified lines | ||
| 622 | 642 | will drop to 0 A) and will trigger interrupt. |
| 623 | 643 | |
| 624 | 644 | Valid values: |
| 645 | + | |
| 625 | 646 | - 0 - 70 (minutes), step by 10 (rounded down) |
| 626 | 647 | |
| 627 | 648 | What: /sys/class/power_supply/bq24257-charger/ovp_voltage |
| @@ -635,6 +656,7 @@ Description: · 7 unmodified lines | ||
| 635 | 656 | device datasheet for details. |
| 636 | 657 | |
| 637 | 658 | Valid values: |
| 659 | + | |
| 638 | 660 | - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, |
| 639 | 661 | 10500000 (all uV) |
| 640 | 662 | |
| @@ -650,6 +672,7 @@ Description: · 9 unmodified lines | ||
| 650 | 672 | lower than the set value. See device datasheet for details. |
| 651 | 673 | |
| 652 | 674 | Valid values: |
| 675 | + | |
| 653 | 676 | - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, |
| 654 | 677 | 4760000 (all uV) |
| 655 | 678 | |
| @@ -664,6 +687,7 @@ Description: · 8 unmodified lines | ||
| 664 | 687 | the charger operates normally. See device datasheet for details. |
| 665 | 688 | |
| 666 | 689 | Valid values: |
| 690 | + | |
| 667 | 691 | - 1: enabled |
| 668 | 692 | - 0: disabled |
| 669 | 693 | |
| @@ -679,6 +703,7 @@ Description: · 9 unmodified lines | ||
| 679 | 703 | from the system. See device datasheet for details. |
| 680 | 704 | |
| 681 | 705 | Valid values: |
| 706 | + | |
| 682 | 707 | - 1: enabled |
| 683 | 708 | - 0: disabled |
| 684 | 709 | |
| @@ -690,6 +715,7 @@ Description: · 5 unmodified lines | ||
| 690 | 715 | manufactured. |
| 691 | 716 | |
| 692 | 717 | Access: Read |
| 718 | + | |
| 693 | 719 | Valid values: Reported as integer |
| 694 | 720 | |
| 695 | 721 | What: /sys/class/power_supply/<supply_name>/manufacture_month |
| @@ -699,6 +725,7 @@ Description: · 3 unmodified lines | ||
| 699 | 725 | Reports the month when the device has been manufactured. |
| 700 | 726 | |
| 701 | 727 | Access: Read |
| 728 | + | |
| 702 | 729 | Valid values: 1-12 |
| 703 | 730 | |
| 704 | 731 | What: /sys/class/power_supply/<supply_name>/manufacture_day |
| @@ -5,4 +5,5 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | Represents a battery impedance compensation to accelerate charging. |
| 6 | 6 | |
| 7 | 7 | Access: Read, Write |
| 8 | + | |
| 8 | 9 | Valid values: Represented in milli-ohms. Valid range is [0, 140]. |
| @@ -4,18 +4,20 @@ Description: · 3 unmodified lines | ||
| 4 | 4 | Writing to this can disable charging. |
| 5 | 5 | |
| 6 | 6 | Possible values are: |
| 7 | − "auto" - draw power as appropriate for detected | |
| 8 | − power source and battery status. | |
| 9 | − "off" - do not draw any power. | |
| 10 | − "continuous" | |
| 11 | − - activate mode described as "linear" in | |
| 12 | − TWL data sheets. This uses whatever | |
| 13 | − current is available and doesn't switch off | |
| 14 | − when voltage drops. | |
| 15 | 7 | |
| 16 | − This is useful for unstable power sources | |
| 17 | − such as bicycle dynamo, but care should | |
| 18 | − be taken that battery is not over-charged. | |
| 8 | + ============= =========================================== | |
| 9 | + "auto" draw power as appropriate for detected | |
| 10 | + power source and battery status. | |
| 11 | + "off" do not draw any power. | |
| 12 | + "continuous" activate mode described as "linear" in | |
| 13 | + TWL data sheets. This uses whatever | |
| 14 | + current is available and doesn't switch off | |
| 15 | + when voltage drops. | |
| 16 | + | |
| 17 | + This is useful for unstable power sources | |
| 18 | + such as bicycle dynamo, but care should | |
| 19 | + be taken that battery is not over-charged. | |
| 20 | + ============= =========================================== | |
| 19 | 21 | |
| 20 | 22 | What: /sys/class/power_supply/twl4030_ac/mode |
| 21 | 23 | Description: |
| @@ -23,6 +25,9 @@ Description: · 1 unmodified line | ||
| 23 | 25 | Writing to this can disable charging. |
| 24 | 26 | |
| 25 | 27 | Possible values are: |
| 26 | − "auto" - draw power as appropriate for detected | |
| 27 | − power source and battery status. | |
| 28 | − "off" - do not draw any power. | |
| 28 | + | |
| 29 | + ====== =========================================== | |
| 30 | + "auto" draw power as appropriate for detected | |
| 31 | + power source and battery status. | |
| 32 | + "off" do not draw any power. | |
| 33 | + ====== =========================================== | |
| @@ -4,17 +4,23 @@ KernelVersion: 5.2 · 3 unmodified lines | ||
| 4 | 4 | Description: |
| 5 | 5 | What charging algorithm to use: |
| 6 | 6 | |
| 7 | − Standard: Fully charges battery at a standard rate. | |
| 8 | − Adaptive: Battery settings adaptively optimized based on | |
| 7 | + Standard: | |
| 8 | + Fully charges battery at a standard rate. | |
| 9 | + Adaptive: | |
| 10 | + Battery settings adaptively optimized based on | |
| 9 | 11 | typical battery usage pattern. |
| 10 | − Fast: Battery charges over a shorter period. | |
| 11 | − Trickle: Extends battery lifespan, intended for users who | |
| 12 | + Fast: | |
| 13 | + Battery charges over a shorter period. | |
| 14 | + Trickle: | |
| 15 | + Extends battery lifespan, intended for users who | |
| 12 | 16 | primarily use their Chromebook while connected to AC. |
| 13 | − Custom: A low and high threshold percentage is specified. | |
| 17 | + Custom: | |
| 18 | + A low and high threshold percentage is specified. | |
| 14 | 19 | Charging begins when level drops below |
| 15 | 20 | charge_control_start_threshold, and ceases when |
| 16 | 21 | level is above charge_control_end_threshold. |
| 17 | − Long Life: Customized charge rate for last longer battery life. | |
| 22 | + Long Life: | |
| 23 | + Customized charge rate for last longer battery life. | |
| 18 | 24 | On Wilco device this mode is pre-configured in the factory |
| 19 | 25 | through EC's private PID. Swiching to a different mode will |
| 20 | 26 | be denied by Wilco EC when Long Life mode is enabled. |
| @@ -6,6 +6,7 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | The /sys/class/rapidio_port subdirectory contains individual |
| 7 | 7 | subdirectories named as "rapidioN" where N = mport ID registered |
| 8 | 8 | with RapidIO subsystem. |
| 9 | + | |
| 9 | 10 | NOTE: An mport ID is not a RapidIO destination ID assigned to a |
| 10 | 11 | given local mport device. |
| 11 | 12 | |
| @@ -16,7 +17,9 @@ Contact: Matt Porter <mporter@kernel.crashing.org>, · 4 unmodified lines | ||
| 16 | 17 | Alexandre Bounine <alexandre.bounine@idt.com> |
| 17 | 18 | Description: |
| 18 | 19 | (RO) reports RapidIO common transport system size: |
| 20 | + | |
| 19 | 21 | 0 = small (8-bit destination ID, max. 256 devices), |
| 22 | + | |
| 20 | 23 | 1 = large (16-bit destination ID, max. 65536 devices). |
| 21 | 24 | |
| 22 | 25 | What: /sys/class/rapidio_port/rapidioN/port_destid |
| @@ -25,31 +28,32 @@ KernelVersion: v3.15 · 2 unmodified lines | ||
| 25 | 28 | Contact: Matt Porter <mporter@kernel.crashing.org>, |
| 26 | 29 | Alexandre Bounine <alexandre.bounine@idt.com> |
| 27 | 30 | Description: |
| 28 | − (RO) reports RapidIO destination ID assigned to the given | |
| 29 | − RapidIO mport device. If value 0xFFFFFFFF is returned this means | |
| 30 | − that no valid destination ID have been assigned to the mport | |
| 31 | − (yet). Normally, before enumeration/discovery have been executed | |
| 32 | − only fabric enumerating mports have a valid destination ID | |
| 33 | − assigned to them using "hdid=..." rapidio module parameter. | |
| 31 | + | |
| 32 | +(RO) reports RapidIO destination ID assigned to the given | |
| 33 | +RapidIO mport device. If value 0xFFFFFFFF is returned this means | |
| 34 | +that no valid destination ID have been assigned to the mport | |
| 35 | +(yet). Normally, before enumeration/discovery have been executed | |
| 36 | +only fabric enumerating mports have a valid destination ID | |
| 37 | +assigned to them using "hdid=..." rapidio module parameter. | |
| 34 | 38 | |
| 35 | 39 | After enumeration or discovery was performed for a given mport device, |
| 36 | 40 | the corresponding subdirectory will also contain subdirectories for each |
| 37 | 41 | child RapidIO device connected to the mport. |
| 38 | 42 | |
| 39 | 43 | The example below shows mport device subdirectory with several child RapidIO |
| 40 | −devices attached to it. | |
| 41 | − | |
| 42 | −[rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l | |
| 43 | −total 0 | |
| 44 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 | |
| 45 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004 | |
| 46 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007 | |
| 47 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002 | |
| 48 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003 | |
| 49 | −drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005 | |
| 50 | −lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0 | |
| 51 | −-r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid | |
| 52 | −drwxr-xr-x 2 root root 0 Feb 11 15:11 power | |
| 53 | −lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port | |
| 54 | −-r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size | |
| 55 | −-rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent | |
| 44 | +devices attached to it:: | |
| 45 | + | |
| 46 | + [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l | |
| 47 | + total 0 | |
| 48 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 | |
| 49 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004 | |
| 50 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007 | |
| 51 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002 | |
| 52 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003 | |
| 53 | + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005 | |
| 54 | + lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0 | |
| 55 | + -r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid | |
| 56 | + drwxr-xr-x 2 root root 0 Feb 11 15:11 power | |
| 57 | + lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port | |
| 58 | + -r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size | |
| 59 | + -rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent | |
| @@ -21,15 +21,22 @@ KernelVersion: 2.6.36 · 20 unmodified lines | ||
| 21 | 21 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 22 | 22 | Description: |
| 23 | 23 | Reading this file returns a list of available protocols, |
| 24 | − something like: | |
| 24 | + something like:: | |
| 25 | + | |
| 25 | 26 | "rc5 [rc6] nec jvc [sony]" |
| 27 | + | |
| 26 | 28 | Enabled protocols are shown in [] brackets. |
| 29 | + | |
| 27 | 30 | Writing "+proto" will add a protocol to the list of enabled |
| 28 | 31 | protocols. |
| 32 | + | |
| 29 | 33 | Writing "-proto" will remove a protocol from the list of enabled |
| 30 | 34 | protocols. |
| 35 | + | |
| 31 | 36 | Writing "proto" will enable only "proto". |
| 37 | + | |
| 32 | 38 | Writing "none" will disable all protocols. |
| 39 | + | |
| 33 | 40 | Write fails with EINVAL if an invalid protocol combination or |
| 34 | 41 | unknown protocol name is used. |
| 35 | 42 | |
| @@ -39,11 +46,13 @@ KernelVersion: 3.15 · 3 unmodified lines | ||
| 39 | 46 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 40 | 47 | Description: |
| 41 | 48 | Sets the scancode filter expected value. |
| 49 | + | |
| 42 | 50 | Use in combination with /sys/class/rc/rcN/filter_mask to set the |
| 43 | 51 | expected value of the bits set in the filter mask. |
| 44 | 52 | If the hardware supports it then scancodes which do not match |
| 45 | 53 | the filter will be ignored. Otherwise the write will fail with |
| 46 | 54 | an error. |
| 55 | + | |
| 47 | 56 | This value may be reset to 0 if the current protocol is altered. |
| 48 | 57 | |
| 49 | 58 | What: /sys/class/rc/rcN/filter_mask |
| @@ -56,9 +65,11 @@ Description: · 6 unmodified lines | ||
| 56 | 65 | of the scancode which should be compared against the expected |
| 57 | 66 | value. A value of 0 disables the filter to allow all valid |
| 58 | 67 | scancodes to be processed. |
| 68 | + | |
| 59 | 69 | If the hardware supports it then scancodes which do not match |
| 60 | 70 | the filter will be ignored. Otherwise the write will fail with |
| 61 | 71 | an error. |
| 72 | + | |
| 62 | 73 | This value may be reset to 0 if the current protocol is altered. |
| 63 | 74 | |
| 64 | 75 | What: /sys/class/rc/rcN/wakeup_protocols |
| @@ -67,15 +78,22 @@ KernelVersion: 4.11 · 2 unmodified lines | ||
| 67 | 78 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 68 | 79 | Description: |
| 69 | 80 | Reading this file returns a list of available protocols to use |
| 70 | − for the wakeup filter, something like: | |
| 81 | + for the wakeup filter, something like:: | |
| 82 | + | |
| 71 | 83 | "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce" |
| 84 | + | |
| 72 | 85 | Note that protocol variants are listed, so "nec", "sony", |
| 73 | 86 | "rc-5", "rc-6" have their different bit length encodings |
| 74 | 87 | listed if available. |
| 88 | + | |
| 75 | 89 | The enabled wakeup protocol is shown in [] brackets. |
| 90 | + | |
| 76 | 91 | Only one protocol can be selected at a time. |
| 92 | + | |
| 77 | 93 | Writing "proto" will use "proto" for wakeup events. |
| 94 | + | |
| 78 | 95 | Writing "none" will disable wakeup. |
| 96 | + | |
| 79 | 97 | Write fails with EINVAL if an invalid protocol combination or |
| 80 | 98 | unknown protocol name is used, or if wakeup is not supported by |
| 81 | 99 | the hardware. |
| @@ -86,13 +104,17 @@ KernelVersion: 3.15 · 4 unmodified lines | ||
| 86 | 104 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 87 | 105 | Description: |
| 88 | 106 | Sets the scancode wakeup filter expected value. |
| 107 | + | |
| 89 | 108 | Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to |
| 90 | 109 | set the expected value of the bits set in the wakeup filter mask |
| 91 | 110 | to trigger a system wake event. |
| 111 | + | |
| 92 | 112 | If the hardware supports it and wakeup_filter_mask is not 0 then |
| 93 | 113 | scancodes which match the filter will wake the system from e.g. |
| 94 | 114 | suspend to RAM or power off. |
| 115 | + | |
| 95 | 116 | Otherwise the write will fail with an error. |
| 117 | + | |
| 96 | 118 | This value may be reset to 0 if the wakeup protocol is altered. |
| 97 | 119 | |
| 98 | 120 | What: /sys/class/rc/rcN/wakeup_filter_mask |
| @@ -101,11 +123,15 @@ KernelVersion: 3.15 · 2 unmodified lines | ||
| 101 | 123 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 102 | 124 | Description: |
| 103 | 125 | Sets the scancode wakeup filter mask of bits to compare. |
| 126 | + | |
| 104 | 127 | Use in combination with /sys/class/rc/rcN/wakeup_filter to set |
| 105 | 128 | the bits of the scancode which should be compared against the |
| 106 | 129 | expected value to trigger a system wake event. |
| 130 | + | |
| 107 | 131 | If the hardware supports it and wakeup_filter_mask is not 0 then |
| 108 | 132 | scancodes which match the filter will wake the system from e.g. |
| 109 | 133 | suspend to RAM or power off. |
| 134 | + | |
| 110 | 135 | Otherwise the write will fail with an error. |
| 136 | + | |
| 111 | 137 | This value may be reset to 0 if the wakeup protocol is altered. |
| @@ -35,13 +35,13 @@ Description: · 34 unmodified lines | ||
| 35 | 35 | |
| 36 | 36 | This will be one of the following strings: |
| 37 | 37 | |
| 38 | − off | |
| 39 | − on | |
| 40 | − error | |
| 41 | − fast | |
| 42 | − normal | |
| 43 | − idle | |
| 44 | − standby | |
| 38 | + - off | |
| 39 | + - on | |
| 40 | + - error | |
| 41 | + - fast | |
| 42 | + - normal | |
| 43 | + - idle | |
| 44 | + - standby | |
| 45 | 45 | |
| 46 | 46 | "off" means the regulator is not supplying power to the |
| 47 | 47 | system. |
| @@ -74,9 +74,9 @@ Description: · 26 unmodified lines | ||
| 74 | 74 | |
| 75 | 75 | This will be one of the following strings: |
| 76 | 76 | |
| 77 | − 'voltage' | |
| 78 | − 'current' | |
| 79 | − 'unknown' | |
| 77 | + - 'voltage' | |
| 78 | + - 'current' | |
| 79 | + - 'unknown' | |
| 80 | 80 | |
| 81 | 81 | 'voltage' means the regulator output voltage can be controlled |
| 82 | 82 | by software. |
| @@ -129,11 +129,11 @@ Description: · 46 unmodified lines | ||
| 129 | 129 | |
| 130 | 130 | The opmode value can be one of the following strings: |
| 131 | 131 | |
| 132 | − 'fast' | |
| 133 | − 'normal' | |
| 134 | − 'idle' | |
| 135 | − 'standby' | |
| 136 | − 'unknown' | |
| 132 | + - 'fast' | |
| 133 | + - 'normal' | |
| 134 | + - 'idle' | |
| 135 | + - 'standby' | |
| 136 | + - 'unknown' | |
| 137 | 137 | |
| 138 | 138 | The modes are described in include/linux/regulator/consumer.h |
| 139 | 139 | |
| @@ -360,9 +360,9 @@ Description: · 220 unmodified lines | ||
| 360 | 360 | |
| 361 | 361 | This will be one of the following strings: |
| 362 | 362 | |
| 363 | − 'enabled' | |
| 364 | − 'disabled' | |
| 365 | − 'unknown' | |
| 363 | + - 'enabled' | |
| 364 | + - 'disabled' | |
| 365 | + - 'unknown' | |
| 366 | 366 | |
| 367 | 367 | 'enabled' means the regulator is in bypass mode. |
| 368 | 368 | |
| @@ -16,11 +16,11 @@ Description: Remote processor state · 15 unmodified lines | ||
| 16 | 16 | |
| 17 | 17 | Reports the state of the remote processor, which will be one of: |
| 18 | 18 | |
| 19 | − "offline" | |
| 20 | − "suspended" | |
| 21 | − "running" | |
| 22 | − "crashed" | |
| 23 | − "invalid" | |
| 19 | + - "offline" | |
| 20 | + - "suspended" | |
| 21 | + - "running" | |
| 22 | + - "crashed" | |
| 23 | + - "invalid" | |
| 24 | 24 | |
| 25 | 25 | "offline" means the remote processor is powered off. |
| 26 | 26 | |
| @@ -38,8 +38,8 @@ Description: Remote processor state · 11 unmodified lines | ||
| 38 | 38 | Writing this file controls the state of the remote processor. |
| 39 | 39 | The following states can be written: |
| 40 | 40 | |
| 41 | − "start" | |
| 42 | − "stop" | |
| 41 | + - "start" | |
| 42 | + - "stop" | |
| 43 | 43 | |
| 44 | 44 | Writing "start" will attempt to start the processor running the |
| 45 | 45 | firmware indicated by, or written to, |
| @@ -58,3 +58,47 @@ Description: Remote processor name · 12 unmodified lines | ||
| 58 | 58 | Reports the name of the remote processor. This can be used by |
| 59 | 59 | userspace in exactly identifying a remote processor and ease |
| 60 | 60 | up the usage in modifying the 'firmware' or 'state' files. |
| 61 | + | |
| 62 | +What: /sys/class/remoteproc/.../coredump | |
| 63 | +Date: July 2020 | |
| 64 | +Contact: Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com> | |
| 65 | +Description: Remote processor coredump configuration | |
| 66 | + | |
| 67 | + Reports the coredump configuration of the remote processor, | |
| 68 | + which will be one of: | |
| 69 | + | |
| 70 | + "disabled" | |
| 71 | + "enabled" | |
| 72 | + "inline" | |
| 73 | + | |
| 74 | + "disabled" means no dump will be collected. | |
| 75 | + | |
| 76 | + "enabled" means when the remote processor's coredump is | |
| 77 | + collected it will be copied to a separate buffer and that | |
| 78 | + buffer is exposed to userspace. | |
| 79 | + | |
| 80 | + "inline" means when the remote processor's coredump is | |
| 81 | + collected userspace will directly read from the remote | |
| 82 | + processor's device memory. Extra buffer will not be used to | |
| 83 | + copy the dump. Also recovery process will not proceed until | |
| 84 | + all data is read by usersapce. | |
| 85 | + | |
| 86 | +What: /sys/class/remoteproc/.../recovery | |
| 87 | +Date: July 2020 | |
| 88 | +Contact: Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com> | |
| 89 | +Description: Remote processor recovery mechanism | |
| 90 | + | |
| 91 | + Reports the recovery mechanism of the remote processor, | |
| 92 | + which will be one of: | |
| 93 | + | |
| 94 | + "enabled" | |
| 95 | + "disabled" | |
| 96 | + | |
| 97 | + "enabled" means, the remote processor will be automatically | |
| 98 | + recovered whenever it crashes. Moreover, if the remote | |
| 99 | + processor crashes while recovery is disabled, it will | |
| 100 | + be automatically recovered too as soon as recovery is enabled. | |
| 101 | + | |
| 102 | + "disabled" means, a remote processor will remain in a crashed | |
| 103 | + state if it crashes. This is useful for debugging purposes; | |
| 104 | + without it, debugging a crash is substantially harder. | |
| @@ -5,62 +5,70 @@ Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud · 4 unmodified lines | ||
| 5 | 5 | Description: Provide information about RNBD-client. |
| 6 | 6 | All sysfs files that are not read-only provide the usage information on read: |
| 7 | 7 | |
| 8 | − Example: | |
| 9 | − # cat /sys/class/rnbd-client/ctl/map_device | |
| 8 | + Example:: | |
| 10 | 9 | |
| 11 | − > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> | |
| 12 | − > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> | |
| 13 | − > [access_mode=<ro|rw|migration>] > map_device | |
| 14 | − > | |
| 15 | − > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] | |
| 10 | + # cat /sys/class/rnbd-client/ctl/map_device | |
| 11 | + | |
| 12 | + > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> | |
| 13 | + > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> | |
| 14 | + > [access_mode=<ro|rw|migration>] > map_device | |
| 15 | + > | |
| 16 | + > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] | |
| 16 | 17 | |
| 17 | 18 | What: /sys/class/rnbd-client/ctl/map_device |
| 18 | 19 | Date: Feb 2020 |
| 19 | 20 | KernelVersion: 5.7 |
| 20 | 21 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> |
| 21 | −Description: Expected format is the following: | |
| 22 | +Description: Expected format is the following:: | |
| 22 | 23 | |
| 23 | − sessname=<name of the rtrs session> | |
| 24 | − path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] | |
| 25 | − device_path=<full path on remote side> | |
| 26 | − [access_mode=<ro|rw|migration>] | |
| 24 | + sessname=<name of the rtrs session> | |
| 25 | + path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] | |
| 26 | + device_path=<full path on remote side> | |
| 27 | + [access_mode=<ro|rw|migration>] | |
| 27 | 28 | |
| 28 | 29 | Where: |
| 29 | 30 | |
| 30 | − sessname: accepts a string not bigger than 256 chars, which identifies | |
| 31 | − a given session on the client and on the server. | |
| 32 | − I.e. "clt_hostname-srv_hostname" could be a natural choice. | |
| 31 | + sessname: | |
| 32 | + accepts a string not bigger than 256 chars, which identifies | |
| 33 | + a given session on the client and on the server. | |
| 34 | + I.e. "clt_hostname-srv_hostname" could be a natural choice. | |
| 35 | + | |
| 36 | + path: | |
| 37 | + describes a connection between the client and the server by | |
| 38 | + specifying destination and, when required, the source address. | |
| 39 | + The addresses are to be provided in the following format:: | |
| 33 | 40 | |
| 34 | − path: describes a connection between the client and the server by | |
| 35 | − specifying destination and, when required, the source address. | |
| 36 | − The addresses are to be provided in the following format: | |
| 41 | + ip:<IPv6> | |
| 42 | + ip:<IPv4> | |
| 43 | + gid:<GID> | |
| 37 | 44 | |
| 38 | − ip:<IPv6> | |
| 39 | − ip:<IPv4> | |
| 40 | − gid:<GID> | |
| 45 | + for example:: | |
| 41 | 46 | |
| 42 | − for example: | |
| 47 | + path=ip:10.0.0.66 | |
| 43 | 48 | |
| 44 | − path=ip:10.0.0.66 | |
| 45 | 49 | The single addr is treated as the destination. |
| 46 | 50 | The connection will be established to this server from any client IP address. |
| 47 | 51 | |
| 48 | − path=ip:10.0.0.66,ip:10.0.1.66 | |
| 52 | + :: | |
| 53 | + | |
| 54 | + path=ip:10.0.0.66,ip:10.0.1.66 | |
| 55 | + | |
| 49 | 56 | First addr is the source address and the second is the destination. |
| 50 | 57 | |
| 51 | 58 | If multiple "path=" options are specified multiple connection |
| 52 | 59 | will be established and data will be sent according to |
| 53 | 60 | the selected multipath policy (see RTRS mp_policy sysfs entry description). |
| 54 | 61 | |
| 55 | − device_path: Path to the block device on the server side. Path is specified | |
| 56 | − relative to the directory on server side configured in the | |
| 57 | − 'dev_search_path' module parameter of the rnbd_server. | |
| 58 | − The rnbd_server prepends the <device_path> received from client | |
| 59 | − with <dev_search_path> and tries to open the | |
| 60 | − <dev_search_path>/<device_path> block device. On success, | |
| 61 | − a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ | |
| 62 | − directory and an entry in /sys/class/rnbd-client/ctl/devices | |
| 63 | − will be created. | |
| 62 | + device_path: | |
| 63 | + Path to the block device on the server side. Path is specified | |
| 64 | + relative to the directory on server side configured in the | |
| 65 | + 'dev_search_path' module parameter of the rnbd_server. | |
| 66 | + The rnbd_server prepends the <device_path> received from client | |
| 67 | + with <dev_search_path> and tries to open the | |
| 68 | + <dev_search_path>/<device_path> block device. On success, | |
| 69 | + a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ | |
| 70 | + directory and an entry in /sys/class/rnbd-client/ctl/devices | |
| 71 | + will be created. | |
| 64 | 72 | |
| 65 | 73 | If 'dev_search_path' contains '%SESSNAME%', then each session can |
| 66 | 74 | have different devices namespace, e.g. server was configured with |
| @@ -68,11 +76,12 @@ Description: Expected format is the following: · 1 unmodified line | ||
| 68 | 76 | client has this string "sessname=blya device_path=sda", then server |
| 69 | 77 | will try to open: /run/rnbd-devs/blya/sda. |
| 70 | 78 | |
| 71 | − access_mode: the access_mode parameter specifies if the device is to be | |
| 72 | − mapped as "ro" read-only or "rw" read-write. The server allows | |
| 73 | − a device to be exported in rw mode only once. The "migration" | |
| 74 | − access mode has to be specified if a second mapping in read-write | |
| 75 | − mode is desired. | |
| 79 | + access_mode: | |
| 80 | + the access_mode parameter specifies if the device is to be | |
| 81 | + mapped as "ro" read-only or "rw" read-write. The server allows | |
| 82 | + a device to be exported in rw mode only once. The "migration" | |
| 83 | + access mode has to be specified if a second mapping in read-write | |
| 84 | + mode is desired. | |
| 76 | 85 | |
| 77 | 86 | By default "rw" is used. |
| 78 | 87 | |
| @@ -91,7 +100,7 @@ Description: Expected format is the following: · 12 unmodified lines | ||
| 91 | 100 | is the same as the device name. By extracting the last part of the |
| 92 | 101 | path the path to the device /dev/<dev-name> can be build. |
| 93 | 102 | |
| 94 | − o /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev) | |
| 103 | + * /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev) | |
| 95 | 104 | |
| 96 | 105 | How to find the <device_id> of the device is described on the next |
| 97 | 106 | section. |
| @@ -106,6 +115,6 @@ Description: For each device mapped on the client a new symbolic link is created · 8 unmodified lines | ||
| 106 | 115 | The <device_id> of each device is created as follows: |
| 107 | 116 | |
| 108 | 117 | - If the 'device_path' provided during mapping contains slashes ("/"), |
| 109 | − they are replaced by exclamation mark ("!") and used as as the | |
| 110 | − <device_id>. Otherwise, the <device_id> will be the same as the | |
| 111 | − "device_path" provided. | |
| 118 | + they are replaced by exclamation mark ("!") and used as as the | |
| 119 | + <device_id>. Otherwise, the <device_id> will be the same as the | |
| 120 | + "device_path" provided. | |
| @@ -7,6 +7,7 @@ Description: Attribute for calibrating ST-Ericsson AB8500 Real Time Clock · 6 unmodified lines | ||
| 7 | 7 | calibrate the AB8500.s 32KHz Real Time Clock. |
| 8 | 8 | Every 60 seconds the AB8500 will correct the RTC's value |
| 9 | 9 | by adding to it the value of this attribute. |
| 10 | + | |
| 10 | 11 | The range of the attribute is -127 to +127 in units of |
| 11 | 12 | 30.5 micro-seconds (half-parts-per-million of the 32KHz clock) |
| 12 | 13 | Users: The /vendor/st-ericsson/base_utilities/core/rtc_calibration |
| @@ -10,10 +10,10 @@ Date: Feb 2020 · 9 unmodified lines | ||
| 10 | 10 | KernelVersion: 5.7 |
| 11 | 11 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> |
| 12 | 12 | Description: RW, adds a new path (connection) to an existing session. Expected format is the |
| 13 | − following: | |
| 13 | + following:: | |
| 14 | 14 | |
| 15 | − <[source addr,]destination addr> | |
| 16 | − *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] | |
| 15 | + <[source addr,]destination addr> | |
| 16 | + *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] | |
| 17 | 17 | |
| 18 | 18 | What: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts |
| 19 | 19 | Date: Feb 2020 |
| @@ -29,10 +29,10 @@ Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud · 9 unmodified lines | ||
| 29 | 29 | Description: Multipath policy specifies which path should be selected on each IO: |
| 30 | 30 | |
| 31 | 31 | round-robin (0): |
| 32 | − select path in per CPU round-robin manner. | |
| 32 | + select path in per CPU round-robin manner. | |
| 33 | 33 | |
| 34 | 34 | min-inflight (1): |
| 35 | − select path with minimum inflights. | |
| 35 | + select path with minimum inflights. | |
| 36 | 36 | |
| 37 | 37 | What: /sys/class/rtrs-client/<session-name>/paths/ |
| 38 | 38 | Date: Feb 2020 |
| @@ -109,8 +109,11 @@ Description: RTRS expects that each HCA IRQ is pinned to a separate CPU. If it's · 70 unmodified lines | ||
| 109 | 109 | not the case, the processing of an I/O response could be processed on a |
| 110 | 110 | different CPU than where it was originally submitted. This file shows |
| 111 | 111 | how many interrupts where generated on a non expected CPU. |
| 112 | − "from:" is the CPU on which the IRQ was expected, but not generated. | |
| 113 | − "to:" is the CPU on which the IRQ was generated, but not expected. | |
| 112 | + | |
| 113 | + "from:" | |
| 114 | + is the CPU on which the IRQ was expected, but not generated. | |
| 115 | + "to:" | |
| 116 | + is the CPU on which the IRQ was generated, but not expected. | |
| 114 | 117 | |
| 115 | 118 | What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects |
| 116 | 119 | Date: Feb 2020 |
| @@ -125,7 +128,7 @@ Date: Feb 2020 · 8 unmodified lines | ||
| 125 | 128 | KernelVersion: 5.7 |
| 126 | 129 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> |
| 127 | 130 | Description: Contains statistics regarding rdma operations and inflight operations. |
| 128 | − The output consists of 6 values: | |
| 131 | + The output consists of 6 values:: | |
| 129 | 132 | |
| 130 | − <read-count> <read-total-size> <write-count> <write-total-size> \ | |
| 131 | − <inflights> <failovered> | |
| 133 | + <read-count> <read-total-size> <write-count> \ | |
| 134 | + <write-total-size> <inflights> <failovered> | |
| @@ -56,8 +56,9 @@ Description: · 55 unmodified lines | ||
| 56 | 56 | management) on top, which makes it match the Windows IRST (Intel |
| 57 | 57 | Rapid Storage Technology) driver settings. This setting is also |
| 58 | 58 | close to min_power, except that: |
| 59 | + | |
| 59 | 60 | a) It does not use host-initiated slumber mode, but it does |
| 60 | − allow device-initiated slumber | |
| 61 | + allow device-initiated slumber | |
| 61 | 62 | b) It does not enable low power device sleep mode (DevSlp). |
| 62 | 63 | |
| 63 | 64 | What: /sys/class/scsi_host/hostX/em_message |
| @@ -70,8 +71,8 @@ Description: · 6 unmodified lines | ||
| 70 | 71 | protocol, writes and reads correspond to the LED message format |
| 71 | 72 | as defined in the AHCI spec. |
| 72 | 73 | |
| 73 | − The user must turn sw_activity (under /sys/block/*/device/) OFF | |
| 74 | − it they wish to control the activity LED via the em_message | |
| 74 | + The user must turn sw_activity (under `/sys/block/*/device/`) | |
| 75 | + OFF it they wish to control the activity LED via the em_message | |
| 75 | 76 | file. |
| 76 | 77 | |
| 77 | 78 | em_message_type: (RO) Displays the current enclosure management |
| @@ -40,10 +40,13 @@ Description: · 39 unmodified lines | ||
| 40 | 40 | attribute will not return until the operation has finished. |
| 41 | 41 | |
| 42 | 42 | Valid values: |
| 43 | − - source (The port will behave as source only DFP port) | |
| 44 | − - sink (The port will behave as sink only UFP port) | |
| 45 | − - dual (The port will behave as dual-role-data and | |
| 43 | + | |
| 44 | + ====== ============================================== | |
| 45 | + source (The port will behave as source only DFP port) | |
| 46 | + sink (The port will behave as sink only UFP port) | |
| 47 | + dual (The port will behave as dual-role-data and | |
| 46 | 48 | dual-role-power port) |
| 49 | + ====== ============================================== | |
| 47 | 50 | |
| 48 | 51 | What: /sys/class/typec/<port>/vconn_source |
| 49 | 52 | Date: April 2017 |
| @@ -59,6 +62,7 @@ Description: · 9 unmodified lines | ||
| 59 | 62 | generates uevent KOBJ_CHANGE. |
| 60 | 63 | |
| 61 | 64 | Valid values: |
| 65 | + | |
| 62 | 66 | - "no" when the port is not the VCONN Source |
| 63 | 67 | - "yes" when the port is the VCONN Source |
| 64 | 68 | |
| @@ -72,6 +76,7 @@ Description: · 7 unmodified lines | ||
| 72 | 76 | power operation mode should show "usb_power_delivery". |
| 73 | 77 | |
| 74 | 78 | Valid values: |
| 79 | + | |
| 75 | 80 | - default |
| 76 | 81 | - 1.5A |
| 77 | 82 | - 3.0A |
| @@ -191,6 +196,7 @@ Date: April 2017 · 113 unmodified lines | ||
| 191 | 196 | Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> |
| 192 | 197 | Description: |
| 193 | 198 | Shows type of the plug on the cable: |
| 199 | + | |
| 194 | 200 | - type-a - Standard A |
| 195 | 201 | - type-b - Standard B |
| 196 | 202 | - type-c |
| @@ -66,11 +66,14 @@ Description: · 65 unmodified lines | ||
| 66 | 66 | <channel> <type> [<bpst offset>] |
| 67 | 67 | |
| 68 | 68 | to start (or stop) scanning on a channel. <type> is one of: |
| 69 | − 0 - scan | |
| 70 | − 1 - scan outside BP | |
| 71 | − 2 - scan while inactive | |
| 72 | − 3 - scanning disabled | |
| 73 | − 4 - scan (with start time of <bpst offset>) | |
| 69 | + | |
| 70 | + == ======================================= | |
| 71 | + 0 scan | |
| 72 | + 1 scan outside BP | |
| 73 | + 2 scan while inactive | |
| 74 | + 3 scanning disabled | |
| 75 | + 4 scan (with start time of <bpst offset>) | |
| 76 | + == ======================================= | |
| 74 | 77 | |
| 75 | 78 | What: /sys/class/uwb_rc/uwbN/mac_address |
| 76 | 79 | Date: July 2008 |
| @@ -91,10 +91,13 @@ Description: · 90 unmodified lines | ||
| 91 | 91 | h/w strapping (for WDT2 only). |
| 92 | 92 | |
| 93 | 93 | At alternate flash the 'access_cs0' sysfs node provides: |
| 94 | − ast2400: a way to get access to the primary SPI flash | |
| 94 | + | |
| 95 | + ast2400: | |
| 96 | + a way to get access to the primary SPI flash | |
| 95 | 97 | chip at CS0 after booting from the alternate |
| 96 | 98 | chip at CS1. |
| 97 | − ast2500: a way to restore the normal address mapping | |
| 99 | + ast2500: | |
| 100 | + a way to restore the normal address mapping | |
| 98 | 101 | from (CS0->CS1, CS1->CS0) to (CS0->CS0, |
| 99 | 102 | CS1->CS1). |
| 100 | 103 | |
| @@ -9,9 +9,10 @@ Description: The /sys/dev tree provides a method to look up the sysfs · 8 unmodified lines | ||
| 9 | 9 | the form "<major>:<minor>". These links point to the |
| 10 | 10 | corresponding sysfs path for the given device. |
| 11 | 11 | |
| 12 | − Example: | |
| 13 | − $ readlink /sys/dev/block/8:32 | |
| 14 | − ../../block/sdc | |
| 12 | + Example:: | |
| 13 | + | |
| 14 | + $ readlink /sys/dev/block/8:32 | |
| 15 | + ../../block/sdc | |
| 15 | 16 | |
| 16 | 17 | Entries in /sys/dev/char and /sys/dev/block will be |
| 17 | 18 | dynamically created and destroyed as devices enter and |
| @@ -8,26 +8,27 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | block. |
| 9 | 9 | For example, on 4-die Xeon platform with up to 6 IIO stacks per |
| 10 | 10 | die and, therefore, 6 IIO PMON blocks per die, the mapping of |
| 11 | − IIO PMON block 0 exposes as the following: | |
| 11 | + IIO PMON block 0 exposes as the following:: | |
| 12 | 12 | |
| 13 | − $ ls /sys/devices/uncore_iio_0/die* | |
| 14 | − -r--r--r-- /sys/devices/uncore_iio_0/die0 | |
| 15 | − -r--r--r-- /sys/devices/uncore_iio_0/die1 | |
| 16 | − -r--r--r-- /sys/devices/uncore_iio_0/die2 | |
| 17 | − -r--r--r-- /sys/devices/uncore_iio_0/die3 | |
| 13 | + $ ls /sys/devices/uncore_iio_0/die* | |
| 14 | + -r--r--r-- /sys/devices/uncore_iio_0/die0 | |
| 15 | + -r--r--r-- /sys/devices/uncore_iio_0/die1 | |
| 16 | + -r--r--r-- /sys/devices/uncore_iio_0/die2 | |
| 17 | + -r--r--r-- /sys/devices/uncore_iio_0/die3 | |
| 18 | 18 | |
| 19 | − $ tail /sys/devices/uncore_iio_0/die* | |
| 20 | − ==> /sys/devices/uncore_iio_0/die0 <== | |
| 21 | − 0000:00 | |
| 22 | − ==> /sys/devices/uncore_iio_0/die1 <== | |
| 23 | − 0000:40 | |
| 24 | − ==> /sys/devices/uncore_iio_0/die2 <== | |
| 25 | − 0000:80 | |
| 26 | − ==> /sys/devices/uncore_iio_0/die3 <== | |
| 27 | − 0000:c0 | |
| 19 | + $ tail /sys/devices/uncore_iio_0/die* | |
| 20 | + ==> /sys/devices/uncore_iio_0/die0 <== | |
| 21 | + 0000:00 | |
| 22 | + ==> /sys/devices/uncore_iio_0/die1 <== | |
| 23 | + 0000:40 | |
| 24 | + ==> /sys/devices/uncore_iio_0/die2 <== | |
| 25 | + 0000:80 | |
| 26 | + ==> /sys/devices/uncore_iio_0/die3 <== | |
| 27 | + 0000:c0 | |
| 28 | 28 | |
| 29 | − Which means: | |
| 30 | − IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 | |
| 31 | − IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 | |
| 32 | − IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 | |
| 33 | − IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000 | |
| 29 | + Which means:: | |
| 30 | + | |
| 31 | + IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 | |
| 32 | + IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 | |
| 33 | + IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 | |
| 34 | + IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000 | |
| @@ -47,16 +47,19 @@ Description: · 46 unmodified lines | ||
| 47 | 47 | online/offline state of the memory section. When written, |
| 48 | 48 | root can toggle the the online/offline state of a removable |
| 49 | 49 | memory section (see removable file description above) |
| 50 | − using the following commands. | |
| 51 | − # echo online > /sys/devices/system/memory/memoryX/state | |
| 52 | − # echo offline > /sys/devices/system/memory/memoryX/state | |
| 50 | + using the following commands:: | |
| 51 | + | |
| 52 | + # echo online > /sys/devices/system/memory/memoryX/state | |
| 53 | + # echo offline > /sys/devices/system/memory/memoryX/state | |
| 53 | 54 | |
| 54 | 55 | For example, if /sys/devices/system/memory/memory22/removable |
| 55 | 56 | contains a value of 1 and |
| 56 | 57 | /sys/devices/system/memory/memory22/state contains the |
| 57 | 58 | string "online" the following command can be executed by |
| 58 | − by root to offline that section. | |
| 59 | − # echo offline > /sys/devices/system/memory/memory22/state | |
| 59 | + by root to offline that section:: | |
| 60 | + | |
| 61 | + # echo offline > /sys/devices/system/memory/memory22/state | |
| 62 | + | |
| 60 | 63 | Users: hotplug memory remove tools |
| 61 | 64 | http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils |
| 62 | 65 | |
| @@ -78,6 +81,7 @@ Description: · 15 unmodified lines | ||
| 78 | 81 | |
| 79 | 82 | For example, the following symbolic link is created for |
| 80 | 83 | memory section 9 on node0: |
| 84 | + | |
| 81 | 85 | /sys/devices/system/memory/memory9/node0 -> ../../node/node0 |
| 82 | 86 | |
| 83 | 87 | |
| @@ -90,4 +94,5 @@ Description: · 6 unmodified lines | ||
| 90 | 94 | points to the corresponding /sys/devices/system/memory/memoryY |
| 91 | 95 | memory section directory. For example, the following symbolic |
| 92 | 96 | link is created for memory section 9 on node0. |
| 97 | + | |
| 93 | 98 | /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 |
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | (RO) Hexadecimal bitmask of the TAD attributes are reported by |
| 8 | 8 | the platform firmware (see ACPI 6.2, section 9.18.2): |
| 9 | 9 | |
| 10 | + ======= ====================================================== | |
| 10 | 11 | BIT(0): AC wakeup implemented if set |
| 11 | 12 | BIT(1): DC wakeup implemented if set |
| 12 | 13 | BIT(2): Get/set real time features implemented if set |
| @@ -16,6 +17,7 @@ Description: · 3 unmodified lines | ||
| 16 | 17 | BIT(6): The AC timer wakes up from S5 if set |
| 17 | 18 | BIT(7): The DC timer wakes up from S4 if set |
| 18 | 19 | BIT(8): The DC timer wakes up from S5 if set |
| 20 | + ======= ====================================================== | |
| 19 | 21 | |
| 20 | 22 | The other bits are reserved. |
| 21 | 23 | |
| @@ -62,9 +64,11 @@ Description: · 40 unmodified lines | ||
| 62 | 64 | timer status with the following meaning of bits (see ACPI 6.2, |
| 63 | 65 | Section 9.18.5): |
| 64 | 66 | |
| 67 | + ======= ====================================================== | |
| 65 | 68 | Bit(0): The timer has expired if set. |
| 66 | 69 | Bit(1): The timer has woken up the system from a sleep state |
| 67 | 70 | (S3 or S4/S5 if supported) if set. |
| 71 | + ======= ====================================================== | |
| 68 | 72 | |
| 69 | 73 | The other bits are reserved. |
| 70 | 74 | |
| @@ -3,8 +3,9 @@ Date: April 2010 · 2 unmodified lines | ||
| 3 | 3 | Contact: Fabien Chouteau <fabien.chouteau@barco.com> |
| 4 | 4 | Description: |
| 5 | 5 | Show the suspend state of an USB composite gadget. |
| 6 | − 1 -> suspended | |
| 7 | − 0 -> resumed | |
| 6 | + | |
| 7 | + - 1 -> suspended | |
| 8 | + - 0 -> resumed | |
| 8 | 9 | |
| 9 | 10 | (_UDC_ is the name of the USB Device Controller driver) |
| 10 | 11 | |
| @@ -17,5 +18,6 @@ Description: · 6 unmodified lines | ||
| 17 | 18 | Storage mode. |
| 18 | 19 | |
| 19 | 20 | Possible values are: |
| 20 | − 1 -> ignore the FUA flag | |
| 21 | − 0 -> obey the FUA flag | |
| 21 | + | |
| 22 | + - 1 -> ignore the FUA flag | |
| 23 | + - 0 -> obey the FUA flag | |
| @@ -9,8 +9,10 @@ Description: · 8 unmodified lines | ||
| 9 | 9 | The protection has information embedded whether it blocks reads, |
| 10 | 10 | writes or both. |
| 11 | 11 | The result is: |
| 12 | − 0 -> the DPS is not keylocked | |
| 13 | − 1 -> the DPS is keylocked | |
| 12 | + | |
| 13 | + - 0 -> the DPS is not keylocked | |
| 14 | + - 1 -> the DPS is keylocked | |
| 15 | + | |
| 14 | 16 | Users: None identified so far. |
| 15 | 17 | |
| 16 | 18 | What: /sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key |
| @@ -27,8 +29,12 @@ Description: · 10 unmodified lines | ||
| 27 | 29 | Entering the correct value toggle the lock, and can be observed |
| 28 | 30 | through f[0-3]_dps[01]_is_keylocked. |
| 29 | 31 | Possible values are: |
| 32 | + | |
| 30 | 33 | - 8 bytes |
| 34 | + | |
| 31 | 35 | Typical values are: |
| 36 | + | |
| 32 | 37 | - "00000000" |
| 33 | 38 | - "12345678" |
| 39 | + | |
| 34 | 40 | Users: None identified so far. |
| @@ -123,38 +123,40 @@ KernelVersion: v4.15 · 122 unmodified lines | ||
| 123 | 123 | Contact: openipmi-developer@lists.sourceforge.net |
| 124 | 124 | Description: |
| 125 | 125 | |
| 126 | − idles: (RO) Number of times the interface was | |
| 126 | + ====================== ======================================== | |
| 127 | + idles (RO) Number of times the interface was | |
| 127 | 128 | idle while being polled. |
| 128 | 129 | |
| 129 | − watchdog_pretimeouts: (RO) Number of watchdog pretimeouts. | |
| 130 | + watchdog_pretimeouts (RO) Number of watchdog pretimeouts. | |
| 130 | 131 | |
| 131 | − complete_transactions: (RO) Number of completed messages. | |
| 132 | + complete_transactions (RO) Number of completed messages. | |
| 132 | 133 | |
| 133 | − events: (RO) Number of IPMI events received from | |
| 134 | + events (RO) Number of IPMI events received from | |
| 134 | 135 | the hardware. |
| 135 | 136 | |
| 136 | − interrupts: (RO) Number of interrupts the driver | |
| 137 | + interrupts (RO) Number of interrupts the driver | |
| 137 | 138 | handled. |
| 138 | 139 | |
| 139 | − hosed_count: (RO) Number of times the hardware didn't | |
| 140 | + hosed_count (RO) Number of times the hardware didn't | |
| 140 | 141 | follow the state machine. |
| 141 | 142 | |
| 142 | − long_timeouts: (RO) Number of times the driver | |
| 143 | + long_timeouts (RO) Number of times the driver | |
| 143 | 144 | requested a timer while nothing was in |
| 144 | 145 | progress. |
| 145 | 146 | |
| 146 | − flag_fetches: (RO) Number of times the driver | |
| 147 | + flag_fetches (RO) Number of times the driver | |
| 147 | 148 | requested flags from the hardware. |
| 148 | 149 | |
| 149 | − attentions: (RO) Number of time the driver got an | |
| 150 | + attentions (RO) Number of time the driver got an | |
| 150 | 151 | ATTN from the hardware. |
| 151 | 152 | |
| 152 | − incoming_messages: (RO) Number of asynchronous messages | |
| 153 | + incoming_messages (RO) Number of asynchronous messages | |
| 153 | 154 | received. |
| 154 | 155 | |
| 155 | − short_timeouts: (RO) Number of times the driver | |
| 156 | + short_timeouts (RO) Number of times the driver | |
| 156 | 157 | requested a timer while an operation was |
| 157 | 158 | in progress. |
| 159 | + ====================== ======================================== | |
| 158 | 160 | |
| 159 | 161 | |
| 160 | 162 | What: /sys/devices/platform/ipmi_si.*/interrupts_enabled |
| @@ -201,38 +203,40 @@ Date: Sep, 2017 · 40 unmodified lines | ||
| 201 | 203 | KernelVersion: v4.15 |
| 202 | 204 | Contact: openipmi-developer@lists.sourceforge.net |
| 203 | 205 | Description: |
| 204 | − hosed: (RO) Number of times the hardware didn't | |
| 206 | + ====================== ======================================== | |
| 207 | + hosed (RO) Number of times the hardware didn't | |
| 205 | 208 | follow the state machine. |
| 206 | 209 | |
| 207 | − alerts: (RO) Number of alerts received. | |
| 210 | + alerts (RO) Number of alerts received. | |
| 208 | 211 | |
| 209 | − sent_messages: (RO) Number of total messages sent. | |
| 212 | + sent_messages (RO) Number of total messages sent. | |
| 210 | 213 | |
| 211 | − sent_message_parts: (RO) Number of message parts sent. | |
| 214 | + sent_message_parts (RO) Number of message parts sent. | |
| 212 | 215 | Messages may be broken into parts if |
| 213 | 216 | they are long. |
| 214 | 217 | |
| 215 | − received_messages: (RO) Number of message responses | |
| 218 | + received_messages (RO) Number of message responses | |
| 216 | 219 | received. |
| 217 | 220 | |
| 218 | − received_message_parts: (RO) Number of message fragments | |
| 221 | + received_message_parts (RO) Number of message fragments | |
| 219 | 222 | received. |
| 220 | 223 | |
| 221 | − events: (RO) Number of received events. | |
| 224 | + events (RO) Number of received events. | |
| 222 | 225 | |
| 223 | − watchdog_pretimeouts: (RO) Number of watchdog pretimeouts. | |
| 226 | + watchdog_pretimeouts (RO) Number of watchdog pretimeouts. | |
| 224 | 227 | |
| 225 | − flag_fetches: (RO) Number of times a flag fetch was | |
| 228 | + flag_fetches (RO) Number of times a flag fetch was | |
| 226 | 229 | requested. |
| 227 | 230 | |
| 228 | − send_retries: (RO) Number of time a message was | |
| 231 | + send_retries (RO) Number of time a message was | |
| 229 | 232 | retried. |
| 230 | 233 | |
| 231 | − receive_retries: (RO) Number of times the receive of a | |
| 234 | + receive_retries (RO) Number of times the receive of a | |
| 232 | 235 | message was retried. |
| 233 | 236 | |
| 234 | − send_errors: (RO) Number of times the send of a | |
| 237 | + send_errors (RO) Number of times the send of a | |
| 235 | 238 | message failed. |
| 236 | 239 | |
| 237 | − receive_errors: (RO) Number of errors in receiving | |
| 240 | + receive_errors (RO) Number of errors in receiving | |
| 238 | 241 | messages. |
| 242 | + ====================== ======================================== | |
| @@ -17,10 +17,10 @@ Description: · 16 unmodified lines | ||
| 17 | 17 | to overlay planes. |
| 18 | 18 | |
| 19 | 19 | Selects the composition mode for the overlay. Possible values |
| 20 | − are | |
| 20 | + are: | |
| 21 | 21 | |
| 22 | − 0 - Alpha Blending | |
| 23 | − 1 - ROP3 | |
| 22 | + - 0 - Alpha Blending | |
| 23 | + - 1 - ROP3 | |
| 24 | 24 | |
| 25 | 25 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position |
| 26 | 26 | Date: May 2012 |
| @@ -30,7 +30,7 @@ Description: · 3 unmodified lines | ||
| 30 | 30 | to overlay planes. |
| 31 | 31 | |
| 32 | 32 | Stores the x,y overlay position on the display in pixels. The |
| 33 | − position format is `[0-9]+,[0-9]+'. | |
| 33 | + position format is `[0-9]+,[0-9]+`. | |
| 34 | 34 | |
| 35 | 35 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3 |
| 36 | 36 | Date: May 2012 |
| @@ -102,6 +102,8 @@ Description: · 101 unmodified lines | ||
| 102 | 102 | b[15:0] |
| 103 | 103 | inform firmware the current software execution |
| 104 | 104 | stage. |
| 105 | + | |
| 106 | + == =========================================== | |
| 105 | 107 | 0 the first stage bootloader didn't run or |
| 106 | 108 | didn't reach the point of launching second |
| 107 | 109 | stage bootloader. |
| @@ -111,21 +113,29 @@ Description: · 3 unmodified lines | ||
| 111 | 113 | 2 both first and second stage bootloader ran |
| 112 | 114 | and the operating system launch was |
| 113 | 115 | attempted. |
| 116 | + == =========================================== | |
| 114 | 117 | |
| 115 | 118 | b[16] |
| 119 | + == =========================================== | |
| 116 | 120 | 1 firmware to reset current image retry |
| 117 | 121 | counter. |
| 118 | 122 | 0 no action. |
| 123 | + == =========================================== | |
| 119 | 124 | |
| 120 | 125 | b[17] |
| 126 | + == =========================================== | |
| 121 | 127 | 1 firmware to clear RSU log |
| 122 | 128 | 0 no action. |
| 129 | + == =========================================== | |
| 123 | 130 | |
| 124 | 131 | b[18] |
| 125 | 132 | this is negative logic |
| 133 | + | |
| 134 | + == =========================================== | |
| 126 | 135 | 1 no action |
| 127 | 136 | 0 firmware record the notify code defined |
| 128 | 137 | in b[15:0]. |
| 138 | + == =========================================== | |
| 129 | 139 | |
| 130 | 140 | What: /sys/devices/platform/stratix10-rsu.0/dcmf0 |
| 131 | 141 | Date: June 2020 |
| @@ -151,23 +151,28 @@ Description: · 150 unmodified lines | ||
| 151 | 151 | The processor idle states which are available for use have the |
| 152 | 152 | following attributes: |
| 153 | 153 | |
| 154 | − name: (RO) Name of the idle state (string). | |
| 154 | + ======== ==== ================================================= | |
| 155 | + name: (RO) Name of the idle state (string). | |
| 155 | 156 | |
| 156 | 157 | latency: (RO) The latency to exit out of this idle state (in |
| 157 | − microseconds). | |
| 158 | + microseconds). | |
| 158 | 159 | |
| 159 | − power: (RO) The power consumed while in this idle state (in | |
| 160 | − milliwatts). | |
| 160 | + power: (RO) The power consumed while in this idle state (in | |
| 161 | + milliwatts). | |
| 161 | 162 | |
| 162 | − time: (RO) The total time spent in this idle state (in microseconds). | |
| 163 | + time: (RO) The total time spent in this idle state | |
| 164 | + (in microseconds). | |
| 163 | 165 | |
| 164 | − usage: (RO) Number of times this state was entered (a count). | |
| 166 | + usage: (RO) Number of times this state was entered (a count). | |
| 165 | 167 | |
| 166 | − above: (RO) Number of times this state was entered, but the | |
| 167 | − observed CPU idle duration was too short for it (a count). | |
| 168 | + above: (RO) Number of times this state was entered, but the | |
| 169 | + observed CPU idle duration was too short for it | |
| 170 | + (a count). | |
| 168 | 171 | |
| 169 | − below: (RO) Number of times this state was entered, but the | |
| 170 | − observed CPU idle duration was too long for it (a count). | |
| 172 | + below: (RO) Number of times this state was entered, but the | |
| 173 | + observed CPU idle duration was too long for it | |
| 174 | + (a count). | |
| 175 | + ======== ==== ================================================= | |
| 171 | 176 | |
| 172 | 177 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc |
| 173 | 178 | Date: February 2008 |
| @@ -290,6 +295,7 @@ Description: Processor frequency boosting control · 116 unmodified lines | ||
| 290 | 295 | This switch controls the boost setting for the whole system. |
| 291 | 296 | Boosting allows the CPU and the firmware to run at a frequency |
| 292 | 297 | beyound it's nominal limit. |
| 298 | + | |
| 293 | 299 | More details can be found in |
| 294 | 300 | Documentation/admin-guide/pm/cpufreq.rst |
| 295 | 301 | |
| @@ -337,43 +343,57 @@ Contact: Sudeep Holla <sudeep.holla@arm.com> · 41 unmodified lines | ||
| 337 | 343 | Description: Parameters for the CPU cache attributes |
| 338 | 344 | |
| 339 | 345 | allocation_policy: |
| 340 | − - WriteAllocate: allocate a memory location to a cache line | |
| 341 | − on a cache miss because of a write | |
| 342 | − - ReadAllocate: allocate a memory location to a cache line | |
| 346 | + - WriteAllocate: | |
| 347 | + allocate a memory location to a cache line | |
| 348 | + on a cache miss because of a write | |
| 349 | + - ReadAllocate: | |
| 350 | + allocate a memory location to a cache line | |
| 343 | 351 | on a cache miss because of a read |
| 344 | − - ReadWriteAllocate: both writeallocate and readallocate | |
| 352 | + - ReadWriteAllocate: | |
| 353 | + both writeallocate and readallocate | |
| 345 | 354 | |
| 346 | − attributes: LEGACY used only on IA64 and is same as write_policy | |
| 355 | + attributes: | |
| 356 | + LEGACY used only on IA64 and is same as write_policy | |
| 347 | 357 | |
| 348 | − coherency_line_size: the minimum amount of data in bytes that gets | |
| 358 | + coherency_line_size: | |
| 359 | + the minimum amount of data in bytes that gets | |
| 349 | 360 | transferred from memory to cache |
| 350 | 361 | |
| 351 | − level: the cache hierarchy in the multi-level cache configuration | |
| 362 | + level: | |
| 363 | + the cache hierarchy in the multi-level cache configuration | |
| 352 | 364 | |
| 353 | − number_of_sets: total number of sets in the cache, a set is a | |
| 365 | + number_of_sets: | |
| 366 | + total number of sets in the cache, a set is a | |
| 354 | 367 | collection of cache lines with the same cache index |
| 355 | 368 | |
| 356 | − physical_line_partition: number of physical cache line per cache tag | |
| 369 | + physical_line_partition: | |
| 370 | + number of physical cache line per cache tag | |
| 357 | 371 | |
| 358 | − shared_cpu_list: the list of logical cpus sharing the cache | |
| 372 | + shared_cpu_list: | |
| 373 | + the list of logical cpus sharing the cache | |
| 359 | 374 | |
| 360 | − shared_cpu_map: logical cpu mask containing the list of cpus sharing | |
| 375 | + shared_cpu_map: | |
| 376 | + logical cpu mask containing the list of cpus sharing | |
| 361 | 377 | the cache |
| 362 | 378 | |
| 363 | − size: the total cache size in kB | |
| 379 | + size: | |
| 380 | + the total cache size in kB | |
| 364 | 381 | |
| 365 | 382 | type: |
| 366 | 383 | - Instruction: cache that only holds instructions |
| 367 | 384 | - Data: cache that only caches data |
| 368 | 385 | - Unified: cache that holds both data and instructions |
| 369 | 386 | |
| 370 | − ways_of_associativity: degree of freedom in placing a particular block | |
| 371 | − of memory in the cache | |
| 387 | + ways_of_associativity: | |
| 388 | + degree of freedom in placing a particular block | |
| 389 | + of memory in the cache | |
| 372 | 390 | |
| 373 | 391 | write_policy: |
| 374 | − - WriteThrough: data is written to both the cache line | |
| 392 | + - WriteThrough: | |
| 393 | + data is written to both the cache line | |
| 375 | 394 | and to the block in the lower-level memory |
| 376 | − - WriteBack: data is written only to the cache line and | |
| 395 | + - WriteBack: | |
| 396 | + data is written only to the cache line and | |
| 377 | 397 | the modified cache line is written to main |
| 378 | 398 | memory only when it is replaced |
| 379 | 399 | |
| @@ -414,30 +434,30 @@ Description: POWERNV CPUFreq driver's frequency throttle stats directory and · 34 unmodified lines | ||
| 414 | 434 | throttle attributes exported in the 'throttle_stats' directory: |
| 415 | 435 | |
| 416 | 436 | - turbo_stat : This file gives the total number of times the max |
| 417 | − frequency is throttled to lower frequency in turbo (at and above | |
| 418 | − nominal frequency) range of frequencies. | |
| 437 | + frequency is throttled to lower frequency in turbo (at and above | |
| 438 | + nominal frequency) range of frequencies. | |
| 419 | 439 | |
| 420 | 440 | - sub_turbo_stat : This file gives the total number of times the |
| 421 | − max frequency is throttled to lower frequency in sub-turbo(below | |
| 422 | − nominal frequency) range of frequencies. | |
| 441 | + max frequency is throttled to lower frequency in sub-turbo(below | |
| 442 | + nominal frequency) range of frequencies. | |
| 423 | 443 | |
| 424 | 444 | - unthrottle : This file gives the total number of times the max |
| 425 | − frequency is unthrottled after being throttled. | |
| 445 | + frequency is unthrottled after being throttled. | |
| 426 | 446 | |
| 427 | 447 | - powercap : This file gives the total number of times the max |
| 428 | − frequency is throttled due to 'Power Capping'. | |
| 448 | + frequency is throttled due to 'Power Capping'. | |
| 429 | 449 | |
| 430 | 450 | - overtemp : This file gives the total number of times the max |
| 431 | − frequency is throttled due to 'CPU Over Temperature'. | |
| 451 | + frequency is throttled due to 'CPU Over Temperature'. | |
| 432 | 452 | |
| 433 | 453 | - supply_fault : This file gives the total number of times the |
| 434 | − max frequency is throttled due to 'Power Supply Failure'. | |
| 454 | + max frequency is throttled due to 'Power Supply Failure'. | |
| 435 | 455 | |
| 436 | 456 | - overcurrent : This file gives the total number of times the |
| 437 | − max frequency is throttled due to 'Overcurrent'. | |
| 457 | + max frequency is throttled due to 'Overcurrent'. | |
| 438 | 458 | |
| 439 | 459 | - occ_reset : This file gives the total number of times the max |
| 440 | − frequency is throttled due to 'OCC Reset'. | |
| 460 | + frequency is throttled due to 'OCC Reset'. | |
| 441 | 461 | |
| 442 | 462 | The sysfs attributes representing different throttle reasons like |
| 443 | 463 | powercap, overtemp, supply_fault, overcurrent and occ_reset map to |
| @@ -469,8 +489,9 @@ What: /sys/devices/system/cpu/cpuX/regs/ · 25 unmodified lines | ||
| 469 | 489 | Date: June 2016 |
| 470 | 490 | Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> |
| 471 | 491 | Description: AArch64 CPU registers |
| 492 | + | |
| 472 | 493 | 'identification' directory exposes the CPU ID registers for |
| 473 | − identifying model and revision of the CPU. | |
| 494 | + identifying model and revision of the CPU. | |
| 474 | 495 | |
| 475 | 496 | What: /sys/devices/system/cpu/cpu#/cpu_capacity |
| 476 | 497 | Date: December 2016 |
| @@ -497,9 +518,11 @@ Description: Information about CPU vulnerabilities · 20 unmodified lines | ||
| 497 | 518 | vulnerabilities. The output of those files reflects the |
| 498 | 519 | state of the CPUs in the system. Possible output values: |
| 499 | 520 | |
| 521 | + ================ ============================================== | |
| 500 | 522 | "Not affected" CPU is not affected by the vulnerability |
| 501 | 523 | "Vulnerable" CPU is affected and no mitigation in effect |
| 502 | 524 | "Mitigation: $M" CPU is affected and mitigation $M is in effect |
| 525 | + ================ ============================================== | |
| 503 | 526 | |
| 504 | 527 | See also: Documentation/admin-guide/hw-vuln/index.rst |
| 505 | 528 | |
| @@ -515,12 +538,14 @@ Description: Control Symetric Multi Threading (SMT) · 9 unmodified lines | ||
| 515 | 538 | control: Read/write interface to control SMT. Possible |
| 516 | 539 | values: |
| 517 | 540 | |
| 541 | + ================ ========================================= | |
| 518 | 542 | "on" SMT is enabled |
| 519 | 543 | "off" SMT is disabled |
| 520 | 544 | "forceoff" SMT is force disabled. Cannot be changed. |
| 521 | 545 | "notsupported" SMT is not supported by the CPU |
| 522 | 546 | "notimplemented" SMT runtime toggling is not |
| 523 | 547 | implemented for the architecture |
| 548 | + ================ ========================================= | |
| 524 | 549 | |
| 525 | 550 | If control status is "forceoff" or "notsupported" writes |
| 526 | 551 | are rejected. |
| @@ -576,7 +601,7 @@ Description: Secure Virtual Machine · 49 unmodified lines | ||
| 576 | 601 | Facility in POWER9 and newer processors. i.e., it is a Secure |
| 577 | 602 | Virtual Machine. |
| 578 | 603 | |
| 579 | −What: /sys/devices/system/cpu/cpuX/purr | |
| 604 | +What: /sys/devices/system/cpu/cpuX/purr | |
| 580 | 605 | Date: Apr 2005 |
| 581 | 606 | Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> |
| 582 | 607 | Description: PURR ticks for this CPU since the system boot. |
| @@ -5,8 +5,10 @@ Contact: Vernon Mauery <vernux@us.ibm.com> · 4 unmodified lines | ||
| 5 | 5 | Description: The state file allows a means by which to change in and |
| 6 | 6 | out of Premium Real-Time Mode (PRTM), as well as the |
| 7 | 7 | ability to query the current state. |
| 8 | − 0 => PRTM off | |
| 9 | − 1 => PRTM enabled | |
| 8 | + | |
| 9 | + - 0 => PRTM off | |
| 10 | + - 1 => PRTM enabled | |
| 11 | + | |
| 10 | 12 | Users: The ibm-prtm userspace daemon uses this interface. |
| 11 | 13 | |
| 12 | 14 | |
| @@ -6,11 +6,13 @@ Description: Read/write the current state of DDR Backup Mode, which controls · 5 unmodified lines | ||
| 6 | 6 | if DDR power rails will be kept powered during system suspend. |
| 7 | 7 | ("on"/"1" = enabled, "off"/"0" = disabled). |
| 8 | 8 | Two types of power switches (or control signals) can be used: |
| 9 | + | |
| 9 | 10 | A. With a momentary power switch (or pulse signal), DDR |
| 10 | 11 | Backup Mode is enabled by default when available, as the |
| 11 | 12 | PMIC will be configured only during system suspend. |
| 12 | 13 | B. With a toggle power switch (or level signal), the |
| 13 | 14 | following steps must be followed exactly: |
| 15 | + | |
| 14 | 16 | 1. Configure PMIC for backup mode, to change the role of |
| 15 | 17 | the accessory power switch from a power switch to a |
| 16 | 18 | wake-up switch, |
| @@ -20,8 +22,10 @@ Description: Read/write the current state of DDR Backup Mode, which controls · 3 unmodified lines | ||
| 20 | 22 | 3. Suspend system, |
| 21 | 23 | 4. Switch accessory power switch on, to resume the |
| 22 | 24 | system. |
| 25 | + | |
| 23 | 26 | DDR Backup Mode must be explicitly enabled by the user, |
| 24 | 27 | to invoke step 1. |
| 28 | + | |
| 25 | 29 | See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. |
| 26 | 30 | Users: User space applications for embedded boards equipped with a |
| 27 | 31 | BD9571MWV PMIC. |
| @@ -29,8 +29,12 @@ What: /sys/class/genwqe/genwqe<n>_card/reload_bitstream · 28 unmodified lines | ||
| 29 | 29 | Date: May 2014 |
| 30 | 30 | Contact: klebers@linux.vnet.ibm.com |
| 31 | 31 | Description: Interface to trigger a PCIe card reset to reload the bitstream. |
| 32 | + | |
| 33 | + :: | |
| 34 | + | |
| 32 | 35 | sudo sh -c 'echo 1 > \ |
| 33 | 36 | /sys/class/genwqe/genwqe0_card/reload_bitstream' |
| 37 | + | |
| 34 | 38 | If successfully, the card will come back with the bitstream set |
| 35 | 39 | on 'next_bitstream'. |
| 36 | 40 | |
| @@ -64,8 +68,11 @@ Description: Base clock frequency of the card. · 27 unmodified lines | ||
| 64 | 68 | What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs |
| 65 | 69 | Date: Oct 2013 |
| 66 | 70 | Contact: haver@linux.vnet.ibm.com |
| 67 | −Description: Enable VFs (1..15): | |
| 71 | +Description: Enable VFs (1..15):: | |
| 72 | + | |
| 68 | 73 | sudo sh -c 'echo 15 > \ |
| 69 | 74 | /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs' |
| 70 | − Disable VFs: | |
| 75 | + | |
| 76 | + Disable VFs:: | |
| 77 | + | |
| 71 | 78 | Write a 0 into the same sysfs entry. |
| @@ -3,14 +3,18 @@ Date: July 2011 · 2 unmodified lines | ||
| 3 | 3 | Contact: linux-input@vger.kernel.org |
| 4 | 4 | Description: This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be |
| 5 | 5 | is being controlled by press_speed. |
| 6 | + | |
| 6 | 7 | Values are 0 or 1. |
| 8 | + | |
| 7 | 9 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 8 | 10 | |
| 9 | 11 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging |
| 10 | 12 | Date: July 2011 |
| 11 | 13 | Contact: linux-input@vger.kernel.org |
| 12 | 14 | Description: If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled. |
| 15 | + | |
| 13 | 16 | Values are 0 or 1. |
| 17 | + | |
| 14 | 18 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 15 | 19 | |
| 16 | 20 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select |
| @@ -25,7 +29,9 @@ Date: July 2011 · 8 unmodified lines | ||
| 25 | 29 | Contact: linux-input@vger.kernel.org |
| 26 | 30 | Description: This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate |
| 27 | 31 | a left or right mouse button click. |
| 32 | + | |
| 28 | 33 | Values are 0 or 1. |
| 34 | + | |
| 29 | 35 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 30 | 36 | |
| 31 | 37 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity |
| @@ -39,12 +45,16 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 7 unmodified lines | ||
| 39 | 45 | Date: July 2011 |
| 40 | 46 | Contact: linux-input@vger.kernel.org |
| 41 | 47 | Description: This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled. |
| 48 | + | |
| 42 | 49 | Values are decimal integers from 1 (slowest) to 255 (fastest). |
| 50 | + | |
| 43 | 51 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 44 | 52 | |
| 45 | 53 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock |
| 46 | 54 | Date: July 2014 |
| 47 | 55 | Contact: linux-input@vger.kernel.org |
| 48 | 56 | Description: This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1) |
| 57 | + | |
| 49 | 58 | Values are 0 or 1 |
| 59 | + | |
| 50 | 60 | Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint. |
| @@ -12,7 +12,9 @@ KernelVersion: 4.1 · 11 unmodified lines | ||
| 12 | 12 | Contact: Michal Malý <madcatxster@devoid-pointer.net> |
| 13 | 13 | Description: Displays a set of alternate modes supported by a wheel. Each |
| 14 | 14 | mode is listed as follows: |
| 15 | + | |
| 15 | 16 | Tag: Mode Name |
| 17 | + | |
| 16 | 18 | Currently active mode is marked with an asterisk. List also |
| 17 | 19 | contains an abstract item "native" which always denotes the |
| 18 | 20 | native mode of the wheel. Echoing the mode tag switches the |
| @@ -24,24 +26,30 @@ Description: Displays a set of alternate modes supported by a wheel. Each · 5 unmodified lines | ||
| 24 | 26 | This entry is not created for devices that have only one mode. |
| 25 | 27 | |
| 26 | 28 | Currently supported mode switches: |
| 27 | − Driving Force Pro: | |
| 29 | + | |
| 30 | + Driving Force Pro:: | |
| 31 | + | |
| 28 | 32 | DF-EX --> DFP |
| 29 | 33 | |
| 30 | − G25: | |
| 34 | + G25:: | |
| 35 | + | |
| 31 | 36 | DF-EX --> DFP --> G25 |
| 32 | 37 | |
| 33 | − G27: | |
| 38 | + G27:: | |
| 39 | + | |
| 34 | 40 | DF-EX <*> DFP <-> G25 <-> G27 |
| 35 | 41 | DF-EX <*--------> G25 <-> G27 |
| 36 | 42 | DF-EX <*----------------> G27 |
| 37 | 43 | |
| 38 | − G29: | |
| 44 | + G29:: | |
| 45 | + | |
| 39 | 46 | DF-EX <*> DFP <-> G25 <-> G27 <-> G29 |
| 40 | 47 | DF-EX <*--------> G25 <-> G27 <-> G29 |
| 41 | 48 | DF-EX <*----------------> G27 <-> G29 |
| 42 | 49 | DF-EX <*------------------------> G29 |
| 43 | 50 | |
| 44 | − DFGT: | |
| 51 | + DFGT:: | |
| 52 | + | |
| 45 | 53 | DF-EX <*> DFP <-> DFGT |
| 46 | 54 | DF-EX <*--------> DFGT |
| 47 | 55 | |
| @@ -29,12 +29,13 @@ Contact: linux-input@vger.kernel.org · 28 unmodified lines | ||
| 29 | 29 | Description: |
| 30 | 30 | Threholds to override activation slack. |
| 31 | 31 | |
| 32 | − activation_width: (RW) Width threshold to immediately | |
| 32 | + ================= ===================================== | |
| 33 | + activation_width (RW) Width threshold to immediately | |
| 33 | 34 | start processing touch events. |
| 34 | 35 | |
| 35 | − activation_height: (RW) Height threshold to immediately | |
| 36 | + activation_height (RW) Height threshold to immediately | |
| 36 | 37 | start processing touch events. |
| 37 | − | |
| 38 | + ================= ===================================== | |
| 38 | 39 | |
| 39 | 40 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_width |
| 40 | 41 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_height |
| @@ -44,11 +45,13 @@ Contact: linux-input@vger.kernel.org · 3 unmodified lines | ||
| 44 | 45 | Description: |
| 45 | 46 | Minimum size contact accepted. |
| 46 | 47 | |
| 47 | − min_width: (RW) Minimum touch contact width to decide | |
| 48 | + ========== =========================================== | |
| 49 | + min_width (RW) Minimum touch contact width to decide | |
| 48 | 50 | activation and activity. |
| 49 | 51 | |
| 50 | − min_height: (RW) Minimum touch contact height to decide | |
| 52 | + min_height (RW) Minimum touch contact height to decide | |
| 51 | 53 | activation and activity. |
| 54 | + ========== =========================================== | |
| 52 | 55 | |
| 53 | 56 | |
| 54 | 57 | What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width |
| @@ -3,17 +3,21 @@ Date: March 2010 · 2 unmodified lines | ||
| 3 | 3 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 4 | 4 | Description: It is possible to switch the dpi setting of the mouse with the |
| 5 | 5 | press of a button. |
| 6 | + | |
| 6 | 7 | When read, this file returns the raw number of the actual dpi |
| 7 | 8 | setting reported by the mouse. This number has to be further |
| 8 | 9 | processed to receive the real dpi value: |
| 9 | 10 | |
| 11 | + ===== ===== | |
| 10 | 12 | VALUE DPI |
| 13 | + ===== ===== | |
| 11 | 14 | 1 800 |
| 12 | 15 | 2 1200 |
| 13 | 16 | 3 1600 |
| 14 | 17 | 4 2000 |
| 15 | 18 | 5 2400 |
| 16 | 19 | 6 3200 |
| 20 | + ===== ===== | |
| 17 | 21 | |
| 18 | 22 | This file is readonly. |
| 19 | 23 | Users: http://roccat.sourceforge.net |
| @@ -22,6 +26,7 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 2 unmodified lines | ||
| 22 | 26 | Date: March 2010 |
| 23 | 27 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 24 | 28 | Description: When read, this file returns the number of the actual profile. |
| 29 | + | |
| 25 | 30 | This file is readonly. |
| 26 | 31 | Users: http://roccat.sourceforge.net |
| 27 | 32 | |
| @@ -33,6 +38,7 @@ Description: When read, this file returns the raw integer version number of the · 5 unmodified lines | ||
| 33 | 38 | further usage in other programs. To receive the real version |
| 34 | 39 | number the decimal point has to be shifted 2 positions to the |
| 35 | 40 | left. E.g. a returned value of 138 means 1.38 |
| 41 | + | |
| 36 | 42 | This file is readonly. |
| 37 | 43 | Users: http://roccat.sourceforge.net |
| 38 | 44 | |
| @@ -43,10 +49,13 @@ Description: The mouse can store 5 profiles which can be switched by the · 4 unmodified lines | ||
| 43 | 49 | press of a button. A profile holds information like button |
| 44 | 50 | mappings, sensitivity, the colors of the 5 leds and light |
| 45 | 51 | effects. |
| 52 | + | |
| 46 | 53 | When read, these files return the respective profile. The |
| 47 | 54 | returned data is 975 bytes in size. |
| 55 | + | |
| 48 | 56 | When written, this file lets one write the respective profile |
| 49 | 57 | data back to the mouse. The data has to be 975 bytes long. |
| 58 | + | |
| 50 | 59 | The mouse will reject invalid data, whereas the profile number |
| 51 | 60 | stored in the profile doesn't need to fit the number of the |
| 52 | 61 | store. |
| @@ -58,6 +67,7 @@ Contact: Stefan Achatz <erazor_de@users.sourceforge.net> · 5 unmodified lines | ||
| 58 | 67 | Description: When read, this file returns the settings stored in the mouse. |
| 59 | 68 | The size of the data is 36 bytes and holds information like the |
| 60 | 69 | startup_profile, tcu state and calibration_data. |
| 70 | + | |
| 61 | 71 | When written, this file lets write settings back to the mouse. |
| 62 | 72 | The data has to be 36 bytes long. The mouse will reject invalid |
| 63 | 73 | data. |
| @@ -67,8 +77,10 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 3 unmodified lines | ||
| 67 | 77 | Date: March 2010 |
| 68 | 78 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 69 | 79 | Description: The integer value of this attribute ranges from 1 to 5. |
| 80 | + | |
| 70 | 81 | When read, this attribute returns the number of the profile |
| 71 | 82 | that's active when the mouse is powered on. |
| 83 | + | |
| 72 | 84 | When written, this file sets the number of the startup profile |
| 73 | 85 | and the mouse activates this profile immediately. |
| 74 | 86 | Users: http://roccat.sourceforge.net |
| @@ -80,9 +92,12 @@ Description: The mouse has a "Tracking Control Unit" which lets the user · 5 unmodified lines | ||
| 80 | 92 | calibrate the laser power to fit the mousepad surface. |
| 81 | 93 | When read, this file returns the current state of the TCU, |
| 82 | 94 | where 0 means off and 1 means on. |
| 95 | + | |
| 83 | 96 | Writing 0 in this file will switch the TCU off. |
| 97 | + | |
| 84 | 98 | Writing 1 in this file will start the calibration which takes |
| 85 | 99 | around 6 seconds to complete and activates the TCU. |
| 100 | + | |
| 86 | 101 | Users: http://roccat.sourceforge.net |
| 87 | 102 | |
| 88 | 103 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight |
| @@ -93,14 +108,18 @@ Description: The mouse can be equipped with one of four supplied weights · 4 unmodified lines | ||
| 93 | 108 | and its value can be read out. When read, this file returns the |
| 94 | 109 | raw value returned by the mouse which eases further processing |
| 95 | 110 | in other software. |
| 111 | + | |
| 96 | 112 | The values map to the weights as follows: |
| 97 | 113 | |
| 114 | + ===== ====== | |
| 98 | 115 | VALUE WEIGHT |
| 116 | + ===== ====== | |
| 99 | 117 | 0 none |
| 100 | 118 | 1 5g |
| 101 | 119 | 2 10g |
| 102 | 120 | 3 15g |
| 103 | 121 | 4 20g |
| 122 | + ===== ====== | |
| 104 | 123 | |
| 105 | 124 | This file is readonly. |
| 106 | 125 | Users: http://roccat.sourceforge.net |
| @@ -20,6 +20,7 @@ Description: This file contains the currently connected and initialized · 19 unmodified lines | ||
| 20 | 20 | the official Nintendo Nunchuck extension and classic is the |
| 21 | 21 | Nintendo Classic Controller extension. The motionp extension can |
| 22 | 22 | be combined with the other two. |
| 23 | + | |
| 23 | 24 | Starting with kernel-version 3.11 Motion Plus hotplugging is |
| 24 | 25 | supported and if detected, it's no longer reported as static |
| 25 | 26 | extension. You will get uevent notifications for the motion-plus |
| @@ -39,9 +40,13 @@ Description: While a device is initialized by the wiimote driver, we perform · 13 unmodified lines | ||
| 39 | 40 | Other strings for each device-type are available and may be |
| 40 | 41 | added if new device-specific detections are added. |
| 41 | 42 | Currently supported are: |
| 42 | − gen10: First Wii Remote generation | |
| 43 | − gen20: Second Wii Remote Plus generation (builtin MP) | |
| 43 | + | |
| 44 | + ============= ======================================= | |
| 45 | + gen10: First Wii Remote generation | |
| 46 | + gen20: Second Wii Remote Plus generation | |
| 47 | + (builtin MP) | |
| 44 | 48 | balanceboard: Wii Balance Board |
| 49 | + ============= ======================================= | |
| 45 | 50 | |
| 46 | 51 | What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib |
| 47 | 52 | Date: May 2013 |
| @@ -54,6 +59,7 @@ Description: This attribute is only provided if the device was detected as a · 6 unmodified lines | ||
| 54 | 59 | First, 0kg values for all 4 sensors are written, followed by the |
| 55 | 60 | 17kg values for all 4 sensors and last the 34kg values for all 4 |
| 56 | 61 | sensors. |
| 62 | + | |
| 57 | 63 | Calibration data is already applied by the kernel to all input |
| 58 | 64 | values but may be used by user-space to perform other |
| 59 | 65 | transformations. |
| @@ -68,9 +74,11 @@ Description: This attribute is only provided if the device was detected as a · 8 unmodified lines | ||
| 68 | 74 | is prefixed with a +/-. Each value is a signed 16bit number. |
| 69 | 75 | Data is encoded as decimal numbers and specifies the offsets of |
| 70 | 76 | the analog sticks of the pro-controller. |
| 77 | + | |
| 71 | 78 | Calibration data is already applied by the kernel to all input |
| 72 | 79 | values but may be used by user-space to perform other |
| 73 | 80 | transformations. |
| 81 | + | |
| 74 | 82 | Calibration data is detected by the kernel during device setup. |
| 75 | 83 | You can write "scan\n" into this file to re-trigger calibration. |
| 76 | 84 | You can also write data directly in the form "x1:y1 x2:y2" to |
| @@ -4,6 +4,7 @@ Contact: linux-input@vger.kernel.org · 3 unmodified lines | ||
| 4 | 4 | Description: Reports the firmware version provided by the touchscreen, for example "00_T6" on a EXC80H60 |
| 5 | 5 | |
| 6 | 6 | Access: Read |
| 7 | + | |
| 7 | 8 | Valid values: Represented as string |
| 8 | 9 | |
| 9 | 10 | What: /sys/bus/i2c/devices/xxx/model |
| @@ -12,4 +13,5 @@ Contact: linux-input@vger.kernel.org · 2 unmodified lines | ||
| 12 | 13 | Description: Reports the model identification provided by the touchscreen, for example "Orion_1320" on a EXC80H60 |
| 13 | 14 | |
| 14 | 15 | Access: Read |
| 16 | + | |
| 15 | 17 | Valid values: Represented as string |
| @@ -4,7 +4,9 @@ Contact: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> · 3 unmodified lines | ||
| 4 | 4 | Description: read-only access to the efuse on the Ingenic JZ4780 SoC |
| 5 | 5 | The SoC has a one time programmable 8K efuse that is |
| 6 | 6 | split into segments. The driver supports read only. |
| 7 | − The segments are | |
| 7 | + The segments are: | |
| 8 | + | |
| 9 | + ===== ======== ================= | |
| 8 | 10 | 0x000 64 bit Random Number |
| 9 | 11 | 0x008 128 bit Ingenic Chip ID |
| 10 | 12 | 0x018 128 bit Customer ID |
| @@ -12,5 +14,7 @@ Description: read-only access to the efuse on the Ingenic JZ4780 SoC · 1 unmodified line | ||
| 12 | 14 | 0x1E0 8 bit Protect Segment |
| 13 | 15 | 0x1E1 2296 bit HDMI Key |
| 14 | 16 | 0x300 2048 bit Security boot key |
| 17 | + ===== ======== ================= | |
| 18 | + | |
| 15 | 19 | Users: any user space application which wants to read the Chip |
| 16 | 20 | and Customer ID |
| @@ -7,8 +7,10 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest |
| 8 | 8 | to write and read from the PCI device. That is Domain:Bus: |
| 9 | 9 | Device.Function-Register:Size:Mask (Domain is optional). |
| 10 | − For example: | |
| 11 | − #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks | |
| 10 | + For example:: | |
| 11 | + | |
| 12 | + #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks | |
| 13 | + | |
| 12 | 14 | will allow the guest to read and write to the configuration |
| 13 | 15 | register 0x0E. |
| 14 | 16 | |
| @@ -9,10 +9,12 @@ Description: Some Samsung laptops have different "performance levels" · 8 unmodified lines | ||
| 9 | 9 | their fans quiet at all costs. Reading from this file |
| 10 | 10 | will show the current performance level. Writing to the |
| 11 | 11 | file can change this value. |
| 12 | + | |
| 12 | 13 | Valid options: |
| 13 | − "silent" | |
| 14 | − "normal" | |
| 15 | − "overclock" | |
| 14 | + - "silent" | |
| 15 | + - "normal" | |
| 16 | + - "overclock" | |
| 17 | + | |
| 16 | 18 | Note that not all laptops support all of these options. |
| 17 | 19 | Specifically, not all support the "overclock" option, |
| 18 | 20 | and it's still unknown if this value even changes |
| @@ -25,8 +27,9 @@ Contact: Corentin Chary <corentin.chary@gmail.com> · 6 unmodified lines | ||
| 25 | 27 | Description: Max battery charge level can be modified, battery cycle |
| 26 | 28 | life can be extended by reducing the max battery charge |
| 27 | 29 | level. |
| 28 | − 0 means normal battery mode (100% charge) | |
| 29 | − 1 means battery life extender mode (80% charge) | |
| 30 | + | |
| 31 | + - 0 means normal battery mode (100% charge) | |
| 32 | + - 1 means battery life extender mode (80% charge) | |
| 30 | 33 | |
| 31 | 34 | What: /sys/devices/platform/samsung/usb_charge |
| 32 | 35 | Date: December 1, 2011 |
| @@ -4,10 +4,12 @@ KernelVersion: 3.15 · 3 unmodified lines | ||
| 4 | 4 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 5 | 5 | Description: This file controls the keyboard backlight operation mode, valid |
| 6 | 6 | values are: |
| 7 | + | |
| 7 | 8 | * 0x1 -> FN-Z |
| 8 | 9 | * 0x2 -> AUTO (also called TIMER) |
| 9 | 10 | * 0x8 -> ON |
| 10 | 11 | * 0x10 -> OFF |
| 12 | + | |
| 11 | 13 | Note that from kernel 3.16 onwards this file accepts all listed |
| 12 | 14 | parameters, kernel 3.15 only accepts the first two (FN-Z and |
| 13 | 15 | AUTO). |
| @@ -41,8 +43,10 @@ KernelVersion: 3.15 · 27 unmodified lines | ||
| 41 | 43 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 42 | 44 | Description: This files controls the status of the touchpad and pointing |
| 43 | 45 | stick (if available), valid values are: |
| 46 | + | |
| 44 | 47 | * 0 -> OFF |
| 45 | 48 | * 1 -> ON |
| 49 | + | |
| 46 | 50 | Users: KToshiba |
| 47 | 51 | |
| 48 | 52 | What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes |
| @@ -51,10 +55,12 @@ KernelVersion: 3.16 · 2 unmodified lines | ||
| 51 | 55 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 52 | 56 | Description: This file shows the supported keyboard backlight modes |
| 53 | 57 | the system supports, which can be: |
| 58 | + | |
| 54 | 59 | * 0x1 -> FN-Z |
| 55 | 60 | * 0x2 -> AUTO (also called TIMER) |
| 56 | 61 | * 0x8 -> ON |
| 57 | 62 | * 0x10 -> OFF |
| 63 | + | |
| 58 | 64 | Note that not all keyboard types support the listed modes. |
| 59 | 65 | See the entry named "available_kbd_modes" |
| 60 | 66 | Users: KToshiba |
| @@ -65,6 +71,7 @@ KernelVersion: 3.16 · 4 unmodified lines | ||
| 65 | 71 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 66 | 72 | Description: This file shows the current keyboard backlight type, |
| 67 | 73 | which can be: |
| 74 | + | |
| 68 | 75 | * 1 -> Type 1, supporting modes FN-Z and AUTO |
| 69 | 76 | * 2 -> Type 2, supporting modes TIMER, ON and OFF |
| 70 | 77 | Users: KToshiba |
| @@ -75,10 +82,12 @@ KernelVersion: 4.0 · 4 unmodified lines | ||
| 75 | 82 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 76 | 83 | Description: This file controls the USB Sleep & Charge charging mode, which |
| 77 | 84 | can be: |
| 85 | + | |
| 78 | 86 | * 0 -> Disabled (0x00) |
| 79 | 87 | * 1 -> Alternate (0x09) |
| 80 | 88 | * 2 -> Auto (0x21) |
| 81 | 89 | * 3 -> Typical (0x11) |
| 90 | + | |
| 82 | 91 | Note that from kernel 4.1 onwards this file accepts all listed |
| 83 | 92 | values, kernel 4.0 only supports the first three. |
| 84 | 93 | Note that this feature only works when connected to power, if |
| @@ -93,8 +102,10 @@ Contact: Azael Avalos <coproscefalo@gmail.com> · 8 unmodified lines | ||
| 93 | 102 | Description: This file controls the USB Sleep Functions under battery, and |
| 94 | 103 | set the level at which point they will be disabled, accepted |
| 95 | 104 | values can be: |
| 105 | + | |
| 96 | 106 | * 0 -> Disabled |
| 97 | 107 | * 1-100 -> Battery level to disable sleep functions |
| 108 | + | |
| 98 | 109 | Currently it prints two values, the first one indicates if the |
| 99 | 110 | feature is enabled or disabled, while the second one shows the |
| 100 | 111 | current battery level set. |
| @@ -107,8 +118,10 @@ Date: January 23, 2015 · 6 unmodified lines | ||
| 107 | 118 | KernelVersion: 4.0 |
| 108 | 119 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 109 | 120 | Description: This file controls the USB Rapid Charge state, which can be: |
| 121 | + | |
| 110 | 122 | * 0 -> Disabled |
| 111 | 123 | * 1 -> Enabled |
| 124 | + | |
| 112 | 125 | Note that toggling this value requires a reboot for changes to |
| 113 | 126 | take effect. |
| 114 | 127 | Users: KToshiba |
| @@ -118,8 +131,10 @@ Date: January 23, 2015 · 3 unmodified lines | ||
| 118 | 131 | KernelVersion: 4.0 |
| 119 | 132 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 120 | 133 | Description: This file controls the Sleep & Music state, which values can be: |
| 134 | + | |
| 121 | 135 | * 0 -> Disabled |
| 122 | 136 | * 1 -> Enabled |
| 137 | + | |
| 123 | 138 | Note that this feature only works when connected to power, if |
| 124 | 139 | you want to use it under battery, see the entry named |
| 125 | 140 | "sleep_functions_on_battery" |
| @@ -138,6 +153,7 @@ KernelVersion: 4.0 · 12 unmodified lines | ||
| 138 | 153 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 139 | 154 | Description: This file controls the state of the internal fan, valid |
| 140 | 155 | values are: |
| 156 | + | |
| 141 | 157 | * 0 -> OFF |
| 142 | 158 | * 1 -> ON |
| 143 | 159 | |
| @@ -147,8 +163,10 @@ KernelVersion: 4.0 · 3 unmodified lines | ||
| 147 | 163 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 148 | 164 | Description: This file controls the Special Functions (hotkeys) operation |
| 149 | 165 | mode, valid values are: |
| 166 | + | |
| 150 | 167 | * 0 -> Normal Operation |
| 151 | 168 | * 1 -> Special Functions |
| 169 | + | |
| 152 | 170 | In the "Normal Operation" mode, the F{1-12} keys are as usual |
| 153 | 171 | and the hotkeys are accessed via FN-F{1-12}. |
| 154 | 172 | In the "Special Functions" mode, the F{1-12} keys trigger the |
| @@ -163,8 +181,10 @@ KernelVersion: 4.0 · 8 unmodified lines | ||
| 163 | 181 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 164 | 182 | Description: This file controls whether the laptop should turn ON whenever |
| 165 | 183 | the LID is opened, valid values are: |
| 184 | + | |
| 166 | 185 | * 0 -> Disabled |
| 167 | 186 | * 1 -> Enabled |
| 187 | + | |
| 168 | 188 | Note that toggling this value requires a reboot for changes to |
| 169 | 189 | take effect. |
| 170 | 190 | Users: KToshiba |
| @@ -174,8 +194,10 @@ Date: February 12, 2015 · 3 unmodified lines | ||
| 174 | 194 | KernelVersion: 4.0 |
| 175 | 195 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 176 | 196 | Description: This file controls the USB 3 functionality, valid values are: |
| 197 | + | |
| 177 | 198 | * 0 -> Disabled (Acts as a regular USB 2) |
| 178 | 199 | * 1 -> Enabled (Full USB 3 functionality) |
| 200 | + | |
| 179 | 201 | Note that toggling this value requires a reboot for changes to |
| 180 | 202 | take effect. |
| 181 | 203 | Users: KToshiba |
| @@ -188,10 +210,14 @@ Description: This file controls the Cooling Method feature. · 6 unmodified lines | ||
| 188 | 210 | Reading this file prints two values, the first is the actual cooling method |
| 189 | 211 | and the second is the maximum cooling method supported. |
| 190 | 212 | When the maximum cooling method is ONE, valid values are: |
| 213 | + | |
| 191 | 214 | * 0 -> Maximum Performance |
| 192 | 215 | * 1 -> Battery Optimized |
| 216 | + | |
| 193 | 217 | When the maximum cooling method is TWO, valid values are: |
| 218 | + | |
| 194 | 219 | * 0 -> Maximum Performance |
| 195 | 220 | * 1 -> Performance |
| 196 | 221 | * 2 -> Battery Optimized |
| 222 | + | |
| 197 | 223 | Users: KToshiba |
| @@ -4,10 +4,12 @@ KernelVersion: 3.17 · 3 unmodified lines | ||
| 4 | 4 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 5 | 5 | Description: This file controls the built-in accelerometer protection level, |
| 6 | 6 | valid values are: |
| 7 | + | |
| 7 | 8 | * 0 -> Disabled |
| 8 | 9 | * 1 -> Low |
| 9 | 10 | * 2 -> Medium |
| 10 | 11 | * 3 -> High |
| 12 | + | |
| 11 | 13 | The default potection value is set to 2 (Medium). |
| 12 | 14 | Users: KToshiba |
| 13 | 15 | |
| @@ -18,6 +18,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 17 unmodified lines | ||
| 18 | 18 | Description: This file shows the device type. This is one of the UFS |
| 19 | 19 | device descriptor parameters. The full information about |
| 20 | 20 | the descriptor could be found at UFS specifications 2.1. |
| 21 | + | |
| 21 | 22 | The file is read only. |
| 22 | 23 | |
| 23 | 24 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class |
| @@ -26,6 +27,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 26 | 27 | Description: This file shows the device class. This is one of the UFS |
| 27 | 28 | device descriptor parameters. The full information about |
| 28 | 29 | the descriptor could be found at UFS specifications 2.1. |
| 30 | + | |
| 29 | 31 | The file is read only. |
| 30 | 32 | |
| 31 | 33 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class |
| @@ -34,6 +36,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 34 | 36 | Description: This file shows the UFS storage subclass. This is one of |
| 35 | 37 | the UFS device descriptor parameters. The full information |
| 36 | 38 | about the descriptor could be found at UFS specifications 2.1. |
| 39 | + | |
| 37 | 40 | The file is read only. |
| 38 | 41 | |
| 39 | 42 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol |
| @@ -43,6 +46,7 @@ Description: This file shows the protocol supported by an UFS device. · 3 unmodified lines | ||
| 43 | 46 | This is one of the UFS device descriptor parameters. |
| 44 | 47 | The full information about the descriptor could be found |
| 45 | 48 | at UFS specifications 2.1. |
| 49 | + | |
| 46 | 50 | The file is read only. |
| 47 | 51 | |
| 48 | 52 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns |
| @@ -51,6 +55,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 51 | 55 | Description: This file shows number of logical units. This is one of |
| 52 | 56 | the UFS device descriptor parameters. The full information |
| 53 | 57 | about the descriptor could be found at UFS specifications 2.1. |
| 58 | + | |
| 54 | 59 | The file is read only. |
| 55 | 60 | |
| 56 | 61 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns |
| @@ -60,6 +65,7 @@ Description: This file shows number of well known logical units. · 3 unmodified lines | ||
| 60 | 65 | This is one of the UFS device descriptor parameters. |
| 61 | 66 | The full information about the descriptor could be found |
| 62 | 67 | at UFS specifications 2.1. |
| 68 | + | |
| 63 | 69 | The file is read only. |
| 64 | 70 | |
| 65 | 71 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable |
| @@ -69,6 +75,7 @@ Description: This file shows value that indicates whether the device is · 3 unmodified lines | ||
| 69 | 75 | enabled for boot. This is one of the UFS device descriptor |
| 70 | 76 | parameters. The full information about the descriptor could |
| 71 | 77 | be found at UFS specifications 2.1. |
| 78 | + | |
| 72 | 79 | The file is read only. |
| 73 | 80 | |
| 74 | 81 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable |
| @@ -79,6 +86,7 @@ Description: This file shows value that indicates whether the device · 4 unmodified lines | ||
| 79 | 86 | of the boot sequence. This is one of the UFS device descriptor |
| 80 | 87 | parameters. The full information about the descriptor could |
| 81 | 88 | be found at UFS specifications 2.1. |
| 89 | + | |
| 82 | 90 | The file is read only. |
| 83 | 91 | |
| 84 | 92 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode |
| @@ -88,6 +96,7 @@ Description: This file shows value that defines the power mode after · 3 unmodified lines | ||
| 88 | 96 | device initialization or hardware reset. This is one of |
| 89 | 97 | the UFS device descriptor parameters. The full information |
| 90 | 98 | about the descriptor could be found at UFS specifications 2.1. |
| 99 | + | |
| 91 | 100 | The file is read only. |
| 92 | 101 | |
| 93 | 102 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun |
| @@ -96,6 +105,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 96 | 105 | Description: This file shows the high priority lun. This is one of |
| 97 | 106 | the UFS device descriptor parameters. The full information |
| 98 | 107 | about the descriptor could be found at UFS specifications 2.1. |
| 108 | + | |
| 99 | 109 | The file is read only. |
| 100 | 110 | |
| 101 | 111 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type |
| @@ -104,6 +114,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 104 | 114 | Description: This file shows the secure removal type. This is one of |
| 105 | 115 | the UFS device descriptor parameters. The full information |
| 106 | 116 | about the descriptor could be found at UFS specifications 2.1. |
| 117 | + | |
| 107 | 118 | The file is read only. |
| 108 | 119 | |
| 109 | 120 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun |
| @@ -113,6 +124,7 @@ Description: This file shows whether the security lun is supported. · 3 unmodified lines | ||
| 113 | 124 | This is one of the UFS device descriptor parameters. |
| 114 | 125 | The full information about the descriptor could be found |
| 115 | 126 | at UFS specifications 2.1. |
| 127 | + | |
| 116 | 128 | The file is read only. |
| 117 | 129 | |
| 118 | 130 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency |
| @@ -122,6 +134,7 @@ Description: This file shows the background operations termination · 3 unmodified lines | ||
| 122 | 134 | latency. This is one of the UFS device descriptor parameters. |
| 123 | 135 | The full information about the descriptor could be found |
| 124 | 136 | at UFS specifications 2.1. |
| 137 | + | |
| 125 | 138 | The file is read only. |
| 126 | 139 | |
| 127 | 140 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level |
| @@ -130,6 +143,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 130 | 143 | Description: This file shows the initial active ICC level. This is one |
| 131 | 144 | of the UFS device descriptor parameters. The full information |
| 132 | 145 | about the descriptor could be found at UFS specifications 2.1. |
| 146 | + | |
| 133 | 147 | The file is read only. |
| 134 | 148 | |
| 135 | 149 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version |
| @@ -138,6 +152,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 138 | 152 | Description: This file shows the specification version. This is one |
| 139 | 153 | of the UFS device descriptor parameters. The full information |
| 140 | 154 | about the descriptor could be found at UFS specifications 2.1. |
| 155 | + | |
| 141 | 156 | The file is read only. |
| 142 | 157 | |
| 143 | 158 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date |
| @@ -147,6 +162,7 @@ Description: This file shows the manufacturing date in BCD format. · 3 unmodified lines | ||
| 147 | 162 | This is one of the UFS device descriptor parameters. |
| 148 | 163 | The full information about the descriptor could be found |
| 149 | 164 | at UFS specifications 2.1. |
| 165 | + | |
| 150 | 166 | The file is read only. |
| 151 | 167 | |
| 152 | 168 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id |
| @@ -155,6 +171,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 155 | 171 | Description: This file shows the manufacturee ID. This is one of the |
| 156 | 172 | UFS device descriptor parameters. The full information about |
| 157 | 173 | the descriptor could be found at UFS specifications 2.1. |
| 174 | + | |
| 158 | 175 | The file is read only. |
| 159 | 176 | |
| 160 | 177 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability |
| @@ -164,6 +181,7 @@ Description: This file shows the maximum number of outstanding RTTs · 3 unmodified lines | ||
| 164 | 181 | supported by the device. This is one of the UFS device |
| 165 | 182 | descriptor parameters. The full information about |
| 166 | 183 | the descriptor could be found at UFS specifications 2.1. |
| 184 | + | |
| 167 | 185 | The file is read only. |
| 168 | 186 | |
| 169 | 187 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update |
| @@ -173,6 +191,7 @@ Description: This file shows the frequency and method of the realtime · 3 unmodified lines | ||
| 173 | 191 | clock update. This is one of the UFS device descriptor |
| 174 | 192 | parameters. The full information about the descriptor |
| 175 | 193 | could be found at UFS specifications 2.1. |
| 194 | + | |
| 176 | 195 | The file is read only. |
| 177 | 196 | |
| 178 | 197 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features |
| @@ -182,6 +201,7 @@ Description: This file shows which features are supported by the device. · 3 unmodified lines | ||
| 182 | 201 | This is one of the UFS device descriptor parameters. |
| 183 | 202 | The full information about the descriptor could be |
| 184 | 203 | found at UFS specifications 2.1. |
| 204 | + | |
| 185 | 205 | The file is read only. |
| 186 | 206 | |
| 187 | 207 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout |
| @@ -190,6 +210,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 190 | 210 | Description: This file shows the FFU timeout. This is one of the |
| 191 | 211 | UFS device descriptor parameters. The full information |
| 192 | 212 | about the descriptor could be found at UFS specifications 2.1. |
| 213 | + | |
| 193 | 214 | The file is read only. |
| 194 | 215 | |
| 195 | 216 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth |
| @@ -198,6 +219,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 198 | 219 | Description: This file shows the device queue depth. This is one of the |
| 199 | 220 | UFS device descriptor parameters. The full information |
| 200 | 221 | about the descriptor could be found at UFS specifications 2.1. |
| 222 | + | |
| 201 | 223 | The file is read only. |
| 202 | 224 | |
| 203 | 225 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version |
| @@ -206,6 +228,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 206 | 228 | Description: This file shows the device version. This is one of the |
| 207 | 229 | UFS device descriptor parameters. The full information |
| 208 | 230 | about the descriptor could be found at UFS specifications 2.1. |
| 231 | + | |
| 209 | 232 | The file is read only. |
| 210 | 233 | |
| 211 | 234 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa |
| @@ -215,6 +238,7 @@ Description: This file shows number of secure write protect areas · 3 unmodified lines | ||
| 215 | 238 | supported by the device. This is one of the UFS device |
| 216 | 239 | descriptor parameters. The full information about |
| 217 | 240 | the descriptor could be found at UFS specifications 2.1. |
| 241 | + | |
| 218 | 242 | The file is read only. |
| 219 | 243 | |
| 220 | 244 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size |
| @@ -225,6 +249,7 @@ Description: This file shows the maximum amount of data that may be · 4 unmodified lines | ||
| 225 | 249 | This is one of the UFS device descriptor parameters. |
| 226 | 250 | The full information about the descriptor could be found |
| 227 | 251 | at UFS specifications 2.1. |
| 252 | + | |
| 228 | 253 | The file is read only. |
| 229 | 254 | |
| 230 | 255 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout |
| @@ -234,6 +259,7 @@ Description: This file shows the command maximum timeout for a change · 3 unmodified lines | ||
| 234 | 259 | in PSA state. This is one of the UFS device descriptor |
| 235 | 260 | parameters. The full information about the descriptor could |
| 236 | 261 | be found at UFS specifications 2.1. |
| 262 | + | |
| 237 | 263 | The file is read only. |
| 238 | 264 | |
| 239 | 265 | |
| @@ -244,6 +270,7 @@ Description: This file shows the MIPI UniPro version number in BCD format. · 4 unmodified lines | ||
| 244 | 270 | This is one of the UFS interconnect descriptor parameters. |
| 245 | 271 | The full information about the descriptor could be found at |
| 246 | 272 | UFS specifications 2.1. |
| 273 | + | |
| 247 | 274 | The file is read only. |
| 248 | 275 | |
| 249 | 276 | What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version |
| @@ -253,6 +280,7 @@ Description: This file shows the MIPI M-PHY version number in BCD format. · 3 unmodified lines | ||
| 253 | 280 | This is one of the UFS interconnect descriptor parameters. |
| 254 | 281 | The full information about the descriptor could be found at |
| 255 | 282 | UFS specifications 2.1. |
| 283 | + | |
| 256 | 284 | The file is read only. |
| 257 | 285 | |
| 258 | 286 | |
| @@ -264,6 +292,7 @@ Description: This file shows the total memory quantity available to · 5 unmodified lines | ||
| 264 | 292 | of the UFS geometry descriptor parameters. The full |
| 265 | 293 | information about the descriptor could be found at |
| 266 | 294 | UFS specifications 2.1. |
| 295 | + | |
| 267 | 296 | The file is read only. |
| 268 | 297 | |
| 269 | 298 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns |
| @@ -273,6 +302,7 @@ Description: This file shows the maximum number of logical units · 3 unmodified lines | ||
| 273 | 302 | supported by the UFS device. This is one of the UFS |
| 274 | 303 | geometry descriptor parameters. The full information about |
| 275 | 304 | the descriptor could be found at UFS specifications 2.1. |
| 305 | + | |
| 276 | 306 | The file is read only. |
| 277 | 307 | |
| 278 | 308 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size |
| @@ -281,6 +311,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 281 | 311 | Description: This file shows the segment size. This is one of the UFS |
| 282 | 312 | geometry descriptor parameters. The full information about |
| 283 | 313 | the descriptor could be found at UFS specifications 2.1. |
| 314 | + | |
| 284 | 315 | The file is read only. |
| 285 | 316 | |
| 286 | 317 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size |
| @@ -289,6 +320,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 289 | 320 | Description: This file shows the allocation unit size. This is one of |
| 290 | 321 | the UFS geometry descriptor parameters. The full information |
| 291 | 322 | about the descriptor could be found at UFS specifications 2.1. |
| 323 | + | |
| 292 | 324 | The file is read only. |
| 293 | 325 | |
| 294 | 326 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size |
| @@ -298,6 +330,7 @@ Description: This file shows the minimum addressable block size. This · 3 unmodified lines | ||
| 298 | 330 | is one of the UFS geometry descriptor parameters. The full |
| 299 | 331 | information about the descriptor could be found at UFS |
| 300 | 332 | specifications 2.1. |
| 333 | + | |
| 301 | 334 | The file is read only. |
| 302 | 335 | |
| 303 | 336 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size |
| @@ -307,6 +340,7 @@ Description: This file shows the optimal read block size. This is one · 3 unmodified lines | ||
| 307 | 340 | of the UFS geometry descriptor parameters. The full |
| 308 | 341 | information about the descriptor could be found at UFS |
| 309 | 342 | specifications 2.1. |
| 343 | + | |
| 310 | 344 | The file is read only. |
| 311 | 345 | |
| 312 | 346 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size |
| @@ -316,6 +350,7 @@ Description: This file shows the optimal write block size. This is one · 3 unmodified lines | ||
| 316 | 350 | of the UFS geometry descriptor parameters. The full |
| 317 | 351 | information about the descriptor could be found at UFS |
| 318 | 352 | specifications 2.1. |
| 353 | + | |
| 319 | 354 | The file is read only. |
| 320 | 355 | |
| 321 | 356 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size |
| @@ -325,6 +360,7 @@ Description: This file shows the maximum data-in buffer size. This · 3 unmodified lines | ||
| 325 | 360 | is one of the UFS geometry descriptor parameters. The full |
| 326 | 361 | information about the descriptor could be found at UFS |
| 327 | 362 | specifications 2.1. |
| 363 | + | |
| 328 | 364 | The file is read only. |
| 329 | 365 | |
| 330 | 366 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size |
| @@ -334,6 +370,7 @@ Description: This file shows the maximum data-out buffer size. This · 3 unmodified lines | ||
| 334 | 370 | is one of the UFS geometry descriptor parameters. The full |
| 335 | 371 | information about the descriptor could be found at UFS |
| 336 | 372 | specifications 2.1. |
| 373 | + | |
| 337 | 374 | The file is read only. |
| 338 | 375 | |
| 339 | 376 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size |
| @@ -343,6 +380,7 @@ Description: This file shows the maximum number of RPMB frames allowed · 3 unmodified lines | ||
| 343 | 380 | in Security Protocol In/Out. This is one of the UFS geometry |
| 344 | 381 | descriptor parameters. The full information about the |
| 345 | 382 | descriptor could be found at UFS specifications 2.1. |
| 383 | + | |
| 346 | 384 | The file is read only. |
| 347 | 385 | |
| 348 | 386 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy |
| @@ -352,6 +390,7 @@ Description: This file shows the dynamic capacity resource policy. This · 3 unmodified lines | ||
| 352 | 390 | is one of the UFS geometry descriptor parameters. The full |
| 353 | 391 | information about the descriptor could be found at |
| 354 | 392 | UFS specifications 2.1. |
| 393 | + | |
| 355 | 394 | The file is read only. |
| 356 | 395 | |
| 357 | 396 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering |
| @@ -361,6 +400,7 @@ Description: This file shows support for out-of-order data transfer. · 3 unmodified lines | ||
| 361 | 400 | This is one of the UFS geometry descriptor parameters. |
| 362 | 401 | The full information about the descriptor could be found at |
| 363 | 402 | UFS specifications 2.1. |
| 403 | + | |
| 364 | 404 | The file is read only. |
| 365 | 405 | |
| 366 | 406 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts |
| @@ -370,6 +410,7 @@ Description: This file shows maximum available number of contexts which · 3 unmodified lines | ||
| 370 | 410 | are supported by the device. This is one of the UFS geometry |
| 371 | 411 | descriptor parameters. The full information about the |
| 372 | 412 | descriptor could be found at UFS specifications 2.1. |
| 413 | + | |
| 373 | 414 | The file is read only. |
| 374 | 415 | |
| 375 | 416 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size |
| @@ -378,6 +419,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 378 | 419 | Description: This file shows system data tag unit size. This is one of |
| 379 | 420 | the UFS geometry descriptor parameters. The full information |
| 380 | 421 | about the descriptor could be found at UFS specifications 2.1. |
| 422 | + | |
| 381 | 423 | The file is read only. |
| 382 | 424 | |
| 383 | 425 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size |
| @@ -388,6 +430,7 @@ Description: This file shows maximum storage area size allocated by · 4 unmodified lines | ||
| 388 | 430 | This is one of the UFS geometry descriptor parameters. |
| 389 | 431 | The full information about the descriptor could be found at |
| 390 | 432 | UFS specifications 2.1. |
| 433 | + | |
| 391 | 434 | The file is read only. |
| 392 | 435 | |
| 393 | 436 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types |
| @@ -397,6 +440,7 @@ Description: This file shows supported secure removal types. This is · 3 unmodified lines | ||
| 397 | 440 | one of the UFS geometry descriptor parameters. The full |
| 398 | 441 | information about the descriptor could be found at |
| 399 | 442 | UFS specifications 2.1. |
| 443 | + | |
| 400 | 444 | The file is read only. |
| 401 | 445 | |
| 402 | 446 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types |
| @@ -406,6 +450,7 @@ Description: This file shows supported memory types. This is one of · 3 unmodified lines | ||
| 406 | 450 | the UFS geometry descriptor parameters. The full |
| 407 | 451 | information about the descriptor could be found at |
| 408 | 452 | UFS specifications 2.1. |
| 453 | + | |
| 409 | 454 | The file is read only. |
| 410 | 455 | |
| 411 | 456 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units |
| @@ -416,6 +461,7 @@ Description: This file shows the maximum number of allocation units for · 4 unmodified lines | ||
| 416 | 461 | enhanced type 1-4). This is one of the UFS geometry |
| 417 | 462 | descriptor parameters. The full information about the |
| 418 | 463 | descriptor could be found at UFS specifications 2.1. |
| 464 | + | |
| 419 | 465 | The file is read only. |
| 420 | 466 | |
| 421 | 467 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor |
| @@ -426,6 +472,7 @@ Description: This file shows the memory capacity adjustment factor for · 4 unmodified lines | ||
| 426 | 472 | enhanced type 1-4). This is one of the UFS geometry |
| 427 | 473 | descriptor parameters. The full information about the |
| 428 | 474 | descriptor could be found at UFS specifications 2.1. |
| 475 | + | |
| 429 | 476 | The file is read only. |
| 430 | 477 | |
| 431 | 478 | |
| @@ -436,6 +483,7 @@ Description: This file shows preend of life information. This is one · 4 unmodified lines | ||
| 436 | 483 | of the UFS health descriptor parameters. The full |
| 437 | 484 | information about the descriptor could be found at |
| 438 | 485 | UFS specifications 2.1. |
| 486 | + | |
| 439 | 487 | The file is read only. |
| 440 | 488 | |
| 441 | 489 | What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a |
| @@ -445,6 +493,7 @@ Description: This file shows indication of the device life time · 3 unmodified lines | ||
| 445 | 493 | (method a). This is one of the UFS health descriptor |
| 446 | 494 | parameters. The full information about the descriptor |
| 447 | 495 | could be found at UFS specifications 2.1. |
| 496 | + | |
| 448 | 497 | The file is read only. |
| 449 | 498 | |
| 450 | 499 | What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b |
| @@ -454,6 +503,7 @@ Description: This file shows indication of the device life time · 3 unmodified lines | ||
| 454 | 503 | (method b). This is one of the UFS health descriptor |
| 455 | 504 | parameters. The full information about the descriptor |
| 456 | 505 | could be found at UFS specifications 2.1. |
| 506 | + | |
| 457 | 507 | The file is read only. |
| 458 | 508 | |
| 459 | 509 | |
| @@ -464,6 +514,7 @@ Description: This file shows maximum VCC, VCCQ and VCCQ2 value for · 4 unmodified lines | ||
| 464 | 514 | active ICC levels from 0 to 15. This is one of the UFS |
| 465 | 515 | power descriptor parameters. The full information about |
| 466 | 516 | the descriptor could be found at UFS specifications 2.1. |
| 517 | + | |
| 467 | 518 | The file is read only. |
| 468 | 519 | |
| 469 | 520 | |
| @@ -473,6 +524,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 3 unmodified lines | ||
| 473 | 524 | Description: This file contains a device manufactureer name string. |
| 474 | 525 | The full information about the descriptor could be found at |
| 475 | 526 | UFS specifications 2.1. |
| 527 | + | |
| 476 | 528 | The file is read only. |
| 477 | 529 | |
| 478 | 530 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name |
| @@ -480,6 +532,7 @@ Date: February 2018 · 1 unmodified line | ||
| 480 | 532 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 481 | 533 | Description: This file contains a product name string. The full information |
| 482 | 534 | about the descriptor could be found at UFS specifications 2.1. |
| 535 | + | |
| 483 | 536 | The file is read only. |
| 484 | 537 | |
| 485 | 538 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id |
| @@ -487,6 +540,7 @@ Date: February 2018 · 1 unmodified line | ||
| 487 | 540 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 488 | 541 | Description: This file contains a OEM ID string. The full information |
| 489 | 542 | about the descriptor could be found at UFS specifications 2.1. |
| 543 | + | |
| 490 | 544 | The file is read only. |
| 491 | 545 | |
| 492 | 546 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number |
| @@ -495,6 +549,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 495 | 549 | Description: This file contains a device serial number string. The full |
| 496 | 550 | information about the descriptor could be found at |
| 497 | 551 | UFS specifications 2.1. |
| 552 | + | |
| 498 | 553 | The file is read only. |
| 499 | 554 | |
| 500 | 555 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision |
| @@ -503,6 +558,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 503 | 558 | Description: This file contains a product revision string. The full |
| 504 | 559 | information about the descriptor could be found at |
| 505 | 560 | UFS specifications 2.1. |
| 561 | + | |
| 506 | 562 | The file is read only. |
| 507 | 563 | |
| 508 | 564 | |
| @@ -512,6 +568,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 3 unmodified lines | ||
| 512 | 568 | Description: This file shows boot LUN information. This is one of |
| 513 | 569 | the UFS unit descriptor parameters. The full information |
| 514 | 570 | about the descriptor could be found at UFS specifications 2.1. |
| 571 | + | |
| 515 | 572 | The file is read only. |
| 516 | 573 | |
| 517 | 574 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect |
| @@ -520,6 +577,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 520 | 577 | Description: This file shows LUN write protection status. This is one of |
| 521 | 578 | the UFS unit descriptor parameters. The full information |
| 522 | 579 | about the descriptor could be found at UFS specifications 2.1. |
| 580 | + | |
| 523 | 581 | The file is read only. |
| 524 | 582 | |
| 525 | 583 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth |
| @@ -528,6 +586,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 528 | 586 | Description: This file shows LUN queue depth. This is one of the UFS |
| 529 | 587 | unit descriptor parameters. The full information about |
| 530 | 588 | the descriptor could be found at UFS specifications 2.1. |
| 589 | + | |
| 531 | 590 | The file is read only. |
| 532 | 591 | |
| 533 | 592 | What: /sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive |
| @@ -536,6 +595,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 536 | 595 | Description: This file shows PSA sensitivity. This is one of the UFS |
| 537 | 596 | unit descriptor parameters. The full information about |
| 538 | 597 | the descriptor could be found at UFS specifications 2.1. |
| 598 | + | |
| 539 | 599 | The file is read only. |
| 540 | 600 | |
| 541 | 601 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type |
| @@ -544,6 +604,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 544 | 604 | Description: This file shows LUN memory type. This is one of the UFS |
| 545 | 605 | unit descriptor parameters. The full information about |
| 546 | 606 | the descriptor could be found at UFS specifications 2.1. |
| 607 | + | |
| 547 | 608 | The file is read only. |
| 548 | 609 | |
| 549 | 610 | What: /sys/class/scsi_device/*/device/unit_descriptor/data_reliability |
| @@ -553,6 +614,7 @@ Description: This file defines the device behavior when a power failure · 3 unmodified lines | ||
| 553 | 614 | occurs during a write operation. This is one of the UFS |
| 554 | 615 | unit descriptor parameters. The full information about |
| 555 | 616 | the descriptor could be found at UFS specifications 2.1. |
| 617 | + | |
| 556 | 618 | The file is read only. |
| 557 | 619 | |
| 558 | 620 | What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_size |
| @@ -562,6 +624,7 @@ Description: This file shows the size of addressable logical blocks · 3 unmodified lines | ||
| 562 | 624 | (calculated as an exponent with base 2). This is one of |
| 563 | 625 | the UFS unit descriptor parameters. The full information about |
| 564 | 626 | the descriptor could be found at UFS specifications 2.1. |
| 627 | + | |
| 565 | 628 | The file is read only. |
| 566 | 629 | |
| 567 | 630 | What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_count |
| @@ -571,6 +634,7 @@ Description: This file shows total number of addressable logical blocks. · 3 unmodified lines | ||
| 571 | 634 | This is one of the UFS unit descriptor parameters. The full |
| 572 | 635 | information about the descriptor could be found at |
| 573 | 636 | UFS specifications 2.1. |
| 637 | + | |
| 574 | 638 | The file is read only. |
| 575 | 639 | |
| 576 | 640 | What: /sys/class/scsi_device/*/device/unit_descriptor/erase_block_size |
| @@ -579,6 +643,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 579 | 643 | Description: This file shows the erase block size. This is one of |
| 580 | 644 | the UFS unit descriptor parameters. The full information |
| 581 | 645 | about the descriptor could be found at UFS specifications 2.1. |
| 646 | + | |
| 582 | 647 | The file is read only. |
| 583 | 648 | |
| 584 | 649 | What: /sys/class/scsi_device/*/device/unit_descriptor/provisioning_type |
| @@ -587,6 +652,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 587 | 652 | Description: This file shows the thin provisioning type. This is one of |
| 588 | 653 | the UFS unit descriptor parameters. The full information |
| 589 | 654 | about the descriptor could be found at UFS specifications 2.1. |
| 655 | + | |
| 590 | 656 | The file is read only. |
| 591 | 657 | |
| 592 | 658 | What: /sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count |
| @@ -595,6 +661,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 595 | 661 | Description: This file shows the total physical memory resources. This is |
| 596 | 662 | one of the UFS unit descriptor parameters. The full information |
| 597 | 663 | about the descriptor could be found at UFS specifications 2.1. |
| 664 | + | |
| 598 | 665 | The file is read only. |
| 599 | 666 | |
| 600 | 667 | What: /sys/class/scsi_device/*/device/unit_descriptor/context_capabilities |
| @@ -603,6 +670,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 603 | 670 | Description: This file shows the context capabilities. This is one of |
| 604 | 671 | the UFS unit descriptor parameters. The full information |
| 605 | 672 | about the descriptor could be found at UFS specifications 2.1. |
| 673 | + | |
| 606 | 674 | The file is read only. |
| 607 | 675 | |
| 608 | 676 | What: /sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity |
| @@ -611,6 +679,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 611 | 679 | Description: This file shows the granularity of the LUN. This is one of |
| 612 | 680 | the UFS unit descriptor parameters. The full information |
| 613 | 681 | about the descriptor could be found at UFS specifications 2.1. |
| 682 | + | |
| 614 | 683 | The file is read only. |
| 615 | 684 | |
| 616 | 685 | |
| @@ -619,6 +688,7 @@ Date: February 2018 · 2 unmodified lines | ||
| 619 | 688 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 620 | 689 | Description: This file shows the device init status. The full information |
| 621 | 690 | about the flag could be found at UFS specifications 2.1. |
| 691 | + | |
| 622 | 692 | The file is read only. |
| 623 | 693 | |
| 624 | 694 | What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe |
| @@ -627,6 +697,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 627 | 697 | Description: This file shows whether permanent write protection is enabled. |
| 628 | 698 | The full information about the flag could be found at |
| 629 | 699 | UFS specifications 2.1. |
| 700 | + | |
| 630 | 701 | The file is read only. |
| 631 | 702 | |
| 632 | 703 | What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe |
| @@ -636,6 +707,7 @@ Description: This file shows whether write protection is enabled on all · 3 unmodified lines | ||
| 636 | 707 | logical units configured as power on write protected. The |
| 637 | 708 | full information about the flag could be found at |
| 638 | 709 | UFS specifications 2.1. |
| 710 | + | |
| 639 | 711 | The file is read only. |
| 640 | 712 | |
| 641 | 713 | What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable |
| @@ -644,6 +716,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 644 | 716 | Description: This file shows whether the device background operations are |
| 645 | 717 | enabled. The full information about the flag could be |
| 646 | 718 | found at UFS specifications 2.1. |
| 719 | + | |
| 647 | 720 | The file is read only. |
| 648 | 721 | |
| 649 | 722 | What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable |
| @@ -652,6 +725,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 652 | 725 | Description: This file shows whether the device life span mode is enabled. |
| 653 | 726 | The full information about the flag could be found at |
| 654 | 727 | UFS specifications 2.1. |
| 728 | + | |
| 655 | 729 | The file is read only. |
| 656 | 730 | |
| 657 | 731 | What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal |
| @@ -660,6 +734,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 660 | 734 | Description: This file shows whether physical resource removal is enable. |
| 661 | 735 | The full information about the flag could be found at |
| 662 | 736 | UFS specifications 2.1. |
| 737 | + | |
| 663 | 738 | The file is read only. |
| 664 | 739 | |
| 665 | 740 | What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc |
| @@ -668,6 +743,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 668 | 743 | Description: This file shows whether the device is executing internal |
| 669 | 744 | operation related to real time clock. The full information |
| 670 | 745 | about the flag could be found at UFS specifications 2.1. |
| 746 | + | |
| 671 | 747 | The file is read only. |
| 672 | 748 | |
| 673 | 749 | What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update |
| @@ -676,6 +752,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 676 | 752 | Description: This file shows whether the device FW update is permanently |
| 677 | 753 | disabled. The full information about the flag could be found |
| 678 | 754 | at UFS specifications 2.1. |
| 755 | + | |
| 679 | 756 | The file is read only. |
| 680 | 757 | |
| 681 | 758 | |
| @@ -685,6 +762,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 3 unmodified lines | ||
| 685 | 762 | Description: This file provides the boot lun enabled UFS device attribute. |
| 686 | 763 | The full information about the attribute could be found at |
| 687 | 764 | UFS specifications 2.1. |
| 765 | + | |
| 688 | 766 | The file is read only. |
| 689 | 767 | |
| 690 | 768 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode |
| @@ -693,6 +771,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 693 | 771 | Description: This file provides the current power mode UFS device attribute. |
| 694 | 772 | The full information about the attribute could be found at |
| 695 | 773 | UFS specifications 2.1. |
| 774 | + | |
| 696 | 775 | The file is read only. |
| 697 | 776 | |
| 698 | 777 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level |
| @@ -701,6 +780,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 701 | 780 | Description: This file provides the active icc level UFS device attribute. |
| 702 | 781 | The full information about the attribute could be found at |
| 703 | 782 | UFS specifications 2.1. |
| 783 | + | |
| 704 | 784 | The file is read only. |
| 705 | 785 | |
| 706 | 786 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled |
| @@ -709,6 +789,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 709 | 789 | Description: This file provides the out of order data transfer enabled UFS |
| 710 | 790 | device attribute. The full information about the attribute |
| 711 | 791 | could be found at UFS specifications 2.1. |
| 792 | + | |
| 712 | 793 | The file is read only. |
| 713 | 794 | |
| 714 | 795 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status |
| @@ -717,6 +798,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 717 | 798 | Description: This file provides the background operations status UFS device |
| 718 | 799 | attribute. The full information about the attribute could |
| 719 | 800 | be found at UFS specifications 2.1. |
| 801 | + | |
| 720 | 802 | The file is read only. |
| 721 | 803 | |
| 722 | 804 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status |
| @@ -725,6 +807,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 725 | 807 | Description: This file provides the purge operation status UFS device |
| 726 | 808 | attribute. The full information about the attribute could |
| 727 | 809 | be found at UFS specifications 2.1. |
| 810 | + | |
| 728 | 811 | The file is read only. |
| 729 | 812 | |
| 730 | 813 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size |
| @@ -733,6 +816,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 733 | 816 | Description: This file shows the maximum data size in a DATA IN |
| 734 | 817 | UPIU. The full information about the attribute could |
| 735 | 818 | be found at UFS specifications 2.1. |
| 819 | + | |
| 736 | 820 | The file is read only. |
| 737 | 821 | |
| 738 | 822 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size |
| @@ -741,6 +825,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 741 | 825 | Description: This file shows the maximum number of bytes that can be |
| 742 | 826 | requested with a READY TO TRANSFER UPIU. The full information |
| 743 | 827 | about the attribute could be found at UFS specifications 2.1. |
| 828 | + | |
| 744 | 829 | The file is read only. |
| 745 | 830 | |
| 746 | 831 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency |
| @@ -749,6 +834,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 749 | 834 | Description: This file provides the reference clock frequency UFS device |
| 750 | 835 | attribute. The full information about the attribute could |
| 751 | 836 | be found at UFS specifications 2.1. |
| 837 | + | |
| 752 | 838 | The file is read only. |
| 753 | 839 | |
| 754 | 840 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock |
| @@ -765,6 +851,7 @@ Description: This file provides the maximum current number of · 10 unmodified lines | ||
| 765 | 851 | outstanding RTTs in device that is allowed. The full |
| 766 | 852 | information about the attribute could be found at |
| 767 | 853 | UFS specifications 2.1. |
| 854 | + | |
| 768 | 855 | The file is read only. |
| 769 | 856 | |
| 770 | 857 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control |
| @@ -773,6 +860,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 773 | 860 | Description: This file provides the exception event control UFS device |
| 774 | 861 | attribute. The full information about the attribute could |
| 775 | 862 | be found at UFS specifications 2.1. |
| 863 | + | |
| 776 | 864 | The file is read only. |
| 777 | 865 | |
| 778 | 866 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status |
| @@ -781,6 +869,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 781 | 869 | Description: This file provides the exception event status UFS device |
| 782 | 870 | attribute. The full information about the attribute could |
| 783 | 871 | be found at UFS specifications 2.1. |
| 872 | + | |
| 784 | 873 | The file is read only. |
| 785 | 874 | |
| 786 | 875 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status |
| @@ -789,6 +878,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 2 unmodified lines | ||
| 789 | 878 | Description: This file provides the ffu status UFS device attribute. |
| 790 | 879 | The full information about the attribute could be found at |
| 791 | 880 | UFS specifications 2.1. |
| 881 | + | |
| 792 | 882 | The file is read only. |
| 793 | 883 | |
| 794 | 884 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state |
| @@ -796,6 +886,7 @@ Date: February 2018 · 1 unmodified line | ||
| 796 | 886 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 797 | 887 | Description: This file show the PSA feature status. The full information |
| 798 | 888 | about the attribute could be found at UFS specifications 2.1. |
| 889 | + | |
| 799 | 890 | The file is read only. |
| 800 | 891 | |
| 801 | 892 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size |
| @@ -805,6 +896,7 @@ Description: This file shows the amount of data that the host plans to · 3 unmodified lines | ||
| 805 | 896 | load to all logical units in pre-soldering state. |
| 806 | 897 | The full information about the attribute could be found at |
| 807 | 898 | UFS specifications 2.1. |
| 899 | + | |
| 808 | 900 | The file is read only. |
| 809 | 901 | |
| 810 | 902 | |
| @@ -815,6 +907,7 @@ Description: This file shows the The amount of physical memory needed · 4 unmodified lines | ||
| 815 | 907 | to be removed from the physical memory resources pool of |
| 816 | 908 | the particular logical unit. The full information about |
| 817 | 909 | the attribute could be found at UFS specifications 2.1. |
| 910 | + | |
| 818 | 911 | The file is read only. |
| 819 | 912 | |
| 820 | 913 | |
| @@ -824,24 +917,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org> · 3 unmodified lines | ||
| 824 | 917 | Description: This entry could be used to set or show the UFS device |
| 825 | 918 | runtime power management level. The current driver |
| 826 | 919 | implementation supports 6 levels with next target states: |
| 827 | − 0 - an UFS device will stay active, an UIC link will | |
| 828 | − stay active | |
| 829 | − 1 - an UFS device will stay active, an UIC link will | |
| 830 | − hibernate | |
| 831 | − 2 - an UFS device will moved to sleep, an UIC link will | |
| 832 | − stay active | |
| 833 | − 3 - an UFS device will moved to sleep, an UIC link will | |
| 834 | − hibernate | |
| 835 | − 4 - an UFS device will be powered off, an UIC link will | |
| 836 | − hibernate | |
| 837 | − 5 - an UFS device will be powered off, an UIC link will | |
| 838 | − be powered off | |
| 920 | + | |
| 921 | + == ==================================================== | |
| 922 | + 0 an UFS device will stay active, an UIC link will | |
| 923 | + stay active | |
| 924 | + 1 an UFS device will stay active, an UIC link will | |
| 925 | + hibernate | |
| 926 | + 2 an UFS device will moved to sleep, an UIC link will | |
| 927 | + stay active | |
| 928 | + 3 an UFS device will moved to sleep, an UIC link will | |
| 929 | + hibernate | |
| 930 | + 4 an UFS device will be powered off, an UIC link will | |
| 931 | + hibernate | |
| 932 | + 5 an UFS device will be powered off, an UIC link will | |
| 933 | + be powered off | |
| 934 | + == ==================================================== | |
| 839 | 935 | |
| 840 | 936 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state |
| 841 | 937 | Date: February 2018 |
| 842 | 938 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 843 | 939 | Description: This entry shows the target power mode of an UFS device |
| 844 | 940 | for the chosen runtime power management level. |
| 941 | + | |
| 845 | 942 | The file is read only. |
| 846 | 943 | |
| 847 | 944 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state |
| @@ -849,6 +946,7 @@ Date: February 2018 · 1 unmodified line | ||
| 849 | 946 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 850 | 947 | Description: This entry shows the target state of an UFS UIC link |
| 851 | 948 | for the chosen runtime power management level. |
| 949 | + | |
| 852 | 950 | The file is read only. |
| 853 | 951 | |
| 854 | 952 | What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl |
| @@ -857,24 +955,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org> · 2 unmodified lines | ||
| 857 | 955 | Description: This entry could be used to set or show the UFS device |
| 858 | 956 | system power management level. The current driver |
| 859 | 957 | implementation supports 6 levels with next target states: |
| 860 | − 0 - an UFS device will stay active, an UIC link will | |
| 861 | − stay active | |
| 862 | − 1 - an UFS device will stay active, an UIC link will | |
| 863 | − hibernate | |
| 864 | − 2 - an UFS device will moved to sleep, an UIC link will | |
| 865 | − stay active | |
| 866 | − 3 - an UFS device will moved to sleep, an UIC link will | |
| 867 | − hibernate | |
| 868 | − 4 - an UFS device will be powered off, an UIC link will | |
| 869 | − hibernate | |
| 870 | − 5 - an UFS device will be powered off, an UIC link will | |
| 871 | − be powered off | |
| 958 | + | |
| 959 | + == ==================================================== | |
| 960 | + 0 an UFS device will stay active, an UIC link will | |
| 961 | + stay active | |
| 962 | + 1 an UFS device will stay active, an UIC link will | |
| 963 | + hibernate | |
| 964 | + 2 an UFS device will moved to sleep, an UIC link will | |
| 965 | + stay active | |
| 966 | + 3 an UFS device will moved to sleep, an UIC link will | |
| 967 | + hibernate | |
| 968 | + 4 an UFS device will be powered off, an UIC link will | |
| 969 | + hibernate | |
| 970 | + 5 an UFS device will be powered off, an UIC link will | |
| 971 | + be powered off | |
| 972 | + == ==================================================== | |
| 872 | 973 | |
| 873 | 974 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state |
| 874 | 975 | Date: February 2018 |
| 875 | 976 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 876 | 977 | Description: This entry shows the target power mode of an UFS device |
| 877 | 978 | for the chosen system power management level. |
| 979 | + | |
| 878 | 980 | The file is read only. |
| 879 | 981 | |
| 880 | 982 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state |
| @@ -882,18 +984,21 @@ Date: February 2018 · 1 unmodified line | ||
| 882 | 984 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 883 | 985 | Description: This entry shows the target state of an UFS UIC link |
| 884 | 986 | for the chosen system power management level. |
| 987 | + | |
| 885 | 988 | The file is read only. |
| 886 | 989 | |
| 887 | 990 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en |
| 888 | 991 | Date: June 2020 |
| 889 | 992 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 890 | 993 | Description: This entry shows if preserve user-space was configured |
| 994 | + | |
| 891 | 995 | The file is read only. |
| 892 | 996 | |
| 893 | 997 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units |
| 894 | 998 | Date: June 2020 |
| 895 | 999 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 896 | 1000 | Description: This entry shows the shared allocated units of WB buffer |
| 1001 | + | |
| 897 | 1002 | The file is read only. |
| 898 | 1003 | |
| 899 | 1004 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type |
| @@ -901,6 +1006,7 @@ Date: June 2020 · 1 unmodified line | ||
| 901 | 1006 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 902 | 1007 | Description: This entry shows the configured WB type. |
| 903 | 1008 | 0x1 for shared buffer mode. 0x0 for dedicated buffer mode. |
| 1009 | + | |
| 904 | 1010 | The file is read only. |
| 905 | 1011 | |
| 906 | 1012 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj |
| @@ -910,6 +1016,7 @@ Description: This entry shows the total user-space decrease in shared · 3 unmodified lines | ||
| 910 | 1016 | buffer mode. |
| 911 | 1017 | The value of this parameter is 3 for TLC NAND when SLC mode |
| 912 | 1018 | is used as WriteBooster Buffer. 2 for MLC NAND. |
| 1019 | + | |
| 913 | 1020 | The file is read only. |
| 914 | 1021 | |
| 915 | 1022 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units |
| @@ -917,6 +1024,7 @@ Date: June 2020 · 1 unmodified line | ||
| 917 | 1024 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 918 | 1025 | Description: This entry shows the Maximum total WriteBooster Buffer size |
| 919 | 1026 | which is supported by the entire device. |
| 1027 | + | |
| 920 | 1028 | The file is read only. |
| 921 | 1029 | |
| 922 | 1030 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns |
| @@ -924,6 +1032,7 @@ Date: June 2020 · 1 unmodified line | ||
| 924 | 1032 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 925 | 1033 | Description: This entry shows the maximum number of luns that can support |
| 926 | 1034 | WriteBooster. |
| 1035 | + | |
| 927 | 1036 | The file is read only. |
| 928 | 1037 | |
| 929 | 1038 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type |
| @@ -937,46 +1046,59 @@ Description: The supportability of user space reduction mode · 7 unmodified lines | ||
| 937 | 1046 | preserve user space type. |
| 938 | 1047 | 02h: Device can be configured in either user space |
| 939 | 1048 | reduction type or preserve user space type. |
| 1049 | + | |
| 940 | 1050 | The file is read only. |
| 941 | 1051 | |
| 942 | 1052 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type |
| 943 | 1053 | Date: June 2020 |
| 944 | 1054 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 945 | 1055 | Description: The supportability of WriteBooster Buffer type. |
| 946 | − 00h: LU based WriteBooster Buffer configuration | |
| 947 | − 01h: Single shared WriteBooster Buffer | |
| 948 | − configuration | |
| 949 | − 02h: Supporting both LU based WriteBooster | |
| 950 | − Buffer and Single shared WriteBooster Buffer | |
| 951 | − configuration | |
| 1056 | + | |
| 1057 | + === ========================================================== | |
| 1058 | + 00h LU based WriteBooster Buffer configuration | |
| 1059 | + 01h Single shared WriteBooster Buffer configuration | |
| 1060 | + 02h Supporting both LU based WriteBooster. | |
| 1061 | + Buffer and Single shared WriteBooster Buffer configuration | |
| 1062 | + === ========================================================== | |
| 1063 | + | |
| 952 | 1064 | The file is read only. |
| 953 | 1065 | |
| 954 | 1066 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable |
| 955 | 1067 | Date: June 2020 |
| 956 | 1068 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 957 | 1069 | Description: This entry shows the status of WriteBooster. |
| 958 | − 0: WriteBooster is not enabled. | |
| 959 | − 1: WriteBooster is enabled | |
| 1070 | + | |
| 1071 | + == ============================ | |
| 1072 | + 0 WriteBooster is not enabled. | |
| 1073 | + 1 WriteBooster is enabled | |
| 1074 | + == ============================ | |
| 1075 | + | |
| 960 | 1076 | The file is read only. |
| 961 | 1077 | |
| 962 | 1078 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en |
| 963 | 1079 | Date: June 2020 |
| 964 | 1080 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 965 | 1081 | Description: This entry shows if flush is enabled. |
| 966 | − 0: Flush operation is not performed. | |
| 967 | − 1: Flush operation is performed. | |
| 1082 | + | |
| 1083 | + == ================================= | |
| 1084 | + 0 Flush operation is not performed. | |
| 1085 | + 1 Flush operation is performed. | |
| 1086 | + == ================================= | |
| 1087 | + | |
| 968 | 1088 | The file is read only. |
| 969 | 1089 | |
| 970 | 1090 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 |
| 971 | 1091 | Date: June 2020 |
| 972 | 1092 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 973 | 1093 | Description: Flush WriteBooster Buffer during hibernate state. |
| 974 | − 0: Device is not allowed to flush the | |
| 975 | − WriteBooster Buffer during link hibernate | |
| 976 | − state. | |
| 977 | − 1: Device is allowed to flush the | |
| 978 | − WriteBooster Buffer during link hibernate | |
| 979 | − state | |
| 1094 | + | |
| 1095 | + == ================================================= | |
| 1096 | + 0 Device is not allowed to flush the | |
| 1097 | + WriteBooster Buffer during link hibernate state. | |
| 1098 | + 1 Device is allowed to flush the | |
| 1099 | + WriteBooster Buffer during link hibernate state. | |
| 1100 | + == ================================================= | |
| 1101 | + | |
| 980 | 1102 | The file is read only. |
| 981 | 1103 | |
| 982 | 1104 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf |
| @@ -984,23 +1106,30 @@ Date: June 2020 · 1 unmodified line | ||
| 984 | 1106 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 985 | 1107 | Description: This entry shows the amount of unused WriteBooster buffer |
| 986 | 1108 | available. |
| 1109 | + | |
| 987 | 1110 | The file is read only. |
| 988 | 1111 | |
| 989 | 1112 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf |
| 990 | 1113 | Date: June 2020 |
| 991 | 1114 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 992 | 1115 | Description: This entry shows the amount of unused current buffer. |
| 1116 | + | |
| 993 | 1117 | The file is read only. |
| 994 | 1118 | |
| 995 | 1119 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status |
| 996 | 1120 | Date: June 2020 |
| 997 | 1121 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 998 | 1122 | Description: This entry shows the flush operation status. |
| 999 | − 00h: idle | |
| 1000 | − 01h: Flush operation in progress | |
| 1001 | − 02h: Flush operation stopped prematurely. | |
| 1002 | − 03h: Flush operation completed successfully | |
| 1003 | − 04h: Flush operation general failure | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + === ====================================== | |
| 1126 | + 00h idle | |
| 1127 | + 01h Flush operation in progress | |
| 1128 | + 02h Flush operation stopped prematurely. | |
| 1129 | + 03h Flush operation completed successfully | |
| 1130 | + 04h Flush operation general failure | |
| 1131 | + === ====================================== | |
| 1132 | + | |
| 1004 | 1133 | The file is read only. |
| 1005 | 1134 | |
| 1006 | 1135 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est |
| @@ -1008,9 +1137,13 @@ Date: June 2020 · 1 unmodified line | ||
| 1008 | 1137 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 1009 | 1138 | Description: This entry shows an indication of the WriteBooster Buffer |
| 1010 | 1139 | lifetime based on the amount of performed program/erase cycles |
| 1011 | − 01h: 0% - 10% WriteBooster Buffer life time used | |
| 1140 | + | |
| 1141 | + === ============================================= | |
| 1142 | + 01h 0% - 10% WriteBooster Buffer life time used | |
| 1012 | 1143 | ... |
| 1013 | − 0Ah: 90% - 100% WriteBooster Buffer life time used | |
| 1144 | + 0Ah 90% - 100% WriteBooster Buffer life time used | |
| 1145 | + === ============================================= | |
| 1146 | + | |
| 1014 | 1147 | The file is read only. |
| 1015 | 1148 | |
| 1016 | 1149 | What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units |
| @@ -1018,4 +1151,5 @@ Date: June 2020 · 1 unmodified line | ||
| 1018 | 1151 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 1019 | 1152 | Description: This entry shows the configured size of WriteBooster buffer. |
| 1020 | 1153 | 0400h corresponds to 4GB. |
| 1154 | + | |
| 1021 | 1155 | The file is read only. |
| @@ -5,7 +5,9 @@ Contact: Jan Kandziora <jjj@gmx.de> · 4 unmodified lines | ||
| 5 | 5 | Description: When written, this file sets the I2C speed on the connected |
| 6 | 6 | DS28E17 chip. When read, it reads the current setting from |
| 7 | 7 | the DS28E17 chip. |
| 8 | + | |
| 8 | 9 | Valid values: 100, 400, 900 [kBaud]. |
| 10 | + | |
| 9 | 11 | Default 100, can be set by w1_ds28e17.speed= module parameter. |
| 10 | 12 | Users: w1_ds28e17 driver |
| 11 | 13 | |
| @@ -17,5 +19,6 @@ Description: When written, this file sets the multiplier used to calculate · 5 unmodified lines | ||
| 17 | 19 | the busy timeout for I2C operations on the connected DS28E17 |
| 18 | 20 | chip. When read, returns the current setting. |
| 19 | 21 | Valid values: 1 to 9. |
| 22 | + | |
| 20 | 23 | Default 1, can be set by w1_ds28e17.stretch= module parameter. |
| 21 | 24 | Users: w1_ds28e17 driver |
| @@ -22,8 +22,10 @@ Description: · 21 unmodified lines | ||
| 22 | 22 | device data to its embedded EEPROM, either restore data |
| 23 | 23 | embedded in device EEPROM. Be aware that devices support |
| 24 | 24 | limited EEPROM writing cycles (typical 50k) |
| 25 | + | |
| 25 | 26 | * 'save': save device RAM to EEPROM |
| 26 | 27 | * 'restore': restore EEPROM data in device RAM |
| 28 | + | |
| 27 | 29 | Users: any user space application which wants to communicate with |
| 28 | 30 | w1_term device |
| 29 | 31 | |
| @@ -33,9 +35,11 @@ Date: May 2020 · 3 unmodified lines | ||
| 33 | 35 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 34 | 36 | Description: |
| 35 | 37 | (RO) return the power status by asking the device |
| 38 | + | |
| 36 | 39 | * '0': device parasite powered |
| 37 | 40 | * '1': device externally powered |
| 38 | 41 | * '-xx': xx is kernel error when reading power status |
| 42 | + | |
| 39 | 43 | Users: any user space application which wants to communicate with |
| 40 | 44 | w1_term device |
| 41 | 45 | |
| @@ -49,10 +53,12 @@ Description: · 7 unmodified lines | ||
| 49 | 53 | will be changed only in device RAM, so it will be cleared when |
| 50 | 54 | power is lost. Trigger a 'save' to EEPROM command to keep |
| 51 | 55 | values after power-on. Read or write are : |
| 56 | + | |
| 52 | 57 | * '9..14': device resolution in bit |
| 53 | − or resolution to set in bit | |
| 58 | + or resolution to set in bit | |
| 54 | 59 | * '-xx': xx is kernel error when reading the resolution |
| 55 | 60 | * Anything else: do nothing |
| 61 | + | |
| 56 | 62 | Some DS18B20 clones are fixed in 12-bit resolution, so the |
| 57 | 63 | actual resolution is read back from the chip and verified. Error |
| 58 | 64 | is reported if the results differ. |
| @@ -65,16 +71,18 @@ Date: May 2020 · 6 unmodified lines | ||
| 65 | 71 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 66 | 72 | Description: |
| 67 | 73 | (RO) return the temperature in 1/1000 degC. |
| 74 | + | |
| 68 | 75 | * If a bulk read has been triggered, it will directly |
| 69 | − return the temperature computed when the bulk read | |
| 70 | − occurred, if available. If not yet available, nothing | |
| 71 | − is returned (a debug kernel message is sent), you | |
| 72 | − should retry later on. | |
| 76 | + return the temperature computed when the bulk read | |
| 77 | + occurred, if available. If not yet available, nothing | |
| 78 | + is returned (a debug kernel message is sent), you | |
| 79 | + should retry later on. | |
| 73 | 80 | * If no bulk read has been triggered, it will trigger |
| 74 | − a conversion and send the result. Note that the | |
| 75 | − conversion duration depend on the resolution (if | |
| 76 | − device support this feature). It takes 94ms in 9bits | |
| 77 | − resolution, 750ms for 12bits. | |
| 81 | + a conversion and send the result. Note that the | |
| 82 | + conversion duration depend on the resolution (if | |
| 83 | + device support this feature). It takes 94ms in 9bits | |
| 84 | + resolution, 750ms for 12bits. | |
| 85 | + | |
| 78 | 86 | Users: any user space application which wants to communicate with |
| 79 | 87 | w1_term device |
| 80 | 88 | |
| @@ -86,12 +94,14 @@ Description: · 5 unmodified lines | ||
| 86 | 94 | (RW) return the temperature in 1/1000 degC. |
| 87 | 95 | *read*: return 2 lines with the hexa output data sent on the |
| 88 | 96 | bus, return the CRC check and temperature in 1/1000 degC |
| 89 | − *write* : | |
| 97 | + *write*: | |
| 98 | + | |
| 90 | 99 | * '0' : save the 2 or 3 bytes to the device EEPROM |
| 91 | − (i.e. TH, TL and config register) | |
| 100 | + (i.e. TH, TL and config register) | |
| 92 | 101 | * '9..14' : set the device resolution in RAM |
| 93 | − (if supported) | |
| 102 | + (if supported) | |
| 94 | 103 | * Anything else: do nothing |
| 104 | + | |
| 95 | 105 | refer to Documentation/w1/slaves/w1_therm.rst for detailed |
| 96 | 106 | information. |
| 97 | 107 | Users: any user space application which wants to communicate with |
| @@ -103,14 +113,21 @@ Date: May 2020 · 5 unmodified lines | ||
| 103 | 113 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 104 | 114 | Description: |
| 105 | 115 | (RW) trigger a bulk read conversion. read the status |
| 116 | + | |
| 106 | 117 | *read*: |
| 107 | − * '-1': conversion in progress on at least 1 sensor | |
| 108 | − * '1' : conversion complete but at least one sensor | |
| 118 | + * '-1': | |
| 119 | + conversion in progress on at least 1 sensor | |
| 120 | + * '1' : | |
| 121 | + conversion complete but at least one sensor | |
| 109 | 122 | value has not been read yet |
| 110 | − * '0' : no bulk operation. Reading temperature will | |
| 123 | + * '0' : | |
| 124 | + no bulk operation. Reading temperature will | |
| 111 | 125 | trigger a conversion on each device |
| 112 | − *write*: 'trigger': trigger a bulk read on all supporting | |
| 126 | + | |
| 127 | + *write*: | |
| 128 | + 'trigger': trigger a bulk read on all supporting | |
| 113 | 129 | devices on the bus |
| 130 | + | |
| 114 | 131 | Note that if a bulk read is sent but one sensor is not read |
| 115 | 132 | immediately, the next access to temperature on this device |
| 116 | 133 | will return the temperature measured at the time of issue |
| @@ -128,14 +145,19 @@ Description: · 11 unmodified lines | ||
| 128 | 145 | reset to default (datasheet) conversion time for a new |
| 129 | 146 | resolution. |
| 130 | 147 | |
| 131 | − *read*: Actual conversion time in milliseconds. *write*: | |
| 132 | − '0': Set the default conversion time from the datasheet. | |
| 133 | − '1': Measure and set the conversion time. Make a single | |
| 148 | + *read*: | |
| 149 | + Actual conversion time in milliseconds. | |
| 150 | + | |
| 151 | + *write*: | |
| 152 | + * '0': | |
| 153 | + Set the default conversion time from the datasheet. | |
| 154 | + * '1': | |
| 155 | + Measure and set the conversion time. Make a single | |
| 134 | 156 | temperature conversion, measure an actual value. |
| 135 | 157 | Increase it by 20% for temperature range. A new |
| 136 | 158 | conversion time can be obtained by reading this |
| 137 | 159 | same attribute. |
| 138 | − other positive value: | |
| 160 | + * other positive value: | |
| 139 | 161 | Set the conversion time in milliseconds. |
| 140 | 162 | |
| 141 | 163 | Users: An application using the w1_term device |
| @@ -148,16 +170,21 @@ Description: · 6 unmodified lines | ||
| 148 | 170 | (RW) Control optional driver settings. |
| 149 | 171 | Bit masks to read/write (bitwise OR): |
| 150 | 172 | |
| 151 | − 1: Enable check for conversion success. If byte 6 of | |
| 173 | + == ============================================================ | |
| 174 | + 1 Enable check for conversion success. If byte 6 of | |
| 152 | 175 | scratchpad memory is 0xC after conversion, and |
| 153 | 176 | temperature reads 85.00 (powerup value) or 127.94 |
| 154 | 177 | (insufficient power) - return a conversion error. |
| 155 | 178 | |
| 156 | − 2: Enable poll for conversion completion. Generate read cycles | |
| 179 | + 2 Enable poll for conversion completion. Generate read cycles | |
| 157 | 180 | after the conversion start and wait for 1's. In parasite |
| 158 | 181 | power mode this feature is not available. |
| 182 | + == ============================================================ | |
| 183 | + | |
| 184 | + *read*: | |
| 185 | + Currently selected features. | |
| 159 | 186 | |
| 160 | − *read*: Currently selected features. | |
| 161 | − *write*: Select features. | |
| 187 | + *write*: | |
| 188 | + Select features. | |
| 162 | 189 | |
| 163 | 190 | Users: An application using the w1_term device |
| @@ -79,7 +79,9 @@ Description: · 78 unmodified lines | ||
| 79 | 79 | When the Wacom Intuos 4 is connected over Bluetooth, the |
| 80 | 80 | image has to contain 256 bytes (64x32 px 1 bit colour). |
| 81 | 81 | The format is also scrambled, like in the USB mode, and it can |
| 82 | − be summarized by converting 76543210 into GECA6420. | |
| 82 | + be summarized by converting:: | |
| 83 | + | |
| 84 | + 76543210 into GECA6420. | |
| 83 | 85 | HGFEDCBA HFDB7531 |
| 84 | 86 | |
| 85 | 87 | What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote |
| @@ -35,3 +35,12 @@ Description: · 34 unmodified lines | ||
| 35 | 35 | controls the duration in milliseconds that blkback will not |
| 36 | 36 | cache any page not backed by a grant mapping. |
| 37 | 37 | The default is 10ms. |
| 38 | + | |
| 39 | +What: /sys/module/xen_blkback/parameters/feature_persistent | |
| 40 | +Date: September 2020 | |
| 41 | +KernelVersion: 5.10 | |
| 42 | +Contact: SeongJae Park <sjpark@amazon.de> | |
| 43 | +Description: | |
| 44 | + Whether to enable the persistent grants feature or not. Note | |
| 45 | + that this option only takes effect on newly created backends. | |
| 46 | + The default is Y (enable). | |
| @@ -1,4 +1,4 @@ | ||
| 1 | −What: /sys/module/xen_blkfront/parameters/max | |
| 1 | +What: /sys/module/xen_blkfront/parameters/max_indirect_segments | |
| 2 | 2 | Date: June 2013 |
| 3 | 3 | KernelVersion: 3.11 |
| 4 | 4 | Contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| @@ -8,3 +8,12 @@ Description: · 3 unmodified lines | ||
| 8 | 8 | is 32 - higher value means more potential throughput but more |
| 9 | 9 | memory usage. The backend picks the minimum of the frontend |
| 10 | 10 | and its default backend value. |
| 11 | + | |
| 12 | +What: /sys/module/xen_blkfront/parameters/feature_persistent | |
| 13 | +Date: September 2020 | |
| 14 | +KernelVersion: 5.10 | |
| 15 | +Contact: SeongJae Park <sjpark@amazon.de> | |
| 16 | +Description: | |
| 17 | + Whether to enable the persistent grants feature or not. Note | |
| 18 | + that this option only takes effect on newly created frontends. | |
| 19 | + The default is Y (enable). | |
| @@ -12,11 +12,14 @@ Description: · 11 unmodified lines | ||
| 12 | 12 | image: The image bitmap. Currently a 32-bit BMP. |
| 13 | 13 | status: 1 if the image is valid, 0 if firmware invalidated it. |
| 14 | 14 | type: 0 indicates image is in BMP format. |
| 15 | + | |
| 16 | + ======== =================================================== | |
| 15 | 17 | version: The version of the BGRT. Currently 1. |
| 16 | 18 | xoffset: The number of pixels between the left of the screen |
| 17 | 19 | and the left edge of the image. |
| 18 | 20 | yoffset: The number of pixels between the top of the screen |
| 19 | 21 | and the top edge of the image. |
| 22 | + ======== =================================================== | |
| 20 | 23 | |
| 21 | 24 | What: /sys/firmware/acpi/hotplug/ |
| 22 | 25 | Date: February 2013 |
| @@ -33,12 +36,14 @@ Description: · 10 unmodified lines | ||
| 33 | 36 | The following setting is available to user space for each |
| 34 | 37 | hotplug profile: |
| 35 | 38 | |
| 39 | + ======== ======================================================= | |
| 36 | 40 | enabled: If set, the ACPI core will handle notifications of |
| 37 | − hotplug events associated with the given class of | |
| 38 | − devices and will allow those devices to be ejected with | |
| 39 | − the help of the _EJ0 control method. Unsetting it | |
| 40 | − effectively disables hotplug for the correspoinding | |
| 41 | − class of devices. | |
| 41 | + hotplug events associated with the given class of | |
| 42 | + devices and will allow those devices to be ejected with | |
| 43 | + the help of the _EJ0 control method. Unsetting it | |
| 44 | + effectively disables hotplug for the correspoinding | |
| 45 | + class of devices. | |
| 46 | + ======== ======================================================= | |
| 42 | 47 | |
| 43 | 48 | The value of the above attribute is an integer number: 1 (set) |
| 44 | 49 | or 0 (unset). Attempts to write any other values to it will |
| @@ -71,86 +76,90 @@ Description: · 26 unmodified lines | ||
| 71 | 76 | To figure out where all the SCI's are coming from, |
| 72 | 77 | /sys/firmware/acpi/interrupts contains a file listing |
| 73 | 78 | every possible source, and the count of how many |
| 74 | − times it has triggered. | |
| 75 | − | |
| 76 | − $ cd /sys/firmware/acpi/interrupts | |
| 77 | − $ grep . * | |
| 78 | − error: 0 | |
| 79 | − ff_gbl_lock: 0 enable | |
| 80 | − ff_pmtimer: 0 invalid | |
| 81 | − ff_pwr_btn: 0 enable | |
| 82 | − ff_rt_clk: 2 disable | |
| 83 | − ff_slp_btn: 0 invalid | |
| 84 | − gpe00: 0 invalid | |
| 85 | − gpe01: 0 enable | |
| 86 | − gpe02: 108 enable | |
| 87 | − gpe03: 0 invalid | |
| 88 | − gpe04: 0 invalid | |
| 89 | − gpe05: 0 invalid | |
| 90 | − gpe06: 0 enable | |
| 91 | − gpe07: 0 enable | |
| 92 | − gpe08: 0 invalid | |
| 93 | − gpe09: 0 invalid | |
| 94 | − gpe0A: 0 invalid | |
| 95 | − gpe0B: 0 invalid | |
| 96 | − gpe0C: 0 invalid | |
| 97 | − gpe0D: 0 invalid | |
| 98 | − gpe0E: 0 invalid | |
| 99 | − gpe0F: 0 invalid | |
| 100 | − gpe10: 0 invalid | |
| 101 | − gpe11: 0 invalid | |
| 102 | − gpe12: 0 invalid | |
| 103 | − gpe13: 0 invalid | |
| 104 | − gpe14: 0 invalid | |
| 105 | − gpe15: 0 invalid | |
| 106 | − gpe16: 0 invalid | |
| 107 | − gpe17: 1084 enable | |
| 108 | − gpe18: 0 enable | |
| 109 | − gpe19: 0 invalid | |
| 110 | − gpe1A: 0 invalid | |
| 111 | − gpe1B: 0 invalid | |
| 112 | − gpe1C: 0 invalid | |
| 113 | − gpe1D: 0 invalid | |
| 114 | − gpe1E: 0 invalid | |
| 115 | − gpe1F: 0 invalid | |
| 116 | − gpe_all: 1192 | |
| 117 | − sci: 1194 | |
| 118 | − sci_not: 0 | |
| 119 | − | |
| 120 | − sci - The number of times the ACPI SCI | |
| 121 | − has been called and claimed an interrupt. | |
| 122 | − | |
| 123 | − sci_not - The number of times the ACPI SCI | |
| 124 | − has been called and NOT claimed an interrupt. | |
| 125 | − | |
| 126 | − gpe_all - count of SCI caused by GPEs. | |
| 127 | − | |
| 128 | − gpeXX - count for individual GPE source | |
| 129 | − | |
| 130 | − ff_gbl_lock - Global Lock | |
| 131 | − | |
| 132 | − ff_pmtimer - PM Timer | |
| 133 | − | |
| 134 | − ff_pwr_btn - Power Button | |
| 135 | − | |
| 136 | − ff_rt_clk - Real Time Clock | |
| 137 | − | |
| 138 | − ff_slp_btn - Sleep Button | |
| 139 | − | |
| 140 | − error - an interrupt that can't be accounted for above. | |
| 141 | − | |
| 142 | − invalid: it's either a GPE or a Fixed Event that | |
| 143 | − doesn't have an event handler. | |
| 144 | − | |
| 145 | − disable: the GPE/Fixed Event is valid but disabled. | |
| 146 | − | |
| 147 | − enable: the GPE/Fixed Event is valid and enabled. | |
| 148 | − | |
| 149 | − Root has permission to clear any of these counters. Eg. | |
| 150 | − # echo 0 > gpe11 | |
| 151 | − | |
| 152 | − All counters can be cleared by clearing the total "sci": | |
| 153 | − # echo 0 > sci | |
| 79 | + times it has triggered:: | |
| 80 | + | |
| 81 | + $ cd /sys/firmware/acpi/interrupts | |
| 82 | + $ grep . * | |
| 83 | + error: 0 | |
| 84 | + ff_gbl_lock: 0 enable | |
| 85 | + ff_pmtimer: 0 invalid | |
| 86 | + ff_pwr_btn: 0 enable | |
| 87 | + ff_rt_clk: 2 disable | |
| 88 | + ff_slp_btn: 0 invalid | |
| 89 | + gpe00: 0 invalid | |
| 90 | + gpe01: 0 enable | |
| 91 | + gpe02: 108 enable | |
| 92 | + gpe03: 0 invalid | |
| 93 | + gpe04: 0 invalid | |
| 94 | + gpe05: 0 invalid | |
| 95 | + gpe06: 0 enable | |
| 96 | + gpe07: 0 enable | |
| 97 | + gpe08: 0 invalid | |
| 98 | + gpe09: 0 invalid | |
| 99 | + gpe0A: 0 invalid | |
| 100 | + gpe0B: 0 invalid | |
| 101 | + gpe0C: 0 invalid | |
| 102 | + gpe0D: 0 invalid | |
| 103 | + gpe0E: 0 invalid | |
| 104 | + gpe0F: 0 invalid | |
| 105 | + gpe10: 0 invalid | |
| 106 | + gpe11: 0 invalid | |
| 107 | + gpe12: 0 invalid | |
| 108 | + gpe13: 0 invalid | |
| 109 | + gpe14: 0 invalid | |
| 110 | + gpe15: 0 invalid | |
| 111 | + gpe16: 0 invalid | |
| 112 | + gpe17: 1084 enable | |
| 113 | + gpe18: 0 enable | |
| 114 | + gpe19: 0 invalid | |
| 115 | + gpe1A: 0 invalid | |
| 116 | + gpe1B: 0 invalid | |
| 117 | + gpe1C: 0 invalid | |
| 118 | + gpe1D: 0 invalid | |
| 119 | + gpe1E: 0 invalid | |
| 120 | + gpe1F: 0 invalid | |
| 121 | + gpe_all: 1192 | |
| 122 | + sci: 1194 | |
| 123 | + sci_not: 0 | |
| 124 | + | |
| 125 | + =========== ================================================== | |
| 126 | + sci The number of times the ACPI SCI | |
| 127 | + has been called and claimed an interrupt. | |
| 128 | + | |
| 129 | + sci_not The number of times the ACPI SCI | |
| 130 | + has been called and NOT claimed an interrupt. | |
| 131 | + | |
| 132 | + gpe_all count of SCI caused by GPEs. | |
| 133 | + | |
| 134 | + gpeXX count for individual GPE source | |
| 135 | + | |
| 136 | + ff_gbl_lock Global Lock | |
| 137 | + | |
| 138 | + ff_pmtimer PM Timer | |
| 139 | + | |
| 140 | + ff_pwr_btn Power Button | |
| 141 | + | |
| 142 | + ff_rt_clk Real Time Clock | |
| 143 | + | |
| 144 | + ff_slp_btn Sleep Button | |
| 145 | + | |
| 146 | + error an interrupt that can't be accounted for above. | |
| 147 | + | |
| 148 | + invalid it's either a GPE or a Fixed Event that | |
| 149 | + doesn't have an event handler. | |
| 150 | + | |
| 151 | + disable the GPE/Fixed Event is valid but disabled. | |
| 152 | + | |
| 153 | + enable the GPE/Fixed Event is valid and enabled. | |
| 154 | + =========== ================================================== | |
| 155 | + | |
| 156 | + Root has permission to clear any of these counters. Eg.:: | |
| 157 | + | |
| 158 | + # echo 0 > gpe11 | |
| 159 | + | |
| 160 | + All counters can be cleared by clearing the total "sci":: | |
| 161 | + | |
| 162 | + # echo 0 > sci | |
| 154 | 163 | |
| 155 | 164 | None of these counters has an effect on the function |
| 156 | 165 | of the system, they are simply statistics. |
| @@ -165,32 +174,34 @@ Description: · 8 unmodified lines | ||
| 165 | 174 | |
| 166 | 175 | Let's take power button fixed event for example, please kill acpid |
| 167 | 176 | and other user space applications so that the machine won't shutdown |
| 168 | − when pressing the power button. | |
| 169 | − # cat ff_pwr_btn | |
| 170 | − 0 enabled | |
| 171 | − # press the power button for 3 times; | |
| 172 | − # cat ff_pwr_btn | |
| 173 | − 3 enabled | |
| 174 | − # echo disable > ff_pwr_btn | |
| 175 | − # cat ff_pwr_btn | |
| 176 | − 3 disabled | |
| 177 | − # press the power button for 3 times; | |
| 178 | − # cat ff_pwr_btn | |
| 179 | − 3 disabled | |
| 180 | − # echo enable > ff_pwr_btn | |
| 181 | − # cat ff_pwr_btn | |
| 182 | − 4 enabled | |
| 183 | − /* | |
| 184 | − * this is because the status bit is set even if the enable bit is cleared, | |
| 185 | − * and it triggers an ACPI fixed event when the enable bit is set again | |
| 186 | − */ | |
| 187 | − # press the power button for 3 times; | |
| 188 | − # cat ff_pwr_btn | |
| 189 | − 7 enabled | |
| 190 | − # echo disable > ff_pwr_btn | |
| 191 | − # press the power button for 3 times; | |
| 192 | − # echo clear > ff_pwr_btn /* clear the status bit */ | |
| 193 | − # echo disable > ff_pwr_btn | |
| 194 | − # cat ff_pwr_btn | |
| 195 | − 7 enabled | |
| 177 | + when pressing the power button:: | |
| 178 | + | |
| 179 | + # cat ff_pwr_btn | |
| 180 | + 0 enabled | |
| 181 | + # press the power button for 3 times; | |
| 182 | + # cat ff_pwr_btn | |
| 183 | + 3 enabled | |
| 184 | + # echo disable > ff_pwr_btn | |
| 185 | + # cat ff_pwr_btn | |
| 186 | + 3 disabled | |
| 187 | + # press the power button for 3 times; | |
| 188 | + # cat ff_pwr_btn | |
| 189 | + 3 disabled | |
| 190 | + # echo enable > ff_pwr_btn | |
| 191 | + # cat ff_pwr_btn | |
| 192 | + 4 enabled | |
| 193 | + /* | |
| 194 | + * this is because the status bit is set even if the enable | |
| 195 | + * bit is cleared, and it triggers an ACPI fixed event when | |
| 196 | + * the enable bit is set again | |
| 197 | + */ | |
| 198 | + # press the power button for 3 times; | |
| 199 | + # cat ff_pwr_btn | |
| 200 | + 7 enabled | |
| 201 | + # echo disable > ff_pwr_btn | |
| 202 | + # press the power button for 3 times; | |
| 203 | + # echo clear > ff_pwr_btn /* clear the status bit */ | |
| 204 | + # echo disable > ff_pwr_btn | |
| 205 | + # cat ff_pwr_btn | |
| 206 | + 7 enabled | |
| 196 | 207 | |
| @@ -33,7 +33,7 @@ Description: · 32 unmodified lines | ||
| 33 | 33 | doesn't matter), they will be represented in sysfs as |
| 34 | 34 | entries "T-0" through "T-(N-1)": |
| 35 | 35 | |
| 36 | − Example entry directories: | |
| 36 | + Example entry directories:: | |
| 37 | 37 | |
| 38 | 38 | /sys/firmware/dmi/entries/17-0 |
| 39 | 39 | /sys/firmware/dmi/entries/17-1 |
| @@ -50,61 +50,65 @@ Description: · 10 unmodified lines | ||
| 50 | 50 | Each DMI entry in sysfs has the common header values |
| 51 | 51 | exported as attributes: |
| 52 | 52 | |
| 53 | − handle : The 16bit 'handle' that is assigned to this | |
| 53 | + ======== ================================================= | |
| 54 | + handle The 16bit 'handle' that is assigned to this | |
| 54 | 55 | entry by the firmware. This handle may be |
| 55 | 56 | referred to by other entries. |
| 56 | − length : The length of the entry, as presented in the | |
| 57 | + length The length of the entry, as presented in the | |
| 57 | 58 | entry itself. Note that this is _not the |
| 58 | 59 | total count of bytes associated with the |
| 59 | − entry_. This value represents the length of | |
| 60 | + entry. This value represents the length of | |
| 60 | 61 | the "formatted" portion of the entry. This |
| 61 | 62 | "formatted" region is sometimes followed by |
| 62 | 63 | the "unformatted" region composed of nul |
| 63 | 64 | terminated strings, with termination signalled |
| 64 | 65 | by a two nul characters in series. |
| 65 | − raw : The raw bytes of the entry. This includes the | |
| 66 | + raw The raw bytes of the entry. This includes the | |
| 66 | 67 | "formatted" portion of the entry, the |
| 67 | 68 | "unformatted" strings portion of the entry, |
| 68 | 69 | and the two terminating nul characters. |
| 69 | − type : The type of the entry. This value is the same | |
| 70 | + type The type of the entry. This value is the same | |
| 70 | 71 | as found in the directory name. It indicates |
| 71 | 72 | how the rest of the entry should be interpreted. |
| 72 | − instance: The instance ordinal of the entry for the | |
| 73 | + instance The instance ordinal of the entry for the | |
| 73 | 74 | given type. This value is the same as found |
| 74 | 75 | in the parent directory name. |
| 75 | − position: The ordinal position (zero-based) of the entry | |
| 76 | + position The ordinal position (zero-based) of the entry | |
| 76 | 77 | within the entirety of the DMI entry table. |
| 78 | + ======== ================================================= | |
| 77 | 79 | |
| 78 | − === Entry Specialization === | |
| 80 | + **Entry Specialization** | |
| 79 | 81 | |
| 80 | 82 | Some entry types may have other information available in |
| 81 | 83 | sysfs. Not all types are specialized. |
| 82 | 84 | |
| 83 | − --- Type 15 - System Event Log --- | |
| 85 | + **Type 15 - System Event Log** | |
| 84 | 86 | |
| 85 | 87 | This entry allows the firmware to export a log of |
| 86 | 88 | events the system has taken. This information is |
| 87 | 89 | typically backed by nvram, but the implementation |
| 88 | 90 | details are abstracted by this table. This entry's data |
| 89 | − is exported in the directory: | |
| 91 | + is exported in the directory:: | |
| 90 | 92 | |
| 91 | − /sys/firmware/dmi/entries/15-0/system_event_log | |
| 93 | + /sys/firmware/dmi/entries/15-0/system_event_log | |
| 92 | 94 | |
| 93 | 95 | and has the following attributes (documented in the |
| 94 | 96 | SMBIOS / DMI specification under "System Event Log (Type 15)": |
| 95 | 97 | |
| 96 | − area_length | |
| 97 | − header_start_offset | |
| 98 | − data_start_offset | |
| 99 | − access_method | |
| 100 | − status | |
| 101 | − change_token | |
| 102 | − access_method_address | |
| 103 | − header_format | |
| 104 | − per_log_type_descriptor_length | |
| 105 | − type_descriptors_supported_count | |
| 98 | + - area_length | |
| 99 | + - header_start_offset | |
| 100 | + - data_start_offset | |
| 101 | + - access_method | |
| 102 | + - status | |
| 103 | + - change_token | |
| 104 | + - access_method_address | |
| 105 | + - header_format | |
| 106 | + - per_log_type_descriptor_length | |
| 107 | + - type_descriptors_supported_count | |
| 106 | 108 | |
| 107 | 109 | As well, the kernel exports the binary attribute: |
| 108 | 110 | |
| 109 | − raw_event_log : The raw binary bits of the event log | |
| 111 | + ============= ==================================== | |
| 112 | + raw_event_log The raw binary bits of the event log | |
| 110 | 113 | as described by the DMI entry. |
| 114 | + ============= ==================================== | |
| @@ -35,10 +35,13 @@ What: /sys/firmware/efi/esrt/entries/entry$N/fw_type · 34 unmodified lines | ||
| 35 | 35 | Date: February 2015 |
| 36 | 36 | Contact: Peter Jones <pjones@redhat.com> |
| 37 | 37 | Description: What kind of firmware entry this is: |
| 38 | − 0 - Unknown | |
| 39 | − 1 - System Firmware | |
| 40 | − 2 - Device Firmware | |
| 41 | − 3 - UEFI Driver | |
| 38 | + | |
| 39 | + == =============== | |
| 40 | + 0 Unknown | |
| 41 | + 1 System Firmware | |
| 42 | + 2 Device Firmware | |
| 43 | + 3 UEFI Driver | |
| 44 | + == =============== | |
| 42 | 45 | |
| 43 | 46 | What: /sys/firmware/efi/esrt/entries/entry$N/fw_class |
| 44 | 47 | Date: February 2015 |
| @@ -71,11 +74,14 @@ Date: February 2015 · 26 unmodified lines | ||
| 71 | 74 | Contact: Peter Jones <pjones@redhat.com> |
| 72 | 75 | Description: The result of the last firmware update attempt for the |
| 73 | 76 | firmware resource entry. |
| 74 | − 0 - Success | |
| 75 | − 1 - Insufficient resources | |
| 76 | − 2 - Incorrect version | |
| 77 | − 3 - Invalid format | |
| 78 | − 4 - Authentication error | |
| 79 | − 5 - AC power event | |
| 80 | − 6 - Battery power event | |
| 77 | + | |
| 78 | + == ====================== | |
| 79 | + 0 Success | |
| 80 | + 1 Insufficient resources | |
| 81 | + 2 Incorrect version | |
| 82 | + 3 Invalid format | |
| 83 | + 4 Authentication error | |
| 84 | + 5 AC power event | |
| 85 | + 6 Battery power event | |
| 86 | + == ====================== | |
| 81 | 87 | |
| @@ -14,7 +14,7 @@ Description: Switching efi runtime services to virtual mode requires · 13 unmodified lines | ||
| 14 | 14 | /sys/firmware/efi/runtime-map/ is the directory the kernel |
| 15 | 15 | exports that information in. |
| 16 | 16 | |
| 17 | − subdirectories are named with the number of the memory range: | |
| 17 | + subdirectories are named with the number of the memory range:: | |
| 18 | 18 | |
| 19 | 19 | /sys/firmware/efi/runtime-map/0 |
| 20 | 20 | /sys/firmware/efi/runtime-map/1 |
| @@ -24,11 +24,13 @@ Description: Switching efi runtime services to virtual mode requires · 3 unmodified lines | ||
| 24 | 24 | |
| 25 | 25 | Each subdirectory contains five files: |
| 26 | 26 | |
| 27 | − attribute : The attributes of the memory range. | |
| 28 | − num_pages : The size of the memory range in pages. | |
| 29 | − phys_addr : The physical address of the memory range. | |
| 30 | − type : The type of the memory range. | |
| 31 | − virt_addr : The virtual address of the memory range. | |
| 27 | + ========= ========================================= | |
| 28 | + attribute The attributes of the memory range. | |
| 29 | + num_pages The size of the memory range in pages. | |
| 30 | + phys_addr The physical address of the memory range. | |
| 31 | + type The type of the memory range. | |
| 32 | + virt_addr The virtual address of the memory range. | |
| 33 | + ========= ========================================= | |
| 32 | 34 | |
| 33 | 35 | Above values are all hexadecimal numbers with the '0x' prefix. |
| 34 | 36 | Users: Kexec |
| @@ -20,7 +20,7 @@ Description: · 19 unmodified lines | ||
| 20 | 20 | |
| 21 | 21 | This directory has the same layout (and |
| 22 | 22 | underlying implementation as /sys/firmware/efi/vars. |
| 23 | − See Documentation/ABI/*/sysfs-firmware-efi-vars | |
| 23 | + See `Documentation/ABI/*/sysfs-firmware-efi-vars` | |
| 24 | 24 | for more information on how to interact with |
| 25 | 25 | this structure. |
| 26 | 26 | |
| @@ -20,7 +20,7 @@ Description: · 19 unmodified lines | ||
| 20 | 20 | the raw memory map to userspace. |
| 21 | 21 | |
| 22 | 22 | The structure is as follows: Under /sys/firmware/memmap there |
| 23 | − are subdirectories with the number of the entry as their name: | |
| 23 | + are subdirectories with the number of the entry as their name:: | |
| 24 | 24 | |
| 25 | 25 | /sys/firmware/memmap/0 |
| 26 | 26 | /sys/firmware/memmap/1 |
| @@ -34,14 +34,16 @@ Description: · 7 unmodified lines | ||
| 34 | 34 | |
| 35 | 35 | Each directory contains three files: |
| 36 | 36 | |
| 37 | − start : The start address (as hexadecimal number with the | |
| 37 | + ======== ===================================================== | |
| 38 | + start The start address (as hexadecimal number with the | |
| 38 | 39 | '0x' prefix). |
| 39 | − end : The end address, inclusive (regardless whether the | |
| 40 | + end The end address, inclusive (regardless whether the | |
| 40 | 41 | firmware provides inclusive or exclusive ranges). |
| 41 | − type : Type of the entry as string. See below for a list of | |
| 42 | + type Type of the entry as string. See below for a list of | |
| 42 | 43 | valid types. |
| 44 | + ======== ===================================================== | |
| 43 | 45 | |
| 44 | − So, for example: | |
| 46 | + So, for example:: | |
| 45 | 47 | |
| 46 | 48 | /sys/firmware/memmap/0/start |
| 47 | 49 | /sys/firmware/memmap/0/end |
| @@ -57,9 +59,8 @@ Description: · 9 unmodified lines | ||
| 57 | 59 | - reserved |
| 58 | 60 | |
| 59 | 61 | Following shell snippet can be used to display that memory |
| 60 | − map in a human-readable format: | |
| 62 | + map in a human-readable format:: | |
| 61 | 63 | |
| 62 | − -------------------- 8< ---------------------------------------- | |
| 63 | 64 | #!/bin/bash |
| 64 | 65 | cd /sys/firmware/memmap |
| 65 | 66 | for dir in * ; do |
| @@ -68,4 +69,3 @@ Description: · 2 unmodified lines | ||
| 68 | 69 | type=$(cat $dir/type) |
| 69 | 70 | printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" |
| 70 | 71 | done |
| 71 | − -------------------- >8 ---------------------------------------- | |
| @@ -15,7 +15,7 @@ Description: · 14 unmodified lines | ||
| 15 | 15 | to the fw_cfg device can be found in "docs/specs/fw_cfg.txt" |
| 16 | 16 | in the QEMU source tree. |
| 17 | 17 | |
| 18 | − === SysFS fw_cfg Interface === | |
| 18 | + **SysFS fw_cfg Interface** | |
| 19 | 19 | |
| 20 | 20 | The fw_cfg sysfs interface described in this document is only |
| 21 | 21 | intended to display discoverable blobs (i.e., those registered |
| @@ -31,7 +31,7 @@ Description: · 9 unmodified lines | ||
| 31 | 31 | |
| 32 | 32 | /sys/firmware/qemu_fw_cfg/rev |
| 33 | 33 | |
| 34 | − --- Discoverable fw_cfg blobs by selector key --- | |
| 34 | + **Discoverable fw_cfg blobs by selector key** | |
| 35 | 35 | |
| 36 | 36 | All discoverable blobs listed in the fw_cfg file directory are |
| 37 | 37 | displayed as entries named after their unique selector key |
| @@ -45,24 +45,26 @@ Description: · 7 unmodified lines | ||
| 45 | 45 | Each such fw_cfg sysfs entry has the following values exported |
| 46 | 46 | as attributes: |
| 47 | 47 | |
| 48 | − name : The 56-byte nul-terminated ASCII string used as the | |
| 48 | + ==== ==================================================== | |
| 49 | + name The 56-byte nul-terminated ASCII string used as the | |
| 49 | 50 | blob's 'file name' in the fw_cfg directory. |
| 50 | − size : The length of the blob, as given in the fw_cfg | |
| 51 | + size The length of the blob, as given in the fw_cfg | |
| 51 | 52 | directory. |
| 52 | − key : The value of the blob's selector key as given in the | |
| 53 | + key The value of the blob's selector key as given in the | |
| 53 | 54 | fw_cfg directory. This value is the same as used in |
| 54 | 55 | the parent directory name. |
| 55 | − raw : The raw bytes of the blob, obtained by selecting the | |
| 56 | + raw The raw bytes of the blob, obtained by selecting the | |
| 56 | 57 | entry via the control register, and reading a number |
| 57 | 58 | of bytes equal to the blob size from the data |
| 58 | 59 | register. |
| 60 | + ==== ==================================================== | |
| 59 | 61 | |
| 60 | − --- Listing fw_cfg blobs by file name --- | |
| 62 | + **Listing fw_cfg blobs by file name** | |
| 61 | 63 | |
| 62 | 64 | While the fw_cfg device does not impose any specific naming |
| 63 | 65 | convention on the blobs registered in the file directory, |
| 64 | 66 | QEMU developers have traditionally used path name semantics |
| 65 | − to give each blob a descriptive name. For example: | |
| 67 | + to give each blob a descriptive name. For example:: | |
| 66 | 68 | |
| 67 | 69 | "bootorder" |
| 68 | 70 | "genroms/kvmvapic.bin" |
| @@ -81,7 +83,7 @@ Description: · 12 unmodified lines | ||
| 81 | 83 | of directories matching the path name components of fw_cfg |
| 82 | 84 | blob names, ending in symlinks to the by_key entry for each |
| 83 | 85 | "basename", as illustrated below (assume current directory is |
| 84 | − /sys/firmware): | |
| 86 | + /sys/firmware):: | |
| 85 | 87 | |
| 86 | 88 | qemu_fw_cfg/by_name/bootorder -> ../by_key/38 |
| 87 | 89 | qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35 |
| @@ -9,7 +9,7 @@ Description: · 8 unmodified lines | ||
| 9 | 9 | http://simplefirmware.org/documentation |
| 10 | 10 | |
| 11 | 11 | While the tables are used by the kernel, user-space |
| 12 | − can observe them this way: | |
| 12 | + can observe them this way:: | |
| 13 | 13 | |
| 14 | − # cd /sys/firmware/sfi/tables | |
| 15 | − # cat $TABLENAME > $TABLENAME.bin | |
| 14 | + # cd /sys/firmware/sfi/tables | |
| 15 | + # cat $TABLENAME > $TABLENAME.bin | |
| @@ -5,7 +5,7 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | The /sys/firmware/sgi_uv directory contains information |
| 6 | 6 | about the SGI UV platform. |
| 7 | 7 | |
| 8 | − Under that directory are a number of files: | |
| 8 | + Under that directory are a number of files:: | |
| 9 | 9 | |
| 10 | 10 | partition_id |
| 11 | 11 | coherence_id |
| @@ -14,7 +14,7 @@ Description: · 2 unmodified lines | ||
| 14 | 14 | SGI UV systems can be partitioned into multiple physical |
| 15 | 15 | machines, which each partition running a unique copy |
| 16 | 16 | of the operating system. Each partition will have a unique |
| 17 | − partition id. To display the partition id, use the command: | |
| 17 | + partition id. To display the partition id, use the command:: | |
| 18 | 18 | |
| 19 | 19 | cat /sys/firmware/sgi_uv/partition_id |
| 20 | 20 | |
| @@ -22,6 +22,6 @@ Description: · 1 unmodified line | ||
| 22 | 22 | A partitioned SGI UV system can have one or more coherence |
| 23 | 23 | domain. The coherence id indicates which coherence domain |
| 24 | 24 | this partition is in. To display the coherence id, use the |
| 25 | − command: | |
| 25 | + command:: | |
| 26 | 26 | |
| 27 | 27 | cat /sys/firmware/sgi_uv/coherence_id |
| @@ -2,21 +2,21 @@ What: /sys/firmware/turris-mox-rwtm/board_version · 1 unmodified line | ||
| 2 | 2 | Date: August 2019 |
| 3 | 3 | KernelVersion: 5.4 |
| 4 | 4 | Contact: Marek Behún <marek.behun@nic.cz> |
| 5 | −Description: (R) Board version burned into eFuses of this Turris Mox board. | |
| 5 | +Description: (Read) Board version burned into eFuses of this Turris Mox board. | |
| 6 | 6 | Format: %i |
| 7 | 7 | |
| 8 | 8 | What: /sys/firmware/turris-mox-rwtm/mac_address* |
| 9 | 9 | Date: August 2019 |
| 10 | 10 | KernelVersion: 5.4 |
| 11 | 11 | Contact: Marek Behún <marek.behun@nic.cz> |
| 12 | −Description: (R) MAC addresses burned into eFuses of this Turris Mox board. | |
| 12 | +Description: (Read) MAC addresses burned into eFuses of this Turris Mox board. | |
| 13 | 13 | Format: %pM |
| 14 | 14 | |
| 15 | 15 | What: /sys/firmware/turris-mox-rwtm/pubkey |
| 16 | 16 | Date: August 2019 |
| 17 | 17 | KernelVersion: 5.4 |
| 18 | 18 | Contact: Marek Behún <marek.behun@nic.cz> |
| 19 | −Description: (R) ECDSA public key (in pubkey hex compressed form) computed | |
| 19 | +Description: (Read) ECDSA public key (in pubkey hex compressed form) computed | |
| 20 | 20 | as pair to the ECDSA private key burned into eFuses of this |
| 21 | 21 | Turris Mox Board. |
| 22 | 22 | Format: string |
| @@ -25,7 +25,7 @@ What: /sys/firmware/turris-mox-rwtm/ram_size · 2 unmodified lines | ||
| 25 | 25 | Date: August 2019 |
| 26 | 26 | KernelVersion: 5.4 |
| 27 | 27 | Contact: Marek Behún <marek.behun@nic.cz> |
| 28 | −Description: (R) RAM size in MiB of this Turris Mox board as was detected | |
| 28 | +Description: (Read) RAM size in MiB of this Turris Mox board as was detected | |
| 29 | 29 | during manufacturing and burned into eFuses. Can be 512 or 1024. |
| 30 | 30 | Format: %i |
| 31 | 31 | |
| @@ -33,5 +33,5 @@ What: /sys/firmware/turris-mox-rwtm/serial_number · 1 unmodified line | ||
| 33 | 33 | Date: August 2019 |
| 34 | 34 | KernelVersion: 5.4 |
| 35 | 35 | Contact: Marek Behún <marek.behun@nic.cz> |
| 36 | −Description: (R) Serial number burned into eFuses of this Turris Mox device. | |
| 36 | +Description: (Read) Serial number burned into eFuses of this Turris Mox device. | |
| 37 | 37 | Format: %016X |
| @@ -45,8 +45,8 @@ Description: · 44 unmodified lines | ||
| 45 | 45 | parameter will have their blocks allocated out of a |
| 46 | 46 | block group specific preallocation pool, so that small |
| 47 | 47 | files are packed closely together. Each large file |
| 48 | − will have its blocks allocated out of its own unique | |
| 49 | − preallocation pool. | |
| 48 | + will have its blocks allocated out of its own unique | |
| 49 | + preallocation pool. | |
| 50 | 50 | |
| 51 | 51 | What: /sys/fs/ext4/<disk>/inode_readahead_blks |
| 52 | 52 | Date: March 2008 |
| @@ -20,9 +20,13 @@ What: /sys/fs/f2fs/<disk>/gc_idle · 19 unmodified lines | ||
| 20 | 20 | Date: July 2013 |
| 21 | 21 | Contact: "Namjae Jeon" <namjae.jeon@samsung.com> |
| 22 | 22 | Description: Controls the victim selection policy for garbage collection. |
| 23 | − Setting gc_idle = 0(default) will disable this option. Setting | |
| 24 | − gc_idle = 1 will select the Cost Benefit approach & setting | |
| 25 | − gc_idle = 2 will select the greedy approach. | |
| 23 | + Setting gc_idle = 0(default) will disable this option. Setting: | |
| 24 | + | |
| 25 | + =========== =============================================== | |
| 26 | + gc_idle = 1 will select the Cost Benefit approach & setting | |
| 27 | + gc_idle = 2 will select the greedy approach & setting | |
| 28 | + gc_idle = 3 will select the age-threshold based approach. | |
| 29 | + =========== =============================================== | |
| 26 | 30 | |
| 27 | 31 | What: /sys/fs/f2fs/<disk>/reclaim_segments |
| 28 | 32 | Date: October 2013 |
| @@ -45,10 +49,17 @@ Date: November 2013 · 16 unmodified lines | ||
| 45 | 49 | Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com> |
| 46 | 50 | Description: Controls the in-place-update policy. |
| 47 | 51 | updates in f2fs. User can set: |
| 48 | − 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR, | |
| 49 | − 0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL, | |
| 50 | − 0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC, | |
| 51 | − 0x40: F2FS_IPU_NOCACHE. | |
| 52 | + | |
| 53 | + ==== ================= | |
| 54 | + 0x01 F2FS_IPU_FORCE | |
| 55 | + 0x02 F2FS_IPU_SSR | |
| 56 | + 0x04 F2FS_IPU_UTIL | |
| 57 | + 0x08 F2FS_IPU_SSR_UTIL | |
| 58 | + 0x10 F2FS_IPU_FSYNC | |
| 59 | + 0x20 F2FS_IPU_ASYNC, | |
| 60 | + 0x40 F2FS_IPU_NOCACHE | |
| 61 | + ==== ================= | |
| 62 | + | |
| 52 | 63 | Refer segment.h for details. |
| 53 | 64 | |
| 54 | 65 | What: /sys/fs/f2fs/<disk>/min_ipu_util |
| @@ -331,18 +342,28 @@ Date: April 2020 · 276 unmodified lines | ||
| 331 | 342 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> |
| 332 | 343 | Description: Give a way to attach REQ_META|FUA to data writes |
| 333 | 344 | given temperature-based bits. Now the bits indicate: |
| 334 | − * REQ_META | REQ_FUA | | |
| 335 | − * 5 | 4 | 3 | 2 | 1 | 0 | | |
| 336 | − * Cold | Warm | Hot | Cold | Warm | Hot | | |
| 345 | + | |
| 346 | + +-------------------+-------------------+ | |
| 347 | + | REQ_META | REQ_FUA | | |
| 348 | + +------+------+-----+------+------+-----+ | |
| 349 | + | 5 | 4 | 3 | 2 | 1 | 0 | | |
| 350 | + +------+------+-----+------+------+-----+ | |
| 351 | + | Cold | Warm | Hot | Cold | Warm | Hot | | |
| 352 | + +------+------+-----+------+------+-----+ | |
| 337 | 353 | |
| 338 | 354 | What: /sys/fs/f2fs/<disk>/node_io_flag |
| 339 | 355 | Date: June 2020 |
| 340 | 356 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> |
| 341 | 357 | Description: Give a way to attach REQ_META|FUA to node writes |
| 342 | 358 | given temperature-based bits. Now the bits indicate: |
| 343 | − * REQ_META | REQ_FUA | | |
| 344 | − * 5 | 4 | 3 | 2 | 1 | 0 | | |
| 345 | − * Cold | Warm | Hot | Cold | Warm | Hot | | |
| 359 | + | |
| 360 | + +-------------------+-------------------+ | |
| 361 | + | REQ_META | REQ_FUA | | |
| 362 | + +------+------+-----+------+------+-----+ | |
| 363 | + | 5 | 4 | 3 | 2 | 1 | 0 | | |
| 364 | + +------+------+-----+------+------+-----+ | |
| 365 | + | Cold | Warm | Hot | Cold | Warm | Hot | | |
| 366 | + +------+------+-----+------+------+-----+ | |
| 346 | 367 | |
| 347 | 368 | What: /sys/fs/f2fs/<disk>/iostat_period_ms |
| 348 | 369 | Date: April 2020 |
| @@ -15,14 +15,17 @@ KernelVersion: 4.3 · 14 unmodified lines | ||
| 15 | 15 | Contact: Boris Ostrovsky <boris.ostrovsky@oracle.com> |
| 16 | 16 | Description: If running under Xen: |
| 17 | 17 | Describes mode that Xen's performance-monitoring unit (PMU) |
| 18 | − uses. Accepted values are | |
| 19 | − "off" -- PMU is disabled | |
| 20 | − "self" -- The guest can profile itself | |
| 21 | − "hv" -- The guest can profile itself and, if it is | |
| 18 | + uses. Accepted values are: | |
| 19 | + | |
| 20 | + ====== ============================================ | |
| 21 | + "off" PMU is disabled | |
| 22 | + "self" The guest can profile itself | |
| 23 | + "hv" The guest can profile itself and, if it is | |
| 22 | 24 | privileged (e.g. dom0), the hypervisor |
| 23 | − "all" -- The guest can profile itself, the hypervisor | |
| 25 | + "all" The guest can profile itself, the hypervisor | |
| 24 | 26 | and all other guests. Only available to |
| 25 | 27 | privileged guests. |
| 28 | + ====== ============================================ | |
| 26 | 29 | |
| 27 | 30 | What: /sys/hypervisor/pmu/pmu_features |
| 28 | 31 | Date: August 2015 |
| @@ -23,16 +23,17 @@ Description: The /sys/kernel/boot_params directory contains two · 22 unmodified lines | ||
| 23 | 23 | representation of setup_data type. "data" file is the binary |
| 24 | 24 | representation of setup_data payload. |
| 25 | 25 | |
| 26 | − The whole boot_params directory structure is like below: | |
| 27 | − /sys/kernel/boot_params | |
| 28 | − |__ data | |
| 29 | − |__ setup_data | |
| 30 | − | |__ 0 | |
| 31 | − | | |__ data | |
| 32 | − | | |__ type | |
| 33 | − | |__ 1 | |
| 34 | − | |__ data | |
| 35 | − | |__ type | |
| 36 | − |__ version | |
| 26 | + The whole boot_params directory structure is like below:: | |
| 27 | + | |
| 28 | + /sys/kernel/boot_params | |
| 29 | + |__ data | |
| 30 | + |__ setup_data | |
| 31 | + | |__ 0 | |
| 32 | + | | |__ data | |
| 33 | + | | |__ type | |
| 34 | + | |__ 1 | |
| 35 | + | |__ data | |
| 36 | + | |__ type | |
| 37 | + |__ version | |
| 37 | 38 | |
| 38 | 39 | Users: Kexec |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | of the hugepages supported by the kernel/CPU combination. |
| 8 | 8 | |
| 9 | 9 | Under these directories are a number of files: |
| 10 | − nr_hugepages | |
| 11 | − nr_overcommit_hugepages | |
| 12 | − free_hugepages | |
| 13 | − surplus_hugepages | |
| 14 | − resv_hugepages | |
| 10 | + | |
| 11 | + - nr_hugepages | |
| 12 | + - nr_overcommit_hugepages | |
| 13 | + - free_hugepages | |
| 14 | + - surplus_hugepages | |
| 15 | + - resv_hugepages | |
| 16 | + | |
| 15 | 17 | See Documentation/admin-guide/mm/hugetlbpage.rst for details. |
| @@ -34,8 +34,9 @@ Description: Kernel Samepage Merging daemon sysfs interface · 33 unmodified lines | ||
| 34 | 34 | in a tree. |
| 35 | 35 | |
| 36 | 36 | run: write 0 to disable ksm, read 0 while ksm is disabled. |
| 37 | − write 1 to run ksm, read 1 while ksm is running. | |
| 38 | − write 2 to disable ksm and unmerge all its pages. | |
| 37 | + | |
| 38 | + - write 1 to run ksm, read 1 while ksm is running. | |
| 39 | + - write 2 to disable ksm and unmerge all its pages. | |
| 39 | 40 | |
| 40 | 41 | sleep_millisecs: how many milliseconds ksm should sleep between |
| 41 | 42 | scans. |
| @@ -346,6 +346,7 @@ Description: · 345 unmodified lines | ||
| 346 | 346 | number of objects per slab. If a slab cannot be allocated |
| 347 | 347 | because of fragmentation, SLUB will retry with the minimum order |
| 348 | 348 | possible depending on its characteristics. |
| 349 | + | |
| 349 | 350 | When debug_guardpage_minorder=N (N > 0) parameter is specified |
| 350 | 351 | (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible |
| 351 | 352 | order is used and this sysfs entry can not be used to change |
| @@ -361,6 +362,7 @@ Description: · 9 unmodified lines | ||
| 361 | 362 | new slab has not been possible at the cache's order and instead |
| 362 | 363 | fallen back to its minimum possible order. It can be written to |
| 363 | 364 | clear the current count. |
| 365 | + | |
| 364 | 366 | Available when CONFIG_SLUB_STATS is enabled. |
| 365 | 367 | |
| 366 | 368 | What: /sys/kernel/slab/cache/partial |
| @@ -410,6 +412,7 @@ Description: · 43 unmodified lines | ||
| 410 | 412 | slab from a remote node as opposed to allocating a new slab on |
| 411 | 413 | the local node. This reduces the amount of wasted memory over |
| 412 | 414 | the entire system but can be expensive. |
| 415 | + | |
| 413 | 416 | Available when CONFIG_NUMA is enabled. |
| 414 | 417 | |
| 415 | 418 | What: /sys/kernel/slab/cache/sanity_checks |
| @@ -17,14 +17,15 @@ KernelVersion: 3.1 · 16 unmodified lines | ||
| 17 | 17 | Contact: Kirill Smelkov <kirr@mns.spb.ru> |
| 18 | 18 | Description: Maximum time allowed for periodic transfers per microframe (μs) |
| 19 | 19 | |
| 20 | − [ USB 2.0 sets maximum allowed time for periodic transfers per | |
| 20 | + Note: | |
| 21 | + USB 2.0 sets maximum allowed time for periodic transfers per | |
| 21 | 22 | microframe to be 80%, that is 100 microseconds out of 125 |
| 22 | 23 | microseconds (full microframe). |
| 23 | 24 | |
| 24 | 25 | However there are cases, when 80% max isochronous bandwidth is |
| 25 | 26 | too limiting. For example two video streams could require 110 |
| 26 | 27 | microseconds of isochronous bandwidth per microframe to work |
| 27 | − together. ] | |
| 28 | + together. | |
| 28 | 29 | |
| 29 | 30 | Through this setting it is possible to raise the limit so that |
| 30 | 31 | the host controller would allow allocating more than 100 |
| @@ -45,8 +46,10 @@ Date: Jan 2012 · 14 unmodified lines | ||
| 45 | 46 | KernelVersion:»·3.3 |
| 46 | 47 | Contact: Kay Sievers <kay.sievers@vrfy.org> |
| 47 | 48 | Description: Module taint flags: |
| 48 | − P - proprietary module | |
| 49 | − O - out-of-tree module | |
| 50 | − F - force-loaded module | |
| 51 | − C - staging driver module | |
| 52 | − E - unsigned module | |
| 49 | + == ===================== | |
| 50 | + P proprietary module | |
| 51 | + O out-of-tree module | |
| 52 | + F force-loaded module | |
| 53 | + C staging driver module | |
| 54 | + E unsigned module | |
| 55 | + == ===================== | |
| @@ -4,13 +4,16 @@ KernelVersion: 2.6.20 · 3 unmodified lines | ||
| 4 | 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> |
| 5 | 5 | Description: |
| 6 | 6 | This file allows display switching. The value |
| 7 | − is composed by 4 bits and defined as follow: | |
| 8 | − 4321 | |
| 9 | − |||`- LCD | |
| 10 | − ||`-- CRT | |
| 11 | − |`--- TV | |
| 12 | − `---- DVI | |
| 13 | − Ex: - 0 (0000b) means no display | |
| 7 | + is composed by 4 bits and defined as follow:: | |
| 8 | + | |
| 9 | + 4321 | |
| 10 | + |||`- LCD | |
| 11 | + ||`-- CRT | |
| 12 | + |`--- TV | |
| 13 | + `---- DVI | |
| 14 | + | |
| 15 | + Ex: | |
| 16 | + - 0 (0000b) means no display | |
| 14 | 17 | - 3 (0011b) CRT+LCD. |
| 15 | 18 | |
| 16 | 19 | What: /sys/devices/platform/asus_laptop/gps |
| @@ -28,8 +31,10 @@ Contact: "Corentin Chary" <corentincj@iksaif.net> · 11 unmodified lines | ||
| 28 | 31 | Description: |
| 29 | 32 | Some models like the W1N have a LED display that can be |
| 30 | 33 | used to display several items of information. |
| 31 | − To control the LED display, use the following : | |
| 34 | + To control the LED display, use the following:: | |
| 35 | + | |
| 32 | 36 | echo 0x0T000DDD > /sys/devices/platform/asus_laptop/ |
| 37 | + | |
| 33 | 38 | where T control the 3 letters display, and DDD the 3 digits display. |
| 34 | 39 | The DDD table can be found in Documentation/admin-guide/laptops/asus-laptop.rst |
| 35 | 40 | |
| @@ -5,6 +5,7 @@ Contact: "Corentin Chary" <corentincj@iksaif.net> · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | Change CPU clock configuration (write-only). |
| 7 | 7 | There are three available clock configuration: |
| 8 | + | |
| 8 | 9 | * 0 -> Super Performance Mode |
| 9 | 10 | * 1 -> High Performance Mode |
| 10 | 11 | * 2 -> Power Saving Mode |
| @@ -18,8 +18,10 @@ Description: · 17 unmodified lines | ||
| 18 | 18 | In order to use an extended can_id add the |
| 19 | 19 | CAN_EFF_FLAG (0x80000000U) to the can_id. Example: |
| 20 | 20 | |
| 21 | − - standard id 0x7ff: | |
| 22 | − echo 0x7ff > /sys/class/net/can0/mb0_id | |
| 21 | + - standard id 0x7ff:: | |
| 23 | 22 | |
| 24 | − - extended id 0x1fffffff: | |
| 25 | − echo 0x9fffffff > /sys/class/net/can0/mb0_id | |
| 23 | + echo 0x7ff > /sys/class/net/can0/mb0_id | |
| 24 | + | |
| 25 | + - extended id 0x1fffffff:: | |
| 26 | + | |
| 27 | + echo 0x9fffffff > /sys/class/net/can0/mb0_id | |
| @@ -34,9 +34,12 @@ Description: · 33 unmodified lines | ||
| 34 | 34 | this file. To disable a trigger, write its name preceded |
| 35 | 35 | by '-' instead. |
| 36 | 36 | |
| 37 | − For example, to enable the keyboard as trigger run: | |
| 37 | + For example, to enable the keyboard as trigger run:: | |
| 38 | + | |
| 38 | 39 | echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers |
| 39 | − To disable it: | |
| 40 | + | |
| 41 | + To disable it:: | |
| 42 | + | |
| 40 | 43 | echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers |
| 41 | 44 | |
| 42 | 45 | Note that not all the available triggers can be configured. |
| @@ -57,7 +60,8 @@ Description: · 14 unmodified lines | ||
| 57 | 60 | with any the above units. If no unit is specified, the value |
| 58 | 61 | is assumed to be expressed in seconds. |
| 59 | 62 | |
| 60 | − For example, to set the timeout to 10 minutes run: | |
| 63 | + For example, to set the timeout to 10 minutes run:: | |
| 64 | + | |
| 61 | 65 | echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout |
| 62 | 66 | |
| 63 | 67 | Note that when this file is read, the returned value might be |
| @@ -13,8 +13,8 @@ Description: · 12 unmodified lines | ||
| 13 | 13 | For example the token ID "5" would be available |
| 14 | 14 | as the following attributes: |
| 15 | 15 | |
| 16 | − 0005_location | |
| 17 | − 0005_value | |
| 16 | + - 0005_location | |
| 17 | + - 0005_value | |
| 18 | 18 | |
| 19 | 19 | Tokens will vary from machine to machine, and |
| 20 | 20 | only tokens available on that machine will be |
| @@ -113,8 +113,11 @@ KernelVersion: 5.5 · 112 unmodified lines | ||
| 113 | 113 | Contact: Wu Hao <hao.wu@intel.com> |
| 114 | 114 | Description: Read-Only. Read this file to get the name of hwmon device, it |
| 115 | 115 | supports values: |
| 116 | − 'dfl_fme_thermal' - thermal hwmon device name | |
| 117 | − 'dfl_fme_power' - power hwmon device name | |
| 116 | + | |
| 117 | + ================= ========================= | |
| 118 | + 'dfl_fme_thermal' thermal hwmon device name | |
| 119 | + 'dfl_fme_power' power hwmon device name | |
| 120 | + ================= ========================= | |
| 118 | 121 | |
| 119 | 122 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input |
| 120 | 123 | Date: October 2019 |
| @@ -169,8 +172,11 @@ KernelVersion: 5.5 · 48 unmodified lines | ||
| 169 | 172 | Contact: Wu Hao <hao.wu@intel.com> |
| 170 | 173 | Description: Read-Only. Read this file to get the policy of hardware threshold1 |
| 171 | 174 | (see 'temp1_max'). It only supports two values (policies): |
| 172 | − 0 - AP2 state (90% throttling) | |
| 173 | − 1 - AP1 state (50% throttling) | |
| 175 | + | |
| 176 | + == ========================== | |
| 177 | + 0 AP2 state (90% throttling) | |
| 178 | + 1 AP1 state (50% throttling) | |
| 179 | + == ========================== | |
| 174 | 180 | |
| 175 | 181 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input |
| 176 | 182 | Date: October 2019 |
| @@ -27,12 +27,15 @@ KernelVersion: v4.10 · 26 unmodified lines | ||
| 27 | 27 | Contact: linux-acpi@vger.kernel.org |
| 28 | 28 | Description: |
| 29 | 29 | (RO) Display the platform power source |
| 30 | + | |
| 31 | + ========= ============================ | |
| 30 | 32 | bits[3:0] Current power source |
| 31 | − 0x00 = DC | |
| 32 | − 0x01 = AC | |
| 33 | − 0x02 = USB | |
| 34 | − 0x03 = Wireless Charger | |
| 33 | + - 0x00 = DC | |
| 34 | + - 0x01 = AC | |
| 35 | + - 0x02 = USB | |
| 36 | + - 0x03 = Wireless Charger | |
| 35 | 37 | bits[7:4] Power source sequence number |
| 38 | + ========= ============================ | |
| 36 | 39 | |
| 37 | 40 | What: /sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power |
| 38 | 41 | Date: Jul, 2016 |
| @@ -4,9 +4,11 @@ KernelVersion: 2.6.26 · 3 unmodified lines | ||
| 4 | 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> |
| 5 | 5 | Description: |
| 6 | 6 | This file allows display switching. |
| 7 | + | |
| 7 | 8 | - 1 = LCD |
| 8 | 9 | - 2 = CRT |
| 9 | 10 | - 3 = LCD+CRT |
| 11 | + | |
| 10 | 12 | If you run X11, you should use xrandr instead. |
| 11 | 13 | |
| 12 | 14 | What: /sys/devices/platform/eeepc/camera |
| @@ -30,16 +32,20 @@ Contact: "Corentin Chary" <corentincj@iksaif.net> · 17 unmodified lines | ||
| 30 | 32 | Description: |
| 31 | 33 | Change CPU clock configuration. |
| 32 | 34 | On the Eee PC 1000H there are three available clock configuration: |
| 35 | + | |
| 33 | 36 | * 0 -> Super Performance Mode |
| 34 | 37 | * 1 -> High Performance Mode |
| 35 | 38 | * 2 -> Power Saving Mode |
| 39 | + | |
| 36 | 40 | On Eee PC 701 there is only 2 available clock configurations. |
| 37 | 41 | Available configuration are listed in available_cpufv file. |
| 38 | 42 | Reading this file will show the raw hexadecimal value which |
| 39 | − is defined as follow: | |
| 40 | − | 8 bit | 8 bit | | |
| 41 | − | `---- Current mode | |
| 42 | − `------------ Availables modes | |
| 43 | + is defined as follow:: | |
| 44 | + | |
| 45 | + | 8 bit | 8 bit | | |
| 46 | + | `---- Current mode | |
| 47 | + `------------ Availables modes | |
| 48 | + | |
| 43 | 49 | For example, 0x301 means: mode 1 selected, 3 available modes. |
| 44 | 50 | |
| 45 | 51 | What: /sys/devices/platform/eeepc/available_cpufv |
| @@ -5,9 +5,9 @@ Contact: Wolfram Sang <wsa+renesas@sang-engineering.com> · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | Reading the file will give you a list of masters which can be |
| 7 | 7 | selected for a demultiplexed bus. The format is |
| 8 | − "<index>:<name>". Example from a Renesas Lager board: | |
| 8 | + "<index>:<name>". Example from a Renesas Lager board:: | |
| 9 | 9 | |
| 10 | − 0:/i2c@e6500000 1:/i2c@e6508000 | |
| 10 | + 0:/i2c@e6500000 1:/i2c@e6508000 | |
| 11 | 11 | |
| 12 | 12 | What: /sys/devices/platform/<i2c-demux-name>/current_master |
| 13 | 13 | Date: January 2016 |
| @@ -12,6 +12,7 @@ Contact: "Maxim Mikityanskiy <maxtram95@gmail.com>" · 11 unmodified lines | ||
| 12 | 12 | Description: |
| 13 | 13 | Change fan mode |
| 14 | 14 | There are four available modes: |
| 15 | + | |
| 15 | 16 | * 0 -> Super Silent Mode |
| 16 | 17 | * 1 -> Standard Mode |
| 17 | 18 | * 2 -> Dust Cleaning |
| @@ -32,9 +33,11 @@ KernelVersion: 4.18 · 14 unmodified lines | ||
| 32 | 33 | Contact: "Oleg Keri <ezhi99@gmail.com>" |
| 33 | 34 | Description: |
| 34 | 35 | Control fn-lock mode. |
| 36 | + | |
| 35 | 37 | * 1 -> Switched On |
| 36 | 38 | * 0 -> Switched Off |
| 37 | 39 | |
| 38 | − For example: | |
| 39 | − # echo "0" > \ | |
| 40 | − /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock | |
| 40 | + For example:: | |
| 41 | + | |
| 42 | + # echo "0" > \ | |
| 43 | + /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock | |
| @@ -8,5 +8,6 @@ Description: · 7 unmodified lines | ||
| 8 | 8 | of 0 and userspace can signal SBL to update firmware, |
| 9 | 9 | on next reboot, by writing a value of 1. |
| 10 | 10 | There are two available states: |
| 11 | + | |
| 11 | 12 | * 0 -> Skip firmware update while rebooting |
| 12 | 13 | * 1 -> Attempt firmware update on next reboot |
| @@ -7,5 +7,6 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | Thunderbolt controllers to turn on or off when no |
| 8 | 8 | devices are connected (write-only) |
| 9 | 9 | There are two available states: |
| 10 | + | |
| 10 | 11 | * 0 -> Force power disabled |
| 11 | 12 | * 1 -> Force power enabled |
| @@ -5,6 +5,7 @@ Contact: "Pavan Savoy" <pavan_savoy@ti.com> · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | Name of the UART device at which the WL128x chip |
| 7 | 7 | is connected. example: "/dev/ttyS0". |
| 8 | + | |
| 8 | 9 | The device name flows down to architecture specific board |
| 9 | 10 | initialization file from the SFI/ATAGS bootloader |
| 10 | 11 | firmware. The name exposed is read from the user-space |
| @@ -5,10 +5,13 @@ Contact: "Liming Sun <lsun@mellanox.com>" · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | The Life-cycle state of the SoC, which could be one of the |
| 7 | 7 | following values. |
| 8 | − Production - Production state and can be updated to secure | |
| 9 | − GA Secured - Secure chip and not able to change state | |
| 10 | − GA Non-Secured - Non-Secure chip and not able to change state | |
| 11 | − RMA - Return Merchandise Authorization | |
| 8 | + | |
| 9 | + ============== ============================================= | |
| 10 | + Production Production state and can be updated to secure | |
| 11 | + GA Secured Secure chip and not able to change state | |
| 12 | + GA Non-Secured Non-Secure chip and not able to change state | |
| 13 | + RMA Return Merchandise Authorization | |
| 14 | + ============== ============================================= | |
| 12 | 15 | |
| 13 | 16 | What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog |
| 14 | 17 | Date: Oct 2019 |
| @@ -25,10 +28,13 @@ KernelVersion: 5.5 · 10 unmodified lines | ||
| 25 | 28 | Contact: "Liming Sun <lsun@mellanox.com>" |
| 26 | 29 | Description: |
| 27 | 30 | The source of the boot stream for the next reset. It could be |
| 28 | − one of the following values. | |
| 29 | − external - boot from external source (USB or PCIe) | |
| 30 | − emmc - boot from the onchip eMMC | |
| 31 | − emmc_legacy - boot from the onchip eMMC in legacy (slow) mode | |
| 31 | + one of the following values: | |
| 32 | + | |
| 33 | + =========== =============================================== | |
| 34 | + external boot from external source (USB or PCIe) | |
| 35 | + emmc boot from the onchip eMMC | |
| 36 | + emmc_legacy boot from the onchip eMMC in legacy (slow) mode | |
| 37 | + =========== =============================================== | |
| 32 | 38 | |
| 33 | 39 | What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action |
| 34 | 40 | Date: Oct 2019 |
| @@ -38,11 +44,14 @@ Description: · 3 unmodified lines | ||
| 38 | 44 | Update the source of the boot stream after next reset. It could |
| 39 | 45 | be one of the following values and will be applied after next |
| 40 | 46 | reset. |
| 41 | − external - boot from external source (USB or PCIe) | |
| 42 | − emmc - boot from the onchip eMMC | |
| 43 | − emmc_legacy - boot from the onchip eMMC in legacy (slow) mode | |
| 44 | − swap_emmc - swap the primary / secondary boot partition | |
| 45 | − none - cancel the action | |
| 47 | + | |
| 48 | + =========== =============================================== | |
| 49 | + external boot from external source (USB or PCIe) | |
| 50 | + emmc boot from the onchip eMMC | |
| 51 | + emmc_legacy boot from the onchip eMMC in legacy (slow) mode | |
| 52 | + swap_emmc swap the primary / secondary boot partition | |
| 53 | + none cancel the action | |
| 54 | + =========== =============================================== | |
| 46 | 55 | |
| 47 | 56 | What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state |
| 48 | 57 | Date: Oct 2019 |
| @@ -50,9 +59,12 @@ KernelVersion: 5.5 · 1 unmodified line | ||
| 50 | 59 | Contact: "Liming Sun <lsun@mellanox.com>" |
| 51 | 60 | Description: |
| 52 | 61 | The state of eFuse versions with the following values. |
| 53 | − InUse - burnt, valid and currently in use | |
| 54 | − Used - burnt and valid | |
| 55 | − Free - not burnt and free to use | |
| 56 | − Skipped - not burnt but not free (skipped) | |
| 57 | − Wasted - burnt and invalid | |
| 58 | − Invalid - not burnt but marked as valid (error state). | |
| 62 | + | |
| 63 | + ======= =============================================== | |
| 64 | + InUse burnt, valid and currently in use | |
| 65 | + Used burnt and valid | |
| 66 | + Free not burnt and free to use | |
| 67 | + Skipped not burnt but not free (skipped) | |
| 68 | + Wasted burnt and invalid | |
| 69 | + Invalid not burnt but marked as valid (error state). | |
| 70 | + ======= =============================================== | |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | The file can show/change the phy mode for role swap of usb. |
| 8 | 8 | |
| 9 | 9 | Write the following strings to change the mode: |
| 10 | − "host" - switching mode from peripheral to host. | |
| 11 | − "peripheral" - switching mode from host to peripheral. | |
| 10 | + | |
| 11 | + - "host" - switching mode from peripheral to host. | |
| 12 | + - "peripheral" - switching mode from host to peripheral. | |
| 12 | 13 | |
| 13 | 14 | Read the file, then it shows the following strings: |
| 14 | − "host" - The mode is host now. | |
| 15 | − "peripheral" - The mode is peripheral now. | |
| 15 | + | |
| 16 | + - "host" - The mode is host now. | |
| 17 | + - "peripheral" - The mode is peripheral now. | |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | ||
| 7 | 7 | The file can show/change the drd mode of usb. |
| 8 | 8 | |
| 9 | 9 | Write the following string to change the mode: |
| 10 | − "host" - switching mode from peripheral to host. | |
| 11 | − "peripheral" - switching mode from host to peripheral. | |
| 10 | + | |
| 11 | + - "host" - switching mode from peripheral to host. | |
| 12 | + - "peripheral" - switching mode from host to peripheral. | |
| 12 | 13 | |
| 13 | 14 | Read the file, then it shows the following strings: |
| 14 | − "host" - The mode is host now. | |
| 15 | − "peripheral" - The mode is peripheral now. | |
| 15 | + | |
| 16 | + - "host" - The mode is host now. | |
| 17 | + - "peripheral" - The mode is peripheral now. | |
| @@ -5,13 +5,22 @@ Contact: "Sebastien Guiriec" <sebastien.guiriec@intel.com> · 4 unmodified lines | ||
| 5 | 5 | Description: |
| 6 | 6 | LPE Firmware version for SST driver on all atom |
| 7 | 7 | plaforms (BYT/CHT/Merrifield/BSW). |
| 8 | − If the FW has never been loaded it will display: | |
| 8 | + If the FW has never been loaded it will display:: | |
| 9 | + | |
| 9 | 10 | "FW not yet loaded" |
| 10 | − If FW has been loaded it will display: | |
| 11 | + | |
| 12 | + If FW has been loaded it will display:: | |
| 13 | + | |
| 11 | 14 | "v01.aa.bb.cc" |
| 15 | + | |
| 12 | 16 | aa: Major version is reflecting SoC version: |
| 17 | + | |
| 18 | + === ============= | |
| 13 | 19 | 0d: BYT FW |
| 14 | 20 | 0b: BSW FW |
| 15 | 21 | 07: Merrifield FW |
| 22 | + === ============= | |
| 23 | + | |
| 16 | 24 | bb: Minor version |
| 25 | + | |
| 17 | 26 | cc: Build version |
| @@ -16,10 +16,13 @@ Contact: Krzysztof Opasiak <k.opasiak@samsung.com> · 15 unmodified lines | ||
| 16 | 16 | Description: |
| 17 | 17 | Current status of the device. |
| 18 | 18 | Allowed values: |
| 19 | − 1 - Device is available and can be exported | |
| 20 | − 2 - Device is currently exported | |
| 21 | − 3 - Fatal error occurred during communication | |
| 22 | − with peer | |
| 19 | + | |
| 20 | + == ========================================== | |
| 21 | + 1 Device is available and can be exported | |
| 22 | + 2 Device is currently exported | |
| 23 | + 3 Fatal error occurred during communication | |
| 24 | + with peer | |
| 25 | + == ========================================== | |
| 23 | 26 | |
| 24 | 27 | What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd |
| 25 | 28 | Date: April 2016 |
| @@ -39,6 +39,7 @@ Description: · 38 unmodified lines | ||
| 39 | 39 | which affects charging via the special USB PowerShare port |
| 40 | 40 | (marked with a small lightning bolt or battery icon) when in |
| 41 | 41 | low power states: |
| 42 | + | |
| 42 | 43 | - In S0, the port will always provide power. |
| 43 | 44 | - In S0ix, if usb_charge is enabled, then power will be |
| 44 | 45 | supplied to the port when on AC or if battery is > 50%. |
| @@ -47,14 +47,18 @@ Description: · 46 unmodified lines | ||
| 47 | 47 | suspend-to-disk mechanism. Reading from this file returns |
| 48 | 48 | the name of the method by which the system will be put to |
| 49 | 49 | sleep on the next suspend. There are four methods supported: |
| 50 | + | |
| 50 | 51 | 'firmware' - means that the memory image will be saved to disk |
| 51 | 52 | by some firmware, in which case we also assume that the |
| 52 | 53 | firmware will handle the system suspend. |
| 54 | + | |
| 53 | 55 | 'platform' - the memory image will be saved by the kernel and |
| 54 | 56 | the system will be put to sleep by the platform driver (e.g. |
| 55 | 57 | ACPI or other PM registers). |
| 58 | + | |
| 56 | 59 | 'shutdown' - the memory image will be saved by the kernel and |
| 57 | 60 | the system will be powered off. |
| 61 | + | |
| 58 | 62 | 'reboot' - the memory image will be saved by the kernel and |
| 59 | 63 | the system will be rebooted. |
| 60 | 64 | |
| @@ -74,12 +78,12 @@ Description: · 13 unmodified lines | ||
| 74 | 78 | The suspend-to-disk method may be chosen by writing to this |
| 75 | 79 | file one of the accepted strings: |
| 76 | 80 | |
| 77 | − 'firmware' | |
| 78 | − 'platform' | |
| 79 | − 'shutdown' | |
| 80 | − 'reboot' | |
| 81 | − 'testproc' | |
| 82 | − 'test' | |
| 81 | + - 'firmware' | |
| 82 | + - 'platform' | |
| 83 | + - 'shutdown' | |
| 84 | + - 'reboot' | |
| 85 | + - 'testproc' | |
| 86 | + - 'test' | |
| 83 | 87 | |
| 84 | 88 | It will only change to 'firmware' or 'platform' if the system |
| 85 | 89 | supports that. |
| @@ -114,9 +118,9 @@ Description: · 28 unmodified lines | ||
| 114 | 118 | string representing a nonzero integer into it. |
| 115 | 119 | |
| 116 | 120 | To use this debugging feature you should attempt to suspend |
| 117 | − the machine, then reboot it and run | |
| 121 | + the machine, then reboot it and run:: | |
| 118 | 122 | |
| 119 | − dmesg -s 1000000 | grep 'hash matches' | |
| 123 | + dmesg -s 1000000 | grep 'hash matches' | |
| 120 | 124 | |
| 121 | 125 | If you do not get any matches (or they appear to be false |
| 122 | 126 | positives), it is possible that the last PM event point |
| @@ -244,6 +248,7 @@ Description: · 121 unmodified lines | ||
| 244 | 248 | wakeup sources created with the help of /sys/power/wake_lock. |
| 245 | 249 | When a string is written to /sys/power/wake_unlock, it will be |
| 246 | 250 | assumed to represent the name of a wakeup source to deactivate. |
| 251 | + | |
| 247 | 252 | If a wakeup source object of that name exists and is active at |
| 248 | 253 | the moment, it will be deactivated. |
| 249 | 254 | |
| @@ -5,7 +5,7 @@ Description: · 4 unmodified lines | ||
| 5 | 5 | /sys/kernel/profiling is the runtime equivalent |
| 6 | 6 | of the boot-time profile= option. |
| 7 | 7 | |
| 8 | − You can get the same effect running: | |
| 8 | + You can get the same effect running:: | |
| 9 | 9 | |
| 10 | 10 | echo 2 > /sys/kernel/profiling |
| 11 | 11 | |
| @@ -69,7 +69,7 @@ Description: · 68 unmodified lines | ||
| 69 | 69 | pin offered by the PTP hardware clock. The file name |
| 70 | 70 | is the hardware dependent pin name. Reading from this |
| 71 | 71 | file produces two numbers, the assigned function (see |
| 72 | − the PTP_PF_ enumeration values in linux/ptp_clock.h) | |
| 72 | + the `PTP_PF_` enumeration values in linux/ptp_clock.h) | |
| 73 | 73 | and the channel number. The function and channel |
| 74 | 74 | assignment may be changed by two writing numbers into |
| 75 | 75 | the file. |
| @@ -6,42 +6,46 @@ Description: · 5 unmodified lines | ||
| 6 | 6 | Enable passing additional variables for synthetic uevents that |
| 7 | 7 | are generated by writing /sys/.../uevent file. |
| 8 | 8 | |
| 9 | − Recognized extended format is ACTION [UUID [KEY=VALUE ...]. | |
| 9 | + Recognized extended format is:: | |
| 10 | 10 | |
| 11 | − The ACTION is compulsory - it is the name of the uevent action | |
| 12 | − ("add", "change", "remove"). There is no change compared to | |
| 13 | − previous functionality here. The rest of the extended format | |
| 14 | − is optional. | |
| 11 | + ACTION [UUID [KEY=VALUE ...] | |
| 12 | + | |
| 13 | + The ACTION is compulsory - it is the name of the uevent | |
| 14 | + action (``add``, ``change``, ``remove``). There is no change | |
| 15 | + compared to previous functionality here. The rest of the | |
| 16 | + extended format is optional. | |
| 15 | 17 | |
| 16 | 18 | You need to pass UUID first before any KEY=VALUE pairs. |
| 17 | − The UUID must be in "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | |
| 19 | + The UUID must be in ``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`` | |
| 18 | 20 | format where 'x' is a hex digit. The UUID is considered to be |
| 19 | 21 | a transaction identifier so it's possible to use the same UUID |
| 20 | 22 | value for one or more synthetic uevents in which case we |
| 21 | 23 | logically group these uevents together for any userspace |
| 22 | 24 | listeners. The UUID value appears in uevent as |
| 23 | − "SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" environment | |
| 25 | + ``SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`` environment | |
| 24 | 26 | variable. |
| 25 | 27 | |
| 26 | 28 | If UUID is not passed in, the generated synthetic uevent gains |
| 27 | − "SYNTH_UUID=0" environment variable automatically. | |
| 29 | + ``SYNTH_UUID=0`` environment variable automatically. | |
| 28 | 30 | |
| 29 | 31 | The KEY=VALUE pairs can contain alphanumeric characters only. |
| 32 | + | |
| 30 | 33 | It's possible to define zero or more pairs - each pair is then |
| 31 | 34 | delimited by a space character ' '. Each pair appears in |
| 32 | − synthetic uevent as "SYNTH_ARG_KEY=VALUE". That means the KEY | |
| 33 | − name gains "SYNTH_ARG_" prefix to avoid possible collisions | |
| 35 | + synthetic uevent as ``SYNTH_ARG_KEY=VALUE``. That means the KEY | |
| 36 | + name gains ``SYNTH_ARG_`` prefix to avoid possible collisions | |
| 34 | 37 | with existing variables. |
| 35 | 38 | |
| 36 | − Example of valid sequence written to the uevent file: | |
| 39 | + Example of valid sequence written to the uevent file:: | |
| 37 | 40 | |
| 38 | 41 | add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc |
| 39 | 42 | |
| 40 | − This generates synthetic uevent including these variables: | |
| 43 | + This generates synthetic uevent including these variables:: | |
| 41 | 44 | |
| 42 | 45 | ACTION=add |
| 43 | 46 | SYNTH_ARG_A=1 |
| 44 | 47 | SYNTH_ARG_B=abc |
| 45 | 48 | SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed |
| 49 | + | |
| 46 | 50 | Users: |
| 47 | 51 | udev, userspace tools generating synthetic uevents |
| @@ -45,7 +45,8 @@ Description: · 44 unmodified lines | ||
| 45 | 45 | 7. Device is unplugged. |
| 46 | 46 | |
| 47 | 47 | References: |
| 48 | − [WUSB-AM] Association Models Supplement to the | |
| 48 | + [WUSB-AM] | |
| 49 | + Association Models Supplement to the | |
| 49 | 50 | Certified Wireless Universal Serial Bus |
| 50 | 51 | Specification, version 1.0. |
| 51 | 52 | |
| @@ -3,44 +3,52 @@ Date: 2020-01-14 · 2 unmodified lines | ||
| 3 | 3 | KernelVersion: 5.6 |
| 4 | 4 | Contact: linux-usb@vger.kernel.org |
| 5 | 5 | Description: There are two USB charger states: |
| 6 | − USB_CHARGER_ABSENT | |
| 7 | − USB_CHARGER_PRESENT | |
| 6 | + | |
| 7 | + - USB_CHARGER_ABSENT | |
| 8 | + - USB_CHARGER_PRESENT | |
| 9 | + | |
| 8 | 10 | There are five USB charger types: |
| 9 | − USB_CHARGER_UNKNOWN_TYPE: Charger type is unknown | |
| 10 | − USB_CHARGER_SDP_TYPE: Standard Downstream Port | |
| 11 | − USB_CHARGER_CDP_TYPE: Charging Downstream Port | |
| 12 | − USB_CHARGER_DCP_TYPE: Dedicated Charging Port | |
| 13 | − USB_CHARGER_ACA_TYPE: Accessory Charging Adapter | |
| 11 | + | |
| 12 | + ======================== ========================== | |
| 13 | + USB_CHARGER_UNKNOWN_TYPE Charger type is unknown | |
| 14 | + USB_CHARGER_SDP_TYPE Standard Downstream Port | |
| 15 | + USB_CHARGER_CDP_TYPE Charging Downstream Port | |
| 16 | + USB_CHARGER_DCP_TYPE Dedicated Charging Port | |
| 17 | + USB_CHARGER_ACA_TYPE Accessory Charging Adapter | |
| 18 | + ======================== ========================== | |
| 19 | + | |
| 14 | 20 | https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement |
| 15 | 21 | |
| 16 | − Here are two examples taken using udevadm monitor -p when | |
| 17 | − USB charger is online: | |
| 18 | − UDEV change /devices/soc0/usbphynop1 (platform) | |
| 19 | − ACTION=change | |
| 20 | − DEVPATH=/devices/soc0/usbphynop1 | |
| 21 | − DRIVER=usb_phy_generic | |
| 22 | − MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | |
| 23 | − OF_COMPATIBLE_0=usb-nop-xceiv | |
| 24 | − OF_COMPATIBLE_N=1 | |
| 25 | − OF_FULLNAME=/usbphynop1 | |
| 26 | − OF_NAME=usbphynop1 | |
| 27 | − SEQNUM=2493 | |
| 28 | − SUBSYSTEM=platform | |
| 29 | − USB_CHARGER_STATE=USB_CHARGER_PRESENT | |
| 30 | − USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE | |
| 31 | − USEC_INITIALIZED=227422826 | |
| 32 | − | |
| 33 | − USB charger is offline: | |
| 34 | − KERNEL change /devices/soc0/usbphynop1 (platform) | |
| 35 | − ACTION=change | |
| 36 | − DEVPATH=/devices/soc0/usbphynop1 | |
| 37 | − DRIVER=usb_phy_generic | |
| 38 | − MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | |
| 39 | − OF_COMPATIBLE_0=usb-nop-xceiv | |
| 40 | − OF_COMPATIBLE_N=1 | |
| 41 | − OF_FULLNAME=/usbphynop1 | |
| 42 | − OF_NAME=usbphynop1 | |
| 43 | − SEQNUM=2494 | |
| 44 | − SUBSYSTEM=platform | |
| 45 | − USB_CHARGER_STATE=USB_CHARGER_ABSENT | |
| 46 | − USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE | |
| 22 | + Here are two examples taken using ``udevadm monitor -p`` when | |
| 23 | + USB charger is online:: | |
| 24 | + | |
| 25 | + UDEV change /devices/soc0/usbphynop1 (platform) | |
| 26 | + ACTION=change | |
| 27 | + DEVPATH=/devices/soc0/usbphynop1 | |
| 28 | + DRIVER=usb_phy_generic | |
| 29 | + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | |
| 30 | + OF_COMPATIBLE_0=usb-nop-xceiv | |
| 31 | + OF_COMPATIBLE_N=1 | |
| 32 | + OF_FULLNAME=/usbphynop1 | |
| 33 | + OF_NAME=usbphynop1 | |
| 34 | + SEQNUM=2493 | |
| 35 | + SUBSYSTEM=platform | |
| 36 | + USB_CHARGER_STATE=USB_CHARGER_PRESENT | |
| 37 | + USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE | |
| 38 | + USEC_INITIALIZED=227422826 | |
| 39 | + | |
| 40 | + USB charger is offline:: | |
| 41 | + | |
| 42 | + KERNEL change /devices/soc0/usbphynop1 (platform) | |
| 43 | + ACTION=change | |
| 44 | + DEVPATH=/devices/soc0/usbphynop1 | |
| 45 | + DRIVER=usb_phy_generic | |
| 46 | + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | |
| 47 | + OF_COMPATIBLE_0=usb-nop-xceiv | |
| 48 | + OF_COMPATIBLE_N=1 | |
| 49 | + OF_FULLNAME=/usbphynop1 | |
| 50 | + OF_NAME=usbphynop1 | |
| 51 | + SEQNUM=2494 | |
| 52 | + SUBSYSTEM=platform | |
| 53 | + USB_CHARGER_STATE=USB_CHARGER_ABSENT | |
| 54 | + USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE | |
| @@ -6,22 +6,22 @@ Description: When the USB Host Controller has entered a state where it is no · 5 unmodified lines | ||
| 6 | 6 | longer functional a uevent will be raised. The uevent will |
| 7 | 7 | contain ACTION=offline and ERROR=DEAD. |
| 8 | 8 | |
| 9 | − Here is an example taken using udevadm monitor -p: | |
| 9 | + Here is an example taken using udevadm monitor -p:: | |
| 10 | 10 | |
| 11 | − KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) | |
| 12 | − ACTION=offline | |
| 13 | − BUSNUM=002 | |
| 14 | − DEVNAME=/dev/bus/usb/002/001 | |
| 15 | − DEVNUM=001 | |
| 16 | − DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 | |
| 17 | − DEVTYPE=usb_device | |
| 18 | − DRIVER=usb | |
| 19 | − ERROR=DEAD | |
| 20 | − MAJOR=189 | |
| 21 | − MINOR=128 | |
| 22 | − PRODUCT=1d6b/2/414 | |
| 23 | − SEQNUM=2168 | |
| 24 | − SUBSYSTEM=usb | |
| 25 | − TYPE=9/0/1 | |
| 11 | + KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) | |
| 12 | + ACTION=offline | |
| 13 | + BUSNUM=002 | |
| 14 | + DEVNAME=/dev/bus/usb/002/001 | |
| 15 | + DEVNUM=001 | |
| 16 | + DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 | |
| 17 | + DEVTYPE=usb_device | |
| 18 | + DRIVER=usb | |
| 19 | + ERROR=DEAD | |
| 20 | + MAJOR=189 | |
| 21 | + MINOR=128 | |
| 22 | + PRODUCT=1d6b/2/414 | |
| 23 | + SEQNUM=2168 | |
| 24 | + SUBSYSTEM=usb | |
| 25 | + TYPE=9/0/1 | |
| 26 | 26 | |
| 27 | 27 | Users: chromium-os-dev@chromium.org |
| @@ -10,4 +10,14 @@ config WARN_MISSING_DOCUMENTS · 9 unmodified lines | ||
| 10 | 10 | |
| 11 | 11 | If unsure, select 'N'. |
| 12 | 12 | |
| 13 | +config WARN_ABI_ERRORS | |
| 14 | + bool "Warn if there are errors at ABI files" | |
| 15 | + depends on COMPILE_TEST | |
| 16 | + help | |
| 17 | + The files under Documentation/ABI should follow what's | |
| 18 | + described at Documentation/ABI/README. Yet, as they're manually | |
| 19 | + written, it would be possible that some of those files would | |
| 20 | + have errors that would break them for being parsed by | |
| 21 | + scripts/get_abi.pl. Add a check to verify them. | |
| 13 | 22 | |
| 23 | + If unsure, select 'N'. | |
| @@ -10,6 +10,11 @@ ifeq ($(CONFIG_WARN_MISSING_DOCUMENTS),y) · 9 unmodified lines | ||
| 10 | 10 | $(shell $(srctree)/scripts/documentation-file-ref-check --warn) |
| 11 | 11 | endif |
| 12 | 12 | |
| 13 | +# Check for broken ABI files | |
| 14 | +ifeq ($(CONFIG_WARN_ABI_ERRORS),y) | |
| 15 | +$(shell $(srctree)/scripts/get_abi.pl validate --dir $(srctree)/Documentation/ABI) | |
| 16 | +endif | |
| 17 | + | |
| 13 | 18 | # You can set these variables from the command line. |
| 14 | 19 | SPHINXBUILD = sphinx-build |
| 15 | 20 | SPHINXOPTS = |
| @@ -21,6 +26,10 @@ BUILDDIR = $(obj)/output · 5 unmodified lines | ||
| 21 | 26 | PDFLATEX = xelatex |
| 22 | 27 | LATEXOPTS = -interaction=batchmode |
| 23 | 28 | |
| 29 | +ifeq ($(KBUILD_VERBOSE),0) | |
| 30 | +SPHINXOPTS += "-q" | |
| 31 | +endif | |
| 32 | + | |
| 24 | 33 | # User-friendly check for sphinx-build |
| 25 | 34 | HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi) |
| 26 | 35 | |
| @@ -963,7 +963,7 @@ exit and perhaps also vice versa. Therefore, whenever the · 962 unmodified lines | ||
| 963 | 963 | ``->dynticks_nesting`` field is incremented up from zero, the |
| 964 | 964 | ``->dynticks_nmi_nesting`` field is set to a large positive number, and |
| 965 | 965 | whenever the ``->dynticks_nesting`` field is decremented down to zero, |
| 966 | −the the ``->dynticks_nmi_nesting`` field is set to zero. Assuming that | |
| 966 | +the ``->dynticks_nmi_nesting`` field is set to zero. Assuming that | |
| 967 | 967 | the number of misnested interrupts is not sufficient to overflow the |
| 968 | 968 | counter, this approach corrects the ``->dynticks_nmi_nesting`` field |
| 969 | 969 | every time the corresponding CPU enters the idle loop from process |
| @@ -2162,7 +2162,7 @@ scheduling-clock interrupt be enabled when RCU needs it to be: · 2161 unmodified lines | ||
| 2162 | 2162 | this sort of thing. |
| 2163 | 2163 | #. If a CPU is in a portion of the kernel that is absolutely positively |
| 2164 | 2164 | no-joking guaranteed to never execute any RCU read-side critical |
| 2165 | − sections, and RCU believes this CPU to to be idle, no problem. This | |
| 2165 | + sections, and RCU believes this CPU to be idle, no problem. This | |
| 2166 | 2166 | sort of thing is used by some architectures for light-weight |
| 2167 | 2167 | exception handlers, which can then avoid the overhead of |
| 2168 | 2168 | ``rcu_irq_enter()`` and ``rcu_irq_exit()`` at exception entry and |
| @@ -2431,7 +2431,7 @@ However, there are legitimate preemptible-RCU implementations that do · 262 unmodified lines | ||
| 2431 | 2431 | not have this property, given that any point in the code outside of an |
| 2432 | 2432 | RCU read-side critical section can be a quiescent state. Therefore, |
| 2433 | 2433 | *RCU-sched* was created, which follows “classic” RCU in that an |
| 2434 | −RCU-sched grace period waits for for pre-existing interrupt and NMI | |
| 2434 | +RCU-sched grace period waits for pre-existing interrupt and NMI | |
| 2435 | 2435 | handlers. In kernels built with ``CONFIG_PREEMPT=n``, the RCU and |
| 2436 | 2436 | RCU-sched APIs have identical implementations, while kernels built with |
| 2437 | 2437 | ``CONFIG_PREEMPT=y`` provide a separate implementation for each. |
| @@ -360,7 +360,7 @@ order to amortize their overhead over many uses of the corresponding APIs. · 359 unmodified lines | ||
| 360 | 360 | |
| 361 | 361 | There are at least three flavors of RCU usage in the Linux kernel. The diagram |
| 362 | 362 | above shows the most common one. On the updater side, the rcu_assign_pointer(), |
| 363 | −sychronize_rcu() and call_rcu() primitives used are the same for all three | |
| 363 | +synchronize_rcu() and call_rcu() primitives used are the same for all three | |
| 364 | 364 | flavors. However for protection (on the reader side), the primitives used vary |
| 365 | 365 | depending on the flavor: |
| 366 | 366 | |
| @@ -3,9 +3,9 @@ SafeSetID · 2 unmodified lines | ||
| 3 | 3 | ========= |
| 4 | 4 | SafeSetID is an LSM module that gates the setid family of syscalls to restrict |
| 5 | 5 | UID/GID transitions from a given UID/GID to only those approved by a |
| 6 | −system-wide whitelist. These restrictions also prohibit the given UIDs/GIDs | |
| 6 | +system-wide allowlist. These restrictions also prohibit the given UIDs/GIDs | |
| 7 | 7 | from obtaining auxiliary privileges associated with CAP_SET{U/G}ID, such as |
| 8 | −allowing a user to set up user namespace UID mappings. | |
| 8 | +allowing a user to set up user namespace UID/GID mappings. | |
| 9 | 9 | |
| 10 | 10 | |
| 11 | 11 | Background |
| @@ -98,10 +98,21 @@ Directions for use · 86 unmodified lines | ||
| 98 | 98 | ================== |
| 99 | 99 | This LSM hooks the setid syscalls to make sure transitions are allowed if an |
| 100 | 100 | applicable restriction policy is in place. Policies are configured through |
| 101 | −securityfs by writing to the safesetid/add_whitelist_policy and | |
| 102 | −safesetid/flush_whitelist_policies files at the location where securityfs is | |
| 103 | −mounted. The format for adding a policy is '<UID>:<UID>', using literal | |
| 104 | −numbers, such as '123:456'. To flush the policies, any write to the file is | |
| 105 | −sufficient. Again, configuring a policy for a UID will prevent that UID from | |
| 106 | −obtaining auxiliary setid privileges, such as allowing a user to set up user | |
| 107 | −namespace UID mappings. | |
| 101 | +securityfs by writing to the safesetid/uid_allowlist_policy and | |
| 102 | +safesetid/gid_allowlist_policy files at the location where securityfs is | |
| 103 | +mounted. The format for adding a policy is '<UID>:<UID>' or '<GID>:<GID>', | |
| 104 | +using literal numbers, and ending with a newline character such as '123:456\n'. | |
| 105 | +Writing an empty string "" will flush the policy. Again, configuring a policy | |
| 106 | +for a UID/GID will prevent that UID/GID from obtaining auxiliary setid | |
| 107 | +privileges, such as allowing a user to set up user namespace UID/GID mappings. | |
| 108 | + | |
| 109 | +Note on GID policies and setgroups() | |
| 110 | +==================================== | |
| 111 | +In v5.9 we are adding support for limiting CAP_SETGID privileges as was done | |
| 112 | +previously for CAP_SETUID. However, for compatibility with common sandboxing | |
| 113 | +related code conventions in userspace, we currently allow arbitrary | |
| 114 | +setgroups() calls for processes with CAP_SETGID restrictions. Until we add | |
| 115 | +support in a future release for restricting setgroups() calls, these GID | |
| 116 | +policies add no meaningful security. setgroups() restrictions will be enforced | |
| 117 | +once we have the policy checking code in place, which will rely on GID policy | |
| 118 | +configuration code added in v5.9. | |
| @@ -0,0 +1,11 @@ | ||
| 1 | +ABI obsolete symbols | |
| 2 | +==================== | |
| 3 | + | |
| 4 | +Documents interfaces that are still remaining in the kernel, but are | |
| 5 | +marked to be removed at some later point in time. | |
| 6 | + | |
| 7 | +The description of the interface will document the reason why it is | |
| 8 | +obsolete and when it can be expected to be removed. | |
| 9 | + | |
| 10 | +.. kernel-abi:: $srctree/Documentation/ABI/obsolete | |
| 11 | + :rst: | |
| @@ -0,0 +1,5 @@ | ||
| 1 | +ABI removed symbols | |
| 2 | +=================== | |
| 3 | + | |
| 4 | +.. kernel-abi:: $srctree/Documentation/ABI/removed | |
| 5 | + :rst: | |
| @@ -0,0 +1,14 @@ | ||
| 1 | +ABI stable symbols | |
| 2 | +================== | |
| 3 | + | |
| 4 | +Documents the interfaces that the developer has defined to be stable. | |
| 5 | + | |
| 6 | +Userspace programs are free to use these interfaces with no | |
| 7 | +restrictions, and backward compatibility for them will be guaranteed | |
| 8 | +for at least 2 years. | |
| 9 | + | |
| 10 | +Most interfaces (like syscalls) are expected to never change and always | |
| 11 | +be available. | |
| 12 | + | |
| 13 | +.. kernel-abi:: $srctree/Documentation/ABI/stable | |
| 14 | + :rst: | |
| @@ -0,0 +1,20 @@ | ||
| 1 | +ABI testing symbols | |
| 2 | +=================== | |
| 3 | + | |
| 4 | +Documents interfaces that are felt to be stable, | |
| 5 | +as the main development of this interface has been completed. | |
| 6 | + | |
| 7 | +The interface can be changed to add new features, but the | |
| 8 | +current interface will not break by doing this, unless grave | |
| 9 | +errors or security problems are found in them. | |
| 10 | + | |
| 11 | +Userspace programs can start to rely on these interfaces, but they must | |
| 12 | +be aware of changes that can occur before these interfaces move to | |
| 13 | +be marked stable. | |
| 14 | + | |
| 15 | +Programs that use these interfaces are strongly encouraged to add their | |
| 16 | +name to the description of these interfaces, so that the kernel | |
| 17 | +developers can easily notify them if any changes occur. | |
| 18 | + | |
| 19 | +.. kernel-abi:: $srctree/Documentation/ABI/testing | |
| 20 | + :rst: | |
| @@ -0,0 +1,11 @@ | ||
| 1 | +===================== | |
| 2 | +Linux ABI description | |
| 3 | +===================== | |
| 4 | + | |
| 5 | +.. toctree:: | |
| 6 | + :maxdepth: 2 | |
| 7 | + | |
| 8 | + abi-stable | |
| 9 | + abi-testing | |
| 10 | + abi-obsolete | |
| 11 | + abi-removed | |
| @@ -61,43 +61,46 @@ will lead to quite erratic information inside ``/proc/stat``:: · 60 unmodified lines | ||
| 61 | 61 | |
| 62 | 62 | static volatile sig_atomic_t stop; |
| 63 | 63 | |
| 64 | − static void sighandler (int signr) | |
| 64 | + static void sighandler(int signr) | |
| 65 | 65 | { |
| 66 | − (void) signr; | |
| 67 | − stop = 1; | |
| 66 | + (void) signr; | |
| 67 | + stop = 1; | |
| 68 | 68 | } |
| 69 | + | |
| 69 | 70 | static unsigned long hog (unsigned long niters) |
| 70 | 71 | { |
| 71 | − stop = 0; | |
| 72 | − while (!stop && --niters); | |
| 73 | − return niters; | |
| 72 | + stop = 0; | |
| 73 | + while (!stop && --niters); | |
| 74 | + return niters; | |
| 74 | 75 | } |
| 76 | + | |
| 75 | 77 | int main (void) |
| 76 | 78 | { |
| 77 | − int i; | |
| 78 | − struct itimerval it = { .it_interval = { .tv_sec = 0, .tv_usec = 1 }, | |
| 79 | − .it_value = { .tv_sec = 0, .tv_usec = 1 } }; | |
| 80 | − sigset_t set; | |
| 81 | − unsigned long v[HIST]; | |
| 82 | − double tmp = 0.0; | |
| 83 | − unsigned long n; | |
| 84 | − signal (SIGALRM, &sighandler); | |
| 85 | − setitimer (ITIMER_REAL, &it, NULL); | |
| 86 | − | |
| 87 | − hog (ULONG_MAX); | |
| 88 | − for (i = 0; i < HIST; ++i) v[i] = ULONG_MAX - hog (ULONG_MAX); | |
| 89 | − for (i = 0; i < HIST; ++i) tmp += v[i]; | |
| 90 | − tmp /= HIST; | |
| 91 | − n = tmp - (tmp / 3.0); | |
| 92 | − | |
| 93 | − sigemptyset (&set); | |
| 94 | − sigaddset (&set, SIGALRM); | |
| 95 | − | |
| 96 | − for (;;) { | |
| 97 | − hog (n); | |
| 98 | − sigwait (&set, &i); | |
| 99 | − } | |
| 100 | − return 0; | |
| 79 | + int i; | |
| 80 | + struct itimerval it = { | |
| 81 | + .it_interval = { .tv_sec = 0, .tv_usec = 1 }, | |
| 82 | + .it_value = { .tv_sec = 0, .tv_usec = 1 } }; | |
| 83 | + sigset_t set; | |
| 84 | + unsigned long v[HIST]; | |
| 85 | + double tmp = 0.0; | |
| 86 | + unsigned long n; | |
| 87 | + signal(SIGALRM, &sighandler); | |
| 88 | + setitimer(ITIMER_REAL, &it, NULL); | |
| 89 | + | |
| 90 | + hog (ULONG_MAX); | |
| 91 | + for (i = 0; i < HIST; ++i) v[i] = ULONG_MAX - hog(ULONG_MAX); | |
| 92 | + for (i = 0; i < HIST; ++i) tmp += v[i]; | |
| 93 | + tmp /= HIST; | |
| 94 | + n = tmp - (tmp / 3.0); | |
| 95 | + | |
| 96 | + sigemptyset(&set); | |
| 97 | + sigaddset(&set, SIGALRM); | |
| 98 | + | |
| 99 | + for (;;) { | |
| 100 | + hog(n); | |
| 101 | + sigwait(&set, &i); | |
| 102 | + } | |
| 103 | + return 0; | |
| 101 | 104 | } |
| 102 | 105 | |
| 103 | 106 | |
| @@ -18,6 +18,8 @@ etc. · 17 unmodified lines | ||
| 18 | 18 | devices |
| 19 | 19 | sysctl/index |
| 20 | 20 | |
| 21 | + abi | |
| 22 | + | |
| 21 | 23 | This section describes CPU vulnerabilities and their mitigations. |
| 22 | 24 | |
| 23 | 25 | .. toctree:: |
| @@ -1343,12 +1343,18 @@ · 1342 unmodified lines | ||
| 1343 | 1343 | current integrity status. |
| 1344 | 1344 | |
| 1345 | 1345 | failslab= |
| 1346 | + fail_usercopy= | |
| 1346 | 1347 | fail_page_alloc= |
| 1347 | 1348 | fail_make_request=[KNL] |
| 1348 | 1349 | General fault injection mechanism. |
| 1349 | 1350 | Format: <interval>,<probability>,<space>,<times> |
| 1350 | 1351 | See also Documentation/fault-injection/. |
| 1351 | 1352 | |
| 1353 | + fb_tunnels= [NET] | |
| 1354 | + Format: { initns | none } | |
| 1355 | + See Documentation/admin-guide/sysctl/net.rst for | |
| 1356 | + fb_tunnels_only_for_init_ns | |
| 1357 | + | |
| 1352 | 1358 | floppy= [HW] |
| 1353 | 1359 | See Documentation/admin-guide/blockdev/floppy.rst. |
| 1354 | 1360 | |
| @@ -2852,6 +2858,8 @@ · 1497 unmodified lines | ||
| 2852 | 2858 | mds=off [X86] |
| 2853 | 2859 | tsx_async_abort=off [X86] |
| 2854 | 2860 | kvm.nx_huge_pages=off [X86] |
| 2861 | + no_entry_flush [PPC] | |
| 2862 | + no_uaccess_flush [PPC] | |
| 2855 | 2863 | |
| 2856 | 2864 | Exceptions: |
| 2857 | 2865 | This does not have any effect on |
| @@ -3089,6 +3097,10 @@ · 231 unmodified lines | ||
| 3089 | 3097 | and gids from such clients. This is intended to ease |
| 3090 | 3098 | migration from NFSv2/v3. |
| 3091 | 3099 | |
| 3100 | + nmi_backtrace.backtrace_idle [KNL] | |
| 3101 | + Dump stacks even of idle CPUs in response to an | |
| 3102 | + NMI stack-backtrace request. | |
| 3103 | + | |
| 3092 | 3104 | nmi_debug= [KNL,SH] Specify one or more actions to take |
| 3093 | 3105 | when a NMI is triggered. |
| 3094 | 3106 | Format: [state][,regs][,debounce][,die] |
| @@ -3176,6 +3188,8 @@ · 81 unmodified lines | ||
| 3176 | 3188 | |
| 3177 | 3189 | noefi Disable EFI runtime services support. |
| 3178 | 3190 | |
| 3191 | + no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel. | |
| 3192 | + | |
| 3179 | 3193 | noexec [IA-64] |
| 3180 | 3194 | |
| 3181 | 3195 | noexec [X86] |
| @@ -3225,6 +3239,9 @@ · 43 unmodified lines | ||
| 3225 | 3239 | nospec_store_bypass_disable |
| 3226 | 3240 | [HW] Disable all mitigations for the Speculative Store Bypass vulnerability |
| 3227 | 3241 | |
| 3242 | + no_uaccess_flush | |
| 3243 | + [PPC] Don't flush the L1-D cache after accessing user data. | |
| 3244 | + | |
| 3228 | 3245 | noxsave [BUGS=X86] Disables x86 extended register state save |
| 3229 | 3246 | and restore using xsave. The kernel will fallback to |
| 3230 | 3247 | enabling legacy floating-point and sse state. |
| @@ -4168,46 +4185,55 @@ · 937 unmodified lines | ||
| 4168 | 4185 | This wake_up() will be accompanied by a |
| 4169 | 4186 | WARN_ONCE() splat and an ftrace_dump(). |
| 4170 | 4187 | |
| 4188 | + rcutree.rcu_unlock_delay= [KNL] | |
| 4189 | + In CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels, | |
| 4190 | + this specifies an rcu_read_unlock()-time delay | |
| 4191 | + in microseconds. This defaults to zero. | |
| 4192 | + Larger delays increase the probability of | |
| 4193 | + catching RCU pointer leaks, that is, buggy use | |
| 4194 | + of RCU-protected pointers after the relevant | |
| 4195 | + rcu_read_unlock() has completed. | |
| 4196 | + | |
| 4171 | 4197 | rcutree.sysrq_rcu= [KNL] |
| 4172 | 4198 | Commandeer a sysrq key to dump out Tree RCU's |
| 4173 | 4199 | rcu_node tree with an eye towards determining |
| 4174 | 4200 | why a new grace period has not yet started. |
| 4175 | 4201 | |
| 4176 | − rcuperf.gp_async= [KNL] | |
| 4202 | + rcuscale.gp_async= [KNL] | |
| 4177 | 4203 | Measure performance of asynchronous |
| 4178 | 4204 | grace-period primitives such as call_rcu(). |
| 4179 | 4205 | |
| 4180 | − rcuperf.gp_async_max= [KNL] | |
| 4206 | + rcuscale.gp_async_max= [KNL] | |
| 4181 | 4207 | Specify the maximum number of outstanding |
| 4182 | 4208 | callbacks per writer thread. When a writer |
| 4183 | 4209 | thread exceeds this limit, it invokes the |
| 4184 | 4210 | corresponding flavor of rcu_barrier() to allow |
| 4185 | 4211 | previously posted callbacks to drain. |
| 4186 | 4212 | |
| 4187 | − rcuperf.gp_exp= [KNL] | |
| 4213 | + rcuscale.gp_exp= [KNL] | |
| 4188 | 4214 | Measure performance of expedited synchronous |
| 4189 | 4215 | grace-period primitives. |
| 4190 | 4216 | |
| 4191 | − rcuperf.holdoff= [KNL] | |
| 4217 | + rcuscale.holdoff= [KNL] | |
| 4192 | 4218 | Set test-start holdoff period. The purpose of |
| 4193 | 4219 | this parameter is to delay the start of the |
| 4194 | 4220 | test until boot completes in order to avoid |
| 4195 | 4221 | interference. |
| 4196 | 4222 | |
| 4197 | − rcuperf.kfree_rcu_test= [KNL] | |
| 4223 | + rcuscale.kfree_rcu_test= [KNL] | |
| 4198 | 4224 | Set to measure performance of kfree_rcu() flooding. |
| 4199 | 4225 | |
| 4200 | − rcuperf.kfree_nthreads= [KNL] | |
| 4226 | + rcuscale.kfree_nthreads= [KNL] | |
| 4201 | 4227 | The number of threads running loops of kfree_rcu(). |
| 4202 | 4228 | |
| 4203 | − rcuperf.kfree_alloc_num= [KNL] | |
| 4229 | + rcuscale.kfree_alloc_num= [KNL] | |
| 4204 | 4230 | Number of allocations and frees done in an iteration. |
| 4205 | 4231 | |
| 4206 | − rcuperf.kfree_loops= [KNL] | |
| 4207 | − Number of loops doing rcuperf.kfree_alloc_num number | |
| 4232 | + rcuscale.kfree_loops= [KNL] | |
| 4233 | + Number of loops doing rcuscale.kfree_alloc_num number | |
| 4208 | 4234 | of allocations and frees. |
| 4209 | 4235 | |
| 4210 | − rcuperf.nreaders= [KNL] | |
| 4236 | + rcuscale.nreaders= [KNL] | |
| 4211 | 4237 | Set number of RCU readers. The value -1 selects |
| 4212 | 4238 | N, where N is the number of CPUs. A value |
| 4213 | 4239 | "n" less than -1 selects N-n+1, where N is again |
| @@ -4216,23 +4242,23 @@ · 2 unmodified lines | ||
| 4216 | 4242 | A value of "n" less than or equal to -N selects |
| 4217 | 4243 | a single reader. |
| 4218 | 4244 | |
| 4219 | − rcuperf.nwriters= [KNL] | |
| 4245 | + rcuscale.nwriters= [KNL] | |
| 4220 | 4246 | Set number of RCU writers. The values operate |
| 4221 | − the same as for rcuperf.nreaders. | |
| 4247 | + the same as for rcuscale.nreaders. | |
| 4222 | 4248 | N, where N is the number of CPUs |
| 4223 | 4249 | |
| 4224 | − rcuperf.perf_type= [KNL] | |
| 4250 | + rcuscale.perf_type= [KNL] | |
| 4225 | 4251 | Specify the RCU implementation to test. |
| 4226 | 4252 | |
| 4227 | − rcuperf.shutdown= [KNL] | |
| 4253 | + rcuscale.shutdown= [KNL] | |
| 4228 | 4254 | Shut the system down after performance tests |
| 4229 | 4255 | complete. This is useful for hands-off automated |
| 4230 | 4256 | testing. |
| 4231 | 4257 | |
| 4232 | − rcuperf.verbose= [KNL] | |
| 4258 | + rcuscale.verbose= [KNL] | |
| 4233 | 4259 | Enable additional printk() statements. |
| 4234 | 4260 | |
| 4235 | − rcuperf.writer_holdoff= [KNL] | |
| 4261 | + rcuscale.writer_holdoff= [KNL] | |
| 4236 | 4262 | Write-side holdoff between grace periods, |
| 4237 | 4263 | in microseconds. The default of zero says |
| 4238 | 4264 | no holdoff. |
| @@ -4285,6 +4311,18 @@ · 46 unmodified lines | ||
| 4285 | 4311 | are zero, rcutorture acts as if is interpreted |
| 4286 | 4312 | they are all non-zero. |
| 4287 | 4313 | |
| 4314 | + rcutorture.irqreader= [KNL] | |
| 4315 | + Run RCU readers from irq handlers, or, more | |
| 4316 | + accurately, from a timer handler. Not all RCU | |
| 4317 | + flavors take kindly to this sort of thing. | |
| 4318 | + | |
| 4319 | + rcutorture.leakpointer= [KNL] | |
| 4320 | + Leak an RCU-protected pointer out of the reader. | |
| 4321 | + This can of course result in splats, and is | |
| 4322 | + intended to test the ability of things like | |
| 4323 | + CONFIG_RCU_STRICT_GRACE_PERIOD=y to detect | |
| 4324 | + such leaks. | |
| 4325 | + | |
| 4288 | 4326 | rcutorture.n_barrier_cbs= [KNL] |
| 4289 | 4327 | Set callbacks/threads for rcu_barrier() testing. |
| 4290 | 4328 | |
| @@ -4506,8 +4544,8 @@ · 215 unmodified lines | ||
| 4506 | 4544 | refscale.shutdown= [KNL] |
| 4507 | 4545 | Shut down the system at the end of the performance |
| 4508 | 4546 | test. This defaults to 1 (shut it down) when |
| 4509 | − rcuperf is built into the kernel and to 0 (leave | |
| 4510 | − it running) when rcuperf is built as a module. | |
| 4547 | + refscale is built into the kernel and to 0 (leave | |
| 4548 | + it running) when refscale is built as a module. | |
| 4511 | 4549 | |
| 4512 | 4550 | refscale.verbose= [KNL] |
| 4513 | 4551 | Enable additional printk() statements. |
| @@ -4653,6 +4691,98 @@ · 139 unmodified lines | ||
| 4653 | 4691 | Format: integer between 0 and 10 |
| 4654 | 4692 | Default is 0. |
| 4655 | 4693 | |
| 4694 | + scftorture.holdoff= [KNL] | |
| 4695 | + Number of seconds to hold off before starting | |
| 4696 | + test. Defaults to zero for module insertion and | |
| 4697 | + to 10 seconds for built-in smp_call_function() | |
| 4698 | + tests. | |
| 4699 | + | |
| 4700 | + scftorture.longwait= [KNL] | |
| 4701 | + Request ridiculously long waits randomly selected | |
| 4702 | + up to the chosen limit in seconds. Zero (the | |
| 4703 | + default) disables this feature. Please note | |
| 4704 | + that requesting even small non-zero numbers of | |
| 4705 | + seconds can result in RCU CPU stall warnings, | |
| 4706 | + softlockup complaints, and so on. | |
| 4707 | + | |
| 4708 | + scftorture.nthreads= [KNL] | |
| 4709 | + Number of kthreads to spawn to invoke the | |
| 4710 | + smp_call_function() family of functions. | |
| 4711 | + The default of -1 specifies a number of kthreads | |
| 4712 | + equal to the number of CPUs. | |
| 4713 | + | |
| 4714 | + scftorture.onoff_holdoff= [KNL] | |
| 4715 | + Number seconds to wait after the start of the | |
| 4716 | + test before initiating CPU-hotplug operations. | |
| 4717 | + | |
| 4718 | + scftorture.onoff_interval= [KNL] | |
| 4719 | + Number seconds to wait between successive | |
| 4720 | + CPU-hotplug operations. Specifying zero (which | |
| 4721 | + is the default) disables CPU-hotplug operations. | |
| 4722 | + | |
| 4723 | + scftorture.shutdown_secs= [KNL] | |
| 4724 | + The number of seconds following the start of the | |
| 4725 | + test after which to shut down the system. The | |
| 4726 | + default of zero avoids shutting down the system. | |
| 4727 | + Non-zero values are useful for automated tests. | |
| 4728 | + | |
| 4729 | + scftorture.stat_interval= [KNL] | |
| 4730 | + The number of seconds between outputting the | |
| 4731 | + current test statistics to the console. A value | |
| 4732 | + of zero disables statistics output. | |
| 4733 | + | |
| 4734 | + scftorture.stutter_cpus= [KNL] | |
| 4735 | + The number of jiffies to wait between each change | |
| 4736 | + to the set of CPUs under test. | |
| 4737 | + | |
| 4738 | + scftorture.use_cpus_read_lock= [KNL] | |
| 4739 | + Use use_cpus_read_lock() instead of the default | |
| 4740 | + preempt_disable() to disable CPU hotplug | |
| 4741 | + while invoking one of the smp_call_function*() | |
| 4742 | + functions. | |
| 4743 | + | |
| 4744 | + scftorture.verbose= [KNL] | |
| 4745 | + Enable additional printk() statements. | |
| 4746 | + | |
| 4747 | + scftorture.weight_single= [KNL] | |
| 4748 | + The probability weighting to use for the | |
| 4749 | + smp_call_function_single() function with a zero | |
| 4750 | + "wait" parameter. A value of -1 selects the | |
| 4751 | + default if all other weights are -1. However, | |
| 4752 | + if at least one weight has some other value, a | |
| 4753 | + value of -1 will instead select a weight of zero. | |
| 4754 | + | |
| 4755 | + scftorture.weight_single_wait= [KNL] | |
| 4756 | + The probability weighting to use for the | |
| 4757 | + smp_call_function_single() function with a | |
| 4758 | + non-zero "wait" parameter. See weight_single. | |
| 4759 | + | |
| 4760 | + scftorture.weight_many= [KNL] | |
| 4761 | + The probability weighting to use for the | |
| 4762 | + smp_call_function_many() function with a zero | |
| 4763 | + "wait" parameter. See weight_single. | |
| 4764 | + Note well that setting a high probability for | |
| 4765 | + this weighting can place serious IPI load | |
| 4766 | + on the system. | |
| 4767 | + | |
| 4768 | + scftorture.weight_many_wait= [KNL] | |
| 4769 | + The probability weighting to use for the | |
| 4770 | + smp_call_function_many() function with a | |
| 4771 | + non-zero "wait" parameter. See weight_single | |
| 4772 | + and weight_many. | |
| 4773 | + | |
| 4774 | + scftorture.weight_all= [KNL] | |
| 4775 | + The probability weighting to use for the | |
| 4776 | + smp_call_function_all() function with a zero | |
| 4777 | + "wait" parameter. See weight_single and | |
| 4778 | + weight_many. | |
| 4779 | + | |
| 4780 | + scftorture.weight_all_wait= [KNL] | |
| 4781 | + The probability weighting to use for the | |
| 4782 | + smp_call_function_all() function with a | |
| 4783 | + non-zero "wait" parameter. See weight_single | |
| 4784 | + and weight_many. | |
| 4785 | + | |
| 4656 | 4786 | skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate |
| 4657 | 4787 | xtime_lock contention on larger systems, and/or RCU lock |
| 4658 | 4788 | contention on all systems with CONFIG_MAXSMP set. |
| @@ -5847,6 +5977,21 @@ · 1188 unmodified lines | ||
| 5847 | 5977 | improve timer resolution at the expense of processing |
| 5848 | 5978 | more timer interrupts. |
| 5849 | 5979 | |
| 5980 | + xen.event_eoi_delay= [XEN] | |
| 5981 | + How long to delay EOI handling in case of event | |
| 5982 | + storms (jiffies). Default is 10. | |
| 5983 | + | |
| 5984 | + xen.event_loop_timeout= [XEN] | |
| 5985 | + After which time (jiffies) the event handling loop | |
| 5986 | + should start to delay EOI handling. Default is 2. | |
| 5987 | + | |
| 5988 | + xen.fifo_events= [XEN] | |
| 5989 | + Boolean parameter to disable using fifo event handling | |
| 5990 | + even if available. Normally fifo event handling is | |
| 5991 | + preferred over the 2-level event handling, as it is | |
| 5992 | + fairer and the number of possible event channels is | |
| 5993 | + much higher. Default is on (use fifo events). | |
| 5994 | + | |
| 5850 | 5995 | nopv= [X86,XEN,KVM,HYPER_V,VMWARE] |
| 5851 | 5996 | Disables the PV optimizations forcing the guest to run |
| 5852 | 5997 | as generic guest with no PV drivers. Currently support |
| @@ -1,70 +0,0 @@ | ||
| 1 | −=================== | |
| 2 | −NFS Fault Injection | |
| 3 | −=================== | |
| 4 | − | |
| 5 | −Fault injection is a method for forcing errors that may not normally occur, or | |
| 6 | −may be difficult to reproduce. Forcing these errors in a controlled environment | |
| 7 | −can help the developer find and fix bugs before their code is shipped in a | |
| 8 | −production system. Injecting an error on the Linux NFS server will allow us to | |
| 9 | −observe how the client reacts and if it manages to recover its state correctly. | |
| 10 | − | |
| 11 | −NFSD_FAULT_INJECTION must be selected when configuring the kernel to use this | |
| 12 | −feature. | |
| 13 | − | |
| 14 | − | |
| 15 | −Using Fault Injection | |
| 16 | −===================== | |
| 17 | −On the client, mount the fault injection server through NFS v4.0+ and do some | |
| 18 | −work over NFS (open files, take locks, ...). | |
| 19 | − | |
| 20 | −On the server, mount the debugfs filesystem to <debug_dir> and ls | |
| 21 | −<debug_dir>/nfsd. This will show a list of files that will be used for | |
| 22 | −injecting faults on the NFS server. As root, write a number n to the file | |
| 23 | −corresponding to the action you want the server to take. The server will then | |
| 24 | −process the first n items it finds. So if you want to forget 5 locks, echo '5' | |
| 25 | −to <debug_dir>/nfsd/forget_locks. A value of 0 will tell the server to forget | |
| 26 | −all corresponding items. A log message will be created containing the number | |
| 27 | −of items forgotten (check dmesg). | |
| 28 | − | |
| 29 | −Go back to work on the client and check if the client recovered from the error | |
| 30 | −correctly. | |
| 31 | − | |
| 32 | − | |
| 33 | −Available Faults | |
| 34 | −================ | |
| 35 | −forget_clients: | |
| 36 | − The NFS server keeps a list of clients that have placed a mount call. If | |
| 37 | − this list is cleared, the server will have no knowledge of who the client | |
| 38 | − is, forcing the client to reauthenticate with the server. | |
| 39 | − | |
| 40 | −forget_openowners: | |
| 41 | − The NFS server keeps a list of what files are currently opened and who | |
| 42 | − they were opened by. Clearing this list will force the client to reopen | |
| 43 | − its files. | |
| 44 | − | |
| 45 | −forget_locks: | |
| 46 | − The NFS server keeps a list of what files are currently locked in the VFS. | |
| 47 | − Clearing this list will force the client to reclaim its locks (files are | |
| 48 | − unlocked through the VFS as they are cleared from this list). | |
| 49 | − | |
| 50 | −forget_delegations: | |
| 51 | − A delegation is used to assure the client that a file, or part of a file, | |
| 52 | − has not changed since the delegation was awarded. Clearing this list will | |
| 53 | − force the client to reacquire its delegation before accessing the file | |
| 54 | − again. | |
| 55 | − | |
| 56 | −recall_delegations: | |
| 57 | − Delegations can be recalled by the server when another client attempts to | |
| 58 | − access a file. This test will notify the client that its delegation has | |
| 59 | − been revoked, forcing the client to reacquire the delegation before using | |
| 60 | − the file again. | |
| 61 | − | |
| 62 | − | |
| 63 | −tools/nfs/inject_faults.sh script | |
| 64 | −================================= | |
| 65 | −This script has been created to ease the fault injection process. This script | |
| 66 | −will detect the mounted debugfs directory and write to the files located there | |
| 67 | −based on the arguments passed by the user. For example, running | |
| 68 | −`inject_faults.sh forget_locks 1` as root will instruct the server to forget | |
| 69 | −one lock. Running `inject_faults forget_locks` will instruct the server to | |
| 70 | −forgetall locks. | |
| @@ -12,4 +12,3 @@ NFS · 11 unmodified lines | ||
| 12 | 12 | nfs-idmapper |
| 13 | 13 | pnfs-block-server |
| 14 | 14 | pnfs-scsi-server |
| 15 | − fault_injection | |
| @@ -1,7 +1,6 @@ | ||
| 1 | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | .. include:: <isonum.txt> |
| 3 | 3 | |
| 4 | −.. |struct cpufreq_policy| replace:: :c:type:`struct cpufreq_policy <cpufreq_policy>` | |
| 5 | 4 | .. |intel_pstate| replace:: :doc:`intel_pstate <intel_pstate>` |
| 6 | 5 | |
| 7 | 6 | ======================= |
| @@ -92,16 +91,16 @@ control the P-state of multiple CPUs at the same time and writing to it affects · 84 unmodified lines | ||
| 92 | 91 | all of those CPUs simultaneously. |
| 93 | 92 | |
| 94 | 93 | Sets of CPUs sharing hardware P-state control interfaces are represented by |
| 95 | −``CPUFreq`` as |struct cpufreq_policy| objects. For consistency, | |
| 96 | −|struct cpufreq_policy| is also used when there is only one CPU in the given | |
| 94 | +``CPUFreq`` as struct cpufreq_policy objects. For consistency, | |
| 95 | +struct cpufreq_policy is also used when there is only one CPU in the given | |
| 97 | 96 | set. |
| 98 | 97 | |
| 99 | −The ``CPUFreq`` core maintains a pointer to a |struct cpufreq_policy| object for | |
| 98 | +The ``CPUFreq`` core maintains a pointer to a struct cpufreq_policy object for | |
| 100 | 99 | every CPU in the system, including CPUs that are currently offline. If multiple |
| 101 | 100 | CPUs share the same hardware P-state control interface, all of the pointers |
| 102 | −corresponding to them point to the same |struct cpufreq_policy| object. | |
| 101 | +corresponding to them point to the same struct cpufreq_policy object. | |
| 103 | 102 | |
| 104 | −``CPUFreq`` uses |struct cpufreq_policy| as its basic data type and the design | |
| 103 | +``CPUFreq`` uses struct cpufreq_policy as its basic data type and the design | |
| 105 | 104 | of its user space interface is based on the policy concept. |
| 106 | 105 | |
| 107 | 106 | |
| @@ -478,7 +478,7 @@ order to ask the hardware to enter that state. Also, for each · 477 unmodified lines | ||
| 478 | 478 | statistics of the given idle state. That information is exposed by the kernel |
| 479 | 479 | via ``sysfs``. |
| 480 | 480 | |
| 481 | −For each CPU in the system, there is a :file:`/sys/devices/system/cpu<N>/cpuidle/` | |
| 481 | +For each CPU in the system, there is a :file:`/sys/devices/system/cpu/cpu<N>/cpuidle/` | |
| 482 | 482 | directory in ``sysfs``, where the number ``<N>`` is assigned to the given |
| 483 | 483 | CPU at the initialization time. That directory contains a set of subdirectories |
| 484 | 484 | called :file:`state0`, :file:`state1` and so on, up to the number of idle state |
| @@ -494,7 +494,7 @@ object corresponding to it, as follows: · 9 unmodified lines | ||
| 494 | 494 | residency. |
| 495 | 495 | |
| 496 | 496 | ``below`` |
| 497 | − Total number of times this idle state had been asked for, but cerainly | |
| 497 | + Total number of times this idle state had been asked for, but certainly | |
| 498 | 498 | a deeper idle state would have been a better match for the observed idle |
| 499 | 499 | duration. |
| 500 | 500 | |
| @@ -154,17 +154,11 @@ Configurations for driver · 153 unmodified lines | ||
| 154 | 154 | Only a block device driver cares about these configurations. A block device |
| 155 | 155 | driver uses ``register_pstore_blk`` to register to pstore/blk. |
| 156 | 156 | |
| 157 | −.. kernel-doc:: fs/pstore/blk.c | |
| 158 | − :identifiers: register_pstore_blk | |
| 159 | − | |
| 160 | 157 | A non-block device driver uses ``register_pstore_device`` with |
| 161 | 158 | ``struct pstore_device_info`` to register to pstore/blk. |
| 162 | 159 | |
| 163 | 160 | .. kernel-doc:: fs/pstore/blk.c |
| 164 | − :identifiers: register_pstore_device | |
| 165 | − | |
| 166 | −.. kernel-doc:: include/linux/pstore_blk.h | |
| 167 | − :identifiers: pstore_device_info | |
| 161 | + :export: | |
| 168 | 162 | |
| 169 | 163 | Compression and header |
| 170 | 164 | ---------------------- |
| @@ -237,7 +231,7 @@ For developer reference, here are all the important structures and APIs: · 66 unmodified lines | ||
| 237 | 231 | :internal: |
| 238 | 232 | |
| 239 | 233 | .. kernel-doc:: fs/pstore/blk.c |
| 240 | − :export: | |
| 234 | + :internal: | |
| 241 | 235 | |
| 242 | 236 | .. kernel-doc:: include/linux/pstore_blk.h |
| 243 | 237 | :internal: |
| @@ -321,11 +321,20 @@ fb_tunnels_only_for_init_net · 320 unmodified lines | ||
| 321 | 321 | ---------------------------- |
| 322 | 322 | |
| 323 | 323 | Controls if fallback tunnels (like tunl0, gre0, gretap0, erspan0, |
| 324 | −sit0, ip6tnl0, ip6gre0) are automatically created when a new | |
| 325 | −network namespace is created, if corresponding tunnel is present | |
| 326 | −in initial network namespace. | |
| 327 | −If set to 1, these devices are not automatically created, and | |
| 328 | −user space is responsible for creating them if needed. | |
| 324 | +sit0, ip6tnl0, ip6gre0) are automatically created. There are 3 possibilities | |
| 325 | +(a) value = 0; respective fallback tunnels are created when module is | |
| 326 | +loaded in every net namespaces (backward compatible behavior). | |
| 327 | +(b) value = 1; [kcmd value: initns] respective fallback tunnels are | |
| 328 | +created only in init net namespace and every other net namespace will | |
| 329 | +not have them. | |
| 330 | +(c) value = 2; [kcmd value: none] fallback tunnels are not created | |
| 331 | +when a module is loaded in any of the net namespace. Setting value to | |
| 332 | +"2" is pointless after boot if these modules are built-in, so there is | |
| 333 | +a kernel command-line option that can change this default. Please refer to | |
| 334 | +Documentation/admin-guide/kernel-parameters.txt for additional details. | |
| 335 | + | |
| 336 | +Not creating fallback tunnels gives control to userspace to create | |
| 337 | +whatever is needed only and avoid creating devices which are redundant. | |
| 329 | 338 | |
| 330 | 339 | Default : 0 (for compatibility reasons) |
| 331 | 340 | |
| @@ -27,6 +27,7 @@ Currently, these files are in /proc/sys/vm: · 26 unmodified lines | ||
| 27 | 27 | - admin_reserve_kbytes |
| 28 | 28 | - block_dump |
| 29 | 29 | - compact_memory |
| 30 | +- compaction_proactiveness | |
| 30 | 31 | - compact_unevictable_allowed |
| 31 | 32 | - dirty_background_bytes |
| 32 | 33 | - dirty_background_ratio |
| @@ -37,6 +38,7 @@ Currently, these files are in /proc/sys/vm: · 4 unmodified lines | ||
| 37 | 38 | - dirty_writeback_centisecs |
| 38 | 39 | - drop_caches |
| 39 | 40 | - extfrag_threshold |
| 41 | +- highmem_is_dirtyable | |
| 40 | 42 | - hugetlb_shm_group |
| 41 | 43 | - laptop_mode |
| 42 | 44 | - legacy_va_layout |
| @@ -210,6 +210,28 @@ When mounting an XFS filesystem, the following options are accepted. · 209 unmodified lines | ||
| 210 | 210 | inconsistent namespace presentation during or after a |
| 211 | 211 | failover event. |
| 212 | 212 | |
| 213 | +Deprecation of V4 Format | |
| 214 | +======================== | |
| 215 | + | |
| 216 | +The V4 filesystem format lacks certain features that are supported by | |
| 217 | +the V5 format, such as metadata checksumming, strengthened metadata | |
| 218 | +verification, and the ability to store timestamps past the year 2038. | |
| 219 | +Because of this, the V4 format is deprecated. All users should upgrade | |
| 220 | +by backing up their files, reformatting, and restoring from the backup. | |
| 221 | + | |
| 222 | +Administrators and users can detect a V4 filesystem by running xfs_info | |
| 223 | +against a filesystem mountpoint and checking for a string containing | |
| 224 | +"crc=". If no such string is found, please upgrade xfsprogs to the | |
| 225 | +latest version and try again. | |
| 226 | + | |
| 227 | +The deprecation will take place in two parts. Support for mounting V4 | |
| 228 | +filesystems can now be disabled at kernel build time via Kconfig option. | |
| 229 | +The option will default to yes until September 2025, at which time it | |
| 230 | +will be changed to default to no. In September 2030, support will be | |
| 231 | +removed from the codebase entirely. | |
| 232 | + | |
| 233 | +Note: Distributors may choose to withdraw V4 format support earlier than | |
| 234 | +the dates listed above. | |
| 213 | 235 | |
| 214 | 236 | Deprecated Mount Options |
| 215 | 237 | ======================== |
| @@ -217,6 +239,9 @@ Deprecated Mount Options · 1 unmodified line | ||
| 217 | 239 | =========================== ================ |
| 218 | 240 | Name Removal Schedule |
| 219 | 241 | =========================== ================ |
| 242 | +Mounting with V4 filesystem September 2030 | |
| 243 | +ikeep/noikeep September 2025 | |
| 244 | +attr2/noattr2 September 2025 | |
| 220 | 245 | =========================== ================ |
| 221 | 246 | |
| 222 | 247 | |
| @@ -331,7 +356,12 @@ The following sysctls are available for the XFS filesystem: · 108 unmodified lines | ||
| 331 | 356 | Deprecated Sysctls |
| 332 | 357 | ================== |
| 333 | 358 | |
| 334 | −None at present. | |
| 359 | +=========================== ================ | |
| 360 | + Name Removal Schedule | |
| 361 | +=========================== ================ | |
| 362 | +fs.xfs.irix_sgid_inherit September 2025 | |
| 363 | +fs.xfs.irix_symlink_mode September 2025 | |
| 364 | +=========================== ================ | |
| 335 | 365 | |
| 336 | 366 | |
| 337 | 367 | Removed Sysctls |
| @@ -148,3 +148,13 @@ SunXi family · 147 unmodified lines | ||
| 148 | 148 | * User Manual |
| 149 | 149 | |
| 150 | 150 | http://dl.linux-sunxi.org/A64/Allwinner%20A64%20User%20Manual%20v1.0.pdf |
| 151 | + | |
| 152 | + - Allwinner H6 | |
| 153 | + | |
| 154 | + * Datasheet | |
| 155 | + | |
| 156 | + https://linux-sunxi.org/images/5/5c/Allwinner_H6_V200_Datasheet_V1.1.pdf | |
| 157 | + | |
| 158 | + * User Manual | |
| 159 | + | |
| 160 | + https://linux-sunxi.org/images/4/46/Allwinner_H6_V200_User_Manual_V1.1.pdf | |
| @@ -1,3 +1,5 @@ | ||
| 1 | +.. _hugetlbpage_index: | |
| 2 | + | |
| 1 | 3 | ==================== |
| 2 | 4 | HugeTLBpage on ARM64 |
| 3 | 5 | ==================== |
| @@ -102,7 +102,9 @@ applications. · 101 unmodified lines | ||
| 102 | 102 | system call) are not checked if the user thread tag checking mode is |
| 103 | 103 | ``PR_MTE_TCF_NONE`` or ``PR_MTE_TCF_ASYNC``. If the tag checking mode is |
| 104 | 104 | ``PR_MTE_TCF_SYNC``, the kernel makes a best effort to check its user |
| 105 | −address accesses, however it cannot always guarantee it. | |
| 105 | +address accesses, however it cannot always guarantee it. Kernel accesses | |
| 106 | +to user addresses are always performed with an effective ``PSTATE.TCO`` | |
| 107 | +value of zero, regardless of the user configuration. | |
| 106 | 108 | |
| 107 | 109 | Excluding Tags in the ``IRG``, ``ADDG`` and ``SUBG`` instructions |
| 108 | 110 | ----------------------------------------------------------------- |
| @@ -90,6 +90,8 @@ stable kernels. · 89 unmodified lines | ||
| 90 | 90 | +----------------+-----------------+-----------------+-----------------------------+ |
| 91 | 91 | | ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 | |
| 92 | 92 | +----------------+-----------------+-----------------+-----------------------------+ |
| 93 | +| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 | | |
| 94 | ++----------------+-----------------+-----------------+-----------------------------+ | |
| 93 | 95 | | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | |
| 94 | 96 | +----------------+-----------------+-----------------+-----------------------------+ |
| 95 | 97 | | ARM | Neoverse-N1 | #1349291 | N/A | |
| @@ -63,10 +63,10 @@ Software staging queues · 62 unmodified lines | ||
| 63 | 63 | ~~~~~~~~~~~~~~~~~~~~~~~ |
| 64 | 64 | |
| 65 | 65 | The block IO subsystem adds requests in the software staging queues |
| 66 | −(represented by struct :c:type:`blk_mq_ctx`) in case that they weren't sent | |
| 66 | +(represented by struct blk_mq_ctx) in case that they weren't sent | |
| 67 | 67 | directly to the driver. A request is one or more BIOs. They arrived at the |
| 68 | −block layer through the data structure struct :c:type:`bio`. The block layer | |
| 69 | −will then build a new structure from it, the struct :c:type:`request` that will | |
| 68 | +block layer through the data structure struct bio. The block layer | |
| 69 | +will then build a new structure from it, the struct request that will | |
| 70 | 70 | be used to communicate with the device driver. Each queue has its own lock and |
| 71 | 71 | the number of queues is defined by a per-CPU or per-node basis. |
| 72 | 72 | |
| @@ -102,7 +102,7 @@ hardware queue will be drained in sequence according to their mapping. · 29 unmodified lines | ||
| 102 | 102 | Hardware dispatch queues |
| 103 | 103 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
| 104 | 104 | |
| 105 | −The hardware queue (represented by struct :c:type:`blk_mq_hw_ctx`) is a struct | |
| 105 | +The hardware queue (represented by struct blk_mq_hw_ctx) is a struct | |
| 106 | 106 | used by device drivers to map the device submission queues (or device DMA ring |
| 107 | 107 | buffer), and are the last step of the block layer submission code before the |
| 108 | 108 | low level device driver taking ownership of the request. To run this queue, the |
| @@ -110,9 +110,9 @@ block layer removes requests from the associated software queues and tries to · 1 unmodified line | ||
| 110 | 110 | dispatch to the hardware. |
| 111 | 111 | |
| 112 | 112 | If it's not possible to send the requests directly to hardware, they will be |
| 113 | −added to a linked list (:c:type:`hctx->dispatch`) of requests. Then, | |
| 113 | +added to a linked list (``hctx->dispatch``) of requests. Then, | |
| 114 | 114 | next time the block layer runs a queue, it will send the requests laying at the |
| 115 | −:c:type:`dispatch` list first, to ensure a fairness dispatch with those | |
| 115 | +``dispatch`` list first, to ensure a fairness dispatch with those | |
| 116 | 116 | requests that were ready to be sent first. The number of hardware queues |
| 117 | 117 | depends on the number of hardware contexts supported by the hardware and its |
| 118 | 118 | device driver, but it will not be more than the number of cores of the system. |
| @@ -52,7 +52,7 @@ Constraints and notes · 51 unmodified lines | ||
| 52 | 52 | Design |
| 53 | 53 | ====== |
| 54 | 54 | |
| 55 | −We add a :c:type:`struct bio_crypt_ctx` to :c:type:`struct bio` that can | |
| 55 | +We add a struct bio_crypt_ctx to struct bio that can | |
| 56 | 56 | represent an encryption context, because we need to be able to pass this |
| 57 | 57 | encryption context from the upper layers (like the fs layer) to the |
| 58 | 58 | device driver to act upon. |
| @@ -85,7 +85,7 @@ blk-mq changes, other block layer changes and blk-crypto-fallback · 26 unmodified lines | ||
| 85 | 85 | ================================================================= |
| 86 | 86 | |
| 87 | 87 | We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to |
| 88 | −:c:type:`struct request`. These will be referred to as the ``crypto fields`` | |
| 88 | +struct request. These will be referred to as the ``crypto fields`` | |
| 89 | 89 | for the request. This ``keyslot`` is the keyslot into which the |
| 90 | 90 | ``bi_crypt_context`` has been programmed in the KSM of the ``request_queue`` |
| 91 | 91 | that this request is being sent to. |
| @@ -118,7 +118,7 @@ of the algorithm being used adheres to spec and functions correctly). · 26 unmodified lines | ||
| 118 | 118 | If a ``request queue``'s inline encryption hardware claimed to support the |
| 119 | 119 | encryption context specified with a bio, then it will not be handled by the |
| 120 | 120 | ``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a |
| 121 | −:c:type:`struct request` needs to be allocated for that bio. At that point, | |
| 121 | +struct request needs to be allocated for that bio. At that point, | |
| 122 | 122 | blk-mq tries to program the encryption context into the ``request_queue``'s |
| 123 | 123 | keyslot_manager, and obtain a keyslot, which it stores in its newly added |
| 124 | 124 | ``keyslot`` field. This keyslot is released when the request is completed. |
| @@ -188,7 +188,7 @@ keyslots supported by the hardware. · 63 unmodified lines | ||
| 188 | 188 | The device driver also needs to tell the KSM how to actually manipulate the |
| 189 | 189 | IE hardware in the device to do things like programming the crypto key into |
| 190 | 190 | the IE hardware into a particular keyslot. All this is achieved through the |
| 191 | −:c:type:`struct blk_ksm_ll_ops` field in the KSM that the device driver | |
| 191 | +struct blk_ksm_ll_ops field in the KSM that the device driver | |
| 192 | 192 | must fill up after initing the ``blk_keyslot_manager``. |
| 193 | 193 | |
| 194 | 194 | The KSM also handles runtime power management for the device when applicable |
| @@ -124,6 +124,10 @@ For zoned block devices (zoned attribute indicating "host-managed" or · 123 unmodified lines | ||
| 124 | 124 | EXPLICIT OPEN, IMPLICIT OPEN or CLOSED, is limited by this value. |
| 125 | 125 | If this value is 0, there is no limit. |
| 126 | 126 | |
| 127 | +If the host attempts to exceed this limit, the driver should report this error | |
| 128 | +with BLK_STS_ZONE_ACTIVE_RESOURCE, which user space may see as the EOVERFLOW | |
| 129 | +errno. | |
| 130 | + | |
| 127 | 131 | max_open_zones (RO) |
| 128 | 132 | ------------------- |
| 129 | 133 | For zoned block devices (zoned attribute indicating "host-managed" or |
| @@ -131,6 +135,10 @@ For zoned block devices (zoned attribute indicating "host-managed" or · 1 unmodified line | ||
| 131 | 135 | EXPLICIT OPEN or IMPLICIT OPEN, is limited by this value. |
| 132 | 136 | If this value is 0, there is no limit. |
| 133 | 137 | |
| 138 | +If the host attempts to exceed this limit, the driver should report this error | |
| 139 | +with BLK_STS_ZONE_OPEN_RESOURCE, which user space may see as the ETOOMANYREFS | |
| 140 | +errno. | |
| 141 | + | |
| 134 | 142 | max_sectors_kb (RW) |
| 135 | 143 | ------------------- |
| 136 | 144 | This is the maximum number of kilobytes that the block layer will allow |
| @@ -60,13 +60,13 @@ Q: Where can I find patches currently under discussion for BPF subsystem? · 59 unmodified lines | ||
| 60 | 60 | A: All patches that are Cc'ed to netdev are queued for review under netdev |
| 61 | 61 | patchwork project: |
| 62 | 62 | |
| 63 | − http://patchwork.ozlabs.org/project/netdev/list/ | |
| 63 | + https://patchwork.kernel.org/project/netdevbpf/list/ | |
| 64 | 64 | |
| 65 | 65 | Those patches which target BPF, are assigned to a 'bpf' delegate for |
| 66 | 66 | further processing from BPF maintainers. The current queue with |
| 67 | 67 | patches under review can be found at: |
| 68 | 68 | |
| 69 | − https://patchwork.ozlabs.org/project/netdev/list/?delegate=77147 | |
| 69 | + https://patchwork.kernel.org/project/netdevbpf/list/?delegate=121173 | |
| 70 | 70 | |
| 71 | 71 | Once the patches have been reviewed by the BPF community as a whole |
| 72 | 72 | and approved by the BPF maintainers, their status in patchwork will be |
| @@ -149,7 +149,7 @@ In case the patch or patch series has to be reworked and sent out · 76 unmodified lines | ||
| 149 | 149 | again in a second or later revision, it is also required to add a |
| 150 | 150 | version number (``v2``, ``v3``, ...) into the subject prefix:: |
| 151 | 151 | |
| 152 | − git format-patch --subject-prefix='PATCH net-next v2' start..finish | |
| 152 | + git format-patch --subject-prefix='PATCH bpf-next v2' start..finish | |
| 153 | 153 | |
| 154 | 154 | When changes have been requested to the patch series, always send the |
| 155 | 155 | whole patch series again with the feedback incorporated (never send |
| @@ -479,17 +479,18 @@ LLVM's static compiler lists the supported targets through · 323 unmodified lines | ||
| 479 | 479 | |
| 480 | 480 | $ llc --version |
| 481 | 481 | LLVM (http://llvm.org/): |
| 482 | − LLVM version 6.0.0svn | |
| 482 | + LLVM version 10.0.0 | |
| 483 | 483 | Optimized build. |
| 484 | 484 | Default target: x86_64-unknown-linux-gnu |
| 485 | 485 | Host CPU: skylake |
| 486 | 486 | |
| 487 | 487 | Registered Targets: |
| 488 | − bpf - BPF (host endian) | |
| 489 | − bpfeb - BPF (big endian) | |
| 490 | − bpfel - BPF (little endian) | |
| 491 | − x86 - 32-bit X86: Pentium-Pro and above | |
| 492 | − x86-64 - 64-bit X86: EM64T and AMD64 | |
| 488 | + aarch64 - AArch64 (little endian) | |
| 489 | + bpf - BPF (host endian) | |
| 490 | + bpfeb - BPF (big endian) | |
| 491 | + bpfel - BPF (little endian) | |
| 492 | + x86 - 32-bit X86: Pentium-Pro and above | |
| 493 | + x86-64 - 64-bit X86: EM64T and AMD64 | |
| 493 | 494 | |
| 494 | 495 | For developers in order to utilize the latest features added to LLVM's |
| 495 | 496 | BPF back end, it is advisable to run the latest LLVM releases. Support |
| @@ -517,6 +518,10 @@ from the git repositories:: · 21 unmodified lines | ||
| 517 | 518 | The built binaries can then be found in the build/bin/ directory, where |
| 518 | 519 | you can point the PATH variable to. |
| 519 | 520 | |
| 521 | +Set ``-DLLVM_TARGETS_TO_BUILD`` equal to the target you wish to build, you | |
| 522 | +will find a full list of targets within the llvm-project/llvm/lib/Target | |
| 523 | +directory. | |
| 524 | + | |
| 520 | 525 | Q: Reporting LLVM BPF issues |
| 521 | 526 | ---------------------------- |
| 522 | 527 | Q: Should I notify BPF kernel maintainers about issues in LLVM's BPF code |
| @@ -724,6 +724,31 @@ want to define unused entry in BTF_ID_LIST, like:: · 723 unmodified lines | ||
| 724 | 724 | BTF_ID_UNUSED |
| 725 | 725 | BTF_ID(struct, task_struct) |
| 726 | 726 | |
| 727 | +The ``BTF_SET_START/END`` macros pair defines sorted list of BTF ID values | |
| 728 | +and their count, with following syntax:: | |
| 729 | + | |
| 730 | + BTF_SET_START(set) | |
| 731 | + BTF_ID(type1, name1) | |
| 732 | + BTF_ID(type2, name2) | |
| 733 | + BTF_SET_END(set) | |
| 734 | + | |
| 735 | +resulting in following layout in .BTF_ids section:: | |
| 736 | + | |
| 737 | + __BTF_ID__set__set: | |
| 738 | + .zero 4 | |
| 739 | + __BTF_ID__type1__name1__3: | |
| 740 | + .zero 4 | |
| 741 | + __BTF_ID__type2__name2__4: | |
| 742 | + .zero 4 | |
| 743 | + | |
| 744 | +The ``struct btf_id_set set;`` variable is defined to access the list. | |
| 745 | + | |
| 746 | +The ``typeX`` name can be one of following:: | |
| 747 | + | |
| 748 | + struct, union, typedef, func | |
| 749 | + | |
| 750 | +and is used as a filter when resolving the BTF ID value. | |
| 751 | + | |
| 727 | 752 | All the BTF ID lists and sets are compiled in the .BTF_ids section and |
| 728 | 753 | resolved during the linking phase of kernel build by ``resolve_btfids`` tool. |
| 729 | 754 | |
| @@ -52,6 +52,7 @@ Program types · 51 unmodified lines | ||
| 52 | 52 | prog_cgroup_sysctl |
| 53 | 53 | prog_flow_dissector |
| 54 | 54 | bpf_lsm |
| 55 | + prog_sk_lookup | |
| 55 | 56 | |
| 56 | 57 | |
| 57 | 58 | Map types |
| @@ -0,0 +1,98 @@ | ||
| 1 | +.. SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | + | |
| 3 | +===================== | |
| 4 | +BPF sk_lookup program | |
| 5 | +===================== | |
| 6 | + | |
| 7 | +BPF sk_lookup program type (``BPF_PROG_TYPE_SK_LOOKUP``) introduces programmability | |
| 8 | +into the socket lookup performed by the transport layer when a packet is to be | |
| 9 | +delivered locally. | |
| 10 | + | |
| 11 | +When invoked BPF sk_lookup program can select a socket that will receive the | |
| 12 | +incoming packet by calling the ``bpf_sk_assign()`` BPF helper function. | |
| 13 | + | |
| 14 | +Hooks for a common attach point (``BPF_SK_LOOKUP``) exist for both TCP and UDP. | |
| 15 | + | |
| 16 | +Motivation | |
| 17 | +========== | |
| 18 | + | |
| 19 | +BPF sk_lookup program type was introduced to address setup scenarios where | |
| 20 | +binding sockets to an address with ``bind()`` socket call is impractical, such | |
| 21 | +as: | |
| 22 | + | |
| 23 | +1. receiving connections on a range of IP addresses, e.g. 192.0.2.0/24, when | |
| 24 | + binding to a wildcard address ``INADRR_ANY`` is not possible due to a port | |
| 25 | + conflict, | |
| 26 | +2. receiving connections on all or a wide range of ports, i.e. an L7 proxy use | |
| 27 | + case. | |
| 28 | + | |
| 29 | +Such setups would require creating and ``bind()``'ing one socket to each of the | |
| 30 | +IP address/port in the range, leading to resource consumption and potential | |
| 31 | +latency spikes during socket lookup. | |
| 32 | + | |
| 33 | +Attachment | |
| 34 | +========== | |
| 35 | + | |
| 36 | +BPF sk_lookup program can be attached to a network namespace with | |
| 37 | +``bpf(BPF_LINK_CREATE, ...)`` syscall using the ``BPF_SK_LOOKUP`` attach type and a | |
| 38 | +netns FD as attachment ``target_fd``. | |
| 39 | + | |
| 40 | +Multiple programs can be attached to one network namespace. Programs will be | |
| 41 | +invoked in the same order as they were attached. | |
| 42 | + | |
| 43 | +Hooks | |
| 44 | +===== | |
| 45 | + | |
| 46 | +The attached BPF sk_lookup programs run whenever the transport layer needs to | |
| 47 | +find a listening (TCP) or an unconnected (UDP) socket for an incoming packet. | |
| 48 | + | |
| 49 | +Incoming traffic to established (TCP) and connected (UDP) sockets is delivered | |
| 50 | +as usual without triggering the BPF sk_lookup hook. | |
| 51 | + | |
| 52 | +The attached BPF programs must return with either ``SK_PASS`` or ``SK_DROP`` | |
| 53 | +verdict code. As for other BPF program types that are network filters, | |
| 54 | +``SK_PASS`` signifies that the socket lookup should continue on to regular | |
| 55 | +hashtable-based lookup, while ``SK_DROP`` causes the transport layer to drop the | |
| 56 | +packet. | |
| 57 | + | |
| 58 | +A BPF sk_lookup program can also select a socket to receive the packet by | |
| 59 | +calling ``bpf_sk_assign()`` BPF helper. Typically, the program looks up a socket | |
| 60 | +in a map holding sockets, such as ``SOCKMAP`` or ``SOCKHASH``, and passes a | |
| 61 | +``struct bpf_sock *`` to ``bpf_sk_assign()`` helper to record the | |
| 62 | +selection. Selecting a socket only takes effect if the program has terminated | |
| 63 | +with ``SK_PASS`` code. | |
| 64 | + | |
| 65 | +When multiple programs are attached, the end result is determined from return | |
| 66 | +codes of all the programs according to the following rules: | |
| 67 | + | |
| 68 | +1. If any program returned ``SK_PASS`` and selected a valid socket, the socket | |
| 69 | + is used as the result of the socket lookup. | |
| 70 | +2. If more than one program returned ``SK_PASS`` and selected a socket, the last | |
| 71 | + selection takes effect. | |
| 72 | +3. If any program returned ``SK_DROP``, and no program returned ``SK_PASS`` and | |
| 73 | + selected a socket, socket lookup fails. | |
| 74 | +4. If all programs returned ``SK_PASS`` and none of them selected a socket, | |
| 75 | + socket lookup continues on. | |
| 76 | + | |
| 77 | +API | |
| 78 | +=== | |
| 79 | + | |
| 80 | +In its context, an instance of ``struct bpf_sk_lookup``, BPF sk_lookup program | |
| 81 | +receives information about the packet that triggered the socket lookup. Namely: | |
| 82 | + | |
| 83 | +* IP version (``AF_INET`` or ``AF_INET6``), | |
| 84 | +* L4 protocol identifier (``IPPROTO_TCP`` or ``IPPROTO_UDP``), | |
| 85 | +* source and destination IP address, | |
| 86 | +* source and destination L4 port, | |
| 87 | +* the socket that has been selected with ``bpf_sk_assign()``. | |
| 88 | + | |
| 89 | +Refer to ``struct bpf_sk_lookup`` declaration in ``linux/bpf.h`` user API | |
| 90 | +header, and `bpf-helpers(7) | |
| 91 | +<https://man7.org/linux/man-pages/man7/bpf-helpers.7.html>`_ man-page section | |
| 92 | +for ``bpf_sk_assign()`` for details. | |
| 93 | + | |
| 94 | +Example | |
| 95 | +======= | |
| 96 | + | |
| 97 | +See ``tools/testing/selftests/bpf/prog_tests/sk_lookup.c`` for the reference | |
| 98 | +implementation. | |
| @@ -38,7 +38,8 @@ needs_sphinx = '1.3' · 37 unmodified lines | ||
| 38 | 38 | # ones. |
| 39 | 39 | extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', |
| 40 | 40 | 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', |
| 41 | − 'maintainers_include', 'sphinx.ext.autosectionlabel' ] | |
| 41 | + 'maintainers_include', 'sphinx.ext.autosectionlabel', | |
| 42 | + 'kernel_abi'] | |
| 42 | 43 | |
| 43 | 44 | # |
| 44 | 45 | # cdomain is badly broken in Sphinx 3+. Leaving it out generates *most* |
| @@ -47,9 +48,68 @@ extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', · 2 unmodified lines | ||
| 47 | 48 | # |
| 48 | 49 | if major >= 3: |
| 49 | 50 | sys.stderr.write('''WARNING: The kernel documentation build process |
| 50 | − does not work correctly with Sphinx v3.0 and above. Expect errors | |
| 51 | − in the generated output. | |
| 52 | − ''') | |
| 51 | + support for Sphinx v3.0 and above is brand new. Be prepared for | |
| 52 | + possible issues in the generated output. | |
| 53 | + ''') | |
| 54 | + if (major > 3) or (minor > 0 or patch >= 2): | |
| 55 | + # Sphinx c function parser is more pedantic with regards to type | |
| 56 | + # checking. Due to that, having macros at c:function cause problems. | |
| 57 | + # Those needed to be scaped by using c_id_attributes[] array | |
| 58 | + c_id_attributes = [ | |
| 59 | + # GCC Compiler types not parsed by Sphinx: | |
| 60 | + "__restrict__", | |
| 61 | + | |
| 62 | + # include/linux/compiler_types.h: | |
| 63 | + "__iomem", | |
| 64 | + "__kernel", | |
| 65 | + "noinstr", | |
| 66 | + "notrace", | |
| 67 | + "__percpu", | |
| 68 | + "__rcu", | |
| 69 | + "__user", | |
| 70 | + | |
| 71 | + # include/linux/compiler_attributes.h: | |
| 72 | + "__alias", | |
| 73 | + "__aligned", | |
| 74 | + "__aligned_largest", | |
| 75 | + "__always_inline", | |
| 76 | + "__assume_aligned", | |
| 77 | + "__cold", | |
| 78 | + "__attribute_const__", | |
| 79 | + "__copy", | |
| 80 | + "__pure", | |
| 81 | + "__designated_init", | |
| 82 | + "__visible", | |
| 83 | + "__printf", | |
| 84 | + "__scanf", | |
| 85 | + "__gnu_inline", | |
| 86 | + "__malloc", | |
| 87 | + "__mode", | |
| 88 | + "__no_caller_saved_registers", | |
| 89 | + "__noclone", | |
| 90 | + "__nonstring", | |
| 91 | + "__noreturn", | |
| 92 | + "__packed", | |
| 93 | + "__pure", | |
| 94 | + "__section", | |
| 95 | + "__always_unused", | |
| 96 | + "__maybe_unused", | |
| 97 | + "__used", | |
| 98 | + "__weak", | |
| 99 | + "noinline", | |
| 100 | + | |
| 101 | + # include/linux/memblock.h: | |
| 102 | + "__init_memblock", | |
| 103 | + "__meminit", | |
| 104 | + | |
| 105 | + # include/linux/init.h: | |
| 106 | + "__init", | |
| 107 | + "__ref", | |
| 108 | + | |
| 109 | + # include/linux/linkage.h: | |
| 110 | + "asmlinkage", | |
| 111 | + ] | |
| 112 | + | |
| 53 | 113 | else: |
| 54 | 114 | extensions.append('cdomain') |
| 55 | 115 | |
| @@ -519,10 +519,9 @@ routines, e.g.::: · 518 unmodified lines | ||
| 519 | 519 | Part II - Non-coherent DMA allocations |
| 520 | 520 | -------------------------------------- |
| 521 | 521 | |
| 522 | −These APIs allow to allocate pages in the kernel direct mapping that are | |
| 523 | −guaranteed to be DMA addressable. This means that unlike dma_alloc_coherent, | |
| 524 | −virt_to_page can be called on the resulting address, and the resulting | |
| 525 | −struct page can be used for everything a struct page is suitable for. | |
| 522 | +These APIs allow to allocate pages that are guaranteed to be DMA addressable | |
| 523 | +by the passed in device, but which need explicit management of memory ownership | |
| 524 | +for the kernel vs the device. | |
| 526 | 525 | |
| 527 | 526 | If you don't understand how cache line coherency works between a processor and |
| 528 | 527 | an I/O device, you should not be using this part of the API. |
| @@ -537,7 +536,7 @@ an I/O device, you should not be using this part of the API. · 8 unmodified lines | ||
| 537 | 536 | This routine allocates a region of <size> bytes of consistent memory. It |
| 538 | 537 | returns a pointer to the allocated region (in the processor's virtual address |
| 539 | 538 | space) or NULL if the allocation failed. The returned memory may or may not |
| 540 | −be in the kernels direct mapping. Drivers must not call virt_to_page on | |
| 539 | +be in the kernel direct mapping. Drivers must not call virt_to_page on | |
| 541 | 540 | the returned memory region. |
| 542 | 541 | |
| 543 | 542 | It also returns a <dma_handle> which may be cast to an unsigned integer the |
| @@ -565,7 +564,45 @@ reused. · 21 unmodified lines | ||
| 565 | 564 | Free a region of memory previously allocated using dma_alloc_noncoherent(). |
| 566 | 565 | dev, size and dma_handle and dir must all be the same as those passed into |
| 567 | 566 | dma_alloc_noncoherent(). cpu_addr must be the virtual address returned by |
| 568 | −the dma_alloc_noncoherent(). | |
| 567 | +dma_alloc_noncoherent(). | |
| 568 | + | |
| 569 | +:: | |
| 570 | + | |
| 571 | + struct page * | |
| 572 | + dma_alloc_pages(struct device *dev, size_t size, dma_addr_t *dma_handle, | |
| 573 | + enum dma_data_direction dir, gfp_t gfp) | |
| 574 | + | |
| 575 | +This routine allocates a region of <size> bytes of non-coherent memory. It | |
| 576 | +returns a pointer to first struct page for the region, or NULL if the | |
| 577 | +allocation failed. The resulting struct page can be used for everything a | |
| 578 | +struct page is suitable for. | |
| 579 | + | |
| 580 | +It also returns a <dma_handle> which may be cast to an unsigned integer the | |
| 581 | +same width as the bus and given to the device as the DMA address base of | |
| 582 | +the region. | |
| 583 | + | |
| 584 | +The dir parameter specified if data is read and/or written by the device, | |
| 585 | +see dma_map_single() for details. | |
| 586 | + | |
| 587 | +The gfp parameter allows the caller to specify the ``GFP_`` flags (see | |
| 588 | +kmalloc()) for the allocation, but rejects flags used to specify a memory | |
| 589 | +zone such as GFP_DMA or GFP_HIGHMEM. | |
| 590 | + | |
| 591 | +Before giving the memory to the device, dma_sync_single_for_device() needs | |
| 592 | +to be called, and before reading memory written by the device, | |
| 593 | +dma_sync_single_for_cpu(), just like for streaming DMA mappings that are | |
| 594 | +reused. | |
| 595 | + | |
| 596 | +:: | |
| 597 | + | |
| 598 | + void | |
| 599 | + dma_free_pages(struct device *dev, size_t size, struct page *page, | |
| 600 | + dma_addr_t dma_handle, enum dma_data_direction dir) | |
| 601 | + | |
| 602 | +Free a region of memory previously allocated using dma_alloc_pages(). | |
| 603 | +dev, size and dma_handle and dir must all be the same as those passed into | |
| 604 | +dma_alloc_noncoherent(). page must be the pointer returned by | |
| 605 | +dma_alloc_pages(). | |
| 569 | 606 | |
| 570 | 607 | :: |
| 571 | 608 | |
| @@ -419,6 +419,7 @@ functions which are exported. · 418 unmodified lines | ||
| 419 | 419 | .. kernel-doc:: kernel/irq/manage.c |
| 420 | 420 | |
| 421 | 421 | .. kernel-doc:: kernel/irq/chip.c |
| 422 | + :export: | |
| 422 | 423 | |
| 423 | 424 | Internal Functions Provided |
| 424 | 425 | =========================== |
| @@ -431,6 +432,7 @@ functions. · 6 unmodified lines | ||
| 431 | 432 | .. kernel-doc:: kernel/irq/handle.c |
| 432 | 433 | |
| 433 | 434 | .. kernel-doc:: kernel/irq/chip.c |
| 435 | + :internal: | |
| 434 | 436 | |
| 435 | 437 | Credits |
| 436 | 438 | ======= |
| @@ -231,12 +231,6 @@ Refer to the file kernel/module.c for more information. · 230 unmodified lines | ||
| 231 | 231 | Hardware Interfaces |
| 232 | 232 | =================== |
| 233 | 233 | |
| 234 | −Interrupt Handling | |
| 235 | −------------------ | |
| 236 | − | |
| 237 | −.. kernel-doc:: kernel/irq/manage.c | |
| 238 | − :export: | |
| 239 | − | |
| 240 | 234 | DMA Channels |
| 241 | 235 | ------------ |
| 242 | 236 | |
| @@ -396,3 +396,5 @@ Kernel Inline Documentations Reference · 395 unmodified lines | ||
| 396 | 396 | ====================================== |
| 397 | 397 | |
| 398 | 398 | .. kernel-doc:: include/linux/workqueue.h |
| 399 | + | |
| 400 | +.. kernel-doc:: kernel/workqueue.c | |
| @@ -475,13 +475,15 @@ or iterations will move the index to the first index in the range. · 474 unmodified lines | ||
| 475 | 475 | Each entry will only be returned once, no matter how many indices it |
| 476 | 476 | occupies. |
| 477 | 477 | |
| 478 | −Using xas_next() or xas_prev() with a multi-index xa_state | |
| 479 | −is not supported. Using either of these functions on a multi-index entry | |
| 480 | −will reveal sibling entries; these should be skipped over by the caller. | |
| 481 | − | |
| 482 | −Storing ``NULL`` into any index of a multi-index entry will set the entry | |
| 483 | −at every index to ``NULL`` and dissolve the tie. Splitting a multi-index | |
| 484 | −entry into entries occupying smaller ranges is not yet supported. | |
| 478 | +Using xas_next() or xas_prev() with a multi-index xa_state is not | |
| 479 | +supported. Using either of these functions on a multi-index entry will | |
| 480 | +reveal sibling entries; these should be skipped over by the caller. | |
| 481 | + | |
| 482 | +Storing ``NULL`` into any index of a multi-index entry will set the | |
| 483 | +entry at every index to ``NULL`` and dissolve the tie. A multi-index | |
| 484 | +entry can be split into entries occupying smaller ranges by calling | |
| 485 | +xas_split_alloc() without the xa_lock held, followed by taking the lock | |
| 486 | +and calling xas_split(). | |
| 485 | 487 | |
| 486 | 488 | Functions and structures |
| 487 | 489 | ======================== |
| @@ -295,11 +295,13 @@ print the number of the test and the status of the test: · 294 unmodified lines | ||
| 295 | 295 | pass:: |
| 296 | 296 | |
| 297 | 297 | ok 28 - kmalloc_double_kzfree |
| 298 | + | |
| 298 | 299 | or, if kmalloc failed:: |
| 299 | 300 | |
| 300 | 301 | # kmalloc_large_oob_right: ASSERTION FAILED at lib/test_kasan.c:163 |
| 301 | 302 | Expected ptr is not null, but is |
| 302 | 303 | not ok 4 - kmalloc_large_oob_right |
| 304 | + | |
| 303 | 305 | or, if a KASAN report was expected, but not found:: |
| 304 | 306 | |
| 305 | 307 | # kmalloc_double_kzfree: EXPECTATION FAILED at lib/test_kasan.c:629 |
| @@ -726,7 +726,7 @@ The kernel debugger is organized into a number of components: · 725 unmodified lines | ||
| 726 | 726 | - contains an arch-specific trap catcher which invokes |
| 727 | 727 | kgdb_handle_exception() to start kgdb about doing its work |
| 728 | 728 | |
| 729 | − - translation to and from gdb specific packet format to :c:type:`pt_regs` | |
| 729 | + - translation to and from gdb specific packet format to struct pt_regs | |
| 730 | 730 | |
| 731 | 731 | - Registration and unregistration of architecture specific trap |
| 732 | 732 | hooks |
| @@ -846,7 +846,7 @@ invokes a callback in the serial core which in turn uses the callback in · 113 unmodified lines | ||
| 846 | 846 | the UART driver. |
| 847 | 847 | |
| 848 | 848 | When using kgdboc with a UART, the UART driver must implement two |
| 849 | −callbacks in the :c:type:`struct uart_ops <uart_ops>`. | |
| 849 | +callbacks in the struct uart_ops. | |
| 850 | 850 | Example from ``drivers/8250.c``:: |
| 851 | 851 | |
| 852 | 852 | |
| @@ -875,7 +875,7 @@ kernel when ``CONFIG_KDB_KEYBOARD=y`` is set in the kernel configuration. · 22 unmodified lines | ||
| 875 | 875 | The core polled keyboard driver for PS/2 type keyboards is in |
| 876 | 876 | ``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core |
| 877 | 877 | when kgdboc populates the callback in the array called |
| 878 | −:c:type:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level | |
| 878 | +:c:expr:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level | |
| 879 | 879 | function which polls hardware for single character input. |
| 880 | 880 | |
| 881 | 881 | kgdboc and kms |
| @@ -125,32 +125,41 @@ Note that some tests will require root privileges. · 124 unmodified lines | ||
| 125 | 125 | Install selftests |
| 126 | 126 | ================= |
| 127 | 127 | |
| 128 | −You can use the kselftest_install.sh tool to install selftests in the | |
| 129 | −default location, which is tools/testing/selftests/kselftest, or in a | |
| 130 | −user specified location. | |
| 128 | +You can use the "install" target of "make" (which calls the `kselftest_install.sh` | |
| 129 | +tool) to install selftests in the default location (`tools/testing/selftests/kselftest_install`), | |
| 130 | +or in a user specified location via the `INSTALL_PATH` "make" variable. | |
| 131 | 131 | |
| 132 | 132 | To install selftests in default location:: |
| 133 | 133 | |
| 134 | − $ cd tools/testing/selftests | |
| 135 | − $ ./kselftest_install.sh | |
| 134 | + $ make -C tools/testing/selftests install | |
| 136 | 135 | |
| 137 | 136 | To install selftests in a user specified location:: |
| 138 | 137 | |
| 139 | − $ cd tools/testing/selftests | |
| 140 | − $ ./kselftest_install.sh install_dir | |
| 138 | + $ make -C tools/testing/selftests install INSTALL_PATH=/some/other/path | |
| 141 | 139 | |
| 142 | 140 | Running installed selftests |
| 143 | 141 | =========================== |
| 144 | 142 | |
| 145 | −Kselftest install as well as the Kselftest tarball provide a script | |
| 146 | −named "run_kselftest.sh" to run the tests. | |
| 143 | +Found in the install directory, as well as in the Kselftest tarball, | |
| 144 | +is a script named `run_kselftest.sh` to run the tests. | |
| 147 | 145 | |
| 148 | 146 | You can simply do the following to run the installed Kselftests. Please |
| 149 | 147 | note some tests will require root privileges:: |
| 150 | 148 | |
| 151 | − $ cd kselftest | |
| 149 | + $ cd kselftest_install | |
| 152 | 150 | $ ./run_kselftest.sh |
| 153 | 151 | |
| 152 | +To see the list of available tests, the `-l` option can be used:: | |
| 153 | + | |
| 154 | + $ ./run_kselftest.sh -l | |
| 155 | + | |
| 156 | +The `-c` option can be used to run all the tests from a test collection, or | |
| 157 | +the `-t` option for specific single tests. Either can be used multiple times:: | |
| 158 | + | |
| 159 | + $ ./run_kselftest.sh -c bpf -c seccomp -t timers:posix_timers -t timer:nanosleep | |
| 160 | + | |
| 161 | +For other features see the script usage output, seen with the `-h` option. | |
| 162 | + | |
| 154 | 163 | Packaging selftests |
| 155 | 164 | =================== |
| 156 | 165 | |
| @@ -160,9 +169,9 @@ different system. To package selftests, run:: · 3 unmodified lines | ||
| 160 | 169 | $ make -C tools/testing/selftests gen_tar |
| 161 | 170 | |
| 162 | 171 | This generates a tarball in the `INSTALL_PATH/kselftest-packages` directory. By |
| 163 | −default, `.gz` format is used. The tar format can be overridden by specifying | |
| 164 | −a `FORMAT` make variable. Any value recognized by `tar's auto-compress`_ option | |
| 165 | −is supported, such as:: | |
| 172 | +default, `.gz` format is used. The tar compression format can be overridden by | |
| 173 | +specifying a `FORMAT` make variable. Any value recognized by `tar's auto-compress`_ | |
| 174 | +option is supported, such as:: | |
| 166 | 175 | |
| 167 | 176 | $ make -C tools/testing/selftests gen_tar FORMAT=.xz |
| 168 | 177 | |
| @@ -90,7 +90,7 @@ things to try. · 89 unmodified lines | ||
| 90 | 90 | re-run kunit_tool. |
| 91 | 91 | 5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This |
| 92 | 92 | may help clean up any residual config items which could be causing problems. |
| 93 | −6. Finally, try running KUnit outside UML. KUnit and KUnit tests can run be | |
| 93 | +6. Finally, try running KUnit outside UML. KUnit and KUnit tests can be | |
| 94 | 94 | built into any kernel, or can be built as a module and loaded at runtime. |
| 95 | 95 | Doing so should allow you to determine if UML is causing the issue you're |
| 96 | 96 | seeing. When tests are built-in, they will execute when the kernel boots, and |
| @@ -11,6 +11,7 @@ KUnit - Unit Testing for the Linux Kernel · 10 unmodified lines | ||
| 11 | 11 | usage |
| 12 | 12 | kunit-tool |
| 13 | 13 | api/index |
| 14 | + style | |
| 14 | 15 | faq |
| 15 | 16 | |
| 16 | 17 | What is KUnit? |
| @@ -197,7 +197,7 @@ Now add the following to ``drivers/misc/Kconfig``: · 196 unmodified lines | ||
| 197 | 197 | |
| 198 | 198 | config MISC_EXAMPLE_TEST |
| 199 | 199 | bool "Test for my example" |
| 200 | − depends on MISC_EXAMPLE && KUNIT | |
| 200 | + depends on MISC_EXAMPLE && KUNIT=y | |
| 201 | 201 | |
| 202 | 202 | and the following to ``drivers/misc/Makefile``: |
| 203 | 203 | |
| @@ -0,0 +1,205 @@ | ||
| 1 | +.. SPDX-License-Identifier: GPL-2.0 | |
| 2 | + | |
| 3 | +=========================== | |
| 4 | +Test Style and Nomenclature | |
| 5 | +=========================== | |
| 6 | + | |
| 7 | +To make finding, writing, and using KUnit tests as simple as possible, it's | |
| 8 | +strongly encouraged that they are named and written according to the guidelines | |
| 9 | +below. While it's possible to write KUnit tests which do not follow these rules, | |
| 10 | +they may break some tooling, may conflict with other tests, and may not be run | |
| 11 | +automatically by testing systems. | |
| 12 | + | |
| 13 | +It's recommended that you only deviate from these guidelines when: | |
| 14 | + | |
| 15 | +1. Porting tests to KUnit which are already known with an existing name, or | |
| 16 | +2. Writing tests which would cause serious problems if automatically run (e.g., | |
| 17 | + non-deterministically producing false positives or negatives, or taking an | |
| 18 | + extremely long time to run). | |
| 19 | + | |
| 20 | +Subsystems, Suites, and Tests | |
| 21 | +============================= | |
| 22 | + | |
| 23 | +In order to make tests as easy to find as possible, they're grouped into suites | |
| 24 | +and subsystems. A test suite is a group of tests which test a related area of | |
| 25 | +the kernel, and a subsystem is a set of test suites which test different parts | |
| 26 | +of the same kernel subsystem or driver. | |
| 27 | + | |
| 28 | +Subsystems | |
| 29 | +---------- | |
| 30 | + | |
| 31 | +Every test suite must belong to a subsystem. A subsystem is a collection of one | |
| 32 | +or more KUnit test suites which test the same driver or part of the kernel. A | |
| 33 | +rule of thumb is that a test subsystem should match a single kernel module. If | |
| 34 | +the code being tested can't be compiled as a module, in many cases the subsystem | |
| 35 | +should correspond to a directory in the source tree or an entry in the | |
| 36 | +MAINTAINERS file. If unsure, follow the conventions set by tests in similar | |
| 37 | +areas. | |
| 38 | + | |
| 39 | +Test subsystems should be named after the code being tested, either after the | |
| 40 | +module (wherever possible), or after the directory or files being tested. Test | |
| 41 | +subsystems should be named to avoid ambiguity where necessary. | |
| 42 | + | |
| 43 | +If a test subsystem name has multiple components, they should be separated by | |
| 44 | +underscores. *Do not* include "test" or "kunit" directly in the subsystem name | |
| 45 | +unless you are actually testing other tests or the kunit framework itself. | |
| 46 | + | |
| 47 | +Example subsystems could be: | |
| 48 | + | |
| 49 | +``ext4`` | |
| 50 | + Matches the module and filesystem name. | |
| 51 | +``apparmor`` | |
| 52 | + Matches the module name and LSM name. | |
| 53 | +``kasan`` | |
| 54 | + Common name for the tool, prominent part of the path ``mm/kasan`` | |
| 55 | +``snd_hda_codec_hdmi`` | |
| 56 | + Has several components (``snd``, ``hda``, ``codec``, ``hdmi``) separated by | |
| 57 | + underscores. Matches the module name. | |
| 58 | + | |
| 59 | +Avoid names like these: | |
| 60 | + | |
| 61 | +``linear-ranges`` | |
| 62 | + Names should use underscores, not dashes, to separate words. Prefer | |
| 63 | + ``linear_ranges``. | |
| 64 | +``qos-kunit-test`` | |
| 65 | + As well as using underscores, this name should not have "kunit-test" as a | |
| 66 | + suffix, and ``qos`` is ambiguous as a subsystem name. ``power_qos`` would be a | |
| 67 | + better name. | |
| 68 | +``pc_parallel_port`` | |
| 69 | + The corresponding module name is ``parport_pc``, so this subsystem should also | |
| 70 | + be named ``parport_pc``. | |
| 71 | + | |
| 72 | +.. note:: | |
| 73 | + The KUnit API and tools do not explicitly know about subsystems. They're | |
| 74 | + simply a way of categorising test suites and naming modules which | |
| 75 | + provides a simple, consistent way for humans to find and run tests. This | |
| 76 | + may change in the future, though. | |
| 77 | + | |
| 78 | +Suites | |
| 79 | +------ | |
| 80 | + | |
| 81 | +KUnit tests are grouped into test suites, which cover a specific area of | |
| 82 | +functionality being tested. Test suites can have shared initialisation and | |
| 83 | +shutdown code which is run for all tests in the suite. | |
| 84 | +Not all subsystems will need to be split into multiple test suites (e.g. simple drivers). | |
| 85 | + | |
| 86 | +Test suites are named after the subsystem they are part of. If a subsystem | |
| 87 | +contains several suites, the specific area under test should be appended to the | |
| 88 | +subsystem name, separated by an underscore. | |
| 89 | + | |
| 90 | +In the event that there are multiple types of test using KUnit within a | |
| 91 | +subsystem (e.g., both unit tests and integration tests), they should be put into | |
| 92 | +separate suites, with the type of test as the last element in the suite name. | |
| 93 | +Unless these tests are actually present, avoid using ``_test``, ``_unittest`` or | |
| 94 | +similar in the suite name. | |
| 95 | + | |
| 96 | +The full test suite name (including the subsystem name) should be specified as | |
| 97 | +the ``.name`` member of the ``kunit_suite`` struct, and forms the base for the | |
| 98 | +module name (see below). | |
| 99 | + | |
| 100 | +Example test suites could include: | |
| 101 | + | |
| 102 | +``ext4_inode`` | |
| 103 | + Part of the ``ext4`` subsystem, testing the ``inode`` area. | |
| 104 | +``kunit_try_catch`` | |
| 105 | + Part of the ``kunit`` implementation itself, testing the ``try_catch`` area. | |
| 106 | +``apparmor_property_entry`` | |
| 107 | + Part of the ``apparmor`` subsystem, testing the ``property_entry`` area. | |
| 108 | +``kasan`` | |
| 109 | + The ``kasan`` subsystem has only one suite, so the suite name is the same as | |
| 110 | + the subsystem name. | |
| 111 | + | |
| 112 | +Avoid names like: | |
| 113 | + | |
| 114 | +``ext4_ext4_inode`` | |
| 115 | + There's no reason to state the subsystem twice. | |
| 116 | +``property_entry`` | |
| 117 | + The suite name is ambiguous without the subsystem name. | |
| 118 | +``kasan_integration_test`` | |
| 119 | + Because there is only one suite in the ``kasan`` subsystem, the suite should | |
| 120 | + just be called ``kasan``. There's no need to redundantly add | |
| 121 | + ``integration_test``. Should a separate test suite with, for example, unit | |
| 122 | + tests be added, then that suite could be named ``kasan_unittest`` or similar. | |
| 123 | + | |
| 124 | +Test Cases | |
| 125 | +---------- | |
| 126 | + | |
| 127 | +Individual tests consist of a single function which tests a constrained | |
| 128 | +codepath, property, or function. In the test output, individual tests' results | |
| 129 | +will show up as subtests of the suite's results. | |
| 130 | + | |
| 131 | +Tests should be named after what they're testing. This is often the name of the | |
| 132 | +function being tested, with a description of the input or codepath being tested. | |
| 133 | +As tests are C functions, they should be named and written in accordance with | |
| 134 | +the kernel coding style. | |
| 135 | + | |
| 136 | +.. note:: | |
| 137 | + As tests are themselves functions, their names cannot conflict with | |
| 138 | + other C identifiers in the kernel. This may require some creative | |
| 139 | + naming. It's a good idea to make your test functions `static` to avoid | |
| 140 | + polluting the global namespace. | |
| 141 | + | |
| 142 | +Example test names include: | |
| 143 | + | |
| 144 | +``unpack_u32_with_null_name`` | |
| 145 | + Tests the ``unpack_u32`` function when a NULL name is passed in. | |
| 146 | +``test_list_splice`` | |
| 147 | + Tests the ``list_splice`` macro. It has the prefix ``test_`` to avoid a | |
| 148 | + name conflict with the macro itself. | |
| 149 | + | |
| 150 | + | |
| 151 | +Should it be necessary to refer to a test outside the context of its test suite, | |
| 152 | +the *fully-qualified* name of a test should be the suite name followed by the | |
| 153 | +test name, separated by a colon (i.e. ``suite:test``). | |
| 154 | + | |
| 155 | +Test Kconfig Entries | |
| 156 | +==================== | |
| 157 | + | |
| 158 | +Every test suite should be tied to a Kconfig entry. | |
| 159 | + | |
| 160 | +This Kconfig entry must: | |
| 161 | + | |
| 162 | +* be named ``CONFIG_<name>_KUNIT_TEST``: where <name> is the name of the test | |
| 163 | + suite. | |
| 164 | +* be listed either alongside the config entries for the driver/subsystem being | |
| 165 | + tested, or be under [Kernel Hacking]→[Kernel Testing and Coverage] | |
| 166 | +* depend on ``CONFIG_KUNIT`` | |
| 167 | +* be visible only if ``CONFIG_KUNIT_ALL_TESTS`` is not enabled. | |
| 168 | +* have a default value of ``CONFIG_KUNIT_ALL_TESTS``. | |
| 169 | +* have a brief description of KUnit in the help text | |
| 170 | + | |
| 171 | +Unless there's a specific reason not to (e.g. the test is unable to be built as | |
| 172 | +a module), Kconfig entries for tests should be tristate. | |
| 173 | + | |
| 174 | +An example Kconfig entry: | |
| 175 | + | |
| 176 | +.. code-block:: none | |
| 177 | + | |
| 178 | + config FOO_KUNIT_TEST | |
| 179 | + tristate "KUnit test for foo" if !KUNIT_ALL_TESTS | |
| 180 | + depends on KUNIT | |
| 181 | + default KUNIT_ALL_TESTS | |
| 182 | + help | |
| 183 | + This builds unit tests for foo. | |
| 184 | + | |
| 185 | + For more information on KUnit and unit tests in general, please refer | |
| 186 | + to the KUnit documentation in Documentation/dev-tools/kunit/. | |
| 187 | + | |
| 188 | + If unsure, say N. | |
| 189 | + | |
| 190 | + | |
| 191 | +Test File and Module Names | |
| 192 | +========================== | |
| 193 | + | |
| 194 | +KUnit tests can often be compiled as a module. These modules should be named | |
| 195 | +after the test suite, followed by ``_test``. If this is likely to conflict with | |
| 196 | +non-KUnit tests, the suffix ``_kunit`` can also be used. | |
| 197 | + | |
| 198 | +The easiest way of achieving this is to name the file containing the test suite | |
| 199 | +``<suite>_test.c`` (or, as above, ``<suite>_kunit.c``). This file should be | |
| 200 | +placed next to the code under test. | |
| 201 | + | |
| 202 | +If the suite name contains some or all of the name of the test's parent | |
| 203 | +directory, it may make sense to modify the source filename to reduce redundancy. | |
| 204 | +For example, a ``foo_firmware`` suite could be in the ``foo/firmware_test.c`` | |
| 205 | +file. | |
| @@ -92,7 +92,7 @@ behavior of a function called ``add``; the first parameter is always of type · 91 unmodified lines | ||
| 92 | 92 | the second parameter, in this case, is what the value is expected to be; the |
| 93 | 93 | last value is what the value actually is. If ``add`` passes all of these |
| 94 | 94 | expectations, the test case, ``add_test_basic`` will pass; if any one of these |
| 95 | −expectations fail, the test case will fail. | |
| 95 | +expectations fails, the test case will fail. | |
| 96 | 96 | |
| 97 | 97 | It is important to understand that a test case *fails* when any expectation is |
| 98 | 98 | violated; however, the test will continue running, potentially trying other |
| @@ -202,7 +202,7 @@ Example: · 103 unmodified lines | ||
| 202 | 202 | kunit_test_suite(example_test_suite); |
| 203 | 203 | |
| 204 | 204 | In the above example the test suite, ``example_test_suite``, would run the test |
| 205 | −cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``, | |
| 205 | +cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``; | |
| 206 | 206 | each would have ``example_test_init`` called immediately before it and would |
| 207 | 207 | have ``example_test_exit`` called immediately after it. |
| 208 | 208 | ``kunit_test_suite(example_test_suite)`` registers the test suite with the |
| @@ -211,6 +211,11 @@ KUnit test framework. · 2 unmodified lines | ||
| 211 | 211 | .. note:: |
| 212 | 212 | A test case will only be run if it is associated with a test suite. |
| 213 | 213 | |
| 214 | +``kunit_test_suite(...)`` is a macro which tells the linker to put the specified | |
| 215 | +test suite in a special linker section so that it can be run by KUnit either | |
| 216 | +after late_init, or when the test module is loaded (depending on whether the | |
| 217 | +test was built in or not). | |
| 218 | + | |
| 214 | 219 | For more information on these types of things see the :doc:`api/test`. |
| 215 | 220 | |
| 216 | 221 | Isolating Behavior |
| @@ -224,7 +229,7 @@ through some sort of indirection where a function is exposed as part of an API · 7 unmodified lines | ||
| 224 | 229 | such that the definition of that function can be changed without affecting the |
| 225 | 230 | rest of the code base. In the kernel this primarily comes from two constructs, |
| 226 | 231 | classes, structs that contain function pointers that are provided by the |
| 227 | −implementer, and architecture specific functions which have definitions selected | |
| 232 | +implementer, and architecture-specific functions which have definitions selected | |
| 228 | 233 | at compile time. |
| 229 | 234 | |
| 230 | 235 | Classes |
| @@ -454,7 +459,7 @@ KUnit on non-UML architectures · 223 unmodified lines | ||
| 454 | 459 | By default KUnit uses UML as a way to provide dependencies for code under test. |
| 455 | 460 | Under most circumstances KUnit's usage of UML should be treated as an |
| 456 | 461 | implementation detail of how KUnit works under the hood. Nevertheless, there |
| 457 | −are instances where being able to run architecture specific code or test | |
| 462 | +are instances where being able to run architecture-specific code or test | |
| 458 | 463 | against real hardware is desirable. For these reasons KUnit supports running on |
| 459 | 464 | other architectures. |
| 460 | 465 | |
| @@ -556,6 +561,11 @@ Once the kernel is built and installed, a simple · 95 unmodified lines | ||
| 556 | 561 | |
| 557 | 562 | ...will run the tests. |
| 558 | 563 | |
| 564 | +.. note:: | |
| 565 | + Note that you should make sure your test depends on ``KUNIT=y`` in Kconfig | |
| 566 | + if the test does not support module build. Otherwise, it will trigger | |
| 567 | + compile errors if ``CONFIG_KUNIT`` is ``m``. | |
| 568 | + | |
| 559 | 569 | Writing new tests for other architectures |
| 560 | 570 | ----------------------------------------- |
| 561 | 571 | |
| @@ -589,7 +599,7 @@ writing normal KUnit tests. One special caveat is that you have to reset · 27 unmodified lines | ||
| 589 | 599 | hardware state in between test cases; if this is not possible, you may only be |
| 590 | 600 | able to run one test case per invocation. |
| 591 | 601 | |
| 592 | −.. TODO(brendanhiggins@google.com): Add an actual example of an architecture | |
| 602 | +.. TODO(brendanhiggins@google.com): Add an actual example of an architecture- | |
| 593 | 603 | dependent KUnit test. |
| 594 | 604 | |
| 595 | 605 | KUnit debugfs representation |
| @@ -20,6 +20,12 @@ properties: · 19 unmodified lines | ||
| 20 | 20 | - enum: |
| 21 | 21 | - allo,sparky # Allo.com Sparky |
| 22 | 22 | - cubietech,cubieboard6 # Cubietech CubieBoard6 |
| 23 | + - roseapplepi,roseapplepi # RoseapplePi.org RoseapplePi | |
| 24 | + - const: actions,s500 | |
| 25 | + - items: | |
| 26 | + - enum: | |
| 27 | + - caninos,labrador-base-m # Labrador Base Board M v1 | |
| 28 | + - const: caninos,labrador-v2 # Labrador Core v2 | |
| 23 | 29 | - const: actions,s500 |
| 24 | 30 | - items: |
| 25 | 31 | - enum: |
| @@ -28,6 +34,11 @@ properties: · 2 unmodified lines | ||
| 28 | 34 | - const: actions,s500 |
| 29 | 35 | |
| 30 | 36 | # The Actions Semi S700 is a quad-core ARM Cortex-A53 SoC. |
| 37 | + - items: | |
| 38 | + - enum: | |
| 39 | + - caninos,labrador-base-m2 # Labrador Base Board M v2 | |
| 40 | + - const: caninos,labrador-v3 # Labrador Core v3 | |
| 41 | + - const: actions,s700 | |
| 31 | 42 | - items: |
| 32 | 43 | - enum: |
| 33 | 44 | - cubietech,cubieboard7 # Cubietech CubieBoard7 |
| @@ -38,3 +49,5 @@ properties: · 4 unmodified lines | ||
| 38 | 49 | - enum: |
| 39 | 50 | - ucrobotics,bubblegum-96 # uCRobotics Bubblegum-96 |
| 40 | 51 | - const: actions,s900 |
| 52 | + | |
| 53 | +additionalProperties: true | |
| @@ -19,4 +19,7 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | - altr,socfpga-arria5 |
| 20 | 20 | - altr,socfpga-arria10 |
| 21 | 21 | - const: altr,socfpga |
| 22 | + | |
| 23 | +additionalProperties: true | |
| 24 | + | |
| 22 | 25 | ... |
| @@ -30,4 +30,6 @@ properties: · 29 unmodified lines | ||
| 30 | 30 | - amazon,al-alpine-v3-evp |
| 31 | 31 | - const: amazon,al-alpine-v3 |
| 32 | 32 | |
| 33 | +additionalProperties: true | |
| 34 | + | |
| 33 | 35 | ... |
| @@ -96,6 +96,7 @@ properties: · 95 unmodified lines | ||
| 96 | 96 | - hwacom,amazetv |
| 97 | 97 | - khadas,vim |
| 98 | 98 | - libretech,aml-s905x-cc |
| 99 | + - libretech,aml-s905x-cc-v2 | |
| 99 | 100 | - nexbox,a95x |
| 100 | 101 | - const: amlogic,s905x |
| 101 | 102 | - const: amlogic,meson-gxl |
| @@ -153,6 +154,7 @@ properties: · 51 unmodified lines | ||
| 153 | 154 | - azw,gtking |
| 154 | 155 | - azw,gtking-pro |
| 155 | 156 | - hardkernel,odroid-n2 |
| 157 | + - hardkernel,odroid-n2-plus | |
| 156 | 158 | - khadas,vim3 |
| 157 | 159 | - ugoos,am6 |
| 158 | 160 | - const: amlogic,s922x |
| @@ -171,4 +173,7 @@ properties: · 12 unmodified lines | ||
| 171 | 173 | - enum: |
| 172 | 174 | - amlogic,ad401 |
| 173 | 175 | - const: amlogic,a1 |
| 176 | + | |
| 177 | +additionalProperties: true | |
| 178 | + | |
| 174 | 179 | ... |
| @@ -83,4 +83,6 @@ required: · 82 unmodified lines | ||
| 83 | 83 | - compatible |
| 84 | 84 | - core-module@10000000 |
| 85 | 85 | |
| 86 | +additionalProperties: true | |
| 87 | + | |
| 86 | 88 | ... |
| @@ -120,4 +120,6 @@ required: · 119 unmodified lines | ||
| 120 | 120 | - compatible |
| 121 | 121 | - soc |
| 122 | 122 | |
| 123 | +additionalProperties: true | |
| 124 | + | |
| 123 | 125 | ... |
| @@ -68,4 +68,6 @@ required: · 67 unmodified lines | ||
| 68 | 68 | - compatible |
| 69 | 69 | - core-module@10000000 |
| 70 | 70 | |
| 71 | +additionalProperties: true | |
| 72 | + | |
| 71 | 73 | ... |
| @@ -216,4 +216,6 @@ allOf: · 215 unmodified lines | ||
| 216 | 216 | required: |
| 217 | 217 | - arm,hbi |
| 218 | 218 | |
| 219 | +additionalProperties: true | |
| 220 | + | |
| 219 | 221 | ... |
| @@ -41,6 +41,7 @@ properties: · 40 unmodified lines | ||
| 41 | 41 | - overkiz,kizboxmini-mb # Overkiz kizbox Mini Mother Board |
| 42 | 42 | - overkiz,kizboxmini-rd # Overkiz kizbox Mini RailDIN |
| 43 | 43 | - overkiz,smartkiz # Overkiz SmartKiz Board |
| 44 | + - gardena,smart-gateway-at91sam # GARDENA smart Gateway (Article No. 19000) | |
| 44 | 45 | - const: atmel,at91sam9g25 |
| 45 | 46 | - const: atmel,at91sam9x5 |
| 46 | 47 | - const: atmel,at91sam9 |
| @@ -183,4 +184,6 @@ properties: · 136 unmodified lines | ||
| 183 | 184 | - const: atmel,samv71 |
| 184 | 185 | - const: atmel,samv7 |
| 185 | 186 | |
| 187 | +additionalProperties: true | |
| 188 | + | |
| 186 | 189 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | ||
| 18 | 18 | - const: lsi,axm5516-amarillo |
| 19 | 19 | - const: lsi,axm5516 |
| 20 | 20 | |
| 21 | +additionalProperties: true | |
| 22 | + | |
| 21 | 23 | ... |
| @@ -51,4 +51,6 @@ properties: · 50 unmodified lines | ||
| 51 | 51 | - raspberrypi,3-compute-module-lite |
| 52 | 52 | - const: brcm,bcm2837 |
| 53 | 53 | |
| 54 | +additionalProperties: true | |
| 55 | + | |
| 54 | 56 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | ||
| 18 | 18 | - brcm,bcm28155-ap |
| 19 | 19 | - const: brcm,bcm11351 |
| 20 | 20 | |
| 21 | +additionalProperties: true | |
| 22 | + | |
| 21 | 23 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | ||
| 18 | 18 | - brcm,bcm21664-garnet |
| 19 | 19 | - const: brcm,bcm21664 |
| 20 | 20 | |
| 21 | +additionalProperties: true | |
| 22 | + | |
| 21 | 23 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | ||
| 18 | 18 | - brcm,bcm23550-sparrow |
| 19 | 19 | - const: brcm,bcm23550 |
| 20 | 20 | |
| 21 | +additionalProperties: true | |
| 22 | + | |
| 21 | 23 | ... |
| @@ -83,6 +83,11 @@ properties: · 82 unmodified lines | ||
| 83 | 83 | - brcm,bcm953012er |
| 84 | 84 | - brcm,bcm953012hr |
| 85 | 85 | - brcm,bcm953012k |
| 86 | + - meraki,mr32 | |
| 86 | 87 | - const: brcm,brcm53012 |
| 88 | + - const: brcm,brcm53016 | |
| 87 | 89 | - const: brcm,bcm4708 |
| 90 | + | |
| 91 | +additionalProperties: true | |
| 92 | + | |
| 88 | 93 | ... |
| @@ -26,4 +26,6 @@ properties: · 25 unmodified lines | ||
| 26 | 26 | - brcm,bcm58305 |
| 27 | 27 | - const: brcm,cygnus |
| 28 | 28 | |
| 29 | +additionalProperties: true | |
| 30 | + | |
| 29 | 31 | ... |
| @@ -25,4 +25,6 @@ properties: · 24 unmodified lines | ||
| 25 | 25 | - const: brcm,bcm53342 |
| 26 | 26 | - const: brcm,hr2 |
| 27 | 27 | |
| 28 | +additionalProperties: true | |
| 29 | + | |
| 28 | 30 | ... |
| @@ -20,4 +20,6 @@ properties: · 19 unmodified lines | ||
| 20 | 20 | - brcm,ns2-xmc |
| 21 | 21 | - const: brcm,ns2 |
| 22 | 22 | |
| 23 | +additionalProperties: true | |
| 24 | + | |
| 23 | 25 | ... |
| @@ -33,4 +33,6 @@ properties: · 32 unmodified lines | ||
| 33 | 33 | - brcm,bcm88312 |
| 34 | 34 | - const: brcm,nsp |
| 35 | 35 | |
| 36 | +additionalProperties: true | |
| 37 | + | |
| 36 | 38 | ... |
| @@ -21,4 +21,6 @@ properties: · 20 unmodified lines | ||
| 21 | 21 | - brcm,bcm958802a802x |
| 22 | 22 | - const: brcm,stingray |
| 23 | 23 | |
| 24 | +additionalProperties: true | |
| 25 | + | |
| 24 | 26 | ... |
| @@ -19,4 +19,6 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | - cavium,thunderx2-cn9900 |
| 20 | 20 | - const: brcm,vulcan-soc |
| 21 | 21 | |
| 22 | +additionalProperties: true | |
| 23 | + | |
| 22 | 24 | ... |
| @@ -17,4 +17,7 @@ properties: · 16 unmodified lines | ||
| 17 | 17 | - enum: |
| 18 | 18 | - bitmain,sophon-edge |
| 19 | 19 | - const: bitmain,bm1880 |
| 20 | + | |
| 21 | +additionalProperties: true | |
| 22 | + | |
| 20 | 23 | ... |
| @@ -20,3 +20,5 @@ properties: · 19 unmodified lines | ||
| 20 | 20 | - enum: |
| 21 | 21 | - calxeda,highbank |
| 22 | 22 | - calxeda,ecx-2000 |
| 23 | + | |
| 24 | +additionalProperties: true | |
| @@ -15,4 +15,6 @@ properties: · 14 unmodified lines | ||
| 15 | 15 | compatible: |
| 16 | 16 | const: cnxt,cx92755 |
| 17 | 17 | |
| 18 | +additionalProperties: true | |
| 19 | + | |
| 18 | 20 | ... |
| @@ -120,6 +120,7 @@ properties: · 119 unmodified lines | ||
| 120 | 120 | - fsl,imx6q-sabrelite |
| 121 | 121 | - fsl,imx6q-sabresd |
| 122 | 122 | - kontron,imx6q-samx6i # Kontron i.MX6 Dual/Quad SMARC Module |
| 123 | + - logicpd,imx6q-logicpd | |
| 123 | 124 | - prt,prti6q # Protonic PRTI6Q board |
| 124 | 125 | - prt,prtwd2 # Protonic WD2 board |
| 125 | 126 | - technexion,imx6q-pico-dwarf # TechNexion i.MX6Q Pico-Dwarf |
| @@ -156,6 +157,21 @@ properties: · 30 unmodified lines | ||
| 156 | 157 | - const: gw,ventana |
| 157 | 158 | - const: fsl,imx6q |
| 158 | 159 | |
| 160 | + - description: i.MX6Q PHYTEC phyBOARD-Mira | |
| 161 | + items: | |
| 162 | + - enum: | |
| 163 | + - phytec,imx6q-pbac06-emmc # PHYTEC phyBOARD-Mira eMMC RDK | |
| 164 | + - phytec,imx6q-pbac06-nand # PHYTEC phyBOARD-Mira NAND RDK | |
| 165 | + - const: phytec,imx6q-pbac06 # PHYTEC phyBOARD-Mira | |
| 166 | + - const: phytec,imx6qdl-pcm058 # PHYTEC phyCORE-i.MX6 | |
| 167 | + - const: fsl,imx6q | |
| 168 | + | |
| 169 | + - description: i.MX6Q PHYTEC phyFLEX-i.MX6 | |
| 170 | + items: | |
| 171 | + - const: phytec,imx6q-pbab01 # PHYTEC phyFLEX carrier board | |
| 172 | + - const: phytec,imx6q-pfla02 # PHYTEC phyFLEX-i.MX6 Quad | |
| 173 | + - const: fsl,imx6q | |
| 174 | + | |
| 159 | 175 | - description: i.MX6QP based Boards |
| 160 | 176 | items: |
| 161 | 177 | - enum: |
| @@ -163,6 +179,13 @@ properties: · 1 unmodified line | ||
| 163 | 179 | - fsl,imx6qp-sabresd # i.MX6 Quad Plus SABRE Smart Device Board |
| 164 | 180 | - const: fsl,imx6qp |
| 165 | 181 | |
| 182 | + - description: i.MX6QP PHYTEC phyBOARD-Mira | |
| 183 | + items: | |
| 184 | + - const: phytec,imx6qp-pbac06-nand | |
| 185 | + - const: phytec,imx6qp-pbac06 # PHYTEC phyBOARD-Mira | |
| 186 | + - const: phytec,imx6qdl-pcm058 # PHYTEC phyCORE-i.MX6 | |
| 187 | + - const: fsl,imx6qp | |
| 188 | + | |
| 166 | 189 | - description: i.MX6DL based Boards |
| 167 | 190 | items: |
| 168 | 191 | - enum: |
| @@ -188,6 +211,7 @@ properties: · 19 unmodified lines | ||
| 188 | 211 | - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6 Module V1.1 on Colibri Evaluation Board V3 |
| 189 | 212 | - ysoft,imx6dl-yapp4-draco # i.MX6 DualLite Y Soft IOTA Draco board |
| 190 | 213 | - ysoft,imx6dl-yapp4-hydra # i.MX6 DualLite Y Soft IOTA Hydra board |
| 214 | + - ysoft,imx6dl-yapp4-orion # i.MX6 DualLite Y Soft IOTA Orion board | |
| 191 | 215 | - ysoft,imx6dl-yapp4-ursa # i.MX6 Solo Y Soft IOTA Ursa board |
| 192 | 216 | - const: fsl,imx6dl |
| 193 | 217 | |
| @@ -211,10 +235,26 @@ properties: · 17 unmodified lines | ||
| 211 | 235 | - const: gw,ventana |
| 212 | 236 | - const: fsl,imx6dl |
| 213 | 237 | |
| 238 | + - description: i.MX6DL PHYTEC phyBOARD-Mira | |
| 239 | + items: | |
| 240 | + - enum: | |
| 241 | + - phytec,imx6dl-pbac06-emmc # PHYTEC phyBOARD-Mira eMMC RDK | |
| 242 | + - phytec,imx6dl-pbac06-nand # PHYTEC phyBOARD-Mira NAND RDK | |
| 243 | + - const: phytec,imx6dl-pbac06 # PHYTEC phyBOARD-Mira | |
| 244 | + - const: phytec,imx6qdl-pcm058 # PHYTEC phyCORE-i.MX6 | |
| 245 | + - const: fsl,imx6dl | |
| 246 | + | |
| 247 | + - description: i.MX6DL PHYTEC phyFLEX-i.MX6 | |
| 248 | + items: | |
| 249 | + - const: phytec,imx6dl-pbab01 # PHYTEC phyFLEX carrier board | |
| 250 | + - const: phytec,imx6dl-pfla02 # PHYTEC phyFLEX-i.MX6 Quad | |
| 251 | + - const: fsl,imx6dl | |
| 252 | + | |
| 214 | 253 | - description: i.MX6SL based Boards |
| 215 | 254 | items: |
| 216 | 255 | - enum: |
| 217 | 256 | - fsl,imx6sl-evk # i.MX6 SoloLite EVK Board |
| 257 | + - kobo,tolino-shine2hd | |
| 218 | 258 | - kobo,tolino-shine3 |
| 219 | 259 | - const: fsl,imx6sl |
| 220 | 260 | |
| @@ -246,6 +286,15 @@ properties: · 25 unmodified lines | ||
| 246 | 286 | - technexion,imx6ul-pico-pi # TechNexion i.MX6UL Pico-Pi |
| 247 | 287 | - const: fsl,imx6ul |
| 248 | 288 | |
| 289 | + - description: i.MX6UL PHYTEC phyBOARD-Segin | |
| 290 | + items: | |
| 291 | + - enum: | |
| 292 | + - phytec,imx6ul-pbacd10-emmc | |
| 293 | + - phytec,imx6ul-pbacd10-nand | |
| 294 | + - const: phytec,imx6ul-pbacd10 # PHYTEC phyBOARD-Segin with i.MX6 UL | |
| 295 | + - const: phytec,imx6ul-pcl063 # PHYTEC phyCORE-i.MX 6UL | |
| 296 | + - const: fsl,imx6ul | |
| 297 | + | |
| 249 | 298 | - description: Kontron N6310 S Board |
| 250 | 299 | items: |
| 251 | 300 | - const: kontron,imx6ul-n6310-s |
| @@ -277,6 +326,15 @@ properties: · 25 unmodified lines | ||
| 277 | 326 | - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board |
| 278 | 327 | - const: fsl,imx6ull |
| 279 | 328 | |
| 329 | + - description: i.MX6ULL PHYTEC phyBOARD-Segin | |
| 330 | + items: | |
| 331 | + - enum: | |
| 332 | + - phytec,imx6ull-pbacd10-emmc | |
| 333 | + - phytec,imx6ull-pbacd10-nand | |
| 334 | + - const: phytec,imx6ull-pbacd10 # PHYTEC phyBOARD-Segin with i.MX6 ULL | |
| 335 | + - const: phytec,imx6ull-pcl063 # PHYTEC phyCORE-i.MX 6ULL | |
| 336 | + - const: fsl,imx6ull | |
| 337 | + | |
| 280 | 338 | - description: Kontron N6411 S Board |
| 281 | 339 | items: |
| 282 | 340 | - const: kontron,imx6ull-n6411-s |
| @@ -344,7 +402,16 @@ properties: · 61 unmodified lines | ||
| 344 | 402 | - description: i.MX8MM based Boards |
| 345 | 403 | items: |
| 346 | 404 | - enum: |
| 405 | + - beacon,imx8mm-beacon-kit # i.MX8MM Beacon Development Kit | |
| 406 | + - fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board | |
| 347 | 407 | - fsl,imx8mm-evk # i.MX8MM EVK Board |
| 408 | + - variscite,var-som-mx8mm # i.MX8MM Variscite VAR-SOM-MX8MM module | |
| 409 | + - const: fsl,imx8mm | |
| 410 | + | |
| 411 | + - description: Variscite VAR-SOM-MX8MM based boards | |
| 412 | + items: | |
| 413 | + - const: variscite,var-som-mx8mm-symphony | |
| 414 | + - const: variscite,var-som-mx8mm | |
| 348 | 415 | - const: fsl,imx8mm |
| 349 | 416 | |
| 350 | 417 | - description: i.MX8MN based Boards |
| @@ -354,6 +421,12 @@ properties: · 3 unmodified lines | ||
| 354 | 421 | - fsl,imx8mn-evk # i.MX8MN LPDDR4 EVK Board |
| 355 | 422 | - const: fsl,imx8mn |
| 356 | 423 | |
| 424 | + - description: Variscite VAR-SOM-MX8MN based boards | |
| 425 | + items: | |
| 426 | + - const: variscite,var-som-mx8mn-symphony | |
| 427 | + - const: variscite,var-som-mx8mn | |
| 428 | + - const: fsl,imx8mn | |
| 429 | + | |
| 357 | 430 | - description: i.MX8MP based Boards |
| 358 | 431 | items: |
| 359 | 432 | - enum: |
| @@ -372,13 +445,35 @@ properties: · 12 unmodified lines | ||
| 372 | 445 | - technexion,pico-pi-imx8m # TechNexion PICO-PI-8M evk |
| 373 | 446 | - const: fsl,imx8mq |
| 374 | 447 | |
| 448 | + - description: Purism Librem5 phones | |
| 449 | + items: | |
| 450 | + - enum: | |
| 451 | + - purism,librem5r2 # Purism Librem5 phone "Chestnut" | |
| 452 | + - purism,librem5r3 # Purism Librem5 phone "Dogwood" | |
| 453 | + - const: purism,librem5 | |
| 454 | + - const: fsl,imx8mq | |
| 455 | + | |
| 456 | + - description: Zodiac Inflight Innovations Ultra Boards | |
| 457 | + items: | |
| 458 | + - enum: | |
| 459 | + - zii,imx8mq-ultra-rmb3 | |
| 460 | + - zii,imx8mq-ultra-zest | |
| 461 | + - const: zii,imx8mq-ultra | |
| 462 | + - const: fsl,imx8mq | |
| 463 | + | |
| 375 | 464 | - description: i.MX8QXP based Boards |
| 376 | 465 | items: |
| 377 | 466 | - enum: |
| 378 | 467 | - einfochips,imx8qxp-ai_ml # i.MX8QXP AI_ML Board |
| 379 | 468 | - fsl,imx8qxp-mek # i.MX8QXP MEK Board |
| 380 | 469 | - toradex,colibri-imx8x # Colibri iMX8X Module |
| 470 | + - const: fsl,imx8qxp | |
| 471 | + | |
| 472 | + - description: Toradex Colibri i.MX8 Evaluation Board | |
| 473 | + items: | |
| 474 | + - enum: | |
| 381 | 475 | - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3 |
| 476 | + - const: toradex,colibri-imx8x | |
| 382 | 477 | - const: fsl,imx8qxp |
| 383 | 478 | |
| 384 | 479 | - description: |
| @@ -526,4 +621,6 @@ properties: · 141 unmodified lines | ||
| 526 | 621 | - fsl,s32v234-evb # S32V234-EVB2 Customer Evaluation Board |
| 527 | 622 | - const: fsl,s32v234 |
| 528 | 623 | |
| 624 | +additionalProperties: true | |
| 625 | + | |
| 529 | 626 | ... |
| @@ -64,4 +64,7 @@ properties: · 63 unmodified lines | ||
| 64 | 64 | items: |
| 65 | 65 | - const: H836ASDJ |
| 66 | 66 | - const: hisilicon,sd5203 |
| 67 | + | |
| 68 | +additionalProperties: true | |
| 69 | + | |
| 67 | 70 | ... |
| @@ -16,4 +16,7 @@ properties: · 15 unmodified lines | ||
| 16 | 16 | - enum: |
| 17 | 17 | - intel,keembay-evm |
| 18 | 18 | - const: intel,keembay |
| 19 | + | |
| 20 | +additionalProperties: true | |
| 21 | + | |
| 19 | 22 | ... |
| @@ -22,3 +22,5 @@ properties: · 21 unmodified lines | ||
| 22 | 22 | - enum: |
| 23 | 23 | - gateworks,gw2358 |
| 24 | 24 | - const: intel,ixp43x |
| 25 | + | |
| 26 | +additionalProperties: true | |
| @@ -42,3 +42,5 @@ properties: · 41 unmodified lines | ||
| 42 | 42 | - description: TI-SCI processor id for the remote processor device |
| 43 | 43 | - description: TI-SCI host id to which processor control ownership |
| 44 | 44 | should be transferred to |
| 45 | + | |
| 46 | +additionalProperties: true | |
| @@ -59,3 +59,5 @@ properties: · 58 unmodified lines | ||
| 59 | 59 | - const: marvell,cn9130 |
| 60 | 60 | - const: marvell,armada-ap807-quad |
| 61 | 61 | - const: marvell,armada-ap807 |
| 62 | + | |
| 63 | +additionalProperties: true | |
| @@ -119,4 +119,7 @@ properties: · 118 unmodified lines | ||
| 119 | 119 | - const: google,krane-sku176 |
| 120 | 120 | - const: google,krane |
| 121 | 121 | - const: mediatek,mt8183 |
| 122 | + | |
| 123 | +additionalProperties: true | |
| 124 | + | |
| 122 | 125 | ... |
| @@ -15,6 +15,7 @@ Required Properties: · 14 unmodified lines | ||
| 15 | 15 | - "mediatek,mt7623-apmixedsys", "mediatek,mt2701-apmixedsys" |
| 16 | 16 | - "mediatek,mt7629-apmixedsys" |
| 17 | 17 | - "mediatek,mt8135-apmixedsys" |
| 18 | + - "mediatek,mt8167-apmixedsys", "syscon" | |
| 18 | 19 | - "mediatek,mt8173-apmixedsys" |
| 19 | 20 | - "mediatek,mt8183-apmixedsys", "syscon" |
| 20 | 21 | - "mediatek,mt8516-apmixedsys" |
| @@ -11,6 +11,7 @@ Required Properties: · 10 unmodified lines | ||
| 11 | 11 | - "mediatek,mt6779-audio", "syscon" |
| 12 | 12 | - "mediatek,mt7622-audsys", "syscon" |
| 13 | 13 | - "mediatek,mt7623-audsys", "mediatek,mt2701-audsys", "syscon" |
| 14 | + - "mediatek,mt8167-audiosys", "syscon" | |
| 14 | 15 | - "mediatek,mt8183-audiosys", "syscon" |
| 15 | 16 | - "mediatek,mt8516-audsys", "syscon" |
| 16 | 17 | - #clock-cells: Must be 1 |
| @@ -12,6 +12,7 @@ Required Properties: · 11 unmodified lines | ||
| 12 | 12 | - "mediatek,mt6779-imgsys", "syscon" |
| 13 | 13 | - "mediatek,mt6797-imgsys", "syscon" |
| 14 | 14 | - "mediatek,mt7623-imgsys", "mediatek,mt2701-imgsys", "syscon" |
| 15 | + - "mediatek,mt8167-imgsys", "syscon" | |
| 15 | 16 | - "mediatek,mt8173-imgsys", "syscon" |
| 16 | 17 | - "mediatek,mt8183-imgsys", "syscon" |
| 17 | 18 | - #clock-cells: Must be 1 |
| @@ -16,6 +16,7 @@ Required Properties: · 15 unmodified lines | ||
| 16 | 16 | - "mediatek,mt7623-infracfg", "mediatek,mt2701-infracfg", "syscon" |
| 17 | 17 | - "mediatek,mt7629-infracfg", "syscon" |
| 18 | 18 | - "mediatek,mt8135-infracfg", "syscon" |
| 19 | + - "mediatek,mt8167-infracfg", "syscon" | |
| 19 | 20 | - "mediatek,mt8173-infracfg", "syscon" |
| 20 | 21 | - "mediatek,mt8183-infracfg", "syscon" |
| 21 | 22 | - "mediatek,mt8516-infracfg", "syscon" |
| @@ -8,6 +8,7 @@ Required Properties: · 7 unmodified lines | ||
| 8 | 8 | - compatible: Should be one of: |
| 9 | 9 | - "mediatek,mt2712-mfgcfg", "syscon" |
| 10 | 10 | - "mediatek,mt6779-mfgcfg", "syscon" |
| 11 | + - "mediatek,mt8167-mfgcfg", "syscon" | |
| 11 | 12 | - "mediatek,mt8183-mfgcfg", "syscon" |
| 12 | 13 | - #clock-cells: Must be 1 |
| 13 | 14 | |
| @@ -15,6 +15,7 @@ Required Properties: · 14 unmodified lines | ||
| 15 | 15 | - "mediatek,mt7623-topckgen", "mediatek,mt2701-topckgen" |
| 16 | 16 | - "mediatek,mt7629-topckgen" |
| 17 | 17 | - "mediatek,mt8135-topckgen" |
| 18 | + - "mediatek,mt8167-topckgen", "syscon" | |
| 18 | 19 | - "mediatek,mt8173-topckgen" |
| 19 | 20 | - "mediatek,mt8183-topckgen", "syscon" |
| 20 | 21 | - "mediatek,mt8516-topckgen" |
| @@ -11,6 +11,7 @@ Required Properties: · 10 unmodified lines | ||
| 11 | 11 | - "mediatek,mt6779-vdecsys", "syscon" |
| 12 | 12 | - "mediatek,mt6797-vdecsys", "syscon" |
| 13 | 13 | - "mediatek,mt7623-vdecsys", "mediatek,mt2701-vdecsys", "syscon" |
| 14 | + - "mediatek,mt8167-vdecsys", "syscon" | |
| 14 | 15 | - "mediatek,mt8173-vdecsys", "syscon" |
| 15 | 16 | - "mediatek,mt8183-vdecsys", "syscon" |
| 16 | 17 | - #clock-cells: Must be 1 |
| @@ -62,4 +62,6 @@ required: · 61 unmodified lines | ||
| 62 | 62 | - compatible |
| 63 | 63 | - axi@600000000 |
| 64 | 64 | |
| 65 | +additionalProperties: true | |
| 66 | + | |
| 65 | 67 | ... |
| @@ -16,4 +16,5 @@ properties: · 15 unmodified lines | ||
| 16 | 16 | - const: moxa,moxart-uc-7112-lx |
| 17 | 17 | - const: moxa,moxart |
| 18 | 18 | |
| 19 | +additionalProperties: true | |
| 19 | 20 | ... |
| @@ -35,4 +35,7 @@ properties: · 34 unmodified lines | ||
| 35 | 35 | - enum: |
| 36 | 36 | - dell,wyse-ariel |
| 37 | 37 | - const: marvell,mmp3 |
| 38 | + | |
| 39 | +additionalProperties: true | |
| 40 | + | |
| 38 | 41 | ... |
| @@ -31,3 +31,5 @@ properties: · 30 unmodified lines | ||
| 31 | 31 | - enum: |
| 32 | 32 | - 70mai,midrived08 # 70mai midrive d08 |
| 33 | 33 | - const: mstar,mercury5 |
| 34 | + | |
| 35 | +additionalProperties: true | |
| @@ -21,4 +21,6 @@ properties: · 20 unmodified lines | ||
| 21 | 21 | - ea,ea3250 |
| 22 | 22 | - phytec,phy3250 |
| 23 | 23 | - const: nxp,lpc3250 |
| 24 | + | |
| 25 | +additionalProperties: true | |
| 24 | 26 | ... |
| @@ -18,6 +18,7 @@ Required properties: · 17 unmodified lines | ||
| 18 | 18 | (base address and length) |
| 19 | 19 | |
| 20 | 20 | Optional properties: |
| 21 | +- #power-domain-cells: Should be 0 if the instance is a power domain provider. | |
| 21 | 22 | - #reset-cells: Should be 1 if the PRM instance in question supports resets. |
| 22 | 23 | |
| 23 | 24 | Example: |
| @@ -25,5 +26,6 @@ Example: · 1 unmodified line | ||
| 25 | 26 | prm_dsp2: prm@1b00 { |
| 26 | 27 | compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; |
| 27 | 28 | reg = <0x1b00 0x40>; |
| 29 | + #power-domain-cells = <0>; | |
| 28 | 30 | #reset-cells = <1>; |
| 29 | 31 | }; |
| @@ -40,6 +40,7 @@ description: | · 39 unmodified lines | ||
| 40 | 40 | sdm630 |
| 41 | 41 | sdm660 |
| 42 | 42 | sdm845 |
| 43 | + sm8250 | |
| 43 | 44 | |
| 44 | 45 | The 'board' element must be one of the following strings: |
| 45 | 46 | |
| @@ -47,6 +48,8 @@ description: | · 1 unmodified line | ||
| 47 | 48 | cp01-c1 |
| 48 | 49 | dragonboard |
| 49 | 50 | hk01 |
| 51 | + hk10-c1 | |
| 52 | + hk10-c2 | |
| 50 | 53 | idp |
| 51 | 54 | liquid |
| 52 | 55 | mtp |
| @@ -150,6 +153,8 @@ properties: · 97 unmodified lines | ||
| 150 | 153 | - items: |
| 151 | 154 | - enum: |
| 152 | 155 | - qcom,ipq8074-hk01 |
| 156 | + - qcom,ipq8074-hk10-c1 | |
| 157 | + - qcom,ipq8074-hk10-c2 | |
| 153 | 158 | - const: qcom,ipq8074 |
| 154 | 159 | |
| 155 | 160 | - items: |
| @@ -167,4 +172,12 @@ properties: · 11 unmodified lines | ||
| 167 | 172 | - qcom,ipq6018-cp01-c1 |
| 168 | 173 | - const: qcom,ipq6018 |
| 169 | 174 | |
| 175 | + - items: | |
| 176 | + - enum: | |
| 177 | + - qcom,qrb5165-rb5 | |
| 178 | + - qcom,sm8250-mtp | |
| 179 | + - const: qcom,sm8250 | |
| 180 | + | |
| 181 | +additionalProperties: true | |
| 182 | + | |
| 170 | 183 | ... |
| @@ -19,4 +19,6 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | - xunlong,orangepi-i96 # Orange Pi i96 |
| 20 | 20 | - const: rda,8810pl |
| 21 | 21 | |
| 22 | +additionalProperties: true | |
| 23 | + | |
| 22 | 24 | ... |
| @@ -54,4 +54,7 @@ properties: · 53 unmodified lines | ||
| 54 | 54 | - enum: |
| 55 | 55 | - realtek,mjolnir # Realtek Mjolnir EVB |
| 56 | 56 | - const: realtek,rtd1619 |
| 57 | + | |
| 58 | +additionalProperties: true | |
| 59 | + | |
| 57 | 60 | ... |
| @@ -281,10 +281,24 @@ properties: · 280 unmodified lines | ||
| 281 | 281 | - renesas,draak # Draak (RTP0RC77995SEB0010S) |
| 282 | 282 | - const: renesas,r8a77995 |
| 283 | 283 | |
| 284 | + - description: R-Car V3U (R8A779A0) | |
| 285 | + items: | |
| 286 | + - enum: | |
| 287 | + - renesas,falcon-cpu # Falcon CPU board (RTP0RC779A0CPB0010S) | |
| 288 | + - const: renesas,r8a779a0 | |
| 289 | + | |
| 290 | + - items: | |
| 291 | + - enum: | |
| 292 | + - renesas,falcon-breakout # Falcon BreakOut board (RTP0RC779A0BOB0010S) | |
| 293 | + - const: renesas,falcon-cpu | |
| 294 | + - const: renesas,r8a779a0 | |
| 295 | + | |
| 284 | 296 | - description: RZ/N1D (R9A06G032) |
| 285 | 297 | items: |
| 286 | 298 | - enum: |
| 287 | 299 | - renesas,rzn1d400-db # RZN1D-DB (RZ/N1D Demo Board for the RZ/N1D 400 pins package) |
| 288 | 300 | - const: renesas,r9a06g032 |
| 289 | 301 | |
| 302 | +additionalProperties: true | |
| 303 | + | |
| 290 | 304 | ... |
| @@ -104,6 +104,11 @@ properties: · 103 unmodified lines | ||
| 104 | 104 | - firefly,roc-rk3399-pc-mezzanine |
| 105 | 105 | - const: rockchip,rk3399 |
| 106 | 106 | |
| 107 | + - description: FriendlyElec NanoPi R2S | |
| 108 | + items: | |
| 109 | + - const: friendlyarm,nanopi-r2s | |
| 110 | + - const: rockchip,rk3328 | |
| 111 | + | |
| 107 | 112 | - description: FriendlyElec NanoPi4 series boards |
| 108 | 113 | items: |
| 109 | 114 | - enum: |
| @@ -430,8 +435,12 @@ properties: · 320 unmodified lines | ||
| 430 | 435 | - const: radxa,rock |
| 431 | 436 | - const: rockchip,rk3188 |
| 432 | 437 | |
| 433 | − - description: Radxa ROCK Pi 4 | |
| 438 | + - description: Radxa ROCK Pi 4A/B/C | |
| 434 | 439 | items: |
| 440 | + - enum: | |
| 441 | + - radxa,rockpi4a | |
| 442 | + - radxa,rockpi4b | |
| 443 | + - radxa,rockpi4c | |
| 435 | 444 | - const: radxa,rockpi4 |
| 436 | 445 | - const: rockchip,rk3399 |
| 437 | 446 | |
| @@ -555,4 +564,12 @@ properties: · 117 unmodified lines | ||
| 555 | 564 | items: |
| 556 | 565 | - const: tronsmart,orion-r68-meta |
| 557 | 566 | - const: rockchip,rk3368 |
| 567 | + | |
| 568 | + - description: Zkmagic A95X Z2 | |
| 569 | + items: | |
| 570 | + - const: zkmagic,a95x-z2 | |
| 571 | + - const: rockchip,rk3318 | |
| 572 | + | |
| 573 | +additionalProperties: true | |
| 574 | + | |
| 558 | 575 | ... |
| @@ -24,6 +24,7 @@ select: · 23 unmodified lines | ||
| 24 | 24 | - samsung,exynos5420-pmu |
| 25 | 25 | - samsung,exynos5433-pmu |
| 26 | 26 | - samsung,exynos7-pmu |
| 27 | + - samsung-s5pv210-pmu | |
| 27 | 28 | required: |
| 28 | 29 | - compatible |
| 29 | 30 | |
| @@ -40,6 +41,7 @@ properties: · 10 unmodified lines | ||
| 40 | 41 | - samsung,exynos5420-pmu |
| 41 | 42 | - samsung,exynos5433-pmu |
| 42 | 43 | - samsung,exynos7-pmu |
| 44 | + - samsung-s5pv210-pmu | |
| 43 | 45 | - const: syscon |
| 44 | 46 | |
| 45 | 47 | reg: |
| @@ -88,12 +90,28 @@ properties: · 42 unmodified lines | ||
| 88 | 90 | required: |
| 89 | 91 | - compatible |
| 90 | 92 | - reg |
| 91 | − - '#clock-cells' | |
| 92 | − - clock-names | |
| 93 | − - clocks | |
| 94 | 93 | |
| 95 | 94 | additionalProperties: false |
| 96 | 95 | |
| 96 | +allOf: | |
| 97 | + - if: | |
| 98 | + properties: | |
| 99 | + compatible: | |
| 100 | + contains: | |
| 101 | + enum: | |
| 102 | + - samsung,exynos3250-pmu | |
| 103 | + - samsung,exynos4210-pmu | |
| 104 | + - samsung,exynos4412-pmu | |
| 105 | + - samsung,exynos5250-pmu | |
| 106 | + - samsung,exynos5410-pmu | |
| 107 | + - samsung,exynos5420-pmu | |
| 108 | + - samsung,exynos5433-pmu | |
| 109 | + then: | |
| 110 | + required: | |
| 111 | + - '#clock-cells' | |
| 112 | + - clock-names | |
| 113 | + - clocks | |
| 114 | + | |
| 97 | 115 | examples: |
| 98 | 116 | - | |
| 99 | 117 | #include <dt-bindings/clock/exynos5250.h> |
| @@ -180,3 +180,5 @@ properties: · 179 unmodified lines | ||
| 180 | 180 | |
| 181 | 181 | required: |
| 182 | 182 | - compatible |
| 183 | + | |
| 184 | +additionalProperties: true | |
| @@ -24,4 +24,7 @@ properties: · 23 unmodified lines | ||
| 24 | 24 | - items: |
| 25 | 25 | - const: sirf,prima2-cb |
| 26 | 26 | - const: sirf,prima2 |
| 27 | + | |
| 28 | +additionalProperties: true | |
| 29 | + | |
| 27 | 30 | ... |
| @@ -19,4 +19,7 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | - enum: |
| 20 | 20 | - socionext,milbeaut-m10v-evb |
| 21 | 21 | - const: socionext,sc2000a |
| 22 | + | |
| 23 | +additionalProperties: true | |
| 24 | + | |
| 22 | 25 | ... |
| @@ -60,3 +60,5 @@ properties: · 59 unmodified lines | ||
| 60 | 60 | - enum: |
| 61 | 61 | - socionext,uniphier-pxs3-ref |
| 62 | 62 | - const: socionext,uniphier-pxs3 |
| 63 | + | |
| 64 | +additionalProperties: true | |
| @@ -22,4 +22,7 @@ properties: · 21 unmodified lines | ||
| 22 | 22 | - st,spear320 |
| 23 | 23 | - st,spear1310 |
| 24 | 24 | - st,spear1340 |
| 25 | + | |
| 26 | +additionalProperties: true | |
| 27 | + | |
| 25 | 28 | ... |
| @@ -30,4 +30,6 @@ properties: · 29 unmodified lines | ||
| 30 | 30 | - sprd,sp9863a-1h10 |
| 31 | 31 | - const: sprd,sc9863a |
| 32 | 32 | |
| 33 | +additionalProperties: true | |
| 34 | + | |
| 33 | 35 | ... |
| @@ -20,4 +20,7 @@ properties: · 19 unmodified lines | ||
| 20 | 20 | - st,stih407 |
| 21 | 21 | - st,stih410 |
| 22 | 22 | - st,stih418 |
| 23 | + | |
| 24 | +additionalProperties: true | |
| 25 | + | |
| 23 | 26 | ... |
| @@ -52,4 +52,13 @@ properties: · 51 unmodified lines | ||
| 52 | 52 | - const: st,stm32mp157c-ev1 |
| 53 | 53 | - const: st,stm32mp157c-ed1 |
| 54 | 54 | - const: st,stm32mp157 |
| 55 | + - description: Odyssey STM32MP1 SoM based Boards | |
| 56 | + items: | |
| 57 | + - enum: | |
| 58 | + - seeed,stm32mp157c-odyssey | |
| 59 | + - const: seeed,stm32mp157c-odyssey-som | |
| 60 | + - const: st,stm32mp157 | |
| 61 | + | |
| 62 | +additionalProperties: true | |
| 63 | + | |
| 55 | 64 | ... |
| @@ -16,6 +16,11 @@ properties: · 15 unmodified lines | ||
| 16 | 16 | compatible: |
| 17 | 17 | oneOf: |
| 18 | 18 | |
| 19 | + - description: Allwinner A100 Perf1 Board | |
| 20 | + items: | |
| 21 | + - const: allwinner,a100-perf1 | |
| 22 | + - const: allwinner,sun50i-a100 | |
| 23 | + | |
| 19 | 24 | - description: Allwinner A23 Evaluation Board |
| 20 | 25 | items: |
| 21 | 26 | - const: allwinner,sun8i-a23-evb |
| @@ -626,6 +631,11 @@ properties: · 604 unmodified lines | ||
| 626 | 631 | - const: pine64,pine64-plus |
| 627 | 632 | - const: allwinner,sun50i-a64 |
| 628 | 633 | |
| 634 | + - description: Pine64 PineCube | |
| 635 | + items: | |
| 636 | + - const: pine64,pinecube | |
| 637 | + - const: allwinner,sun8i-s3 | |
| 638 | + | |
| 629 | 639 | - description: Pine64 PineH64 model A |
| 630 | 640 | items: |
| 631 | 641 | - const: pine64,pine-h64 |
| @@ -883,3 +893,5 @@ properties: · 251 unmodified lines | ||
| 883 | 893 | items: |
| 884 | 894 | - const: xunlong,orangepi-zero-plus2-h3 |
| 885 | 895 | - const: allwinner,sun8i-h3 |
| 896 | + | |
| 897 | +additionalProperties: true | |
| @@ -121,3 +121,9 @@ properties: · 120 unmodified lines | ||
| 121 | 121 | items: |
| 122 | 122 | - const: nvidia,p3509-0000+p3668-0000 |
| 123 | 123 | - const: nvidia,tegra194 |
| 124 | + - items: | |
| 125 | + - enum: | |
| 126 | + - nvidia,tegra234-vdk | |
| 127 | + - const: nvidia,tegra234 | |
| 128 | + | |
| 129 | +additionalProperties: true | |
| @@ -4,6 +4,7 @@ Required properties: · 3 unmodified lines | ||
| 4 | 4 | - compatible: Should contain one of the following: |
| 5 | 5 | - "nvidia,tegra186-pmc": for Tegra186 |
| 6 | 6 | - "nvidia,tegra194-pmc": for Tegra194 |
| 7 | + - "nvidia,tegra234-pmc": for Tegra234 | |
| 7 | 8 | - reg: Must contain an (offset, length) pair of the register set for each |
| 8 | 9 | entry in reg-names. |
| 9 | 10 | - reg-names: Must include the following entries: |
| @@ -11,7 +12,7 @@ Required properties: · 1 unmodified line | ||
| 11 | 12 | - "wake" |
| 12 | 13 | - "aotag" |
| 13 | 14 | - "scratch" |
| 14 | − - "misc" (Only for Tegra194) | |
| 15 | + - "misc" (Only for Tegra194 and later) | |
| 15 | 16 | |
| 16 | 17 | Optional properties: |
| 17 | 18 | - nvidia,invert-interrupt: If present, inverts the PMU interrupt signal. |
| @@ -1,26 +0,0 @@ | ||
| 1 | −Texas Instruments K3 Multicore SoC architecture device tree bindings | |
| 2 | −-------------------------------------------------------------------- | |
| 3 | − | |
| 4 | −Platforms based on Texas Instruments K3 Multicore SoC architecture | |
| 5 | −shall follow the following scheme: | |
| 6 | − | |
| 7 | −SoCs | |
| 8 | −---- | |
| 9 | − | |
| 10 | −Each device tree root node must specify which exact SoC in K3 Multicore SoC | |
| 11 | −architecture it uses, using one of the following compatible values: | |
| 12 | − | |
| 13 | −- AM654 | |
| 14 | − compatible = "ti,am654"; | |
| 15 | − | |
| 16 | −- J721E | |
| 17 | − compatible = "ti,j721e"; | |
| 18 | − | |
| 19 | −Boards | |
| 20 | −------ | |
| 21 | − | |
| 22 | −In addition, each device tree root node must specify which one or more | |
| 23 | −of the following board-specific compatible values: | |
| 24 | − | |
| 25 | −- AM654 EVM | |
| 26 | − compatible = "ti,am654-evm", "ti,am654"; | |
| @@ -0,0 +1,38 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/arm/ti/k3.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Texas Instruments K3 Multicore SoC architecture device tree bindings | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Nishanth Menon <nm@ti.com> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + Platforms based on Texas Instruments K3 Multicore SoC architecture | |
| 14 | + shall have the following properties. | |
| 15 | + | |
| 16 | +properties: | |
| 17 | + $nodename: | |
| 18 | + const: '/' | |
| 19 | + compatible: | |
| 20 | + oneOf: | |
| 21 | + | |
| 22 | + - description: K3 AM654 SoC | |
| 23 | + items: | |
| 24 | + - enum: | |
| 25 | + - ti,am654-evm | |
| 26 | + - const: ti,am654 | |
| 27 | + | |
| 28 | + - description: K3 J721E SoC | |
| 29 | + items: | |
| 30 | + - const: ti,j721e | |
| 31 | + | |
| 32 | + - description: K3 J7200 SoC | |
| 33 | + items: | |
| 34 | + - const: ti,j7200 | |
| 35 | + | |
| 36 | +additionalProperties: true | |
| 37 | + | |
| 38 | +... | |
| @@ -21,4 +21,7 @@ properties: · 20 unmodified lines | ||
| 21 | 21 | - ti,nspire-tp |
| 22 | 22 | # Clickpad models |
| 23 | 23 | - ti,nspire-clp |
| 24 | + | |
| 25 | +additionalProperties: true | |
| 26 | + | |
| 24 | 27 | ... |
| @@ -23,4 +23,7 @@ properties: · 22 unmodified lines | ||
| 23 | 23 | - enbw,cmc # EnBW AM1808 based CMC board |
| 24 | 24 | - lego,ev3 # LEGO MINDSTORMS EV3 (AM1808 based) |
| 25 | 25 | - const: ti,da850 |
| 26 | + | |
| 27 | +additionalProperties: true | |
| 28 | + | |
| 26 | 29 | ... |
| @@ -0,0 +1,25 @@ | ||
| 1 | +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/arm/toshiba.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Toshiba Visconti Platform Device Tree Bindings | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> | |
| 11 | + | |
| 12 | +properties: | |
| 13 | + $nodename: | |
| 14 | + const: '/' | |
| 15 | + compatible: | |
| 16 | + oneOf: | |
| 17 | + - description: Visconti5 TMPV7708 | |
| 18 | + items: | |
| 19 | + - enum: | |
| 20 | + - toshiba,tmpv7708-rm-mbrc # TMPV7708 RM main board | |
| 21 | + - const: toshiba,tmpv7708 | |
| 22 | + | |
| 23 | +additionalProperties: true | |
| 24 | + | |
| 25 | +... | |
| @@ -34,3 +34,5 @@ properties: · 33 unmodified lines | ||
| 34 | 34 | items: |
| 35 | 35 | - const: samsung,golden |
| 36 | 36 | - const: st-ericsson,u8500 |
| 37 | + | |
| 38 | +additionalProperties: true | |
| @@ -21,3 +21,6 @@ properties: · 20 unmodified lines | ||
| 21 | 21 | - wm,wm8650 |
| 22 | 22 | - wm,wm8750 |
| 23 | 23 | - wm,wm8850 |
| 24 | + | |
| 25 | +additionalProperties: true | |
| 26 | + | |
| @@ -111,4 +111,6 @@ properties: · 110 unmodified lines | ||
| 111 | 111 | - const: xlnx,zynqmp-zcu111 |
| 112 | 112 | - const: xlnx,zynqmp |
| 113 | 113 | |
| 114 | +additionalProperties: true | |
| 115 | + | |
| 114 | 116 | ... |
| @@ -23,4 +23,6 @@ properties: · 22 unmodified lines | ||
| 23 | 23 | - zte,zx296718-evb |
| 24 | 24 | - const: zte,zx296718 |
| 25 | 25 | |
| 26 | +additionalProperties: true | |
| 27 | + | |
| 26 | 28 | ... |
| @@ -10,7 +10,8 @@ Required properties: · 9 unmodified lines | ||
| 10 | 10 | "brcm,bcm7038-gisb-arb" for 130nm chips |
| 11 | 11 | - reg: specifies the base physical address and size of the registers |
| 12 | 12 | - interrupts: specifies the two interrupts (timeout and TEA) to be used from |
| 13 | − the parent interrupt controller | |
| 13 | + the parent interrupt controller. A third optional interrupt may be specified | |
| 14 | + for breakpoints. | |
| 14 | 15 | |
| 15 | 16 | Optional properties: |
| 16 | 17 | |
| @@ -36,6 +36,8 @@ properties: · 35 unmodified lines | ||
| 36 | 36 | - allwinner,sun9i-a80-ccu |
| 37 | 37 | - allwinner,sun50i-a64-ccu |
| 38 | 38 | - allwinner,sun50i-a64-r-ccu |
| 39 | + - allwinner,sun50i-a100-ccu | |
| 40 | + - allwinner,sun50i-a100-r-ccu | |
| 39 | 41 | - allwinner,sun50i-h5-ccu |
| 40 | 42 | - allwinner,sun50i-h6-ccu |
| 41 | 43 | - allwinner,sun50i-h6-r-ccu |
| @@ -78,6 +80,7 @@ if: · 36 unmodified lines | ||
| 78 | 80 | - allwinner,sun8i-a83t-r-ccu |
| 79 | 81 | - allwinner,sun8i-h3-r-ccu |
| 80 | 82 | - allwinner,sun50i-a64-r-ccu |
| 83 | + - allwinner,sun50i-a100-r-ccu | |
| 81 | 84 | - allwinner,sun50i-h6-r-ccu |
| 82 | 85 | |
| 83 | 86 | then: |
| @@ -94,7 +97,9 @@ else: · 10 unmodified lines | ||
| 94 | 97 | if: |
| 95 | 98 | properties: |
| 96 | 99 | compatible: |
| 97 | − const: allwinner,sun50i-h6-ccu | |
| 100 | + enum: | |
| 101 | + - allwinner,sun50i-a100-ccu | |
| 102 | + - allwinner,sun50i-h6-ccu | |
| 98 | 103 | |
| 99 | 104 | then: |
| 100 | 105 | properties: |
| @@ -4,7 +4,7 @@ Clock control registers reside in different Hi6220 system controllers, · 3 unmodified lines | ||
| 4 | 4 | please refer the following document to know more about the binding rules |
| 5 | 5 | for these system controllers: |
| 6 | 6 | |
| 7 | −Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt | |
| 7 | +Documentation/devicetree/bindings/arm/hisilicon/hisilicon.yaml | |
| 8 | 8 | |
| 9 | 9 | Required Properties: |
| 10 | 10 | |
| @@ -57,7 +57,7 @@ examples: · 56 unmodified lines | ||
| 57 | 57 | }; |
| 58 | 58 | |
| 59 | 59 | can@53fc8000 { |
| 60 | − compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; | |
| 60 | + compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan"; | |
| 61 | 61 | reg = <0x53fc8000 0x4000>; |
| 62 | 62 | interrupts = <82>; |
| 63 | 63 | clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>; |
| @@ -0,0 +1,93 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/clock/qcom,dispcc-sm8x50.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Qualcomm Display Clock & Reset Controller Binding for SM8150/SM8250 | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Jonathan Marek <jonathan@marek.ca> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + Qualcomm display clock control module which supports the clocks, resets and | |
| 14 | + power domains on SM8150 and SM8250. | |
| 15 | + | |
| 16 | + See also: | |
| 17 | + dt-bindings/clock/qcom,dispcc-sm8150.h | |
| 18 | + dt-bindings/clock/qcom,dispcc-sm8250.h | |
| 19 | + | |
| 20 | +properties: | |
| 21 | + compatible: | |
| 22 | + enum: | |
| 23 | + - qcom,sm8150-dispcc | |
| 24 | + - qcom,sm8250-dispcc | |
| 25 | + | |
| 26 | + clocks: | |
| 27 | + items: | |
| 28 | + - description: Board XO source | |
| 29 | + - description: Byte clock from DSI PHY0 | |
| 30 | + - description: Pixel clock from DSI PHY0 | |
| 31 | + - description: Byte clock from DSI PHY1 | |
| 32 | + - description: Pixel clock from DSI PHY1 | |
| 33 | + - description: Link clock from DP PHY | |
| 34 | + - description: VCO DIV clock from DP PHY | |
| 35 | + | |
| 36 | + clock-names: | |
| 37 | + items: | |
| 38 | + - const: bi_tcxo | |
| 39 | + - const: dsi0_phy_pll_out_byteclk | |
| 40 | + - const: dsi0_phy_pll_out_dsiclk | |
| 41 | + - const: dsi1_phy_pll_out_byteclk | |
| 42 | + - const: dsi1_phy_pll_out_dsiclk | |
| 43 | + - const: dp_phy_pll_link_clk | |
| 44 | + - const: dp_phy_pll_vco_div_clk | |
| 45 | + | |
| 46 | + '#clock-cells': | |
| 47 | + const: 1 | |
| 48 | + | |
| 49 | + '#reset-cells': | |
| 50 | + const: 1 | |
| 51 | + | |
| 52 | + '#power-domain-cells': | |
| 53 | + const: 1 | |
| 54 | + | |
| 55 | + reg: | |
| 56 | + maxItems: 1 | |
| 57 | + | |
| 58 | +required: | |
| 59 | + - compatible | |
| 60 | + - reg | |
| 61 | + - clocks | |
| 62 | + - clock-names | |
| 63 | + - '#clock-cells' | |
| 64 | + - '#reset-cells' | |
| 65 | + - '#power-domain-cells' | |
| 66 | + | |
| 67 | +additionalProperties: false | |
| 68 | + | |
| 69 | +examples: | |
| 70 | + - | | |
| 71 | + #include <dt-bindings/clock/qcom,rpmh.h> | |
| 72 | + clock-controller@af00000 { | |
| 73 | + compatible = "qcom,sm8250-dispcc"; | |
| 74 | + reg = <0x0af00000 0x10000>; | |
| 75 | + clocks = <&rpmhcc RPMH_CXO_CLK>, | |
| 76 | + <&dsi0_phy 0>, | |
| 77 | + <&dsi0_phy 1>, | |
| 78 | + <&dsi1_phy 0>, | |
| 79 | + <&dsi1_phy 1>, | |
| 80 | + <&dp_phy 0>, | |
| 81 | + <&dp_phy 1>; | |
| 82 | + clock-names = "bi_tcxo", | |
| 83 | + "dsi0_phy_pll_out_byteclk", | |
| 84 | + "dsi0_phy_pll_out_dsiclk", | |
| 85 | + "dsi1_phy_pll_out_byteclk", | |
| 86 | + "dsi1_phy_pll_out_dsiclk", | |
| 87 | + "dp_phy_pll_link_clk", | |
| 88 | + "dp_phy_pll_vco_div_clk"; | |
| 89 | + #clock-cells = <1>; | |
| 90 | + #reset-cells = <1>; | |
| 91 | + #power-domain-cells = <1>; | |
| 92 | + }; | |
| 93 | +... | |
| @@ -1,65 +0,0 @@ | ||
| 1 | −# SPDX-License-Identifier: GPL-2.0-only | |
| 2 | −%YAML 1.2 | |
| 3 | −--- | |
| 4 | −$id: http://devicetree.org/schemas/clock/qcom,sc7180-videocc.yaml# | |
| 5 | −$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | − | |
| 7 | −title: Qualcomm Video Clock & Reset Controller Binding for SC7180 | |
| 8 | − | |
| 9 | −maintainers: | |
| 10 | − - Taniya Das <tdas@codeaurora.org> | |
| 11 | − | |
| 12 | −description: | | |
| 13 | − Qualcomm video clock control module which supports the clocks, resets and | |
| 14 | − power domains on SC7180. | |
| 15 | − | |
| 16 | − See also dt-bindings/clock/qcom,videocc-sc7180.h. | |
| 17 | − | |
| 18 | −properties: | |
| 19 | − compatible: | |
| 20 | − const: qcom,sc7180-videocc | |
| 21 | − | |
| 22 | − clocks: | |
| 23 | − items: | |
| 24 | − - description: Board XO source | |
| 25 | − | |
| 26 | − clock-names: | |
| 27 | − items: | |
| 28 | − - const: bi_tcxo | |
| 29 | − | |
| 30 | − '#clock-cells': | |
| 31 | − const: 1 | |
| 32 | − | |
| 33 | − '#reset-cells': | |
| 34 | − const: 1 | |
| 35 | − | |
| 36 | − '#power-domain-cells': | |
| 37 | − const: 1 | |
| 38 | − | |
| 39 | − reg: | |
| 40 | − maxItems: 1 | |
| 41 | − | |
| 42 | −required: | |
| 43 | − - compatible | |
| 44 | − - reg | |
| 45 | − - clocks | |
| 46 | − - clock-names | |
| 47 | − - '#clock-cells' | |
| 48 | − - '#reset-cells' | |
| 49 | − - '#power-domain-cells' | |
| 50 | − | |
| 51 | −additionalProperties: false | |
| 52 | − | |
| 53 | −examples: | |
| 54 | − - | | |
| 55 | − #include <dt-bindings/clock/qcom,rpmh.h> | |
| 56 | − clock-controller@ab00000 { | |
| 57 | − compatible = "qcom,sc7180-videocc"; | |
| 58 | − reg = <0x0ab00000 0x10000>; | |
| 59 | − clocks = <&rpmhcc RPMH_CXO_CLK>; | |
| 60 | − clock-names = "bi_tcxo"; | |
| 61 | − #clock-cells = <1>; | |
| 62 | − #reset-cells = <1>; | |
| 63 | − #power-domain-cells = <1>; | |
| 64 | − }; | |
| 65 | −... | |
| @@ -1,23 +1,31 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | 2 | %YAML 1.2 |
| 3 | 3 | --- |
| 4 | −$id: http://devicetree.org/schemas/clock/qcom,sdm845-videocc.yaml# | |
| 4 | +$id: http://devicetree.org/schemas/clock/qcom,videocc.yaml# | |
| 5 | 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | 6 | |
| 7 | −title: Qualcomm Video Clock & Reset Controller Binding for SDM845 | |
| 7 | +title: Qualcomm Video Clock & Reset Controller Binding | |
| 8 | 8 | |
| 9 | 9 | maintainers: |
| 10 | 10 | - Taniya Das <tdas@codeaurora.org> |
| 11 | 11 | |
| 12 | 12 | description: | |
| 13 | 13 | Qualcomm video clock control module which supports the clocks, resets and |
| 14 | − power domains on SDM845. | |
| 14 | + power domains on SDM845/SC7180/SM8150/SM8250. | |
| 15 | 15 | |
| 16 | − See also dt-bindings/clock/qcom,videocc-sdm845.h. | |
| 16 | + See also: | |
| 17 | + dt-bindings/clock/qcom,videocc-sc7180.h | |
| 18 | + dt-bindings/clock/qcom,videocc-sdm845.h | |
| 19 | + dt-bindings/clock/qcom,videocc-sm8150.h | |
| 20 | + dt-bindings/clock/qcom,videocc-sm8250.h | |
| 17 | 21 | |
| 18 | 22 | properties: |
| 19 | 23 | compatible: |
| 20 | − const: qcom,sdm845-videocc | |
| 24 | + enum: | |
| 25 | + - qcom,sc7180-videocc | |
| 26 | + - qcom,sdm845-videocc | |
| 27 | + - qcom,sm8150-videocc | |
| 28 | + - qcom,sm8250-videocc | |
| 21 | 29 | |
| 22 | 30 | clocks: |
| 23 | 31 | items: |
| @@ -47,6 +47,7 @@ properties: · 46 unmodified lines | ||
| 47 | 47 | - renesas,r8a77980-cpg-mssr # R-Car V3H |
| 48 | 48 | - renesas,r8a77990-cpg-mssr # R-Car E3 |
| 49 | 49 | - renesas,r8a77995-cpg-mssr # R-Car D3 |
| 50 | + - renesas,r8a779a0-cpg-mssr # R-Car V3U | |
| 50 | 51 | |
| 51 | 52 | reg: |
| 52 | 53 | maxItems: 1 |
| @@ -23,7 +23,9 @@ properties: · 22 unmodified lines | ||
| 23 | 23 | - items: |
| 24 | 24 | - const: allwinner,sun7i-a20-crypto |
| 25 | 25 | - const: allwinner,sun4i-a10-crypto |
| 26 | + - const: allwinner,sun8i-a33-crypto | |
| 26 | 27 | - items: |
| 28 | + - const: allwinner,sun8i-v3s-crypto | |
| 27 | 29 | - const: allwinner,sun8i-a33-crypto |
| 28 | 30 | |
| 29 | 31 | reg: |
| @@ -59,7 +61,9 @@ if: · 29 unmodified lines | ||
| 59 | 61 | properties: |
| 60 | 62 | compatible: |
| 61 | 63 | contains: |
| 62 | − const: allwinner,sun6i-a31-crypto | |
| 64 | + enum: | |
| 65 | + - allwinner,sun6i-a31-crypto | |
| 66 | + - allwinner,sun8i-a33-crypto | |
| 63 | 67 | |
| 64 | 68 | then: |
| 65 | 69 | required: |
| @@ -7,17 +7,17 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# · 6 unmodified lines | ||
| 7 | 7 | title: Toshiba TC358775 DSI to LVDS bridge bindings |
| 8 | 8 | |
| 9 | 9 | maintainers: |
| 10 | − - Vinay Simha BN <simhavcs@gmail.com> | |
| 10 | + - Vinay Simha BN <simhavcs@gmail.com> | |
| 11 | 11 | |
| 12 | 12 | description: | |
| 13 | − This binding supports DSI to LVDS bridge TC358775 | |
| 13 | + This binding supports DSI to LVDS bridge TC358775 | |
| 14 | 14 | |
| 15 | − MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane. | |
| 16 | − Video frame size: | |
| 17 | − Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel | |
| 18 | − limited by 135 MHz LVDS speed | |
| 19 | − Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display | |
| 20 | − panel, limited by 270 MHz LVDS speed. | |
| 15 | + MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane. | |
| 16 | + Video frame size: | |
| 17 | + Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel | |
| 18 | + limited by 135 MHz LVDS speed | |
| 19 | + Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display | |
| 20 | + panel, limited by 270 MHz LVDS speed. | |
| 21 | 21 | |
| 22 | 22 | properties: |
| 23 | 23 | compatible: |
| @@ -29,7 +29,7 @@ properties: · 5 unmodified lines | ||
| 29 | 29 | |
| 30 | 30 | vdd-supply: |
| 31 | 31 | maxItems: 1 |
| 32 | − description: 1.2V LVDS Power Supply | |
| 32 | + description: 1.2V LVDS Power Supply | |
| 33 | 33 | |
| 34 | 34 | vddio-supply: |
| 35 | 35 | maxItems: 1 |
| @@ -77,16 +77,18 @@ properties: · 41 unmodified lines | ||
| 77 | 77 | - port@1 |
| 78 | 78 | |
| 79 | 79 | required: |
| 80 | − - compatible | |
| 81 | − - reg | |
| 82 | − - vdd-supply | |
| 83 | − - vddio-supply | |
| 84 | − - stby-gpios | |
| 85 | − - reset-gpios | |
| 86 | − - ports | |
| 80 | + - compatible | |
| 81 | + - reg | |
| 82 | + - vdd-supply | |
| 83 | + - vddio-supply | |
| 84 | + - stby-gpios | |
| 85 | + - reset-gpios | |
| 86 | + - ports | |
| 87 | + | |
| 88 | +additionalProperties: false | |
| 87 | 89 | |
| 88 | 90 | examples: |
| 89 | − - | | |
| 91 | + - | | |
| 90 | 92 | #include <dt-bindings/gpio/gpio.h> |
| 91 | 93 | |
| 92 | 94 | /* For single-link LVDS display panel */ |
| @@ -147,7 +149,7 @@ examples: · 54 unmodified lines | ||
| 147 | 149 | }; |
| 148 | 150 | }; |
| 149 | 151 | |
| 150 | − - | | |
| 152 | + - | | |
| 151 | 153 | /* For dual-link LVDS display panel */ |
| 152 | 154 | |
| 153 | 155 | i2c@78b8000 { |
| @@ -13,9 +13,8 @@ properties: · 12 unmodified lines | ||
| 13 | 13 | compatible: |
| 14 | 14 | items: |
| 15 | 15 | - enum: |
| 16 | − - bananapi,lhr050h41 | |
| 17 | − - feixin,k101-im2byl02 | |
| 18 | − | |
| 16 | + - bananapi,lhr050h41 | |
| 17 | + - feixin,k101-im2byl02 | |
| 19 | 18 | - const: ilitek,ili9881c |
| 20 | 19 | |
| 21 | 20 | backlight: true |
| @@ -37,6 +37,9 @@ properties: · 36 unmodified lines | ||
| 37 | 37 | |
| 38 | 38 | reset-gpios: true |
| 39 | 39 | |
| 40 | + 'mantix,tp-rstn-gpios': | |
| 41 | + description: second reset line that triggers DSI config load | |
| 42 | + | |
| 40 | 43 | backlight: true |
| 41 | 44 | |
| 42 | 45 | required: |
| @@ -63,6 +66,7 @@ examples: · 20 unmodified lines | ||
| 63 | 66 | avee-supply = <®_avee>; |
| 64 | 67 | vddi-supply = <®_1v8_p>; |
| 65 | 68 | reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; |
| 69 | + mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; | |
| 66 | 70 | backlight = <&backlight>; |
| 67 | 71 | }; |
| 68 | 72 | }; |
| @@ -37,7 +37,7 @@ Optional nodes: · 36 unmodified lines | ||
| 37 | 37 | supports a single port with a single endpoint. |
| 38 | 38 | |
| 39 | 39 | - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and |
| 40 | − Documentation/devicetree/bindings/display/bridge/ti,tfp410.txt for connecting | |
| 40 | + Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml for connecting | |
| 41 | 41 | tfp410 DVI encoder or lcd panel to lcdc |
| 42 | 42 | |
| 43 | 43 | [1] There is an errata about AM335x color wiring. For 16-bit color mode |
| @@ -19,9 +19,12 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | description: The cell is the request line number. |
| 20 | 20 | |
| 21 | 21 | compatible: |
| 22 | − enum: | |
| 23 | − - allwinner,sun50i-a64-dma | |
| 24 | − - allwinner,sun50i-h6-dma | |
| 22 | + oneOf: | |
| 23 | + - const: allwinner,sun50i-a64-dma | |
| 24 | + - const: allwinner,sun50i-h6-dma | |
| 25 | + - items: | |
| 26 | + - const: allwinner,sun8i-r40-dma | |
| 27 | + - const: allwinner,sun50i-a64-dma | |
| 25 | 28 | |
| 26 | 29 | reg: |
| 27 | 30 | maxItems: 1 |
| @@ -48,6 +48,7 @@ required: · 47 unmodified lines | ||
| 48 | 48 | - "#address-cells" |
| 49 | 49 | - "#size-cells" |
| 50 | 50 | |
| 51 | +additionalProperties: false | |
| 51 | 52 | |
| 52 | 53 | examples: |
| 53 | 54 | - | |
| @@ -114,6 +114,9 @@ properties: · 113 unmodified lines | ||
| 114 | 114 | - const: renesas,r1ex24128 |
| 115 | 115 | - const: atmel,24c128 |
| 116 | 116 | |
| 117 | + label: | |
| 118 | + description: Descriptive name of the EEPROM. | |
| 119 | + | |
| 117 | 120 | reg: |
| 118 | 121 | maxItems: 1 |
| 119 | 122 | |
| @@ -81,14 +81,14 @@ properties: · 80 unmodified lines | ||
| 81 | 81 | at25,byte-len: |
| 82 | 82 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 83 | 83 | description: |
| 84 | − Total eeprom size in bytes. Deprecated, use "size" property instead. | |
| 84 | + Total eeprom size in bytes. Deprecated, use "size" property instead. | |
| 85 | 85 | deprecated: true |
| 86 | 86 | |
| 87 | 87 | at25,addr-mode: |
| 88 | 88 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 89 | 89 | description: |
| 90 | − Addr-mode flags, as defined in include/linux/spi/eeprom.h. | |
| 91 | − Deprecated, use "address-width" property instead. | |
| 90 | + Addr-mode flags, as defined in include/linux/spi/eeprom.h. | |
| 91 | + Deprecated, use "address-width" property instead. | |
| 92 | 92 | deprecated: true |
| 93 | 93 | |
| 94 | 94 | at25,page-size: |
| @@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines | ||
| 7 | 7 | For Tegra132 must contain "nvidia,tegra132-efuse", "nvidia,tegra124-efuse". |
| 8 | 8 | For Tegra210 must contain "nvidia,tegra210-efuse". For Tegra186 must contain |
| 9 | 9 | "nvidia,tegra186-efuse". For Tegra194 must contain "nvidia,tegra194-efuse". |
| 10 | + For Tegra234 must contain "nvidia,tegra234-efuse". | |
| 10 | 11 | Details: |
| 11 | 12 | nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data |
| 12 | 13 | due to a hardware bug. Tegra20 also lacks certain information which is |
| @@ -43,8 +43,8 @@ properties: · 42 unmodified lines | ||
| 43 | 43 | gpio-controller: true |
| 44 | 44 | |
| 45 | 45 | gpio-line-names: |
| 46 | − minItems: 1 | |
| 47 | − maxItems: 8 | |
| 46 | + minItems: 1 | |
| 47 | + maxItems: 8 | |
| 48 | 48 | |
| 49 | 49 | required: |
| 50 | 50 | - compatible |
| @@ -25,6 +25,7 @@ properties: · 24 unmodified lines | ||
| 25 | 25 | - allwinner,sun4i-a10-mali |
| 26 | 26 | - allwinner,sun7i-a20-mali |
| 27 | 27 | - allwinner,sun8i-h3-mali |
| 28 | + - allwinner,sun8i-r40-mali | |
| 28 | 29 | - allwinner,sun50i-a64-mali |
| 29 | 30 | - rockchip,rk3036-mali |
| 30 | 31 | - rockchip,rk3066-mali |
| @@ -131,6 +132,7 @@ allOf: · 100 unmodified lines | ||
| 131 | 132 | enum: |
| 132 | 133 | - allwinner,sun4i-a10-mali |
| 133 | 134 | - allwinner,sun7i-a20-mali |
| 135 | + - allwinner,sun8i-r40-mali | |
| 134 | 136 | - allwinner,sun50i-a64-mali |
| 135 | 137 | - allwinner,sun50i-h5-mali |
| 136 | 138 | - amlogic,meson8-mali |
| @@ -0,0 +1,66 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | + | |
| 5 | +$id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml# | |
| 6 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 7 | + | |
| 8 | +title: I2C bus that tunnels through the ChromeOS EC (cros-ec) | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Doug Anderson <dianders@chromium.org> | |
| 12 | + - Benson Leung <bleung@chromium.org> | |
| 13 | + - Enric Balletbo i Serra <enric.balletbo@collabora.com> | |
| 14 | + | |
| 15 | +description: | | |
| 16 | + On some ChromeOS board designs we've got a connection to the EC | |
| 17 | + (embedded controller) but no direct connection to some devices on the | |
| 18 | + other side of the EC (like a battery and PMIC). To get access to | |
| 19 | + those devices we need to tunnel our i2c commands through the EC. | |
| 20 | + | |
| 21 | + The node for this device should be under a cros-ec node like | |
| 22 | + google,cros-ec-spi or google,cros-ec-i2c. | |
| 23 | + | |
| 24 | +allOf: | |
| 25 | + - $ref: i2c-controller.yaml# | |
| 26 | + | |
| 27 | +properties: | |
| 28 | + compatible: | |
| 29 | + const: google,cros-ec-i2c-tunnel | |
| 30 | + | |
| 31 | + google,remote-bus: | |
| 32 | + description: The EC bus we'd like to talk to. | |
| 33 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 34 | + | |
| 35 | +required: | |
| 36 | + - compatible | |
| 37 | + - google,remote-bus | |
| 38 | + | |
| 39 | +unevaluatedProperties: false | |
| 40 | + | |
| 41 | +examples: | |
| 42 | + - | | |
| 43 | + spi0 { | |
| 44 | + #address-cells = <1>; | |
| 45 | + #size-cells = <0>; | |
| 46 | + | |
| 47 | + cros-ec@0 { | |
| 48 | + compatible = "google,cros-ec-spi"; | |
| 49 | + reg = <0>; | |
| 50 | + spi-max-frequency = <5000000>; | |
| 51 | + | |
| 52 | + i2c-tunnel { | |
| 53 | + compatible = "google,cros-ec-i2c-tunnel"; | |
| 54 | + #address-cells = <1>; | |
| 55 | + #size-cells = <0>; | |
| 56 | + | |
| 57 | + google,remote-bus = <0>; | |
| 58 | + | |
| 59 | + battery: sbs-battery@b { | |
| 60 | + compatible = "sbs,sbs-battery"; | |
| 61 | + reg = <0xb>; | |
| 62 | + sbs,poll-retry-count = <1>; | |
| 63 | + }; | |
| 64 | + }; | |
| 65 | + }; | |
| 66 | + }; | |
| @@ -1,39 +0,0 @@ | ||
| 1 | −I2C bus that tunnels through the ChromeOS EC (cros-ec) | |
| 2 | −====================================================== | |
| 3 | −On some ChromeOS board designs we've got a connection to the EC (embedded | |
| 4 | −controller) but no direct connection to some devices on the other side of | |
| 5 | −the EC (like a battery and PMIC). To get access to those devices we need | |
| 6 | −to tunnel our i2c commands through the EC. | |
| 7 | − | |
| 8 | −The node for this device should be under a cros-ec node like google,cros-ec-spi | |
| 9 | −or google,cros-ec-i2c. | |
| 10 | − | |
| 11 | − | |
| 12 | −Required properties: | |
| 13 | −- compatible: google,cros-ec-i2c-tunnel | |
| 14 | −- google,remote-bus: The EC bus we'd like to talk to. | |
| 15 | − | |
| 16 | −Optional child nodes: | |
| 17 | −- One node per I2C device connected to the tunnelled I2C bus. | |
| 18 | − | |
| 19 | − | |
| 20 | −Example: | |
| 21 | − cros-ec@0 { | |
| 22 | − compatible = "google,cros-ec-spi"; | |
| 23 | − | |
| 24 | − ... | |
| 25 | − | |
| 26 | − i2c-tunnel { | |
| 27 | − compatible = "google,cros-ec-i2c-tunnel"; | |
| 28 | − #address-cells = <1>; | |
| 29 | − #size-cells = <0>; | |
| 30 | − | |
| 31 | − google,remote-bus = <0>; | |
| 32 | − | |
| 33 | − battery: sbs-battery@b { | |
| 34 | − compatible = "sbs,sbs-battery"; | |
| 35 | − reg = <0xb>; | |
| 36 | − sbs,poll-retry-count = <1>; | |
| 37 | − }; | |
| 38 | − }; | |
| 39 | − } | |
| @@ -9,12 +9,18 @@ title: Freescale Low Power Inter IC (LPI2C) for i.MX · 8 unmodified lines | ||
| 9 | 9 | maintainers: |
| 10 | 10 | - Anson Huang <Anson.Huang@nxp.com> |
| 11 | 11 | |
| 12 | +allOf: | |
| 13 | + - $ref: /schemas/i2c/i2c-controller.yaml# | |
| 14 | + | |
| 12 | 15 | properties: |
| 13 | 16 | compatible: |
| 14 | − enum: | |
| 15 | − - fsl,imx7ulp-lpi2c | |
| 16 | − - fsl,imx8qxp-lpi2c | |
| 17 | − - fsl,imx8qm-lpi2c | |
| 17 | + oneOf: | |
| 18 | + - enum: | |
| 19 | + - fsl,imx7ulp-lpi2c | |
| 20 | + - fsl,imx8qm-lpi2c | |
| 21 | + - items: | |
| 22 | + - const: fsl,imx8qxp-lpi2c | |
| 23 | + - const: fsl,imx7ulp-lpi2c | |
| 18 | 24 | |
| 19 | 25 | reg: |
| 20 | 26 | maxItems: 1 |
| @@ -22,23 +28,34 @@ properties: · 1 unmodified line | ||
| 22 | 28 | interrupts: |
| 23 | 29 | maxItems: 1 |
| 24 | 30 | |
| 31 | + assigned-clock-parents: true | |
| 32 | + assigned-clock-rates: true | |
| 33 | + assigned-clocks: true | |
| 34 | + clock-frequency: true | |
| 35 | + | |
| 36 | + clock-names: | |
| 37 | + maxItems: 1 | |
| 38 | + | |
| 25 | 39 | clocks: |
| 26 | 40 | maxItems: 1 |
| 27 | 41 | |
| 42 | + power-domains: | |
| 43 | + maxItems: 1 | |
| 44 | + | |
| 28 | 45 | required: |
| 29 | 46 | - compatible |
| 30 | 47 | - reg |
| 31 | 48 | - interrupts |
| 32 | 49 | - clocks |
| 33 | 50 | |
| 34 | −additionalProperties: false | |
| 51 | +unevaluatedProperties: false | |
| 35 | 52 | |
| 36 | 53 | examples: |
| 37 | 54 | - | |
| 38 | 55 | #include <dt-bindings/clock/imx7ulp-clock.h> |
| 39 | 56 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 40 | 57 | |
| 41 | − lpi2c7@40a50000 { | |
| 58 | + i2c@40a50000 { | |
| 42 | 59 | compatible = "fsl,imx7ulp-lpi2c"; |
| 43 | 60 | reg = <0x40A50000 0x10000>; |
| 44 | 61 | interrupt-parent = <&intc>; |
| @@ -9,6 +9,9 @@ title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX · 8 unmodified lines | ||
| 9 | 9 | maintainers: |
| 10 | 10 | - Wolfram Sang <wolfram@the-dreams.de> |
| 11 | 11 | |
| 12 | +allOf: | |
| 13 | + - $ref: /schemas/i2c/i2c-controller.yaml# | |
| 14 | + | |
| 12 | 15 | properties: |
| 13 | 16 | compatible: |
| 14 | 17 | oneOf: |
| @@ -18,6 +21,9 @@ properties: · 3 unmodified lines | ||
| 18 | 21 | - items: |
| 19 | 22 | - const: fsl,imx35-i2c |
| 20 | 23 | - const: fsl,imx1-i2c |
| 24 | + - items: | |
| 25 | + - const: fsl,imx7d-i2c | |
| 26 | + - const: fsl,imx21-i2c | |
| 21 | 27 | - items: |
| 22 | 28 | - enum: |
| 23 | 29 | - fsl,imx25-i2c |
| @@ -75,7 +81,7 @@ required: · 51 unmodified lines | ||
| 75 | 81 | - interrupts |
| 76 | 82 | - clocks |
| 77 | 83 | |
| 78 | −additionalProperties: false | |
| 84 | +unevaluatedProperties: false | |
| 79 | 85 | |
| 80 | 86 | examples: |
| 81 | 87 | - | |
| @@ -87,6 +87,11 @@ wants to support one of the below features, it should adapt these bindings. · 86 unmodified lines | ||
| 87 | 87 | this information to detect a stalled bus more reliably, for example. |
| 88 | 88 | Can not be combined with 'multi-master'. |
| 89 | 89 | |
| 90 | +- smbus | |
| 91 | + states that additional SMBus restrictions and features apply to this bus. | |
| 92 | + Examples of features are SMBusHostNotify and SMBusAlert. Examples of | |
| 93 | + restrictions are more reserved addresses and timeout definitions. | |
| 94 | + | |
| 90 | 95 | Required properties (per child device) |
| 91 | 96 | -------------------------------------- |
| 92 | 97 | |
| @@ -17,9 +17,13 @@ properties: · 16 unmodified lines | ||
| 17 | 17 | pattern: "^i2c@[0-9a-f]+$" |
| 18 | 18 | |
| 19 | 19 | compatible: |
| 20 | − enum: | |
| 21 | − - ingenic,jz4780-i2c | |
| 22 | − - ingenic,x1000-i2c | |
| 20 | + oneOf: | |
| 21 | + - enum: | |
| 22 | + - ingenic,jz4770-i2c | |
| 23 | + - ingenic,x1000-i2c | |
| 24 | + - items: | |
| 25 | + - const: ingenic,jz4780-i2c | |
| 26 | + - const: ingenic,jz4770-i2c | |
| 23 | 27 | |
| 24 | 28 | reg: |
| 25 | 29 | maxItems: 1 |
| @@ -60,7 +64,7 @@ examples: · 34 unmodified lines | ||
| 60 | 64 | #include <dt-bindings/dma/jz4780-dma.h> |
| 61 | 65 | #include <dt-bindings/interrupt-controller/irq.h> |
| 62 | 66 | i2c@10054000 { |
| 63 | − compatible = "ingenic,jz4780-i2c"; | |
| 67 | + compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c"; | |
| 64 | 68 | #address-cells = <1>; |
| 65 | 69 | #size-cells = <0>; |
| 66 | 70 | reg = <0x10054000 0x1000>; |
| @@ -0,0 +1,42 @@ | ||
| 1 | +Device tree configuration for the Mellanox I2C SMBus on BlueField SoCs | |
| 2 | + | |
| 3 | +Required Properties: | |
| 4 | + | |
| 5 | +- compatible : should be "mellanox,i2c-mlxbf1" or "mellanox,i2c-mlxbf2". | |
| 6 | + | |
| 7 | +- reg : address offset and length of the device registers. The | |
| 8 | + registers consist of the following set of resources: | |
| 9 | + 1) Smbus block registers. | |
| 10 | + 2) Cause master registers. | |
| 11 | + 3) Cause slave registers. | |
| 12 | + 4) Cause coalesce registers (if compatible isn't set | |
| 13 | + to "mellanox,i2c-mlxbf1"). | |
| 14 | + | |
| 15 | +- interrupts : interrupt number. | |
| 16 | + | |
| 17 | +Optional Properties: | |
| 18 | + | |
| 19 | +- clock-frequency : bus frequency used to configure timing registers; | |
| 20 | + allowed values are 100000, 400000 and 1000000; | |
| 21 | + those are expressed in Hz. Default is 100000. | |
| 22 | + | |
| 23 | +Example: | |
| 24 | + | |
| 25 | +i2c@2804000 { | |
| 26 | + compatible = "mellanox,i2c-mlxbf1"; | |
| 27 | + reg = <0x02804000 0x800>, | |
| 28 | + <0x02801200 0x020>, | |
| 29 | + <0x02801260 0x020>; | |
| 30 | + interrupts = <57>; | |
| 31 | + clock-frequency = <100000>; | |
| 32 | +}; | |
| 33 | + | |
| 34 | +i2c@2808800 { | |
| 35 | + compatible = "mellanox,i2c-mlxbf2"; | |
| 36 | + reg = <0x02808800 0x600>, | |
| 37 | + <0x02808e00 0x020>, | |
| 38 | + <0x02808e20 0x020>, | |
| 39 | + <0x02808e40 0x010>; | |
| 40 | + interrupts = <57>; | |
| 41 | + clock-frequency = <400000>; | |
| 42 | +}; | |
| @@ -43,4 +43,5 @@ examples: · 42 unmodified lines | ||
| 43 | 43 | vref-supply = <&adc_vref>; |
| 44 | 44 | }; |
| 45 | 45 | }; |
| 46 | −... | |
| 46 | +... | |
| 47 | + | |
| @@ -46,7 +46,8 @@ properties: · 45 unmodified lines | ||
| 46 | 46 | spi-max-frequency: true |
| 47 | 47 | |
| 48 | 48 | spi-cpol: true |
| 49 | − spi-cpha : true | |
| 49 | + | |
| 50 | + spi-cpha: true | |
| 50 | 51 | |
| 51 | 52 | "#io-channel-cells": |
| 52 | 53 | const: 1 |
| @@ -22,8 +22,8 @@ properties: · 21 unmodified lines | ||
| 22 | 22 | adc-reserved-channels: |
| 23 | 23 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 24 | 24 | description: |
| 25 | − Bitmask of reserved channels, i.e. channels that cannot be | |
| 26 | − used by the OS. | |
| 25 | + Bitmask of reserved channels, i.e. channels that cannot be | |
| 26 | + used by the OS. | |
| 27 | 27 | |
| 28 | 28 | clocks: |
| 29 | 29 | maxItems: 1 |
| @@ -21,7 +21,7 @@ properties: · 20 unmodified lines | ||
| 21 | 21 | |
| 22 | 22 | gpios: |
| 23 | 23 | description: |
| 24 | − GPIO used for controlling the reset pin | |
| 24 | + GPIO used for controlling the reset pin | |
| 25 | 25 | maxItems: 1 |
| 26 | 26 | |
| 27 | 27 | spi-max-frequency: true |
| @@ -28,6 +28,8 @@ required: · 27 unmodified lines | ||
| 28 | 28 | - reg |
| 29 | 29 | - vref-supply |
| 30 | 30 | |
| 31 | +additionalProperties: false | |
| 32 | + | |
| 31 | 33 | examples: |
| 32 | 34 | - | |
| 33 | 35 | i2c { |
| @@ -32,6 +32,8 @@ required: · 31 unmodified lines | ||
| 32 | 32 | - compatible |
| 33 | 33 | - reg |
| 34 | 34 | |
| 35 | +additionalProperties: false | |
| 36 | + | |
| 35 | 37 | examples: |
| 36 | 38 | - | |
| 37 | 39 | i2c0 { |
| @@ -0,0 +1,121 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | +# Copyright 2019-2020 Artur Rojek | |
| 3 | +%YAML 1.2 | |
| 4 | +--- | |
| 5 | +$id: "http://devicetree.org/schemas/input/adc-joystick.yaml#" | |
| 6 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 7 | + | |
| 8 | +title: ADC attached joystick | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Artur Rojek <contact@artur-rojek.eu> | |
| 12 | + | |
| 13 | +description: > | |
| 14 | + Bindings for joystick devices connected to ADC controllers supporting | |
| 15 | + the Industrial I/O subsystem. | |
| 16 | + | |
| 17 | +properties: | |
| 18 | + compatible: | |
| 19 | + const: adc-joystick | |
| 20 | + | |
| 21 | + io-channels: | |
| 22 | + minItems: 1 | |
| 23 | + maxItems: 1024 | |
| 24 | + description: > | |
| 25 | + List of phandle and IIO specifier pairs. | |
| 26 | + Each pair defines one ADC channel to which a joystick axis is connected. | |
| 27 | + See Documentation/devicetree/bindings/iio/iio-bindings.txt for details. | |
| 28 | + | |
| 29 | + '#address-cells': | |
| 30 | + const: 1 | |
| 31 | + | |
| 32 | + '#size-cells': | |
| 33 | + const: 0 | |
| 34 | + | |
| 35 | +required: | |
| 36 | + - compatible | |
| 37 | + - io-channels | |
| 38 | + - '#address-cells' | |
| 39 | + - '#size-cells' | |
| 40 | + | |
| 41 | +additionalProperties: false | |
| 42 | + | |
| 43 | +patternProperties: | |
| 44 | + "^axis@[0-9a-f]+$": | |
| 45 | + type: object | |
| 46 | + description: > | |
| 47 | + Represents a joystick axis bound to the given ADC channel. | |
| 48 | + For each entry in the io-channels list, one axis subnode with a matching | |
| 49 | + reg property must be specified. | |
| 50 | + | |
| 51 | + properties: | |
| 52 | + reg: | |
| 53 | + minimum: 0 | |
| 54 | + maximum: 1023 | |
| 55 | + description: Index of an io-channels list entry bound to this axis. | |
| 56 | + | |
| 57 | + linux,code: | |
| 58 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 59 | + description: EV_ABS specific event code generated by the axis. | |
| 60 | + | |
| 61 | + abs-range: | |
| 62 | + allOf: | |
| 63 | + - $ref: /schemas/types.yaml#/definitions/uint32-array | |
| 64 | + - items: | |
| 65 | + - description: minimum value | |
| 66 | + - description: maximum value | |
| 67 | + description: > | |
| 68 | + Minimum and maximum values produced by the axis. | |
| 69 | + For an ABS_X axis this will be the left-most and right-most | |
| 70 | + inclination of the joystick. If min > max, it is left to userspace to | |
| 71 | + treat the axis as inverted. | |
| 72 | + This property is interpreted as two signed 32 bit values. | |
| 73 | + | |
| 74 | + abs-fuzz: | |
| 75 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 76 | + description: > | |
| 77 | + Amount of noise in the input value. | |
| 78 | + Omitting this property indicates the axis is precise. | |
| 79 | + | |
| 80 | + abs-flat: | |
| 81 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 82 | + description: > | |
| 83 | + Axial "deadzone", or area around the center position, where the axis | |
| 84 | + is considered to be at rest. | |
| 85 | + Omitting this property indicates the axis always returns to exactly | |
| 86 | + the center position. | |
| 87 | + | |
| 88 | + required: | |
| 89 | + - reg | |
| 90 | + - linux,code | |
| 91 | + - abs-range | |
| 92 | + | |
| 93 | + additionalProperties: false | |
| 94 | + | |
| 95 | +examples: | |
| 96 | + - | | |
| 97 | + #include <dt-bindings/iio/adc/ingenic,adc.h> | |
| 98 | + #include <dt-bindings/input/input.h> | |
| 99 | + | |
| 100 | + joystick: adc-joystick { | |
| 101 | + compatible = "adc-joystick"; | |
| 102 | + io-channels = <&adc INGENIC_ADC_TOUCH_XP>, | |
| 103 | + <&adc INGENIC_ADC_TOUCH_YP>; | |
| 104 | + #address-cells = <1>; | |
| 105 | + #size-cells = <0>; | |
| 106 | + | |
| 107 | + axis@0 { | |
| 108 | + reg = <0>; | |
| 109 | + linux,code = <ABS_X>; | |
| 110 | + abs-range = <3300 0>; | |
| 111 | + abs-fuzz = <4>; | |
| 112 | + abs-flat = <200>; | |
| 113 | + }; | |
| 114 | + axis@1 { | |
| 115 | + reg = <1>; | |
| 116 | + linux,code = <ABS_Y>; | |
| 117 | + abs-range = <0 3300>; | |
| 118 | + abs-fuzz = <4>; | |
| 119 | + abs-flat = <200>; | |
| 120 | + }; | |
| 121 | + }; | |
| @@ -1,72 +0,0 @@ | ||
| 1 | −ChromeOS EC Keyboard | |
| 2 | − | |
| 3 | −Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on | |
| 4 | −a separate EC (Embedded Controller) device. It provides a message for reading | |
| 5 | −key scans from the EC. These are then converted into keycodes for processing | |
| 6 | −by the kernel. | |
| 7 | − | |
| 8 | −This binding is based on matrix-keymap.txt and extends/modifies it as follows: | |
| 9 | − | |
| 10 | −Required properties: | |
| 11 | −- compatible: "google,cros-ec-keyb" | |
| 12 | − | |
| 13 | −Optional properties: | |
| 14 | −- google,needs-ghost-filter: True to enable a ghost filter for the matrix | |
| 15 | −keyboard. This is recommended if the EC does not have its own logic or | |
| 16 | −hardware for this. | |
| 17 | − | |
| 18 | − | |
| 19 | −Example: | |
| 20 | − | |
| 21 | −cros-ec-keyb { | |
| 22 | − compatible = "google,cros-ec-keyb"; | |
| 23 | − keypad,num-rows = <8>; | |
| 24 | − keypad,num-columns = <13>; | |
| 25 | − google,needs-ghost-filter; | |
| 26 | − /* | |
| 27 | − * Keymap entries take the form of 0xRRCCKKKK where | |
| 28 | − * RR=Row CC=Column KKKK=Key Code | |
| 29 | − * The values below are for a US keyboard layout and | |
| 30 | − * are taken from the Linux driver. Note that the | |
| 31 | − * 102ND key is not used for US keyboards. | |
| 32 | − */ | |
| 33 | − linux,keymap = < | |
| 34 | − /* CAPSLCK F1 B F10 */ | |
| 35 | − 0x0001003a 0x0002003b 0x00030030 0x00040044 | |
| 36 | − /* N = R_ALT ESC */ | |
| 37 | − 0x00060031 0x0008000d 0x000a0064 0x01010001 | |
| 38 | − /* F4 G F7 H */ | |
| 39 | − 0x0102003e 0x01030022 0x01040041 0x01060023 | |
| 40 | − /* ' F9 BKSPACE L_CTRL */ | |
| 41 | − 0x01080028 0x01090043 0x010b000e 0x0200001d | |
| 42 | − /* TAB F3 T F6 */ | |
| 43 | − 0x0201000f 0x0202003d 0x02030014 0x02040040 | |
| 44 | − /* ] Y 102ND [ */ | |
| 45 | − 0x0205001b 0x02060015 0x02070056 0x0208001a | |
| 46 | − /* F8 GRAVE F2 5 */ | |
| 47 | − 0x02090042 0x03010029 0x0302003c 0x03030006 | |
| 48 | − /* F5 6 - \ */ | |
| 49 | − 0x0304003f 0x03060007 0x0308000c 0x030b002b | |
| 50 | − /* R_CTRL A D F */ | |
| 51 | − 0x04000061 0x0401001e 0x04020020 0x04030021 | |
| 52 | − /* S K J ; */ | |
| 53 | − 0x0404001f 0x04050025 0x04060024 0x04080027 | |
| 54 | − /* L ENTER Z C */ | |
| 55 | − 0x04090026 0x040b001c 0x0501002c 0x0502002e | |
| 56 | − /* V X , M */ | |
| 57 | − 0x0503002f 0x0504002d 0x05050033 0x05060032 | |
| 58 | − /* L_SHIFT / . SPACE */ | |
| 59 | − 0x0507002a 0x05080035 0x05090034 0x050B0039 | |
| 60 | − /* 1 3 4 2 */ | |
| 61 | − 0x06010002 0x06020004 0x06030005 0x06040003 | |
| 62 | − /* 8 7 0 9 */ | |
| 63 | − 0x06050009 0x06060008 0x0608000b 0x0609000a | |
| 64 | − /* L_ALT DOWN RIGHT Q */ | |
| 65 | − 0x060a0038 0x060b006c 0x060c006a 0x07010010 | |
| 66 | − /* E R W I */ | |
| 67 | − 0x07020012 0x07030013 0x07040011 0x07050017 | |
| 68 | − /* U R_SHIFT P O */ | |
| 69 | − 0x07060016 0x07070036 0x07080019 0x07090018 | |
| 70 | − /* UP LEFT */ | |
| 71 | − 0x070b0067 0x070c0069>; | |
| 72 | −}; | |
| @@ -0,0 +1,92 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | + | |
| 5 | +$id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml# | |
| 6 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 7 | + | |
| 8 | +title: ChromeOS EC Keyboard | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Simon Glass <sjg@chromium.org> | |
| 12 | + - Benson Leung <bleung@chromium.org> | |
| 13 | + - Enric Balletbo i Serra <enric.balletbo@collabora.com> | |
| 14 | + | |
| 15 | +description: | | |
| 16 | + Google's ChromeOS EC Keyboard is a simple matrix keyboard | |
| 17 | + implemented on a separate EC (Embedded Controller) device. It provides | |
| 18 | + a message for reading key scans from the EC. These are then converted | |
| 19 | + into keycodes for processing by the kernel. | |
| 20 | + | |
| 21 | +allOf: | |
| 22 | + - $ref: "/schemas/input/matrix-keymap.yaml#" | |
| 23 | + | |
| 24 | +properties: | |
| 25 | + compatible: | |
| 26 | + const: google,cros-ec-keyb | |
| 27 | + | |
| 28 | + google,needs-ghost-filter: | |
| 29 | + description: | |
| 30 | + Enable a ghost filter for the matrix keyboard. This is recommended | |
| 31 | + if the EC does not have its own logic or hardware for this. | |
| 32 | + type: boolean | |
| 33 | + | |
| 34 | +required: | |
| 35 | + - compatible | |
| 36 | + | |
| 37 | +unevaluatedProperties: false | |
| 38 | + | |
| 39 | +examples: | |
| 40 | + - | | |
| 41 | + cros-ec-keyb { | |
| 42 | + compatible = "google,cros-ec-keyb"; | |
| 43 | + keypad,num-rows = <8>; | |
| 44 | + keypad,num-columns = <13>; | |
| 45 | + google,needs-ghost-filter; | |
| 46 | + /* | |
| 47 | + * Keymap entries take the form of 0xRRCCKKKK where | |
| 48 | + * RR=Row CC=Column KKKK=Key Code | |
| 49 | + * The values below are for a US keyboard layout and | |
| 50 | + * are taken from the Linux driver. Note that the | |
| 51 | + * 102ND key is not used for US keyboards. | |
| 52 | + */ | |
| 53 | + linux,keymap = < | |
| 54 | + /* CAPSLCK F1 B F10 */ | |
| 55 | + 0x0001003a 0x0002003b 0x00030030 0x00040044 | |
| 56 | + /* N = R_ALT ESC */ | |
| 57 | + 0x00060031 0x0008000d 0x000a0064 0x01010001 | |
| 58 | + /* F4 G F7 H */ | |
| 59 | + 0x0102003e 0x01030022 0x01040041 0x01060023 | |
| 60 | + /* ' F9 BKSPACE L_CTRL */ | |
| 61 | + 0x01080028 0x01090043 0x010b000e 0x0200001d | |
| 62 | + /* TAB F3 T F6 */ | |
| 63 | + 0x0201000f 0x0202003d 0x02030014 0x02040040 | |
| 64 | + /* ] Y 102ND [ */ | |
| 65 | + 0x0205001b 0x02060015 0x02070056 0x0208001a | |
| 66 | + /* F8 GRAVE F2 5 */ | |
| 67 | + 0x02090042 0x03010029 0x0302003c 0x03030006 | |
| 68 | + /* F5 6 - \ */ | |
| 69 | + 0x0304003f 0x03060007 0x0308000c 0x030b002b | |
| 70 | + /* R_CTRL A D F */ | |
| 71 | + 0x04000061 0x0401001e 0x04020020 0x04030021 | |
| 72 | + /* S K J ; */ | |
| 73 | + 0x0404001f 0x04050025 0x04060024 0x04080027 | |
| 74 | + /* L ENTER Z C */ | |
| 75 | + 0x04090026 0x040b001c 0x0501002c 0x0502002e | |
| 76 | + /* V X , M */ | |
| 77 | + 0x0503002f 0x0504002d 0x05050033 0x05060032 | |
| 78 | + /* L_SHIFT / . SPACE */ | |
| 79 | + 0x0507002a 0x05080035 0x05090034 0x050B0039 | |
| 80 | + /* 1 3 4 2 */ | |
| 81 | + 0x06010002 0x06020004 0x06030005 0x06040003 | |
| 82 | + /* 8 7 0 9 */ | |
| 83 | + 0x06050009 0x06060008 0x0608000b 0x0609000a | |
| 84 | + /* L_ALT DOWN RIGHT Q */ | |
| 85 | + 0x060a0038 0x060b006c 0x060c006a 0x07010010 | |
| 86 | + /* E R W I */ | |
| 87 | + 0x07020012 0x07030013 0x07040011 0x07050017 | |
| 88 | + /* U R_SHIFT P O */ | |
| 89 | + 0x07060016 0x07070036 0x07080019 0x07090018 | |
| 90 | + /* UP LEFT */ | |
| 91 | + 0x070b0067 0x070c0069>; | |
| 92 | + }; | |
| @@ -0,0 +1,40 @@ | ||
| 1 | +Device tree bindings for Zinitx BT541 touchscreen controller | |
| 2 | + | |
| 3 | +Required properties: | |
| 4 | + | |
| 5 | + - compatible : Should be "zinitix,bt541" | |
| 6 | + - reg : I2C address of the chip. Should be 0x20 | |
| 7 | + - interrupts : Interrupt to which the chip is connected | |
| 8 | + | |
| 9 | +Optional properties: | |
| 10 | + | |
| 11 | + - vdd-supply : Analog power supply regulator on VCCA pin | |
| 12 | + - vddo-supply : Digital power supply regulator on VDD pin | |
| 13 | + - zinitix,mode : Mode of reporting touch points. Some modes may not work | |
| 14 | + with a particular ts firmware for unknown reasons. Available | |
| 15 | + modes are 1 and 2. Mode 2 is the default and preferred. | |
| 16 | + | |
| 17 | +The touchscreen-* properties are documented in touchscreen.txt in this | |
| 18 | +directory. | |
| 19 | + | |
| 20 | +Example: | |
| 21 | + | |
| 22 | + i2c@00000000 { | |
| 23 | + /* ... */ | |
| 24 | + | |
| 25 | + bt541@20 { | |
| 26 | + compatible = "zinitix,bt541"; | |
| 27 | + reg = <0x20>; | |
| 28 | + interrupt-parent = <&msmgpio>; | |
| 29 | + interrupts = <13 IRQ_TYPE_EDGE_FALLING>; | |
| 30 | + pinctrl-names = "default"; | |
| 31 | + pinctrl-0 = <&tsp_default>; | |
| 32 | + vdd-supply = <®_vdd_tsp>; | |
| 33 | + vddo-supply = <&pm8916_l6>; | |
| 34 | + touchscreen-size-x = <540>; | |
| 35 | + touchscreen-size-y = <960>; | |
| 36 | + zinitix,mode = <2>; | |
| 37 | + }; | |
| 38 | + | |
| 39 | + /* ... */ | |
| 40 | + }; | |
| @@ -29,10 +29,13 @@ properties: · 28 unmodified lines | ||
| 29 | 29 | - items: |
| 30 | 30 | - const: allwinner,sun8i-a83t-r-intc |
| 31 | 31 | - const: allwinner,sun6i-a31-r-intc |
| 32 | − - const: allwinner,sun9i-a80-sc-nmi | |
| 32 | + - const: allwinner,sun9i-a80-nmi | |
| 33 | 33 | - items: |
| 34 | 34 | - const: allwinner,sun50i-a64-r-intc |
| 35 | 35 | - const: allwinner,sun6i-a31-r-intc |
| 36 | + - items: | |
| 37 | + - const: allwinner,sun50i-a100-nmi | |
| 38 | + - const: allwinner,sun9i-a80-nmi | |
| 36 | 39 | - items: |
| 37 | 40 | - const: allwinner,sun50i-h6-r-intc |
| 38 | 41 | - const: allwinner,sun6i-a31-r-intc |
| @@ -94,12 +94,12 @@ properties: · 93 unmodified lines | ||
| 94 | 94 | instances. |
| 95 | 95 | |
| 96 | 96 | required: |
| 97 | − - compatible | |
| 98 | − - reg | |
| 99 | − - interrupts | |
| 100 | − - interrupt-names | |
| 101 | − - interrupt-controller | |
| 102 | − - "#interrupt-cells" | |
| 97 | + - compatible | |
| 98 | + - reg | |
| 99 | + - interrupts | |
| 100 | + - interrupt-names | |
| 101 | + - interrupt-controller | |
| 102 | + - "#interrupt-cells" | |
| 103 | 103 | |
| 104 | 104 | additionalProperties: false |
| 105 | 105 | |
| @@ -32,6 +32,11 @@ description: | · 31 unmodified lines | ||
| 32 | 32 | | | vint | bit | | 0 |.....|63| vintx | |
| 33 | 33 | | +--------------+ +------------+ | |
| 34 | 34 | | | |
| 35 | + | Unmap | | |
| 36 | + | +--------------+ | | |
| 37 | + Unmapped events ---->| | umapidx |-------------------------> Globalevents | |
| 38 | + | +--------------+ | | |
| 39 | + | | | |
| 35 | 40 | +-----------------------------------------+ |
| 36 | 41 | |
| 37 | 42 | Configuration of these Intmap registers that maps global events to vint is |
| @@ -70,6 +75,11 @@ properties: · 32 unmodified lines | ||
| 70 | 75 | - description: | |
| 71 | 76 | "limit" specifies the limit for translation |
| 72 | 77 | |
| 78 | + ti,unmapped-event-sources: | |
| 79 | + $ref: /schemas/types.yaml#definitions/phandle-array | |
| 80 | + description: | |
| 81 | + Array of phandles to DMA controllers where the unmapped events originate. | |
| 82 | + | |
| 73 | 83 | required: |
| 74 | 84 | - compatible |
| 75 | 85 | - reg |
| @@ -79,6 +89,8 @@ required: · 3 unmodified lines | ||
| 79 | 89 | - ti,sci-dev-id |
| 80 | 90 | - ti,interrupt-ranges |
| 81 | 91 | |
| 92 | +unevaluatedProperties: false | |
| 93 | + | |
| 82 | 94 | examples: |
| 83 | 95 | - | |
| 84 | 96 | bus { |
| @@ -88,6 +88,8 @@ required: · 87 unmodified lines | ||
| 88 | 88 | - ti,sci-dev-id |
| 89 | 89 | - ti,interrupt-ranges |
| 90 | 90 | |
| 91 | +unevaluatedProperties: false | |
| 92 | + | |
| 91 | 93 | examples: |
| 92 | 94 | - | |
| 93 | 95 | main_gpio_intr: interrupt-controller0 { |
| @@ -32,3 +32,5 @@ properties: · 31 unmodified lines | ||
| 32 | 32 | that a LED can be made so bright that it gets damaged or causes damage |
| 33 | 33 | due to restrictions in a specific system, such as mounting conditions. |
| 34 | 34 | $ref: /schemas/types.yaml#definitions/uint32 |
| 35 | + | |
| 36 | +additionalProperties: true | |
| @@ -43,7 +43,7 @@ properties: · 42 unmodified lines | ||
| 43 | 43 | LED_COLOR_ID available, add a new one. |
| 44 | 44 | $ref: /schemas/types.yaml#definitions/uint32 |
| 45 | 45 | minimum: 0 |
| 46 | − maximum: 8 | |
| 46 | + maximum: 9 | |
| 47 | 47 | |
| 48 | 48 | function-enumerator: |
| 49 | 49 | description: |
| @@ -16,7 +16,7 @@ description: | · 15 unmodified lines | ||
| 16 | 16 | modules. This is achieved by adding multi-led nodes layer to the |
| 17 | 17 | monochrome LED bindings. |
| 18 | 18 | The nodes and properties defined in this document are unique to the multicolor |
| 19 | − LED class. Common LED nodes and properties are inherited from the common.txt | |
| 19 | + LED class. Common LED nodes and properties are inherited from the common.yaml | |
| 20 | 20 | within this documentation directory. |
| 21 | 21 | |
| 22 | 22 | patternProperties: |
| @@ -25,10 +25,11 @@ patternProperties: · 2 unmodified lines | ||
| 25 | 25 | description: Represents the LEDs that are to be grouped. |
| 26 | 26 | properties: |
| 27 | 27 | color: |
| 28 | − const: 8 # LED_COLOR_ID_MULTI | |
| 29 | 28 | description: | |
| 30 | − For multicolor LED support this property should be defined as | |
| 31 | − LED_COLOR_ID_MULTI which can be found in include/linux/leds/common.h. | |
| 29 | + For multicolor LED support this property should be defined as either | |
| 30 | + LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in | |
| 31 | + include/linux/leds/common.h. | |
| 32 | + enum: [ 8, 9 ] | |
| 32 | 33 | |
| 33 | 34 | $ref: "common.yaml#" |
| 34 | 35 | |
| @@ -46,6 +46,12 @@ properties: · 45 unmodified lines | ||
| 46 | 46 | vled-supply: |
| 47 | 47 | description: LED supply. |
| 48 | 48 | |
| 49 | + '#address-cells': | |
| 50 | + const: 1 | |
| 51 | + | |
| 52 | + '#size-cells': | |
| 53 | + const: 0 | |
| 54 | + | |
| 49 | 55 | patternProperties: |
| 50 | 56 | '^multi-led@[0-9a-f]$': |
| 51 | 57 | type: object |
| @@ -69,6 +75,8 @@ required: · 17 unmodified lines | ||
| 69 | 75 | - compatible |
| 70 | 76 | - reg |
| 71 | 77 | |
| 78 | +additionalProperties: false | |
| 79 | + | |
| 72 | 80 | examples: |
| 73 | 81 | - | |
| 74 | 82 | #include <dt-bindings/gpio/gpio.h> |
| @@ -0,0 +1,135 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/mailbox/arm,mhu.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: ARM MHU Mailbox Controller | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Jassi Brar <jaswinder.singh@linaro.org> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has 3 | |
| 14 | + independent channels/links to communicate with remote processor(s). MHU links | |
| 15 | + are hardwired on a platform. A link raises interrupt for any received data. | |
| 16 | + However, there is no specified way of knowing if the sent data has been read | |
| 17 | + by the remote. This driver assumes the sender polls STAT register and the | |
| 18 | + remote clears it after having read the data. The last channel is specified to | |
| 19 | + be a 'Secure' resource, hence can't be used by Linux running NS. | |
| 20 | + | |
| 21 | + The MHU hardware also allows operations in doorbell mode. The MHU drives the | |
| 22 | + interrupt signal using a 32-bit register, with all 32-bits logically ORed | |
| 23 | + together. It provides a set of registers to enable software to set, clear and | |
| 24 | + check the status of each of the bits of this register independently. The use | |
| 25 | + of 32 bits per interrupt line enables software to provide more information | |
| 26 | + about the source of the interrupt. For example, each bit of the register can | |
| 27 | + be associated with a type of event that can contribute to raising the | |
| 28 | + interrupt. Each of the 32-bits can be used as "doorbell" to alert the remote | |
| 29 | + processor. | |
| 30 | + | |
| 31 | +# We need a select here so we don't match all nodes with 'arm,primecell' | |
| 32 | +select: | |
| 33 | + properties: | |
| 34 | + compatible: | |
| 35 | + contains: | |
| 36 | + enum: | |
| 37 | + - arm,mhu | |
| 38 | + - arm,mhu-doorbell | |
| 39 | + required: | |
| 40 | + - compatible | |
| 41 | + | |
| 42 | +properties: | |
| 43 | + compatible: | |
| 44 | + oneOf: | |
| 45 | + - description: Data transfer mode | |
| 46 | + items: | |
| 47 | + - const: arm,mhu | |
| 48 | + - const: arm,primecell | |
| 49 | + | |
| 50 | + - description: Doorbell mode | |
| 51 | + items: | |
| 52 | + - const: arm,mhu-doorbell | |
| 53 | + - const: arm,primecell | |
| 54 | + | |
| 55 | + | |
| 56 | + reg: | |
| 57 | + maxItems: 1 | |
| 58 | + | |
| 59 | + interrupts: | |
| 60 | + items: | |
| 61 | + - description: low-priority non-secure | |
| 62 | + - description: high-priority non-secure | |
| 63 | + - description: Secure | |
| 64 | + maxItems: 3 | |
| 65 | + | |
| 66 | + clocks: | |
| 67 | + maxItems: 1 | |
| 68 | + | |
| 69 | + clock-names: | |
| 70 | + items: | |
| 71 | + - const: apb_pclk | |
| 72 | + | |
| 73 | + '#mbox-cells': | |
| 74 | + description: | | |
| 75 | + Set to 1 in data transfer mode and represents index of the channel. | |
| 76 | + Set to 2 in doorbell mode and represents index of the channel and doorbell | |
| 77 | + number. | |
| 78 | + enum: [ 1, 2 ] | |
| 79 | + | |
| 80 | +required: | |
| 81 | + - compatible | |
| 82 | + - reg | |
| 83 | + - interrupts | |
| 84 | + - '#mbox-cells' | |
| 85 | + | |
| 86 | +additionalProperties: false | |
| 87 | + | |
| 88 | +examples: | |
| 89 | + # Data transfer mode. | |
| 90 | + - | | |
| 91 | + soc { | |
| 92 | + #address-cells = <2>; | |
| 93 | + #size-cells = <2>; | |
| 94 | + | |
| 95 | + mhuA: mailbox@2b1f0000 { | |
| 96 | + #mbox-cells = <1>; | |
| 97 | + compatible = "arm,mhu", "arm,primecell"; | |
| 98 | + reg = <0 0x2b1f0000 0 0x1000>; | |
| 99 | + interrupts = <0 36 4>, /* LP-NonSecure */ | |
| 100 | + <0 35 4>, /* HP-NonSecure */ | |
| 101 | + <0 37 4>; /* Secure */ | |
| 102 | + clocks = <&clock 0 2 1>; | |
| 103 | + clock-names = "apb_pclk"; | |
| 104 | + }; | |
| 105 | + | |
| 106 | + mhu_client_scb: scb@2e000000 { | |
| 107 | + compatible = "fujitsu,mb86s70-scb-1.0"; | |
| 108 | + reg = <0 0x2e000000 0 0x4000>; | |
| 109 | + mboxes = <&mhuA 1>; /* HP-NonSecure */ | |
| 110 | + }; | |
| 111 | + }; | |
| 112 | + | |
| 113 | + # Doorbell mode. | |
| 114 | + - | | |
| 115 | + soc { | |
| 116 | + #address-cells = <2>; | |
| 117 | + #size-cells = <2>; | |
| 118 | + | |
| 119 | + mhuB: mailbox@2b2f0000 { | |
| 120 | + #mbox-cells = <2>; | |
| 121 | + compatible = "arm,mhu-doorbell", "arm,primecell"; | |
| 122 | + reg = <0 0x2b2f0000 0 0x1000>; | |
| 123 | + interrupts = <0 36 4>, /* LP-NonSecure */ | |
| 124 | + <0 35 4>, /* HP-NonSecure */ | |
| 125 | + <0 37 4>; /* Secure */ | |
| 126 | + clocks = <&clock 0 2 1>; | |
| 127 | + clock-names = "apb_pclk"; | |
| 128 | + }; | |
| 129 | + | |
| 130 | + mhu_client_scpi: scpi@2f000000 { | |
| 131 | + compatible = "arm,scpi"; | |
| 132 | + reg = <0 0x2f000000 0 0x200>; | |
| 133 | + mboxes = <&mhuB 1 4>; /* HP-NonSecure, 5th doorbell */ | |
| 134 | + }; | |
| 135 | + }; | |
| @@ -1,43 +0,0 @@ | ||
| 1 | −ARM MHU Mailbox Driver | |
| 2 | −====================== | |
| 3 | − | |
| 4 | −The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has | |
| 5 | −3 independent channels/links to communicate with remote processor(s). | |
| 6 | − MHU links are hardwired on a platform. A link raises interrupt for any | |
| 7 | −received data. However, there is no specified way of knowing if the sent | |
| 8 | −data has been read by the remote. This driver assumes the sender polls | |
| 9 | −STAT register and the remote clears it after having read the data. | |
| 10 | −The last channel is specified to be a 'Secure' resource, hence can't be | |
| 11 | −used by Linux running NS. | |
| 12 | − | |
| 13 | −Mailbox Device Node: | |
| 14 | −==================== | |
| 15 | − | |
| 16 | −Required properties: | |
| 17 | −-------------------- | |
| 18 | −- compatible: Shall be "arm,mhu" & "arm,primecell" | |
| 19 | −- reg: Contains the mailbox register address range (base | |
| 20 | − address and length) | |
| 21 | −- #mbox-cells Shall be 1 - the index of the channel needed. | |
| 22 | −- interrupts: Contains the interrupt information corresponding to | |
| 23 | − each of the 3 links of MHU. | |
| 24 | − | |
| 25 | −Example: | |
| 26 | −-------- | |
| 27 | − | |
| 28 | − mhu: mailbox@2b1f0000 { | |
| 29 | − #mbox-cells = <1>; | |
| 30 | − compatible = "arm,mhu", "arm,primecell"; | |
| 31 | − reg = <0 0x2b1f0000 0x1000>; | |
| 32 | − interrupts = <0 36 4>, /* LP-NonSecure */ | |
| 33 | − <0 35 4>, /* HP-NonSecure */ | |
| 34 | − <0 37 4>; /* Secure */ | |
| 35 | − clocks = <&clock 0 2 1>; | |
| 36 | − clock-names = "apb_pclk"; | |
| 37 | − }; | |
| 38 | − | |
| 39 | − mhu_client: scb@2e000000 { | |
| 40 | − compatible = "fujitsu,mb86s70-scb-1.0"; | |
| 41 | − reg = <0 0x2e000000 0x4000>; | |
| 42 | − mboxes = <&mhu 1>; /* HP-NonSecure */ | |
| 43 | − }; | |
| @@ -47,7 +47,7 @@ Example: · 46 unmodified lines | ||
| 47 | 47 | interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; |
| 48 | 48 | clocks = <&infracfg CLK_INFRA_GCE>; |
| 49 | 49 | clock-names = "gce"; |
| 50 | − #mbox-cells = <3>; | |
| 50 | + #mbox-cells = <2>; | |
| 51 | 51 | }; |
| 52 | 52 | |
| 53 | 53 | Example for a client device: |
| @@ -69,7 +69,7 @@ The following are mandatory properties for the K3 AM65x and J721E SoCs only: · 68 unmodified lines | ||
| 69 | 69 | the interrupt routes between the IP and the main GIC |
| 70 | 70 | controllers. See the following binding for additional |
| 71 | 71 | details, |
| 72 | − Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt | |
| 72 | + Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml | |
| 73 | 73 | |
| 74 | 74 | Child Nodes: |
| 75 | 75 | ============ |
| @@ -16,6 +16,7 @@ maintainers: · 15 unmodified lines | ||
| 16 | 16 | properties: |
| 17 | 17 | compatible: |
| 18 | 18 | enum: |
| 19 | + - qcom,ipq6018-apcs-apps-global | |
| 19 | 20 | - qcom,ipq8074-apcs-apps-global |
| 20 | 21 | - qcom,msm8916-apcs-kpss-global |
| 21 | 22 | - qcom,msm8994-apcs-kpss-global |
| @@ -18,10 +18,13 @@ properties: · 17 unmodified lines | ||
| 18 | 18 | oneOf: |
| 19 | 19 | - const: allwinner,sun4i-a10-ir |
| 20 | 20 | - const: allwinner,sun5i-a13-ir |
| 21 | + - const: allwinner,sun6i-a31-ir | |
| 21 | 22 | - items: |
| 22 | 23 | - const: allwinner,sun8i-a83t-ir |
| 23 | 24 | - const: allwinner,sun6i-a31-ir |
| 24 | − - const: allwinner,sun6i-a31-ir | |
| 25 | + - items: | |
| 26 | + - const: allwinner,sun8i-r40-ir | |
| 27 | + - const: allwinner,sun6i-a31-ir | |
| 25 | 28 | - items: |
| 26 | 29 | - const: allwinner,sun50i-a64-ir |
| 27 | 30 | - const: allwinner,sun6i-a31-ir |
| @@ -56,7 +56,7 @@ Optional Connector Properties: · 55 unmodified lines | ||
| 56 | 56 | instead of using the autodetection mechnism. Please look at |
| 57 | 57 | [1] for more information. |
| 58 | 58 | |
| 59 | −[1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt. | |
| 59 | +[1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml. | |
| 60 | 60 | |
| 61 | 61 | Example - three input sources: |
| 62 | 62 | #include <dt-bindings/display/sdtv-standards.h> |
| @@ -5,7 +5,7 @@ The hardware block diagram please check bindings/iommu/mediatek,iommu.txt · 4 unmodified lines | ||
| 5 | 5 | Mediatek SMI have two generations of HW architecture, here is the list |
| 6 | 6 | which generation the SoCs use: |
| 7 | 7 | generation 1: mt2701 and mt7623. |
| 8 | −generation 2: mt2712, mt6779, mt8173 and mt8183. | |
| 8 | +generation 2: mt2712, mt6779, mt8167, mt8173 and mt8183. | |
| 9 | 9 | |
| 10 | 10 | There's slight differences between the two SMI, for generation 2, the |
| 11 | 11 | register which control the iommu port is at each larb's register base. But |
| @@ -20,6 +20,7 @@ Required properties: · 8 unmodified lines | ||
| 20 | 20 | "mediatek,mt2712-smi-common" |
| 21 | 21 | "mediatek,mt6779-smi-common" |
| 22 | 22 | "mediatek,mt7623-smi-common", "mediatek,mt2701-smi-common" |
| 23 | + "mediatek,mt8167-smi-common" | |
| 23 | 24 | "mediatek,mt8173-smi-common" |
| 24 | 25 | "mediatek,mt8183-smi-common" |
| 25 | 26 | - reg : the register and size of the SMI block. |
| @@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines | ||
| 8 | 8 | "mediatek,mt2712-smi-larb" |
| 9 | 9 | "mediatek,mt6779-smi-larb" |
| 10 | 10 | "mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb" |
| 11 | + "mediatek,mt8167-smi-larb" | |
| 11 | 12 | "mediatek,mt8173-smi-larb" |
| 12 | 13 | "mediatek,mt8183-smi-larb" |
| 13 | 14 | - reg : the register and size of this local arbiter. |
| @@ -22,7 +23,7 @@ Required properties: · 8 unmodified lines | ||
| 22 | 23 | - "gals": the clock for GALS(Global Async Local Sync). |
| 23 | 24 | Here is the list which has this GALS: mt8183. |
| 24 | 25 | |
| 25 | −Required property for mt2701, mt2712, mt6779 and mt7623: | |
| 26 | +Required property for mt2701, mt2712, mt6779, mt7623 and mt8167: | |
| 26 | 27 | - mediatek,larb-id :the hardware id of this larb. |
| 27 | 28 | |
| 28 | 29 | Example: |
| @@ -17,7 +17,7 @@ properties: · 16 unmodified lines | ||
| 17 | 17 | compatible: |
| 18 | 18 | items: |
| 19 | 19 | - enum: |
| 20 | − - dell,wyse-ariel-ec # Dell Wyse Ariel board (3020) | |
| 20 | + - dell,wyse-ariel-ec # Dell Wyse Ariel board (3020) | |
| 21 | 21 | - const: ene,kb3930 |
| 22 | 22 | reg: |
| 23 | 23 | maxItems: 1 |
| @@ -59,6 +59,14 @@ properties: · 58 unmodified lines | ||
| 59 | 59 | whether this nvram is present or not. |
| 60 | 60 | type: boolean |
| 61 | 61 | |
| 62 | + mtk,rpmsg-name: | |
| 63 | + description: | |
| 64 | + Must be defined if the cros-ec is a rpmsg device for a Mediatek | |
| 65 | + ARM Cortex M4 Co-processor. Contains the name pf the rpmsg | |
| 66 | + device. Used to match the subnode to the rpmsg device announced by | |
| 67 | + the SCP. | |
| 68 | + $ref: "/schemas/types.yaml#/definitions/string" | |
| 69 | + | |
| 62 | 70 | spi-max-frequency: |
| 63 | 71 | description: Maximum SPI frequency of the device in Hz. |
| 64 | 72 | |
| @@ -71,6 +79,54 @@ properties: · 6 unmodified lines | ||
| 71 | 79 | wakeup-source: |
| 72 | 80 | description: Button can wake-up the system. |
| 73 | 81 | |
| 82 | + '#address-cells': | |
| 83 | + const: 1 | |
| 84 | + | |
| 85 | + '#size-cells': | |
| 86 | + const: 0 | |
| 87 | + | |
| 88 | + typec: | |
| 89 | + $ref: "/schemas/chrome/google,cros-ec-typec.yaml#" | |
| 90 | + | |
| 91 | + ec-pwm: | |
| 92 | + $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#" | |
| 93 | + | |
| 94 | + keyboard-controller: | |
| 95 | + $ref: "/schemas/input/google,cros-ec-keyb.yaml#" | |
| 96 | + | |
| 97 | + codecs: | |
| 98 | + type: object | |
| 99 | + additionalProperties: false | |
| 100 | + | |
| 101 | + properties: | |
| 102 | + '#address-cells': | |
| 103 | + const: 2 | |
| 104 | + | |
| 105 | + '#size-cells': | |
| 106 | + const: 1 | |
| 107 | + | |
| 108 | + patternProperties: | |
| 109 | + "^ec-codec@[a-f0-9]+$": | |
| 110 | + type: object | |
| 111 | + $ref: "/schemas/sound/google,cros-ec-codec.yaml#" | |
| 112 | + | |
| 113 | + required: | |
| 114 | + - "#address-cells" | |
| 115 | + - "#size-cells" | |
| 116 | + | |
| 117 | +patternProperties: | |
| 118 | + "^i2c-tunnel[0-9]*$": | |
| 119 | + type: object | |
| 120 | + $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#" | |
| 121 | + | |
| 122 | + "^regulator@[0-9]+$": | |
| 123 | + type: object | |
| 124 | + $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#" | |
| 125 | + | |
| 126 | + "^extcon[0-9]*$": | |
| 127 | + type: object | |
| 128 | + $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#" | |
| 129 | + | |
| 74 | 130 | required: |
| 75 | 131 | - compatible |
| 76 | 132 | |
| @@ -47,4 +47,12 @@ properties: · 46 unmodified lines | ||
| 47 | 47 | items: |
| 48 | 48 | - const: yna,cu1830-neo |
| 49 | 49 | - const: ingenic,x1830 |
| 50 | + | |
| 51 | + - description: YSH & ATIL General Board, CU2000 Module with Neo Backplane | |
| 52 | + items: | |
| 53 | + - const: yna,cu2000-neo | |
| 54 | + - const: ingenic,x2000e | |
| 55 | + | |
| 56 | +additionalProperties: true | |
| 57 | + | |
| 50 | 58 | ... |
| @@ -36,4 +36,7 @@ properties: · 35 unmodified lines | ||
| 36 | 36 | - description: Virtual Loongson64 Quad Core + VirtIO |
| 37 | 37 | items: |
| 38 | 38 | - const: loongson,loongson64v-4core-virtio |
| 39 | + | |
| 40 | +additionalProperties: true | |
| 41 | + | |
| 39 | 42 | ... |
| @@ -1,11 +1,13 @@ | ||
| 1 | −NVIDIA Tegra186 MISC register block | |
| 1 | +NVIDIA Tegra186 (and later) MISC register block | |
| 2 | 2 | |
| 3 | −The MISC register block found on Tegra186 SoCs contains registers that can be | |
| 4 | −used to identify a given chip and various strapping options. | |
| 3 | +The MISC register block found on Tegra186 and later SoCs contains registers | |
| 4 | +that can be used to identify a given chip and various strapping options. | |
| 5 | 5 | |
| 6 | 6 | Required properties: |
| 7 | 7 | - compatible: Must be: |
| 8 | 8 | - Tegra186: "nvidia,tegra186-misc" |
| 9 | + - Tegra194: "nvidia,tegra194-misc" | |
| 10 | + - Tegra234: "nvidia,tegra234-misc" | |
| 9 | 11 | - reg: Should contain 2 entries: The first entry gives the physical address |
| 10 | 12 | and length of the register region which contains revision and debug |
| 11 | 13 | features. The second entry specifies the physical address and length |
| @@ -1,10 +1,13 @@ | ||
| 1 | −NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block | |
| 1 | +NVIDIA Tegra APBMISC block | |
| 2 | 2 | |
| 3 | 3 | Required properties: |
| 4 | −- compatible : For Tegra20, must be "nvidia,tegra20-apbmisc". For Tegra30, | |
| 5 | − must be "nvidia,tegra30-apbmisc". Otherwise, must contain | |
| 6 | − "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114, | |
| 7 | − tegra124, tegra132. | |
| 4 | +- compatible: Must be: | |
| 5 | + - Tegra20: "nvidia,tegra20-apbmisc" | |
| 6 | + - Tegra30: "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc" | |
| 7 | + - Tegra114: "nvidia,tegra114-apbmisc", "nvidia,tegra20-apbmisc" | |
| 8 | + - Tegra124: "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc" | |
| 9 | + - Tegra132: "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc" | |
| 10 | + - Tegra210: "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc" | |
| 8 | 11 | - reg: Should contain 2 entries: the first entry gives the physical address |
| 9 | 12 | and length of the registers which contain revision and debug features. |
| 10 | 13 | The second entry gives the physical address and length of the |
| @@ -32,11 +32,11 @@ allOf: · 31 unmodified lines | ||
| 32 | 32 | clock-output-names: |
| 33 | 33 | oneOf: |
| 34 | 34 | - items: |
| 35 | − - const: clk_out_sd0 | |
| 36 | − - const: clk_in_sd0 | |
| 35 | + - const: clk_out_sd0 | |
| 36 | + - const: clk_in_sd0 | |
| 37 | 37 | - items: |
| 38 | − - const: clk_out_sd1 | |
| 39 | − - const: clk_in_sd1 | |
| 38 | + - const: clk_out_sd1 | |
| 39 | + - const: clk_in_sd1 | |
| 40 | 40 | |
| 41 | 41 | properties: |
| 42 | 42 | compatible: |
| @@ -46,6 +46,8 @@ required: · 45 unmodified lines | ||
| 46 | 46 | - clocks |
| 47 | 47 | - clock-names |
| 48 | 48 | |
| 49 | +unevaluatedProperties: false | |
| 50 | + | |
| 49 | 51 | examples: |
| 50 | 52 | - | |
| 51 | 53 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | ||
| 3 | 3 | %YAML 1.2 |
| 4 | 4 | --- |
| 5 | 5 | $id: "http://devicetree.org/schemas/mmc/sdhci-am654.yaml#" |
| 6 | −$schema : "http://devicetree.org/meta-schemas/core.yaml#" | |
| 6 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 7 | 7 | |
| 8 | 8 | title: TI AM654 MMC Controller |
| 9 | 9 | |
| @@ -163,13 +163,12 @@ properties: · 153 unmodified lines | ||
| 163 | 163 | ti,driver-strength-ohm: |
| 164 | 164 | description: DLL drive strength in ohms |
| 165 | 165 | $ref: "/schemas/types.yaml#/definitions/uint32" |
| 166 | − oneOf: | |
| 167 | − - enum: | |
| 168 | − - 33 | |
| 169 | − - 40 | |
| 170 | − - 50 | |
| 171 | − - 66 | |
| 172 | − - 100 | |
| 166 | + enum: | |
| 167 | + - 33 | |
| 168 | + - 40 | |
| 169 | + - 50 | |
| 170 | + - 66 | |
| 171 | + - 100 | |
| 173 | 172 | |
| 174 | 173 | ti,strobe-sel: |
| 175 | 174 | description: strobe select delay for HS400 speed mode. |
| @@ -187,6 +186,8 @@ required: · 11 unmodified lines | ||
| 187 | 186 | - clock-names |
| 188 | 187 | - ti,otap-del-sel-legacy |
| 189 | 188 | |
| 189 | +unevaluatedProperties: false | |
| 190 | + | |
| 190 | 191 | examples: |
| 191 | 192 | - | |
| 192 | 193 | #include <dt-bindings/interrupt-controller/irq.h> |
| @@ -55,6 +55,37 @@ patternProperties: · 54 unmodified lines | ||
| 55 | 55 | $ref: /schemas/types.yaml#/definitions/string |
| 56 | 56 | enum: [none, soft, hw, hw_syndrome, hw_oob_first, on-die] |
| 57 | 57 | |
| 58 | + nand-ecc-engine: | |
| 59 | + allOf: | |
| 60 | + - $ref: /schemas/types.yaml#/definitions/phandle | |
| 61 | + description: | | |
| 62 | + A phandle on the hardware ECC engine if any. There are | |
| 63 | + basically three possibilities: | |
| 64 | + 1/ The ECC engine is part of the NAND controller, in this | |
| 65 | + case the phandle should reference the parent node. | |
| 66 | + 2/ The ECC engine is part of the NAND part (on-die), in this | |
| 67 | + case the phandle should reference the node itself. | |
| 68 | + 3/ The ECC engine is external, in this case the phandle should | |
| 69 | + reference the specific ECC engine node. | |
| 70 | + | |
| 71 | + nand-use-soft-ecc-engine: | |
| 72 | + type: boolean | |
| 73 | + description: Use a software ECC engine. | |
| 74 | + | |
| 75 | + nand-no-ecc-engine: | |
| 76 | + type: boolean | |
| 77 | + description: Do not use any ECC correction. | |
| 78 | + | |
| 79 | + nand-ecc-placement: | |
| 80 | + allOf: | |
| 81 | + - $ref: /schemas/types.yaml#/definitions/string | |
| 82 | + - enum: [ oob, interleaved ] | |
| 83 | + description: | |
| 84 | + Location of the ECC bytes. This location is unknown by default | |
| 85 | + but can be explicitly set to "oob", if all ECC bytes are | |
| 86 | + known to be stored in the OOB area, or "interleaved" if ECC | |
| 87 | + bytes will be interleaved with regular data in the main area. | |
| 88 | + | |
| 58 | 89 | nand-ecc-algo: |
| 59 | 90 | description: |
| 60 | 91 | Desired ECC algorithm. |
| @@ -50,6 +50,13 @@ Optional properties: · 49 unmodified lines | ||
| 50 | 50 | - reset-names: If the "reset" property is specified, this property should have |
| 51 | 51 | the value "switch" to denote the switch reset line. |
| 52 | 52 | |
| 53 | +- clocks: when provided, the first phandle is to the switch's main clock and | |
| 54 | + is valid for both BCM7445 and BCM7278. The second phandle is only applicable | |
| 55 | + to BCM7445 and is to support dividing the switch core clock. | |
| 56 | + | |
| 57 | +- clock-names: when provided, the first phandle must be "sw_switch", and the | |
| 58 | + second must be named "sw_switch_mdiv". | |
| 59 | + | |
| 53 | 60 | Port subnodes: |
| 54 | 61 | |
| 55 | 62 | Optional properties: |
| @@ -20,6 +20,11 @@ Optional properties: · 19 unmodified lines | ||
| 20 | 20 | - systemport,num-tier1-arb: number of tier 1 arbiters, an integer |
| 21 | 21 | - systemport,num-txq: number of HW transmit queues, an integer |
| 22 | 22 | - systemport,num-rxq: number of HW receive queues, an integer |
| 23 | +- clocks: When provided, must be two phandles to the functional clocks nodes of | |
| 24 | + the SYSTEMPORT block. The first phandle is the main SYSTEMPORT clock used | |
| 25 | + during normal operation, while the second phandle is the Wake-on-LAN clock. | |
| 26 | +- clock-names: When provided, names of the functional clock phandles, first | |
| 27 | + name should be "sw_sysport" and second should be "sw_sysportwol". | |
| 23 | 28 | |
| 24 | 29 | Example: |
| 25 | 30 | ethernet@f04a0000 { |
| @@ -0,0 +1,18 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/can/can-controller.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: CAN Controller Generic Binding | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Marc Kleine-Budde <mkl@pengutronix.de> | |
| 11 | + | |
| 12 | +properties: | |
| 13 | + $nodename: | |
| 14 | + pattern: "^can(@.*)?$" | |
| 15 | + | |
| 16 | +additionalProperties: true | |
| 17 | + | |
| 18 | +... | |
| @@ -0,0 +1,139 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/can/fsl,flexcan.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: | |
| 8 | + Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC). | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Marc Kleine-Budde <mkl@pengutronix.de> | |
| 12 | + | |
| 13 | +allOf: | |
| 14 | + - $ref: can-controller.yaml# | |
| 15 | + | |
| 16 | +properties: | |
| 17 | + compatible: | |
| 18 | + oneOf: | |
| 19 | + - enum: | |
| 20 | + - fsl,imx8qm-flexcan | |
| 21 | + - fsl,imx8mp-flexcan | |
| 22 | + - fsl,imx6q-flexcan | |
| 23 | + - fsl,imx28-flexcan | |
| 24 | + - fsl,imx25-flexcan | |
| 25 | + - fsl,p1010-flexcan | |
| 26 | + - fsl,vf610-flexcan | |
| 27 | + - fsl,ls1021ar2-flexcan | |
| 28 | + - fsl,lx2160ar1-flexcan | |
| 29 | + - items: | |
| 30 | + - enum: | |
| 31 | + - fsl,imx53-flexcan | |
| 32 | + - fsl,imx35-flexcan | |
| 33 | + - const: fsl,imx25-flexcan | |
| 34 | + - items: | |
| 35 | + - enum: | |
| 36 | + - fsl,imx7d-flexcan | |
| 37 | + - fsl,imx6ul-flexcan | |
| 38 | + - fsl,imx6sx-flexcan | |
| 39 | + - const: fsl,imx6q-flexcan | |
| 40 | + - items: | |
| 41 | + - enum: | |
| 42 | + - fsl,ls1028ar1-flexcan | |
| 43 | + - const: fsl,lx2160ar1-flexcan | |
| 44 | + | |
| 45 | + reg: | |
| 46 | + maxItems: 1 | |
| 47 | + | |
| 48 | + interrupts: | |
| 49 | + maxItems: 1 | |
| 50 | + | |
| 51 | + clocks: | |
| 52 | + maxItems: 2 | |
| 53 | + | |
| 54 | + clock-names: | |
| 55 | + items: | |
| 56 | + - const: ipg | |
| 57 | + - const: per | |
| 58 | + | |
| 59 | + clock-frequency: | |
| 60 | + description: | | |
| 61 | + The oscillator frequency driving the flexcan device, filled in by the | |
| 62 | + boot loader. This property should only be used the used operating system | |
| 63 | + doesn't support the clocks and clock-names property. | |
| 64 | + | |
| 65 | + xceiver-supply: | |
| 66 | + description: Regulator that powers the CAN transceiver. | |
| 67 | + | |
| 68 | + big-endian: | |
| 69 | + $ref: /schemas/types.yaml#/definitions/flag | |
| 70 | + description: | | |
| 71 | + This means the registers of FlexCAN controller are big endian. This is | |
| 72 | + optional property.i.e. if this property is not present in device tree | |
| 73 | + node then controller is assumed to be little endian. If this property is | |
| 74 | + present then controller is assumed to be big endian. | |
| 75 | + | |
| 76 | + fsl,stop-mode: | |
| 77 | + description: | | |
| 78 | + Register bits of stop mode control. | |
| 79 | + | |
| 80 | + The format should be as follows: | |
| 81 | + <gpr req_gpr req_bit> | |
| 82 | + gpr is the phandle to general purpose register node. | |
| 83 | + req_gpr is the gpr register offset of CAN stop request. | |
| 84 | + req_bit is the bit offset of CAN stop request. | |
| 85 | + $ref: /schemas/types.yaml#/definitions/phandle-array | |
| 86 | + items: | |
| 87 | + items: | |
| 88 | + - description: The 'gpr' is the phandle to general purpose register node. | |
| 89 | + - description: The 'req_gpr' is the gpr register offset of CAN stop request. | |
| 90 | + maximum: 0xff | |
| 91 | + - description: The 'req_bit' is the bit offset of CAN stop request. | |
| 92 | + maximum: 0x1f | |
| 93 | + | |
| 94 | + fsl,clk-source: | |
| 95 | + description: | | |
| 96 | + Select the clock source to the CAN Protocol Engine (PE). It's SoC | |
| 97 | + implementation dependent. Refer to RM for detailed definition. If this | |
| 98 | + property is not set in device tree node then driver selects clock source 1 | |
| 99 | + by default. | |
| 100 | + 0: clock source 0 (oscillator clock) | |
| 101 | + 1: clock source 1 (peripheral clock) | |
| 102 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 103 | + default: 1 | |
| 104 | + minimum: 0 | |
| 105 | + maximum: 1 | |
| 106 | + | |
| 107 | + wakeup-source: | |
| 108 | + $ref: /schemas/types.yaml#/definitions/flag | |
| 109 | + description: | |
| 110 | + Enable CAN remote wakeup. | |
| 111 | + | |
| 112 | +required: | |
| 113 | + - compatible | |
| 114 | + - reg | |
| 115 | + - interrupts | |
| 116 | + | |
| 117 | +additionalProperties: false | |
| 118 | + | |
| 119 | +examples: | |
| 120 | + - | | |
| 121 | + can@1c000 { | |
| 122 | + compatible = "fsl,p1010-flexcan"; | |
| 123 | + reg = <0x1c000 0x1000>; | |
| 124 | + interrupts = <48 0x2>; | |
| 125 | + interrupt-parent = <&mpic>; | |
| 126 | + clock-frequency = <200000000>; | |
| 127 | + fsl,clk-source = <0>; | |
| 128 | + }; | |
| 129 | + - | | |
| 130 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 131 | + | |
| 132 | + can@2090000 { | |
| 133 | + compatible = "fsl,imx6q-flexcan"; | |
| 134 | + reg = <0x02090000 0x4000>; | |
| 135 | + interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; | |
| 136 | + clocks = <&clks 1>, <&clks 2>; | |
| 137 | + clock-names = "ipg", "per"; | |
| 138 | + fsl,stop-mode = <&gpr 0x34 28>; | |
| 139 | + }; | |
| @@ -1,53 +0,0 @@ | ||
| 1 | −Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC). | |
| 2 | − | |
| 3 | −Required properties: | |
| 4 | − | |
| 5 | −- compatible : Should be "fsl,<processor>-flexcan" | |
| 6 | − | |
| 7 | − An implementation should also claim any of the following compatibles | |
| 8 | − that it is fully backwards compatible with: | |
| 9 | − | |
| 10 | − - fsl,p1010-flexcan | |
| 11 | − | |
| 12 | −- reg : Offset and length of the register set for this device | |
| 13 | −- interrupts : Interrupt tuple for this device | |
| 14 | − | |
| 15 | −Optional properties: | |
| 16 | − | |
| 17 | −- clock-frequency : The oscillator frequency driving the flexcan device | |
| 18 | − | |
| 19 | −- xceiver-supply: Regulator that powers the CAN transceiver | |
| 20 | − | |
| 21 | −- big-endian: This means the registers of FlexCAN controller are big endian. | |
| 22 | − This is optional property.i.e. if this property is not present in | |
| 23 | − device tree node then controller is assumed to be little endian. | |
| 24 | − if this property is present then controller is assumed to be big | |
| 25 | − endian. | |
| 26 | − | |
| 27 | −- fsl,stop-mode: register bits of stop mode control, the format is | |
| 28 | − <&gpr req_gpr req_bit ack_gpr ack_bit>. | |
| 29 | − gpr is the phandle to general purpose register node. | |
| 30 | − req_gpr is the gpr register offset of CAN stop request. | |
| 31 | − req_bit is the bit offset of CAN stop request. | |
| 32 | − ack_gpr is the gpr register offset of CAN stop acknowledge. | |
| 33 | − ack_bit is the bit offset of CAN stop acknowledge. | |
| 34 | − | |
| 35 | −- fsl,clk-source: Select the clock source to the CAN Protocol Engine (PE). | |
| 36 | − It's SoC Implementation dependent. Refer to RM for detailed | |
| 37 | − definition. If this property is not set in device tree node | |
| 38 | − then driver selects clock source 1 by default. | |
| 39 | − 0: clock source 0 (oscillator clock) | |
| 40 | − 1: clock source 1 (peripheral clock) | |
| 41 | − | |
| 42 | −- wakeup-source: enable CAN remote wakeup | |
| 43 | − | |
| 44 | −Example: | |
| 45 | − | |
| 46 | − can@1c000 { | |
| 47 | − compatible = "fsl,p1010-flexcan"; | |
| 48 | − reg = <0x1c000 0x1000>; | |
| 49 | − interrupts = <48 0x2>; | |
| 50 | − interrupt-parent = <&mpic>; | |
| 51 | − clock-frequency = <200000000>; // filled in by bootloader | |
| 52 | − fsl,clk-source = <0>; // select clock source 0 for PE | |
| 53 | − }; | |
| @@ -12,6 +12,9 @@ Required properties: · 11 unmodified lines | ||
| 12 | 12 | Optional properties: |
| 13 | 13 | - vdd-supply: Regulator that powers the CAN controller. |
| 14 | 14 | - xceiver-supply: Regulator that powers the CAN transceiver. |
| 15 | + - gpio-controller: Indicates this device is a GPIO controller. | |
| 16 | + - #gpio-cells: Should be two. The first cell is the pin number and | |
| 17 | + the second cell is used to specify the gpio polarity. | |
| 15 | 18 | |
| 16 | 19 | Example: |
| 17 | 20 | can0: can@1 { |
| @@ -19,7 +22,9 @@ Example: · 1 unmodified line | ||
| 19 | 22 | reg = <1>; |
| 20 | 23 | clocks = <&clk24m>; |
| 21 | 24 | interrupt-parent = <&gpio4>; |
| 22 | − interrupts = <13 0x2>; | |
| 25 | + interrupts = <13 IRQ_TYPE_LEVEL_LOW>; | |
| 23 | 26 | vdd-supply = <®5v0>; |
| 24 | 27 | xceiver-supply = <®5v0>; |
| 28 | + gpio-controller; | |
| 29 | + #gpio-cells = <2>; | |
| 25 | 30 | }; |
| @@ -0,0 +1,79 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/can/microchip,mcp251xfd.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: | |
| 8 | + Microchip MCP2517FD and MCP2518FD stand-alone CAN controller device tree | |
| 9 | + bindings | |
| 10 | + | |
| 11 | +maintainers: | |
| 12 | + - Marc Kleine-Budde <mkl@pengutronix.de> | |
| 13 | + | |
| 14 | +properties: | |
| 15 | + compatible: | |
| 16 | + oneOf: | |
| 17 | + - const: microchip,mcp2517fd | |
| 18 | + description: for MCP2517FD | |
| 19 | + - const: microchip,mcp2518fd | |
| 20 | + description: for MCP2518FD | |
| 21 | + - const: microchip,mcp251xfd | |
| 22 | + description: to autodetect chip variant | |
| 23 | + | |
| 24 | + reg: | |
| 25 | + maxItems: 1 | |
| 26 | + | |
| 27 | + interrupts: | |
| 28 | + maxItems: 1 | |
| 29 | + | |
| 30 | + clocks: | |
| 31 | + maxItems: 1 | |
| 32 | + | |
| 33 | + vdd-supply: | |
| 34 | + description: Regulator that powers the CAN controller. | |
| 35 | + | |
| 36 | + xceiver-supply: | |
| 37 | + description: Regulator that powers the CAN transceiver. | |
| 38 | + | |
| 39 | + microchip,rx-int-gpios: | |
| 40 | + description: | |
| 41 | + GPIO phandle of GPIO connected to to INT1 pin of the MCP251XFD, which | |
| 42 | + signals a pending RX interrupt. | |
| 43 | + maxItems: 1 | |
| 44 | + | |
| 45 | + spi-max-frequency: | |
| 46 | + description: | |
| 47 | + Must be half or less of "clocks" frequency. | |
| 48 | + maximum: 20000000 | |
| 49 | + | |
| 50 | +required: | |
| 51 | + - compatible | |
| 52 | + - reg | |
| 53 | + - interrupts | |
| 54 | + - clocks | |
| 55 | + | |
| 56 | +additionalProperties: false | |
| 57 | + | |
| 58 | +examples: | |
| 59 | + - | | |
| 60 | + #include <dt-bindings/gpio/gpio.h> | |
| 61 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 62 | + | |
| 63 | + spi0 { | |
| 64 | + #address-cells = <1>; | |
| 65 | + #size-cells = <0>; | |
| 66 | + | |
| 67 | + can@0 { | |
| 68 | + compatible = "microchip,mcp251xfd"; | |
| 69 | + reg = <0>; | |
| 70 | + clocks = <&can0_osc>; | |
| 71 | + pinctrl-names = "default"; | |
| 72 | + pinctrl-0 = <&can0_pins>; | |
| 73 | + spi-max-frequency = <20000000>; | |
| 74 | + interrupts-extended = <&gpio 13 IRQ_TYPE_LEVEL_LOW>; | |
| 75 | + microchip,rx-int-gpios = <&gpio 27 GPIO_ACTIVE_LOW>; | |
| 76 | + vdd-supply = <®5v0>; | |
| 77 | + xceiver-supply = <®5v0>; | |
| 78 | + }; | |
| 79 | + }; | |
| @@ -2,13 +2,15 @@ Renesas R-Car CAN controller Device Tree Bindings · 1 unmodified line | ||
| 2 | 2 | ------------------------------------------------- |
| 3 | 3 | |
| 4 | 4 | Required properties: |
| 5 | −- compatible: "renesas,can-r8a7743" if CAN controller is a part of R8A7743 SoC. | |
| 5 | +- compatible: "renesas,can-r8a7742" if CAN controller is a part of R8A7742 SoC. | |
| 6 | + "renesas,can-r8a7743" if CAN controller is a part of R8A7743 SoC. | |
| 6 | 7 | "renesas,can-r8a7744" if CAN controller is a part of R8A7744 SoC. |
| 7 | 8 | "renesas,can-r8a7745" if CAN controller is a part of R8A7745 SoC. |
| 8 | 9 | "renesas,can-r8a77470" if CAN controller is a part of R8A77470 SoC. |
| 9 | 10 | "renesas,can-r8a774a1" if CAN controller is a part of R8A774A1 SoC. |
| 10 | 11 | "renesas,can-r8a774b1" if CAN controller is a part of R8A774B1 SoC. |
| 11 | 12 | "renesas,can-r8a774c0" if CAN controller is a part of R8A774C0 SoC. |
| 13 | + "renesas,can-r8a774e1" if CAN controller is a part of R8A774E1 SoC. | |
| 12 | 14 | "renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC. |
| 13 | 15 | "renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC. |
| 14 | 16 | "renesas,can-r8a7790" if CAN controller is a part of R8A7790 SoC. |
| @@ -37,8 +39,8 @@ Required properties: · 22 unmodified lines | ||
| 37 | 39 | - pinctrl-0: pin control group to be used for this controller. |
| 38 | 40 | - pinctrl-names: must be "default". |
| 39 | 41 | |
| 40 | −Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796, | |
| 41 | −R8A77965, R8A77990, and R8A77995: | |
| 42 | +Required properties for R8A774A1, R8A774B1, R8A774C0, R8A774E1, R8A7795, | |
| 43 | +R8A7796, R8A77965, R8A77990, and R8A77995: | |
| 42 | 44 | For the denoted SoCs, "clkp2" can be CANFD clock. This is a div6 clock and can |
| 43 | 45 | be used by both CAN and CAN FD controller at the same time. It needs to be |
| 44 | 46 | scaled to maximum frequency if any of these controllers use it. This is done |
| @@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines | ||
| 7 | 7 | - "renesas,r8a774a1-canfd" for R8A774A1 (RZ/G2M) compatible controller. |
| 8 | 8 | - "renesas,r8a774b1-canfd" for R8A774B1 (RZ/G2N) compatible controller. |
| 9 | 9 | - "renesas,r8a774c0-canfd" for R8A774C0 (RZ/G2E) compatible controller. |
| 10 | + - "renesas,r8a774e1-canfd" for R8A774E1 (RZ/G2H) compatible controller. | |
| 10 | 11 | - "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller. |
| 11 | 12 | - "renesas,r8a7796-canfd" for R8A7796 (R-Car M3-W) compatible controller. |
| 12 | 13 | - "renesas,r8a77965-canfd" for R8A77965 (R-Car M3-N) compatible controller. |
| @@ -32,8 +33,8 @@ The name of the child nodes are "channel0" and "channel1" respectively. Each · 19 unmodified lines | ||
| 32 | 33 | child node supports the "status" property only, which is used to |
| 33 | 34 | enable/disable the respective channel. |
| 34 | 35 | |
| 35 | −Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796, | |
| 36 | −R8A77965, R8A77990, and R8A77995: | |
| 36 | +Required properties for R8A774A1, R8A774B1, R8A774C0, R8A774E1, R8A7795, | |
| 37 | +R8A7796, R8A77965, R8A77990, and R8A77995: | |
| 37 | 38 | In the denoted SoCs, canfd clock is a div6 clock and can be used by both CAN |
| 38 | 39 | and CAN FD controller at the same time. It needs to be scaled to maximum |
| 39 | 40 | frequency if any of these controllers use it. This is done using the below |
| @@ -95,7 +95,7 @@ Ethernet switch connected via MDIO to the host, CPU port wired to eth0: · 94 unmodified lines | ||
| 95 | 95 | |
| 96 | 96 | fixed-link { |
| 97 | 97 | speed = <1000>; |
| 98 | − duplex-full; | |
| 98 | + full-duplex; | |
| 99 | 99 | }; |
| 100 | 100 | }; |
| 101 | 101 | |
| @@ -104,8 +104,9 @@ Ethernet switch connected via MDIO to the host, CPU port wired to eth0: · 2 unmodified lines | ||
| 104 | 104 | #address-cells = <1>; |
| 105 | 105 | #size-cells = <0>; |
| 106 | 106 | |
| 107 | − switch0: ethernet-switch@30 { | |
| 107 | + switch0: ethernet-switch@1e { | |
| 108 | 108 | compatible = "brcm,bcm53125"; |
| 109 | + reg = <30>; | |
| 109 | 110 | #address-cells = <1>; |
| 110 | 111 | #size-cells = <0>; |
| 111 | 112 | |
| @@ -128,7 +129,7 @@ Ethernet switch connected via MDIO to the host, CPU port wired to eth0: · 16 unmodified lines | ||
| 128 | 129 | label = "cable-modem"; |
| 129 | 130 | fixed-link { |
| 130 | 131 | speed = <1000>; |
| 131 | − duplex-full; | |
| 132 | + full-duplex; | |
| 132 | 133 | }; |
| 133 | 134 | phy-mode = "rgmii-txid"; |
| 134 | 135 | }; |
| @@ -138,7 +139,7 @@ Ethernet switch connected via MDIO to the host, CPU port wired to eth0: · 3 unmodified lines | ||
| 138 | 139 | label = "cpu"; |
| 139 | 140 | fixed-link { |
| 140 | 141 | speed = <1000>; |
| 141 | − duplex-full; | |
| 142 | + full-duplex; | |
| 142 | 143 | }; |
| 143 | 144 | phy-mode = "rgmii-txid"; |
| 144 | 145 | ethernet = <ð0>; |
| @@ -5,6 +5,7 @@ Required properties: · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | - compatible: may be compatible = "mediatek,mt7530" |
| 7 | 7 | or compatible = "mediatek,mt7621" |
| 8 | + or compatible = "mediatek,mt7531" | |
| 8 | 9 | - #address-cells: Must be 1. |
| 9 | 10 | - #size-cells: Must be 0. |
| 10 | 11 | - mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part |
| @@ -32,10 +33,14 @@ Required properties for the child nodes within ports container: · 21 unmodified lines | ||
| 32 | 33 | |
| 33 | 34 | - reg: Port address described must be 6 for CPU port and from 0 to 5 for |
| 34 | 35 | user ports. |
| 35 | −- phy-mode: String, must be either "trgmii" or "rgmii" for port labeled | |
| 36 | − "cpu". | |
| 37 | − | |
| 38 | −Port 5 of the switch is muxed between: | |
| 36 | +- phy-mode: String, the following values are acceptable for port labeled | |
| 37 | + "cpu": | |
| 38 | + If compatible mediatek,mt7530 or mediatek,mt7621 is set, | |
| 39 | + must be either "trgmii" or "rgmii" | |
| 40 | + If compatible mediatek,mt7531 is set, | |
| 41 | + must be either "sgmii", "1000base-x" or "2500base-x" | |
| 42 | + | |
| 43 | +Port 5 of mt7530 and mt7621 switch is muxed between: | |
| 39 | 44 | 1. GMAC5: GMAC5 can interface with another external MAC or PHY. |
| 40 | 45 | 2. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC |
| 41 | 46 | of the SOC. Used in many setups where port 0/4 becomes the WAN port. |
| @@ -120,6 +120,13 @@ properties: · 119 unmodified lines | ||
| 120 | 120 | and is useful for determining certain configuration settings |
| 121 | 121 | such as flow control thresholds. |
| 122 | 122 | |
| 123 | + rx-internal-delay-ps: | |
| 124 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 125 | + description: | | |
| 126 | + RGMII Receive Clock Delay defined in pico seconds. | |
| 127 | + This is used for controllers that have configurable RX internal delays. | |
| 128 | + If this property is present then the MAC applies the RX delay. | |
| 129 | + | |
| 123 | 130 | sfp: |
| 124 | 131 | $ref: /schemas/types.yaml#definitions/phandle |
| 125 | 132 | description: |
| @@ -131,6 +138,13 @@ properties: · 5 unmodified lines | ||
| 131 | 138 | The size of the controller\'s transmit fifo in bytes. This |
| 132 | 139 | is used for components that can have configurable fifo sizes. |
| 133 | 140 | |
| 141 | + tx-internal-delay-ps: | |
| 142 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 143 | + description: | | |
| 144 | + RGMII Transmit Clock Delay defined in pico seconds. | |
| 145 | + This is used for controllers that have configurable TX internal delays. | |
| 146 | + If this property is present then the MAC applies the TX delay. | |
| 147 | + | |
| 134 | 148 | managed: |
| 135 | 149 | description: |
| 136 | 150 | Specifies the PHY management type. If auto is set and fixed-link |
| @@ -0,0 +1,132 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/intel,dwmac-plat.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Intel DWMAC glue layer Device Tree Bindings | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Vineetha G. Jaya Kumaran <vineetha.g.jaya.kumaran@intel.com> | |
| 11 | + | |
| 12 | +select: | |
| 13 | + properties: | |
| 14 | + compatible: | |
| 15 | + contains: | |
| 16 | + enum: | |
| 17 | + - intel,keembay-dwmac | |
| 18 | + required: | |
| 19 | + - compatible | |
| 20 | + | |
| 21 | +allOf: | |
| 22 | + - $ref: "snps,dwmac.yaml#" | |
| 23 | + | |
| 24 | +properties: | |
| 25 | + compatible: | |
| 26 | + oneOf: | |
| 27 | + - items: | |
| 28 | + - enum: | |
| 29 | + - intel,keembay-dwmac | |
| 30 | + - const: snps,dwmac-4.10a | |
| 31 | + | |
| 32 | + clocks: | |
| 33 | + items: | |
| 34 | + - description: GMAC main clock | |
| 35 | + - description: PTP reference clock | |
| 36 | + - description: Tx clock | |
| 37 | + | |
| 38 | + clock-names: | |
| 39 | + items: | |
| 40 | + - const: stmmaceth | |
| 41 | + - const: ptp_ref | |
| 42 | + - const: tx_clk | |
| 43 | + | |
| 44 | +required: | |
| 45 | + - compatible | |
| 46 | + - clocks | |
| 47 | + - clock-names | |
| 48 | + | |
| 49 | +unevaluatedProperties: false | |
| 50 | + | |
| 51 | +examples: | |
| 52 | +# FIXME: Remove defines and include the correct header file | |
| 53 | +# once it is available in mainline. | |
| 54 | + - | | |
| 55 | + #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| 56 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 57 | + #define MOVISOC_KMB_PSS_GBE | |
| 58 | + #define MOVISOC_KMB_PSS_AUX_GBE_PTP | |
| 59 | + #define MOVISOC_KMB_PSS_AUX_GBE_TX | |
| 60 | + | |
| 61 | + stmmac_axi_setup: stmmac-axi-config { | |
| 62 | + snps,lpi_en; | |
| 63 | + snps,wr_osr_lmt = <0x0>; | |
| 64 | + snps,rd_osr_lmt = <0x2>; | |
| 65 | + snps,blen = <0 0 0 0 16 8 4>; | |
| 66 | + }; | |
| 67 | + | |
| 68 | + mtl_rx_setup: rx-queues-config { | |
| 69 | + snps,rx-queues-to-use = <2>; | |
| 70 | + snps,rx-sched-sp; | |
| 71 | + queue0 { | |
| 72 | + snps,dcb-algorithm; | |
| 73 | + snps,map-to-dma-channel = <0x0>; | |
| 74 | + snps,priority = <0x0>; | |
| 75 | + }; | |
| 76 | + | |
| 77 | + queue1 { | |
| 78 | + snps,dcb-algorithm; | |
| 79 | + snps,map-to-dma-channel = <0x1>; | |
| 80 | + snps,priority = <0x1>; | |
| 81 | + }; | |
| 82 | + }; | |
| 83 | + | |
| 84 | + mtl_tx_setup: tx-queues-config { | |
| 85 | + snps,tx-queues-to-use = <2>; | |
| 86 | + snps,tx-sched-wrr; | |
| 87 | + queue0 { | |
| 88 | + snps,weight = <0x10>; | |
| 89 | + snps,dcb-algorithm; | |
| 90 | + snps,priority = <0x0>; | |
| 91 | + }; | |
| 92 | + | |
| 93 | + queue1 { | |
| 94 | + snps,weight = <0x10>; | |
| 95 | + snps,dcb-algorithm; | |
| 96 | + snps,priority = <0x1>; | |
| 97 | + }; | |
| 98 | + }; | |
| 99 | + | |
| 100 | + gmac0: ethernet@3a000000 { | |
| 101 | + compatible = "intel,keembay-dwmac", "snps,dwmac-4.10a"; | |
| 102 | + interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; | |
| 103 | + interrupt-names = "macirq"; | |
| 104 | + reg = <0x3a000000 0x8000>; | |
| 105 | + snps,perfect-filter-entries = <128>; | |
| 106 | + phy-handle = <ð_phy0>; | |
| 107 | + phy-mode = "rgmii"; | |
| 108 | + rx-fifo-depth = <4096>; | |
| 109 | + tx-fifo-depth = <4096>; | |
| 110 | + clock-names = "stmmaceth", "ptp_ref", "tx_clk"; | |
| 111 | + clocks = <&scmi_clk MOVISOC_KMB_PSS_GBE>, | |
| 112 | + <&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_PTP>, | |
| 113 | + <&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_TX>; | |
| 114 | + snps,pbl = <0x4>; | |
| 115 | + snps,axi-config = <&stmmac_axi_setup>; | |
| 116 | + snps,mtl-rx-config = <&mtl_rx_setup>; | |
| 117 | + snps,mtl-tx-config = <&mtl_tx_setup>; | |
| 118 | + snps,tso; | |
| 119 | + status = "okay"; | |
| 120 | + | |
| 121 | + mdio0 { | |
| 122 | + #address-cells = <1>; | |
| 123 | + #size-cells = <0>; | |
| 124 | + compatible = "snps,dwmac-mdio"; | |
| 125 | + | |
| 126 | + ethernet-phy@0 { | |
| 127 | + reg = <0>; | |
| 128 | + }; | |
| 129 | + }; | |
| 130 | + }; | |
| 131 | + | |
| 132 | +... | |
| @@ -45,3 +45,37 @@ dfx-server { · 44 unmodified lines | ||
| 45 | 45 | ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; |
| 46 | 46 | reg = <MBUS_ID(0x08, 0x00) 0 0x100000>; |
| 47 | 47 | }; |
| 48 | + | |
| 49 | +Marvell Prestera SwitchDev bindings | |
| 50 | +----------------------------------- | |
| 51 | +Optional properties: | |
| 52 | +- compatible: must be "marvell,prestera" | |
| 53 | +- base-mac-provider: describes handle to node which provides base mac address, | |
| 54 | + might be a static base mac address or nvme cell provider. | |
| 55 | + | |
| 56 | +Example: | |
| 57 | + | |
| 58 | +eeprom_mac_addr: eeprom-mac-addr { | |
| 59 | + compatible = "eeprom,mac-addr-cell"; | |
| 60 | + status = "okay"; | |
| 61 | + | |
| 62 | + nvmem = <&eeprom_at24>; | |
| 63 | +}; | |
| 64 | + | |
| 65 | +prestera { | |
| 66 | + compatible = "marvell,prestera"; | |
| 67 | + status = "okay"; | |
| 68 | + | |
| 69 | + base-mac-provider = <&eeprom_mac_addr>; | |
| 70 | +}; | |
| 71 | + | |
| 72 | +The current implementation of Prestera Switchdev PCI interface driver requires | |
| 73 | +that BAR2 is assigned to 0xf6000000 as base address from the PCI IO range: | |
| 74 | + | |
| 75 | +&cp0_pcie0 { | |
| 76 | + ranges = <0x81000000 0x0 0xfb000000 0x0 0xfb000000 0x0 0xf0000 | |
| 77 | + 0x82000000 0x0 0xf6000000 0x0 0xf6000000 0x0 0x2000000 | |
| 78 | + 0x82000000 0x0 0xf9000000 0x0 0xf9000000 0x0 0x100000>; | |
| 79 | + phys = <&cp0_comphy0 0>; | |
| 80 | + status = "okay"; | |
| 81 | +}; | |
| @@ -1,25 +0,0 @@ | ||
| 1 | −* Samsung S3FWRN5 NCI NFC Controller | |
| 2 | − | |
| 3 | −Required properties: | |
| 4 | −- compatible: Should be "samsung,s3fwrn5-i2c". | |
| 5 | −- reg: address on the bus | |
| 6 | −- interrupts: GPIO interrupt to which the chip is connected | |
| 7 | −- s3fwrn5,en-gpios: Output GPIO pin used for enabling/disabling the chip | |
| 8 | −- s3fwrn5,fw-gpios: Output GPIO pin used to enter firmware mode and | |
| 9 | − sleep/wakeup control | |
| 10 | − | |
| 11 | −Example: | |
| 12 | − | |
| 13 | −&hsi2c_4 { | |
| 14 | − s3fwrn5@27 { | |
| 15 | − compatible = "samsung,s3fwrn5-i2c"; | |
| 16 | − | |
| 17 | − reg = <0x27>; | |
| 18 | − | |
| 19 | − interrupt-parent = <&gpa1>; | |
| 20 | − interrupts = <3 0 0>; | |
| 21 | − | |
| 22 | − s3fwrn5,en-gpios = <&gpf1 4 0>; | |
| 23 | − s3fwrn5,fw-gpios = <&gpj0 2 0>; | |
| 24 | − }; | |
| 25 | −}; | |
| @@ -0,0 +1,73 @@ | ||
| 1 | +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/nfc/samsung,s3fwrn5.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Samsung S3FWRN5 NCI NFC Controller | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Krzysztof Kozlowski <krzk@kernel.org> | |
| 11 | + - Krzysztof Opasiak <k.opasiak@samsung.com> | |
| 12 | + | |
| 13 | +properties: | |
| 14 | + compatible: | |
| 15 | + const: samsung,s3fwrn5-i2c | |
| 16 | + | |
| 17 | + en-gpios: | |
| 18 | + maxItems: 1 | |
| 19 | + description: | |
| 20 | + Output GPIO pin used for enabling/disabling the chip | |
| 21 | + | |
| 22 | + interrupts: | |
| 23 | + maxItems: 1 | |
| 24 | + | |
| 25 | + reg: | |
| 26 | + maxItems: 1 | |
| 27 | + | |
| 28 | + wake-gpios: | |
| 29 | + maxItems: 1 | |
| 30 | + description: | |
| 31 | + Output GPIO pin used to enter firmware mode and sleep/wakeup control | |
| 32 | + | |
| 33 | + s3fwrn5,en-gpios: | |
| 34 | + maxItems: 1 | |
| 35 | + deprecated: true | |
| 36 | + description: | |
| 37 | + Use en-gpios | |
| 38 | + | |
| 39 | + s3fwrn5,fw-gpios: | |
| 40 | + maxItems: 1 | |
| 41 | + deprecated: true | |
| 42 | + description: | |
| 43 | + Use wake-gpios | |
| 44 | + | |
| 45 | +additionalProperties: false | |
| 46 | + | |
| 47 | +required: | |
| 48 | + - compatible | |
| 49 | + - en-gpios | |
| 50 | + - interrupts | |
| 51 | + - reg | |
| 52 | + - wake-gpios | |
| 53 | + | |
| 54 | +examples: | |
| 55 | + - | | |
| 56 | + #include <dt-bindings/gpio/gpio.h> | |
| 57 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 58 | + | |
| 59 | + i2c4 { | |
| 60 | + #address-cells = <1>; | |
| 61 | + #size-cells = <0>; | |
| 62 | + | |
| 63 | + s3fwrn5@27 { | |
| 64 | + compatible = "samsung,s3fwrn5-i2c"; | |
| 65 | + reg = <0x27>; | |
| 66 | + | |
| 67 | + interrupt-parent = <&gpa1>; | |
| 68 | + interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; | |
| 69 | + | |
| 70 | + en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>; | |
| 71 | + wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>; | |
| 72 | + }; | |
| 73 | + }; | |
| @@ -0,0 +1,262 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/net/renesas,etheravb.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Renesas Ethernet AVB | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Sergei Shtylyov <sergei.shtylyov@gmail.com> | |
| 11 | + | |
| 12 | +properties: | |
| 13 | + compatible: | |
| 14 | + oneOf: | |
| 15 | + - items: | |
| 16 | + - enum: | |
| 17 | + - renesas,etheravb-r8a7742 # RZ/G1H | |
| 18 | + - renesas,etheravb-r8a7743 # RZ/G1M | |
| 19 | + - renesas,etheravb-r8a7744 # RZ/G1N | |
| 20 | + - renesas,etheravb-r8a7745 # RZ/G1E | |
| 21 | + - renesas,etheravb-r8a77470 # RZ/G1C | |
| 22 | + - renesas,etheravb-r8a7790 # R-Car H2 | |
| 23 | + - renesas,etheravb-r8a7791 # R-Car M2-W | |
| 24 | + - renesas,etheravb-r8a7792 # R-Car V2H | |
| 25 | + - renesas,etheravb-r8a7793 # R-Car M2-N | |
| 26 | + - renesas,etheravb-r8a7794 # R-Car E2 | |
| 27 | + - const: renesas,etheravb-rcar-gen2 # R-Car Gen2 and RZ/G1 | |
| 28 | + | |
| 29 | + - items: | |
| 30 | + - enum: | |
| 31 | + - renesas,etheravb-r8a774a1 # RZ/G2M | |
| 32 | + - renesas,etheravb-r8a774b1 # RZ/G2N | |
| 33 | + - renesas,etheravb-r8a774c0 # RZ/G2E | |
| 34 | + - renesas,etheravb-r8a774e1 # RZ/G2H | |
| 35 | + - renesas,etheravb-r8a7795 # R-Car H3 | |
| 36 | + - renesas,etheravb-r8a7796 # R-Car M3-W | |
| 37 | + - renesas,etheravb-r8a77961 # R-Car M3-W+ | |
| 38 | + - renesas,etheravb-r8a77965 # R-Car M3-N | |
| 39 | + - renesas,etheravb-r8a77970 # R-Car V3M | |
| 40 | + - renesas,etheravb-r8a77980 # R-Car V3H | |
| 41 | + - renesas,etheravb-r8a77990 # R-Car E3 | |
| 42 | + - renesas,etheravb-r8a77995 # R-Car D3 | |
| 43 | + - const: renesas,etheravb-rcar-gen3 # R-Car Gen3 and RZ/G2 | |
| 44 | + | |
| 45 | + reg: true | |
| 46 | + | |
| 47 | + interrupts: true | |
| 48 | + | |
| 49 | + interrupt-names: true | |
| 50 | + | |
| 51 | + clocks: | |
| 52 | + maxItems: 1 | |
| 53 | + | |
| 54 | + iommus: | |
| 55 | + maxItems: 1 | |
| 56 | + | |
| 57 | + power-domains: | |
| 58 | + maxItems: 1 | |
| 59 | + | |
| 60 | + resets: | |
| 61 | + maxItems: 1 | |
| 62 | + | |
| 63 | + phy-mode: true | |
| 64 | + | |
| 65 | + phy-handle: true | |
| 66 | + | |
| 67 | + '#address-cells': | |
| 68 | + description: Number of address cells for the MDIO bus. | |
| 69 | + const: 1 | |
| 70 | + | |
| 71 | + '#size-cells': | |
| 72 | + description: Number of size cells on the MDIO bus. | |
| 73 | + const: 0 | |
| 74 | + | |
| 75 | + renesas,no-ether-link: | |
| 76 | + type: boolean | |
| 77 | + description: | |
| 78 | + Specify when a board does not provide a proper AVB_LINK signal. | |
| 79 | + | |
| 80 | + renesas,ether-link-active-low: | |
| 81 | + type: boolean | |
| 82 | + description: | |
| 83 | + Specify when the AVB_LINK signal is active-low instead of normal | |
| 84 | + active-high. | |
| 85 | + | |
| 86 | + rx-internal-delay-ps: | |
| 87 | + enum: [0, 1800] | |
| 88 | + | |
| 89 | + tx-internal-delay-ps: | |
| 90 | + enum: [0, 2000] | |
| 91 | + | |
| 92 | +patternProperties: | |
| 93 | + "^ethernet-phy@[0-9a-f]$": | |
| 94 | + type: object | |
| 95 | + $ref: ethernet-phy.yaml# | |
| 96 | + | |
| 97 | +required: | |
| 98 | + - compatible | |
| 99 | + - reg | |
| 100 | + - interrupts | |
| 101 | + - clocks | |
| 102 | + - power-domains | |
| 103 | + - resets | |
| 104 | + - phy-mode | |
| 105 | + - phy-handle | |
| 106 | + - '#address-cells' | |
| 107 | + - '#size-cells' | |
| 108 | + | |
| 109 | +allOf: | |
| 110 | + - $ref: ethernet-controller.yaml# | |
| 111 | + | |
| 112 | + - if: | |
| 113 | + properties: | |
| 114 | + compatible: | |
| 115 | + contains: | |
| 116 | + enum: | |
| 117 | + - renesas,etheravb-rcar-gen2 | |
| 118 | + - renesas,etheravb-r8a7795 | |
| 119 | + - renesas,etheravb-r8a7796 | |
| 120 | + - renesas,etheravb-r8a77961 | |
| 121 | + - renesas,etheravb-r8a77965 | |
| 122 | + then: | |
| 123 | + properties: | |
| 124 | + reg: | |
| 125 | + items: | |
| 126 | + - description: MAC register block | |
| 127 | + - description: Stream buffer | |
| 128 | + else: | |
| 129 | + properties: | |
| 130 | + reg: | |
| 131 | + items: | |
| 132 | + - description: MAC register block | |
| 133 | + | |
| 134 | + - if: | |
| 135 | + properties: | |
| 136 | + compatible: | |
| 137 | + contains: | |
| 138 | + const: renesas,etheravb-rcar-gen2 | |
| 139 | + then: | |
| 140 | + properties: | |
| 141 | + interrupts: | |
| 142 | + maxItems: 1 | |
| 143 | + interrupt-names: | |
| 144 | + items: | |
| 145 | + - const: mux | |
| 146 | + rx-internal-delay-ps: false | |
| 147 | + else: | |
| 148 | + properties: | |
| 149 | + interrupts: | |
| 150 | + minItems: 25 | |
| 151 | + maxItems: 25 | |
| 152 | + interrupt-names: | |
| 153 | + items: | |
| 154 | + pattern: '^ch[0-9]+$' | |
| 155 | + required: | |
| 156 | + - interrupt-names | |
| 157 | + - rx-internal-delay-ps | |
| 158 | + | |
| 159 | + - if: | |
| 160 | + properties: | |
| 161 | + compatible: | |
| 162 | + contains: | |
| 163 | + enum: | |
| 164 | + - renesas,etheravb-r8a774a1 | |
| 165 | + - renesas,etheravb-r8a774b1 | |
| 166 | + - renesas,etheravb-r8a7795 | |
| 167 | + - renesas,etheravb-r8a7796 | |
| 168 | + - renesas,etheravb-r8a77961 | |
| 169 | + - renesas,etheravb-r8a77965 | |
| 170 | + - renesas,etheravb-r8a77970 | |
| 171 | + - renesas,etheravb-r8a77980 | |
| 172 | + then: | |
| 173 | + required: | |
| 174 | + - tx-internal-delay-ps | |
| 175 | + else: | |
| 176 | + properties: | |
| 177 | + tx-internal-delay-ps: false | |
| 178 | + | |
| 179 | + - if: | |
| 180 | + properties: | |
| 181 | + compatible: | |
| 182 | + contains: | |
| 183 | + const: renesas,etheravb-r8a77995 | |
| 184 | + then: | |
| 185 | + properties: | |
| 186 | + rx-internal-delay-ps: | |
| 187 | + const: 1800 | |
| 188 | + | |
| 189 | + - if: | |
| 190 | + properties: | |
| 191 | + compatible: | |
| 192 | + contains: | |
| 193 | + const: renesas,etheravb-r8a77980 | |
| 194 | + then: | |
| 195 | + properties: | |
| 196 | + tx-internal-delay-ps: | |
| 197 | + const: 2000 | |
| 198 | + | |
| 199 | +additionalProperties: false | |
| 200 | + | |
| 201 | +examples: | |
| 202 | + - | | |
| 203 | + #include <dt-bindings/clock/r8a7795-cpg-mssr.h> | |
| 204 | + #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| 205 | + #include <dt-bindings/power/r8a7795-sysc.h> | |
| 206 | + #include <dt-bindings/gpio/gpio.h> | |
| 207 | + aliases { | |
| 208 | + ethernet0 = &avb; | |
| 209 | + }; | |
| 210 | + | |
| 211 | + avb: ethernet@e6800000 { | |
| 212 | + compatible = "renesas,etheravb-r8a7795", | |
| 213 | + "renesas,etheravb-rcar-gen3"; | |
| 214 | + reg = <0xe6800000 0x800>, <0xe6a00000 0x10000>; | |
| 215 | + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, | |
| 216 | + <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, | |
| 217 | + <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, | |
| 218 | + <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, | |
| 219 | + <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, | |
| 220 | + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, | |
| 221 | + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, | |
| 222 | + <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, | |
| 223 | + <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, | |
| 224 | + <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, | |
| 225 | + <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, | |
| 226 | + <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, | |
| 227 | + <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, | |
| 228 | + <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, | |
| 229 | + <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, | |
| 230 | + <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, | |
| 231 | + <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, | |
| 232 | + <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, | |
| 233 | + <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, | |
| 234 | + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, | |
| 235 | + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, | |
| 236 | + <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, | |
| 237 | + <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, | |
| 238 | + <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, | |
| 239 | + <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; | |
| 240 | + interrupt-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", | |
| 241 | + "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", | |
| 242 | + "ch13", "ch14", "ch15", "ch16", "ch17", "ch18", | |
| 243 | + "ch19", "ch20", "ch21", "ch22", "ch23", "ch24"; | |
| 244 | + clocks = <&cpg CPG_MOD 812>; | |
| 245 | + iommus = <&ipmmu_ds0 16>; | |
| 246 | + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; | |
| 247 | + resets = <&cpg 812>; | |
| 248 | + phy-mode = "rgmii"; | |
| 249 | + phy-handle = <&phy0>; | |
| 250 | + rx-internal-delay-ps = <0>; | |
| 251 | + tx-internal-delay-ps = <2000>; | |
| 252 | + #address-cells = <1>; | |
| 253 | + #size-cells = <0>; | |
| 254 | + | |
| 255 | + phy0: ethernet-phy@0 { | |
| 256 | + rxc-skew-ps = <1500>; | |
| 257 | + reg = <0>; | |
| 258 | + interrupt-parent = <&gpio2>; | |
| 259 | + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; | |
| 260 | + reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; | |
| 261 | + }; | |
| 262 | + }; | |
| @@ -1,135 +0,0 @@ | ||
| 1 | −* Renesas Electronics Ethernet AVB | |
| 2 | − | |
| 3 | −This file provides information on what the device node for the Ethernet AVB | |
| 4 | −interface contains. | |
| 5 | − | |
| 6 | −Required properties: | |
| 7 | −- compatible: Must contain one or more of the following: | |
| 8 | − - "renesas,etheravb-r8a7742" for the R8A7742 SoC. | |
| 9 | − - "renesas,etheravb-r8a7743" for the R8A7743 SoC. | |
| 10 | − - "renesas,etheravb-r8a7744" for the R8A7744 SoC. | |
| 11 | − - "renesas,etheravb-r8a7745" for the R8A7745 SoC. | |
| 12 | − - "renesas,etheravb-r8a77470" for the R8A77470 SoC. | |
| 13 | − - "renesas,etheravb-r8a7790" for the R8A7790 SoC. | |
| 14 | − - "renesas,etheravb-r8a7791" for the R8A7791 SoC. | |
| 15 | − - "renesas,etheravb-r8a7792" for the R8A7792 SoC. | |
| 16 | − - "renesas,etheravb-r8a7793" for the R8A7793 SoC. | |
| 17 | − - "renesas,etheravb-r8a7794" for the R8A7794 SoC. | |
| 18 | − - "renesas,etheravb-rcar-gen2" as a fallback for the above | |
| 19 | − R-Car Gen2 and RZ/G1 devices. | |
| 20 | − | |
| 21 | − - "renesas,etheravb-r8a774a1" for the R8A774A1 SoC. | |
| 22 | − - "renesas,etheravb-r8a774b1" for the R8A774B1 SoC. | |
| 23 | − - "renesas,etheravb-r8a774c0" for the R8A774C0 SoC. | |
| 24 | − - "renesas,etheravb-r8a774e1" for the R8A774E1 SoC. | |
| 25 | − - "renesas,etheravb-r8a7795" for the R8A7795 SoC. | |
| 26 | − - "renesas,etheravb-r8a7796" for the R8A77960 SoC. | |
| 27 | − - "renesas,etheravb-r8a77961" for the R8A77961 SoC. | |
| 28 | − - "renesas,etheravb-r8a77965" for the R8A77965 SoC. | |
| 29 | − - "renesas,etheravb-r8a77970" for the R8A77970 SoC. | |
| 30 | − - "renesas,etheravb-r8a77980" for the R8A77980 SoC. | |
| 31 | − - "renesas,etheravb-r8a77990" for the R8A77990 SoC. | |
| 32 | − - "renesas,etheravb-r8a77995" for the R8A77995 SoC. | |
| 33 | − - "renesas,etheravb-rcar-gen3" as a fallback for the above | |
| 34 | − R-Car Gen3 and RZ/G2 devices. | |
| 35 | − | |
| 36 | − When compatible with the generic version, nodes must list the | |
| 37 | − SoC-specific version corresponding to the platform first followed by | |
| 38 | − the generic version. | |
| 39 | − | |
| 40 | −- reg: Offset and length of (1) the register block and (2) the stream buffer. | |
| 41 | − The region for the register block is mandatory. | |
| 42 | − The region for the stream buffer is optional, as it is only present on | |
| 43 | − R-Car Gen2 and RZ/G1 SoCs, and on R-Car H3 (R8A7795), M3-W (R8A77960), | |
| 44 | − M3-W+ (R8A77961), and M3-N (R8A77965). | |
| 45 | −- interrupts: A list of interrupt-specifiers, one for each entry in | |
| 46 | − interrupt-names. | |
| 47 | − If interrupt-names is not present, an interrupt specifier | |
| 48 | − for a single muxed interrupt. | |
| 49 | −- phy-mode: see ethernet.txt file in the same directory. | |
| 50 | −- phy-handle: see ethernet.txt file in the same directory. | |
| 51 | −- #address-cells: number of address cells for the MDIO bus, must be equal to 1. | |
| 52 | −- #size-cells: number of size cells on the MDIO bus, must be equal to 0. | |
| 53 | −- clocks: clock phandle and specifier pair. | |
| 54 | −- pinctrl-0: phandle, referring to a default pin configuration node. | |
| 55 | − | |
| 56 | −Optional properties: | |
| 57 | −- interrupt-names: A list of interrupt names. | |
| 58 | − For the R-Car Gen 3 SoCs this property is mandatory; | |
| 59 | − it should include one entry per channel, named "ch%u", | |
| 60 | − where %u is the channel number ranging from 0 to 24. | |
| 61 | − For other SoCs this property is optional; if present | |
| 62 | − it should contain "mux" for a single muxed interrupt. | |
| 63 | −- pinctrl-names: pin configuration state name ("default"). | |
| 64 | −- renesas,no-ether-link: boolean, specify when a board does not provide a proper | |
| 65 | − AVB_LINK signal. | |
| 66 | −- renesas,ether-link-active-low: boolean, specify when the AVB_LINK signal is | |
| 67 | − active-low instead of normal active-high. | |
| 68 | − | |
| 69 | −Example: | |
| 70 | − | |
| 71 | − ethernet@e6800000 { | |
| 72 | − compatible = "renesas,etheravb-r8a7795", "renesas,etheravb-rcar-gen3"; | |
| 73 | − reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; | |
| 74 | − interrupt-parent = <&gic>; | |
| 75 | − interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, | |
| 76 | − <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, | |
| 77 | − <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, | |
| 78 | − <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, | |
| 79 | − <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, | |
| 80 | − <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, | |
| 81 | − <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, | |
| 82 | − <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, | |
| 83 | − <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, | |
| 84 | − <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, | |
| 85 | − <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, | |
| 86 | − <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, | |
| 87 | − <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, | |
| 88 | − <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, | |
| 89 | − <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, | |
| 90 | − <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, | |
| 91 | − <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, | |
| 92 | − <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, | |
| 93 | − <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, | |
| 94 | − <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, | |
| 95 | − <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, | |
| 96 | − <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, | |
| 97 | − <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, | |
| 98 | − <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, | |
| 99 | − <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; | |
| 100 | − interrupt-names = "ch0", "ch1", "ch2", "ch3", | |
| 101 | − "ch4", "ch5", "ch6", "ch7", | |
| 102 | − "ch8", "ch9", "ch10", "ch11", | |
| 103 | − "ch12", "ch13", "ch14", "ch15", | |
| 104 | − "ch16", "ch17", "ch18", "ch19", | |
| 105 | − "ch20", "ch21", "ch22", "ch23", | |
| 106 | − "ch24"; | |
| 107 | − clocks = <&cpg CPG_MOD 812>; | |
| 108 | − power-domains = <&cpg>; | |
| 109 | − phy-mode = "rgmii-id"; | |
| 110 | − phy-handle = <&phy0>; | |
| 111 | − | |
| 112 | − pinctrl-0 = <ðer_pins>; | |
| 113 | − pinctrl-names = "default"; | |
| 114 | − renesas,no-ether-link; | |
| 115 | − #address-cells = <1>; | |
| 116 | − #size-cells = <0>; | |
| 117 | − | |
| 118 | − phy0: ethernet-phy@0 { | |
| 119 | − rxc-skew-ps = <900>; | |
| 120 | − rxdv-skew-ps = <0>; | |
| 121 | − rxd0-skew-ps = <0>; | |
| 122 | − rxd1-skew-ps = <0>; | |
| 123 | − rxd2-skew-ps = <0>; | |
| 124 | − rxd3-skew-ps = <0>; | |
| 125 | − txc-skew-ps = <900>; | |
| 126 | − txen-skew-ps = <0>; | |
| 127 | − txd0-skew-ps = <0>; | |
| 128 | − txd1-skew-ps = <0>; | |
| 129 | − txd2-skew-ps = <0>; | |
| 130 | − txd3-skew-ps = <0>; | |
| 131 | − reg = <0>; | |
| 132 | − interrupt-parent = <&gpio2>; | |
| 133 | − interrupts = <11 IRQ_TYPE_LEVEL_LOW>; | |
| 134 | − }; | |
| 135 | − }; | |
| @@ -5,6 +5,10 @@ through an Ethernet OF device node. · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | Optional properties: |
| 7 | 7 | |
| 8 | +- clocks: | |
| 9 | + The clock used as phy reference clock and is connected to phy | |
| 10 | + pin XTAL1/CLKIN. | |
| 11 | + | |
| 8 | 12 | - smsc,disable-energy-detect: |
| 9 | 13 | If set, do not enable energy detect mode for the SMSC phy. |
| 10 | 14 | default: enable energy detect mode |
| @@ -30,7 +30,9 @@ Optional properties: (See ethernet.txt file in the same directory) · 29 unmodified lines | ||
| 30 | 30 | - max-frame-size: See ethernet.txt in the same directory. |
| 31 | 31 | |
| 32 | 32 | The MAC address will be determined using the optional properties |
| 33 | −defined in ethernet.txt. | |
| 33 | +defined in ethernet.txt. The 'phy-mode' property is required, but may | |
| 34 | +be set to the empty string if the PHY configuration is programmed by | |
| 35 | +the firmware or set by hardware straps, and needs to be preserved. | |
| 34 | 36 | |
| 35 | 37 | Example: |
| 36 | 38 | eth0: ethernet@522d0000 { |
| @@ -0,0 +1,82 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) | |
| 2 | +# Copyright (C) 2020 Texas Instruments Incorporated | |
| 3 | +%YAML 1.2 | |
| 4 | +--- | |
| 5 | +$id: "http://devicetree.org/schemas/net/ti,dp83822.yaml#" | |
| 6 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 7 | + | |
| 8 | +title: TI DP83822 ethernet PHY | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Dan Murphy <dmurphy@ti.com> | |
| 12 | + | |
| 13 | +description: | | |
| 14 | + The DP83822 is a low-power, single-port, 10/100 Mbps Ethernet PHY. It | |
| 15 | + provides all of the physical layer functions needed to transmit and receive | |
| 16 | + data over standard, twisted-pair cables or to connect to an external, | |
| 17 | + fiber-optic transceiver. Additionally, the DP83822 provides flexibility to | |
| 18 | + connect to a MAC through a standard MII, RMII, or RGMII interface | |
| 19 | + | |
| 20 | + Specifications about the Ethernet PHY can be found at: | |
| 21 | + http://www.ti.com/lit/ds/symlink/dp83822i.pdf | |
| 22 | + | |
| 23 | +allOf: | |
| 24 | + - $ref: "ethernet-phy.yaml#" | |
| 25 | + | |
| 26 | +properties: | |
| 27 | + reg: | |
| 28 | + maxItems: 1 | |
| 29 | + | |
| 30 | + ti,link-loss-low: | |
| 31 | + type: boolean | |
| 32 | + description: | | |
| 33 | + DP83822 PHY in Fiber mode only. | |
| 34 | + Sets the DP83822 to detect a link drop condition when the signal goes | |
| 35 | + high. If not set then link drop will occur when the signal goes low. | |
| 36 | + This property is only applicable if the fiber mode support is strapped | |
| 37 | + to on. | |
| 38 | + | |
| 39 | + ti,fiber-mode: | |
| 40 | + type: boolean | |
| 41 | + description: | | |
| 42 | + DP83822 PHY only. | |
| 43 | + If present the DP83822 PHY is configured to operate in fiber mode | |
| 44 | + Fiber mode support can also be strapped. If the strap pin is not set | |
| 45 | + correctly or not set at all then this boolean can be used to enable it. | |
| 46 | + If the fiber mode is not strapped then signal detection for the PHY | |
| 47 | + is disabled. | |
| 48 | + In fiber mode, auto-negotiation is disabled and the PHY can only work in | |
| 49 | + 100base-fx (full and half duplex) modes. | |
| 50 | + | |
| 51 | + rx-internal-delay-ps: | |
| 52 | + description: | | |
| 53 | + DP83822 PHY only. | |
| 54 | + Setting this property to a non-zero number sets the RX internal delay | |
| 55 | + for the PHY. The internal delay for the PHY is fixed to 3.5ns relative | |
| 56 | + to receive data. | |
| 57 | + | |
| 58 | + tx-internal-delay-ps: | |
| 59 | + description: | | |
| 60 | + DP83822 PHY only. | |
| 61 | + Setting this property to a non-zero number sets the TX internal delay | |
| 62 | + for the PHY. The internal delay for the PHY is fixed to 3.5ns relative | |
| 63 | + to transmit data. | |
| 64 | + | |
| 65 | +required: | |
| 66 | + - reg | |
| 67 | + | |
| 68 | +unevaluatedProperties: false | |
| 69 | + | |
| 70 | +examples: | |
| 71 | + - | | |
| 72 | + mdio0 { | |
| 73 | + #address-cells = <1>; | |
| 74 | + #size-cells = <0>; | |
| 75 | + ethphy0: ethernet-phy@0 { | |
| 76 | + reg = <0>; | |
| 77 | + rx-internal-delay-ps = <1>; | |
| 78 | + tx-internal-delay-ps = <1>; | |
| 79 | + }; | |
| 80 | + }; | |
| 81 | + | |
| 82 | +... | |
| @@ -65,7 +65,8 @@ Optional properties: · 64 unmodified lines | ||
| 65 | 65 | the length can vary between hw versions. |
| 66 | 66 | - <supply-name>-supply: handle to the regulator device tree node |
| 67 | 67 | optional "supply-name" are "vdd-0.8-cx-mx", |
| 68 | − "vdd-1.8-xo", "vdd-1.3-rfa" and "vdd-3.3-ch0". | |
| 68 | + "vdd-1.8-xo", "vdd-1.3-rfa", "vdd-3.3-ch0", | |
| 69 | + and "vdd-3.3-ch1". | |
| 69 | 70 | - memory-region: |
| 70 | 71 | Usage: optional |
| 71 | 72 | Value type: <phandle> |
| @@ -204,6 +205,7 @@ wifi@18000000 { · 132 unmodified lines | ||
| 204 | 205 | vdd-1.8-xo-supply = <&vreg_l7a_1p8>; |
| 205 | 206 | vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; |
| 206 | 207 | vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; |
| 208 | + vdd-3.3-ch1-supply = <&vreg_l26a_3p3>; | |
| 207 | 209 | memory-region = <&wifi_msa_mem>; |
| 208 | 210 | iommus = <&apps_smmu 0x0040 0x1>; |
| 209 | 211 | qcom,msa-fixed-perm; |
| @@ -17,7 +17,9 @@ description: | · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | properties: |
| 19 | 19 | compatible: |
| 20 | − const: qcom,ipq8074-wifi | |
| 20 | + enum: | |
| 21 | + - qcom,ipq8074-wifi | |
| 22 | + - qcom,ipq6018-wifi | |
| 21 | 23 | |
| 22 | 24 | reg: |
| 23 | 25 | maxItems: 1 |
| @@ -2,7 +2,7 @@ On-Chip OTP Memory for Freescale Vybrid · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | Required Properties: |
| 4 | 4 | compatible: |
| 5 | − - "fsl,vf610-ocotp" for VF5xx/VF6xx | |
| 5 | + - "fsl,vf610-ocotp", "syscon" for VF5xx/VF6xx | |
| 6 | 6 | #address-cells : Should be 1 |
| 7 | 7 | #size-cells : Should be 1 |
| 8 | 8 | reg : Address and length of OTP controller and fuse map registers |
| @@ -11,7 +11,7 @@ Required Properties: · 2 unmodified lines | ||
| 11 | 11 | Example for Vybrid VF5xx/VF6xx: |
| 12 | 12 | |
| 13 | 13 | ocotp: ocotp@400a5000 { |
| 14 | − compatible = "fsl,vf610-ocotp"; | |
| 14 | + compatible = "fsl,vf610-ocotp", "syscon"; | |
| 15 | 15 | #address-cells = <1>; |
| 16 | 16 | #size-cells = <1>; |
| 17 | 17 | reg = <0x400a5000 0xCF0>; |
| @@ -9,12 +9,15 @@ title: Brcmstb PCIe Host Controller Device Tree Bindings · 8 unmodified lines | ||
| 9 | 9 | maintainers: |
| 10 | 10 | - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> |
| 11 | 11 | |
| 12 | −allOf: | |
| 13 | − - $ref: /schemas/pci/pci-bus.yaml# | |
| 14 | − | |
| 15 | 12 | properties: |
| 16 | 13 | compatible: |
| 17 | − const: brcm,bcm2711-pcie # The Raspberry Pi 4 | |
| 14 | + items: | |
| 15 | + - enum: | |
| 16 | + - brcm,bcm2711-pcie # The Raspberry Pi 4 | |
| 17 | + - brcm,bcm7211-pcie # Broadcom STB version of RPi4 | |
| 18 | + - brcm,bcm7278-pcie # Broadcom 7278 Arm | |
| 19 | + - brcm,bcm7216-pcie # Broadcom 7216 Arm | |
| 20 | + - brcm,bcm7445-pcie # Broadcom 7445 Arm | |
| 18 | 21 | |
| 19 | 22 | reg: |
| 20 | 23 | maxItems: 1 |
| @@ -34,10 +37,12 @@ properties: · 13 unmodified lines | ||
| 34 | 37 | - const: msi |
| 35 | 38 | |
| 36 | 39 | ranges: |
| 37 | − maxItems: 1 | |
| 40 | + minItems: 1 | |
| 41 | + maxItems: 4 | |
| 38 | 42 | |
| 39 | 43 | dma-ranges: |
| 40 | − maxItems: 1 | |
| 44 | + minItems: 1 | |
| 45 | + maxItems: 6 | |
| 41 | 46 | |
| 42 | 47 | clocks: |
| 43 | 48 | maxItems: 1 |
| @@ -58,8 +63,31 @@ properties: · 14 unmodified lines | ||
| 58 | 63 | |
| 59 | 64 | aspm-no-l0s: true |
| 60 | 65 | |
| 66 | + resets: | |
| 67 | + description: for "brcm,bcm7216-pcie", must be a valid reset | |
| 68 | + phandle pointing to the RESCAL reset controller provider node. | |
| 69 | + $ref: "/schemas/types.yaml#/definitions/phandle" | |
| 70 | + | |
| 71 | + reset-names: | |
| 72 | + items: | |
| 73 | + - const: rescal | |
| 74 | + | |
| 75 | + brcm,scb-sizes: | |
| 76 | + description: u64 giving the 64bit PCIe memory | |
| 77 | + viewport size of a memory controller. There may be up to | |
| 78 | + three controllers, and each size must be a power of two | |
| 79 | + with a size greater or equal to the amount of memory the | |
| 80 | + controller supports. Note that each memory controller | |
| 81 | + may have two component regions -- base and extended -- so | |
| 82 | + this information cannot be deduced from the dma-ranges. | |
| 83 | + $ref: /schemas/types.yaml#/definitions/uint64-array | |
| 84 | + items: | |
| 85 | + minItems: 1 | |
| 86 | + maxItems: 3 | |
| 87 | + | |
| 61 | 88 | required: |
| 62 | 89 | - reg |
| 90 | + - ranges | |
| 63 | 91 | - dma-ranges |
| 64 | 92 | - "#interrupt-cells" |
| 65 | 93 | - interrupts |
| @@ -68,6 +96,18 @@ required: · 2 unmodified lines | ||
| 68 | 96 | - interrupt-map |
| 69 | 97 | - msi-controller |
| 70 | 98 | |
| 99 | +allOf: | |
| 100 | + - $ref: /schemas/pci/pci-bus.yaml# | |
| 101 | + - if: | |
| 102 | + properties: | |
| 103 | + compatible: | |
| 104 | + contains: | |
| 105 | + const: brcm,bcm7216-pcie | |
| 106 | + then: | |
| 107 | + required: | |
| 108 | + - resets | |
| 109 | + - reset-names | |
| 110 | + | |
| 71 | 111 | unevaluatedProperties: false |
| 72 | 112 | |
| 73 | 113 | examples: |
| @@ -93,7 +133,9 @@ examples: · 19 unmodified lines | ||
| 93 | 133 | msi-parent = <&pcie0>; |
| 94 | 134 | msi-controller; |
| 95 | 135 | ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; |
| 96 | − dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>; | |
| 136 | + dma-ranges = <0x42000000 0x1 0x00000000 0x0 0x40000000 0x0 0x80000000>, | |
| 137 | + <0x42000000 0x1 0x80000000 0x3 0x00000000 0x0 0x80000000>; | |
| 97 | 138 | brcm,enable-ssc; |
| 139 | + brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>; | |
| 98 | 140 | }; |
| 99 | 141 | }; |
| @@ -24,6 +24,8 @@ Required properties: · 23 unmodified lines | ||
| 24 | 24 | "fsl,ls1028a-pcie" |
| 25 | 25 | EP mode: |
| 26 | 26 | "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep" |
| 27 | + "fsl,ls1088a-pcie-ep", "fsl,ls-pcie-ep" | |
| 28 | + "fsl,ls2088a-pcie-ep", "fsl,ls-pcie-ep" | |
| 27 | 29 | - reg: base addresses and lengths of the PCIe controller register blocks. |
| 28 | 30 | - interrupts: A list of interrupt outputs of the controller. Must contain an |
| 29 | 31 | entry for each entry in the interrupt-names property. |
| @@ -14,8 +14,12 @@ maintainers: · 13 unmodified lines | ||
| 14 | 14 | properties: |
| 15 | 15 | compatible: |
| 16 | 16 | items: |
| 17 | − - const: renesas,r8a774c0-pcie-ep | |
| 18 | − - const: renesas,rcar-gen3-pcie-ep | |
| 17 | + - enum: | |
| 18 | + - renesas,r8a774a1-pcie-ep # RZ/G2M | |
| 19 | + - renesas,r8a774b1-pcie-ep # RZ/G2N | |
| 20 | + - renesas,r8a774c0-pcie-ep # RZ/G2E | |
| 21 | + - renesas,r8a774e1-pcie-ep # RZ/G2H | |
| 22 | + - const: renesas,rcar-gen3-pcie-ep # R-Car Gen3 and RZ/G2 | |
| 19 | 23 | |
| 20 | 24 | reg: |
| 21 | 25 | maxItems: 5 |
| @@ -1,7 +1,8 @@ | ||
| 1 | 1 | * Renesas R-Car PCIe interface |
| 2 | 2 | |
| 3 | 3 | Required properties: |
| 4 | −compatible: "renesas,pcie-r8a7743" for the R8A7743 SoC; | |
| 4 | +compatible: "renesas,pcie-r8a7742" for the R8A7742 SoC; | |
| 5 | + "renesas,pcie-r8a7743" for the R8A7743 SoC; | |
| 5 | 6 | "renesas,pcie-r8a7744" for the R8A7744 SoC; |
| 6 | 7 | "renesas,pcie-r8a774a1" for the R8A774A1 SoC; |
| 7 | 8 | "renesas,pcie-r8a774b1" for the R8A774B1 SoC; |
| @@ -23,14 +23,22 @@ properties: · 22 unmodified lines | ||
| 23 | 23 | const: socionext,uniphier-pro5-pcie-ep |
| 24 | 24 | |
| 25 | 25 | reg: |
| 26 | − maxItems: 4 | |
| 26 | + minItems: 4 | |
| 27 | + maxItems: 5 | |
| 27 | 28 | |
| 28 | 29 | reg-names: |
| 29 | − items: | |
| 30 | − - const: dbi | |
| 31 | − - const: dbi2 | |
| 32 | − - const: link | |
| 33 | − - const: addr_space | |
| 30 | + oneOf: | |
| 31 | + - items: | |
| 32 | + - const: dbi | |
| 33 | + - const: dbi2 | |
| 34 | + - const: link | |
| 35 | + - const: addr_space | |
| 36 | + - items: | |
| 37 | + - const: dbi | |
| 38 | + - const: dbi2 | |
| 39 | + - const: link | |
| 40 | + - const: addr_space | |
| 41 | + - const: atu | |
| 34 | 42 | |
| 35 | 43 | clocks: |
| 36 | 44 | maxItems: 2 |
| @@ -16,6 +16,7 @@ Required properties: · 15 unmodified lines | ||
| 16 | 16 | "dbi" - controller configuration registers |
| 17 | 17 | "link" - SoC-specific glue layer registers |
| 18 | 18 | "config" - PCIe configuration space |
| 19 | + "atu" - iATU registers for DWC version 4.80 or later | |
| 19 | 20 | - clocks: A phandle to the clock gate for PCIe glue layer including |
| 20 | 21 | the host controller. |
| 21 | 22 | - resets: A phandle to the reset line for PCIe glue layer including |
| @@ -31,10 +31,10 @@ properties: · 30 unmodified lines | ||
| 31 | 31 | clock-names: |
| 32 | 32 | oneOf: |
| 33 | 33 | - items: # for PXs2 |
| 34 | − - const: link | |
| 34 | + - const: link | |
| 35 | 35 | - items: # for others |
| 36 | − - const: link | |
| 37 | − - const: phy | |
| 36 | + - const: link | |
| 37 | + - const: phy | |
| 38 | 38 | |
| 39 | 39 | resets: |
| 40 | 40 | maxItems: 2 |
| @@ -7,23 +7,23 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# · 6 unmodified lines | ||
| 7 | 7 | title: OMAP USB2 PHY |
| 8 | 8 | |
| 9 | 9 | maintainers: |
| 10 | − - Kishon Vijay Abraham I <kishon@ti.com> | |
| 11 | − - Roger Quadros <rogerq@ti.com> | |
| 10 | + - Kishon Vijay Abraham I <kishon@ti.com> | |
| 11 | + - Roger Quadros <rogerq@ti.com> | |
| 12 | 12 | |
| 13 | 13 | properties: |
| 14 | 14 | compatible: |
| 15 | 15 | oneOf: |
| 16 | 16 | - items: |
| 17 | − - enum: | |
| 18 | − - ti,dra7x-usb2 | |
| 19 | − - ti,dra7x-usb2-phy2 | |
| 20 | − - ti,am654-usb2 | |
| 21 | − - enum: | |
| 22 | − - ti,omap-usb2 | |
| 17 | + - enum: | |
| 18 | + - ti,dra7x-usb2 | |
| 19 | + - ti,dra7x-usb2-phy2 | |
| 20 | + - ti,am654-usb2 | |
| 21 | + - enum: | |
| 22 | + - ti,omap-usb2 | |
| 23 | 23 | - items: |
| 24 | − - const: ti,am437x-usb2 | |
| 24 | + - const: ti,am437x-usb2 | |
| 25 | 25 | - items: |
| 26 | − - const: ti,omap-usb2 | |
| 26 | + - const: ti,omap-usb2 | |
| 27 | 27 | |
| 28 | 28 | reg: |
| 29 | 29 | maxItems: 1 |
| @@ -62,6 +62,8 @@ required: · 32 unmodified lines | ||
| 62 | 62 | - clocks |
| 63 | 63 | - clock-names |
| 64 | 64 | |
| 65 | +additionalProperties: false | |
| 66 | + | |
| 65 | 67 | examples: |
| 66 | 68 | - | |
| 67 | 69 | usb0_phy: phy@4100000 { |
| @@ -76,22 +76,22 @@ patternProperties: · 75 unmodified lines | ||
| 76 | 76 | items: |
| 77 | 77 | oneOf: |
| 78 | 78 | - enum: [lcd0_d18_mfp, rmii_crs_dv_mfp, rmii_txd0_mfp, |
| 79 | − rmii_txd1_mfp, rmii_txen_mfp, rmii_rxen_mfp, rmii_rxd1_mfp, | |
| 80 | − rmii_rxd0_mfp, rmii_ref_clk_mfp, i2s_d0_mfp, i2s_pcm1_mfp, | |
| 81 | − i2s0_pcm0_mfp, i2s1_pcm0_mfp, i2s_d1_mfp, ks_in2_mfp, | |
| 82 | − ks_in1_mfp, ks_in0_mfp, ks_in3_mfp, ks_out0_mfp, | |
| 83 | − ks_out1_mfp, ks_out2_mfp, lvds_o_pn_mfp, dsi_dn0_mfp, | |
| 84 | − dsi_dp2_mfp, lcd0_d17_mfp, dsi_dp3_mfp, dsi_dn3_mfp, | |
| 85 | − dsi_dp0_mfp, lvds_ee_pn_mfp, spi0_i2c_pcm_mfp, | |
| 86 | − spi0_i2s_pcm_mfp, dsi_dnp1_cp_mfp, lvds_e_pn_mfp, | |
| 87 | − dsi_dn2_mfp, uart2_rtsb_mfp, uart2_ctsb_mfp, uart3_rtsb_mfp, | |
| 88 | − uart3_ctsb_mfp, sd0_d0_mfp, sd0_d1_mfp, sd0_d2_d3_mfp, | |
| 89 | − sd1_d0_d3_mfp, sd0_cmd_mfp, sd0_clk_mfp, sd1_cmd_mfp, | |
| 90 | − uart0_rx_mfp, clko_25m_mfp, csi_cn_cp_mfp, sens0_ckout_mfp, | |
| 91 | − uart0_tx_mfp, i2c0_mfp, csi_dn_dp_mfp, sen0_pclk_mfp, | |
| 92 | − pcm1_in_mfp, pcm1_clk_mfp, pcm1_sync_mfp, pcm1_out_mfp, | |
| 93 | − dnand_data_wr_mfp, dnand_acle_ce0_mfp, nand_ceb2_mfp, | |
| 94 | − nand_ceb3_mfp] | |
| 79 | + rmii_txd1_mfp, rmii_txen_mfp, rmii_rxen_mfp, rmii_rxd1_mfp, | |
| 80 | + rmii_rxd0_mfp, rmii_ref_clk_mfp, i2s_d0_mfp, i2s_pcm1_mfp, | |
| 81 | + i2s0_pcm0_mfp, i2s1_pcm0_mfp, i2s_d1_mfp, ks_in2_mfp, | |
| 82 | + ks_in1_mfp, ks_in0_mfp, ks_in3_mfp, ks_out0_mfp, | |
| 83 | + ks_out1_mfp, ks_out2_mfp, lvds_o_pn_mfp, dsi_dn0_mfp, | |
| 84 | + dsi_dp2_mfp, lcd0_d17_mfp, dsi_dp3_mfp, dsi_dn3_mfp, | |
| 85 | + dsi_dp0_mfp, lvds_ee_pn_mfp, spi0_i2c_pcm_mfp, | |
| 86 | + spi0_i2s_pcm_mfp, dsi_dnp1_cp_mfp, lvds_e_pn_mfp, | |
| 87 | + dsi_dn2_mfp, uart2_rtsb_mfp, uart2_ctsb_mfp, uart3_rtsb_mfp, | |
| 88 | + uart3_ctsb_mfp, sd0_d0_mfp, sd0_d1_mfp, sd0_d2_d3_mfp, | |
| 89 | + sd1_d0_d3_mfp, sd0_cmd_mfp, sd0_clk_mfp, sd1_cmd_mfp, | |
| 90 | + uart0_rx_mfp, clko_25m_mfp, csi_cn_cp_mfp, sens0_ckout_mfp, | |
| 91 | + uart0_tx_mfp, i2c0_mfp, csi_dn_dp_mfp, sen0_pclk_mfp, | |
| 92 | + pcm1_in_mfp, pcm1_clk_mfp, pcm1_sync_mfp, pcm1_out_mfp, | |
| 93 | + dnand_data_wr_mfp, dnand_acle_ce0_mfp, nand_ceb2_mfp, | |
| 94 | + nand_ceb3_mfp] | |
| 95 | 95 | minItems: 1 |
| 96 | 96 | maxItems: 32 |
| 97 | 97 | |
| @@ -100,10 +100,10 @@ patternProperties: · 2 unmodified lines | ||
| 100 | 100 | Specify the alternative function to be configured for the |
| 101 | 101 | given gpio pin groups. |
| 102 | 102 | enum: [nor, eth_rmii, eth_smii, spi0, spi1, spi2, spi3, sens0, |
| 103 | − sens1, uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0, | |
| 104 | − i2s1, pcm1, pcm0, ks, jtag, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5, | |
| 105 | − p0, sd0, sd1, sd2, i2c0, i2c1, i2c3, dsi, lvds, usb30, clko_25m, | |
| 106 | − mipi_csi, nand, spdif, ts, lcd0] | |
| 103 | + sens1, uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0, | |
| 104 | + i2s1, pcm1, pcm0, ks, jtag, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5, | |
| 105 | + p0, sd0, sd1, sd2, i2c0, i2c1, i2c3, dsi, lvds, usb30, clko_25m, | |
| 106 | + mipi_csi, nand, spdif, ts, lcd0] | |
| 107 | 107 | |
| 108 | 108 | required: |
| 109 | 109 | - groups |
| @@ -126,14 +126,14 @@ patternProperties: · 16 unmodified lines | ||
| 126 | 126 | items: |
| 127 | 127 | oneOf: |
| 128 | 128 | - enum: [sirq_drv, rmii_txd01_txen_drv, rmii_rxer_drv, |
| 129 | − rmii_crs_drv, rmii_rxd10_drv, rmii_ref_clk_drv, | |
| 130 | − smi_mdc_mdio_drv, i2s_d0_drv, i2s_bclk0_drv, i2s3_drv, | |
| 131 | − i2s13_drv, pcm1_drv, ks_in_drv, ks_out_drv, lvds_all_drv, | |
| 132 | − lcd_dsi_drv, dsi_drv, sd0_d0_d3_drv, sd1_d0_d3_drv, | |
| 133 | − sd0_cmd_drv, sd0_clk_drv, sd1_cmd_drv, sd1_clk_drv, | |
| 134 | − spi0_all_drv, uart0_rx_drv, uart0_tx_drv, uart2_all_drv, | |
| 135 | − i2c0_all_drv, i2c12_all_drv, sens0_pclk_drv, | |
| 136 | − sens0_ckout_drv, uart3_all_drv] | |
| 129 | + rmii_crs_drv, rmii_rxd10_drv, rmii_ref_clk_drv, | |
| 130 | + smi_mdc_mdio_drv, i2s_d0_drv, i2s_bclk0_drv, i2s3_drv, | |
| 131 | + i2s13_drv, pcm1_drv, ks_in_drv, ks_out_drv, lvds_all_drv, | |
| 132 | + lcd_dsi_drv, dsi_drv, sd0_d0_d3_drv, sd1_d0_d3_drv, | |
| 133 | + sd0_cmd_drv, sd0_clk_drv, sd1_cmd_drv, sd1_clk_drv, | |
| 134 | + spi0_all_drv, uart0_rx_drv, uart0_tx_drv, uart2_all_drv, | |
| 135 | + i2c0_all_drv, i2c12_all_drv, sens0_pclk_drv, | |
| 136 | + sens0_ckout_drv, uart3_all_drv] | |
| 137 | 137 | minItems: 1 |
| 138 | 138 | maxItems: 32 |
| 139 | 139 | |
| @@ -144,29 +144,29 @@ patternProperties: · 4 unmodified lines | ||
| 144 | 144 | items: |
| 145 | 145 | oneOf: |
| 146 | 146 | - enum: [dnand_dqs, dnand_dqsn, eth_txd0, eth_txd1, eth_txen, |
| 147 | − eth_rxer, eth_crs_dv, eth_rxd1, eth_rxd0, eth_ref_clk, | |
| 148 | − eth_mdc, eth_mdio, sirq0, sirq1, sirq2, i2s_d0, i2s_bclk0, | |
| 149 | − i2s_lrclk0, i2s_mclk0, i2s_d1, i2s_bclk1, i2s_lrclk1, | |
| 150 | − i2s_mclk1, ks_in0, ks_in1, ks_in2, ks_in3, ks_out0, ks_out1, | |
| 151 | − ks_out2, lvds_oep, lvds_oen, lvds_odp, lvds_odn, lvds_ocp, | |
| 152 | − lvds_ocn, lvds_obp, lvds_obn, lvds_oap, lvds_oan, lvds_eep, | |
| 153 | − lvds_een, lvds_edp, lvds_edn, lvds_ecp, lvds_ecn, lvds_ebp, | |
| 154 | − lvds_ebn, lvds_eap, lvds_ean, lcd0_d18, lcd0_d17, dsi_dp3, | |
| 155 | − dsi_dn3, dsi_dp1, dsi_dn1, dsi_cp, dsi_cn, dsi_dp0, dsi_dn0, | |
| 156 | − dsi_dp2, dsi_dn2, sd0_d0, sd0_d1, sd0_d2, sd0_d3, sd1_d0, | |
| 157 | − sd1_d1, sd1_d2, sd1_d3, sd0_cmd, sd0_clk, sd1_cmd, sd1_clk, | |
| 158 | − spi0_sclk, spi0_ss, spi0_miso, spi0_mosi, uart0_rx, | |
| 159 | − uart0_tx, i2c0_sclk, i2c0_sdata, sensor0_pclk, | |
| 160 | − sensor0_ckout, dnand_ale, dnand_cle, dnand_ceb0, dnand_ceb1, | |
| 161 | − dnand_ceb2, dnand_ceb3, uart2_rx, uart2_tx, uart2_rtsb, | |
| 162 | − uart2_ctsb, uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb, | |
| 163 | − pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, i2c1_sclk, | |
| 164 | − i2c1_sdata, i2c2_sclk, i2c2_sdata, csi_dn0, csi_dp0, | |
| 165 | − csi_dn1, csi_dp1, csi_dn2, csi_dp2, csi_dn3, csi_dp3, | |
| 166 | − csi_cn, csi_cp, dnand_d0, dnand_d1, dnand_d2, dnand_d3, | |
| 167 | − dnand_d4, dnand_d5, dnand_d6, dnand_d7, dnand_rb, dnand_rdb, | |
| 168 | − dnand_rdbn, dnand_wrb, porb, clko_25m, bsel, pkg0, pkg1, | |
| 169 | − pkg2, pkg3] | |
| 147 | + eth_rxer, eth_crs_dv, eth_rxd1, eth_rxd0, eth_ref_clk, | |
| 148 | + eth_mdc, eth_mdio, sirq0, sirq1, sirq2, i2s_d0, i2s_bclk0, | |
| 149 | + i2s_lrclk0, i2s_mclk0, i2s_d1, i2s_bclk1, i2s_lrclk1, | |
| 150 | + i2s_mclk1, ks_in0, ks_in1, ks_in2, ks_in3, ks_out0, ks_out1, | |
| 151 | + ks_out2, lvds_oep, lvds_oen, lvds_odp, lvds_odn, lvds_ocp, | |
| 152 | + lvds_ocn, lvds_obp, lvds_obn, lvds_oap, lvds_oan, lvds_eep, | |
| 153 | + lvds_een, lvds_edp, lvds_edn, lvds_ecp, lvds_ecn, lvds_ebp, | |
| 154 | + lvds_ebn, lvds_eap, lvds_ean, lcd0_d18, lcd0_d17, dsi_dp3, | |
| 155 | + dsi_dn3, dsi_dp1, dsi_dn1, dsi_cp, dsi_cn, dsi_dp0, dsi_dn0, | |
| 156 | + dsi_dp2, dsi_dn2, sd0_d0, sd0_d1, sd0_d2, sd0_d3, sd1_d0, | |
| 157 | + sd1_d1, sd1_d2, sd1_d3, sd0_cmd, sd0_clk, sd1_cmd, sd1_clk, | |
| 158 | + spi0_sclk, spi0_ss, spi0_miso, spi0_mosi, uart0_rx, | |
| 159 | + uart0_tx, i2c0_sclk, i2c0_sdata, sensor0_pclk, | |
| 160 | + sensor0_ckout, dnand_ale, dnand_cle, dnand_ceb0, dnand_ceb1, | |
| 161 | + dnand_ceb2, dnand_ceb3, uart2_rx, uart2_tx, uart2_rtsb, | |
| 162 | + uart2_ctsb, uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb, | |
| 163 | + pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, i2c1_sclk, | |
| 164 | + i2c1_sdata, i2c2_sclk, i2c2_sdata, csi_dn0, csi_dp0, | |
| 165 | + csi_dn1, csi_dp1, csi_dn2, csi_dp2, csi_dn3, csi_dp3, | |
| 166 | + csi_cn, csi_cp, dnand_d0, dnand_d1, dnand_d2, dnand_d3, | |
| 167 | + dnand_d4, dnand_d5, dnand_d6, dnand_d7, dnand_rb, dnand_rdb, | |
| 168 | + dnand_rdbn, dnand_wrb, porb, clko_25m, bsel, pkg0, pkg1, | |
| 169 | + pkg2, pkg3] | |
| 170 | 170 | minItems: 1 |
| 171 | 171 | maxItems: 64 |
| 172 | 172 | |
| @@ -106,7 +106,7 @@ patternProperties: · 105 unmodified lines | ||
| 106 | 106 | required: |
| 107 | 107 | - pinmux |
| 108 | 108 | |
| 109 | − additionalProperties: false | |
| 109 | + additionalProperties: false | |
| 110 | 110 | |
| 111 | 111 | required: |
| 112 | 112 | - compatible |
| @@ -71,9 +71,9 @@ patternProperties: · 70 unmodified lines | ||
| 71 | 71 | Specify the alternative function to be configured for the specified |
| 72 | 72 | pins. Functions are only valid for gpio pins. |
| 73 | 73 | enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5, |
| 74 | − blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1, | |
| 75 | − blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2, | |
| 76 | − blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ] | |
| 74 | + blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1, | |
| 75 | + blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2, | |
| 76 | + blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ] | |
| 77 | 77 | |
| 78 | 78 | drive-strength: |
| 79 | 79 | enum: [2, 4, 6, 8, 10, 12, 14, 16] |
| @@ -40,24 +40,24 @@ patternProperties: · 39 unmodified lines | ||
| 40 | 40 | Function to mux. |
| 41 | 41 | $ref: "/schemas/types.yaml#/definitions/string" |
| 42 | 42 | enum: [i2c0, i2c1, i2c2, i2c3, i2c4, i2c5, i2c6, i2c7, i2c8, |
| 43 | − spi0, spi1, spi2, spi3, spi4, spi5, spi6, | |
| 44 | − uart0, uart1, uart2, uart3, pwm, pcmif_out, pcmif_in] | |
| 43 | + spi0, spi1, spi2, spi3, spi4, spi5, spi6, | |
| 44 | + uart0, uart1, uart2, uart3, pwm, pcmif_out, pcmif_in] | |
| 45 | 45 | |
| 46 | 46 | groups: |
| 47 | 47 | description: |
| 48 | 48 | Name of the pin group to use for the functions. |
| 49 | 49 | $ref: "/schemas/types.yaml#/definitions/string" |
| 50 | 50 | enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp, |
| 51 | − i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp, | |
| 52 | − spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp, | |
| 53 | − spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp, | |
| 54 | − uart0_grp, uart1_grp, uart2_grp, uart3_grp, | |
| 55 | − pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp, | |
| 56 | − pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp, | |
| 57 | − pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp, | |
| 58 | − pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp, | |
| 59 | − pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp, | |
| 60 | − pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp] | |
| 51 | + i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp, | |
| 52 | + spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp, | |
| 53 | + spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp, | |
| 54 | + uart0_grp, uart1_grp, uart2_grp, uart3_grp, | |
| 55 | + pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp, | |
| 56 | + pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp, | |
| 57 | + pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp, | |
| 58 | + pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp, | |
| 59 | + pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp, | |
| 60 | + pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp] | |
| 61 | 61 | |
| 62 | 62 | drive-strength: |
| 63 | 63 | enum: [2, 4, 6, 8, 16, 24, 32] |
| @@ -27,6 +27,7 @@ properties: · 26 unmodified lines | ||
| 27 | 27 | - amlogic,meson8b-pwrc |
| 28 | 28 | - amlogic,meson8m2-pwrc |
| 29 | 29 | - amlogic,meson-gxbb-pwrc |
| 30 | + - amlogic,meson-axg-pwrc | |
| 30 | 31 | - amlogic,meson-g12a-pwrc |
| 31 | 32 | - amlogic,meson-sm1-pwrc |
| 32 | 33 | |
| @@ -42,11 +43,11 @@ properties: · 9 unmodified lines | ||
| 42 | 43 | - const: vapb |
| 43 | 44 | |
| 44 | 45 | resets: |
| 45 | − minItems: 11 | |
| 46 | + minItems: 5 | |
| 46 | 47 | maxItems: 12 |
| 47 | 48 | |
| 48 | 49 | reset-names: |
| 49 | − minItems: 11 | |
| 50 | + minItems: 5 | |
| 50 | 51 | maxItems: 12 |
| 51 | 52 | |
| 52 | 53 | "#power-domain-cells": |
| @@ -107,6 +108,24 @@ allOf: · 54 unmodified lines | ||
| 107 | 108 | - resets |
| 108 | 109 | - reset-names |
| 109 | 110 | |
| 111 | + - if: | |
| 112 | + properties: | |
| 113 | + compatible: | |
| 114 | + enum: | |
| 115 | + - amlogic,meson-axg-pwrc | |
| 116 | + then: | |
| 117 | + properties: | |
| 118 | + reset-names: | |
| 119 | + items: | |
| 120 | + - const: viu | |
| 121 | + - const: venc | |
| 122 | + - const: vcbus | |
| 123 | + - const: vencl | |
| 124 | + - const: vid_lock | |
| 125 | + required: | |
| 126 | + - resets | |
| 127 | + - reset-names | |
| 128 | + | |
| 110 | 129 | - if: |
| 111 | 130 | properties: |
| 112 | 131 | compatible: |
| @@ -0,0 +1,44 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: "http://devicetree.org/schemas/power/brcm,bcm63xx-power.yaml#" | |
| 5 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 6 | + | |
| 7 | +title: BCM63xx power domain driver | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Álvaro Fernández Rojas <noltari@gmail.com> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + BCM6318, BCM6328, BCM6362 and BCM63268 SoCs have a power domain controller | |
| 14 | + to enable/disable certain components in order to save power. | |
| 15 | + | |
| 16 | +properties: | |
| 17 | + compatible: | |
| 18 | + items: | |
| 19 | + - enum: | |
| 20 | + - brcm,bcm6318-power-controller | |
| 21 | + - brcm,bcm6328-power-controller | |
| 22 | + - brcm,bcm6362-power-controller | |
| 23 | + - brcm,bcm63268-power-controller | |
| 24 | + | |
| 25 | + reg: | |
| 26 | + maxItems: 1 | |
| 27 | + | |
| 28 | + "#power-domain-cells": | |
| 29 | + const: 1 | |
| 30 | + | |
| 31 | +required: | |
| 32 | + - compatible | |
| 33 | + - reg | |
| 34 | + - "#power-domain-cells" | |
| 35 | + | |
| 36 | +additionalProperties: false | |
| 37 | + | |
| 38 | +examples: | |
| 39 | + - | | |
| 40 | + periph_pwr: power-controller@10001848 { | |
| 41 | + compatible = "brcm,bcm6328-power-controller"; | |
| 42 | + reg = <0x10001848 0x4>; | |
| 43 | + #power-domain-cells = <1>; | |
| 44 | + }; | |
| @@ -40,6 +40,7 @@ properties: · 39 unmodified lines | ||
| 40 | 40 | - renesas,r8a77980-sysc # R-Car V3H |
| 41 | 41 | - renesas,r8a77990-sysc # R-Car E3 |
| 42 | 42 | - renesas,r8a77995-sysc # R-Car D3 |
| 43 | + - renesas,r8a779a0-sysc # R-Car V3U | |
| 43 | 44 | |
| 44 | 45 | reg: |
| 45 | 46 | maxItems: 1 |
| @@ -1,10 +1,13 @@ | ||
| 1 | 1 | Microsemi Ocelot reset controller |
| 2 | 2 | |
| 3 | 3 | The DEVCPU_GCB:CHIP_REGS have a SOFT_RST register that can be used to reset the |
| 4 | −SoC MIPS core. | |
| 4 | +SoC core. | |
| 5 | + | |
| 6 | +The reset registers are both present in the MSCC vcoreiii MIPS and | |
| 7 | +microchip Sparx5 armv8 SoC's. | |
| 5 | 8 | |
| 6 | 9 | Required Properties: |
| 7 | − - compatible: "mscc,ocelot-chip-reset" | |
| 10 | + - compatible: "mscc,ocelot-chip-reset" or "microchip,sparx5-chip-reset" | |
| 8 | 11 | |
| 9 | 12 | Example: |
| 10 | 13 | reset@1070008 { |
| @@ -1,25 +0,0 @@ | ||
| 1 | −Generic reboot mode core map driver | |
| 2 | − | |
| 3 | −This driver get reboot mode arguments and call the write | |
| 4 | −interface to store the magic value in special register | |
| 5 | −or ram. Then the bootloader can read it and take different | |
| 6 | −action according to the argument stored. | |
| 7 | − | |
| 8 | −All mode properties are vendor specific, it is a indication to tell | |
| 9 | −the bootloader what to do when the system reboots, and should be named | |
| 10 | −as mode-xxx = <magic> (xxx is mode name, magic should be a none-zero value). | |
| 11 | − | |
| 12 | −For example modes common on Android platform: | |
| 13 | −- mode-normal: Normal reboot mode, system reboot with command "reboot". | |
| 14 | −- mode-recovery: Android Recovery mode, it is a mode to format the device or update a new image. | |
| 15 | −- mode-bootloader: Android fastboot mode, it's a mode to re-flash partitions on the Android based device. | |
| 16 | −- mode-loader: A bootloader mode, it's a mode used to download image on Rockchip platform, | |
| 17 | − usually used in development. | |
| 18 | − | |
| 19 | −Example: | |
| 20 | − reboot-mode { | |
| 21 | − mode-normal = <BOOT_NORMAL>; | |
| 22 | − mode-recovery = <BOOT_RECOVERY>; | |
| 23 | − mode-bootloader = <BOOT_FASTBOOT>; | |
| 24 | − mode-loader = <BOOT_BL_DOWNLOAD>; | |
| 25 | − } | |
| @@ -0,0 +1,49 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/power/reset/reboot-mode.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Generic reboot mode core map | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Andy Yan <andy.yan@rock-chips.com> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + This driver get reboot mode arguments and call the write | |
| 14 | + interface to store the magic value in special register | |
| 15 | + or ram. Then the bootloader can read it and take different | |
| 16 | + action according to the argument stored. | |
| 17 | + | |
| 18 | + All mode properties are vendor specific, it is a indication to tell | |
| 19 | + the bootloader what to do when the system reboots, and should be named | |
| 20 | + as mode-xxx = <magic> (xxx is mode name, magic should be a non-zero value). | |
| 21 | + | |
| 22 | + For example, modes common Android platform are: | |
| 23 | + - normal: Normal reboot mode, system reboot with command "reboot". | |
| 24 | + - recovery: Android Recovery mode, it is a mode to format the device or update a new image. | |
| 25 | + - bootloader: Android fastboot mode, it's a mode to re-flash partitions on the Android based device. | |
| 26 | + - loader: A bootloader mode, it's a mode used to download image on Rockchip platform, | |
| 27 | + usually used in development. | |
| 28 | + | |
| 29 | +properties: | |
| 30 | + mode-normal: | |
| 31 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 32 | + description: | |
| 33 | + Default value to set on a reboot if no command was provided. | |
| 34 | + | |
| 35 | +patternProperties: | |
| 36 | + "^mode-.*$": | |
| 37 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 38 | + | |
| 39 | +additionalProperties: false | |
| 40 | + | |
| 41 | +examples: | |
| 42 | + - | | |
| 43 | + reboot-mode { | |
| 44 | + mode-normal = <0>; | |
| 45 | + mode-recovery = <1>; | |
| 46 | + mode-bootloader = <2>; | |
| 47 | + mode-loader = <3>; | |
| 48 | + }; | |
| 49 | +... | |
| @@ -82,6 +82,27 @@ properties: · 81 unmodified lines | ||
| 82 | 82 | An array containing the temperature in degree Celsius, |
| 83 | 83 | for each of the battery capacity lookup table. |
| 84 | 84 | |
| 85 | + operating-range-celsius: | |
| 86 | + $ref: /schemas/types.yaml#/definitions/uint32-array | |
| 87 | + description: operating temperature range of a battery | |
| 88 | + items: | |
| 89 | + - description: minimum temperature at which battery can operate | |
| 90 | + - description: maximum temperature at which battery can operate | |
| 91 | + | |
| 92 | + ambient-celsius: | |
| 93 | + $ref: /schemas/types.yaml#/definitions/uint32-array | |
| 94 | + description: safe range of ambient temperature | |
| 95 | + items: | |
| 96 | + - description: alert when ambient temperature is lower than this value | |
| 97 | + - description: alert when ambient temperature is higher than this value | |
| 98 | + | |
| 99 | + alert-celsius: | |
| 100 | + $ref: /schemas/types.yaml#/definitions/uint32-array | |
| 101 | + description: safe range of battery temperature | |
| 102 | + items: | |
| 103 | + - description: alert when battery temperature is lower than this value | |
| 104 | + - description: alert when battery temperature is higher than this value | |
| 105 | + | |
| 85 | 106 | required: |
| 86 | 107 | - compatible |
| 87 | 108 | |
| @@ -130,6 +151,9 @@ examples: · 42 unmodified lines | ||
| 130 | 151 | /* table for 10 degree Celsius */ |
| 131 | 152 | ocv-capacity-table-2 = <4250000 100>, <4200000 95>, <4185000 90>; |
| 132 | 153 | resistance-temp-table = <20 100>, <10 90>, <0 80>, <(-10) 60>; |
| 154 | + operating-range-celsius = <(-30) 50>; | |
| 155 | + ambient-celsius = <(-5) 50>; | |
| 156 | + alert-celsius = <0 40>; | |
| 133 | 157 | }; |
| 134 | 158 | |
| 135 | 159 | charger@11 { |
| @@ -33,6 +33,10 @@ Optional properties: · 32 unmodified lines | ||
| 33 | 33 | - ti,thermal-regulation-threshold: integer, temperature above which the charge |
| 34 | 34 | current is lowered, to avoid overheating (in degrees Celsius). If omitted, |
| 35 | 35 | the default setting will be used (120 degrees); |
| 36 | +- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with | |
| 37 | + the battery; | |
| 38 | +- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due | |
| 39 | + to expected voltage drop on in-series resistor; | |
| 36 | 40 | |
| 37 | 41 | Example: |
| 38 | 42 | |
| @@ -0,0 +1,114 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +# Copyright (C) 2020 Texas Instruments Incorporated | |
| 3 | +%YAML 1.2 | |
| 4 | +--- | |
| 5 | +$id: "http://devicetree.org/schemas/power/supply/bq25980.yaml#" | |
| 6 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 7 | + | |
| 8 | +title: TI BQ25980 Flash Charger | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Dan Murphy <dmurphy@ti.com> | |
| 12 | + - Ricardo Rivera-Matos <r-rivera-matos@ti.com> | |
| 13 | + | |
| 14 | +description: | | |
| 15 | + The BQ25980, BQ25975, and BQ25960 are a series of flash chargers intended | |
| 16 | + for use in high-power density portable electronics. These inductorless | |
| 17 | + switching chargers can provide over 97% efficiency by making use of the | |
| 18 | + switched capacitor architecture. | |
| 19 | + | |
| 20 | +allOf: | |
| 21 | + - $ref: power-supply.yaml# | |
| 22 | + | |
| 23 | +properties: | |
| 24 | + compatible: | |
| 25 | + enum: | |
| 26 | + - ti,bq25980 | |
| 27 | + - ti,bq25975 | |
| 28 | + - ti,bq25960 | |
| 29 | + | |
| 30 | + reg: | |
| 31 | + maxItems: 1 | |
| 32 | + | |
| 33 | + ti,watchdog-timeout-ms: | |
| 34 | + description: | | |
| 35 | + Watchdog timer in milli seconds. 0 disables the watchdog. | |
| 36 | + default: 0 | |
| 37 | + minimum: 0 | |
| 38 | + maximum: 300000 | |
| 39 | + enum: [ 0, 5000, 10000, 50000, 300000] | |
| 40 | + | |
| 41 | + ti,sc-ovp-limit-microvolt: | |
| 42 | + description: | | |
| 43 | + Minimum input voltage limit in micro volts with a when the charger is in | |
| 44 | + switch cap mode. 100000 micro volt step. | |
| 45 | + default: 17800000 | |
| 46 | + minimum: 14000000 | |
| 47 | + maximum: 22000000 | |
| 48 | + | |
| 49 | + ti,sc-ocp-limit-microamp: | |
| 50 | + description: | | |
| 51 | + Maximum input current limit in micro amps with a 100000 micro amp step. | |
| 52 | + minimum: 100000 | |
| 53 | + maximum: 3300000 | |
| 54 | + | |
| 55 | + ti,bypass-ovp-limit-microvolt: | |
| 56 | + description: | | |
| 57 | + Minimum input voltage limit in micro volts with a when the charger is in | |
| 58 | + switch cap mode. 50000 micro volt step. | |
| 59 | + minimum: 7000000 | |
| 60 | + maximum: 12750000 | |
| 61 | + | |
| 62 | + ti,bypass-ocp-limit-microamp: | |
| 63 | + description: | | |
| 64 | + Maximum input current limit in micro amps with a 100000 micro amp step. | |
| 65 | + minimum: 100000 | |
| 66 | + maximum: 3300000 | |
| 67 | + | |
| 68 | + ti,bypass-enable: | |
| 69 | + type: boolean | |
| 70 | + description: Enables bypass mode at boot time | |
| 71 | + | |
| 72 | + interrupts: | |
| 73 | + description: | | |
| 74 | + Indicates that the device state has changed. | |
| 75 | + | |
| 76 | + monitored-battery: | |
| 77 | + $ref: /schemas/types.yaml#/definitions/phandle | |
| 78 | + description: phandle to the battery node being monitored | |
| 79 | + | |
| 80 | +required: | |
| 81 | + - compatible | |
| 82 | + - reg | |
| 83 | + - monitored-battery | |
| 84 | + | |
| 85 | +unevaluatedProperties: false | |
| 86 | + | |
| 87 | +examples: | |
| 88 | + - | | |
| 89 | + bat: battery { | |
| 90 | + compatible = "simple-battery"; | |
| 91 | + constant-charge-current-max-microamp = <4000000>; | |
| 92 | + constant-charge-voltage-max-microvolt = <8400000>; | |
| 93 | + precharge-current-microamp = <160000>; | |
| 94 | + charge-term-current-microamp = <160000>; | |
| 95 | + }; | |
| 96 | + #include <dt-bindings/gpio/gpio.h> | |
| 97 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 98 | + i2c0 { | |
| 99 | + #address-cells = <1>; | |
| 100 | + #size-cells = <0>; | |
| 101 | + | |
| 102 | + bq25980: charger@65 { | |
| 103 | + compatible = "ti,bq25980"; | |
| 104 | + reg = <0x65>; | |
| 105 | + interrupt-parent = <&gpio1>; | |
| 106 | + interrupts = <16 IRQ_TYPE_EDGE_FALLING>; | |
| 107 | + ti,watchdog-timer = <0>; | |
| 108 | + ti,sc-ocp-limit-microamp = <2000000>; | |
| 109 | + ti,sc-ovp-limit-microvolt = <17800000>; | |
| 110 | + monitored-battery = <&bat>; | |
| 111 | + }; | |
| 112 | + }; | |
| 113 | + | |
| 114 | +... | |
| @@ -51,6 +51,7 @@ properties: · 50 unmodified lines | ||
| 51 | 51 | - ti,bq27621 |
| 52 | 52 | - ti,bq27z561 |
| 53 | 53 | - ti,bq28z610 |
| 54 | + - ti,bq34z100 | |
| 54 | 55 | |
| 55 | 56 | reg: |
| 56 | 57 | maxItems: 1 |
| @@ -3,24 +3,32 @@ charger-manager bindings · 2 unmodified lines | ||
| 3 | 3 | |
| 4 | 4 | Required properties : |
| 5 | 5 | - compatible : "charger-manager" |
| 6 | − - <>-supply : for regulator consumer | |
| 7 | − - cm-num-chargers : number of chargers | |
| 6 | + - <>-supply : for regulator consumer, named according to cm-regulator-name | |
| 8 | 7 | - cm-chargers : name of chargers |
| 9 | 8 | - cm-fuel-gauge : name of battery fuel gauge |
| 10 | 9 | - subnode <regulator> : |
| 11 | 10 | - cm-regulator-name : name of charger regulator |
| 12 | 11 | - subnode <cable> : |
| 13 | − - cm-cable-name : name of charger cable | |
| 12 | + - cm-cable-name : name of charger cable - one of USB, USB-HOST, | |
| 13 | + SDP, DCP, CDP, ACA, FAST-CHARGER, SLOW-CHARGER, WPT, | |
| 14 | + PD, DOCK, JIG, or MECHANICAL | |
| 14 | 15 | - cm-cable-extcon : name of extcon dev |
| 15 | 16 | (optional) - cm-cable-min : minimum current of cable |
| 16 | 17 | (optional) - cm-cable-max : maximum current of cable |
| 17 | 18 | |
| 18 | 19 | Optional properties : |
| 19 | 20 | - cm-name : charger manager's name (default : "battery") |
| 20 | − - cm-poll-mode : polling mode (enum polling_modes) | |
| 21 | − - cm-poll-interval : polling interval | |
| 22 | − - cm-battery-stat : battery status (enum data_source) | |
| 23 | − - cm-fullbatt-* : data for full battery checking | |
| 21 | + - cm-poll-mode : polling mode - 0 for disabled, 1 for always, 2 for when | |
| 22 | + external power is connected, or 3 for when charging. If not present, | |
| 23 | + then polling is disabled | |
| 24 | + - cm-poll-interval : polling interval (in ms) | |
| 25 | + - cm-battery-stat : battery status - 0 for battery always present, 1 for no | |
| 26 | + battery, 2 to check presence via fuel gauge, or 3 to check presence | |
| 27 | + via charger | |
| 28 | + - cm-fullbatt-vchkdrop-volt : voltage drop (in uV) before restarting charging | |
| 29 | + - cm-fullbatt-voltage : voltage (in uV) of full battery | |
| 30 | + - cm-fullbatt-soc : state of charge to consider as full battery | |
| 31 | + - cm-fullbatt-capacity : capcity (in uAh) to consider as full battery | |
| 24 | 32 | - cm-thermal-zone : name of external thermometer's thermal zone |
| 25 | 33 | - cm-battery-* : threshold battery temperature for charging |
| 26 | 34 | -cold : critical cold temperature of battery for charging |
| @@ -29,6 +37,10 @@ Optional properties : · 2 unmodified lines | ||
| 29 | 37 | -temp-diff : temperature difference to allow recharging |
| 30 | 38 | - cm-dis/charging-max = limits of charging duration |
| 31 | 39 | |
| 40 | +Deprecated properties: | |
| 41 | + - cm-num-chargers | |
| 42 | + - cm-fullbatt-vchkdrop-ms | |
| 43 | + | |
| 32 | 44 | Example : |
| 33 | 45 | charger-manager@0 { |
| 34 | 46 | compatible = "charger-manager"; |
| @@ -39,13 +51,11 @@ Example : · 4 unmodified lines | ||
| 39 | 51 | cm-poll-mode = <1>; |
| 40 | 52 | cm-poll-interval = <30000>; |
| 41 | 53 | |
| 42 | − cm-fullbatt-vchkdrop-ms = <30000>; | |
| 43 | 54 | cm-fullbatt-vchkdrop-volt = <150000>; |
| 44 | 55 | cm-fullbatt-soc = <100>; |
| 45 | 56 | |
| 46 | 57 | cm-battery-stat = <3>; |
| 47 | 58 | |
| 48 | − cm-num-chargers = <3>; | |
| 49 | 59 | cm-chargers = "charger0", "charger1", "charger2"; |
| 50 | 60 | |
| 51 | 61 | cm-fuel-gauge = "fuelgauge0"; |
| @@ -71,7 +81,7 @@ Example : · 19 unmodified lines | ||
| 71 | 81 | cm-cable-max = <500000>; |
| 72 | 82 | }; |
| 73 | 83 | cable@1 { |
| 74 | − cm-cable-name = "TA"; | |
| 84 | + cm-cable-name = "SDP"; | |
| 75 | 85 | cm-cable-extcon = "extcon-dev.0"; |
| 76 | 86 | cm-cable-min = <650000>; |
| 77 | 87 | cm-cable-max = <675000>; |
| @@ -39,6 +39,25 @@ properties: · 38 unmodified lines | ||
| 39 | 39 | maxItems: 1 |
| 40 | 40 | description: GPIO indicating the charging status |
| 41 | 41 | |
| 42 | + charge-current-limit-gpios: | |
| 43 | + minItems: 1 | |
| 44 | + maxItems: 32 | |
| 45 | + description: GPIOs used for current limiting | |
| 46 | + | |
| 47 | + charge-current-limit-mapping: | |
| 48 | + description: List of tuples with current in uA and a GPIO bitmap (in | |
| 49 | + this order). The tuples must be provided in descending order of the | |
| 50 | + current limit. | |
| 51 | + $ref: /schemas/types.yaml#/definitions/uint32-matrix | |
| 52 | + items: | |
| 53 | + items: | |
| 54 | + - description: | |
| 55 | + Current limit in uA | |
| 56 | + - description: | |
| 57 | + Encoded GPIO setting. Bit 0 represents last GPIO from the | |
| 58 | + charge-current-limit-gpios property. Bit 1 second to last | |
| 59 | + GPIO and so on. | |
| 60 | + | |
| 42 | 61 | required: |
| 43 | 62 | - compatible |
| 44 | 63 | |
| @@ -47,6 +66,12 @@ anyOf: · 2 unmodified lines | ||
| 47 | 66 | - gpios |
| 48 | 67 | - required: |
| 49 | 68 | - charge-status-gpios |
| 69 | + - required: | |
| 70 | + - charge-current-limit-gpios | |
| 71 | + | |
| 72 | +dependencies: | |
| 73 | + charge-current-limit-gpios: [ charge-current-limit-mapping ] | |
| 74 | + charge-current-limit-mapping: [ charge-current-limit-gpios ] | |
| 50 | 75 | |
| 51 | 76 | additionalProperties: false |
| 52 | 77 | |
| @@ -60,4 +85,10 @@ examples: · 7 unmodified lines | ||
| 60 | 85 | |
| 61 | 86 | gpios = <&gpd 28 GPIO_ACTIVE_LOW>; |
| 62 | 87 | charge-status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>; |
| 88 | + | |
| 89 | + charge-current-limit-gpios = <&gpioA 11 GPIO_ACTIVE_HIGH>, | |
| 90 | + <&gpioA 12 GPIO_ACTIVE_HIGH>; | |
| 91 | + charge-current-limit-mapping = <2500000 0x00>, // 2.5 A => both GPIOs low | |
| 92 | + <700000 0x01>, // 700 mA => GPIO A.12 high | |
| 93 | + <0 0x02>; // 0 mA => GPIO A.11 high | |
| 63 | 94 | }; |
| @@ -1,31 +0,0 @@ | ||
| 1 | −* Ingenic JZ47xx battery bindings | |
| 2 | − | |
| 3 | −Required properties: | |
| 4 | − | |
| 5 | −- compatible: Must be "ingenic,jz4740-battery". | |
| 6 | −- io-channels: phandle and IIO specifier pair to the IIO device. | |
| 7 | − Format described in iio-bindings.txt. | |
| 8 | −- monitored-battery: phandle to a "simple-battery" compatible node. | |
| 9 | − | |
| 10 | −The "monitored-battery" property must be a phandle to a node using the format | |
| 11 | −described in battery.txt, with the following properties being required: | |
| 12 | − | |
| 13 | −- voltage-min-design-microvolt: Drained battery voltage. | |
| 14 | −- voltage-max-design-microvolt: Fully charged battery voltage. | |
| 15 | − | |
| 16 | −Example: | |
| 17 | − | |
| 18 | −#include <dt-bindings/iio/adc/ingenic,adc.h> | |
| 19 | − | |
| 20 | −simple_battery: battery { | |
| 21 | − compatible = "simple-battery"; | |
| 22 | − voltage-min-design-microvolt = <3600000>; | |
| 23 | − voltage-max-design-microvolt = <4200000>; | |
| 24 | −}; | |
| 25 | − | |
| 26 | −ingenic_battery { | |
| 27 | − compatible = "ingenic,jz4740-battery"; | |
| 28 | − io-channels = <&adc INGENIC_ADC_BATTERY>; | |
| 29 | − io-channel-names = "battery"; | |
| 30 | − monitored-battery = <&simple_battery>; | |
| 31 | −}; | |
| @@ -0,0 +1,61 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |
| 2 | +# Copyright 2019-2020 Artur Rojek | |
| 3 | +%YAML 1.2 | |
| 4 | +--- | |
| 5 | +$id: "http://devicetree.org/schemas/power/supply/ingenic,battery.yaml#" | |
| 6 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 7 | + | |
| 8 | +title: Ingenic JZ47xx battery bindings | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Artur Rojek <contact@artur-rojek.eu> | |
| 12 | + | |
| 13 | +properties: | |
| 14 | + compatible: | |
| 15 | + oneOf: | |
| 16 | + - const: ingenic,jz4740-battery | |
| 17 | + - items: | |
| 18 | + - enum: | |
| 19 | + - ingenic,jz4725b-battery | |
| 20 | + - ingenic,jz4770-battery | |
| 21 | + - const: ingenic,jz4740-battery | |
| 22 | + | |
| 23 | + io-channels: | |
| 24 | + maxItems: 1 | |
| 25 | + | |
| 26 | + io-channel-names: | |
| 27 | + const: battery | |
| 28 | + | |
| 29 | + monitored-battery: | |
| 30 | + description: > | |
| 31 | + phandle to a "simple-battery" compatible node. | |
| 32 | + | |
| 33 | + This property must be a phandle to a node using the format described | |
| 34 | + in battery.yaml, with the following properties being required: | |
| 35 | + - voltage-min-design-microvolt: drained battery voltage, | |
| 36 | + - voltage-max-design-microvolt: fully charged battery voltage. | |
| 37 | + | |
| 38 | +required: | |
| 39 | + - compatible | |
| 40 | + - io-channels | |
| 41 | + - io-channel-names | |
| 42 | + - monitored-battery | |
| 43 | + | |
| 44 | +additionalProperties: false | |
| 45 | + | |
| 46 | +examples: | |
| 47 | + - | | |
| 48 | + #include <dt-bindings/iio/adc/ingenic,adc.h> | |
| 49 | + | |
| 50 | + simple_battery: battery { | |
| 51 | + compatible = "simple-battery"; | |
| 52 | + voltage-min-design-microvolt = <3600000>; | |
| 53 | + voltage-max-design-microvolt = <4200000>; | |
| 54 | + }; | |
| 55 | + | |
| 56 | + ingenic-battery { | |
| 57 | + compatible = "ingenic,jz4740-battery"; | |
| 58 | + io-channels = <&adc INGENIC_ADC_BATTERY>; | |
| 59 | + io-channel-names = "battery"; | |
| 60 | + monitored-battery = <&simple_battery>; | |
| 61 | + }; | |
| @@ -2,7 +2,9 @@ max17040_battery · 1 unmodified line | ||
| 2 | 2 | ~~~~~~~~~~~~~~~~ |
| 3 | 3 | |
| 4 | 4 | Required properties : |
| 5 | − - compatible : "maxim,max17040" or "maxim,max77836-battery" | |
| 5 | + - compatible : "maxim,max17040", "maxim,max17041", "maxim,max17043", | |
| 6 | + "maxim,max17044", "maxim,max17048", "maxim,max17049", | |
| 7 | + "maxim,max17058", "maxim,max17059" or "maxim,max77836-battery" | |
| 6 | 8 | - reg: i2c slave address |
| 7 | 9 | |
| 8 | 10 | Optional properties : |
| @@ -11,6 +13,15 @@ Optional properties : · 2 unmodified lines | ||
| 11 | 13 | generated. Can be configured from 1 up to 32 |
| 12 | 14 | (%). If skipped the power up default value of |
| 13 | 15 | 4 (%) will be used. |
| 16 | +- maxim,double-soc : Certain devices return double the capacity. | |
| 17 | + Specify this boolean property to divide the | |
| 18 | + reported value in 2 and thus normalize it. | |
| 19 | + SOC == State of Charge == Capacity. | |
| 20 | +- maxim,rcomp : A value to compensate readings for various | |
| 21 | + battery chemistries and operating temperatures. | |
| 22 | + max17040,41 have 2 byte rcomp, default to | |
| 23 | + 0x97 0x00. All other devices have one byte | |
| 24 | + rcomp, default to 0x97. | |
| 14 | 25 | - interrupts : Interrupt line see Documentation/devicetree/ |
| 15 | 26 | bindings/interrupt-controller/interrupts.txt |
| 16 | 27 | - wakeup-source : This device has wakeup capabilities. Use this |
| @@ -31,3 +42,11 @@ Example: · 14 unmodified lines | ||
| 31 | 42 | interrupts = <2 IRQ_TYPE_EDGE_FALLING>; |
| 32 | 43 | wakeup-source; |
| 33 | 44 | }; |
| 45 | + | |
| 46 | + battery-fuel-gauge@36 { | |
| 47 | + compatible = "maxim,max17048"; | |
| 48 | + reg = <0x36>; | |
| 49 | + maxim,rcomp = /bits/ 8 <0x56>; | |
| 50 | + maxim,alert-low-soc-level = <10>; | |
| 51 | + maxim,double-soc; | |
| 52 | + }; | |
| @@ -0,0 +1,152 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: "http://devicetree.org/schemas/power/supply/summit,smb347-charger.yaml#" | |
| 5 | +$schema: "http://devicetree.org/meta-schemas/core.yaml#" | |
| 6 | + | |
| 7 | +title: Battery charger driver for SMB345, SMB347 and SMB358 | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - David Heidelberg <david@ixit.cz> | |
| 11 | + - Dmitry Osipenko <digetx@gmail.com> | |
| 12 | + | |
| 13 | +properties: | |
| 14 | + compatible: | |
| 15 | + enum: | |
| 16 | + - summit,smb345 | |
| 17 | + - summit,smb347 | |
| 18 | + - summit,smb358 | |
| 19 | + | |
| 20 | + reg: | |
| 21 | + maxItems: 1 | |
| 22 | + | |
| 23 | + interrupts: | |
| 24 | + maxItems: 1 | |
| 25 | + | |
| 26 | + monitored-battery: | |
| 27 | + description: phandle to the battery node | |
| 28 | + $ref: /schemas/types.yaml#/definitions/phandle | |
| 29 | + | |
| 30 | + summit,enable-usb-charging: | |
| 31 | + type: boolean | |
| 32 | + description: Enable charging through USB. | |
| 33 | + | |
| 34 | + summit,enable-otg-charging: | |
| 35 | + type: boolean | |
| 36 | + description: Provide power for USB OTG | |
| 37 | + | |
| 38 | + summit,enable-mains-charging: | |
| 39 | + type: boolean | |
| 40 | + description: Enable charging through mains | |
| 41 | + | |
| 42 | + summit,enable-charge-control: | |
| 43 | + description: Enable charging control | |
| 44 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 45 | + enum: | |
| 46 | + - 0 # SMB3XX_CHG_ENABLE_SW SW (I2C interface) | |
| 47 | + - 1 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW Pin control (Active Low) | |
| 48 | + - 2 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH Pin control (Active High) | |
| 49 | + | |
| 50 | + summit,fast-voltage-threshold-microvolt: | |
| 51 | + description: Voltage threshold to transit to fast charge mode (in uV) | |
| 52 | + minimum: 2400000 | |
| 53 | + maximum: 3000000 | |
| 54 | + | |
| 55 | + summit,mains-current-limit-microamp: | |
| 56 | + description: Maximum input current from AC/DC input (in uA) | |
| 57 | + | |
| 58 | + summit,usb-current-limit-microamp: | |
| 59 | + description: Maximum input current from USB input (in uA) | |
| 60 | + | |
| 61 | + summit,charge-current-compensation-microamp: | |
| 62 | + description: Charge current compensation (in uA) | |
| 63 | + | |
| 64 | + summit,chip-temperature-threshold-celsius: | |
| 65 | + description: Chip temperature for thermal regulation in °C. | |
| 66 | + enum: [100, 110, 120, 130] | |
| 67 | + | |
| 68 | + summit,soft-compensation-method: | |
| 69 | + description: Soft temperature limit compensation method | |
| 70 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 71 | + enum: | |
| 72 | + - 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none | |
| 73 | + - 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation | |
| 74 | + - 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation | |
| 75 | + | |
| 76 | +allOf: | |
| 77 | + - if: | |
| 78 | + properties: | |
| 79 | + compatible: | |
| 80 | + enum: | |
| 81 | + - summit,smb345 | |
| 82 | + - summit,smb358 | |
| 83 | + | |
| 84 | + then: | |
| 85 | + properties: | |
| 86 | + summit,mains-current-limit-microamp: | |
| 87 | + enum: [ 300000, 500000, 700000, 1000000, | |
| 88 | + 1500000, 1800000, 2000000] | |
| 89 | + | |
| 90 | + summit,usb-current-limit-microamp: | |
| 91 | + enum: [ 300000, 500000, 700000, 1000000, | |
| 92 | + 1500000, 1800000, 2000000] | |
| 93 | + | |
| 94 | + summit,charge-current-compensation-microamp: | |
| 95 | + enum: [200000, 450000, 600000, 900000] | |
| 96 | + | |
| 97 | + else: | |
| 98 | + properties: | |
| 99 | + summit,mains-current-limit-microamp: | |
| 100 | + enum: [ 300000, 500000, 700000, 900000, 1200000, | |
| 101 | + 1500000, 1800000, 2000000, 2200000, 2500000] | |
| 102 | + | |
| 103 | + summit,usb-current-limit-microamp: | |
| 104 | + enum: [ 300000, 500000, 700000, 900000, 1200000, | |
| 105 | + 1500000, 1800000, 2000000, 2200000, 2500000] | |
| 106 | + | |
| 107 | + summit,charge-current-compensation-microamp: | |
| 108 | + enum: [250000, 700000, 900000, 1200000] | |
| 109 | + | |
| 110 | +required: | |
| 111 | + - compatible | |
| 112 | + - reg | |
| 113 | + | |
| 114 | +anyOf: | |
| 115 | + - required: | |
| 116 | + - summit,enable-usb-charging | |
| 117 | + - required: | |
| 118 | + - summit,enable-otg-charging | |
| 119 | + - required: | |
| 120 | + - summit,enable-mains-charging | |
| 121 | + | |
| 122 | +additionalProperties: false | |
| 123 | + | |
| 124 | +examples: | |
| 125 | + - | | |
| 126 | + #include <dt-bindings/power/summit,smb347-charger.h> | |
| 127 | + | |
| 128 | + i2c { | |
| 129 | + #address-cells = <1>; | |
| 130 | + #size-cells = <0>; | |
| 131 | + | |
| 132 | + charger@7f { | |
| 133 | + compatible = "summit,smb347"; | |
| 134 | + reg = <0x7f>; | |
| 135 | + | |
| 136 | + summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH>; | |
| 137 | + summit,chip-temperature-threshold-celsius = <110>; | |
| 138 | + summit,mains-current-limit-microamp = <2000000>; | |
| 139 | + summit,usb-current-limit-microamp = <500000>; | |
| 140 | + summit,enable-usb-charging; | |
| 141 | + summit,enable-mains-charging; | |
| 142 | + | |
| 143 | + monitored-battery = <&battery>; | |
| 144 | + }; | |
| 145 | + }; | |
| 146 | + | |
| 147 | + battery: battery-cell { | |
| 148 | + compatible = "simple-battery"; | |
| 149 | + constant-charge-current-max-microamp = <1800000>; | |
| 150 | + operating-range-celsius = <0 45>; | |
| 151 | + alert-celsius = <3 42>; | |
| 152 | + }; | |
| @@ -18,6 +18,8 @@ Clock Properties: · 17 unmodified lines | ||
| 18 | 18 | - fsl,tmr-add Frequency compensation value. |
| 19 | 19 | - fsl,tmr-fiper1 Fixed interval period pulse generator. |
| 20 | 20 | - fsl,tmr-fiper2 Fixed interval period pulse generator. |
| 21 | + - fsl,tmr-fiper3 Fixed interval period pulse generator. | |
| 22 | + Supported only on DPAA2 and ENETC hardware. | |
| 21 | 23 | - fsl,max-adj Maximum frequency adjustment in parts per billion. |
| 22 | 24 | - fsl,extts-fifo The presence of this property indicates hardware |
| 23 | 25 | support for the external trigger stamp FIFO. |
| @@ -14,7 +14,7 @@ description: | · 13 unmodified lines | ||
| 14 | 14 | Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller |
| 15 | 15 | (EC) and controlled via a host-command interface. |
| 16 | 16 | An EC PWM node should be only found as a sub-node of the EC node (see |
| 17 | − Documentation/devicetree/bindings/mfd/cros-ec.txt). | |
| 17 | + Documentation/devicetree/bindings/mfd/google,cros-ec.yaml). | |
| 18 | 18 | |
| 19 | 19 | properties: |
| 20 | 20 | compatible: |
| @@ -13,6 +13,7 @@ properties: · 12 unmodified lines | ||
| 13 | 13 | compatible: |
| 14 | 14 | items: |
| 15 | 15 | - enum: |
| 16 | + - renesas,pwm-r8a7742 # RZ/G1H | |
| 16 | 17 | - renesas,pwm-r8a7743 # RZ/G1M |
| 17 | 18 | - renesas,pwm-r8a7744 # RZ/G1N |
| 18 | 19 | - renesas,pwm-r8a7745 # RZ/G1E |
| @@ -20,6 +21,7 @@ properties: · 1 unmodified line | ||
| 20 | 21 | - renesas,pwm-r8a774a1 # RZ/G2M |
| 21 | 22 | - renesas,pwm-r8a774b1 # RZ/G2N |
| 22 | 23 | - renesas,pwm-r8a774c0 # RZ/G2E |
| 24 | + - renesas,pwm-r8a774e1 # RZ/G2H | |
| 23 | 25 | - renesas,pwm-r8a7778 # R-Car M1A |
| 24 | 26 | - renesas,pwm-r8a7779 # R-Car H1 |
| 25 | 27 | - renesas,pwm-r8a7790 # R-Car H2 |
| @@ -15,6 +15,7 @@ properties: · 14 unmodified lines | ||
| 15 | 15 | - enum: |
| 16 | 16 | - renesas,tpu-r8a73a4 # R-Mobile APE6 |
| 17 | 17 | - renesas,tpu-r8a7740 # R-Mobile A1 |
| 18 | + - renesas,tpu-r8a7742 # RZ/G1H | |
| 18 | 19 | - renesas,tpu-r8a7743 # RZ/G1M |
| 19 | 20 | - renesas,tpu-r8a7744 # RZ/G1N |
| 20 | 21 | - renesas,tpu-r8a7745 # RZ/G1E |
| @@ -41,6 +41,8 @@ required: · 40 unmodified lines | ||
| 41 | 41 | - enable-gpios |
| 42 | 42 | - mps,fb-voltage-divider |
| 43 | 43 | |
| 44 | +unevaluatedProperties: false | |
| 45 | + | |
| 44 | 46 | examples: |
| 45 | 47 | - | |
| 46 | 48 | #include <dt-bindings/gpio/gpio.h> |
| @@ -80,6 +80,8 @@ required: · 79 unmodified lines | ||
| 80 | 80 | - compatible |
| 81 | 81 | - reg |
| 82 | 82 | |
| 83 | +additionalProperties: false | |
| 84 | + | |
| 83 | 85 | examples: |
| 84 | 86 | - | |
| 85 | 87 | i2c { |
| @@ -0,0 +1,281 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/remoteproc/ti,k3-r5f-rproc.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: TI K3 R5F processor subsystems | |
| 8 | + | |
| 9 | +maintainers: | |
| 10 | + - Suman Anna <s-anna@ti.com> | |
| 11 | + | |
| 12 | +description: | | |
| 13 | + The TI K3 family of SoCs usually have one or more dual-core Arm Cortex R5F | |
| 14 | + processor subsystems/clusters (R5FSS). The dual core cluster can be used | |
| 15 | + either in a LockStep mode providing safety/fault tolerance features or in a | |
| 16 | + Split mode providing two individual compute cores for doubling the compute | |
| 17 | + capacity. These are used together with other processors present on the SoC | |
| 18 | + to achieve various system level goals. | |
| 19 | + | |
| 20 | + Each Dual-Core R5F sub-system is represented as a single DTS node | |
| 21 | + representing the cluster, with a pair of child DT nodes representing | |
| 22 | + the individual R5F cores. Each node has a number of required or optional | |
| 23 | + properties that enable the OS running on the host processor to perform | |
| 24 | + the device management of the remote processor and to communicate with the | |
| 25 | + remote processor. | |
| 26 | + | |
| 27 | +properties: | |
| 28 | + $nodename: | |
| 29 | + pattern: "^r5fss(@.*)?" | |
| 30 | + | |
| 31 | + compatible: | |
| 32 | + enum: | |
| 33 | + - ti,am654-r5fss | |
| 34 | + - ti,j721e-r5fss | |
| 35 | + | |
| 36 | + power-domains: | |
| 37 | + description: | | |
| 38 | + Should contain a phandle to a PM domain provider node and an args | |
| 39 | + specifier containing the R5FSS device id value. | |
| 40 | + maxItems: 1 | |
| 41 | + | |
| 42 | + "#address-cells": | |
| 43 | + const: 1 | |
| 44 | + | |
| 45 | + "#size-cells": | |
| 46 | + const: 1 | |
| 47 | + | |
| 48 | + ranges: | |
| 49 | + description: | | |
| 50 | + Standard ranges definition providing address translations for | |
| 51 | + local R5F TCM address spaces to bus addresses. | |
| 52 | + | |
| 53 | +# Optional properties: | |
| 54 | +# -------------------- | |
| 55 | + | |
| 56 | + ti,cluster-mode: | |
| 57 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 58 | + enum: [0, 1] | |
| 59 | + description: | | |
| 60 | + Configuration Mode for the Dual R5F cores within the R5F cluster. | |
| 61 | + Should be either a value of 1 (LockStep mode) or 0 (Split mode), | |
| 62 | + default is LockStep mode if omitted. | |
| 63 | + | |
| 64 | +# R5F Processor Child Nodes: | |
| 65 | +# ========================== | |
| 66 | + | |
| 67 | +patternProperties: | |
| 68 | + "^r5f@[a-f0-9]+$": | |
| 69 | + type: object | |
| 70 | + description: | | |
| 71 | + The R5F Sub-System device node should define two R5F child nodes, each | |
| 72 | + node representing a TI instantiation of the Arm Cortex R5F core. There | |
| 73 | + are some specific integration differences for the IP like the usage of | |
| 74 | + a Region Address Translator (RAT) for translating the larger SoC bus | |
| 75 | + addresses into a 32-bit address space for the processor. | |
| 76 | + | |
| 77 | + Each R5F core has an associated 64 KB of Tightly-Coupled Memory (TCM) | |
| 78 | + internal memories split between two banks - TCMA and TCMB (further | |
| 79 | + interleaved into two banks TCMB0 and TCMB1). These memories (also called | |
| 80 | + ATCM and BTCM) provide read/write performance on par with the core's L1 | |
| 81 | + caches. Each of the TCMs can be enabled or disabled independently and | |
| 82 | + either of them can be configured to appear at that R5F's address 0x0. | |
| 83 | + | |
| 84 | + The cores do not use an MMU, but has a Region Address Translater | |
| 85 | + (RAT) module that is accessible only from the R5Fs for providing | |
| 86 | + translations between 32-bit CPU addresses into larger system bus | |
| 87 | + addresses. Cache and memory access settings are provided through a | |
| 88 | + Memory Protection Unit (MPU), programmable only from the R5Fs. | |
| 89 | + | |
| 90 | + allOf: | |
| 91 | + - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# | |
| 92 | + | |
| 93 | + properties: | |
| 94 | + compatible: | |
| 95 | + enum: | |
| 96 | + - ti,am654-r5f | |
| 97 | + - ti,j721e-r5f | |
| 98 | + | |
| 99 | + reg: | |
| 100 | + items: | |
| 101 | + - description: Address and Size of the ATCM internal memory region | |
| 102 | + - description: Address and Size of the BTCM internal memory region | |
| 103 | + | |
| 104 | + reg-names: | |
| 105 | + items: | |
| 106 | + - const: atcm | |
| 107 | + - const: btcm | |
| 108 | + | |
| 109 | + resets: | |
| 110 | + description: | | |
| 111 | + Should contain the phandle to the reset controller node managing the | |
| 112 | + local resets for this device, and a reset specifier. | |
| 113 | + maxItems: 1 | |
| 114 | + | |
| 115 | + firmware-name: | |
| 116 | + description: | | |
| 117 | + Should contain the name of the default firmware image | |
| 118 | + file located on the firmware search path | |
| 119 | + | |
| 120 | +# The following properties are mandatory for R5F Core0 in both LockStep and Split | |
| 121 | +# modes, and are mandatory for R5F Core1 _only_ in Split mode. They are unused for | |
| 122 | +# R5F Core1 in LockStep mode: | |
| 123 | + | |
| 124 | + mboxes: | |
| 125 | + description: | | |
| 126 | + OMAP Mailbox specifier denoting the sub-mailbox, to be used for | |
| 127 | + communication with the remote processor. This property should match | |
| 128 | + with the sub-mailbox node used in the firmware image. | |
| 129 | + maxItems: 1 | |
| 130 | + | |
| 131 | + memory-region: | |
| 132 | + description: | | |
| 133 | + phandle to the reserved memory nodes to be associated with the | |
| 134 | + remoteproc device. There should be at least two reserved memory nodes | |
| 135 | + defined. The reserved memory nodes should be carveout nodes, and | |
| 136 | + should be defined with a "no-map" property as per the bindings in | |
| 137 | + Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt | |
| 138 | + minItems: 2 | |
| 139 | + maxItems: 8 | |
| 140 | + items: | |
| 141 | + - description: region used for dynamic DMA allocations like vrings and | |
| 142 | + vring buffers | |
| 143 | + - description: region reserved for firmware image sections | |
| 144 | + additionalItems: true | |
| 145 | + | |
| 146 | + | |
| 147 | +# Optional properties: | |
| 148 | +# -------------------- | |
| 149 | +# The following properties are optional properties for each of the R5F cores: | |
| 150 | + | |
| 151 | + ti,atcm-enable: | |
| 152 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 153 | + enum: [0, 1] | |
| 154 | + description: | | |
| 155 | + R5F core configuration mode dictating if ATCM should be enabled. The | |
| 156 | + R5F address of ATCM is dictated by ti,loczrama property. Should be | |
| 157 | + either a value of 1 (enabled) or 0 (disabled), default is disabled | |
| 158 | + if omitted. Recommended to enable it for maximizing TCMs. | |
| 159 | + | |
| 160 | + ti,btcm-enable: | |
| 161 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 162 | + enum: [0, 1] | |
| 163 | + description: | | |
| 164 | + R5F core configuration mode dictating if BTCM should be enabled. The | |
| 165 | + R5F address of BTCM is dictated by ti,loczrama property. Should be | |
| 166 | + either a value of 1 (enabled) or 0 (disabled), default is enabled if | |
| 167 | + omitted. | |
| 168 | + | |
| 169 | + ti,loczrama: | |
| 170 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 171 | + enum: [0, 1] | |
| 172 | + description: | | |
| 173 | + R5F core configuration mode dictating which TCM should appear at | |
| 174 | + address 0 (from core's view). Should be either a value of 1 (ATCM | |
| 175 | + at 0x0) or 0 (BTCM at 0x0), default value is 1 if omitted. | |
| 176 | + | |
| 177 | + sram: | |
| 178 | + $ref: /schemas/types.yaml#/definitions/phandle-array | |
| 179 | + minItems: 1 | |
| 180 | + maxItems: 4 | |
| 181 | + description: | | |
| 182 | + phandles to one or more reserved on-chip SRAM regions. The regions | |
| 183 | + should be defined as child nodes of the respective SRAM node, and | |
| 184 | + should be defined as per the generic bindings in, | |
| 185 | + Documentation/devicetree/bindings/sram/sram.yaml | |
| 186 | + | |
| 187 | + required: | |
| 188 | + - compatible | |
| 189 | + - reg | |
| 190 | + - reg-names | |
| 191 | + - ti,sci | |
| 192 | + - ti,sci-dev-id | |
| 193 | + - ti,sci-proc-ids | |
| 194 | + - resets | |
| 195 | + - firmware-name | |
| 196 | + | |
| 197 | + unevaluatedProperties: false | |
| 198 | + | |
| 199 | +required: | |
| 200 | + - compatible | |
| 201 | + - power-domains | |
| 202 | + - "#address-cells" | |
| 203 | + - "#size-cells" | |
| 204 | + - ranges | |
| 205 | + | |
| 206 | +additionalProperties: false | |
| 207 | + | |
| 208 | +examples: | |
| 209 | + - | | |
| 210 | + / { | |
| 211 | + model = "Texas Instruments K3 AM654 SoC"; | |
| 212 | + compatible = "ti,am654-evm", "ti,am654"; | |
| 213 | + #address-cells = <2>; | |
| 214 | + #size-cells = <2>; | |
| 215 | + | |
| 216 | + bus@100000 { | |
| 217 | + compatible = "simple-bus"; | |
| 218 | + #address-cells = <2>; | |
| 219 | + #size-cells = <2>; | |
| 220 | + ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ | |
| 221 | + <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, | |
| 222 | + <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, | |
| 223 | + <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00080000>; | |
| 224 | + | |
| 225 | + bus@28380000 { | |
| 226 | + compatible = "simple-bus"; | |
| 227 | + #address-cells = <2>; | |
| 228 | + #size-cells = <2>; | |
| 229 | + ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS */ | |
| 230 | + <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */ | |
| 231 | + <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */ | |
| 232 | + <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00080000>; /* MCU SRAM */ | |
| 233 | + | |
| 234 | + /* AM65x MCU R5FSS node */ | |
| 235 | + mcu_r5fss0: r5fss@41000000 { | |
| 236 | + compatible = "ti,am654-r5fss"; | |
| 237 | + power-domains = <&k3_pds 129>; | |
| 238 | + ti,cluster-mode = <1>; | |
| 239 | + #address-cells = <1>; | |
| 240 | + #size-cells = <1>; | |
| 241 | + ranges = <0x41000000 0x00 0x41000000 0x20000>, | |
| 242 | + <0x41400000 0x00 0x41400000 0x20000>; | |
| 243 | + | |
| 244 | + mcu_r5f0: r5f@41000000 { | |
| 245 | + compatible = "ti,am654-r5f"; | |
| 246 | + reg = <0x41000000 0x00008000>, | |
| 247 | + <0x41010000 0x00008000>; | |
| 248 | + reg-names = "atcm", "btcm"; | |
| 249 | + ti,sci = <&dmsc>; | |
| 250 | + ti,sci-dev-id = <159>; | |
| 251 | + ti,sci-proc-ids = <0x01 0xFF>; | |
| 252 | + resets = <&k3_reset 159 1>; | |
| 253 | + firmware-name = "am65x-mcu-r5f0_0-fw"; | |
| 254 | + ti,atcm-enable = <1>; | |
| 255 | + ti,btcm-enable = <1>; | |
| 256 | + ti,loczrama = <1>; | |
| 257 | + mboxes = <&mailbox0 &mbox_mcu_r5fss0_core0>; | |
| 258 | + memory-region = <&mcu_r5fss0_core0_dma_memory_region>, | |
| 259 | + <&mcu_r5fss0_core0_memory_region>; | |
| 260 | + sram = <&mcu_r5fss0_core0_sram>; | |
| 261 | + }; | |
| 262 | + | |
| 263 | + mcu_r5f1: r5f@41400000 { | |
| 264 | + compatible = "ti,am654-r5f"; | |
| 265 | + reg = <0x41400000 0x00008000>, | |
| 266 | + <0x41410000 0x00008000>; | |
| 267 | + reg-names = "atcm", "btcm"; | |
| 268 | + ti,sci = <&dmsc>; | |
| 269 | + ti,sci-dev-id = <245>; | |
| 270 | + ti,sci-proc-ids = <0x02 0xFF>; | |
| 271 | + resets = <&k3_reset 245 1>; | |
| 272 | + firmware-name = "am65x-mcu-r5f0_1-fw"; | |
| 273 | + ti,atcm-enable = <1>; | |
| 274 | + ti,btcm-enable = <1>; | |
| 275 | + ti,loczrama = <1>; | |
| 276 | + mboxes = <&mailbox1 &mbox_mcu_r5fss0_core1>; | |
| 277 | + }; | |
| 278 | + }; | |
| 279 | + }; | |
| 280 | + }; | |
| 281 | + }; | |
| @@ -47,6 +47,7 @@ properties: · 46 unmodified lines | ||
| 47 | 47 | - renesas,r8a77980-rst # R-Car V3H |
| 48 | 48 | - renesas,r8a77990-rst # R-Car E3 |
| 49 | 49 | - renesas,r8a77995-rst # R-Car D3 |
| 50 | + - renesas,r8a779a0-rst # R-Car V3U | |
| 50 | 51 | |
| 51 | 52 | reg: |
| 52 | 53 | maxItems: 1 |
| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | -------------------------------------------------------------------------- |
| 2 | − = Zynq UltraScale+ MPSoC reset driver binding = | |
| 2 | + = Zynq UltraScale+ MPSoC and Versal reset driver binding = | |
| 3 | 3 | -------------------------------------------------------------------------- |
| 4 | −The Zynq UltraScale+ MPSoC has several different resets. | |
| 4 | +The Zynq UltraScale+ MPSoC and Versal has several different resets. | |
| 5 | 5 | |
| 6 | 6 | See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information |
| 7 | 7 | about zynqmp resets. |
| @@ -10,7 +10,8 @@ Please also refer to reset.txt in this directory for common reset · 2 unmodified lines | ||
| 10 | 10 | controller binding usage. |
| 11 | 11 | |
| 12 | 12 | Required Properties: |
| 13 | −- compatible: "xlnx,zynqmp-reset" | |
| 13 | +- compatible: "xlnx,zynqmp-reset" for Zynq UltraScale+ MPSoC platform | |
| 14 | + "xlnx,versal-reset" for Versal platform | |
| 14 | 15 | - #reset-cells: Specifies the number of cells needed to encode reset |
| 15 | 16 | line, should be 1 |
| 16 | 17 | |
| @@ -37,8 +38,10 @@ Device nodes that need access to reset lines should · 20 unmodified lines | ||
| 37 | 38 | specify them as a reset phandle in their corresponding node as |
| 38 | 39 | specified in reset.txt. |
| 39 | 40 | |
| 40 | −For list of all valid reset indicies see | |
| 41 | +For list of all valid reset indices for Zynq UltraScale+ MPSoC see | |
| 41 | 42 | <dt-bindings/reset/xlnx-zynqmp-resets.h> |
| 43 | +For list of all valid reset indices for Versal see | |
| 44 | +<dt-bindings/reset/xlnx-versal-resets.h> | |
| 42 | 45 | |
| 43 | 46 | Example: |
| 44 | 47 | |
| @@ -25,8 +25,8 @@ select: · 24 unmodified lines | ||
| 25 | 25 | properties: |
| 26 | 26 | compatible: |
| 27 | 27 | items: |
| 28 | − - enum: | |
| 29 | − - sifive,fu540-c000-ccache | |
| 28 | + - enum: | |
| 29 | + - sifive,fu540-c000-ccache | |
| 30 | 30 | |
| 31 | 31 | required: |
| 32 | 32 | - compatible |
| @@ -22,4 +22,7 @@ properties: · 21 unmodified lines | ||
| 22 | 22 | - sifive,hifive-unleashed-a00 |
| 23 | 23 | - const: sifive,fu540-c000 |
| 24 | 24 | - const: sifive,fu540 |
| 25 | + | |
| 26 | +additionalProperties: true | |
| 27 | + | |
| 25 | 28 | ... |
| @@ -19,9 +19,9 @@ properties: · 18 unmodified lines | ||
| 19 | 19 | - const: fsl,imx21-rnga |
| 20 | 20 | - items: |
| 21 | 21 | - enum: |
| 22 | − - fsl,imx6sl-rngb | |
| 23 | − - fsl,imx6sll-rngb | |
| 24 | − - fsl,imx6ull-rngb | |
| 22 | + - fsl,imx6sl-rngb | |
| 23 | + - fsl,imx6sll-rngb | |
| 24 | + - fsl,imx6ull-rngb | |
| 25 | 25 | - const: fsl,imx25-rngb |
| 26 | 26 | - const: fsl,imx35-rngc |
| 27 | 27 | |
| @@ -0,0 +1,64 @@ | ||
| 1 | +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/rtc/microcrystal,rv3032.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: Microchip RV-3032 RTC Device Tree Bindings | |
| 8 | + | |
| 9 | +allOf: | |
| 10 | + - $ref: "rtc.yaml#" | |
| 11 | + | |
| 12 | +maintainers: | |
| 13 | + - Alexandre Belloni <alexandre.belloni@bootlin.com> | |
| 14 | + | |
| 15 | +properties: | |
| 16 | + compatible: | |
| 17 | + const: microcrystal,rv3032 | |
| 18 | + | |
| 19 | + reg: | |
| 20 | + maxItems: 1 | |
| 21 | + | |
| 22 | + interrupts: | |
| 23 | + maxItems: 1 | |
| 24 | + | |
| 25 | + start-year: true | |
| 26 | + | |
| 27 | + trickle-resistor-ohms: | |
| 28 | + enum: | |
| 29 | + - 1000 | |
| 30 | + - 2000 | |
| 31 | + - 7000 | |
| 32 | + - 11000 | |
| 33 | + | |
| 34 | + trickle-voltage-millivolt: | |
| 35 | + enum: | |
| 36 | + - 1750 | |
| 37 | + - 3000 | |
| 38 | + - 4400 | |
| 39 | + | |
| 40 | +required: | |
| 41 | + - compatible | |
| 42 | + - reg | |
| 43 | + | |
| 44 | +additionalProperties: false | |
| 45 | + | |
| 46 | +examples: | |
| 47 | + - | | |
| 48 | + #include <dt-bindings/interrupt-controller/irq.h> | |
| 49 | + i2c { | |
| 50 | + #address-cells = <1>; | |
| 51 | + #size-cells = <0>; | |
| 52 | + | |
| 53 | + rtc@51 { | |
| 54 | + compatible = "microcrystal,rv3032"; | |
| 55 | + reg = <0x51>; | |
| 56 | + status = "okay"; | |
| 57 | + pinctrl-0 = <&rtc_nint_pins>; | |
| 58 | + interrupts-extended = <&gpio1 16 IRQ_TYPE_LEVEL_HIGH>; | |
| 59 | + trickle-resistor-ohms = <7000>; | |
| 60 | + trickle-voltage-millivolt = <1750>; | |
| 61 | + }; | |
| 62 | + }; | |
| 63 | + | |
| 64 | +... | |
| @@ -31,9 +31,16 @@ Optional properties: · 30 unmodified lines | ||
| 31 | 31 | Selected resistor for trickle charger |
| 32 | 32 | Possible values are 250, 2000, 4000 |
| 33 | 33 | Should be given if trickle charger should be enabled |
| 34 | −- trickle-diode-disable : ds1339, ds1340 and ds 1388 only | |
| 34 | +- aux-voltage-chargeable: ds1339, ds1340, ds1388 and rx8130 only | |
| 35 | + Tells whether the battery/supercap of the RTC (if any) is | |
| 36 | + chargeable or not. | |
| 37 | + Possible values are 0 (not chargeable), 1 (chargeable) | |
| 38 | + | |
| 39 | +Deprecated properties: | |
| 40 | +- trickle-diode-disable : ds1339, ds1340 and ds1388 only | |
| 35 | 41 | Do not use internal trickle charger diode |
| 36 | 42 | Should be given if internal trickle charger diode should be disabled |
| 43 | + (superseded by aux-voltage-chargeable) | |
| 37 | 44 | |
| 38 | 45 | Example: |
| 39 | 46 | ds1339: rtc@68 { |
| @@ -17,6 +17,15 @@ properties: · 16 unmodified lines | ||
| 17 | 17 | $nodename: |
| 18 | 18 | pattern: "^rtc(@.*|-[0-9a-f])*$" |
| 19 | 19 | |
| 20 | + aux-voltage-chargeable: | |
| 21 | + $ref: /schemas/types.yaml#/definitions/uint32 | |
| 22 | + enum: [0, 1] | |
| 23 | + description: | | |
| 24 | + Tells whether the battery/supercap of the RTC (if any) is | |
| 25 | + chargeable or not: | |
| 26 | + 0: not chargeable | |
| 27 | + 1: chargeable | |
| 28 | + | |
| 20 | 29 | quartz-load-femtofarads: |
| 21 | 30 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 22 | 31 | description: |
| @@ -35,6 +44,7 @@ properties: · 12 unmodified lines | ||
| 35 | 44 | description: |
| 36 | 45 | Do not use internal trickle charger diode. Should be given if |
| 37 | 46 | internal trickle charger diode should be disabled. |
| 47 | + deprecated: true | |
| 38 | 48 | |
| 39 | 49 | trickle-resistor-ohms: |
| 40 | 50 | $ref: /schemas/types.yaml#/definitions/uint32 |
| @@ -42,6 +52,12 @@ properties: · 1 unmodified line | ||
| 42 | 52 | Selected resistor for trickle charger. Should be given |
| 43 | 53 | if trickle charger should be enabled. |
| 44 | 54 | |
| 55 | + trickle-voltage-millivolt: | |
| 56 | + description: | |
| 57 | + Selected voltage for trickle charger. Should be given | |
| 58 | + if trickle charger should be enabled and the trickle voltage is different | |
| 59 | + from the RTC main power supply. | |
| 60 | + | |
| 45 | 61 | wakeup-source: |
| 46 | 62 | $ref: /schemas/types.yaml#/definitions/flag |
| 47 | 63 | description: |
| @@ -20,30 +20,30 @@ properties: · 19 unmodified lines | ||
| 20 | 20 | - const: fsl,imx21-uart |
| 21 | 21 | - items: |
| 22 | 22 | - enum: |
| 23 | − - fsl,imx25-uart | |
| 24 | − - fsl,imx27-uart | |
| 25 | − - fsl,imx31-uart | |
| 26 | − - fsl,imx35-uart | |
| 27 | − - fsl,imx50-uart | |
| 28 | − - fsl,imx51-uart | |
| 29 | − - fsl,imx53-uart | |
| 30 | − - fsl,imx6q-uart | |
| 23 | + - fsl,imx25-uart | |
| 24 | + - fsl,imx27-uart | |
| 25 | + - fsl,imx31-uart | |
| 26 | + - fsl,imx35-uart | |
| 27 | + - fsl,imx50-uart | |
| 28 | + - fsl,imx51-uart | |
| 29 | + - fsl,imx53-uart | |
| 30 | + - fsl,imx6q-uart | |
| 31 | 31 | - const: fsl,imx21-uart |
| 32 | 32 | - items: |
| 33 | 33 | - enum: |
| 34 | − - fsl,imx6sl-uart | |
| 35 | − - fsl,imx6sll-uart | |
| 36 | − - fsl,imx6sx-uart | |
| 34 | + - fsl,imx6sl-uart | |
| 35 | + - fsl,imx6sll-uart | |
| 36 | + - fsl,imx6sx-uart | |
| 37 | 37 | - const: fsl,imx6q-uart |
| 38 | 38 | - const: fsl,imx21-uart |
| 39 | 39 | - items: |
| 40 | 40 | - enum: |
| 41 | − - fsl,imx6ul-uart | |
| 42 | − - fsl,imx7d-uart | |
| 43 | − - fsl,imx8mm-uart | |
| 44 | − - fsl,imx8mn-uart | |
| 45 | − - fsl,imx8mp-uart | |
| 46 | − - fsl,imx8mq-uart | |
| 41 | + - fsl,imx6ul-uart | |
| 42 | + - fsl,imx7d-uart | |
| 43 | + - fsl,imx8mm-uart | |
| 44 | + - fsl,imx8mn-uart | |
| 45 | + - fsl,imx8mp-uart | |
| 46 | + - fsl,imx8mq-uart | |
| 47 | 47 | - const: fsl,imx6q-uart |
| 48 | 48 | |
| 49 | 49 | reg: |
| @@ -20,7 +20,7 @@ description: | · 19 unmodified lines | ||
| 20 | 20 | present and this subnode may contain children that designate regulator |
| 21 | 21 | resources. |
| 22 | 22 | |
| 23 | − Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt | |
| 23 | + Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml | |
| 24 | 24 | for information on the regulator subnodes that can exist under the |
| 25 | 25 | rpm_requests. |
| 26 | 26 | |
| @@ -62,11 +62,6 @@ properties: · 61 unmodified lines | ||
| 62 | 62 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 63 | 63 | description: TI-SCI device id of the ring accelerator |
| 64 | 64 | |
| 65 | − ti,dma-ring-reset-quirk: | |
| 66 | − $ref: /schemas/types.yaml#definitions/flag | |
| 67 | − description: | | |
| 68 | − enable ringacc/udma ring state interoperability issue software w/a | |
| 69 | − | |
| 70 | 65 | required: |
| 71 | 66 | - compatible |
| 72 | 67 | - reg |
| @@ -94,7 +89,6 @@ examples: · 21 unmodified lines | ||
| 94 | 89 | reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target"; |
| 95 | 90 | ti,num-rings = <818>; |
| 96 | 91 | ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */ |
| 97 | − ti,dma-ring-reset-quirk; | |
| 98 | 92 | ti,sci = <&dmsc>; |
| 99 | 93 | ti,sci-dev-id = <187>; |
| 100 | 94 | msi-parent = <&inta_main_udmass>; |
| @@ -0,0 +1,439 @@ | ||
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| 2 | +%YAML 1.2 | |
| 3 | +--- | |
| 4 | +$id: http://devicetree.org/schemas/soc/ti/ti,pruss.yaml# | |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# | |
| 6 | + | |
| 7 | +title: |+ | |
| 8 | + TI Programmable Real-Time Unit and Industrial Communication Subsystem | |
| 9 | + | |
| 10 | +maintainers: | |
| 11 | + - Suman Anna <s-anna@ti.com> | |
| 12 | + | |
| 13 | +description: |+ | |
| 14 | + | |
| 15 | + The Programmable Real-Time Unit and Industrial Communication Subsystem | |
| 16 | + (PRU-ICSS a.k.a. PRUSS) is present on various TI SoCs such as AM335x, AM437x, | |
| 17 | + Keystone 66AK2G, OMAP-L138/DA850 etc. A PRUSS consists of dual 32-bit RISC | |
| 18 | + cores (Programmable Real-Time Units, or PRUs), shared RAM, data and | |
| 19 | + instruction RAMs, some internal peripheral modules to facilitate industrial | |
| 20 | + communication, and an interrupt controller. | |
| 21 | + | |
| 22 | + The programmable nature of the PRUs provide flexibility to implement custom | |
| 23 | + peripheral interfaces, fast real-time responses, or specialized data handling. | |
| 24 | + The common peripheral modules include the following, | |
| 25 | + - an Ethernet MII_RT module with two MII ports | |
| 26 | + - an MDIO port to control external Ethernet PHYs | |
| 27 | + - an Industrial Ethernet Peripheral (IEP) to manage/generate Industrial | |
| 28 | + Ethernet functions | |
| 29 | + - an Enhanced Capture Module (eCAP) | |
| 30 | + - an Industrial Ethernet Timer with 7/9 capture and 16 compare events | |
| 31 | + - a 16550-compatible UART to support PROFIBUS | |
| 32 | + - Enhanced GPIO with async capture and serial support | |
| 33 | + | |
| 34 | + A PRU-ICSS subsystem can have up to three shared data memories. A PRU core | |
| 35 | + acts on a primary Data RAM (there are usually 2 Data RAMs) at its address | |
| 36 | + 0x0, but also has access to a secondary Data RAM (primary to the other PRU | |
| 37 | + core) at its address 0x2000. A shared Data RAM, if present, can be accessed | |
| 38 | + by both the PRU cores. The Interrupt Controller (INTC) and a CFG module are | |
| 39 | + common to both the PRU cores. Each PRU core also has a private instruction | |
| 40 | + RAM, and specific register spaces for Control and Debug functionalities. | |
| 41 | + | |
| 42 | + Various sub-modules within a PRU-ICSS subsystem are represented as individual | |
| 43 | + nodes and are defined using a parent-child hierarchy depending on their | |
| 44 | + integration within the IP and the SoC. These nodes are described in the | |
| 45 | + following sections. | |
| 46 | + | |
| 47 | + | |
| 48 | + PRU-ICSS Node | |
| 49 | + ============== | |
| 50 | + Each PRU-ICSS instance is represented as its own node with the individual PRU | |
| 51 | + processor cores, the memories node, an INTC node and an MDIO node represented | |
| 52 | + as child nodes within this PRUSS node. This node shall be a child of the | |
| 53 | + corresponding interconnect bus nodes or target-module nodes. | |
| 54 | + | |
| 55 | + See ../../mfd/syscon.yaml for generic SysCon binding details. | |
| 56 | + | |
| 57 | + | |
| 58 | +properties: | |
| 59 | + $nodename: | |
| 60 | + pattern: "^(pruss|icssg)@[0-9a-f]+$" | |
| 61 | + | |
| 62 | + compatible: | |
| 63 | + enum: | |
| 64 | + - ti,am3356-pruss # for AM335x SoC family | |
| 65 | + - ti,am4376-pruss0 # for AM437x SoC family and PRUSS unit 0 | |
| 66 | + - ti,am4376-pruss1 # for AM437x SoC family and PRUSS unit 1 | |
| 67 | + - ti,am5728-pruss # for AM57xx SoC family | |
372 more lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 445 lines aren’t shown here.
This diff is large: its 214 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 194 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 192 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 161 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 275 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 984 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 279 lines aren’t shown here.
This diff is large: its 157 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 195 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 174 lines aren’t shown here.
This diff is large: its 252 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 513 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 258 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 1134 lines aren’t shown here.
This diff is large: its 286 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 209 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 167 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 115 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 428 lines aren’t shown here.
This diff is large: its 448 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 663 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 153 lines aren’t shown here.
This diff is large: its 198 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 275 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 108 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 202 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 589 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 108 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 152 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 307 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 383 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 157 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 204 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 236 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 183 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 208 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 294 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 162 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 218 lines aren’t shown here.
This diff is large: its 707 lines aren’t shown here.
This diff is large: its 1255 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 563 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 563 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 292 lines aren’t shown here.
This diff is large: its 339 lines aren’t shown here.
This diff is large: its 471 lines aren’t shown here.
This diff is large: its 408 lines aren’t shown here.
This diff is large: its 616 lines aren’t shown here.
This diff is large: its 580 lines aren’t shown here.
This diff is large: its 313 lines aren’t shown here.
This diff is large: its 291 lines aren’t shown here.
This diff is large: its 582 lines aren’t shown here.
This diff is large: its 517 lines aren’t shown here.
This diff is large: its 427 lines aren’t shown here.
This diff is large: its 586 lines aren’t shown here.
This diff is large: its 167 lines aren’t shown here.
This diff is large: its 413 lines aren’t shown here.
This diff is large: its 263 lines aren’t shown here.
This diff is large: its 307 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 238 lines aren’t shown here.
This diff is large: its 177 lines aren’t shown here.
This diff is large: its 210 lines aren’t shown here.
This diff is large: its 197 lines aren’t shown here.
This diff is large: its 183 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 239 lines aren’t shown here.
This diff is large: its 271 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 191 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
File renamed without changes.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
File renamed without changes.
This diff is large: its 11 lines aren’t shown here.
File renamed without changes.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
File renamed without changes.
This diff is large: its 35 lines aren’t shown here.
File renamed without changes.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
File renamed without changes.
This diff is large: its 20 lines aren’t shown here.
File renamed without changes.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
File renamed without changes.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 115 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
File renamed without changes.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 63 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
File renamed without changes.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
File renamed without changes.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 11 lines aren’t shown here.
File renamed without changes.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 213 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 181 lines aren’t shown here.
This diff is large: its 365 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 627 lines aren’t shown here.
This diff is large: its 626 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 319 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 163 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 255 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 182 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 598 lines aren’t shown here.
This diff is large: its 476 lines aren’t shown here.
This diff is large: its 256 lines aren’t shown here.
This diff is large: its 559 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 549 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 995 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 1107 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 231 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 302 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 195 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 190 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 1023 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 160 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 129 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 2975 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 163 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 687 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 192 lines aren’t shown here.
This diff is large: its 1403 lines aren’t shown here.
This diff is large: its 932 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 381 lines aren’t shown here.
This diff is large: its 270 lines aren’t shown here.
This diff is large: its 189 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 1362 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 1563 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 680 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 134 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 375 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 369 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 450 lines aren’t shown here.
This diff is large: its 274 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 298 lines aren’t shown here.
This diff is large: its 375 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 391 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 237 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 262 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 294 lines aren’t shown here.
This diff is large: its 310 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 161 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 225 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 4 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 186 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 893 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 2154 lines aren’t shown here.
This diff is large: its 282 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 386 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
File renamed without changes.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
File renamed without changes.
This diff is large: its 402 lines aren’t shown here.
This diff is large: its 391 lines aren’t shown here.
This diff is large: its 161 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 314 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 930 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
File renamed without changes.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 160 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 190 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 162 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 4 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 395 lines aren’t shown here.
This diff is large: its 172 lines aren’t shown here.
This diff is large: its 322 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 166 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 304 lines aren’t shown here.
This diff is large: its 225 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
File renamed without changes.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 231 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 185 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 178 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 116 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 340 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 163 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 360 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 181 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 307 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 564 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 227 lines aren’t shown here.
This diff is large: its 134 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 174 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 169 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 390 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 569 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 189 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 360 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 294 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 410 lines aren’t shown here.
This diff is large: its 370 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 268 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 522 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 456 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 166 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 162 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 116 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 250 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 1692 lines aren’t shown here.
This diff is large: its 116 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 319 lines aren’t shown here.
This diff is large: its 253 lines aren’t shown here.
This diff is large: its 183 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 1165 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 639 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 809 lines aren’t shown here.
This diff is large: its 222 lines aren’t shown here.
This diff is large: its 177 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 430 lines aren’t shown here.
This diff is large: its 333 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 1987 lines aren’t shown here.
This diff is large: its 225 lines aren’t shown here.
File renamed without changes.
This diff is large: its 1296 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 481 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 264 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 403 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 331 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 224 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 147 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 185 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 283 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 172 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 147 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 329 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 1063 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 299 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 1108 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 540 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 370 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 340 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 249 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 215 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 1277 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 771 lines aren’t shown here.
This diff is large: its 276 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 116 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 144 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 178 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 212 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 177 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 223 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 213 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 116 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 209 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 2475 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 149 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 281 lines aren’t shown here.
This diff is large: its 2087 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 176 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 224 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 108 lines aren’t shown here.
This diff is large: its 441 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 415 lines aren’t shown here.
This diff is large: its 1133 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 233 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 897 lines aren’t shown here.
This diff is large: its 223 lines aren’t shown here.
This diff is large: its 434 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 286 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 213 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 495 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 198 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 203 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 919 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 165 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 223 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 228 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 412 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 808 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 301 lines aren’t shown here.
This diff is large: its 363 lines aren’t shown here.
This diff is large: its 224 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 218 lines aren’t shown here.
This diff is large: its 422 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 383 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 830 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 265 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 242 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 196 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 582 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 355 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 376 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 324 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 153 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 195 lines aren’t shown here.
This diff is large: its 202 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 195 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 418 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 348 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 383 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 400 lines aren’t shown here.
This diff is large: its 450 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 270 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 589 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 636 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 336 lines aren’t shown here.
This diff is large: its 428 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 586 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 1486 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 1941 lines aren’t shown here.
This diff is large: its 358 lines aren’t shown here.
This diff is large: its 201 lines aren’t shown here.
This diff is large: its 463 lines aren’t shown here.
This diff is large: its 784 lines aren’t shown here.
This diff is large: its 352 lines aren’t shown here.
This diff is large: its 275 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 691 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 1350 lines aren’t shown here.
This diff is large: its 222 lines aren’t shown here.
This diff is large: its 176 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 1761 lines aren’t shown here.
This diff is large: its 478 lines aren’t shown here.
This diff is large: its 283 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 185 lines aren’t shown here.
This diff is large: its 785 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 1167 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 165 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 215 lines aren’t shown here.
This diff is large: its 171 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 485 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 773 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 259 lines aren’t shown here.
This diff is larger than a page shows: the files after these aren’t listed. Clone the repository to see all of it.