- support for EX-G M-XGL20DLBK device, from YOSHIOKA Takuma
Unified · Split
| @@ -429,6 +429,7 @@ ForEachMacros: · 428 unmodified lines | |||
| 429 | - 'rbtree_postorder_for_each_entry_safe' | 429 | - 'rbtree_postorder_for_each_entry_safe' |
| 430 | - 'rdma_for_each_block' | 430 | - 'rdma_for_each_block' |
| 431 | - 'rdma_for_each_port' | 431 | - 'rdma_for_each_port' |
| 432 | - 'rdma_umem_for_each_dma_block' | ||
| 432 | - 'resource_list_for_each_entry' | 433 | - 'resource_list_for_each_entry' |
| 433 | - 'resource_list_for_each_entry_safe' | 434 | - 'resource_list_for_each_entry_safe' |
| 434 | - 'rhl_for_each_entry_rcu' | 435 | - 'rhl_for_each_entry_rcu' |
| @@ -82,7 +82,10 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com> · 81 unmodified lines | |||
| 82 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com> | 82 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com> |
| 83 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com> | 83 | Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com> |
| 84 | <dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be> | 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 | Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com> | 89 | Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com> |
| 87 | Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com> | 90 | Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com> |
| 88 | Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com> | 91 | Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com> |
| @@ -133,6 +136,7 @@ James Ketrenos <jketreno@io.(none)> · 44 unmodified lines | |||
| 133 | Jan Glauber <jan.glauber@gmail.com> <jang@de.ibm.com> | 136 | Jan Glauber <jan.glauber@gmail.com> <jang@de.ibm.com> |
| 134 | Jan Glauber <jan.glauber@gmail.com> <jang@linux.vnet.ibm.com> | 137 | Jan Glauber <jan.glauber@gmail.com> <jang@linux.vnet.ibm.com> |
| 135 | Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com> | 138 | Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com> |
| 139 | Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@linux.intel.com> | ||
| 136 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com> | 140 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com> |
| 137 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com> | 141 | Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com> |
| 138 | Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com> | 142 | Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com> |
| @@ -98,7 +98,7 @@ N: Erik Andersen · 97 unmodified lines | |||
| 98 | E: andersen@codepoet.org | 98 | E: andersen@codepoet.org |
| 99 | W: https://www.codepoet.org/ | 99 | W: https://www.codepoet.org/ |
| 100 | P: 1024D/30D39057 1BC4 2742 E885 E4DE 9301 0C82 5F9B 643E 30D3 9057 | 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 | D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update. | 102 | D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update. |
| 103 | S: 352 North 525 East | 103 | S: 352 North 525 East |
| 104 | S: Springville, Utah 84663 | 104 | S: Springville, Utah 84663 |
| @@ -191,6 +191,10 @@ N: Krishna Balasubramanian · 86 unmodified lines | |||
| 191 | E: balasub@cis.ohio-state.edu | 191 | E: balasub@cis.ohio-state.edu |
| 192 | D: Wrote SYS V IPC (part of standard kernel since 0.99.10) | 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 | N: Chris Ball | 198 | N: Chris Ball |
| 195 | E: chris@printf.net | 199 | E: chris@printf.net |
| 196 | D: Former maintainer of the MMC/SD/SDIO subsystem. | 200 | D: Former maintainer of the MMC/SD/SDIO subsystem. |
| @@ -259,7 +263,7 @@ N: Paul Barton-Davis · 62 unmodified lines | |||
| 259 | E: pbd@op.net | 263 | E: pbd@op.net |
| 260 | D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+) | 264 | D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+) |
| 261 | D: Various bugfixes and changes to sound drivers | 265 | D: Various bugfixes and changes to sound drivers |
| 262 | S: USA | 266 | S: USA |
| 263 | 267 | ||
| 264 | N: Carlos Henrique Bauer | 268 | N: Carlos Henrique Bauer |
| 265 | E: chbauer@acm.org | 269 | E: chbauer@acm.org |
| @@ -845,6 +849,12 @@ D: trivial hack to add variable address length routing to Rose. · 579 unmodified lines | |||
| 845 | D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO | 849 | D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO |
| 846 | D: ax25-utils maintainer. | 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 | N: Helge Deller | 858 | N: Helge Deller |
| 849 | E: deller@gmx.de | 859 | E: deller@gmx.de |
| 850 | W: http://www.parisc-linux.org/ | 860 | W: http://www.parisc-linux.org/ |
| @@ -1195,7 +1205,7 @@ N: Daniel J. Frasnelli · 344 unmodified lines | |||
| 1195 | E: dfrasnel@alphalinux.org | 1205 | E: dfrasnel@alphalinux.org |
| 1196 | W: http://www.alphalinux.org/ | 1206 | W: http://www.alphalinux.org/ |
| 1197 | P: 1024/3EF87611 B9 F1 44 50 D3 E8 C2 80 DA E5 55 AA 56 7C 42 DA | 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 | D: Miscellaneous bug squisher | 1209 | D: Miscellaneous bug squisher |
| 1200 | 1210 | ||
| 1201 | N: Jim Freeman | 1211 | N: Jim Freeman |
| @@ -1295,7 +1305,7 @@ S: P.O. Box 76, Epping · 93 unmodified lines | |||
| 1295 | S: New South Wales, 2121 | 1305 | S: New South Wales, 2121 |
| 1296 | S: Australia | 1306 | S: Australia |
| 1297 | 1307 | ||
| 1298 | N: Carlos E. Gorges | 1308 | N: Carlos E. Gorges |
| 1299 | E: carlos@techlinux.com.br | 1309 | E: carlos@techlinux.com.br |
| 1300 | D: fix smp support on cmpci driver | 1310 | D: fix smp support on cmpci driver |
| 1301 | P: 2048G/EA3C4B19 FF31 33A6 0362 4915 B7EB E541 17D0 0379 EA3C 4B19 | 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 | E: wgreathouse@myfavoritei.com | 1346 | E: wgreathouse@myfavoritei.com |
| 1337 | D: Current Belkin USB Serial Adapter F5U103 hacker | 1347 | D: Current Belkin USB Serial Adapter F5U103 hacker |
| 1338 | D: Kernel hacker, embedded systems | 1348 | D: Kernel hacker, embedded systems |
| 1339 | S: 7802 Fitzwater Road | 1349 | S: 7802 Fitzwater Road |
| 1340 | S: Brecksville, OH 44141-1334 | 1350 | S: Brecksville, OH 44141-1334 |
| 1341 | S: USA | 1351 | S: USA |
| 1342 | 1352 | ||
| @@ -1377,7 +1387,7 @@ N: Grant Guenther · 34 unmodified lines | |||
| 1377 | E: grant@torque.net | 1387 | E: grant@torque.net |
| 1378 | W: http://www.torque.net/linux-pp.html | 1388 | W: http://www.torque.net/linux-pp.html |
| 1379 | D: original author of ppa driver for parallel port ZIP drive | 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 | D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices | 1391 | D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices |
| 1382 | S: 44 St. Joseph Street, Suite 506 | 1392 | S: 44 St. Joseph Street, Suite 506 |
| 1383 | S: Toronto, Ontario, M4Y 2W4 | 1393 | S: Toronto, Ontario, M4Y 2W4 |
| @@ -1519,7 +1529,7 @@ N: Benjamin Herrenschmidt · 135 unmodified lines | |||
| 1519 | E: benh@kernel.crashing.org | 1529 | E: benh@kernel.crashing.org |
| 1520 | D: Various parts of PPC/PPC64 & PowerMac | 1530 | D: Various parts of PPC/PPC64 & PowerMac |
| 1521 | S: 312/107 Canberra Avenue | 1531 | S: 312/107 Canberra Avenue |
| 1522 | S: Griffith, ACT 2603 | 1532 | S: Griffith, ACT 2603 |
| 1523 | S: Australia | 1533 | S: Australia |
| 1524 | 1534 | ||
| 1525 | N: Andreas Herrmann | 1535 | N: Andreas Herrmann |
| @@ -1821,7 +1831,7 @@ S: Hungary · 295 unmodified lines | |||
| 1821 | N: Bernhard Kaindl | 1831 | N: Bernhard Kaindl |
| 1822 | E: bkaindl@netway.at | 1832 | E: bkaindl@netway.at |
| 1823 | E: edv@bartelt.via.at | 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 | D: is the predecessor of 'make menuconfig' and 'make xconfig'. | 1835 | D: is the predecessor of 'make menuconfig' and 'make xconfig'. |
| 1826 | D: digiboard driver update(modularisation work and 2.1.x upd) | 1836 | D: digiboard driver update(modularisation work and 2.1.x upd) |
| 1827 | S: Tallak 95 | 1837 | S: Tallak 95 |
| @@ -1906,6 +1916,15 @@ S: 660 Harvard Ave. #7 · 78 unmodified lines | |||
| 1906 | S: Santa Clara, CA 95051 | 1916 | S: Santa Clara, CA 95051 |
| 1907 | S: USA | 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 | N: Russell King | 1928 | N: Russell King |
| 1910 | E: rmk@arm.linux.org.uk | 1929 | E: rmk@arm.linux.org.uk |
| 1911 | D: Linux/arm integrator, maintainer & hacker | 1930 | D: Linux/arm integrator, maintainer & hacker |
| @@ -2003,7 +2022,7 @@ W: http://www.xos.nl/ · 91 unmodified lines | |||
| 2003 | D: IP transparent proxy support | 2022 | D: IP transparent proxy support |
| 2004 | S: X/OS Experts in Open Systems BV | 2023 | S: X/OS Experts in Open Systems BV |
| 2005 | S: Kruislaan 419 | 2024 | S: Kruislaan 419 |
| 2006 | S: 1098 VA Amsterdam | 2025 | S: 1098 VA Amsterdam |
| 2007 | S: The Netherlands | 2026 | S: The Netherlands |
| 2008 | 2027 | ||
| 2009 | N: Goran Koruga | 2028 | N: Goran Koruga |
| @@ -2075,7 +2094,7 @@ S: Germany · 65 unmodified lines | |||
| 2075 | 2094 | ||
| 2076 | N: Andrzej M. Krzysztofowicz | 2095 | N: Andrzej M. Krzysztofowicz |
| 2077 | E: ankry@mif.pg.gda.pl | 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 | D: Aladdin 1533/1543(C) chipset IDE | 2098 | D: Aladdin 1533/1543(C) chipset IDE |
| 2080 | D: PIIX chipset IDE | 2099 | D: PIIX chipset IDE |
| 2081 | S: ul. Matemblewska 1B/10 | 2100 | S: ul. Matemblewska 1B/10 |
| @@ -2450,7 +2469,7 @@ E: mge@EZ-Darmstadt.Telekom.de · 368 unmodified lines | |||
| 2450 | D: Logical Volume Manager | 2469 | D: Logical Volume Manager |
| 2451 | S: Bartningstr. 12 | 2470 | S: Bartningstr. 12 |
| 2452 | S: 64289 Darmstadt | 2471 | S: 64289 Darmstadt |
| 2453 | S: Germany | 2472 | S: Germany |
| 2454 | 2473 | ||
| 2455 | N: Mark W. McClelland | 2474 | N: Mark W. McClelland |
| 2456 | E: mmcclell@bigfoot.com | 2475 | E: mmcclell@bigfoot.com |
| @@ -2534,7 +2553,7 @@ E: meskes@debian.org · 77 unmodified lines | |||
| 2534 | P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D | 2553 | P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D |
| 2535 | D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon. | 2554 | D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon. |
| 2536 | D: Maintainer of several Debian packages | 2555 | D: Maintainer of several Debian packages |
| 2537 | S: Th.-Heuss-Str. 61 | 2556 | S: Th.-Heuss-Str. 61 |
| 2538 | S: D-41812 Erkelenz | 2557 | S: D-41812 Erkelenz |
| 2539 | S: Germany | 2558 | S: Germany |
| 2540 | 2559 | ||
| @@ -2772,7 +2791,7 @@ E: neuffer@goofy.zdv.uni-mainz.de · 231 unmodified lines | |||
| 2772 | W: http://www.i-Connect.Net/~mike/ | 2791 | W: http://www.i-Connect.Net/~mike/ |
| 2773 | D: Developer and maintainer of the EATA-DMA SCSI driver | 2792 | D: Developer and maintainer of the EATA-DMA SCSI driver |
| 2774 | D: Co-developer EATA-PIO SCSI driver | 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 | S: Zum Schiersteiner Grund 2 | 2795 | S: Zum Schiersteiner Grund 2 |
| 2777 | S: 55127 Mainz | 2796 | S: 55127 Mainz |
| 2778 | S: Germany | 2797 | S: Germany |
| @@ -2839,6 +2858,10 @@ D: IPX development and support · 60 unmodified lines | |||
| 2839 | N: Venkatesh Pallipadi (Venki) | 2858 | N: Venkatesh Pallipadi (Venki) |
| 2840 | D: x86/HPET | 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 | N: David Parsons | 2865 | N: David Parsons |
| 2843 | E: orc@pell.chi.il.us | 2866 | E: orc@pell.chi.il.us |
| 2844 | D: improved memory detection code. | 2867 | D: improved memory detection code. |
| @@ -3006,7 +3029,7 @@ D: Embedded PowerPC 4xx/6xx/7xx/74xx support · 161 unmodified lines | |||
| 3006 | S: Chandler, Arizona 85249 | 3029 | S: Chandler, Arizona 85249 |
| 3007 | S: USA | 3030 | S: USA |
| 3008 | 3031 | ||
| 3009 | N: Frederic Potter | 3032 | N: Frederic Potter |
| 3010 | E: fpotter@cirpack.com | 3033 | E: fpotter@cirpack.com |
| 3011 | D: Some PCI kernel support | 3034 | D: Some PCI kernel support |
| 3012 | 3035 | ||
| @@ -3439,21 +3462,21 @@ S: Klosterweg 28 / i309 · 426 unmodified lines | |||
| 3439 | S: 76131 Karlsruhe | 3462 | S: 76131 Karlsruhe |
| 3440 | S: Germany | 3463 | S: Germany |
| 3441 | 3464 | ||
| 3442 | N: James Simmons | 3465 | N: James Simmons |
| 3443 | E: jsimmons@infradead.org | 3466 | E: jsimmons@infradead.org |
| 3444 | E: jsimmons@users.sf.net | 3467 | E: jsimmons@users.sf.net |
| 3445 | D: Frame buffer device maintainer | 3468 | D: Frame buffer device maintainer |
| 3446 | D: input layer development | 3469 | D: input layer development |
| 3447 | D: tty/console layer | 3470 | D: tty/console layer |
| 3448 | D: various mipsel devices | 3471 | D: various mipsel devices |
| 3449 | S: 115 Carmel Avenue | 3472 | S: 115 Carmel Avenue |
| 3450 | S: El Cerrito CA 94530 | 3473 | S: El Cerrito CA 94530 |
| 3451 | S: USA | 3474 | S: USA |
| 3452 | 3475 | ||
| 3453 | N: Jaspreet Singh | 3476 | N: Jaspreet Singh |
| 3454 | E: jaspreet@sangoma.com | 3477 | E: jaspreet@sangoma.com |
| 3455 | W: www.sangoma.com | 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 | S: Sangoma Technologies Inc., | 3480 | S: Sangoma Technologies Inc., |
| 3458 | S: 1001 Denison Street | 3481 | S: 1001 Denison Street |
| 3459 | S: Suite 101 | 3482 | S: Suite 101 |
| @@ -3477,7 +3500,7 @@ N: Craig Small · 17 unmodified lines | |||
| 3477 | E: csmall@triode.apana.org.au | 3500 | E: csmall@triode.apana.org.au |
| 3478 | E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio) | 3501 | E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio) |
| 3479 | D: Gracilis PackeTwin device driver | 3502 | D: Gracilis PackeTwin device driver |
| 3480 | D: RSPF daemon | 3503 | D: RSPF daemon |
| 3481 | S: 10 Stockalls Place | 3504 | S: 10 Stockalls Place |
| 3482 | S: Minto, NSW, 2566 | 3505 | S: Minto, NSW, 2566 |
| 3483 | S: Australia | 3506 | S: Australia |
| @@ -3687,7 +3710,7 @@ N: Tsu-Sheng Tsao · 203 unmodified lines | |||
| 3687 | E: tsusheng@scf.usc.edu | 3710 | E: tsusheng@scf.usc.edu |
| 3688 | D: IGMP(Internet Group Management Protocol) version 2 | 3711 | D: IGMP(Internet Group Management Protocol) version 2 |
| 3689 | S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD | 3712 | S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD |
| 3690 | S: Taipei | 3713 | S: Taipei |
| 3691 | S: Taiwan 112 | 3714 | S: Taiwan 112 |
| 3692 | S: Republic of China | 3715 | S: Republic of China |
| 3693 | S: 24335 Delta Drive | 3716 | S: 24335 Delta Drive |
| @@ -3848,7 +3871,7 @@ D: Produced the Slackware distribution, updated the SVGAlib · 154 unmodified lines | |||
| 3848 | D: patches for ghostscript, worked on color 'ls', etc. | 3871 | D: patches for ghostscript, worked on color 'ls', etc. |
| 3849 | S: 301 15th Street S. | 3872 | S: 301 15th Street S. |
| 3850 | S: Moorhead, Minnesota 56560 | 3873 | S: Moorhead, Minnesota 56560 |
| 3851 | S: USA | 3874 | S: USA |
| 3852 | 3875 | ||
| 3853 | N: Jos Vos | 3876 | N: Jos Vos |
| 3854 | E: jos@xos.nl | 3877 | E: jos@xos.nl |
| @@ -3856,7 +3879,7 @@ W: http://www.xos.nl/ · 1 unmodified line | |||
| 3856 | D: Various IP firewall updates, ipfwadm | 3879 | D: Various IP firewall updates, ipfwadm |
| 3857 | S: X/OS Experts in Open Systems BV | 3880 | S: X/OS Experts in Open Systems BV |
| 3858 | S: Kruislaan 419 | 3881 | S: Kruislaan 419 |
| 3859 | S: 1098 VA Amsterdam | 3882 | S: 1098 VA Amsterdam |
| 3860 | S: The Netherlands | 3883 | S: The Netherlands |
| 3861 | 3884 | ||
| 3862 | N: Jeroen Vreeken | 3885 | N: Jeroen Vreeken |
| @@ -4094,7 +4117,7 @@ S: People's Repulic of China · 231 unmodified lines | |||
| 4094 | N: Victor Yodaiken | 4117 | N: Victor Yodaiken |
| 4095 | E: yodaiken@fsmlabs.com | 4118 | E: yodaiken@fsmlabs.com |
| 4096 | D: RTLinux (RealTime Linux) | 4119 | D: RTLinux (RealTime Linux) |
| 4097 | S: POB 1822 | 4120 | S: POB 1822 |
| 4098 | S: Socorro NM, 87801 | 4121 | S: Socorro NM, 87801 |
| 4099 | S: USA | 4122 | S: USA |
| 4100 | 4123 | ||
| @@ -4192,7 +4215,7 @@ D: EISA/sysfs subsystem · 91 unmodified lines | |||
| 4192 | S: France | 4215 | S: France |
| 4193 | 4216 | ||
| 4194 | # Don't add your name here, unless you really _are_ after Marc | 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 | # last entry, and he'll get positively pissed if he can't even | 4219 | # last entry, and he'll get positively pissed if he can't even |
| 4197 | # be second-to-last. (and this file really _is_ supposed to be | 4220 | # be second-to-last. (and this file really _is_ supposed to be |
| 4198 | # in alphabetic order) | 4221 | # in alphabetic order) |
| @@ -32,7 +32,7 @@ The different levels of stability are: · 31 unmodified lines | |||
| 32 | layout of the files below for details on how to do this.) | 32 | layout of the files below for details on how to do this.) |
| 33 | 33 | ||
| 34 | obsolete/ | 34 | obsolete/ |
| 35 | This directory documents interfaces that are still remaining in | 35 | This directory documents interfaces that are still remaining in |
| 36 | the kernel, but are marked to be removed at some later point in | 36 | the kernel, but are marked to be removed at some later point in |
| 37 | time. The description of the interface will document the reason | 37 | time. The description of the interface will document the reason |
| 38 | why it is obsolete and when it can be expected to be removed. | 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 | be changed further. | 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 | How things move between levels: | 69 | How things move between levels: |
| 62 | 70 | ||
| 63 | Interfaces in stable may move to obsolete, as long as the proper | 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 | system. Device DAX is strict, precise and predictable. | 8 | system. Device DAX is strict, precise and predictable. |
| 9 | Specifically this interface: | 9 | Specifically this interface: |
| 10 | 10 | ||
| 11 | 1/ Guarantees fault granularity with respect to a given | 11 | 1. Guarantees fault granularity with respect to a given |
| 12 | page size (pte, pmd, or pud) set at configuration time. | 12 | page size (pte, pmd, or pud) set at configuration time. |
| 13 | 13 | ||
| 14 | 2/ Enforces deterministic behavior by being strict about | 14 | 2. Enforces deterministic behavior by being strict about |
| 15 | what fault scenarios are supported. | 15 | what fault scenarios are supported. |
| 16 | 16 | ||
| 17 | The /sys/class/dax/ interface enumerates all the | 17 | The /sys/class/dax/ interface enumerates all the |
| 18 | device-dax instances in the system. The ABI is | 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 | setting reported by the mouse. This number has to be further | 7 | setting reported by the mouse. This number has to be further |
| 8 | processed to receive the real dpi value: | 8 | processed to receive the real dpi value: |
| 9 | 9 | ||
| 10 | ===== ==== | ||
| 10 | VALUE DPI | 11 | VALUE DPI |
| 12 | ===== ==== | ||
| 11 | 1 400 | 13 | 1 400 |
| 12 | 2 800 | 14 | 2 800 |
| 13 | 4 1600 | 15 | 4 1600 |
| 16 | ===== ==== | ||
| 14 | 17 | ||
| 15 | This file is readonly. | 18 | This file is readonly. |
| 16 | Has never been used. If bookkeeping is done, it's done in userland tools. | 19 | Has never been used. If bookkeeping is done, it's done in userland tools. |
| @@ -13,6 +13,8 @@ Description: · 12 unmodified lines | |||
| 13 | GPIOs are identified as they are inside the kernel, using integers in | 13 | GPIOs are identified as they are inside the kernel, using integers in |
| 14 | the range 0..INT_MAX. See Documentation/admin-guide/gpio for more information. | 14 | the range 0..INT_MAX. See Documentation/admin-guide/gpio for more information. |
| 15 | 15 | ||
| 16 | :: | ||
| 17 | |||
| 16 | /sys/class/gpio | 18 | /sys/class/gpio |
| 17 | /export ... asks the kernel to export a GPIO to userspace | 19 | /export ... asks the kernel to export a GPIO to userspace |
| 18 | /unexport ... to return a GPIO to the kernel | 20 | /unexport ... to return a GPIO to the kernel |
| @@ -5,6 +5,7 @@ Description: · 4 unmodified lines | |||
| 5 | devfs has been unmaintained for a number of years, has unfixable | 5 | devfs has been unmaintained for a number of years, has unfixable |
| 6 | races, contains a naming policy within the kernel that is | 6 | races, contains a naming policy within the kernel that is |
| 7 | against the LSB, and can be replaced by using udev. | 7 | against the LSB, and can be replaced by using udev. |
| 8 | |||
| 8 | The files fs/devfs/*, include/linux/devfs_fs*.h were removed, | 9 | The files fs/devfs/*, include/linux/devfs_fs*.h were removed, |
| 9 | along with the assorted devfs function calls throughout the | 10 | along with the assorted devfs function calls throughout the |
| 10 | kernel tree. | 11 | kernel tree. |
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | |||
| 7 | to implement sensible device security policies, and its low level | 7 | to implement sensible device security policies, and its low level |
| 8 | of abstraction that required userspace clients to duplicate much | 8 | of abstraction that required userspace clients to duplicate much |
| 9 | of the kernel's ieee1394 core functionality. | 9 | of the kernel's ieee1394 core functionality. |
| 10 | |||
| 10 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of | 11 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of |
| 11 | firewire-core. | 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 | claim just control over a single rfkill instance. | 10 | claim just control over a single rfkill instance. |
| 11 | This file was scheduled to be removed in 2012, and was removed | 11 | This file was scheduled to be removed in 2012, and was removed |
| 12 | in 2016. | 12 | in 2016. |
| 13 | Values: 0: Kernel handles events | 13 | Values: 0: Kernel handles events |
| @@ -8,6 +8,7 @@ Description: · 7 unmodified lines | |||
| 8 | performance issues in its first generation. Any video1394 user had | 8 | performance issues in its first generation. Any video1394 user had |
| 9 | to use raw1394 + libraw1394 too because video1394 did not provide | 9 | to use raw1394 + libraw1394 too because video1394 did not provide |
| 10 | asynchronous I/O for device discovery and configuration. | 10 | asynchronous I/O for device discovery and configuration. |
| 11 | |||
| 11 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of | 12 | Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of |
| 12 | firewire-core. | 13 | firewire-core. |
| 13 | 14 | ||
| @@ -14,13 +14,17 @@ Description: · 13 unmodified lines | |||
| 14 | Each /dev/fw* is associated with one IEEE 1394 node, which can | 14 | Each /dev/fw* is associated with one IEEE 1394 node, which can |
| 15 | be remote or local nodes. Operations on a /dev/fw* file have | 15 | be remote or local nodes. Operations on a /dev/fw* file have |
| 16 | different scope: | 16 | different scope: |
| 17 | |||
| 17 | - The 1394 node which is associated with the file: | 18 | - The 1394 node which is associated with the file: |
| 19 | |||
| 18 | - Asynchronous request transmission | 20 | - Asynchronous request transmission |
| 19 | - Get the Configuration ROM | 21 | - Get the Configuration ROM |
| 20 | - Query node ID | 22 | - Query node ID |
| 21 | - Query maximum speed of the path between this node | 23 | - Query maximum speed of the path between this node |
| 22 | and local node | 24 | and local node |
| 25 | |||
| 23 | - The 1394 bus (i.e. "card") to which the node is attached to: | 26 | - The 1394 bus (i.e. "card") to which the node is attached to: |
| 27 | |||
| 24 | - Isochronous stream transmission and reception | 28 | - Isochronous stream transmission and reception |
| 25 | - Asynchronous stream transmission and reception | 29 | - Asynchronous stream transmission and reception |
| 26 | - Asynchronous broadcast request transmission | 30 | - Asynchronous broadcast request transmission |
| @@ -31,7 +35,9 @@ Description: · 4 unmodified lines | |||
| 31 | manager | 35 | manager |
| 32 | - Query cycle time | 36 | - Query cycle time |
| 33 | - Bus reset initiation, bus reset event reception | 37 | - Bus reset initiation, bus reset event reception |
| 38 | |||
| 34 | - All 1394 buses: | 39 | - All 1394 buses: |
| 40 | |||
| 35 | - Allocation of IEEE 1212 address ranges on the local | 41 | - Allocation of IEEE 1212 address ranges on the local |
| 36 | link layers, reception of inbound requests to such | 42 | link layers, reception of inbound requests to such |
| 37 | an address range, asynchronous response transmission | 43 | an address range, asynchronous response transmission |
| @@ -43,6 +49,7 @@ Description: · 5 unmodified lines | |||
| 43 | userland implement different access permission models, some | 49 | userland implement different access permission models, some |
| 44 | operations are restricted to /dev/fw* files that are associated | 50 | operations are restricted to /dev/fw* files that are associated |
| 45 | with a local node: | 51 | with a local node: |
| 52 | |||
| 46 | - Addition of descriptors or directories to the local | 53 | - Addition of descriptors or directories to the local |
| 47 | nodes' Configuration ROM | 54 | nodes' Configuration ROM |
| 48 | - PHY packet transmission and reception | 55 | - PHY packet transmission and reception |
| @@ -55,50 +62,50 @@ Description: · 6 unmodified lines | |||
| 55 | The following file operations are supported: | 62 | The following file operations are supported: |
| 56 | 63 | ||
| 57 | open(2) | 64 | open(2) |
| 58 | Currently the only useful flags are O_RDWR. | 65 | Currently the only useful flags are O_RDWR. |
| 59 | 66 | ||
| 60 | ioctl(2) | 67 | ioctl(2) |
| 61 | Initiate various actions. Some take immediate effect, others | 68 | Initiate various actions. Some take immediate effect, others |
| 62 | are performed asynchronously while or after the ioctl returns. | 69 | are performed asynchronously while or after the ioctl returns. |
| 63 | See the inline documentation in <linux/firewire-cdev.h> for | 70 | See the inline documentation in <linux/firewire-cdev.h> for |
| 64 | descriptions of all ioctls. | 71 | descriptions of all ioctls. |
| 65 | 72 | ||
| 66 | poll(2), select(2), epoll_wait(2) etc. | 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 | read(2) | 76 | read(2) |
| 70 | Receive various events. There are solicited events like | 77 | Receive various events. There are solicited events like |
| 71 | outbound asynchronous transaction completion or isochronous | 78 | outbound asynchronous transaction completion or isochronous |
| 72 | buffer completion, and unsolicited events such as bus resets, | 79 | buffer completion, and unsolicited events such as bus resets, |
| 73 | request reception, or PHY packet reception. Always use a read | 80 | request reception, or PHY packet reception. Always use a read |
| 74 | buffer which is large enough to receive the largest event that | 81 | buffer which is large enough to receive the largest event that |
| 75 | could ever arrive. See <linux/firewire-cdev.h> for descriptions | 82 | could ever arrive. See <linux/firewire-cdev.h> for descriptions |
| 76 | of all event types and for which ioctls affect reception of | 83 | of all event types and for which ioctls affect reception of |
| 77 | events. | 84 | events. |
| 78 | 85 | ||
| 79 | mmap(2) | 86 | mmap(2) |
| 80 | Allocate a DMA buffer for isochronous reception or transmission | 87 | Allocate a DMA buffer for isochronous reception or transmission |
| 81 | and map it into the process address space. The arguments should | 88 | and map it into the process address space. The arguments should |
| 82 | be used as follows: addr = NULL, length = the desired buffer | 89 | be used as follows: addr = NULL, length = the desired buffer |
| 83 | size, i.e. number of packets times size of largest packet, | 90 | size, i.e. number of packets times size of largest packet, |
| 84 | prot = at least PROT_READ for reception and at least PROT_WRITE | 91 | prot = at least PROT_READ for reception and at least PROT_WRITE |
| 85 | for transmission, flags = MAP_SHARED, fd = the handle to the | 92 | for transmission, flags = MAP_SHARED, fd = the handle to the |
| 86 | /dev/fw*, offset = 0. | 93 | /dev/fw*, offset = 0. |
| 87 | 94 | ||
| 88 | Isochronous reception works in packet-per-buffer fashion except | 95 | Isochronous reception works in packet-per-buffer fashion except |
| 89 | for multichannel reception which works in buffer-fill mode. | 96 | for multichannel reception which works in buffer-fill mode. |
| 90 | 97 | ||
| 91 | munmap(2) | 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 | close(2) | 101 | close(2) |
| 95 | Besides stopping and freeing I/O contexts that were associated | 102 | Besides stopping and freeing I/O contexts that were associated |
| 96 | with the file descriptor, back out any changes to the local | 103 | with the file descriptor, back out any changes to the local |
| 97 | nodes' Configuration ROM. Deallocate isochronous channels and | 104 | nodes' Configuration ROM. Deallocate isochronous channels and |
| 98 | bandwidth at the IRM that were marked for kernel-assisted | 105 | bandwidth at the IRM that were marked for kernel-assisted |
| 99 | re- and deallocation. | 106 | re- and deallocation. |
| 100 | 107 | ||
| 101 | Users: libraw1394 | 108 | Users: libraw1394; |
| 102 | libdc1394 | 109 | libdc1394; |
| 103 | libhinawa | 110 | libhinawa; |
| 104 | tools like linux-firewire-utils, fwhack, ... | 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 | Date: 03-Nov-2011 | 2 | Date: 03-Nov-2011 |
| 3 | KernelVersion: v3.2 | 3 | KernelVersion: v3.2 |
| 4 | Contact: linux-acpi@vger.kernel.org | 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 | power management (and performance) requirement expectations | 6 | power management (and performance) requirement expectations |
| 7 | as provided by BIOS. The integer value is directly passed as | 7 | as provided by BIOS. The integer value is directly passed as |
| 8 | retrieved from the FADT ACPI table. | 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 | 5.2.9 Fixed ACPI Description Table (FADT) | 11 | 5.2.9 Fixed ACPI Description Table (FADT) |
| 11 | Field: Preferred_PM_Profile | 12 | Field: Preferred_PM_Profile |
| 12 | 13 | ||
| 13 | Currently these values are defined by spec: | 14 | Currently these values are defined by spec: |
| 14 | 0 Unspecified | 15 | |
| 15 | 1 Desktop | 16 | == ================= |
| 16 | 2 Mobile | 17 | 0 Unspecified |
| 17 | 3 Workstation | 18 | 1 Desktop |
| 18 | 4 Enterprise Server | 19 | 2 Mobile |
| 19 | 5 SOHO Server | 20 | 3 Workstation |
| 20 | 6 Appliance PC | 21 | 4 Enterprise Server |
| 21 | 7 Performance Server | 22 | 5 SOHO Server |
| 23 | 6 Appliance PC | ||
| 24 | 7 Performance Server | ||
| 22 | >7 Reserved | 25 | >7 Reserved |
| 26 | == ================= | ||
| @@ -47,6 +47,7 @@ Description: · 46 unmodified lines | |||
| 47 | IEEE 1394 node device attribute. | 47 | IEEE 1394 node device attribute. |
| 48 | Read-only and immutable. | 48 | Read-only and immutable. |
| 49 | Values: 1: The sysfs entry represents a local node (a controller card). | 49 | Values: 1: The sysfs entry represents a local node (a controller card). |
| 50 | |||
| 50 | 0: The sysfs entry represents a remote node. | 51 | 0: The sysfs entry represents a remote node. |
| 51 | 52 | ||
| 52 | 53 | ||
| @@ -125,7 +126,9 @@ Description: · 72 unmodified lines | |||
| 125 | Read-only attribute, immutable during the target's lifetime. | 126 | Read-only attribute, immutable during the target's lifetime. |
| 126 | Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: | 127 | Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: |
| 127 | Colon-separated hexadecimal string representations of | 128 | Colon-separated hexadecimal string representations of |
| 129 | |||
| 128 | u64 EUI-64 : u24 directory_ID : u16 LUN | 130 | u64 EUI-64 : u24 directory_ID : u16 LUN |
| 131 | |||
| 129 | without 0x prefixes, without whitespace. The former sbp2 driver | 132 | without 0x prefixes, without whitespace. The former sbp2 driver |
| 130 | (removed in 2.6.37 after being superseded by firewire-sbp2) used | 133 | (removed in 2.6.37 after being superseded by firewire-sbp2) used |
| 131 | a somewhat shorter format which was not as close to SAM. | 134 | a somewhat shorter format which was not as close to SAM. |
| @@ -9,13 +9,14 @@ Description: · 8 unmodified lines | |||
| 9 | Note: This file is only present if CONFIG_NVMEM_SYSFS | 9 | Note: This file is only present if CONFIG_NVMEM_SYSFS |
| 10 | is enabled | 10 | is enabled |
| 11 | 11 | ||
| 12 | ex: | 12 | ex:: |
| 13 | hexdump /sys/bus/nvmem/devices/qfprom0/nvmem | ||
| 14 | 13 | ||
| 15 | 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | 14 | hexdump /sys/bus/nvmem/devices/qfprom0/nvmem |
| 16 | * | 15 | |
| 17 | 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 | 16 | 0000000 0000 0000 0000 0000 0000 0000 0000 0000 |
| 18 | 0000000 0000 0000 0000 0000 0000 0000 0000 0000 | 17 | * |
| 19 | ... | 18 | 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 |
| 20 | * | 19 | 0000000 0000 0000 0000 0000 0000 0000 0000 0000 |
| 21 | 0001000 | 20 | ... |
| 21 | * | ||
| 22 | 0001000 | ||
| @@ -50,8 +50,10 @@ Description: · 49 unmodified lines | |||
| 50 | 50 | ||
| 51 | Tools can use this file and the connected_duration file to | 51 | Tools can use this file and the connected_duration file to |
| 52 | compute the percentage of time that a device has been active. | 52 | compute the percentage of time that a device has been active. |
| 53 | For example, | 53 | For example:: |
| 54 | echo $((100 * `cat active_duration` / `cat connected_duration`)) | 54 | |
| 55 | echo $((100 * `cat active_duration` / `cat connected_duration`)) | ||
| 56 | |||
| 55 | will give an integer percentage. Note that this does not | 57 | will give an integer percentage. Note that this does not |
| 56 | account for counter wrap. | 58 | account for counter wrap. |
| 57 | Users: | 59 | Users: |
| @@ -63,13 +63,6 @@ Contact: Stephen Hemminger <sthemmin@microsoft.com> · 62 unmodified lines | |||
| 63 | Description: VCPU (sub)channel is affinitized to | 63 | Description: VCPU (sub)channel is affinitized to |
| 64 | Users: tools/hv/lsvmbus and other debugging tools | 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 | What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask | 66 | What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask |
| 74 | Date: September. 2017 | 67 | Date: September. 2017 |
| 75 | KernelVersion: 4.14 | 68 | KernelVersion: 4.14 |
| @@ -6,6 +6,7 @@ Description: Bus scanning interval, microseconds component. · 5 unmodified lines | |||
| 6 | control systems are attached/generate presence for as short as | 6 | control systems are attached/generate presence for as short as |
| 7 | 100 ms - hence the tens-to-hundreds milliseconds scan intervals | 7 | 100 ms - hence the tens-to-hundreds milliseconds scan intervals |
| 8 | are required. | 8 | are required. |
| 9 | |||
| 9 | see Documentation/w1/w1-generic.rst for detailed information. | 10 | see Documentation/w1/w1-generic.rst for detailed information. |
| 10 | Users: any user space application which wants to know bus scanning | 11 | Users: any user space application which wants to know bus scanning |
| 11 | interval | 12 | interval |
| @@ -4,6 +4,7 @@ KernelVersion: 2.6.12 · 3 unmodified lines | |||
| 4 | Contact: Richard Purdie <rpurdie@rpsys.net> | 4 | Contact: Richard Purdie <rpurdie@rpsys.net> |
| 5 | Description: | 5 | Description: |
| 6 | Control BACKLIGHT power, values are FB_BLANK_* from fb.h | 6 | Control BACKLIGHT power, values are FB_BLANK_* from fb.h |
| 7 | |||
| 7 | - FB_BLANK_UNBLANK (0) : power on. | 8 | - FB_BLANK_UNBLANK (0) : power on. |
| 8 | - FB_BLANK_POWERDOWN (4) : power off | 9 | - FB_BLANK_POWERDOWN (4) : power off |
| 9 | Users: HAL | 10 | Users: HAL |
| @@ -8,12 +8,14 @@ Date: Apr, 2005 · 7 unmodified lines | |||
| 8 | KernelVersion: v2.6.12 | 8 | KernelVersion: v2.6.12 |
| 9 | Contact: linux-rdma@vger.kernel.org | 9 | Contact: linux-rdma@vger.kernel.org |
| 10 | Description: | 10 | Description: |
| 11 | =============== =========================================== | ||
| 11 | node_type: (RO) Node type (CA, RNIC, usNIC, usNIC UDP, | 12 | node_type: (RO) Node type (CA, RNIC, usNIC, usNIC UDP, |
| 12 | switch or router) | 13 | switch or router) |
| 13 | 14 | ||
| 14 | node_guid: (RO) Node GUID | 15 | node_guid: (RO) Node GUID |
| 15 | 16 | ||
| 16 | sys_image_guid: (RO) System image GUID | 17 | sys_image_guid: (RO) System image GUID |
| 18 | =============== =========================================== | ||
| 17 | 19 | ||
| 18 | 20 | ||
| 19 | What: /sys/class/infiniband/<device>/node_desc | 21 | What: /sys/class/infiniband/<device>/node_desc |
| @@ -47,6 +49,7 @@ KernelVersion: v2.6.12 · 27 unmodified lines | |||
| 47 | Contact: linux-rdma@vger.kernel.org | 49 | Contact: linux-rdma@vger.kernel.org |
| 48 | Description: | 50 | Description: |
| 49 | 51 | ||
| 52 | =============== =============================================== | ||
| 50 | lid: (RO) Port LID | 53 | lid: (RO) Port LID |
| 51 | 54 | ||
| 52 | rate: (RO) Port data rate (active width * active | 55 | rate: (RO) Port data rate (active width * active |
| @@ -66,8 +69,9 @@ Description: · 13 unmodified lines | |||
| 66 | 69 | ||
| 67 | cap_mask: (RO) Port capability mask. 2 bits here are | 70 | cap_mask: (RO) Port capability mask. 2 bits here are |
| 68 | settable- IsCommunicationManagementSupported | 71 | settable- IsCommunicationManagementSupported |
| 69 | (set when CM module is loaded) and IsSM (set via | 72 | (set when CM module is loaded) and IsSM (set |
| 70 | open of issmN file). | 73 | via open of issmN file). |
| 74 | =============== =============================================== | ||
| 71 | 75 | ||
| 72 | 76 | ||
| 73 | What: /sys/class/infiniband/<device>/ports/<port-num>/link_layer | 77 | What: /sys/class/infiniband/<device>/ports/<port-num>/link_layer |
| @@ -103,8 +107,7 @@ Date: Apr, 2005 · 29 unmodified lines | |||
| 103 | KernelVersion: v2.6.12 | 107 | KernelVersion: v2.6.12 |
| 104 | Contact: linux-rdma@vger.kernel.org | 108 | Contact: linux-rdma@vger.kernel.org |
| 105 | Description: | 109 | Description: |
| 106 | Errors info: | 110 | **Errors info**: |
| 107 | ----------- | ||
| 108 | 111 | ||
| 109 | symbol_error: (RO) Total number of minor link errors detected on | 112 | symbol_error: (RO) Total number of minor link errors detected on |
| 110 | one or more physical lanes. | 113 | one or more physical lanes. |
| @@ -142,8 +145,7 @@ Description: · 31 unmodified lines | |||
| 142 | intervention. It can also indicate hardware issues or extremely | 145 | intervention. It can also indicate hardware issues or extremely |
| 143 | poor link signal integrity | 146 | poor link signal integrity |
| 144 | 147 | ||
| 145 | Data info: | 148 | **Data info**: |
| 146 | --------- | ||
| 147 | 149 | ||
| 148 | port_xmit_data: (RO) Total number of data octets, divided by 4 | 150 | port_xmit_data: (RO) Total number of data octets, divided by 4 |
| 149 | (lanes), transmitted on all VLs. This is 64 bit counter | 151 | (lanes), transmitted on all VLs. This is 64 bit counter |
| @@ -176,8 +178,7 @@ Description: · 26 unmodified lines | |||
| 176 | transmitted on all VLs from the port. This may include multicast | 178 | transmitted on all VLs from the port. This may include multicast |
| 177 | packets with errors. | 179 | packets with errors. |
| 178 | 180 | ||
| 179 | Misc info: | 181 | **Misc info**: |
| 180 | --------- | ||
| 181 | 182 | ||
| 182 | port_xmit_discards: (RO) Total number of outbound packets | 183 | port_xmit_discards: (RO) Total number of outbound packets |
| 183 | discarded by the port because the port is down or congested. | 184 | discarded by the port because the port is down or congested. |
| @@ -244,9 +245,11 @@ Description: · 60 unmodified lines | |||
| 244 | two umad devices and two issm devices, while a switch will have | 245 | two umad devices and two issm devices, while a switch will have |
| 245 | one device of each type (for switch port 0). | 246 | one device of each type (for switch port 0). |
| 246 | 247 | ||
| 248 | ======= ===================================== | ||
| 247 | ibdev: (RO) Show Infiniband (IB) device name | 249 | ibdev: (RO) Show Infiniband (IB) device name |
| 248 | 250 | ||
| 249 | port: (RO) Display port number | 251 | port: (RO) Display port number |
| 252 | ======= ===================================== | ||
| 250 | 253 | ||
| 251 | 254 | ||
| 252 | What: /sys/class/infiniband_mad/abi_version | 255 | What: /sys/class/infiniband_mad/abi_version |
| @@ -258,33 +261,18 @@ Description: · 5 unmodified lines | |||
| 258 | userspace ABI compatibility of umad & issm devices. | 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 | What: /sys/class/infiniband_verbs/uverbsN/ibdev | 264 | What: /sys/class/infiniband_verbs/uverbsN/ibdev |
| 279 | What: /sys/class/infiniband_verbs/uverbsN/abi_version | 265 | What: /sys/class/infiniband_verbs/uverbsN/abi_version |
| 280 | Date: Sept, 2005 | 266 | Date: Sept, 2005 |
| 281 | KernelVersion: v2.6.14 | 267 | KernelVersion: v2.6.14 |
| 282 | Contact: linux-rdma@vger.kernel.org | 268 | Contact: linux-rdma@vger.kernel.org |
| 283 | Description: | 269 | Description: |
| 270 | =============== =========================================== | ||
| 284 | ibdev: (RO) Display Infiniband (IB) device name | 271 | ibdev: (RO) Display Infiniband (IB) device name |
| 285 | 272 | ||
| 286 | abi_version: (RO) Show ABI version of IB device specific | 273 | abi_version: (RO) Show ABI version of IB device specific |
| 287 | interfaces. | 274 | interfaces. |
| 275 | =============== =========================================== | ||
| 288 | 276 | ||
| 289 | 277 | ||
| 290 | What: /sys/class/infiniband_verbs/abi_version | 278 | What: /sys/class/infiniband_verbs/abi_version |
| @@ -306,12 +294,14 @@ Date: Apr, 2005 · 15 unmodified lines | |||
| 306 | KernelVersion: v2.6.12 | 294 | KernelVersion: v2.6.12 |
| 307 | Contact: linux-rdma@vger.kernel.org | 295 | Contact: linux-rdma@vger.kernel.org |
| 308 | Description: | 296 | Description: |
| 297 | =============== ================================================ | ||
| 309 | hw_rev: (RO) Hardware revision number | 298 | hw_rev: (RO) Hardware revision number |
| 310 | 299 | ||
| 311 | hca_type: (RO) Host Channel Adapter type: MT23108, MT25208 | 300 | hca_type: (RO) Host Channel Adapter type: MT23108, MT25208 |
| 312 | (MT23108 compat mode), MT25208 or MT25204 | 301 | (MT23108 compat mode), MT25208 or MT25204 |
| 313 | 302 | ||
| 314 | board_id: (RO) Manufacturing board ID | 303 | board_id: (RO) Manufacturing board ID |
| 304 | =============== ================================================ | ||
| 315 | 305 | ||
| 316 | 306 | ||
| 317 | sysfs interface for Mellanox ConnectX HCA IB driver (mlx4) | 307 | sysfs interface for Mellanox ConnectX HCA IB driver (mlx4) |
| @@ -324,11 +314,13 @@ Date: Sep, 2007 · 6 unmodified lines | |||
| 324 | KernelVersion: v2.6.24 | 314 | KernelVersion: v2.6.24 |
| 325 | Contact: linux-rdma@vger.kernel.org | 315 | Contact: linux-rdma@vger.kernel.org |
| 326 | Description: | 316 | Description: |
| 317 | =============== =============================== | ||
| 327 | hw_rev: (RO) Hardware revision number | 318 | hw_rev: (RO) Hardware revision number |
| 328 | 319 | ||
| 329 | hca_type: (RO) Host channel adapter type | 320 | hca_type: (RO) Host channel adapter type |
| 330 | 321 | ||
| 331 | board_id: (RO) Manufacturing board ID | 322 | board_id: (RO) Manufacturing board ID |
| 323 | =============== =============================== | ||
| 332 | 324 | ||
| 333 | 325 | ||
| 334 | What: /sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n> | 326 | What: /sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n> |
| @@ -354,6 +346,7 @@ Description: · 19 unmodified lines | |||
| 354 | example, ports/1/pkeys/10 contains the value at index 10 in port | 346 | example, ports/1/pkeys/10 contains the value at index 10 in port |
| 355 | 1's P_Key table. | 347 | 1's P_Key table. |
| 356 | 348 | ||
| 349 | ======================= ========================================== | ||
| 357 | gids/<n>: (RO) The physical port gids n = 0..127 | 350 | gids/<n>: (RO) The physical port gids n = 0..127 |
| 358 | 351 | ||
| 359 | admin_guids/<n>: (RW) Allows examining or changing the | 352 | admin_guids/<n>: (RW) Allows examining or changing the |
| @@ -382,6 +375,7 @@ Description: · 22 unmodified lines | |||
| 382 | guest, whenever it uses its pkey index | 375 | guest, whenever it uses its pkey index |
| 383 | 1, will actually be using the real pkey | 376 | 1, will actually be using the real pkey |
| 384 | index 10. | 377 | index 10. |
| 378 | ======================= ========================================== | ||
| 385 | 379 | ||
| 386 | 380 | ||
| 387 | What: /sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled | 381 | What: /sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled |
| @@ -393,12 +387,14 @@ Description: · 5 unmodified lines | |||
| 393 | Enabling QP0 on VFs for selected VF/port. By default, no VFs are | 387 | Enabling QP0 on VFs for selected VF/port. By default, no VFs are |
| 394 | enabled for QP0 operation. | 388 | enabled for QP0 operation. |
| 395 | 389 | ||
| 396 | smi_enabled: (RO) Indicates whether smi is currently enabled | 390 | ================= ==== =========================================== |
| 397 | for the indicated VF/port | 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 | 394 | enable_smi_admin: (RW) Used by the admin to request that smi |
| 400 | capability be enabled or disabled for the | 395 | capability be enabled or disabled for the |
| 401 | indicated VF/port. 0 = disable, 1 = enable. | 396 | indicated VF/port. 0 = disable, 1 = enable. |
| 397 | ================= ==== =========================================== | ||
| 402 | 398 | ||
| 403 | The requested enablement will occur at the next reset of the VF | 399 | The requested enablement will occur at the next reset of the VF |
| 404 | (e.g. driver restart on the VM which owns the VF). | 400 | (e.g. driver restart on the VM which owns the VF). |
| @@ -415,6 +411,7 @@ KernelVersion: v2.6.35 · 10 unmodified lines | |||
| 415 | Contact: linux-rdma@vger.kernel.org | 411 | Contact: linux-rdma@vger.kernel.org |
| 416 | Description: | 412 | Description: |
| 417 | 413 | ||
| 414 | =============== ============================================= | ||
| 418 | hw_rev: (RO) Hardware revision number | 415 | hw_rev: (RO) Hardware revision number |
| 419 | 416 | ||
| 420 | hca_type: (RO) Driver short name. Should normally match | 417 | hca_type: (RO) Driver short name. Should normally match |
| @@ -423,6 +420,7 @@ Description: · 2 unmodified lines | |||
| 423 | 420 | ||
| 424 | board_id: (RO) Manufacturing board id. (Vendor + device | 421 | board_id: (RO) Manufacturing board id. (Vendor + device |
| 425 | information) | 422 | information) |
| 423 | =============== ============================================= | ||
| 426 | 424 | ||
| 427 | 425 | ||
| 428 | sysfs interface for Intel IB driver qib | 426 | sysfs interface for Intel IB driver qib |
| @@ -443,6 +441,7 @@ Date: May, 2010 · 14 unmodified lines | |||
| 443 | KernelVersion: v2.6.35 | 441 | KernelVersion: v2.6.35 |
| 444 | Contact: linux-rdma@vger.kernel.org | 442 | Contact: linux-rdma@vger.kernel.org |
| 445 | Description: | 443 | Description: |
| 444 | =============== ====================================================== | ||
| 446 | version: (RO) Display version information of installed software | 445 | version: (RO) Display version information of installed software |
| 447 | and drivers. | 446 | and drivers. |
| 448 | 447 | ||
| @@ -469,6 +468,7 @@ Description: · 20 unmodified lines | |||
| 469 | chip_reset: (WO) Reset the chip if possible by writing | 468 | chip_reset: (WO) Reset the chip if possible by writing |
| 470 | "reset" to this file. Only allowed if no user | 469 | "reset" to this file. Only allowed if no user |
| 471 | contexts are open that use chip resources. | 470 | contexts are open that use chip resources. |
| 471 | =============== ====================================================== | ||
| 472 | 472 | ||
| 473 | 473 | ||
| 474 | What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15] | 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 | Description: | 488 | Description: |
| 489 | Per-port congestion control. Both are binary attributes. | 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 | table entries. | 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 | map and an array of 16 entries for the | 496 | map and an array of 16 entries for the |
| 496 | congestion entries - increase, timer, event log | 497 | congestion entries - increase, timer, event log |
| 497 | trigger threshold and the minimum injection rate | 498 | trigger threshold and the minimum injection rate |
| 498 | delay. | 499 | delay. |
| 500 | =============== ================================================ | ||
| 499 | 501 | ||
| 500 | What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback | 502 | What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback |
| 501 | What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override | 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 | Description: | 510 | Description: |
| 509 | [to be documented] | 511 | [to be documented] |
| 510 | 512 | ||
| 513 | =============== =============================================== | ||
| 511 | loopback: (WO) | 514 | loopback: (WO) |
| 512 | led_override: (WO) | 515 | led_override: (WO) |
| 513 | hrtbt_enable: (RW) | 516 | hrtbt_enable: (RW) |
| @@ -518,6 +521,7 @@ Description: · 4 unmodified lines | |||
| 518 | errors. Possible states are- "Initted", | 521 | errors. Possible states are- "Initted", |
| 519 | "Present", "IB_link_up", "IB_configured" or | 522 | "Present", "IB_link_up", "IB_configured" or |
| 520 | "Fatal_Hardware_Error". | 523 | "Fatal_Hardware_Error". |
| 524 | =============== =============================================== | ||
| 521 | 525 | ||
| 522 | What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends | 526 | What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends |
| 523 | What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks | 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 | linux-rdma@vger.kernel.org | 570 | linux-rdma@vger.kernel.org |
| 567 | Description: | 571 | Description: |
| 568 | 572 | ||
| 573 | =============== =============================================== | ||
| 569 | board_id: (RO) Manufacturing board id | 574 | board_id: (RO) Manufacturing board id |
| 570 | 575 | ||
| 571 | config: (RO) Report the configuration for this PF | 576 | config: (RO) Report the configuration for this PF |
| @@ -578,6 +583,7 @@ Description: · 6 unmodified lines | |||
| 578 | 583 | ||
| 579 | iface: (RO) Shows which network interface this usNIC | 584 | iface: (RO) Shows which network interface this usNIC |
| 580 | entry is associated to (visible with ifconfig). | 585 | entry is associated to (visible with ifconfig). |
| 586 | =============== =============================================== | ||
| 581 | 587 | ||
| 582 | What: /sys/class/infiniband/usnic_X/qpn/summary | 588 | What: /sys/class/infiniband/usnic_X/qpn/summary |
| 583 | What: /sys/class/infiniband/usnic_X/qpn/context | 589 | What: /sys/class/infiniband/usnic_X/qpn/context |
| @@ -622,6 +628,7 @@ Date: May, 2016 · 38 unmodified lines | |||
| 622 | KernelVersion: v4.6 | 628 | KernelVersion: v4.6 |
| 623 | Contact: linux-rdma@vger.kernel.org | 629 | Contact: linux-rdma@vger.kernel.org |
| 624 | Description: | 630 | Description: |
| 631 | =============== ============================================= | ||
| 625 | hw_rev: (RO) Hardware revision number | 632 | hw_rev: (RO) Hardware revision number |
| 626 | 633 | ||
| 627 | board_id: (RO) Manufacturing board id | 634 | board_id: (RO) Manufacturing board id |
| @@ -640,6 +647,7 @@ Description: · 12 unmodified lines | |||
| 640 | available. | 647 | available. |
| 641 | 648 | ||
| 642 | tempsense: (RO) Thermal sense information | 649 | tempsense: (RO) Thermal sense information |
| 650 | =============== ============================================= | ||
| 643 | 651 | ||
| 644 | 652 | ||
| 645 | What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin | 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 | Description: | 659 | Description: |
| 652 | Per-port congestion control. | 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 | table size followed by table entries. Binary | 664 | table size followed by table entries. Binary |
| 656 | attribute. | 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 | map and an array of 16 entries for the | 668 | map and an array of 16 entries for the |
| 660 | congestion entries - increase, timer, event log | 669 | congestion entries - increase, timer, event log |
| 661 | trigger threshold and the minimum injection rate | 670 | trigger threshold and the minimum injection rate |
| 662 | delay. Binary attribute. | 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 | response. Write "on" to enable and "off" to | 674 | response. Write "on" to enable and "off" to |
| 666 | disable. | 675 | disable. |
| 676 | =============== ================================================ | ||
| 667 | 677 | ||
| 668 | What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] | 678 | What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] |
| 669 | What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] | 679 | What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] |
| @@ -672,11 +682,13 @@ Date: May, 2016 · 2 unmodified lines | |||
| 672 | KernelVersion: v4.6 | 682 | KernelVersion: v4.6 |
| 673 | Contact: linux-rdma@vger.kernel.org | 683 | Contact: linux-rdma@vger.kernel.org |
| 674 | Description: | 684 | Description: |
| 685 | =============== =================================================== | ||
| 675 | sc2vl/: (RO) 32 files (0 - 31) used to translate sl->vl | 686 | sc2vl/: (RO) 32 files (0 - 31) used to translate sl->vl |
| 676 | 687 | ||
| 677 | sl2sc/: (RO) 32 files (0 - 31) used to translate sl->sc | 688 | sl2sc/: (RO) 32 files (0 - 31) used to translate sl->sc |
| 678 | 689 | ||
| 679 | vl2mtu/: (RO) 16 files (0 - 15) used to determine MTU for vl | 690 | vl2mtu/: (RO) 16 files (0 - 15) used to determine MTU for vl |
| 691 | =============== =================================================== | ||
| 680 | 692 | ||
| 681 | 693 | ||
| 682 | What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list | 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 | Description: | 699 | Description: |
| 688 | sdma<N>/ contains one directory per sdma engine (0 - 15) | 700 | sdma<N>/ contains one directory per sdma engine (0 - 15) |
| 689 | 701 | ||
| 702 | =============== ============================================== | ||
| 690 | cpu_list: (RW) List of cpus for user-process to sdma | 703 | cpu_list: (RW) List of cpus for user-process to sdma |
| 691 | engine assignment. | 704 | engine assignment. |
| 692 | 705 | ||
| 693 | vl: (RO) Displays the virtual lane (vl) the sdma | 706 | vl: (RO) Displays the virtual lane (vl) the sdma |
| 694 | engine maps to. | 707 | engine maps to. |
| 708 | =============== ============================================== | ||
| 695 | 709 | ||
| 696 | This interface gives the user control on the affinity settings | 710 | This interface gives the user control on the affinity settings |
| 697 | for the device. As an example, to set an sdma engine irq | 711 | for the device. As an example, to set an sdma engine irq |
| 698 | affinity and thread affinity of a user processes to use the | 712 | affinity and thread affinity of a user processes to use the |
| 699 | sdma engine, which is "near" in terms of NUMA configuration, or | 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 | 716 | echo "3" > /proc/irq/<N>/smp_affinity_list |
| 703 | echo "4-7" > /sys/devices/.../sdma3/cpu_list | 717 | echo "4-7" > /sys/devices/.../sdma3/cpu_list |
| 704 | cat /sys/devices/.../sdma3/vl | 718 | cat /sys/devices/.../sdma3/vl |
| 705 | 0 | 719 | 0 |
| 706 | echo "8" > /proc/irq/<M>/smp_affinity_list | 720 | echo "8" > /proc/irq/<M>/smp_affinity_list |
| 707 | echo "9-12" > /sys/devices/.../sdma4/cpu_list | 721 | echo "9-12" > /sys/devices/.../sdma4/cpu_list |
| 708 | cat /sys/devices/.../sdma4/vl | 722 | cat /sys/devices/.../sdma4/vl |
| 709 | 1 | 723 | 1 |
| 710 | 724 | ||
| 711 | to make sure that when a process runs on cpus 4,5,6, or 7, and | 725 | to make sure that when a process runs on cpus 4,5,6, or 7, and |
| 712 | uses vl=0, then sdma engine 3 is selected by the driver, and | 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 | KernelVersion: v4.10 | 742 | KernelVersion: v4.10 |
| 729 | Contact: linux-rdma@vger.kernel.org | 743 | Contact: linux-rdma@vger.kernel.org |
| 730 | Description: | 744 | Description: |
| 745 | =============== ==== ======================== | ||
| 731 | hw_rev: (RO) Hardware revision number | 746 | hw_rev: (RO) Hardware revision number |
| 732 | 747 | ||
| 733 | hca_type: (RO) Show HCA type (I40IW) | 748 | hca_type: (RO) Show HCA type (I40IW) |
| 734 | 749 | ||
| 735 | board_id: (RO) I40IW board ID | 750 | board_id: (RO) I40IW board ID |
| 751 | =============== ==== ======================== | ||
| 736 | 752 | ||
| 737 | 753 | ||
| 738 | sysfs interface for QLogic qedr NIC Driver | 754 | sysfs interface for QLogic qedr NIC Driver |
| @@ -745,9 +761,11 @@ KernelVersion: v4.10 · 6 unmodified lines | |||
| 745 | Contact: linux-rdma@vger.kernel.org | 761 | Contact: linux-rdma@vger.kernel.org |
| 746 | Description: | 762 | Description: |
| 747 | 763 | ||
| 764 | =============== ==== ======================== | ||
| 748 | hw_rev: (RO) Hardware revision number | 765 | hw_rev: (RO) Hardware revision number |
| 749 | 766 | ||
| 750 | hca_type: (RO) Display HCA type | 767 | hca_type: (RO) Display HCA type |
| 768 | =============== ==== ======================== | ||
| 751 | 769 | ||
| 752 | 770 | ||
| 753 | sysfs interface for VMware Paravirtual RDMA driver | 771 | sysfs interface for VMware Paravirtual RDMA driver |
| @@ -761,11 +779,13 @@ KernelVersion: v4.10 · 7 unmodified lines | |||
| 761 | Contact: linux-rdma@vger.kernel.org | 779 | Contact: linux-rdma@vger.kernel.org |
| 762 | Description: | 780 | Description: |
| 763 | 781 | ||
| 782 | =============== ==== ===================================== | ||
| 764 | hw_rev: (RO) Hardware revision number | 783 | hw_rev: (RO) Hardware revision number |
| 765 | 784 | ||
| 766 | hca_type: (RO) Host channel adapter type | 785 | hca_type: (RO) Host channel adapter type |
| 767 | 786 | ||
| 768 | board_id: (RO) Display PVRDMA manufacturing board ID | 787 | board_id: (RO) Display PVRDMA manufacturing board ID |
| 788 | =============== ==== ===================================== | ||
| 769 | 789 | ||
| 770 | 790 | ||
| 771 | sysfs interface for Broadcom NetXtreme-E RoCE driver | 791 | sysfs interface for Broadcom NetXtreme-E RoCE driver |
| @@ -777,6 +797,8 @@ Date: Feb, 2017 · 5 unmodified lines | |||
| 777 | KernelVersion: v4.11 | 797 | KernelVersion: v4.11 |
| 778 | Contact: linux-rdma@vger.kernel.org | 798 | Contact: linux-rdma@vger.kernel.org |
| 779 | Description: | 799 | Description: |
| 800 | =============== ==== ========================= | ||
| 780 | hw_rev: (RO) Hardware revision number | 801 | hw_rev: (RO) Hardware revision number |
| 781 | 802 | ||
| 782 | hca_type: (RO) Host channel adapter type | 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 | For details to this subsystem look at Documentation/driver-api/rfkill.rst. | 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 | Documentation/ABI/removed/sysfs-class-rfkill. | 6 | Documentation/ABI/removed/sysfs-class-rfkill. |
| 7 | 7 | ||
| 8 | What: /sys/class/rfkill | 8 | What: /sys/class/rfkill |
| @@ -36,9 +36,10 @@ KernelVersion v2.6.22 · 27 unmodified lines | |||
| 36 | Contact: linux-wireless@vger.kernel.org | 36 | Contact: linux-wireless@vger.kernel.org |
| 37 | Description: Whether the soft blocked state is initialised from non-volatile | 37 | Description: Whether the soft blocked state is initialised from non-volatile |
| 38 | storage at startup. | 38 | storage at startup. |
| 39 | Values: A numeric value. | 39 | Values: A numeric value: |
| 40 | 0: false | 40 | |
| 41 | 1: true | 41 | - 0: false |
| 42 | - 1: true | ||
| 42 | 43 | ||
| 43 | 44 | ||
| 44 | What: /sys/class/rfkill/rfkill[0-9]+/state | 45 | What: /sys/class/rfkill/rfkill[0-9]+/state |
| @@ -54,6 +55,7 @@ Description: Current state of the transmitter. · 9 unmodified lines | |||
| 54 | through this interface. There will likely be another attempt to | 55 | through this interface. There will likely be another attempt to |
| 55 | remove it in the future. | 56 | remove it in the future. |
| 56 | Values: A numeric value. | 57 | Values: A numeric value. |
| 58 | |||
| 57 | 0: RFKILL_STATE_SOFT_BLOCKED | 59 | 0: RFKILL_STATE_SOFT_BLOCKED |
| 58 | transmitter is turned off by software | 60 | transmitter is turned off by software |
| 59 | 1: RFKILL_STATE_UNBLOCKED | 61 | 1: RFKILL_STATE_UNBLOCKED |
| @@ -69,6 +71,7 @@ KernelVersion v2.6.34 · 9 unmodified lines | |||
| 69 | Contact: linux-wireless@vger.kernel.org | 71 | Contact: linux-wireless@vger.kernel.org |
| 70 | Description: Current hardblock state. This file is read only. | 72 | Description: Current hardblock state. This file is read only. |
| 71 | Values: A numeric value. | 73 | Values: A numeric value. |
| 74 | |||
| 72 | 0: inactive | 75 | 0: inactive |
| 73 | The transmitter is (potentially) active. | 76 | The transmitter is (potentially) active. |
| 74 | 1: active | 77 | 1: active |
| @@ -82,7 +85,9 @@ KernelVersion v2.6.34 · 7 unmodified lines | |||
| 82 | Contact: linux-wireless@vger.kernel.org | 85 | Contact: linux-wireless@vger.kernel.org |
| 83 | Description: Current softblock state. This file is read and write. | 86 | Description: Current softblock state. This file is read and write. |
| 84 | Values: A numeric value. | 87 | Values: A numeric value. |
| 88 | |||
| 85 | 0: inactive | 89 | 0: inactive |
| 86 | The transmitter is (potentially) active. | 90 | The transmitter is (potentially) active. |
| 91 | |||
| 87 | 1: active | 92 | 1: active |
| 88 | The transmitter is turned off by software. | 93 | The transmitter is turned off by software. |
| @@ -32,11 +32,11 @@ KernelVersion: 2.6.12 · 31 unmodified lines | |||
| 32 | Contact: linux-integrity@vger.kernel.org | 32 | Contact: linux-integrity@vger.kernel.org |
| 33 | Description: The "caps" property contains TPM manufacturer and version info. | 33 | Description: The "caps" property contains TPM manufacturer and version info. |
| 34 | 34 | ||
| 35 | Example output: | 35 | Example output:: |
| 36 | 36 | ||
| 37 | Manufacturer: 0x53544d20 | 37 | Manufacturer: 0x53544d20 |
| 38 | TCG version: 1.2 | 38 | TCG version: 1.2 |
| 39 | Firmware version: 8.16 | 39 | Firmware version: 8.16 |
| 40 | 40 | ||
| 41 | Manufacturer is a hex dump of the 4 byte manufacturer info | 41 | Manufacturer is a hex dump of the 4 byte manufacturer info |
| 42 | space in a TPM. TCG version shows the TCG TPM spec level that | 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 | any longer than necessary before starting to poll for a | 54 | any longer than necessary before starting to poll for a |
| 55 | result. | 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 | Here the short, medium and long durations are displayed in | 61 | Here the short, medium and long durations are displayed in |
| 62 | usecs. "[original]" indicates that the values are displayed | 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 | values may be constantly changing, the output is only valid | 92 | values may be constantly changing, the output is only valid |
| 93 | for a snapshot in time. | 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 | 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 | 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 | 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 | 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 | 101 | PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 |
| 102 | ... | 102 | ... |
| 103 | 103 | ||
| 104 | The number of PCRs and hex bytes needed to represent a PCR | 104 | The number of PCRs and hex bytes needed to represent a PCR |
| 105 | value will vary depending on TPM chip version. For TPM 1.1 and | 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 | ated at TPM manufacture time and exists for the life of the | 119 | ated at TPM manufacture time and exists for the life of the |
| 120 | chip. | 120 | chip. |
| 121 | 121 | ||
| 122 | Example output: | 122 | Example output:: |
| 123 | 123 | ||
| 124 | Algorithm: 00 00 00 01 | 124 | Algorithm: 00 00 00 01 |
| 125 | Encscheme: 00 03 | 125 | Encscheme: 00 03 |
| 126 | Sigscheme: 00 01 | 126 | Sigscheme: 00 01 |
| 127 | Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 | 127 | Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 |
| 128 | Modulus length: 256 | 128 | Modulus length: 256 |
| 129 | Modulus: | 129 | Modulus: |
| 130 | B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 145 | C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B |
| 146 | 146 | ||
| 147 | Possible values: | 147 | Possible values:: |
| 148 | 148 | ||
| 149 | Algorithm: TPM_ALG_RSA (1) | 149 | Algorithm: TPM_ALG_RSA (1) |
| 150 | Encscheme: TPM_ES_RSAESPKCSv15 (2) | 150 | Encscheme: TPM_ES_RSAESPKCSv15 (2) |
| 151 | TPM_ES_RSAESOAEP_SHA1_MGF1 (3) | 151 | TPM_ES_RSAESOAEP_SHA1_MGF1 (3) |
| 152 | Sigscheme: TPM_SS_NONE (1) | 152 | Sigscheme: TPM_SS_NONE (1) |
| 153 | Parameters, a byte string of 3 u32 values: | 153 | Parameters, a byte string of 3 u32 values: |
| 154 | Key Length (bits): 00 00 08 00 (2048) | 154 | Key Length (bits): 00 00 08 00 (2048) |
| 155 | Num primes: 00 00 00 02 (2) | 155 | Num primes: 00 00 00 02 (2) |
| 156 | Exponent Size: 00 00 00 00 (0 means the | 156 | Exponent Size: 00 00 00 00 (0 means the |
| 157 | default exp) | 157 | default exp) |
| 158 | Modulus Length: 256 (bytes) | 158 | Modulus Length: 256 (bytes) |
| 159 | Modulus: The 256 byte Endorsement Key modulus | 159 | Modulus: The 256 byte Endorsement Key modulus |
| 160 | 160 | ||
| 161 | What: /sys/class/tpm/tpmX/device/temp_deactivated | 161 | What: /sys/class/tpm/tpmX/device/temp_deactivated |
| 162 | Date: April 2006 | 162 | Date: April 2006 |
| @@ -176,9 +176,9 @@ Description: The "timeouts" property shows the 4 vendor-specific values · 13 unmodified lines | |||
| 176 | timeouts is defined by the TPM interface spec that the chip | 176 | timeouts is defined by the TPM interface spec that the chip |
| 177 | conforms to. | 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 | The four timeout values are shown in usecs, with a trailing | 183 | The four timeout values are shown in usecs, with a trailing |
| 184 | "[original]" or "[adjusted]" depending on whether the values | 184 | "[original]" or "[adjusted]" depending on whether the values |
| @@ -191,6 +191,6 @@ Contact: linux-integrity@vger.kernel.org · 6 unmodified lines | |||
| 191 | Description: The "tpm_version_major" property shows the TCG spec major version | 191 | Description: The "tpm_version_major" property shows the TCG spec major version |
| 192 | implemented by the TPM device. | 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 | 1 | Note: |
| 2 | # is documented in Documentation/admin-guide/sysfs-rules.rst | 2 | This documents additional properties of any device beyond what |
| 3 | is documented in Documentation/admin-guide/sysfs-rules.rst | ||
| 3 | 4 | ||
| 4 | What: /sys/devices/*/of_node | 5 | What: /sys/devices/*/of_node |
| 5 | Date: February 2015 | 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 | Date: December 3, 2009 | 2 | Date: December 3, 2009 |
| 3 | KernelVersion: 2.6.32 | 3 | KernelVersion: 2.6.32 |
| 4 | Contact: dmaengine@vger.kernel.org | 4 | Contact: dmaengine@vger.kernel.org |
| 5 | Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL, | 5 | Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL, |
| 6 | DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT. | 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 | Date: December 3, 2009 | 9 | Date: December 3, 2009 |
| 10 | KernelVersion: 2.6.32 | 10 | KernelVersion: 2.6.32 |
| 11 | Contact: dmaengine@vger.kernel.org | 11 | Contact: dmaengine@vger.kernel.org |
| 12 | Description: The number of descriptors active in the ring. | 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 | Date: December 3, 2009 | 15 | Date: December 3, 2009 |
| 16 | KernelVersion: 2.6.32 | 16 | KernelVersion: 2.6.32 |
| 17 | Contact: dmaengine@vger.kernel.org | 17 | Contact: dmaengine@vger.kernel.org |
| 18 | Description: Descriptor ring size, total number of descriptors available. | 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 | Date: December 3, 2009 | 21 | Date: December 3, 2009 |
| 22 | KernelVersion: 2.6.32 | 22 | KernelVersion: 2.6.32 |
| 23 | Contact: dmaengine@vger.kernel.org | 23 | Contact: dmaengine@vger.kernel.org |
| 24 | Description: Version of ioatdma device. | 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 | Date: August 8, 2017 | 27 | Date: August 8, 2017 |
| 28 | KernelVersion: 4.14 | 28 | KernelVersion: 4.14 |
| 29 | Contact: dmaengine@vger.kernel.org | 29 | Contact: dmaengine@vger.kernel.org |
| @@ -12,13 +12,15 @@ Description: · 11 unmodified lines | |||
| 12 | resets. Three registers are used by the FSBL and | 12 | resets. Three registers are used by the FSBL and |
| 13 | other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}. | 13 | other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}. |
| 14 | 14 | ||
| 15 | Usage: | 15 | Usage:: |
| 16 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | 16 | |
| 17 | # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | 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: | 22 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 |
| 20 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | 23 | # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 |
| 21 | # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 | ||
| 22 | 24 | ||
| 23 | Users: Xilinx | 25 | Users: Xilinx |
| 24 | 26 | ||
| @@ -39,13 +41,15 @@ Description: · 14 unmodified lines | |||
| 39 | software products: PERS_GLOB_GEN_STORAGE{4:7}. | 41 | software products: PERS_GLOB_GEN_STORAGE{4:7}. |
| 40 | Register is reset only by a POR reset. | 42 | Register is reset only by a POR reset. |
| 41 | 43 | ||
| 42 | Usage: | 44 | Usage:: |
| 43 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | 45 | |
| 44 | # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | 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: | 51 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 |
| 47 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | 52 | # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 |
| 48 | # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 | ||
| 49 | 53 | ||
| 50 | Users: Xilinx | 54 | Users: Xilinx |
| 51 | 55 | ||
| @@ -61,23 +65,28 @@ Description: · 9 unmodified lines | |||
| 61 | 65 | ||
| 62 | Following are available shutdown scopes(subtypes): | 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 | not used by other processing units will be | 70 | not used by other processing units will be |
| 66 | shut down. This may result in the FPD power | 71 | shut down. This may result in the FPD power |
| 67 | domain being shut down provided that no other | 72 | domain being shut down provided that no other |
| 68 | processing unit uses FPD peripherals or DRAM. | 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 | RPU, PMU, etc. Only the PL domain (FPGA) | 76 | RPU, PMU, etc. Only the PL domain (FPGA) |
| 71 | remains untouched. | 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: | 81 | Usage:: |
| 75 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | 82 | |
| 76 | # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | 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: | 88 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope |
| 79 | # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | 89 | # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope |
| 80 | # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope | ||
| 81 | 90 | ||
| 82 | Users: Xilinx | 91 | Users: Xilinx |
| 83 | 92 | ||
| @@ -94,10 +103,13 @@ Description: · 10 unmodified lines | |||
| 94 | system restart. | 103 | system restart. |
| 95 | 104 | ||
| 96 | Usage: | 105 | Usage: |
| 97 | Set healthy bit | ||
| 98 | # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | ||
| 99 | 106 | ||
| 100 | Unset healthy bit | 107 | Set healthy bit:: |
| 101 | # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status | 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 | Users: Xilinx | 115 | Users: Xilinx |
| @@ -6,6 +6,7 @@ Description: Interface for making ib_srp connect to a new target. · 5 unmodified lines | |||
| 6 | One can request ib_srp to connect to a new target by writing | 6 | One can request ib_srp to connect to a new target by writing |
| 7 | a comma-separated list of login parameters to this sysfs | 7 | a comma-separated list of login parameters to this sysfs |
| 8 | attribute. The supported parameters are: | 8 | attribute. The supported parameters are: |
| 9 | |||
| 9 | * id_ext, a 16-digit hexadecimal number specifying the eight | 10 | * id_ext, a 16-digit hexadecimal number specifying the eight |
| 10 | byte identifier extension in the 16-byte SRP target port | 11 | byte identifier extension in the 16-byte SRP target port |
| 11 | identifier. The target port identifier is sent by ib_srp | 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 | speakup if for example | 69 | speakup if for example |
| 70 | the say screen command is used before the | 70 | the say screen command is used before the |
| 71 | entire screen is read. | 71 | entire screen is read. |
| 72 | |||
| 72 | With no_interrupt set to one, if the say | 73 | With no_interrupt set to one, if the say |
| 73 | screen command is used, and one then types on the keyboard, | 74 | screen command is used, and one then types on the keyboard, |
| 74 | speakup will continue to say the whole screen regardless until | 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 | Again, these are part of the help system. For instance, if you | 216 | Again, these are part of the help system. For instance, if you |
| 216 | had pressed speakup + keypad 3, you would hear: | 217 | had pressed speakup + keypad 3, you would hear: |
| 217 | "speakup keypad 3 is go to bottom edge." | 218 | "speakup keypad 3 is go to bottom edge." |
| 219 | |||
| 218 | The speakup key is depressed, so the name of the key state is | 220 | The speakup key is depressed, so the name of the key state is |
| 219 | speakup. | 221 | speakup. |
| 222 | |||
| 220 | This part of the message comes from the states collection. | 223 | This part of the message comes from the states collection. |
| 221 | 224 | ||
| 222 | What: /sys/accessibility/speakup/i18n/characters | 225 | What: /sys/accessibility/speakup/i18n/characters |
| @@ -297,6 +300,7 @@ KernelVersion: 2.6 · 74 unmodified lines | |||
| 297 | Contact: speakup@linux-speakup.org | 300 | Contact: speakup@linux-speakup.org |
| 298 | Description: Controls if punctuation is spoken by speakup, or by the | 301 | Description: Controls if punctuation is spoken by speakup, or by the |
| 299 | synthesizer. | 302 | synthesizer. |
| 303 | |||
| 300 | For example, speakup speaks ">" as "greater", while | 304 | For example, speakup speaks ">" as "greater", while |
| 301 | the espeak synthesizer used by the soft driver speaks "greater | 305 | the espeak synthesizer used by the soft driver speaks "greater |
| 302 | than". Zero lets speakup speak the punctuation. One lets the | 306 | than". Zero lets speakup speak the punctuation. One lets the |
| @@ -17,6 +17,7 @@ Description: · 16 unmodified lines | |||
| 17 | directory has a name of the form "<key>-<vendor guid>" | 17 | directory has a name of the form "<key>-<vendor guid>" |
| 18 | and contains the following files: | 18 | and contains the following files: |
| 19 | 19 | ||
| 20 | =============== ======================================== | ||
| 20 | attributes: A read-only text file enumerating the | 21 | attributes: A read-only text file enumerating the |
| 21 | EFI variable flags. Potential values | 22 | EFI variable flags. Potential values |
| 22 | include: | 23 | include: |
| @@ -59,12 +60,14 @@ Description: · 36 unmodified lines | |||
| 59 | 60 | ||
| 60 | size: As ASCII representation of the size of | 61 | size: As ASCII representation of the size of |
| 61 | the variable's value. | 62 | the variable's value. |
| 63 | =============== ======================================== | ||
| 62 | 64 | ||
| 63 | 65 | ||
| 64 | In addition, two other magic binary files are provided | 66 | In addition, two other magic binary files are provided |
| 65 | in the top-level directory and are used for adding and | 67 | in the top-level directory and are used for adding and |
| 66 | removing variables: | 68 | removing variables: |
| 67 | 69 | ||
| 70 | =============== ======================================== | ||
| 68 | new_var: Takes a "struct efi_variable" and | 71 | new_var: Takes a "struct efi_variable" and |
| 69 | instructs the EFI firmware to create a | 72 | instructs the EFI firmware to create a |
| 70 | new variable. | 73 | new variable. |
| @@ -73,3 +76,4 @@ Description: · 2 unmodified lines | |||
| 73 | instructs the EFI firmware to remove any | 76 | instructs the EFI firmware to remove any |
| 74 | variable that has a matching vendor GUID | 77 | variable that has a matching vendor GUID |
| 75 | and variable key name. | 78 | and variable key name. |
| 79 | =============== ======================================== | ||
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | |||
| 7 | 7 | ||
| 8 | This is only for the powerpc/powernv platform. | 8 | This is only for the powerpc/powernv platform. |
| 9 | 9 | ||
| 10 | =============== =============================================== | ||
| 10 | initiate_dump: When '1' is written to it, | 11 | initiate_dump: When '1' is written to it, |
| 11 | we will initiate a dump. | 12 | we will initiate a dump. |
| 12 | Read this file for supported commands. | 13 | Read this file for supported commands. |
| @@ -19,8 +20,11 @@ Description: · 6 unmodified lines | |||
| 19 | and ID of the dump, use the id and type files. | 20 | and ID of the dump, use the id and type files. |
| 20 | Do not rely on any particular size of dump | 21 | Do not rely on any particular size of dump |
| 21 | type or dump id. | 22 | type or dump id. |
| 23 | =============== =============================================== | ||
| 22 | 24 | ||
| 23 | Each dump has the following files: | 25 | Each dump has the following files: |
| 26 | |||
| 27 | =============== =============================================== | ||
| 24 | id: An ASCII representation of the dump ID | 28 | id: An ASCII representation of the dump ID |
| 25 | in hex (e.g. '0x01') | 29 | in hex (e.g. '0x01') |
| 26 | type: An ASCII representation of the type of | 30 | type: An ASCII representation of the type of |
| @@ -39,3 +43,4 @@ Description: · 12 unmodified lines | |||
| 39 | inaccessible. | 43 | inaccessible. |
| 40 | Reading this file will get a list of | 44 | Reading this file will get a list of |
| 41 | supported actions. | 45 | supported actions. |
| 46 | =============== =============================================== | ||
| @@ -38,6 +38,7 @@ Description: · 37 unmodified lines | |||
| 38 | For each log entry (directory), there are the following | 38 | For each log entry (directory), there are the following |
| 39 | files: | 39 | files: |
| 40 | 40 | ||
| 41 | ============== ================================================ | ||
| 41 | id: An ASCII representation of the ID of the | 42 | id: An ASCII representation of the ID of the |
| 42 | error log, in hex - e.g. "0x01". | 43 | error log, in hex - e.g. "0x01". |
| 43 | 44 | ||
| @@ -58,3 +59,4 @@ Description: · 14 unmodified lines | |||
| 58 | entry will be removed from sysfs. | 59 | entry will be removed from sysfs. |
| 59 | Reading this file will list the supported | 60 | Reading this file will list the supported |
| 60 | operations (currently just acknowledge). | 61 | operations (currently just acknowledge). |
| 62 | ============== ================================================ | ||
| @@ -33,6 +33,8 @@ Description: If running under Xen: · 32 unmodified lines | |||
| 33 | Space separated list of supported guest system types. Each type | 33 | Space separated list of supported guest system types. Each type |
| 34 | is in the format: <class>-<major>.<minor>-<arch> | 34 | is in the format: <class>-<major>.<minor>-<arch> |
| 35 | With: | 35 | With: |
| 36 | |||
| 37 | ======== ============================================ | ||
| 36 | <class>: "xen" -- x86: paravirtualized, arm: standard | 38 | <class>: "xen" -- x86: paravirtualized, arm: standard |
| 37 | "hvm" -- x86 only: fully virtualized | 39 | "hvm" -- x86 only: fully virtualized |
| 38 | <major>: major guest interface version | 40 | <major>: major guest interface version |
| @@ -43,6 +45,7 @@ Description: If running under Xen: · 4 unmodified lines | |||
| 43 | "x86_64": 64 bit x86 guest | 45 | "x86_64": 64 bit x86 guest |
| 44 | "armv7l": 32 bit arm guest | 46 | "armv7l": 32 bit arm guest |
| 45 | "aarch64": 64 bit arm guest | 47 | "aarch64": 64 bit arm guest |
| 48 | ======== ============================================ | ||
| 46 | 49 | ||
| 47 | What: /sys/hypervisor/properties/changeset | 50 | What: /sys/hypervisor/properties/changeset |
| 48 | Date: March 2009 | 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 | On some architectures, when the kernel loads any userspace program it | 7 | On some architectures, when the kernel loads any userspace program it |
| 2 | maps an ELF DSO into that program's address space. This DSO is called | 8 | maps an ELF DSO into that program's address space. This DSO is called |
| 3 | the vDSO and it often contains useful and highly-optimized alternatives | 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 | ABI of those symbols is considered stable. It may vary across architectures, | 29 | ABI of those symbols is considered stable. It may vary across architectures, |
| 24 | though. | 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 | The maintainers of the other vDSO-using architectures should confirm | 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 | This group contains the configuration for user defined ACPI | 14 | This group contains the configuration for user defined ACPI |
| 15 | tables. The attributes of a user define table are: | 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 | fill in the ACPI aml definitions. Once the aml | 19 | fill in the ACPI aml definitions. Once the aml |
| 19 | data is written to this file and the file is | 20 | data is written to this file and the file is |
| 20 | closed the table will be loaded and ACPI devices | 21 | closed the table will be loaded and ACPI devices |
| @@ -26,11 +27,26 @@ Description: · 5 unmodified lines | |||
| 26 | The rest of the attributes are read-only and are valid only | 27 | The rest of the attributes are read-only and are valid only |
| 27 | after the table has been loaded by filling the aml entry: | 28 | after the table has been loaded by filling the aml entry: |
| 28 | 29 | ||
| 29 | signature - ASCII table signature | 30 | signature |
| 30 | length - length of table in bytes, including the header | 31 | - ASCII table signature |
| 31 | revision - ACPI Specification minor version number | 32 | |
| 32 | oem_id - ASCII OEM identification | 33 | length |
| 33 | oem_table_id - ASCII OEM table identification | 34 | - length of table in bytes, including the header |
| 34 | oem_revision - OEM revision number | 35 | |
| 35 | asl_compiler_id - ASCII ASL compiler vendor ID | 36 | revision |
| 36 | asl_compiler_revision - ASL compiler version | 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 | Description: | 15 | Description: |
| 16 | The attributes: | 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 | (needed for synchronous and isochrnous data) | 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 | channel | 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 | this channel | 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 | or output | 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 | for MediaLB communication only) | 40 | for MediaLB communication only) |
| 35 | 41 | ||
| 36 | packets_per_xact | 42 | packets_per_xact |
| @@ -39,18 +45,23 @@ Description: · 2 unmodified lines | |||
| 39 | transmitted via USB (this is used for USB | 45 | transmitted via USB (this is used for USB |
| 40 | communication only) | 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 | creation of the link. In case of speculative | 59 | creation of the link. In case of speculative |
| 50 | configuration, the creation is post-poned until | 60 | configuration, the creation is post-poned until |
| 51 | a physical device is being attached to the bus. | 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 | active link | 65 | active link |
| 55 | 66 | ||
| 56 | What: /sys/kernel/config/most_video/<link> | 67 | What: /sys/kernel/config/most_video/<link> |
| @@ -59,22 +70,28 @@ KernelVersion: 5.2 · 2 unmodified lines | |||
| 59 | Description: | 70 | Description: |
| 60 | The attributes: | 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 | (needed for synchronous and isochrnous data) | 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 | channel | 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 | this channel | 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 | or output | 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 | for MediaLB communication only) | 95 | for MediaLB communication only) |
| 79 | 96 | ||
| 80 | packets_per_xact | 97 | packets_per_xact |
| @@ -83,18 +100,23 @@ Description: · 2 unmodified lines | |||
| 83 | transmitted via USB (this is used for USB | 100 | transmitted via USB (this is used for USB |
| 84 | communication only) | 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 | creation of the link. In case of speculative | 114 | creation of the link. In case of speculative |
| 94 | configuration, the creation is post-poned until | 115 | configuration, the creation is post-poned until |
| 95 | a physical device is being attached to the bus. | 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 | active link | 120 | active link |
| 99 | 121 | ||
| 100 | What: /sys/kernel/config/most_net/<link> | 122 | What: /sys/kernel/config/most_net/<link> |
| @@ -103,22 +125,28 @@ KernelVersion: 5.2 · 2 unmodified lines | |||
| 103 | Description: | 125 | Description: |
| 104 | The attributes: | 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 | (needed for synchronous and isochrnous data) | 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 | channel | 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 | this channel | 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 | or output | 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 | for MediaLB communication only) | 150 | for MediaLB communication only) |
| 123 | 151 | ||
| 124 | packets_per_xact | 152 | packets_per_xact |
| @@ -127,18 +155,23 @@ Description: · 2 unmodified lines | |||
| 127 | transmitted via USB (this is used for USB | 155 | transmitted via USB (this is used for USB |
| 128 | communication only) | 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 | creation of the link. In case of speculative | 169 | creation of the link. In case of speculative |
| 138 | configuration, the creation is post-poned until | 170 | configuration, the creation is post-poned until |
| 139 | a physical device is being attached to the bus. | 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 | active link | 175 | active link |
| 143 | 176 | ||
| 144 | What: /sys/kernel/config/most_sound/<card> | 177 | What: /sys/kernel/config/most_sound/<card> |
| @@ -147,7 +180,8 @@ KernelVersion: 5.2 · 2 unmodified lines | |||
| 147 | Description: | 180 | Description: |
| 148 | The attributes: | 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 | registration of the sound card with the ALSA | 185 | registration of the sound card with the ALSA |
| 152 | subsystem. | 186 | subsystem. |
| 153 | 187 | ||
| @@ -157,22 +191,28 @@ KernelVersion: 5.2 · 3 unmodified lines | |||
| 157 | Description: | 191 | Description: |
| 158 | The attributes: | 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 | (needed for synchronous and isochrnous data) | 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 | channel | 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 | this channel | 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 | or output | 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 | for MediaLB communication only) | 216 | for MediaLB communication only) |
| 177 | 217 | ||
| 178 | packets_per_xact | 218 | packets_per_xact |
| @@ -181,16 +221,21 @@ Description: · 2 unmodified lines | |||
| 181 | transmitted via USB (this is used for USB | 221 | transmitted via USB (this is used for USB |
| 182 | communication only) | 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 | creation of the link. In case of speculative | 235 | creation of the link. In case of speculative |
| 192 | configuration, the creation is post-poned until | 236 | configuration, the creation is post-poned until |
| 193 | a physical device is being attached to the bus. | 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 | active link | 241 | active link |
| @@ -10,22 +10,24 @@ Description: · 9 unmodified lines | |||
| 10 | This interfaces can be used to show spear's PCIe device capability. | 10 | This interfaces can be used to show spear's PCIe device capability. |
| 11 | 11 | ||
| 12 | Nodes are only visible when configfs is mounted. To mount configfs | 12 | Nodes are only visible when configfs is mounted. To mount configfs |
| 13 | in /config directory use: | 13 | in /config directory use:: |
| 14 | # mount -t configfs none /config/ | ||
| 15 | 14 | ||
| 16 | For nth PCIe Device Controller | 15 | # mount -t configfs none /config/ |
| 17 | /config/pcie-gadget.n/ | 16 | |
| 18 | link ... used to enable ltssm and read its status. | 17 | For nth PCIe Device Controller /config/pcie-gadget.n/: |
| 19 | int_type ...used to configure and read type of supported | 18 | |
| 20 | interrupt | 19 | =============== ====================================================== |
| 21 | no_of_msi ... used to configure number of MSI vector needed and | 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 | to read no of MSI granted. | 23 | to read no of MSI granted. |
| 23 | inta ... write 1 to assert INTA and 0 to de-assert. | 24 | inta write 1 to assert INTA and 0 to de-assert. |
| 24 | send_msi ... write MSI vector to be sent. | 25 | send_msi write MSI vector to be sent. |
| 25 | vendor_id ... used to write and read vendor id (hex) | 26 | vendor_id used to write and read vendor id (hex) |
| 26 | device_id ... used to write and read device id (hex) | 27 | device_id used to write and read device id (hex) |
| 27 | bar0_size ... used to write and read bar0_size | 28 | bar0_size used to write and read bar0_size |
| 28 | bar0_address ... used to write and read bar0 mapped area in hex. | 29 | 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_rw_offset used to write and read offset of bar0 where bar0_data |
| 30 | bar0_data will be written or read. | 31 | will be written or read. |
| 31 | bar0_data ... used to write and read data at bar0_rw_offset. | 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 | The attributes of a gadget: | 13 | The attributes of a gadget: |
| 14 | 14 | ||
| 15 | UDC - bind a gadget to UDC/unbind a gadget; | 15 | ================ ============================================ |
| 16 | write UDC's name found in /sys/class/udc/* | 16 | UDC bind a gadget to UDC/unbind a gadget; |
| 17 | to bind a gadget, empty string "" to unbind. | 17 | write UDC's name found in /sys/class/udc/* |
| 18 | 18 | to bind a gadget, empty string "" to unbind. | |
| 19 | max_speed - maximum speed the driver supports. Valid | 19 | |
| 20 | names are super-speed-plus, super-speed, | 20 | max_speed maximum speed the driver supports. Valid |
| 21 | high-speed, full-speed, and low-speed. | 21 | names are super-speed-plus, super-speed, |
| 22 | 22 | high-speed, full-speed, and low-speed. | |
| 23 | bDeviceClass - USB device class code | 23 | |
| 24 | bDeviceSubClass - USB device subclass code | 24 | bDeviceClass USB device class code |
| 25 | bDeviceProtocol - USB device protocol code | 25 | bDeviceSubClass USB device subclass code |
| 26 | bMaxPacketSize0 - maximum endpoint 0 packet size | 26 | bDeviceProtocol USB device protocol code |
| 27 | bcdDevice - bcd device release number | 27 | bMaxPacketSize0 maximum endpoint 0 packet size |
| 28 | bcdUSB - bcd USB specification version number | 28 | bcdDevice bcd device release number |
| 29 | idProduct - product ID | 29 | bcdUSB bcd USB specification version number |
| 30 | idVendor - vendor ID | 30 | idProduct product ID |
| 31 | idVendor vendor ID | ||
| 32 | ================ ============================================ | ||
| 31 | 33 | ||
| 32 | What: /config/usb-gadget/gadget/configs | 34 | What: /config/usb-gadget/gadget/configs |
| 33 | Date: Jun 2013 | 35 | Date: Jun 2013 |
| @@ -41,8 +43,10 @@ KernelVersion: 3.11 · 7 unmodified lines | |||
| 41 | Description: | 43 | Description: |
| 42 | The attributes of a configuration: | 44 | The attributes of a configuration: |
| 43 | 45 | ||
| 44 | bmAttributes - configuration characteristics | 46 | ================ ====================================== |
| 45 | MaxPower - maximum power consumption from the bus | 47 | bmAttributes configuration characteristics |
| 48 | MaxPower maximum power consumption from the bus | ||
| 49 | ================ ====================================== | ||
| 46 | 50 | ||
| 47 | What: /config/usb-gadget/gadget/configs/config/strings | 51 | What: /config/usb-gadget/gadget/configs/config/strings |
| 48 | Date: Jun 2013 | 52 | Date: Jun 2013 |
| @@ -57,7 +61,9 @@ KernelVersion: 3.11 · 8 unmodified lines | |||
| 57 | Description: | 61 | Description: |
| 58 | The attributes: | 62 | The attributes: |
| 59 | 63 | ||
| 60 | configuration - configuration description | 64 | ================ ========================= |
| 65 | configuration configuration description | ||
| 66 | ================ ========================= | ||
| 61 | 67 | ||
| 62 | 68 | ||
| 63 | What: /config/usb-gadget/gadget/functions | 69 | What: /config/usb-gadget/gadget/functions |
| @@ -76,8 +82,10 @@ Description: · 12 unmodified lines | |||
| 76 | 82 | ||
| 77 | The attributes: | 83 | The attributes: |
| 78 | 84 | ||
| 79 | compatible_id - 8-byte string for "Compatible ID" | 85 | ================= ===================================== |
| 80 | sub_compatible_id - 8-byte string for "Sub Compatible ID" | 86 | compatible_id 8-byte string for "Compatible ID" |
| 87 | sub_compatible_id 8-byte string for "Sub Compatible ID" | ||
| 88 | ================= ===================================== | ||
| 81 | 89 | ||
| 82 | What: /config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property> | 90 | What: /config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property> |
| 83 | Date: May 2014 | 91 | Date: May 2014 |
| @@ -89,16 +97,19 @@ Description: · 5 unmodified lines | |||
| 89 | 97 | ||
| 90 | The attributes: | 98 | The attributes: |
| 91 | 99 | ||
| 92 | type - value 1..7 for interpreting the data | 100 | ===== =============================================== |
| 93 | 1: unicode string | 101 | type value 1..7 for interpreting the data |
| 94 | 2: unicode string with environment variable | 102 | |
| 95 | 3: binary | 103 | - 1: unicode string |
| 96 | 4: little-endian 32-bit | 104 | - 2: unicode string with environment variable |
| 97 | 5: big-endian 32-bit | 105 | - 3: binary |
| 98 | 6: unicode string with a symbolic link | 106 | - 4: little-endian 32-bit |
| 99 | 7: multiple unicode strings | 107 | - 5: big-endian 32-bit |
| 100 | data - blob of data to be interpreted depending on | 108 | - 6: unicode string with a symbolic link |
| 109 | - 7: multiple unicode strings | ||
| 110 | data blob of data to be interpreted depending on | ||
| 101 | type | 111 | type |
| 112 | ===== =============================================== | ||
| 102 | 113 | ||
| 103 | What: /config/usb-gadget/gadget/strings | 114 | What: /config/usb-gadget/gadget/strings |
| 104 | Date: Jun 2013 | 115 | Date: Jun 2013 |
| @@ -113,9 +124,11 @@ KernelVersion: 3.11 · 8 unmodified lines | |||
| 113 | Description: | 124 | Description: |
| 114 | The attributes: | 125 | The attributes: |
| 115 | 126 | ||
| 116 | serialnumber - gadget's serial number (string) | 127 | ============ ================================= |
| 117 | product - gadget's product description | 128 | serialnumber gadget's serial number (string) |
| 118 | manufacturer - gadget's manufacturer description | 129 | product gadget's product description |
| 130 | manufacturer gadget's manufacturer description | ||
| 131 | ============ ================================= | ||
| 119 | 132 | ||
| 120 | What: /config/usb-gadget/gadget/os_desc | 133 | What: /config/usb-gadget/gadget/os_desc |
| 121 | Date: May 2014 | 134 | Date: May 2014 |
| @@ -123,8 +136,10 @@ KernelVersion: 3.16 · 1 unmodified line | |||
| 123 | Description: | 136 | Description: |
| 124 | This group contains "OS String" extension handling attributes. | 137 | This group contains "OS String" extension handling attributes. |
| 125 | 138 | ||
| 126 | use - flag turning "OS Desctiptors" support on/off | 139 | ============= =============================================== |
| 127 | b_vendor_code - one-byte value used for custom per-device and | 140 | use flag turning "OS Desctiptors" support on/off |
| 141 | b_vendor_code one-byte value used for custom per-device and | ||
| 128 | per-interface requests | 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 | proper | 144 | proper |
| 145 | ============= =============================================== | ||
| @@ -4,13 +4,17 @@ KernelVersion: 3.11 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | ifname - network device interface name associated with | 7 | ifname |
| 8 | - network device interface name associated with | ||
| 8 | this function instance | 9 | this function instance |
| 9 | qmult - queue length multiplier for high and | 10 | qmult |
| 11 | - queue length multiplier for high and | ||
| 10 | super speed | 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 | Ethernet over USB link | 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 | Ethernet over USB link | 18 | Ethernet over USB link |
| 15 | 19 | ||
| 16 | 20 | ||
| @@ -4,11 +4,13 @@ KernelVersion: 3.11 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | ifname - network device interface name associated with | 7 | ========== ============================================= |
| 8 | ifname network device interface name associated with | ||
| 8 | this function instance | 9 | this function instance |
| 9 | qmult - queue length multiplier for high and | 10 | qmult queue length multiplier for high and |
| 10 | super speed | 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 | Ethernet over USB link | 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 | Ethernet over USB link | 15 | Ethernet over USB link |
| 16 | ========== ============================================= | ||
| @@ -4,8 +4,10 @@ KernelVersion: 3.19 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | protocol - HID protocol to use | 7 | ============= ============================================ |
| 8 | report_desc - blob corresponding to HID report descriptors | 8 | protocol HID protocol to use |
| 9 | report_desc blob corresponding to HID report descriptors | ||
| 9 | except the data passed through /dev/hidg<N> | 10 | except the data passed through /dev/hidg<N> |
| 10 | report_length - HID report length | 11 | report_length HID report length |
| 11 | subclass - HID device subclass to use | 12 | subclass HID device subclass to use |
| 13 | ============= ============================================ | ||
| @@ -4,5 +4,7 @@ KernelVersion: 3.13 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | qlen - depth of loopback queue | 7 | ======= ======================= |
| 8 | buflen - buffer length | 8 | qlen depth of loopback queue |
| 9 | buflen buffer length | ||
| 10 | ======= ======================= | ||
| @@ -4,12 +4,14 @@ KernelVersion: 3.13 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 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 | Disabled on some USB devices known not to work | 9 | Disabled on some USB devices known not to work |
| 9 | correctly. You should set it to true. | 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 | are 2..4. Available only if | 12 | are 2..4. Available only if |
| 12 | CONFIG_USB_GADGET_DEBUG_FILES is set. | 13 | CONFIG_USB_GADGET_DEBUG_FILES is set. |
| 14 | =========== ============================================== | ||
| 13 | 15 | ||
| 14 | What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name | 16 | What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name |
| 15 | Date: Oct 2013 | 17 | Date: Oct 2013 |
| @@ -17,15 +19,17 @@ KernelVersion: 3.13 · 1 unmodified line | |||
| 17 | Description: | 19 | Description: |
| 18 | The attributes: | 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 | Required if LUN is not marked as removable. | 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 | read-only. This is implied if CD-ROM emulation | 26 | read-only. This is implied if CD-ROM emulation |
| 24 | is enabled as well as when it was impossible | 27 | is enabled as well as when it was impossible |
| 25 | to open "filename" in R/W mode. | 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 | being removable. | 30 | being removable. |
| 28 | cdrom - Flag specifying that LUN shall be reported as | 31 | cdrom Flag specifying that LUN shall be reported as |
| 29 | being a CD-ROM. | 32 | being a CD-ROM. |
| 30 | nofua - Flag specifying that FUA flag | 33 | nofua Flag specifying that FUA flag |
| 31 | in SCSI WRITE(10,12) | 34 | in SCSI WRITE(10,12) |
| 35 | =========== ============================================== | ||
| @@ -4,9 +4,11 @@ KernelVersion: 3.19 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | index - index value for the USB MIDI adapter | 7 | ========== ==================================== |
| 8 | id - ID string for the USB MIDI adapter | 8 | index index value for the USB MIDI adapter |
| 9 | buflen - MIDI buffer length | 9 | id ID string for the USB MIDI adapter |
| 10 | qlen - USB read request queue length | 10 | buflen MIDI buffer length |
| 11 | in_ports - number of MIDI input ports | 11 | qlen USB read request queue length |
| 12 | out_ports - number of MIDI output ports | 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 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | pnp_string - Data to be passed to the host in pnp string | 7 | ========== =========================================== |
| 8 | q_len - Number of requests per endpoint | 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 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | ifname - network device interface name associated with | 7 | ========= ============================================= |
| 8 | ifname network device interface name associated with | ||
| 8 | this function instance | 9 | this function instance |
| 9 | qmult - queue length multiplier for high and | 10 | qmult queue length multiplier for high and |
| 10 | super speed | 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 | Ethernet over USB link | 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 | Ethernet over USB link | 15 | Ethernet over USB link |
| 15 | class - USB interface class, default is 02 (hex) | 16 | class USB interface class, default is 02 (hex) |
| 16 | subclass - USB interface subclass, default is 06 (hex) | 17 | subclass USB interface subclass, default is 06 (hex) |
| 17 | protocol - USB interface protocol, default is 00 (hex) | 18 | protocol USB interface protocol, default is 00 (hex) |
| 19 | ========= ============================================= | ||
| @@ -4,11 +4,13 @@ KernelVersion: 3.13 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | pattern - 0 (all zeros), 1 (mod63), 2 (none) | 7 | ============== ================================== |
| 8 | isoc_interval - 1..16 | 8 | pattern 0 (all zeros), 1 (mod63), 2 (none) |
| 9 | isoc_maxpacket - 0 - 1023 (fs), 0 - 1024 (hs/ss) | 9 | isoc_interval 1..16 |
| 10 | isoc_mult - 0..2 (hs/ss only) | 10 | isoc_maxpacket 0 - 1023 (fs), 0 - 1024 (hs/ss) |
| 11 | isoc_maxburst - 0..15 (ss only) | 11 | isoc_mult 0..2 (hs/ss only) |
| 12 | buflen - buffer length | 12 | isoc_maxburst 0..15 (ss only) |
| 13 | bulk_qlen - depth of queue for bulk | 13 | buflen buffer length |
| 14 | iso_qlen - depth of queue for iso | 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 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | ifname - network device interface name associated with | 7 | ========== ============================================= |
| 8 | ifname network device interface name associated with | ||
| 8 | this function instance | 9 | this function instance |
| 9 | qmult - queue length multiplier for high and | 10 | qmult queue length multiplier for high and |
| 10 | super speed | 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 | Ethernet over USB link | 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 | Ethernet over USB link | 15 | Ethernet over USB link |
| 16 | ========== ============================================= | ||
| @@ -4,11 +4,13 @@ KernelVersion: 4.14 · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | c_chmask - capture channel mask | 7 | ========== =================================== |
| 8 | c_srate - capture sampling rate | 8 | c_chmask capture channel mask |
| 9 | c_ssize - capture sample size (bytes) | 9 | c_srate capture sampling rate |
| 10 | p_chmask - playback channel mask | 10 | c_ssize capture sample size (bytes) |
| 11 | p_srate - playback sampling rate | 11 | p_chmask playback channel mask |
| 12 | p_ssize - playback sample size (bytes) | 12 | p_srate playback sampling rate |
| 13 | req_number - the number of pre-allocated request | 13 | p_ssize playback sample size (bytes) |
| 14 | for both capture and playback | 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 | Description: | 4 | Description: |
| 5 | The attributes: | 5 | The attributes: |
| 6 | 6 | ||
| 7 | c_chmask - capture channel mask | 7 | ========= ============================ |
| 8 | c_srate - capture sampling rate | 8 | c_chmask capture channel mask |
| 9 | c_ssize - capture sample size (bytes) | 9 | c_srate capture sampling rate |
| 10 | p_chmask - playback channel mask | 10 | c_ssize capture sample size (bytes) |
| 11 | p_srate - playback sampling rate | 11 | p_chmask playback channel mask |
| 12 | p_ssize - playback sample size (bytes) | 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 | KernelVersion: 4.0 | 3 | KernelVersion: 4.0 |
| 4 | Description: UVC function directory | 4 | Description: UVC function directory |
| 5 | 5 | ||
| 6 | streaming_maxburst - 0..15 (ss only) | 6 | =================== ============================= |
| 7 | streaming_maxpacket - 1..1023 (fs), 1..3072 (hs/ss) | 7 | streaming_maxburst 0..15 (ss only) |
| 8 | streaming_interval - 1..16 | 8 | streaming_maxpacket 1..1023 (fs), 1..3072 (hs/ss) |
| 9 | streaming_interval 1..16 | ||
| 10 | =================== ============================= | ||
| 9 | 11 | ||
| 10 | What: /config/usb-gadget/gadget/functions/uvc.name/control | 12 | What: /config/usb-gadget/gadget/functions/uvc.name/control |
| 11 | Date: Dec 2014 | 13 | Date: Dec 2014 |
| @@ -13,8 +15,11 @@ KernelVersion: 4.0 · 1 unmodified line | |||
| 13 | Description: Control descriptors | 15 | Description: Control descriptors |
| 14 | 16 | ||
| 15 | All attributes read only: | 17 | All attributes read only: |
| 16 | bInterfaceNumber - USB interface number for this | 18 | |
| 17 | streaming interface | 19 | ================ ============================= |
| 20 | bInterfaceNumber USB interface number for this | ||
| 21 | streaming interface | ||
| 22 | ================ ============================= | ||
| 18 | 23 | ||
| 19 | What: /config/usb-gadget/gadget/functions/uvc.name/control/class | 24 | What: /config/usb-gadget/gadget/functions/uvc.name/control/class |
| 20 | Date: Dec 2014 | 25 | Date: Dec 2014 |
| @@ -47,13 +52,16 @@ KernelVersion: 4.0 · 26 unmodified lines | |||
| 47 | Description: Default output terminal descriptors | 52 | Description: Default output terminal descriptors |
| 48 | 53 | ||
| 49 | All attributes read only: | 54 | All attributes read only: |
| 50 | iTerminal - index of string descriptor | 55 | |
| 51 | bSourceID - id of the terminal to which this terminal | 56 | ============== ============================================= |
| 57 | iTerminal index of string descriptor | ||
| 58 | bSourceID id of the terminal to which this terminal | ||
| 52 | is connected | 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 | terminal is associated | 61 | terminal is associated |
| 55 | wTerminalType - terminal type | 62 | wTerminalType terminal type |
| 56 | bTerminalID - a non-zero id of this terminal | 63 | bTerminalID a non-zero id of this terminal |
| 64 | ============== ============================================= | ||
| 57 | 65 | ||
| 58 | What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera | 66 | What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera |
| 59 | Date: Dec 2014 | 67 | Date: Dec 2014 |
| @@ -66,16 +74,19 @@ KernelVersion: 4.0 · 6 unmodified lines | |||
| 66 | Description: Default camera terminal descriptors | 74 | Description: Default camera terminal descriptors |
| 67 | 75 | ||
| 68 | All attributes read only: | 76 | All attributes read only: |
| 69 | bmControls - bitmap specifying which controls are | 77 | |
| 70 | supported for the video stream | 78 | ======================== ==================================== |
| 71 | wOcularFocalLength - the value of Locular | 79 | bmControls bitmap specifying which controls are |
| 72 | wObjectiveFocalLengthMax- the value of Lmin | 80 | supported for the video stream |
| 73 | wObjectiveFocalLengthMin- the value of Lmax | 81 | wOcularFocalLength the value of Locular |
| 74 | iTerminal - index of string descriptor | 82 | wObjectiveFocalLengthMax the value of Lmin |
| 75 | bAssocTerminal - id of the output terminal to which | 83 | wObjectiveFocalLengthMin the value of Lmax |
| 76 | this terminal is connected | 84 | iTerminal index of string descriptor |
| 77 | wTerminalType - terminal type | 85 | bAssocTerminal id of the output terminal to which |
| 78 | bTerminalID - a non-zero id of this terminal | 86 | this terminal is connected |
| 87 | wTerminalType terminal type | ||
| 88 | bTerminalID a non-zero id of this terminal | ||
| 89 | ======================== ==================================== | ||
| 79 | 90 | ||
| 80 | What: /config/usb-gadget/gadget/functions/uvc.name/control/processing | 91 | What: /config/usb-gadget/gadget/functions/uvc.name/control/processing |
| 81 | Date: Dec 2014 | 92 | Date: Dec 2014 |
| @@ -88,13 +99,16 @@ KernelVersion: 4.0 · 6 unmodified lines | |||
| 88 | Description: Default processing unit descriptors | 99 | Description: Default processing unit descriptors |
| 89 | 100 | ||
| 90 | All attributes read only: | 101 | All attributes read only: |
| 91 | iProcessing - index of string descriptor | 102 | |
| 92 | bmControls - bitmap specifying which controls are | 103 | =============== ======================================== |
| 104 | iProcessing index of string descriptor | ||
| 105 | bmControls bitmap specifying which controls are | ||
| 93 | supported for the video stream | 106 | supported for the video stream |
| 94 | wMaxMultiplier - maximum digital magnification x100 | 107 | wMaxMultiplier maximum digital magnification x100 |
| 95 | bSourceID - id of the terminal to which this unit is | 108 | bSourceID id of the terminal to which this unit is |
| 96 | connected | 109 | connected |
| 97 | bUnitID - a non-zero id of this unit | 110 | bUnitID a non-zero id of this unit |
| 111 | =============== ======================================== | ||
| 98 | 112 | ||
| 99 | What: /config/usb-gadget/gadget/functions/uvc.name/control/header | 113 | What: /config/usb-gadget/gadget/functions/uvc.name/control/header |
| 100 | Date: Dec 2014 | 114 | Date: Dec 2014 |
| @@ -114,8 +128,11 @@ KernelVersion: 4.0 · 13 unmodified lines | |||
| 114 | Description: Streaming descriptors | 128 | Description: Streaming descriptors |
| 115 | 129 | ||
| 116 | All attributes read only: | 130 | All attributes read only: |
| 117 | bInterfaceNumber - USB interface number for this | 131 | |
| 118 | streaming interface | 132 | ================ ============================= |
| 133 | bInterfaceNumber USB interface number for this | ||
| 134 | streaming interface | ||
| 135 | ================ ============================= | ||
| 119 | 136 | ||
| 120 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class | 137 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class |
| 121 | Date: Dec 2014 | 138 | Date: Dec 2014 |
| @@ -148,13 +165,16 @@ KernelVersion: 4.0 · 26 unmodified lines | |||
| 148 | Description: Default color matching descriptors | 165 | Description: Default color matching descriptors |
| 149 | 166 | ||
| 150 | All attributes read only: | 167 | All attributes read only: |
| 151 | bMatrixCoefficients - matrix used to compute luma and | 168 | |
| 152 | chroma values from the color primaries | 169 | ======================== ====================================== |
| 153 | bTransferCharacteristics- optoelectronic transfer | 170 | bMatrixCoefficients matrix used to compute luma and |
| 154 | characteristic of the source picutre, | 171 | chroma values from the color primaries |
| 155 | also called the gamma function | 172 | bTransferCharacteristics optoelectronic transfer |
| 156 | bColorPrimaries - color primaries and the reference | 173 | characteristic of the source picutre, |
| 157 | white | 174 | also called the gamma function |
| 175 | bColorPrimaries color primaries and the reference | ||
| 176 | white | ||
| 177 | ======================== ====================================== | ||
| 158 | 178 | ||
| 159 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg | 179 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg |
| 160 | Date: Dec 2014 | 180 | Date: Dec 2014 |
| @@ -168,47 +188,52 @@ Description: Specific MJPEG format descriptors · 7 unmodified lines | |||
| 168 | 188 | ||
| 169 | All attributes read only, | 189 | All attributes read only, |
| 170 | except bmaControls and bDefaultFrameIndex: | 190 | except bmaControls and bDefaultFrameIndex: |
| 171 | bFormatIndex - unique id for this format descriptor; | 191 | |
| 192 | =================== ===================================== | ||
| 193 | bFormatIndex unique id for this format descriptor; | ||
| 172 | only defined after parent header is | 194 | only defined after parent header is |
| 173 | linked into the streaming class; | 195 | linked into the streaming class; |
| 174 | read-only | 196 | read-only |
| 175 | bmaControls - this format's data for bmaControls in | 197 | bmaControls this format's data for bmaControls in |
| 176 | the streaming header | 198 | the streaming header |
| 177 | bmInterfaceFlags - specifies interlace information, | 199 | bmInterfaceFlags specifies interlace information, |
| 178 | read-only | 200 | read-only |
| 179 | bAspectRatioY - the X dimension of the picture aspect | 201 | bAspectRatioY the X dimension of the picture aspect |
| 180 | ratio, read-only | 202 | ratio, read-only |
| 181 | bAspectRatioX - the Y dimension of the picture aspect | 203 | bAspectRatioX the Y dimension of the picture aspect |
| 182 | ratio, read-only | 204 | ratio, read-only |
| 183 | bmFlags - characteristics of this format, | 205 | bmFlags characteristics of this format, |
| 184 | read-only | 206 | read-only |
| 185 | bDefaultFrameIndex - optimum frame index for this stream | 207 | bDefaultFrameIndex optimum frame index for this stream |
| 208 | =================== ===================================== | ||
| 186 | 209 | ||
| 187 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name | 210 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name |
| 188 | Date: Dec 2014 | 211 | Date: Dec 2014 |
| 189 | KernelVersion: 4.0 | 212 | KernelVersion: 4.0 |
| 190 | Description: Specific MJPEG frame descriptors | 213 | Description: Specific MJPEG frame descriptors |
| 191 | 214 | ||
| 192 | bFrameIndex - unique id for this framedescriptor; | 215 | ========================= ===================================== |
| 193 | only defined after parent format is | 216 | bFrameIndex unique id for this framedescriptor; |
| 194 | linked into the streaming header; | 217 | only defined after parent format is |
| 195 | read-only | 218 | linked into the streaming header; |
| 196 | dwFrameInterval - indicates how frame interval can be | 219 | read-only |
| 197 | programmed; a number of values | 220 | dwFrameInterval indicates how frame interval can be |
| 198 | separated by newline can be specified | 221 | programmed; a number of values |
| 199 | dwDefaultFrameInterval - the frame interval the device would | 222 | separated by newline can be specified |
| 200 | like to use as default | 223 | dwDefaultFrameInterval the frame interval the device would |
| 201 | dwMaxVideoFrameBufferSize- the maximum number of bytes the | 224 | like to use as default |
| 202 | compressor will produce for a video | 225 | dwMaxVideoFrameBufferSize the maximum number of bytes the |
| 203 | frame or still image | 226 | compressor will produce for a video |
| 204 | dwMaxBitRate - the maximum bit rate at the shortest | 227 | frame or still image |
| 205 | frame interval in bps | 228 | dwMaxBitRate the maximum bit rate at the shortest |
| 206 | dwMinBitRate - the minimum bit rate at the longest | 229 | frame interval in bps |
| 207 | frame interval in bps | 230 | dwMinBitRate the minimum bit rate at the longest |
| 208 | wHeight - height of decoded bitmap frame in px | 231 | frame interval in bps |
| 209 | wWidth - width of decoded bitmam frame in px | 232 | wHeight height of decoded bitmap frame in px |
| 210 | bmCapabilities - still image support, fixed frame-rate | 233 | wWidth width of decoded bitmam frame in px |
| 211 | support | 234 | bmCapabilities still image support, fixed frame-rate |
| 235 | support | ||
| 236 | ========================= ===================================== | ||
| 212 | 237 | ||
| 213 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed | 238 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed |
| 214 | Date: Dec 2014 | 239 | Date: Dec 2014 |
| @@ -220,50 +245,54 @@ Date: Dec 2014 · 5 unmodified lines | |||
| 220 | KernelVersion: 4.0 | 245 | KernelVersion: 4.0 |
| 221 | Description: Specific uncompressed format descriptors | 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 | only defined after parent header is | 250 | only defined after parent header is |
| 225 | linked into the streaming class; | 251 | linked into the streaming class; |
| 226 | read-only | 252 | read-only |
| 227 | bmaControls - this format's data for bmaControls in | 253 | bmaControls this format's data for bmaControls in |
| 228 | the streaming header | 254 | the streaming header |
| 229 | bmInterfaceFlags - specifies interlace information, | 255 | bmInterfaceFlags specifies interlace information, |
| 230 | read-only | 256 | read-only |
| 231 | bAspectRatioY - the X dimension of the picture aspect | 257 | bAspectRatioY the X dimension of the picture aspect |
| 232 | ratio, read-only | 258 | ratio, read-only |
| 233 | bAspectRatioX - the Y dimension of the picture aspect | 259 | bAspectRatioX the Y dimension of the picture aspect |
| 234 | ratio, read-only | 260 | ratio, read-only |
| 235 | bDefaultFrameIndex - optimum frame index for this stream | 261 | bDefaultFrameIndex optimum frame index for this stream |
| 236 | bBitsPerPixel - number of bits per pixel used to | 262 | bBitsPerPixel number of bits per pixel used to |
| 237 | specify color in the decoded video | 263 | specify color in the decoded video |
| 238 | frame | 264 | frame |
| 239 | guidFormat - globally unique id used to identify | 265 | guidFormat globally unique id used to identify |
| 240 | stream-encoding format | 266 | stream-encoding format |
| 267 | ================== ======================================= | ||
| 241 | 268 | ||
| 242 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name | 269 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name |
| 243 | Date: Dec 2014 | 270 | Date: Dec 2014 |
| 244 | KernelVersion: 4.0 | 271 | KernelVersion: 4.0 |
| 245 | Description: Specific uncompressed frame descriptors | 272 | Description: Specific uncompressed frame descriptors |
| 246 | 273 | ||
| 247 | bFrameIndex - unique id for this framedescriptor; | 274 | ========================= ===================================== |
| 248 | only defined after parent format is | 275 | bFrameIndex unique id for this framedescriptor; |
| 249 | linked into the streaming header; | 276 | only defined after parent format is |
| 250 | read-only | 277 | linked into the streaming header; |
| 251 | dwFrameInterval - indicates how frame interval can be | 278 | read-only |
| 252 | programmed; a number of values | 279 | dwFrameInterval indicates how frame interval can be |
| 253 | separated by newline can be specified | 280 | programmed; a number of values |
| 254 | dwDefaultFrameInterval - the frame interval the device would | 281 | separated by newline can be specified |
| 255 | like to use as default | 282 | dwDefaultFrameInterval the frame interval the device would |
| 256 | dwMaxVideoFrameBufferSize- the maximum number of bytes the | 283 | like to use as default |
| 257 | compressor will produce for a video | 284 | dwMaxVideoFrameBufferSize the maximum number of bytes the |
| 258 | frame or still image | 285 | compressor will produce for a video |
| 259 | dwMaxBitRate - the maximum bit rate at the shortest | 286 | frame or still image |
| 260 | frame interval in bps | 287 | dwMaxBitRate the maximum bit rate at the shortest |
| 261 | dwMinBitRate - the minimum bit rate at the longest | 288 | frame interval in bps |
| 262 | frame interval in bps | 289 | dwMinBitRate the minimum bit rate at the longest |
| 263 | wHeight - height of decoded bitmap frame in px | 290 | frame interval in bps |
| 264 | wWidth - width of decoded bitmam frame in px | 291 | wHeight height of decoded bitmap frame in px |
| 265 | bmCapabilities - still image support, fixed frame-rate | 292 | wWidth width of decoded bitmam frame in px |
| 266 | support | 293 | bmCapabilities still image support, fixed frame-rate |
| 294 | support | ||
| 295 | ========================= ===================================== | ||
| 267 | 296 | ||
| 268 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header | 297 | What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header |
| 269 | Date: Dec 2014 | 298 | Date: Dec 2014 |
| @@ -276,17 +305,20 @@ KernelVersion: 4.0 · 6 unmodified lines | |||
| 276 | Description: Specific streaming header descriptors | 305 | Description: Specific streaming header descriptors |
| 277 | 306 | ||
| 278 | All attributes read only: | 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 | a hardware trigger interrupt event | 311 | a hardware trigger interrupt event |
| 281 | bTriggerSupport - flag specifying if hardware | 312 | bTriggerSupport flag specifying if hardware |
| 282 | triggering is supported | 313 | triggering is supported |
| 283 | bStillCaptureMethod - method of still image caputre | 314 | bStillCaptureMethod method of still image caputre |
| 284 | supported | 315 | supported |
| 285 | bTerminalLink - id of the output terminal to which | 316 | bTerminalLink id of the output terminal to which |
| 286 | the video endpoint of this interface | 317 | the video endpoint of this interface |
| 287 | is connected | 318 | is connected |
| 288 | bmInfo - capabilities of this video streaming | 319 | bmInfo capabilities of this video streaming |
| 289 | interface | 320 | interface |
| 321 | ==================== ===================================== | ||
| 290 | 322 | ||
| 291 | What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name | 323 | What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name |
| 292 | Date: May 2018 | 324 | Date: May 2018 |
| @@ -23,7 +23,7 @@ error injections without having to know the details of the driver-specific · 22 unmodified lines | |||
| 23 | commands. | 23 | commands. |
| 24 | 24 | ||
| 25 | Note that the output of 'error-inj' shall be valid as input to 'error-inj'. | 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 | $ cat error-inj >einj.txt | 28 | $ cat error-inj >einj.txt |
| 29 | $ cat einj.txt >error-inj | 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 | The user can supply a bitmask value, each bit represents | 20 | The user can supply a bitmask value, each bit represents |
| 21 | a different engine to disable/enable its clock gating feature. | 21 | a different engine to disable/enable its clock gating feature. |
| 22 | The bitmask is composed of 20 bits: | 22 | The bitmask is composed of 20 bits: |
| 23 | 0 - 7 : DMA channels | 23 | |
| 24 | 8 - 11 : MME engines | 24 | ======= ============ |
| 25 | 12 - 19 : TPC engines | 25 | 0 - 7 DMA channels |
| 26 | 8 - 11 MME engines | ||
| 27 | 12 - 19 TPC engines | ||
| 28 | ======= ============ | ||
| 29 | |||
| 26 | The bit's location of a specific engine can be determined | 30 | The bit's location of a specific engine can be determined |
| 27 | using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values | 31 | using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values |
| 28 | are defined in uapi habanalabs.h file in enum gaudi_engine_id | 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 | the generic Linux user-space PCI mapping) because the DDR bar | 63 | the generic Linux user-space PCI mapping) because the DDR bar |
| 60 | is very small compared to the DDR memory and only the driver can | 64 | is very small compared to the DDR memory and only the driver can |
| 61 | move the bar before and after the transaction. | 65 | move the bar before and after the transaction. |
| 66 | |||
| 62 | If the IOMMU is disabled, it also allows the root user to read | 67 | If the IOMMU is disabled, it also allows the root user to read |
| 63 | or write from the host a device VA of a host mapped memory | 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 | the generic Linux user-space PCI mapping) because the DDR bar | 78 | the generic Linux user-space PCI mapping) because the DDR bar |
| 74 | is very small compared to the DDR memory and only the driver can | 79 | is very small compared to the DDR memory and only the driver can |
| 75 | move the bar before and after the transaction. | 80 | move the bar before and after the transaction. |
| 81 | |||
| 76 | If the IOMMU is disabled, it also allows the root user to read | 82 | If the IOMMU is disabled, it also allows the root user to read |
| 77 | or write from the host a device VA of a host mapped memory | 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 | General information like which GPE is assigned to the EC and whether | 6 | General information like which GPE is assigned to the EC and whether |
| 7 | the global lock should get used. | 7 | the global lock should get used. |
| 8 | Knowing the EC GPE one can watch the amount of HW events related to | 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 | /sys/firmware/acpi/interrupts/gpeXY | 10 | /sys/firmware/acpi/interrupts/gpeXY |
| 11 | 11 | ||
| 12 | The io file is binary and a userspace tool located here: | 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 | should get used to read out the 256 Embedded Controller registers | 14 | should get used to read out the 256 Embedded Controller registers |
| 15 | or writing to them. | 15 | or writing to them. |
| 16 | 16 | ||
| 17 | CAUTION: Do not write to the Embedded Controller if you don't know | 17 | CAUTION: |
| 18 | what you are doing! Rebooting afterwards also is a good idea. | 18 | Do not write to the Embedded Controller if you don't know |
| 19 | This can influence the way your machine is cooled and fans may | 19 | what you are doing! Rebooting afterwards also is a good idea. |
| 20 | not get switched on again after you did a wrong write. | 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 | Date: March 2019 | 2 | Date: March 2019 |
| 3 | KernelVersion: 5.3 | 3 | KernelVersion: 5.3 |
| 4 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | Returns N+1 bytes, where N is the number of Moxtet connected | 6 | Returns N+1 bytes, where N is the number of Moxtet connected |
| 7 | modules. The first byte is from the CPU board itself. | 7 | modules. The first byte is from the CPU board itself. |
| 8 | Example: 101214 | 8 | |
| 9 | 10: CPU board with SD card | 9 | Example:: |
| 10 | 12: 2 = PCIe module, 1 = IRQ not active | 10 | |
| 11 | 14: 4 = Peridot module, 1 = IRQ not active | 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 | What: /sys/kernel/debug/moxtet/output | 19 | What: /sys/kernel/debug/moxtet/output |
| 14 | Date: March 2019 | 20 | Date: March 2019 |
| @@ -17,7 +23,13 @@ Contact: Marek Behún <marek.behun@nic.cz> · 2 unmodified lines | |||
| 17 | Description: (RW) Read last written value to the shift registers, in | 23 | Description: (RW) Read last written value to the shift registers, in |
| 18 | hexadecimal, or write values to the shift registers, also | 24 | hexadecimal, or write values to the shift registers, also |
| 19 | in hexadecimal. | 25 | in hexadecimal. |
| 20 | Example: 0102 | 26 | |
| 21 | 01: 01 was last written, or is to be written, to the | 27 | Example:: |
| 22 | first module's shift register | 28 | |
| 23 | 02: the same for second module | 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 | Contact: Kent Yoder <key@linux.vnet.ibm.com> | 4 | Contact: Kent Yoder <key@linux.vnet.ibm.com> |
| 5 | Description: | 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 | arch/powerpc/crypto/nx. | 8 | arch/powerpc/crypto/nx. |
| 9 | 9 | ||
| 10 | Error Detection | 10 | Error Detection |
| 11 | =============== | 11 | =============== |
| 12 | 12 | ||
| 13 | errors: | 13 | errors: |
| 14 | - A u32 providing a total count of errors since the driver was loaded. The | 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. | 15 | only errors counted here are those returned from the hcall, H_COP_OP. |
| 16 | 16 | ||
| 17 | last_error: | 17 | last_error: |
| 18 | - The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not | 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). | 19 | recorded here (the hcall will retry until -EBUSY goes away). |
| 20 | 20 | ||
| 21 | last_error_pid: | 21 | last_error_pid: |
| 22 | - The process ID of the process who received the most recent error from the | 22 | The process ID of the process who received the most recent error from the |
| 23 | hcall. | 23 | hcall. |
| 24 | 24 | ||
| 25 | Device Use | 25 | Device Use |
| 26 | ========== | 26 | ========== |
| 27 | 27 | ||
| 28 | aes_bytes: | 28 | aes_bytes: |
| 29 | - The total number of bytes encrypted using AES in any of the driver's | 29 | The total number of bytes encrypted using AES in any of the driver's |
| 30 | supported modes. | 30 | supported modes. |
| 31 | 31 | ||
| 32 | aes_ops: | 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 | sha256_bytes: | 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 | sha256_ops: | 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 | sha512_bytes: | 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 | sha512_ops: | 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 | Contact: Thomas Maier <balagi@justmail.de> | 4 | Contact: Thomas Maier <balagi@justmail.de> |
| 5 | Description: | 5 | Description: |
| 6 | 6 | ||
| 7 | debugfs interface | ||
| 8 | ----------------- | ||
| 9 | |||
| 10 | The pktcdvd module (packet writing driver) creates | 7 | The pktcdvd module (packet writing driver) creates |
| 11 | these files in debugfs: | 8 | these files in debugfs: |
| 12 | 9 | ||
| 13 | /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ | 10 | /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ |
| 14 | info (0444) Lots of driver statistics and infos. | ||
| 15 | 11 | ||
| 16 | Example: | 12 | ==== ====== ==================================== |
| 17 | ------- | 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 | Date: Jun 2020 | 2 | Date: Jun 2020 |
| 3 | KernelVersion: 5.8 | 3 | KernelVersion: 5.8 |
| 4 | Contact: Marek Behún <marek.behun@nic.cz> | 4 | Contact: Marek Behún <marek.behun@nic.cz> |
| 5 | Description: (W) Message to sign with the ECDSA private key stored in | 5 | Description: |
| 6 | device's OTP. The message must be exactly 64 bytes (since | 6 | |
| 7 | this is intended for SHA-512 hashes). | 7 | ======= =========================================================== |
| 8 | (R) The resulting signature, 136 bytes. This contains the R and | 8 | (Write) Message to sign with the ECDSA private key stored in |
| 9 | S values of the ECDSA signature, both in big-endian format. | 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 | for writing, two for the type and at least a single byte of | 27 | for writing, two for the type and at least a single byte of |
| 28 | data. | 28 | data. |
| 29 | 29 | ||
| 30 | Example: | 30 | Example:: |
| 31 | // Request EC info type 3 (EC firmware build date) | 31 | |
| 32 | // Corresponds with sending type 0x00f0 with | 32 | // Request EC info type 3 (EC firmware build date) |
| 33 | // MBOX = [38, 00, 03, 00] | 33 | // Corresponds with sending type 0x00f0 with |
| 34 | $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw | 34 | // MBOX = [38, 00, 03, 00] |
| 35 | // View the result. The decoded ASCII result "12/21/18" is | 35 | $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw |
| 36 | // included after the raw hex. | 36 | // View the result. The decoded ASCII result "12/21/18" is |
| 37 | // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] | 37 | // included after the raw hex. |
| 38 | $ cat /sys/kernel/debug/wilco_ec/raw | 38 | // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] |
| 39 | 00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00 ..12/21/18.8... | 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 | Note that the first 16 bytes of the received MBOX[] will be | 42 | Note that the first 16 bytes of the received MBOX[] will be |
| 42 | printed, even if some of the data is junk, and skipping bytes | 43 | printed, even if some of the data is junk, and skipping bytes |
| @@ -10,29 +10,29 @@ Description: · 9 unmodified lines | |||
| 10 | <uapi/linux/wmi.h> | 10 | <uapi/linux/wmi.h> |
| 11 | 11 | ||
| 12 | 1) To perform an SMBIOS call from userspace, you'll need to | 12 | 1) To perform an SMBIOS call from userspace, you'll need to |
| 13 | first determine the minimum size of the calling interface | 13 | first determine the minimum size of the calling interface |
| 14 | buffer for your machine. | 14 | buffer for your machine. |
| 15 | Platforms that contain larger buffers can return larger | 15 | Platforms that contain larger buffers can return larger |
| 16 | objects from the system firmware. | 16 | objects from the system firmware. |
| 17 | Commonly this size is either 4k or 32k. | 17 | Commonly this size is either 4k or 32k. |
| 18 | 18 | ||
| 19 | To determine the size of the buffer read() a u64 dword from | 19 | To determine the size of the buffer read() a u64 dword from |
| 20 | the WMI character device /dev/wmi/dell-smbios. | 20 | the WMI character device /dev/wmi/dell-smbios. |
| 21 | 21 | ||
| 22 | 2) After you've determined the minimum size of the calling | 22 | 2) After you've determined the minimum size of the calling |
| 23 | interface buffer, you can allocate a structure that represents | 23 | interface buffer, you can allocate a structure that represents |
| 24 | the structure documented above. | 24 | the structure documented above. |
| 25 | 25 | ||
| 26 | 3) In the 'length' object store the size of the buffer you | 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 | 4) In this buffer object, prepare as necessary for the SMBIOS | 29 | 4) In this buffer object, prepare as necessary for the SMBIOS |
| 30 | call you're interested in. Typically SMBIOS buffers have | 30 | call you're interested in. Typically SMBIOS buffers have |
| 31 | "class", "select", and "input" defined to values that coincide | 31 | "class", "select", and "input" defined to values that coincide |
| 32 | with the data you are interested in. | 32 | with the data you are interested in. |
| 33 | Documenting class/select/input values is outside of the scope | 33 | Documenting class/select/input values is outside of the scope |
| 34 | of this documentation. Check with the libsmbios project for | 34 | of this documentation. Check with the libsmbios project for |
| 35 | further documentation on these values. | 35 | further documentation on these values. |
| 36 | 36 | ||
| 37 | 6) Run the call by using ioctl() as described in the header. | 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 | to the kernel's printk buffer. | 6 | to the kernel's printk buffer. |
| 7 | 7 | ||
| 8 | Injecting messages: | 8 | Injecting messages: |
| 9 | |||
| 9 | Every write() to the opened device node places a log entry in | 10 | Every write() to the opened device node places a log entry in |
| 10 | the kernel's printk buffer. | 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 | the messages can always be reliably determined. | 22 | the messages can always be reliably determined. |
| 22 | 23 | ||
| 23 | Accessing the buffer: | 24 | Accessing the buffer: |
| 25 | |||
| 24 | Every read() from the opened device node receives one record | 26 | Every read() from the opened device node receives one record |
| 25 | of the kernel's printk buffer. | 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 | if needed, without limiting the interface to a single reader. | 50 | if needed, without limiting the interface to a single reader. |
| 49 | 51 | ||
| 50 | The device supports seek with the following parameters: | 52 | The device supports seek with the following parameters: |
| 53 | |||
| 51 | SEEK_SET, 0 | 54 | SEEK_SET, 0 |
| 52 | seek to the first entry in the buffer | 55 | seek to the first entry in the buffer |
| 53 | SEEK_END, 0 | 56 | SEEK_END, 0 |
| @@ -87,18 +90,22 @@ Description: The /dev/kmsg character device node provides userspace access · 33 unmodified lines | |||
| 87 | readable context of the message, for reliable processing in | 90 | readable context of the message, for reliable processing in |
| 88 | userspace. | 91 | userspace. |
| 89 | 92 | ||
| 90 | Example: | 93 | Example:: |
| 91 | 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) | 94 | |
| 92 | SUBSYSTEM=acpi | 95 | 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) |
| 93 | DEVICE=+acpi:PNP0A03:00 | 96 | SUBSYSTEM=acpi |
| 94 | 6,339,5140900,-;NET: Registered protocol family 10 | 97 | DEVICE=+acpi:PNP0A03:00 |
| 95 | 30,340,5690716,-;udevd[80]: starting version 181 | 98 | 6,339,5140900,-;NET: Registered protocol family 10 |
| 99 | 30,340,5690716,-;udevd[80]: starting version 181 | ||
| 96 | 100 | ||
| 97 | The DEVICE= key uniquely identifies devices the following way: | 101 | The DEVICE= key uniquely identifies devices the following way: |
| 98 | b12:8 - block dev_t | 102 | |
| 99 | c127:3 - char dev_t | 103 | ============ ================= |
| 100 | n8 - netdev ifindex | 104 | b12:8 block dev_t |
| 101 | +sound:card0 - subsystem:devname | 105 | c127:3 char dev_t |
| 106 | n8 netdev ifindex | ||
| 107 | +sound:card0 subsystem:devname | ||
| 108 | ============ ================= | ||
| 102 | 109 | ||
| 103 | The flags field carries '-' by default. A 'c' indicates a | 110 | The flags field carries '-' by default. A 'c' indicates a |
| 104 | fragment of a line. Note, that these hints about continuation | 111 | fragment of a line. Note, that these hints about continuation |
| @@ -17,26 +17,33 @@ Description: · 16 unmodified lines | |||
| 17 | echoing a value to <securityfs>/evm made up of the | 17 | echoing a value to <securityfs>/evm made up of the |
| 18 | following bits: | 18 | following bits: |
| 19 | 19 | ||
| 20 | === ================================================== | ||
| 20 | Bit Effect | 21 | Bit Effect |
| 22 | === ================================================== | ||
| 21 | 0 Enable HMAC validation and creation | 23 | 0 Enable HMAC validation and creation |
| 22 | 1 Enable digital signature validation | 24 | 1 Enable digital signature validation |
| 23 | 2 Permit modification of EVM-protected metadata at | 25 | 2 Permit modification of EVM-protected metadata at |
| 24 | runtime. Not supported if HMAC validation and | 26 | runtime. Not supported if HMAC validation and |
| 25 | creation is enabled. | 27 | creation is enabled. |
| 26 | 31 Disable further runtime modification of EVM policy | 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 | will enable HMAC validation and creation | 35 | will enable HMAC validation and creation |
| 33 | 36 | ||
| 34 | echo 0x80000003 ><securityfs>/evm | 37 | :: |
| 38 | |||
| 39 | echo 0x80000003 ><securityfs>/evm | ||
| 35 | 40 | ||
| 36 | will enable HMAC and digital signature validation and | 41 | will enable HMAC and digital signature validation and |
| 37 | HMAC creation and disable all further modification of policy. | 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 | will enable digital signature validation, permit | 48 | will enable digital signature validation, permit |
| 42 | modification of EVM-protected metadata and | 49 | modification of EVM-protected metadata and |
| @@ -65,7 +72,7 @@ Description: · 22 unmodified lines | |||
| 65 | Shows the set of extended attributes used to calculate or | 72 | Shows the set of extended attributes used to calculate or |
| 66 | validate the EVM signature, and allows additional attributes | 73 | validate the EVM signature, and allows additional attributes |
| 67 | to be added at runtime. Any signatures generated after | 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 | additional attributes) will only be valid if the same | 76 | additional attributes) will only be valid if the same |
| 70 | additional attributes are configured on system boot. Writing | 77 | additional attributes are configured on system boot. Writing |
| 71 | a single period (.) will lock the xattr list from any further | 78 | a single period (.) will lock the xattr list from any further |
| @@ -12,15 +12,16 @@ Description: · 11 unmodified lines | |||
| 12 | The following file operations are supported: | 12 | The following file operations are supported: |
| 13 | 13 | ||
| 14 | open(2) | 14 | open(2) |
| 15 | Currently the only useful flags are O_RDWR. | 15 | Currently the only useful flags are O_RDWR. |
| 16 | 16 | ||
| 17 | ioctl(2) | 17 | ioctl(2) |
| 18 | Initiate various actions. | 18 | Initiate various actions. |
| 19 | See the inline documentation in [include/uapi]<linux/gpio.h> | 19 | |
| 20 | for descriptions of all ioctls. | 20 | See the inline documentation in [include/uapi]<linux/gpio.h> |
| 21 | for descriptions of all ioctls. | ||
| 21 | 22 | ||
| 22 | close(2) | 23 | close(2) |
| 23 | Stops and free up the I/O contexts that was associated | 24 | Stops and free up the I/O contexts that was associated |
| 24 | with the file descriptor. | 25 | with the file descriptor. |
| 25 | 26 | ||
| 26 | Users: TBD | 27 | Users: TBD |
| @@ -15,19 +15,22 @@ Description: · 14 unmodified lines | |||
| 15 | IMA appraisal, if configured, uses these file measurements | 15 | IMA appraisal, if configured, uses these file measurements |
| 16 | for local measurement appraisal. | 16 | for local measurement appraisal. |
| 17 | 17 | ||
| 18 | rule format: action [condition ...] | 18 | :: |
| 19 | 19 | ||
| 20 | action: measure | dont_measure | appraise | dont_appraise | | 20 | rule format: action [condition ...] |
| 21 | audit | hash | dont_hash | 21 | |
| 22 | condition:= base | lsm [option] | 22 | action: measure | dont_measure | appraise | dont_appraise | |
| 23 | audit | hash | dont_hash | ||
| 24 | condition:= base | lsm [option] | ||
| 23 | base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] | 25 | base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] |
| 24 | [euid=] [fowner=] [fsname=]] | 26 | [euid=] [fowner=] [fsname=]] |
| 25 | lsm: [[subj_user=] [subj_role=] [subj_type=] | 27 | lsm: [[subj_user=] [subj_role=] [subj_type=] |
| 26 | [obj_user=] [obj_role=] [obj_type=]] | 28 | [obj_user=] [obj_role=] [obj_type=]] |
| 27 | option: [[appraise_type=]] [template=] [permit_directio] | 29 | option: [[appraise_type=]] [template=] [permit_directio] |
| 28 | [appraise_flag=] [keyrings=] | 30 | [appraise_flag=] [keyrings=] |
| 29 | base: func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK] | 31 | base: |
| 30 | [FIRMWARE_CHECK] | 32 | func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK]MODULE_CHECK] |
| 33 | [FIRMWARE_CHECK] | ||
| 31 | [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK] | 34 | [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK] |
| 32 | [KEXEC_CMDLINE] [KEY_CHECK] | 35 | [KEXEC_CMDLINE] [KEY_CHECK] |
| 33 | mask:= [[^]MAY_READ] [[^]MAY_WRITE] [[^]MAY_APPEND] | 36 | mask:= [[^]MAY_READ] [[^]MAY_WRITE] [[^]MAY_APPEND] |
| @@ -37,8 +40,9 @@ Description: · 3 unmodified lines | |||
| 37 | uid:= decimal value | 40 | uid:= decimal value |
| 38 | euid:= decimal value | 41 | euid:= decimal value |
| 39 | fowner:= decimal value | 42 | fowner:= decimal value |
| 40 | lsm: are LSM specific | 43 | lsm: are LSM specific |
| 41 | option: appraise_type:= [imasig] [imasig|modsig] | 44 | option: |
| 45 | appraise_type:= [imasig] [imasig|modsig] | ||
| 42 | appraise_flag:= [check_blacklist] | 46 | appraise_flag:= [check_blacklist] |
| 43 | Currently, blacklist check is only for files signed with appended | 47 | Currently, blacklist check is only for files signed with appended |
| 44 | signature. | 48 | signature. |
| @@ -49,7 +53,7 @@ Description: · 4 unmodified lines | |||
| 49 | (eg, ima-ng). Only valid when action is "measure". | 53 | (eg, ima-ng). Only valid when action is "measure". |
| 50 | pcr:= decimal value | 54 | pcr:= decimal value |
| 51 | 55 | ||
| 52 | default policy: | 56 | default policy: |
| 53 | # PROC_SUPER_MAGIC | 57 | # PROC_SUPER_MAGIC |
| 54 | dont_measure fsmagic=0x9fa0 | 58 | dont_measure fsmagic=0x9fa0 |
| 55 | dont_appraise fsmagic=0x9fa0 | 59 | dont_appraise fsmagic=0x9fa0 |
| @@ -97,7 +101,8 @@ Description: · 41 unmodified lines | |||
| 97 | 101 | ||
| 98 | Examples of LSM specific definitions: | 102 | Examples of LSM specific definitions: |
| 99 | 103 | ||
| 100 | SELinux: | 104 | SELinux:: |
| 105 | |||
| 101 | dont_measure obj_type=var_log_t | 106 | dont_measure obj_type=var_log_t |
| 102 | dont_appraise obj_type=var_log_t | 107 | dont_appraise obj_type=var_log_t |
| 103 | dont_measure obj_type=auditd_log_t | 108 | dont_measure obj_type=auditd_log_t |
| @@ -105,10 +110,11 @@ Description: · 1 unmodified line | |||
| 105 | measure subj_user=system_u func=FILE_CHECK mask=MAY_READ | 110 | measure subj_user=system_u func=FILE_CHECK mask=MAY_READ |
| 106 | measure subj_role=system_r func=FILE_CHECK mask=MAY_READ | 111 | measure subj_role=system_r func=FILE_CHECK mask=MAY_READ |
| 107 | 112 | ||
| 108 | Smack: | 113 | Smack:: |
| 114 | |||
| 109 | measure subj_user=_ func=FILE_CHECK mask=MAY_READ | 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 | measure func=KEXEC_KERNEL_CHECK pcr=4 | 119 | measure func=KEXEC_KERNEL_CHECK pcr=4 |
| 114 | measure func=KEXEC_INITRAMFS_CHECK pcr=5 | 120 | measure func=KEXEC_INITRAMFS_CHECK pcr=5 |
| @@ -6,32 +6,38 @@ Description: · 5 unmodified lines | |||
| 6 | of block devices. Each line contains the following 14 | 6 | of block devices. Each line contains the following 14 |
| 7 | fields: | 7 | fields: |
| 8 | 8 | ||
| 9 | 1 - major number | 9 | == =================================== |
| 10 | 2 - minor mumber | 10 | 1 major number |
| 11 | 3 - device name | 11 | 2 minor mumber |
| 12 | 4 - reads completed successfully | 12 | 3 device name |
| 13 | 5 - reads merged | 13 | 4 reads completed successfully |
| 14 | 6 - sectors read | 14 | 5 reads merged |
| 15 | 7 - time spent reading (ms) | 15 | 6 sectors read |
| 16 | 8 - writes completed | 16 | 7 time spent reading (ms) |
| 17 | 9 - writes merged | 17 | 8 writes completed |
| 18 | 10 - sectors written | 18 | 9 writes merged |
| 19 | 11 - time spent writing (ms) | 19 | 10 sectors written |
| 20 | 12 - I/Os currently in progress | 20 | 11 time spent writing (ms) |
| 21 | 13 - time spent doing I/Os (ms) | 21 | 12 I/Os currently in progress |
| 22 | 14 - weighted time spent doing I/Os (ms) | 22 | 13 time spent doing I/Os (ms) |
| 23 | 14 weighted time spent doing I/Os (ms) | ||
| 24 | == =================================== | ||
| 23 | 25 | ||
| 24 | Kernel 4.18+ appends four more fields for discard | 26 | Kernel 4.18+ appends four more fields for discard |
| 25 | tracking putting the total at 18: | 27 | tracking putting the total at 18: |
| 26 | 28 | ||
| 27 | 15 - discards completed successfully | 29 | == =================================== |
| 28 | 16 - discards merged | 30 | 15 discards completed successfully |
| 29 | 17 - sectors discarded | 31 | 16 discards merged |
| 30 | 18 - time spent discarding | 32 | 17 sectors discarded |
| 33 | 18 time spent discarding | ||
| 34 | == =================================== | ||
| 31 | 35 | ||
| 32 | Kernel 5.5+ appends two more fields for flush requests: | 36 | Kernel 5.5+ appends two more fields for flush requests: |
| 33 | 37 | ||
| 34 | 19 - flush requests completed successfully | 38 | == ===================================== |
| 35 | 20 - time spent flushing | 39 | 19 flush requests completed successfully |
| 40 | 20 time spent flushing | ||
| 41 | == ===================================== | ||
| 36 | 42 | ||
| 37 | For more details refer to Documentation/admin-guide/iostats.rst | 43 | For more details refer to Documentation/admin-guide/iostats.rst |
| @@ -14,28 +14,28 @@ Description: · 13 unmodified lines | |||
| 14 | For more details, see Documentation/filesystems/proc.rst | 14 | For more details, see Documentation/filesystems/proc.rst |
| 15 | and the procfs man page. | 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] | 19 | 00100000-ff709000 ---p 00000000 00:00 0 [rollup] |
| 20 | Size: 1192 kB | 20 | Size: 1192 kB |
| 21 | KernelPageSize: 4 kB | 21 | KernelPageSize: 4 kB |
| 22 | MMUPageSize: 4 kB | 22 | MMUPageSize: 4 kB |
| 23 | Rss: 884 kB | 23 | Rss: 884 kB |
| 24 | Pss: 385 kB | 24 | Pss: 385 kB |
| 25 | Pss_Anon: 301 kB | 25 | Pss_Anon: 301 kB |
| 26 | Pss_File: 80 kB | 26 | Pss_File: 80 kB |
| 27 | Pss_Shmem: 4 kB | 27 | Pss_Shmem: 4 kB |
| 28 | Shared_Clean: 696 kB | 28 | Shared_Clean: 696 kB |
| 29 | Shared_Dirty: 0 kB | 29 | Shared_Dirty: 0 kB |
| 30 | Private_Clean: 120 kB | 30 | Private_Clean: 120 kB |
| 31 | Private_Dirty: 68 kB | 31 | Private_Dirty: 68 kB |
| 32 | Referenced: 884 kB | 32 | Referenced: 884 kB |
| 33 | Anonymous: 68 kB | 33 | Anonymous: 68 kB |
| 34 | LazyFree: 0 kB | 34 | LazyFree: 0 kB |
| 35 | AnonHugePages: 0 kB | 35 | AnonHugePages: 0 kB |
| 36 | ShmemPmdMapped: 0 kB | 36 | ShmemPmdMapped: 0 kB |
| 37 | Shared_Hugetlb: 0 kB | 37 | Shared_Hugetlb: 0 kB |
| 38 | Private_Hugetlb: 0 kB | 38 | Private_Hugetlb: 0 kB |
| 39 | Swap: 0 kB | 39 | Swap: 0 kB |
| 40 | SwapPss: 0 kB | 40 | SwapPss: 0 kB |
| 41 | Locked: 385 kB | 41 | Locked: 385 kB |
| @@ -9,25 +9,25 @@ Description: Generic interface to platform dependent persistent storage. · 8 unmodified lines | |||
| 9 | provide a generic interface to show records captured in | 9 | provide a generic interface to show records captured in |
| 10 | the dying moments. In the case of a panic the last part | 10 | the dying moments. In the case of a panic the last part |
| 11 | of the console log is captured, but other interesting | 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/ | 16 | $ ls -l /sys/fs/pstore/ |
| 17 | total 0 | 17 | total 0 |
| 18 | -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 | 18 | -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 |
| 19 | 19 | ||
| 20 | Different users of this interface will result in different | 20 | Different users of this interface will result in different |
| 21 | filename prefixes. Currently two are defined: | 21 | filename prefixes. Currently two are defined: |
| 22 | 22 | ||
| 23 | "dmesg" - saved console log | 23 | - "dmesg" - saved console log |
| 24 | "mce" - architecture dependent data from fatal h/w error | 24 | - "mce" - architecture dependent data from fatal h/w error |
| 25 | 25 | ||
| 26 | Once the information in a file has been read, removing | 26 | Once the information in a file has been read, removing |
| 27 | the file will signal to the underlying persistent storage | 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 | The expectation is that all files in /sys/fs/pstore/ | 32 | The expectation is that all files in /sys/fs/pstore/ |
| 33 | will be saved elsewhere and erased from persistent store | 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 | backends are available, the preferred backend may be | 44 | backends are available, the preferred backend may be |
| 45 | set by passing the pstore.backend= argument to the kernel at | 45 | set by passing the pstore.backend= argument to the kernel at |
| 46 | boot time. | 46 | boot time. |
| 47 | |||
| @@ -4,23 +4,27 @@ Contact: Jerome Marchand <jmarchan@redhat.com> · 3 unmodified lines | |||
| 4 | Description: | 4 | Description: |
| 5 | The /sys/block/<disk>/stat files displays the I/O | 5 | The /sys/block/<disk>/stat files displays the I/O |
| 6 | statistics of disk <disk>. They contain 11 fields: | 6 | statistics of disk <disk>. They contain 11 fields: |
| 7 | 1 - reads completed successfully | 7 | |
| 8 | 2 - reads merged | 8 | == ============================================== |
| 9 | 3 - sectors read | 9 | 1 reads completed successfully |
| 10 | 4 - time spent reading (ms) | 10 | 2 reads merged |
| 11 | 5 - writes completed | 11 | 3 sectors read |
| 12 | 6 - writes merged | 12 | 4 time spent reading (ms) |
| 13 | 7 - sectors written | 13 | 5 writes completed |
| 14 | 8 - time spent writing (ms) | 14 | 6 writes merged |
| 15 | 9 - I/Os currently in progress | 15 | 7 sectors written |
| 16 | 10 - time spent doing I/Os (ms) | 16 | 8 time spent writing (ms) |
| 17 | 11 - weighted time spent doing I/Os (ms) | 17 | 9 I/Os currently in progress |
| 18 | 12 - discards completed | 18 | 10 time spent doing I/Os (ms) |
| 19 | 13 - discards merged | 19 | 11 weighted time spent doing I/Os (ms) |
| 20 | 14 - sectors discarded | 20 | 12 discards completed |
| 21 | 15 - time spent discarding (ms) | 21 | 13 discards merged |
| 22 | 16 - flush requests completed | 22 | 14 sectors discarded |
| 23 | 17 - time spent flushing (ms) | 23 | 15 time spent discarding (ms) |
| 24 | 16 flush requests completed | ||
| 25 | 17 time spent flushing (ms) | ||
| 26 | == ============================================== | ||
| 27 | |||
| 24 | For more details refer Documentation/admin-guide/iostats.rst | 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 | It has the following valid values: | 9 | It has the following valid values: |
| 10 | 10 | ||
| 11 | == ======================================================== | ||
| 11 | 0 OFF - the LED is not activated on activity | 12 | 0 OFF - the LED is not activated on activity |
| 12 | 1 BLINK_ON - the LED blinks on every 10ms when activity is | 13 | 1 BLINK_ON - the LED blinks on every 10ms when activity is |
| 13 | detected. | 14 | detected. |
| 14 | 2 BLINK_OFF - the LED is on when idle, and blinks off | 15 | 2 BLINK_OFF - the LED is on when idle, and blinks off |
| 15 | every 10ms when activity is detected. | 16 | every 10ms when activity is detected. |
| 17 | == ======================================================== | ||
| 16 | 18 | ||
| 17 | Note that the user must turn sw_activity OFF it they wish to | 19 | Note that the user must turn sw_activity OFF it they wish to |
| 18 | control the activity LED via the em_message file. | 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 | is using the device. When "force" is used, the device is also unmapped | 9 | is using the device. When "force" is used, the device is also unmapped |
| 10 | when device is in use. All I/Os that are in progress will fail. | 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 | What: /sys/block/rnbd<N>/rnbd/state | 16 | What: /sys/block/rnbd<N>/rnbd/state |
| 17 | Date: Feb 2020 | 17 | Date: Feb 2020 |
| @@ -5,6 +5,7 @@ Description: · 4 unmodified lines | |||
| 5 | This attribute indicates the full path of ACPI namespace | 5 | This attribute indicates the full path of ACPI namespace |
| 6 | object associated with the device object. For example, | 6 | object associated with the device object. For example, |
| 7 | \_SB_.PCI0. | 7 | \_SB_.PCI0. |
| 8 | |||
| 8 | This file is not present for device objects representing | 9 | This file is not present for device objects representing |
| 9 | fixed ACPI hardware features (like power and sleep | 10 | fixed ACPI hardware features (like power and sleep |
| 10 | buttons). | 11 | buttons). |
| @@ -67,14 +68,16 @@ Description: · 56 unmodified lines | |||
| 67 | The return value is a decimal integer representing the device's | 68 | The return value is a decimal integer representing the device's |
| 68 | status bitmap: | 69 | status bitmap: |
| 69 | 70 | ||
| 70 | Bit [0] – Set if the device is present. | 71 | =========== ================================================== |
| 71 | Bit [1] – Set if the device is enabled and decoding its | 72 | Bit [0] Set if the device is present. |
| 72 | resources. | 73 | Bit [1] Set if the device is enabled and decoding its |
| 73 | Bit [2] – Set if the device should be shown in the UI. | 74 | resources. |
| 74 | Bit [3] – Set if the device is functioning properly (cleared if | 75 | Bit [2] Set if the device should be shown in the UI. |
| 75 | device failed its diagnostics). | 76 | Bit [3] Set if the device is functioning properly (cleared |
| 76 | Bit [4] – Set if the battery is present. | 77 | if device failed its diagnostics). |
| 77 | Bits [31:5] – Reserved (must be cleared) | 78 | Bit [4] Set if the battery is present. |
| 79 | Bits [31:5] Reserved (must be cleared) | ||
| 80 | =========== ================================================== | ||
| 78 | 81 | ||
| 79 | If bit [0] is clear, then bit 1 must also be clear (a device | 82 | If bit [0] is clear, then bit 1 must also be clear (a device |
| 80 | that is not present cannot be enabled). | 83 | that is not present cannot be enabled). |
| @@ -8,50 +8,50 @@ What: /sys/bus/coresight/devices/<cti-name>/powered · 7 unmodified lines | |||
| 8 | Date: March 2020 | 8 | Date: March 2020 |
| 9 | KernelVersion 5.7 | 9 | KernelVersion 5.7 |
| 10 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/ctmid | 13 | What: /sys/bus/coresight/devices/<cti-name>/ctmid |
| 14 | Date: March 2020 | 14 | Date: March 2020 |
| 15 | KernelVersion 5.7 | 15 | KernelVersion 5.7 |
| 16 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons | 19 | What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons |
| 20 | Date: March 2020 | 20 | Date: March 2020 |
| 21 | KernelVersion 5.7 | 21 | KernelVersion 5.7 |
| 22 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name | 25 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name |
| 26 | Date: March 2020 | 26 | Date: March 2020 |
| 27 | KernelVersion 5.7 | 27 | KernelVersion 5.7 |
| 28 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals | 31 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals |
| 32 | Date: March 2020 | 32 | Date: March 2020 |
| 33 | KernelVersion 5.7 | 33 | KernelVersion 5.7 |
| 34 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types | 37 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types |
| 38 | Date: March 2020 | 38 | Date: March 2020 |
| 39 | KernelVersion 5.7 | 39 | KernelVersion 5.7 |
| 40 | Contact: Mike Leach or Mathieu Poirier | 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 | from connected device <N> | 42 | from connected device <N> |
| 43 | 43 | ||
| 44 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals | 44 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals |
| 45 | Date: March 2020 | 45 | Date: March 2020 |
| 46 | KernelVersion 5.7 | 46 | KernelVersion 5.7 |
| 47 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types | 50 | What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types |
| 51 | Date: March 2020 | 51 | Date: March 2020 |
| 52 | KernelVersion 5.7 | 52 | KernelVersion 5.7 |
| 53 | Contact: Mike Leach or Mathieu Poirier | 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 | to connected device <N> | 55 | to connected device <N> |
| 56 | 56 | ||
| 57 | What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel | 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 | Date: March 2020 | 88 | Date: March 2020 |
| 89 | KernelVersion 5.7 | 89 | KernelVersion 5.7 |
| 90 | Contact: Mike Leach or Mathieu Poirier | 90 | Contact: Mike Leach or Mathieu Poirier |
| 91 | Description: (W) Write the INTACK register. | 91 | Description: (Write) Write the INTACK register. |
| 92 | 92 | ||
| 93 | What: /sys/bus/coresight/devices/<cti-name>/regs/appset | 93 | What: /sys/bus/coresight/devices/<cti-name>/regs/appset |
| 94 | Date: March 2020 | 94 | Date: March 2020 |
| @@ -101,99 +101,99 @@ What: /sys/bus/coresight/devices/<cti-name>/regs/appclear · 6 unmodified lines | |||
| 101 | Date: March 2020 | 101 | Date: March 2020 |
| 102 | KernelVersion 5.7 | 102 | KernelVersion 5.7 |
| 103 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse | 106 | What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse |
| 107 | Date: March 2020 | 107 | Date: March 2020 |
| 108 | KernelVersion 5.7 | 108 | KernelVersion 5.7 |
| 109 | Contact: Mike Leach or Mathieu Poirier | 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 | cycle. | 111 | cycle. |
| 112 | 112 | ||
| 113 | What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus | 113 | What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus |
| 114 | Date: March 2020 | 114 | Date: March 2020 |
| 115 | KernelVersion 5.7 | 115 | KernelVersion 5.7 |
| 116 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus | 119 | What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus |
| 120 | Date: March 2020 | 120 | Date: March 2020 |
| 121 | KernelVersion 5.7 | 121 | KernelVersion 5.7 |
| 122 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus | 125 | What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus |
| 126 | Date: March 2020 | 126 | Date: March 2020 |
| 127 | KernelVersion 5.7 | 127 | KernelVersion 5.7 |
| 128 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus | 131 | What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus |
| 132 | Date: March 2020 | 132 | Date: March 2020 |
| 133 | KernelVersion 5.7 | 133 | KernelVersion 5.7 |
| 134 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach | 137 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach |
| 138 | Date: March 2020 | 138 | Date: March 2020 |
| 139 | KernelVersion 5.7 | 139 | KernelVersion 5.7 |
| 140 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach | 143 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach |
| 144 | Date: March 2020 | 144 | Date: March 2020 |
| 145 | KernelVersion 5.7 | 145 | KernelVersion 5.7 |
| 146 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach | 149 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach |
| 150 | Date: March 2020 | 150 | Date: March 2020 |
| 151 | KernelVersion 5.7 | 151 | KernelVersion 5.7 |
| 152 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach | 155 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach |
| 156 | Date: March 2020 | 156 | Date: March 2020 |
| 157 | KernelVersion 5.7 | 157 | KernelVersion 5.7 |
| 158 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable | 161 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable |
| 162 | Date: March 2020 | 162 | Date: March 2020 |
| 163 | KernelVersion 5.7 | 163 | KernelVersion 5.7 |
| 164 | Contact: Mike Leach or Mathieu Poirier | 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 | channels through the gate (R). | 166 | channels through the gate (R). |
| 167 | 167 | ||
| 168 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable | 168 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable |
| 169 | Date: March 2020 | 169 | Date: March 2020 |
| 170 | KernelVersion 5.7 | 170 | KernelVersion 5.7 |
| 171 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set | 174 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set |
| 175 | Date: March 2020 | 175 | Date: March 2020 |
| 176 | KernelVersion 5.7 | 176 | KernelVersion 5.7 |
| 177 | Contact: Mike Leach or Mathieu Poirier | 177 | Contact: Mike Leach or Mathieu Poirier |
| 178 | Description: (W) Activate a single channel. | 178 | Description: (Write) Activate a single channel. |
| 179 | 179 | ||
| 180 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear | 180 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear |
| 181 | Date: March 2020 | 181 | Date: March 2020 |
| 182 | KernelVersion 5.7 | 182 | KernelVersion 5.7 |
| 183 | Contact: Mike Leach or Mathieu Poirier | 183 | Contact: Mike Leach or Mathieu Poirier |
| 184 | Description: (W) Deactivate a single channel. | 184 | Description: (Write) Deactivate a single channel. |
| 185 | 185 | ||
| 186 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse | 186 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse |
| 187 | Date: March 2020 | 187 | Date: March 2020 |
| 188 | KernelVersion 5.7 | 188 | KernelVersion 5.7 |
| 189 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered | 192 | What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered |
| 193 | Date: March 2020 | 193 | Date: March 2020 |
| 194 | KernelVersion 5.7 | 194 | KernelVersion 5.7 |
| 195 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable | 198 | What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable |
| 199 | Date: March 2020 | 199 | Date: March 2020 |
| @@ -205,13 +205,13 @@ What: /sys/bus/coresight/devices/<cti-name>/channels/chan_inuse · 5 unmodified lines | |||
| 205 | Date: March 2020 | 205 | Date: March 2020 |
| 206 | KernelVersion 5.7 | 206 | KernelVersion 5.7 |
| 207 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free | 210 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free |
| 211 | Date: March 2020 | 211 | Date: March 2020 |
| 212 | KernelVersion 5.7 | 212 | KernelVersion 5.7 |
| 213 | Contact: Mike Leach or Mathieu Poirier | 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 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel | 216 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel |
| 217 | Date: March 2020 | 217 | Date: March 2020 |
| @@ -224,18 +224,18 @@ What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in · 6 unmodified lines | |||
| 224 | Date: March 2020 | 224 | Date: March 2020 |
| 225 | KernelVersion 5.7 | 225 | KernelVersion 5.7 |
| 226 | Contact: Mike Leach or Mathieu Poirier | 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 | channel. | 228 | channel. |
| 229 | 229 | ||
| 230 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out | 230 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out |
| 231 | Date: March 2020 | 231 | Date: March 2020 |
| 232 | KernelVersion 5.7 | 232 | KernelVersion 5.7 |
| 233 | Contact: Mike Leach or Mathieu Poirier | 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 | channel. | 235 | channel. |
| 236 | 236 | ||
| 237 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset | 237 | What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset |
| 238 | Date: March 2020 | 238 | Date: March 2020 |
| 239 | KernelVersion 5.7 | 239 | KernelVersion 5.7 |
| 240 | Contact: Mike Leach or Mathieu Poirier | 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 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 4 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> |
| 5 | Description: (RW) Add/remove a sink from a trace path. There can be multiple | 5 | Description: (RW) Add/remove a sink from a trace path. There can be multiple |
| 6 | source for a single sink. | 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 | What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr | 12 | What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr |
| 10 | Date: November 2014 | 13 | Date: November 2014 |
| @@ -20,21 +23,21 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rdp · 9 unmodified lines | |||
| 20 | Date: March 2016 | 23 | Date: March 2016 |
| 21 | KernelVersion: 4.7 | 24 | KernelVersion: 4.7 |
| 22 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | 2. The value is read directly from HW register RDP, 0x004. | 27 | 2. The value is read directly from HW register RDP, 0x004. |
| 25 | 28 | ||
| 26 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts | 29 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts |
| 27 | Date: March 2016 | 30 | Date: March 2016 |
| 28 | KernelVersion: 4.7 | 31 | KernelVersion: 4.7 |
| 29 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | is read directly from HW register STS, 0x00C. | 34 | is read directly from HW register STS, 0x00C. |
| 32 | 35 | ||
| 33 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp | 36 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp |
| 34 | Date: March 2016 | 37 | Date: March 2016 |
| 35 | KernelVersion: 4.7 | 38 | KernelVersion: 4.7 |
| 36 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | that is used to read entries from the Trace RAM over the APB | 41 | that is used to read entries from the Trace RAM over the APB |
| 39 | interface. The value is read directly from HW register RRP, | 42 | interface. The value is read directly from HW register RRP, |
| 40 | 0x014. | 43 | 0x014. |
| @@ -43,7 +46,7 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rwp · 2 unmodified lines | |||
| 43 | Date: March 2016 | 46 | Date: March 2016 |
| 44 | KernelVersion: 4.7 | 47 | KernelVersion: 4.7 |
| 45 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | that is used to sets the write pointer to write entries from | 50 | that is used to sets the write pointer to write entries from |
| 48 | the CoreSight bus into the Trace RAM. The value is read directly | 51 | the CoreSight bus into the Trace RAM. The value is read directly |
| 49 | from HW register RWP, 0x018. | 52 | from HW register RWP, 0x018. |
| @@ -52,21 +55,21 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/trg · 2 unmodified lines | |||
| 52 | Date: March 2016 | 55 | Date: March 2016 |
| 53 | KernelVersion: 4.7 | 56 | KernelVersion: 4.7 |
| 54 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | read directly from HW register TRG, 0x01C. | 59 | read directly from HW register TRG, 0x01C. |
| 57 | 60 | ||
| 58 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl | 61 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl |
| 59 | Date: March 2016 | 62 | Date: March 2016 |
| 60 | KernelVersion: 4.7 | 63 | KernelVersion: 4.7 |
| 61 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | is read directly from HW register CTL, 0x020. | 66 | is read directly from HW register CTL, 0x020. |
| 64 | 67 | ||
| 65 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr | 68 | What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr |
| 66 | Date: March 2016 | 69 | Date: March 2016 |
| 67 | KernelVersion: 4.7 | 70 | KernelVersion: 4.7 |
| 68 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | register. The value is read directly from HW register FFSR, | 73 | register. The value is read directly from HW register FFSR, |
| 71 | 0x300. | 74 | 0x300. |
| 72 | 75 | ||
| @@ -74,6 +77,6 @@ What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffcr · 1 unmodified line | |||
| 74 | Date: March 2016 | 77 | Date: March 2016 |
| 75 | KernelVersion: 4.7 | 78 | KernelVersion: 4.7 |
| 76 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | register. The value is read directly from HW register FFCR, | 81 | register. The value is read directly from HW register FFCR, |
| 79 | 0x304. | 82 | 0x304. |
| @@ -146,28 +146,28 @@ What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_addr_cmp · 145 unmodified lines | |||
| 146 | Date: November 2014 | 146 | Date: November 2014 |
| 147 | KernelVersion: 3.19 | 147 | KernelVersion: 3.19 |
| 148 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | on a trace unit, as specified by bit 3:0 of register ETMCCR. | 150 | on a trace unit, as specified by bit 3:0 of register ETMCCR. |
| 151 | 151 | ||
| 152 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_cntr | 152 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_cntr |
| 153 | Date: November 2014 | 153 | Date: November 2014 |
| 154 | KernelVersion: 3.19 | 154 | KernelVersion: 3.19 |
| 155 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | as specified by bit 15:13 of register ETMCCR. | 157 | as specified by bit 15:13 of register ETMCCR. |
| 158 | 158 | ||
| 159 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_ctxid_cmp | 159 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_ctxid_cmp |
| 160 | Date: November 2014 | 160 | Date: November 2014 |
| 161 | KernelVersion: 3.19 | 161 | KernelVersion: 3.19 |
| 162 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | trace unit, as specified by bit 25:24 of register ETMCCR. | 164 | trace unit, as specified by bit 25:24 of register ETMCCR. |
| 165 | 165 | ||
| 166 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/reset | 166 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/reset |
| 167 | Date: November 2014 | 167 | Date: November 2014 |
| 168 | KernelVersion: 3.19 | 168 | KernelVersion: 3.19 |
| 169 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | to its boot configuration. | 171 | to its boot configuration. |
| 172 | 172 | ||
| 173 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_12_event | 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 | Date: November 2014 | 216 | Date: November 2014 |
| 217 | KernelVersion: 3.19 | 217 | KernelVersion: 3.19 |
| 218 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/sync_freq | 221 | What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/sync_freq |
| 222 | Date: November 2014 | 222 | Date: November 2014 |
| @@ -12,75 +12,75 @@ What: /sys/bus/coresight/devices/etm<N>/cpu · 11 unmodified lines | |||
| 12 | Date: April 2015 | 12 | Date: April 2015 |
| 13 | KernelVersion: 4.01 | 13 | KernelVersion: 4.01 |
| 14 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | What: /sys/bus/coresight/devices/etm<N>/nr_pe_cmp | 17 | What: /sys/bus/coresight/devices/etm<N>/nr_pe_cmp |
| 18 | Date: April 2015 | 18 | Date: April 2015 |
| 19 | KernelVersion: 4.01 | 19 | KernelVersion: 4.01 |
| 20 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | available for tracing. | 22 | available for tracing. |
| 23 | 23 | ||
| 24 | What: /sys/bus/coresight/devices/etm<N>/nr_addr_cmp | 24 | What: /sys/bus/coresight/devices/etm<N>/nr_addr_cmp |
| 25 | Date: April 2015 | 25 | Date: April 2015 |
| 26 | KernelVersion: 4.01 | 26 | KernelVersion: 4.01 |
| 27 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | available for tracing. | 29 | available for tracing. |
| 30 | 30 | ||
| 31 | What: /sys/bus/coresight/devices/etm<N>/nr_cntr | 31 | What: /sys/bus/coresight/devices/etm<N>/nr_cntr |
| 32 | Date: April 2015 | 32 | Date: April 2015 |
| 33 | KernelVersion: 4.01 | 33 | KernelVersion: 4.01 |
| 34 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | tracing. | 36 | tracing. |
| 37 | 37 | ||
| 38 | What: /sys/bus/coresight/devices/etm<N>/nr_ext_inp | 38 | What: /sys/bus/coresight/devices/etm<N>/nr_ext_inp |
| 39 | Date: April 2015 | 39 | Date: April 2015 |
| 40 | KernelVersion: 4.01 | 40 | KernelVersion: 4.01 |
| 41 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | What: /sys/bus/coresight/devices/etm<N>/numcidc | 44 | What: /sys/bus/coresight/devices/etm<N>/numcidc |
| 45 | Date: April 2015 | 45 | Date: April 2015 |
| 46 | KernelVersion: 4.01 | 46 | KernelVersion: 4.01 |
| 47 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | available for tracing. | 49 | available for tracing. |
| 50 | 50 | ||
| 51 | What: /sys/bus/coresight/devices/etm<N>/numvmidc | 51 | What: /sys/bus/coresight/devices/etm<N>/numvmidc |
| 52 | Date: April 2015 | 52 | Date: April 2015 |
| 53 | KernelVersion: 4.01 | 53 | KernelVersion: 4.01 |
| 54 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | for tracing. | 56 | for tracing. |
| 57 | 57 | ||
| 58 | What: /sys/bus/coresight/devices/etm<N>/nrseqstate | 58 | What: /sys/bus/coresight/devices/etm<N>/nrseqstate |
| 59 | Date: April 2015 | 59 | Date: April 2015 |
| 60 | KernelVersion: 4.01 | 60 | KernelVersion: 4.01 |
| 61 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | implemented. | 63 | implemented. |
| 64 | 64 | ||
| 65 | What: /sys/bus/coresight/devices/etm<N>/nr_resource | 65 | What: /sys/bus/coresight/devices/etm<N>/nr_resource |
| 66 | Date: April 2015 | 66 | Date: April 2015 |
| 67 | KernelVersion: 4.01 | 67 | KernelVersion: 4.01 |
| 68 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | available for tracing. | 70 | available for tracing. |
| 71 | 71 | ||
| 72 | What: /sys/bus/coresight/devices/etm<N>/nr_ss_cmp | 72 | What: /sys/bus/coresight/devices/etm<N>/nr_ss_cmp |
| 73 | Date: April 2015 | 73 | Date: April 2015 |
| 74 | KernelVersion: 4.01 | 74 | KernelVersion: 4.01 |
| 75 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | are available for tracing. | 77 | are available for tracing. |
| 78 | 78 | ||
| 79 | What: /sys/bus/coresight/devices/etm<N>/reset | 79 | What: /sys/bus/coresight/devices/etm<N>/reset |
| 80 | Date: April 2015 | 80 | Date: April 2015 |
| 81 | KernelVersion: 4.01 | 81 | KernelVersion: 4.01 |
| 82 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | to its boot configuration. | 84 | to its boot configuration. |
| 85 | 85 | ||
| 86 | What: /sys/bus/coresight/devices/etm<N>/mode | 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 | Date: December 2019 | 300 | Date: December 2019 |
| 301 | KernelVersion: 5.5 | 301 | KernelVersion: 5.5 |
| 302 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | comparator. | 304 | comparator. |
| 305 | 305 | ||
| 306 | What: /sys/bus/coresight/devices/etm<N>/sshot_idx | 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 | Date: December 2019 | 319 | Date: December 2019 |
| 320 | KernelVersion: 5.5 | 320 | KernelVersion: 5.5 |
| 321 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | status register. | 323 | status register. |
| 324 | 324 | ||
| 325 | What: /sys/bus/coresight/devices/etm<N>/sshot_pe_ctrl | 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 | Date: April 2015 | 333 | Date: April 2015 |
| 334 | KernelVersion: 4.01 | 334 | KernelVersion: 4.01 |
| 335 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value it taken directly from the HW. | 337 | The value it taken directly from the HW. |
| 338 | 338 | ||
| 339 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdcr | 339 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdcr |
| 340 | Date: April 2015 | 340 | Date: April 2015 |
| 341 | KernelVersion: 4.01 | 341 | KernelVersion: 4.01 |
| 342 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0x310). The value is taken directly from the HW. | 344 | (0x310). The value is taken directly from the HW. |
| 345 | 345 | ||
| 346 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdsr | 346 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdsr |
| 347 | Date: April 2015 | 347 | Date: April 2015 |
| 348 | KernelVersion: 4.01 | 348 | KernelVersion: 4.01 |
| 349 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0x314). The value is taken directly from the HW. | 351 | (0x314). The value is taken directly from the HW. |
| 352 | 352 | ||
| 353 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trclsr | 353 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trclsr |
| 354 | Date: April 2015 | 354 | Date: April 2015 |
| 355 | KernelVersion: 4.01 | 355 | KernelVersion: 4.01 |
| 356 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFB4). The value is taken directly from the HW. | 358 | (0xFB4). The value is taken directly from the HW. |
| 359 | 359 | ||
| 360 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus | 360 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus |
| 361 | Date: April 2015 | 361 | Date: April 2015 |
| 362 | KernelVersion: 4.01 | 362 | KernelVersion: 4.01 |
| 363 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFB8). The value is taken directly from the HW. | 365 | (0xFB8). The value is taken directly from the HW. |
| 366 | 366 | ||
| 367 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevid | 367 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevid |
| 368 | Date: April 2015 | 368 | Date: April 2015 |
| 369 | KernelVersion: 4.01 | 369 | KernelVersion: 4.01 |
| 370 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFC8). The value is taken directly from the HW. | 372 | (0xFC8). The value is taken directly from the HW. |
| 373 | 373 | ||
| 374 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevtype | 374 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevtype |
| 375 | Date: April 2015 | 375 | Date: April 2015 |
| 376 | KernelVersion: 4.01 | 376 | KernelVersion: 4.01 |
| 377 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFCC). The value is taken directly from the HW. | 379 | (0xFCC). The value is taken directly from the HW. |
| 380 | 380 | ||
| 381 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr0 | 381 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr0 |
| 382 | Date: April 2015 | 382 | Date: April 2015 |
| 383 | KernelVersion: 4.01 | 383 | KernelVersion: 4.01 |
| 384 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFE0). The value is taken directly from the HW. | 386 | (0xFE0). The value is taken directly from the HW. |
| 387 | 387 | ||
| 388 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr1 | 388 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr1 |
| 389 | Date: April 2015 | 389 | Date: April 2015 |
| 390 | KernelVersion: 4.01 | 390 | KernelVersion: 4.01 |
| 391 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFE4). The value is taken directly from the HW. | 393 | (0xFE4). The value is taken directly from the HW. |
| 394 | 394 | ||
| 395 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr2 | 395 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr2 |
| 396 | Date: April 2015 | 396 | Date: April 2015 |
| 397 | KernelVersion: 4.01 | 397 | KernelVersion: 4.01 |
| 398 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFE8). The value is taken directly from the HW. | 400 | (0xFE8). The value is taken directly from the HW. |
| 401 | 401 | ||
| 402 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr3 | 402 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr3 |
| 403 | Date: April 2015 | 403 | Date: April 2015 |
| 404 | KernelVersion: 4.01 | 404 | KernelVersion: 4.01 |
| 405 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0xFEC). The value is taken directly from the HW. | 407 | (0xFEC). The value is taken directly from the HW. |
| 408 | 408 | ||
| 409 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcconfig | 409 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trcconfig |
| 410 | Date: February 2016 | 410 | Date: February 2016 |
| 411 | KernelVersion: 4.07 | 411 | KernelVersion: 4.07 |
| 412 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | (0x010) as currently set by SW. | 414 | (0x010) as currently set by SW. |
| 415 | 415 | ||
| 416 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trctraceid | 416 | What: /sys/bus/coresight/devices/etm<N>/mgmt/trctraceid |
| 417 | Date: February 2016 | 417 | Date: February 2016 |
| 418 | KernelVersion: 4.07 | 418 | KernelVersion: 4.07 |
| 419 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr0 | 422 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr0 |
| 423 | Date: April 2015 | 423 | Date: April 2015 |
| 424 | KernelVersion: 4.01 | 424 | KernelVersion: 4.01 |
| 425 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is taken directly from the HW. | 427 | The value is taken directly from the HW. |
| 428 | 428 | ||
| 429 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr1 | 429 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr1 |
| 430 | Date: April 2015 | 430 | Date: April 2015 |
| 431 | KernelVersion: 4.01 | 431 | KernelVersion: 4.01 |
| 432 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is taken directly from the HW. | 434 | The value is taken directly from the HW. |
| 435 | 435 | ||
| 436 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr2 | 436 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr2 |
| 437 | Date: April 2015 | 437 | Date: April 2015 |
| 438 | KernelVersion: 4.01 | 438 | KernelVersion: 4.01 |
| 439 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | VMID, context ID and instuction address in the trace unit | 441 | VMID, context ID and instuction address in the trace unit |
| 442 | (0x1E8). The value is taken directly from the HW. | 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 | Date: April 2015 | 445 | Date: April 2015 |
| 446 | KernelVersion: 4.01 | 446 | KernelVersion: 4.01 |
| 447 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | available to the trace unit. See the Trace Macrocell | 449 | available to the trace unit. See the Trace Macrocell |
| 450 | architecture specification for more details (0x1E8). | 450 | architecture specification for more details (0x1E8). |
| 451 | The value is taken directly from the HW. | 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 | Date: April 2015 | 454 | Date: April 2015 |
| 455 | KernelVersion: 4.01 | 455 | KernelVersion: 4.01 |
| 456 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is taken directly from the HW. | 458 | The value is taken directly from the HW. |
| 459 | 459 | ||
| 460 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr5 | 460 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr5 |
| 461 | Date: April 2015 | 461 | Date: April 2015 |
| 462 | KernelVersion: 4.01 | 462 | KernelVersion: 4.01 |
| 463 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is taken directly from the HW. | 465 | The value is taken directly from the HW. |
| 466 | 466 | ||
| 467 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr8 | 467 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr8 |
| 468 | Date: April 2015 | 468 | Date: April 2015 |
| 469 | KernelVersion: 4.01 | 469 | KernelVersion: 4.01 |
| 470 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | trace stream. (0x180). The value is taken directly from the HW. | 472 | trace stream. (0x180). The value is taken directly from the HW. |
| 473 | 473 | ||
| 474 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr9 | 474 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr9 |
| 475 | Date: April 2015 | 475 | Date: April 2015 |
| 476 | KernelVersion: 4.01 | 476 | KernelVersion: 4.01 |
| 477 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | can use (0x184). The value is taken directly from the HW. | 479 | can use (0x184). The value is taken directly from the HW. |
| 480 | 480 | ||
| 481 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr10 | 481 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr10 |
| 482 | Date: April 2015 | 482 | Date: April 2015 |
| 483 | KernelVersion: 4.01 | 483 | KernelVersion: 4.01 |
| 484 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | can use (0x188). The value is taken directly from the HW. | 486 | can use (0x188). The value is taken directly from the HW. |
| 487 | 487 | ||
| 488 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr11 | 488 | What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr11 |
| 489 | Date: April 2015 | 489 | Date: April 2015 |
| 490 | KernelVersion: 4.01 | 490 | KernelVersion: 4.01 |
| 491 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | trace unit can use (0x18C). The value is taken directly from | 493 | trace unit can use (0x18C). The value is taken directly from |
| 494 | the HW. | 494 | the HW. |
| 495 | 495 | ||
| @@ -497,7 +497,7 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr12 · 1 unmodified line | |||
| 497 | Date: April 2015 | 497 | Date: April 2015 |
| 498 | KernelVersion: 4.01 | 498 | KernelVersion: 4.01 |
| 499 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | the trace unit can use (0x190). The value is taken directly | 501 | the trace unit can use (0x190). The value is taken directly |
| 502 | from the HW. | 502 | from the HW. |
| 503 | 503 | ||
| @@ -505,6 +505,6 @@ What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr13 · 1 unmodified line | |||
| 505 | Date: April 2015 | 505 | Date: April 2015 |
| 506 | KernelVersion: 4.01 | 506 | KernelVersion: 4.01 |
| 507 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | that the trace unit can use (0x194). The value is taken | 509 | that the trace unit can use (0x194). The value is taken |
| 510 | directly from the HW. | 510 | directly from the HW. |
| @@ -42,7 +42,7 @@ What: /sys/bus/coresight/devices/<memory_map>.stm/status · 41 unmodified lines | |||
| 42 | Date: April 2016 | 42 | Date: April 2016 |
| 43 | KernelVersion: 4.7 | 43 | KernelVersion: 4.7 |
| 44 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | layout and content is driver specific. | 46 | layout and content is driver specific. |
| 47 | 47 | ||
| 48 | What: /sys/bus/coresight/devices/<memory_map>.stm/traceid | 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 | Date: March 2016 | 11 | Date: March 2016 |
| 12 | KernelVersion: 4.7 | 12 | KernelVersion: 4.7 |
| 13 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is read directly from HW register RSZ, 0x004. | 15 | The value is read directly from HW register RSZ, 0x004. |
| 16 | 16 | ||
| 17 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts | 17 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts |
| 18 | Date: March 2016 | 18 | Date: March 2016 |
| 19 | KernelVersion: 4.7 | 19 | KernelVersion: 4.7 |
| 20 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | is read directly from HW register STS, 0x00C. | 22 | is read directly from HW register STS, 0x00C. |
| 23 | 23 | ||
| 24 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp | 24 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp |
| 25 | Date: March 2016 | 25 | Date: March 2016 |
| 26 | KernelVersion: 4.7 | 26 | KernelVersion: 4.7 |
| 27 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | that is used to read entries from the Trace RAM over the APB | 29 | that is used to read entries from the Trace RAM over the APB |
| 30 | interface. The value is read directly from HW register RRP, | 30 | interface. The value is read directly from HW register RRP, |
| 31 | 0x014. | 31 | 0x014. |
| @@ -34,7 +34,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rwp · 2 unmodified lines | |||
| 34 | Date: March 2016 | 34 | Date: March 2016 |
| 35 | KernelVersion: 4.7 | 35 | KernelVersion: 4.7 |
| 36 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | that is used to sets the write pointer to write entries from | 38 | that is used to sets the write pointer to write entries from |
| 39 | the CoreSight bus into the Trace RAM. The value is read directly | 39 | the CoreSight bus into the Trace RAM. The value is read directly |
| 40 | from HW register RWP, 0x018. | 40 | from HW register RWP, 0x018. |
| @@ -43,21 +43,21 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/trg · 2 unmodified lines | |||
| 43 | Date: March 2016 | 43 | Date: March 2016 |
| 44 | KernelVersion: 4.7 | 44 | KernelVersion: 4.7 |
| 45 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | read directly from HW register TRG, 0x01C. | 47 | read directly from HW register TRG, 0x01C. |
| 48 | 48 | ||
| 49 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl | 49 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl |
| 50 | Date: March 2016 | 50 | Date: March 2016 |
| 51 | KernelVersion: 4.7 | 51 | KernelVersion: 4.7 |
| 52 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | is read directly from HW register CTL, 0x020. | 54 | is read directly from HW register CTL, 0x020. |
| 55 | 55 | ||
| 56 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr | 56 | What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr |
| 57 | Date: March 2016 | 57 | Date: March 2016 |
| 58 | KernelVersion: 4.7 | 58 | KernelVersion: 4.7 |
| 59 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | register. The value is read directly from HW register FFSR, | 61 | register. The value is read directly from HW register FFSR, |
| 62 | 0x300. | 62 | 0x300. |
| 63 | 63 | ||
| @@ -65,7 +65,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffcr · 1 unmodified line | |||
| 65 | Date: March 2016 | 65 | Date: March 2016 |
| 66 | KernelVersion: 4.7 | 66 | KernelVersion: 4.7 |
| 67 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | register. The value is read directly from HW register FFCR, | 69 | register. The value is read directly from HW register FFCR, |
| 70 | 0x304. | 70 | 0x304. |
| 71 | 71 | ||
| @@ -73,7 +73,7 @@ What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/mode · 1 unmodified line | |||
| 73 | Date: March 2016 | 73 | Date: March 2016 |
| 74 | KernelVersion: 4.7 | 74 | KernelVersion: 4.7 |
| 75 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | indicate the mode the device has been configured to enact. The | 77 | indicate the mode the device has been configured to enact. The |
| 78 | The value is read directly from the MODE register, 0x028. | 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 | Date: March 2016 | 81 | Date: March 2016 |
| 82 | KernelVersion: 4.7 | 82 | KernelVersion: 4.7 |
| 83 | Contact: Mathieu Poirier <mathieu.poirier@linaro.org> | 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 | The value is read directly from the DEVID register, 0xFC8, | 85 | The value is read directly from the DEVID register, 0xFC8, |
| 86 | 86 | ||
| 87 | What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size | 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 | Description: Contains the ids of the channel paths used by this | 20 | Description: Contains the ids of the channel paths used by this |
| 21 | subchannel, as reported by the channel subsystem | 21 | subchannel, as reported by the channel subsystem |
| 22 | during subchannel recognition. | 22 | during subchannel recognition. |
| 23 | |||
| 23 | Note: This is an I/O-subchannel specific attribute. | 24 | Note: This is an I/O-subchannel specific attribute. |
| 24 | Users: s390-tools, HAL | 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 | channel subsystem when last queried by the common I/O | 32 | channel subsystem when last queried by the common I/O |
| 32 | layer (this implies that this attribute is not necessarily | 33 | layer (this implies that this attribute is not necessarily |
| 33 | in sync with the values current in the channel subsystem). | 34 | in sync with the values current in the channel subsystem). |
| 35 | |||
| 34 | Note: This is an I/O-subchannel specific attribute. | 36 | Note: This is an I/O-subchannel specific attribute. |
| 35 | Users: s390-tools, HAL | 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 | opt-out of driver binding using a driver_override name such as | 55 | opt-out of driver binding using a driver_override name such as |
| 54 | "none". Only a single driver may be specified in the override, | 56 | "none". Only a single driver may be specified in the override, |
| 55 | there is no support for parsing delimiters. | 57 | there is no support for parsing delimiters. |
| 58 | |||
| 56 | Note that unlike the mechanism of the same name for pci, this | 59 | Note that unlike the mechanism of the same name for pci, this |
| 57 | file does not allow to override basic matching rules. I.e., | 60 | file does not allow to override basic matching rules. I.e., |
| 58 | the driver must still match the subchannel type of the device. | 61 | the driver must still match the subchannel type of the device. |
| @@ -4,6 +4,7 @@ KernelVersion: 5.10 · 3 unmodified lines | |||
| 4 | Contact: Xu Yilun <yilun.xu@intel.com> | 4 | Contact: Xu Yilun <yilun.xu@intel.com> |
| 5 | Description: Read-only. It returns type of DFL FIU of the device. Now DFL | 5 | Description: Read-only. It returns type of DFL FIU of the device. Now DFL |
| 6 | supports 2 FIU types, 0 for FME, 1 for PORT. | 6 | supports 2 FIU types, 0 for FME, 1 for PORT. |
| 7 | |||
| 7 | Format: 0x%x | 8 | Format: 0x%x |
| 8 | 9 | ||
| 9 | What: /sys/bus/dfl/devices/dfl_dev.X/feature_id | 10 | What: /sys/bus/dfl/devices/dfl_dev.X/feature_id |
| @@ -12,4 +13,5 @@ KernelVersion: 5.10 · 2 unmodified lines | |||
| 12 | Contact: Xu Yilun <yilun.xu@intel.com> | 13 | Contact: Xu Yilun <yilun.xu@intel.com> |
| 13 | Description: Read-only. It returns feature identifier local to its DFL FIU | 14 | Description: Read-only. It returns feature identifier local to its DFL FIU |
| 14 | type. | 15 | type. |
| 16 | |||
| 15 | Format: 0x%x | 17 | Format: 0x%x |
| @@ -8,13 +8,13 @@ Description: Read-only. Attribute group to describe the magic bits · 7 unmodified lines | |||
| 8 | 8 | ||
| 9 | Each attribute under this group defines a bit range of the | 9 | Each attribute under this group defines a bit range of the |
| 10 | perf_event_attr.config. All supported attributes are listed | 10 | perf_event_attr.config. All supported attributes are listed |
| 11 | below. | 11 | below:: |
| 12 | 12 | ||
| 13 | event = "config:0-11" - event ID | 13 | event = "config:0-11" - event ID |
| 14 | evtype = "config:12-15" - event type | 14 | evtype = "config:12-15" - event type |
| 15 | portid = "config:16-23" - event source | 15 | portid = "config:16-23" - event source |
| 16 | 16 | ||
| 17 | For example, | 17 | For example:: |
| 18 | 18 | ||
| 19 | fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff" | 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 | All supported performance monitoring events are listed below. | 41 | All supported performance monitoring events are listed below. |
| 42 | 42 | ||
| 43 | Basic events (evtype=0x00) | 43 | Basic events (evtype=0x00):: |
| 44 | 44 | ||
| 45 | clock = "event=0x00,evtype=0x00,portid=0xff" | 45 | clock = "event=0x00,evtype=0x00,portid=0xff" |
| 46 | 46 | ||
| 47 | Cache events (evtype=0x01) | 47 | Cache events (evtype=0x01):: |
| 48 | 48 | ||
| 49 | cache_read_hit = "event=0x00,evtype=0x01,portid=0xff" | 49 | cache_read_hit = "event=0x00,evtype=0x01,portid=0xff" |
| 50 | cache_read_miss = "event=0x01,evtype=0x01,portid=0xff" | 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 | cache_rx_req_stall = "event=0x09,evtype=0x01,portid=0xff" | 59 | cache_rx_req_stall = "event=0x09,evtype=0x01,portid=0xff" |
| 60 | cache_eviction = "event=0x0a,evtype=0x01,portid=0xff" | 60 | cache_eviction = "event=0x0a,evtype=0x01,portid=0xff" |
| 61 | 61 | ||
| 62 | Fabric events (evtype=0x02) | 62 | Fabric events (evtype=0x02):: |
| 63 | 63 | ||
| 64 | fab_pcie0_read = "event=0x00,evtype=0x02,portid=0xff" | 64 | fab_pcie0_read = "event=0x00,evtype=0x02,portid=0xff" |
| 65 | fab_pcie0_write = "event=0x01,evtype=0x02,portid=0xff" | 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 | fab_port_mmio_read = "event=0x06,evtype=0x02,portid=?" | 78 | fab_port_mmio_read = "event=0x06,evtype=0x02,portid=?" |
| 79 | fab_port_mmio_write = "event=0x07,evtype=0x02,portid=?" | 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 | vtd_port_read_transaction = "event=0x00,evtype=0x03,portid=?" | 83 | vtd_port_read_transaction = "event=0x00,evtype=0x03,portid=?" |
| 84 | vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?" | 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 | vtd_port_devtlb_2m_fill = "event=0x05,evtype=0x03,portid=?" | 88 | vtd_port_devtlb_2m_fill = "event=0x05,evtype=0x03,portid=?" |
| 89 | vtd_port_devtlb_1g_fill = "event=0x06,evtype=0x03,portid=?" | 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 | vtd_sip_iotlb_4k_hit = "event=0x00,evtype=0x04,portid=0xff" | 93 | vtd_sip_iotlb_4k_hit = "event=0x00,evtype=0x04,portid=0xff" |
| 94 | vtd_sip_iotlb_2m_hit = "event=0x01,evtype=0x04,portid=0xff" | 94 | vtd_sip_iotlb_2m_hit = "event=0x01,evtype=0x04,portid=0xff" |
| @@ -10,7 +10,8 @@ Description: · 9 unmodified lines | |||
| 10 | name/value pairs. | 10 | name/value pairs. |
| 11 | 11 | ||
| 12 | Userspace must be prepared for the possibility that attributes | 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 | attr1 = 'config:0-23' | 15 | attr1 = 'config:0-23' |
| 15 | attr2 = 'config:0-7' | 16 | attr2 = 'config:0-7' |
| 16 | attr3 = 'config:12-35' | 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 | What: /sys/bus/event_source/devices/hv_24x7/interface/catalog | 26 | What: /sys/bus/event_source/devices/hv_24x7/interface/catalog |
| 2 | Date: February 2014 | 27 | Date: February 2014 |
| 3 | Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> | 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 | What: /sys/bus/event_source/devices/hv_gpci/interface/collect_privileged | 32 | What: /sys/bus/event_source/devices/hv_gpci/interface/collect_privileged |
| 2 | Date: February 2014 | 33 | Date: February 2014 |
| 3 | Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> | 34 | Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> |
| @@ -5,6 +36,7 @@ Description: · 1 unmodified line | |||
| 5 | '0' if the hypervisor is configured to forbid access to event | 36 | '0' if the hypervisor is configured to forbid access to event |
| 6 | counters being accumulated by other guests and to physical | 37 | counters being accumulated by other guests and to physical |
| 7 | domain event counters. | 38 | domain event counters. |
| 39 | |||
| 8 | '1' if that access is allowed. | 40 | '1' if that access is allowed. |
| 9 | 41 | ||
| 10 | What: /sys/bus/event_source/devices/hv_gpci/interface/ga | 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 | Description: | 73 | Description: |
| 42 | A number indicating the latest version of the gpci interface | 74 | A number indicating the latest version of the gpci interface |
| 43 | that the kernel is aware of. | 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 | KernelVersion: TBD | 3 | KernelVersion: TBD |
| 4 | Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org | 4 | Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org |
| 5 | Description: The FCoE bus. Attributes in this directory are control interfaces. | 5 | Description: The FCoE bus. Attributes in this directory are control interfaces. |
| 6 | |||
| 6 | Attributes: | 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 | <ifname> to this file will allocate and populate sysfs with a | 11 | <ifname> to this file will allocate and populate sysfs with a |
| 10 | fcoe_ctlr_device (ctlr_X). The user can then configure any | 12 | fcoe_ctlr_device (ctlr_X). The user can then configure any |
| 11 | per-port settings and finally write to the fcoe_ctlr_device's | 13 | per-port settings and finally write to the fcoe_ctlr_device's |
| 12 | 'start' attribute to begin the kernel's discovery and login | 14 | 'start' attribute to begin the kernel's discovery and login |
| 13 | process. | 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 | fcoe_ctlr_device's sysfs name to this file will log the | 19 | fcoe_ctlr_device's sysfs name to this file will log the |
| 17 | fcoe_ctlr_device out of the fabric or otherwise connected | 20 | fcoe_ctlr_device out of the fabric or otherwise connected |
| 18 | FCoE devices. It will also free all kernel memory allocated | 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 | Attributes: | 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 | this value will change the dev_loss_tmo for all | 40 | this value will change the dev_loss_tmo for all |
| 37 | FCFs discovered by this controller. | 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 | modes are 'Fabric' and 'VN2VN'. If a FCoE Controller | 45 | modes are 'Fabric' and 'VN2VN'. If a FCoE Controller |
| 41 | is started in 'Fabric' mode then FIP FCF discovery is | 46 | is started in 'Fabric' mode then FIP FCF discovery is |
| 42 | initiated and ultimately a fabric login is attempted. | 47 | initiated and ultimately a fabric login is attempted. |
| @@ -44,23 +49,30 @@ Attributes: · 1 unmodified line | |||
| 44 | FIP VN2VN discovery and login is performed. A FCoE | 49 | FIP VN2VN discovery and login is performed. A FCoE |
| 45 | Controller only supports one mode at a time. | 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 | 0 if disabled, 1 if enabled. Writing either 0 or 1 | 54 | 0 if disabled, 1 if enabled. Writing either 0 or 1 |
| 49 | to this file will enable or disable the FCoE controller. | 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 | failure count. | 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 | Initialization Protocol (FIP) Keep-Alives (FKA). | 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 | Services error count. | 76 | Services error count. |
| 65 | 77 | ||
| 66 | Notes: ctlr_X (global increment starting at 0) | 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 | Fibre Channel frames into a FC fabric. It can also take | 87 | Fibre Channel frames into a FC fabric. It can also take |
| 76 | outbound FC frames and pack them in Ethernet packets to | 88 | outbound FC frames and pack them in Ethernet packets to |
| 77 | be sent to their destination on the Ethernet segment. | 89 | be sent to their destination on the Ethernet segment. |
| 90 | |||
| 78 | Attributes: | 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 | fabric. | 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 | 0 indicates that the switch will not be used. | 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 | fabric_state: The internal kernel state | 119 | fabric_state: The internal kernel state |
| 99 | "Unknown" - Initialization value | 120 | |
| 100 | "Disconnected" - No link to the FCF/fabric | 121 | - "Unknown" - Initialization value |
| 101 | "Connected" - Host is connected to the FCF | 122 | - "Disconnected" - No link to the FCF/fabric |
| 102 | "Deleted" - FCF is being removed from the system | 123 | - "Connected" - Host is connected to the FCF |
| 124 | - "Deleted" - FCF is being removed from the system | ||
| 103 | 125 | ||
| 104 | dev_loss_tmo: The device loss timeout period for this FCF. | 126 | dev_loss_tmo: The device loss timeout period for this FCF. |
| 105 | 127 | ||
| @@ -6,8 +6,10 @@ Description: · 5 unmodified lines | |||
| 6 | the driver to attempt to bind to the device found at | 6 | the driver to attempt to bind to the device found at |
| 7 | this location. The format for the location is Object.Id | 7 | this location. The format for the location is Object.Id |
| 8 | and is the same as found in /sys/bus/fsl-mc/devices/. | 8 | and is the same as found in /sys/bus/fsl-mc/devices/. |
| 9 | For example: | 9 | |
| 10 | # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind | 10 | For example:: |
| 11 | |||
| 12 | # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind | ||
| 11 | 13 | ||
| 12 | What: /sys/bus/fsl-mc/drivers/.../unbind | 14 | What: /sys/bus/fsl-mc/drivers/.../unbind |
| 13 | Date: December 2016 | 15 | Date: December 2016 |
| @@ -17,5 +19,7 @@ Description: · 3 unmodified lines | |||
| 17 | driver to attempt to unbind from the device found at | 19 | driver to attempt to unbind from the device found at |
| 18 | this location. The format for the location is Object.Id | 20 | this location. The format for the location is Object.Id |
| 19 | and is the same as found in /sys/bus/fsl-mc/devices/. | 21 | and is the same as found in /sys/bus/fsl-mc/devices/. |
| 20 | For example: | 22 | |
| 21 | # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind | 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 | Contact: Minkyu Kang <mk7.kang@samsung.com> | 3 | Contact: Minkyu Kang <mk7.kang@samsung.com> |
| 4 | Description: | 4 | Description: |
| 5 | show what device is attached | 5 | show what device is attached |
| 6 | NONE - no device | 6 | |
| 7 | USB - USB device is attached | 7 | ======= ====================== |
| 8 | UART - UART is attached | 8 | NONE no device |
| 9 | CHARGER - Charger is attaced | 9 | USB USB device is attached |
| 10 | JIG - JIG is attached | 10 | UART UART is attached |
| 11 | CHARGER Charger is attaced | ||
| 12 | JIG JIG is attached | ||
| 13 | ======= ====================== | ||
| 11 | 14 | ||
| 12 | What: /sys/bus/i2c/devices/.../switch | 15 | What: /sys/bus/i2c/devices/.../switch |
| 13 | Date: February 2011 | 16 | Date: February 2011 |
| 14 | Contact: Minkyu Kang <mk7.kang@samsung.com> | 17 | Contact: Minkyu Kang <mk7.kang@samsung.com> |
| 15 | Description: | 18 | Description: |
| 16 | show or set the state of manual switch | 19 | show or set the state of manual switch |
| 17 | VAUDIO - switch to VAUDIO path | 20 | |
| 18 | UART - switch to UART path | 21 | ======= ============================== |
| 19 | AUDIO - switch to AUDIO path | 22 | VAUDIO switch to VAUDIO path |
| 20 | DHOST - switch to DHOST path | 23 | UART switch to UART path |
| 21 | AUTO - switch automatically by device | 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 | Value that exists only for mux devices that can be | 6 | Value that exists only for mux devices that can be |
| 7 | written to control the behaviour of the multiplexer on | 7 | written to control the behaviour of the multiplexer on |
| 8 | idle. Possible values: | 8 | idle. Possible values: |
| 9 | -2 - disconnect on idle, i.e. deselect the last used | 9 | |
| 10 | channel, which is useful when there is a device | 10 | =========== =============================================== |
| 11 | with an address that conflicts with another | 11 | -2 disconnect on idle, i.e. deselect the last used |
| 12 | device on another mux on the same parent bus. | 12 | channel, which is useful when there is a device |
| 13 | -1 - leave the mux as-is, which is the most optimal | 13 | with an address that conflicts with another |
| 14 | setting in terms of I2C operations and is the | 14 | device on another mux on the same parent bus. |
| 15 | default mode. | 15 | -1 leave the mux as-is, which is the most optimal |
| 16 | 0..<nchans> - set the mux to a predetermined channel, | 16 | setting in terms of I2C operations and is the |
| 17 | which is useful if there is one channel that is | 17 | default mode. |
| 18 | used almost always, and you want to reduce the | 18 | 0..<nchans> set the mux to a predetermined channel, |
| 19 | latency for normal operations after rare | 19 | which is useful if there is one channel that is |
| 20 | transactions on other channels | 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 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". | 84 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". |
| 85 | See the I3C specification for more details about these HDR | 85 | See the I3C specification for more details about these HDR |
| 86 | modes. | 86 | modes. |
| 87 | |||
| 87 | This entry describes the HDRCAP of the master controller | 88 | This entry describes the HDRCAP of the master controller |
| 88 | driving the bus. | 89 | driving the bus. |
| 89 | 90 | ||
| @@ -135,6 +136,7 @@ Description: · 45 unmodified lines | |||
| 135 | Expose the HDR (High Data Rate) capabilities of a device. | 136 | Expose the HDR (High Data Rate) capabilities of a device. |
| 136 | Returns a list of supported HDR mode, each element is separated | 137 | Returns a list of supported HDR mode, each element is separated |
| 137 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". | 138 | by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". |
| 139 | |||
| 138 | See the I3C specification for more details about these HDR | 140 | See the I3C specification for more details about these HDR |
| 139 | modes. | 141 | modes. |
| 140 | 142 | ||
| @@ -15,6 +15,7 @@ Description: · 14 unmodified lines | |||
| 15 | based on hardware generated events (e.g. data ready) or | 15 | based on hardware generated events (e.g. data ready) or |
| 16 | provided by a separate driver for other hardware (e.g. | 16 | provided by a separate driver for other hardware (e.g. |
| 17 | periodic timer, GPIO or high resolution timer). | 17 | periodic timer, GPIO or high resolution timer). |
| 18 | |||
| 18 | Contains trigger type specific elements. These do not | 19 | Contains trigger type specific elements. These do not |
| 19 | generalize well and hence are not documented in this file. | 20 | generalize well and hence are not documented in this file. |
| 20 | X is the IIO index of the trigger. | 21 | X is the IIO index of the trigger. |
| @@ -65,6 +66,7 @@ Contact: linux-iio@vger.kernel.org · 44 unmodified lines | |||
| 65 | Description: | 66 | Description: |
| 66 | When the internal sampling clock can only take a specific set of | 67 | When the internal sampling clock can only take a specific set of |
| 67 | frequencies, we can specify the available values with: | 68 | frequencies, we can specify the available values with: |
| 69 | |||
| 68 | - a small discrete set of values like "0 2 4 6 8" | 70 | - a small discrete set of values like "0 2 4 6 8" |
| 69 | - a range with minimum, step and maximum frequencies like | 71 | - a range with minimum, step and maximum frequencies like |
| 70 | "[min step max]" | 72 | "[min step max]" |
| @@ -665,6 +667,7 @@ Description: · 594 unmodified lines | |||
| 665 | <type>[Y][_name]_<raw|input>_thresh_falling_value may take | 667 | <type>[Y][_name]_<raw|input>_thresh_falling_value may take |
| 666 | different values, but the device can only enable both thresholds | 668 | different values, but the device can only enable both thresholds |
| 667 | or neither. | 669 | or neither. |
| 670 | |||
| 668 | Note the driver will assume the last p events requested are | 671 | Note the driver will assume the last p events requested are |
| 669 | to be enabled where p is how many it supports (which may vary | 672 | to be enabled where p is how many it supports (which may vary |
| 670 | depending on the exact set requested. So if you want to be | 673 | depending on the exact set requested. So if you want to be |
| @@ -719,6 +722,7 @@ Description: · 48 unmodified lines | |||
| 719 | <type>[Y][_name]_<raw|input>_roc_falling_value may take | 722 | <type>[Y][_name]_<raw|input>_roc_falling_value may take |
| 720 | different values, but the device can only enable both rate of | 723 | different values, but the device can only enable both rate of |
| 721 | change thresholds or neither. | 724 | change thresholds or neither. |
| 725 | |||
| 722 | Note the driver will assume the last p events requested are | 726 | Note the driver will assume the last p events requested are |
| 723 | to be enabled where p is however many it supports (which may | 727 | to be enabled where p is however many it supports (which may |
| 724 | vary depending on the exact set requested. So if you want to be | 728 | vary depending on the exact set requested. So if you want to be |
| @@ -774,9 +778,11 @@ Description: · 49 unmodified lines | |||
| 774 | Specifies the value of threshold that the device is comparing | 778 | Specifies the value of threshold that the device is comparing |
| 775 | against for the events enabled by | 779 | against for the events enabled by |
| 776 | <type>Y[_name]_thresh[_rising|falling]_en. | 780 | <type>Y[_name]_thresh[_rising|falling]_en. |
| 781 | |||
| 777 | If separate attributes exist for the two directions, but | 782 | If separate attributes exist for the two directions, but |
| 778 | direction is not specified for this attribute, then a single | 783 | direction is not specified for this attribute, then a single |
| 779 | threshold value applies to both directions. | 784 | threshold value applies to both directions. |
| 785 | |||
| 780 | The raw or input element of the name indicates whether the | 786 | The raw or input element of the name indicates whether the |
| 781 | value is in raw device units or in processed units (as _raw | 787 | value is in raw device units or in processed units (as _raw |
| 782 | and _input do on sysfs direct channel read attributes). | 788 | and _input do on sysfs direct channel read attributes). |
| @@ -859,6 +865,7 @@ Description: · 76 unmodified lines | |||
| 859 | If separate attributes exist for the two directions, but | 865 | If separate attributes exist for the two directions, but |
| 860 | direction is not specified for this attribute, then a single | 866 | direction is not specified for this attribute, then a single |
| 861 | hysteresis value applies to both directions. | 867 | hysteresis value applies to both directions. |
| 868 | |||
| 862 | For falling events the hysteresis is added to the _value attribute for | 869 | For falling events the hysteresis is added to the _value attribute for |
| 863 | this event to get the upper threshold for when the event goes back to | 870 | this event to get the upper threshold for when the event goes back to |
| 864 | normal, for rising events the hysteresis is subtracted from the _value | 871 | normal, for rising events the hysteresis is subtracted from the _value |
| @@ -905,6 +912,7 @@ Description: · 40 unmodified lines | |||
| 905 | Specifies the value of rate of change threshold that the | 912 | Specifies the value of rate of change threshold that the |
| 906 | device is comparing against for the events enabled by | 913 | device is comparing against for the events enabled by |
| 907 | <type>[Y][_name]_roc[_rising|falling]_en. | 914 | <type>[Y][_name]_roc[_rising|falling]_en. |
| 915 | |||
| 908 | If separate attributes exist for the two directions, | 916 | If separate attributes exist for the two directions, |
| 909 | but direction is not specified for this attribute, | 917 | but direction is not specified for this attribute, |
| 910 | then a single threshold value applies to both directions. | 918 | then a single threshold value applies to both directions. |
| @@ -1304,6 +1312,7 @@ Description: · 393 unmodified lines | |||
| 1304 | Proximity measurement indicating that some | 1312 | Proximity measurement indicating that some |
| 1305 | object is near the sensor, usually by observing | 1313 | object is near the sensor, usually by observing |
| 1306 | reflectivity of infrared or ultrasound emitted. | 1314 | reflectivity of infrared or ultrasound emitted. |
| 1315 | |||
| 1307 | Often these sensors are unit less and as such conversion | 1316 | Often these sensors are unit less and as such conversion |
| 1308 | to SI units is not possible. Higher proximity measurements | 1317 | to SI units is not possible. Higher proximity measurements |
| 1309 | indicate closer objects, and vice versa. Units after | 1318 | indicate closer objects, and vice versa. Units after |
| @@ -1449,9 +1458,12 @@ Contact: linux-iio@vger.kernel.org · 139 unmodified lines | |||
| 1449 | Description: | 1458 | Description: |
| 1450 | A single positive integer specifying the maximum number of scan | 1459 | A single positive integer specifying the maximum number of scan |
| 1451 | elements to wait for. | 1460 | elements to wait for. |
| 1461 | |||
| 1452 | Poll will block until the watermark is reached. | 1462 | Poll will block until the watermark is reached. |
| 1463 | |||
| 1453 | Blocking read will wait until the minimum between the requested | 1464 | Blocking read will wait until the minimum between the requested |
| 1454 | read amount or the low water mark is available. | 1465 | read amount or the low water mark is available. |
| 1466 | |||
| 1455 | Non-blocking read will retrieve the available samples from the | 1467 | Non-blocking read will retrieve the available samples from the |
| 1456 | buffer even if there are less samples then watermark level. This | 1468 | buffer even if there are less samples then watermark level. This |
| 1457 | allows the application to block on poll with a timeout and read | 1469 | allows the application to block on poll with a timeout and read |
| @@ -1480,11 +1492,13 @@ Description: · 22 unmodified lines | |||
| 1480 | device settings allows it (e.g. if a trigger is set that samples | 1492 | device settings allows it (e.g. if a trigger is set that samples |
| 1481 | data differently that the hardware fifo does then hardware fifo | 1493 | data differently that the hardware fifo does then hardware fifo |
| 1482 | will not enabled). | 1494 | will not enabled). |
| 1495 | |||
| 1483 | If the hardware fifo is enabled and the level of the hardware | 1496 | If the hardware fifo is enabled and the level of the hardware |
| 1484 | fifo reaches the hardware fifo watermark level the device will | 1497 | fifo reaches the hardware fifo watermark level the device will |
| 1485 | flush its hardware fifo to the device buffer. Doing a non | 1498 | flush its hardware fifo to the device buffer. Doing a non |
| 1486 | blocking read on the device when no samples are present in the | 1499 | blocking read on the device when no samples are present in the |
| 1487 | device buffer will also force a flush. | 1500 | device buffer will also force a flush. |
| 1501 | |||
| 1488 | When the hardware fifo is enabled there is no need to use a | 1502 | When the hardware fifo is enabled there is no need to use a |
| 1489 | trigger to use buffer mode since the watermark settings | 1503 | trigger to use buffer mode since the watermark settings |
| 1490 | guarantees that the hardware fifo is flushed to the device | 1504 | guarantees that the hardware fifo is flushed to the device |
| @@ -1522,6 +1536,7 @@ Description: · 31 unmodified lines | |||
| 1522 | A single positive integer specifying the minimum watermark level | 1536 | A single positive integer specifying the minimum watermark level |
| 1523 | for the hardware fifo of this device. If the device does not | 1537 | for the hardware fifo of this device. If the device does not |
| 1524 | have a hardware fifo this entry is not present. | 1538 | have a hardware fifo this entry is not present. |
| 1539 | |||
| 1525 | If the user sets buffer/watermark to a value less than this one, | 1540 | If the user sets buffer/watermark to a value less than this one, |
| 1526 | then the hardware watermark will remain unset. | 1541 | then the hardware watermark will remain unset. |
| 1527 | 1542 | ||
| @@ -1532,6 +1547,7 @@ Description: · 4 unmodified lines | |||
| 1532 | A single positive integer specifying the maximum watermark level | 1547 | A single positive integer specifying the maximum watermark level |
| 1533 | for the hardware fifo of this device. If the device does not | 1548 | for the hardware fifo of this device. If the device does not |
| 1534 | have a hardware fifo this entry is not present. | 1549 | have a hardware fifo this entry is not present. |
| 1550 | |||
| 1535 | If the user sets buffer/watermark to a value greater than this | 1551 | If the user sets buffer/watermark to a value greater than this |
| 1536 | one, then the hardware watermark will be capped at this value. | 1552 | one, then the hardware watermark will be capped at this value. |
| 1537 | 1553 | ||
| @@ -1543,6 +1559,7 @@ Description: · 5 unmodified lines | |||
| 1543 | levels for the hardware fifo. This entry is optional and if it | 1559 | levels for the hardware fifo. This entry is optional and if it |
| 1544 | is not present it means that all the values between | 1560 | is not present it means that all the values between |
| 1545 | hwfifo_watermark_min and hwfifo_watermark_max are supported. | 1561 | hwfifo_watermark_min and hwfifo_watermark_max are supported. |
| 1562 | |||
| 1546 | If the user sets buffer/watermark to a value greater than | 1563 | If the user sets buffer/watermark to a value greater than |
| 1547 | hwfifo_watermak_min but not equal to any of the values in this | 1564 | hwfifo_watermak_min but not equal to any of the values in this |
| 1548 | list, the driver will chose an appropriate value for the | 1565 | list, the driver will chose an appropriate value for the |
| @@ -1604,7 +1621,8 @@ KernelVersion: 4.1.0 · 55 unmodified lines | |||
| 1604 | Contact: linux-iio@vger.kernel.org | 1621 | Contact: linux-iio@vger.kernel.org |
| 1605 | Description: | 1622 | Description: |
| 1606 | '1' (enable) or '0' (disable) specifying the enable | 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 | This ABI is especially applicable for humidity sensors | 1626 | This ABI is especially applicable for humidity sensors |
| 1609 | to heatup the device and get rid of any condensation | 1627 | to heatup the device and get rid of any condensation |
| 1610 | in some humidity environment | 1628 | in some humidity environment |
| @@ -1627,17 +1645,21 @@ Description: · 16 unmodified lines | |||
| 1627 | Mounting matrix for IIO sensors. This is a rotation matrix which | 1645 | Mounting matrix for IIO sensors. This is a rotation matrix which |
| 1628 | informs userspace about sensor chip's placement relative to the | 1646 | informs userspace about sensor chip's placement relative to the |
| 1629 | main hardware it is mounted on. | 1647 | main hardware it is mounted on. |
| 1648 | |||
| 1630 | Main hardware placement is defined according to the local | 1649 | Main hardware placement is defined according to the local |
| 1631 | reference frame related to the physical quantity the sensor | 1650 | reference frame related to the physical quantity the sensor |
| 1632 | measures. | 1651 | measures. |
| 1652 | |||
| 1633 | Given that the rotation matrix is defined in a board specific | 1653 | Given that the rotation matrix is defined in a board specific |
| 1634 | way (platform data and / or device-tree), the main hardware | 1654 | way (platform data and / or device-tree), the main hardware |
| 1635 | reference frame definition is left to the implementor's choice | 1655 | reference frame definition is left to the implementor's choice |
| 1636 | (see below for a magnetometer example). | 1656 | (see below for a magnetometer example). |
| 1657 | |||
| 1637 | Applications should apply this rotation matrix to samples so | 1658 | Applications should apply this rotation matrix to samples so |
| 1638 | that when main hardware reference frame is aligned onto local | 1659 | that when main hardware reference frame is aligned onto local |
| 1639 | reference frame, then sensor chip reference frame is also | 1660 | reference frame, then sensor chip reference frame is also |
| 1640 | perfectly aligned with it. | 1661 | perfectly aligned with it. |
| 1662 | |||
| 1641 | Matrix is a 3x3 unitary matrix and typically looks like | 1663 | Matrix is a 3x3 unitary matrix and typically looks like |
| 1642 | [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix | 1664 | [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix |
| 1643 | [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware | 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 | For example, a mounting matrix for a magnetometer sensor informs | 1668 | For example, a mounting matrix for a magnetometer sensor informs |
| 1647 | userspace about sensor chip's ORIENTATION relative to the main | 1669 | userspace about sensor chip's ORIENTATION relative to the main |
| 1648 | hardware. | 1670 | hardware. |
| 1671 | |||
| 1649 | More specifically, main hardware orientation is defined with | 1672 | More specifically, main hardware orientation is defined with |
| 1650 | respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where : | 1673 | respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where : |
| 1674 | |||
| 1651 | * Y is in the ground plane and positive towards magnetic North ; | 1675 | * Y is in the ground plane and positive towards magnetic North ; |
| 1652 | * X is in the ground plane, perpendicular to the North axis and | 1676 | * X is in the ground plane, perpendicular to the North axis and |
| 1653 | positive towards the East ; | 1677 | positive towards the East ; |
| @@ -1656,13 +1680,16 @@ Description: · 2 unmodified lines | |||
| 1656 | An implementor might consider that for a hand-held device, a | 1680 | An implementor might consider that for a hand-held device, a |
| 1657 | 'natural' orientation would be 'front facing camera at the top'. | 1681 | 'natural' orientation would be 'front facing camera at the top'. |
| 1658 | The main hardware reference frame could then be described as : | 1682 | The main hardware reference frame could then be described as : |
| 1683 | |||
| 1659 | * Y is in the plane of the screen and is positive towards the | 1684 | * Y is in the plane of the screen and is positive towards the |
| 1660 | top of the screen ; | 1685 | top of the screen ; |
| 1661 | * X is in the plane of the screen, perpendicular to Y axis, and | 1686 | * X is in the plane of the screen, perpendicular to Y axis, and |
| 1662 | positive towards the right hand side of the screen ; | 1687 | positive towards the right hand side of the screen ; |
| 1663 | * Z is perpendicular to the screen plane and positive out of the | 1688 | * Z is perpendicular to the screen plane and positive out of the |
| 1664 | screen. | 1689 | screen. |
| 1690 | |||
| 1665 | Another example for a quadrotor UAV might be : | 1691 | Another example for a quadrotor UAV might be : |
| 1692 | |||
| 1666 | * Y is in the plane of the propellers and positive towards the | 1693 | * Y is in the plane of the propellers and positive towards the |
| 1667 | front-view camera; | 1694 | front-view camera; |
| 1668 | * X is in the plane of the propellers, perpendicular to Y axis, | 1695 | * X is in the plane of the propellers, perpendicular to Y axis, |
| @@ -1704,6 +1731,7 @@ Description: · 35 unmodified lines | |||
| 1704 | This interface is deprecated; please use the Counter subsystem. | 1731 | This interface is deprecated; please use the Counter subsystem. |
| 1705 | 1732 | ||
| 1706 | A list of possible counting directions which are: | 1733 | A list of possible counting directions which are: |
| 1734 | |||
| 1707 | - "up" : counter device is increasing. | 1735 | - "up" : counter device is increasing. |
| 1708 | - "down": counter device is decreasing. | 1736 | - "down": counter device is decreasing. |
| 1709 | 1737 | ||
| @@ -5,7 +5,8 @@ Contact: Peter Rosin <peda@axentia.se> · 4 unmodified lines | |||
| 5 | Description: | 5 | Description: |
| 6 | The DAC is used to find the peak level of an alternating | 6 | The DAC is used to find the peak level of an alternating |
| 7 | voltage input signal by a binary search using the output | 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 | input +------>-------|+ \ | 12 | input +------>-------|+ \ |
| @@ -19,10 +20,12 @@ Description: · 7 unmodified lines | |||
| 19 | | irq|------<-------' | 20 | | irq|------<-------' |
| 20 | | | | 21 | | | |
| 21 | '-------' | 22 | '-------' |
| 23 | |||
| 22 | The boolean invert attribute (0/1) should be set when the | 24 | The boolean invert attribute (0/1) should be set when the |
| 23 | input signal is centered around the maximum value of the | 25 | input signal is centered around the maximum value of the |
| 24 | dac instead of zero. The envelope detector will search | 26 | dac instead of zero. The envelope detector will search |
| 25 | from below in this case and will also invert the result. | 27 | from below in this case and will also invert the result. |
| 28 | |||
| 26 | The edge/level of the interrupt is also switched to its | 29 | The edge/level of the interrupt is also switched to its |
| 27 | opposite value. | 30 | opposite value. |
| 28 | 31 | ||
| @@ -19,9 +19,11 @@ Description: · 18 unmodified lines | |||
| 19 | is separately set for "GND-Open" and "Supply-Open" modes. | 19 | is separately set for "GND-Open" and "Supply-Open" modes. |
| 20 | Channels 0..31 have common low threshold values, but could have different | 20 | Channels 0..31 have common low threshold values, but could have different |
| 21 | sensing_modes. | 21 | sensing_modes. |
| 22 | |||
| 22 | The low voltage threshold range is between 2..21V. | 23 | The low voltage threshold range is between 2..21V. |
| 23 | Hysteresis between low and high thresholds can not be lower then 2 and | 24 | Hysteresis between low and high thresholds can not be lower then 2 and |
| 24 | can not be odd. | 25 | can not be odd. |
| 26 | |||
| 25 | If falling threshold results hysteresis to odd value then rising | 27 | If falling threshold results hysteresis to odd value then rising |
| 26 | threshold is automatically subtracted by one. | 28 | threshold is automatically subtracted by one. |
| 27 | 29 | ||
| @@ -34,10 +36,13 @@ Description: · 6 unmodified lines | |||
| 34 | this value then the threshold rising event is pushed. | 36 | this value then the threshold rising event is pushed. |
| 35 | Depending on in_voltageY_sensing_mode the high voltage threshold | 37 | Depending on in_voltageY_sensing_mode the high voltage threshold |
| 36 | is separately set for "GND-Open" and "Supply-Open" modes. | 38 | is separately set for "GND-Open" and "Supply-Open" modes. |
| 39 | |||
| 37 | Channels 0..31 have common high threshold values, but could have different | 40 | Channels 0..31 have common high threshold values, but could have different |
| 38 | sensing_modes. | 41 | sensing_modes. |
| 42 | |||
| 39 | The high voltage threshold range is between 3..22V. | 43 | The high voltage threshold range is between 3..22V. |
| 40 | Hysteresis between low and high thresholds can not be lower then 2 and | 44 | Hysteresis between low and high thresholds can not be lower then 2 and |
| 41 | can not be odd. | 45 | can not be odd. |
| 46 | |||
| 42 | If rising threshold results hysteresis to odd value then falling | 47 | If rising threshold results hysteresis to odd value then falling |
| 43 | threshold is automatically appended by one. | 48 | threshold is automatically appended by one. |
| @@ -5,10 +5,13 @@ Description: · 4 unmodified lines | |||
| 5 | The STM32 ADC can be configured to use external trigger sources | 5 | The STM32 ADC can be configured to use external trigger sources |
| 6 | (e.g. timers, pwm or exti gpio). Then, it can be tuned to start | 6 | (e.g. timers, pwm or exti gpio). Then, it can be tuned to start |
| 7 | conversions on external trigger by either: | 7 | conversions on external trigger by either: |
| 8 | |||
| 8 | - "rising-edge" | 9 | - "rising-edge" |
| 9 | - "falling-edge" | 10 | - "falling-edge" |
| 10 | - "both-edges". | 11 | - "both-edges". |
| 12 | |||
| 11 | Reading returns current trigger polarity. | 13 | Reading returns current trigger polarity. |
| 14 | |||
| 12 | Writing value before enabling conversions sets trigger polarity. | 15 | Writing value before enabling conversions sets trigger polarity. |
| 13 | 16 | ||
| 14 | What: /sys/bus/iio/devices/triggerX/trigger_polarity_available | 17 | What: /sys/bus/iio/devices/triggerX/trigger_polarity_available |
| @@ -4,7 +4,7 @@ KernelVersion: 4.7 · 3 unmodified lines | |||
| 4 | Contact: linux-iio@vger.kernel.org | 4 | Contact: linux-iio@vger.kernel.org |
| 5 | Description: | 5 | Description: |
| 6 | Writing '1' will perform a FOC (Fast Online Calibration). The | 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 | entries. | 8 | entries. |
| 9 | 9 | ||
| 10 | What: /sys/bus/iio/devices/iio:deviceX/location | 10 | What: /sys/bus/iio/devices/iio:deviceX/location |
| @@ -3,14 +3,20 @@ KernelVersion: 4.14 · 2 unmodified lines | |||
| 3 | Contact: arnaud.pouliquen@st.com | 3 | Contact: arnaud.pouliquen@st.com |
| 4 | Description: | 4 | Description: |
| 5 | For audio purpose only. | 5 | For audio purpose only. |
| 6 | |||
| 6 | Used by audio driver to set/get the spi input frequency. | 7 | Used by audio driver to set/get the spi input frequency. |
| 8 | |||
| 7 | This is mandatory if DFSDM is slave on SPI bus, to | 9 | This is mandatory if DFSDM is slave on SPI bus, to |
| 8 | provide information on the SPI clock frequency during runtime | 10 | provide information on the SPI clock frequency during runtime |
| 9 | Notice that the SPI frequency should be a multiple of sample | 11 | Notice that the SPI frequency should be a multiple of sample |
| 10 | frequency to ensure the precision. | 12 | frequency to ensure the precision. |
| 11 | if DFSDM input is SPI master | 13 | |
| 14 | if DFSDM input is SPI master: | ||
| 15 | |||
| 12 | Reading SPI clkout frequency, | 16 | Reading SPI clkout frequency, |
| 13 | error on writing | 17 | error on writing |
| 18 | |||
| 14 | If DFSDM input is SPI Slave: | 19 | If DFSDM input is SPI Slave: |
| 20 | |||
| 15 | Reading returns value previously set. | 21 | Reading returns value previously set. |
| 16 | Writing value before starting conversions. | 22 | Writing value before starting conversions. |
| @@ -15,8 +15,11 @@ Description: · 14 unmodified lines | |||
| 15 | first object echoed in meters. Default value is 6.020. | 15 | first object echoed in meters. Default value is 6.020. |
| 16 | This setting limits the time the driver is waiting for a | 16 | This setting limits the time the driver is waiting for a |
| 17 | echo. | 17 | echo. |
| 18 | |||
| 18 | Showing the range of available values is represented as the | 19 | Showing the range of available values is represented as the |
| 19 | minimum value, the step and the maximum value, all enclosed | 20 | minimum value, the step and the maximum value, all enclosed |
| 20 | in square brackets. | 21 | in square brackets. |
| 21 | Example: | 22 | |
| 22 | [0.043 0.043 11.008] | 23 | Example:: |
| 24 | |||
| 25 | [0.043 0.043 11.008] | ||
| @@ -8,7 +8,9 @@ KernelVersion: 3.4.0 · 7 unmodified lines | |||
| 8 | Contact: linux-iio@vger.kernel.org | 8 | Contact: linux-iio@vger.kernel.org |
| 9 | Description: | 9 | Description: |
| 10 | Reading returns either '1' or '0'. | 10 | Reading returns either '1' or '0'. |
| 11 | |||
| 11 | '1' means that the clock in question is present. | 12 | '1' means that the clock in question is present. |
| 13 | |||
| 12 | '0' means that the clock is missing. | 14 | '0' means that the clock is missing. |
| 13 | 15 | ||
| 14 | What: /sys/bus/iio/devices/iio:deviceX/pllY_locked | 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 | KernelVersion: | 27 | KernelVersion: |
| 28 | Contact: linux-iio@vger.kernel.org | 28 | Contact: linux-iio@vger.kernel.org |
| 29 | Description: | 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 | 32 | out_altvoltage0_name: RF8x |
| 33 | out_altvoltage1_name: RFAUX8x | 33 | out_altvoltage1_name: RFAUX8x |
| 34 | out_altvoltage2_name: RF16x | 34 | out_altvoltage2_name: RF16x |
| 35 | out_altvoltage3_name: RF32x | 35 | out_altvoltage3_name: RF32x |
| 36 | 36 | ||
| 37 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown | 37 | What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown |
| 38 | KernelVersion: | 38 | KernelVersion: |
| @@ -6,10 +6,14 @@ Description: · 5 unmodified lines | |||
| 6 | Get measured values from the ADC for these stages. Y is the | 6 | Get measured values from the ADC for these stages. Y is the |
| 7 | specific stage number corresponding to datasheet stage names | 7 | specific stage number corresponding to datasheet stage names |
| 8 | as follows: | 8 | as follows: |
| 9 | 1 -> LED2 | 9 | |
| 10 | 2 -> ALED2/LED3 | 10 | == ========== |
| 11 | 3 -> LED1 | 11 | 1 LED2 |
| 12 | 4 -> ALED1/LED4 | 12 | 2 ALED2/LED3 |
| 13 | 3 LED1 | ||
| 14 | 4 ALED1/LED4 | ||
| 15 | == ========== | ||
| 16 | |||
| 13 | Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 | 17 | Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 |
| 14 | respectively which simply helper channels containing the | 18 | respectively which simply helper channels containing the |
| 15 | calculated difference in the value of stage 1 - 2 and 3 - 4. | 19 | calculated difference in the value of stage 1 - 2 and 3 - 4. |
| @@ -15,5 +15,7 @@ Description: · 14 unmodified lines | |||
| 15 | Scheme 0 has wider dynamic range, Scheme 1 proximity detection | 15 | Scheme 0 has wider dynamic range, Scheme 1 proximity detection |
| 16 | is less affected by the ambient IR noise variation. | 16 | is less affected by the ambient IR noise variation. |
| 17 | 17 | ||
| 18 | 0 Sensing IR from LED and ambient | 18 | == ============================================= |
| 19 | 1 Sensing IR from LED with ambient IR rejection | 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 | Contact: fabrice.gasnier@st.com | 17 | Contact: fabrice.gasnier@st.com |
| 18 | Description: | 18 | Description: |
| 19 | Configure the device counter quadrature modes: | 19 | Configure the device counter quadrature modes: |
| 20 | |||
| 20 | - non-quadrature: | 21 | - non-quadrature: |
| 21 | Encoder IN1 input servers as the count input (up | 22 | Encoder IN1 input servers as the count input (up |
| 22 | direction). | 23 | direction). |
| 24 | |||
| 23 | - quadrature: | 25 | - quadrature: |
| 24 | Encoder IN1 and IN2 inputs are mixed to get direction | 26 | Encoder IN1 and IN2 inputs are mixed to get direction |
| 25 | and count. | 27 | and count. |
| @@ -35,23 +37,26 @@ KernelVersion: 4.13 · 9 unmodified lines | |||
| 35 | Contact: fabrice.gasnier@st.com | 37 | Contact: fabrice.gasnier@st.com |
| 36 | Description: | 38 | Description: |
| 37 | Configure the device encoder/counter active edge: | 39 | Configure the device encoder/counter active edge: |
| 40 | |||
| 38 | - rising-edge | 41 | - rising-edge |
| 39 | - falling-edge | 42 | - falling-edge |
| 40 | - both-edges | 43 | - both-edges |
| 41 | 44 | ||
| 42 | In non-quadrature mode, device counts up on active edge. | 45 | In non-quadrature mode, device counts up on active edge. |
| 46 | |||
| 43 | In quadrature mode, encoder counting scenarios are as follows: | 47 | In quadrature mode, encoder counting scenarios are as follows: |
| 44 | ---------------------------------------------------------------- | 48 | |
| 49 | +---------+----------+--------------------+--------------------+ | ||
| 45 | | Active | Level on | IN1 signal | IN2 signal | | 50 | | Active | Level on | IN1 signal | IN2 signal | |
| 46 | | edge | opposite |------------------------------------------ | 51 | | edge | opposite +----------+---------+----------+---------+ |
| 47 | | | signal | Rising | Falling | Rising | Falling | | 52 | | | signal | Rising | Falling | Rising | Falling | |
| 48 | ---------------------------------------------------------------- | 53 | +---------+----------+----------+---------+----------+---------+ |
| 49 | | Rising | High -> | Down | - | Up | - | | 54 | | Rising | High -> | Down | - | Up | - | |
| 50 | | edge | Low -> | Up | - | Down | - | | 55 | | edge | Low -> | Up | - | Down | - | |
| 51 | ---------------------------------------------------------------- | 56 | +---------+----------+----------+---------+----------+---------+ |
| 52 | | Falling | High -> | - | Up | - | Down | | 57 | | Falling | High -> | - | Up | - | Down | |
| 53 | | edge | Low -> | - | Down | - | Up | | 58 | | edge | Low -> | - | Down | - | Up | |
| 54 | ---------------------------------------------------------------- | 59 | +---------+----------+----------+---------+----------+---------+ |
| 55 | | Both | High -> | Down | Up | Up | Down | | 60 | | Both | High -> | Down | Up | Up | Down | |
| 56 | | edges | Low -> | Up | Down | Down | Up | | 61 | | edges | Low -> | Up | Down | Down | Up | |
| 57 | ---------------------------------------------------------------- | 62 | +---------+----------+----------+---------+----------+---------+ |
| @@ -5,11 +5,16 @@ Contact: linux-iio@vger.kernel.org · 4 unmodified lines | |||
| 5 | Description: | 5 | Description: |
| 6 | Current configuration and available configurations | 6 | Current configuration and available configurations |
| 7 | for the bias current. | 7 | for the bias current. |
| 8 | normal - Normal measurement configurations (default) | 8 | |
| 9 | positivebias - Positive bias configuration | 9 | ============ ============================================ |
| 10 | negativebias - Negative bias configuration | 10 | normal Normal measurement configurations (default) |
| 11 | disabled - Only available on HMC5983. Disables magnetic | 11 | positivebias Positive bias configuration |
| 12 | negativebias Negative bias configuration | ||
| 13 | disabled Only available on HMC5983. Disables magnetic | ||
| 12 | sensor and enables temperature sensor. | 14 | sensor and enables temperature sensor. |
| 13 | Note: The effect of this configuration may vary | 15 | ============ ============================================ |
| 14 | according to the device. For exact documentation | 16 | |
| 15 | check the device's datasheet. | 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 | Open-circuit fault. The detection of open-circuit faults, | 5 | Open-circuit fault. The detection of open-circuit faults, |
| 6 | such as those caused by broken thermocouple wires. | 6 | such as those caused by broken thermocouple wires. |
| 7 | Reading returns either '1' or '0'. | 7 | Reading returns either '1' or '0'. |
| 8 | '1' = An open circuit such as broken thermocouple wires | 8 | |
| 9 | has been detected. | 9 | === ======================================================= |
| 10 | '0' = No open circuit or broken thermocouple wires are detected | 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 | What: /sys/bus/iio/devices/iio:deviceX/fault_ovuv | 15 | What: /sys/bus/iio/devices/iio:deviceX/fault_ovuv |
| 13 | KernelVersion: 5.1 | 16 | KernelVersion: 5.1 |
| @@ -18,7 +21,11 @@ Description: · 4 unmodified lines | |||
| 18 | cables by integrated MOSFETs at the T+ and T- inputs, and the | 21 | cables by integrated MOSFETs at the T+ and T- inputs, and the |
| 19 | BIAS output. These MOSFETs turn off when the input voltage is | 22 | BIAS output. These MOSFETs turn off when the input voltage is |
| 20 | negative or greater than VDD. | 23 | negative or greater than VDD. |
| 24 | |||
| 21 | Reading returns either '1' or '0'. | 25 | Reading returns either '1' or '0'. |
| 22 | '1' = The input voltage is negative or greater than VDD. | 26 | |
| 23 | '0' = The input voltage is positive and less than VDD (normal | 27 | === ======================================================= |
| 24 | state). | 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 | Contact: benjamin.gaignard@st.com | 3 | Contact: benjamin.gaignard@st.com |
| 4 | Description: | 4 | Description: |
| 5 | Reading returns the list possible master modes which are: | 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 | used as trigger output (TRGO). | 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 | as trigger output. | 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 | For instance a master timer can then be used | 16 | For instance a master timer can then be used |
| 12 | as a prescaler for a slave timer. | 17 | as a prescaler for a slave timer. |
| 13 | - "compare_pulse" : The trigger output send a positive pulse | 18 | - "compare_pulse" |
| 14 | when the CC1IF flag is to be set. | 19 | The trigger output send a positive pulse |
| 15 | - "OC1REF" : OC1REF signal is used as trigger output. | 20 | when the CC1IF flag is to be set. |
| 16 | - "OC2REF" : OC2REF signal is used as trigger output. | 21 | - "OC1REF" |
| 17 | - "OC3REF" : OC3REF signal is used as trigger output. | 22 | OC1REF signal is used as trigger output. |
| 18 | - "OC4REF" : OC4REF 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 | Additional modes (on TRGO2 only): | 30 | Additional modes (on TRGO2 only): |
| 20 | - "OC5REF" : OC5REF signal is used as trigger output. | 31 | |
| 21 | - "OC6REF" : OC6REF signal is used as trigger output. | 32 | - "OC5REF" |
| 33 | OC5REF signal is used as trigger output. | ||
| 34 | - "OC6REF" | ||
| 35 | OC6REF signal is used as trigger output. | ||
| 22 | - "compare_pulse_OC4REF": | 36 | - "compare_pulse_OC4REF": |
| 23 | OC4REF rising or falling edges generate pulses. | 37 | OC4REF rising or falling edges generate pulses. |
| 24 | - "compare_pulse_OC6REF": | 38 | - "compare_pulse_OC6REF": |
| 25 | OC6REF rising or falling edges generate pulses. | 39 | OC6REF rising or falling edges generate pulses. |
| 26 | - "compare_pulse_OC4REF_r_or_OC6REF_r": | 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 | - "compare_pulse_OC4REF_r_or_OC6REF_f": | 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 | - "compare_pulse_OC5REF_r_or_OC6REF_r": | 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 | - "compare_pulse_OC5REF_r_or_OC6REF_f": | 47 | - "compare_pulse_OC5REF_r_or_OC6REF_f": |
| 33 | OC5REF rising or OC6REF falling edges generate pulses. | 48 | OC5REF rising or OC6REF falling edges generate |
| 34 | 49 | pulses. | |
| 35 | +-----------+ +-------------+ +---------+ | 50 | |
| 36 | | Prescaler +-> | Counter | +-> | Master | TRGO(2) | 51 | :: |
| 37 | +-----------+ +--+--------+-+ |-> | Control +--> | 52 | |
| 38 | | | || +---------+ | 53 | +-----------+ +-------------+ +---------+ |
| 39 | +--v--------+-+ OCxREF || +---------+ | 54 | | Prescaler +-> | Counter | +-> | Master | TRGO(2) |
| 40 | | Chx compare +----------> | Output | ChX | 55 | +-----------+ +--+--------+-+ |-> | Control +--> |
| 41 | +-----------+-+ | | Control +--> | 56 | | | || +---------+ |
| 42 | . | | +---------+ | 57 | +--v--------+-+ OCxREF || +---------+ |
| 43 | . | | . | 58 | | Chx compare +----------> | Output | ChX |
| 44 | +-----------v-+ OC6REF | . | 59 | +-----------+-+ | | Control +--> |
| 45 | | Ch6 compare +---------+> | 60 | . | | +---------+ |
| 46 | +-------------+ | 61 | . | | . |
| 47 | 62 | +-----------v-+ OC6REF | . | |
| 48 | Example with: "compare_pulse_OC4REF_r_or_OC6REF_r": | 63 | | Ch6 compare +---------+> |
| 49 | 64 | +-------------+ | |
| 50 | X | 65 | |
| 51 | X X | 66 | Example with: "compare_pulse_OC4REF_r_or_OC6REF_r":: |
| 52 | X . . X | 67 | |
| 53 | X . . X | 68 | X |
| 54 | X . . X | 69 | X X |
| 55 | count X . . . . X | 70 | X . . X |
| 56 | . . . . | 71 | X . . X |
| 57 | . . . . | 72 | X . . X |
| 58 | +---------------+ | 73 | count X . . . . X |
| 59 | OC4REF | . . | | 74 | . . . . |
| 60 | +-+ . . +-+ | 75 | . . . . |
| 61 | . +---+ . | 76 | +---------------+ |
| 62 | OC6REF . | | . | 77 | OC4REF | . . | |
| 63 | +-------+ +-------+ | 78 | +-+ . . +-+ |
| 64 | +-+ +-+ | 79 | . +---+ . |
| 65 | TRGO2 | | | | | 80 | OC6REF . | | . |
| 66 | +-+ +---+ +---------+ | 81 | +-------+ +-------+ |
| 82 | +-+ +-+ | ||
| 83 | TRGO2 | | | | | ||
| 84 | +-+ +---+ +---------+ | ||
| 67 | 85 | ||
| 68 | What: /sys/bus/iio/devices/triggerX/master_mode | 86 | What: /sys/bus/iio/devices/triggerX/master_mode |
| 69 | KernelVersion: 4.11 | 87 | KernelVersion: 4.11 |
| @@ -104,6 +122,7 @@ Description: · 34 unmodified lines | |||
| 104 | Configure the device counter enable modes, in all case | 122 | Configure the device counter enable modes, in all case |
| 105 | counting direction is set by in_count0_count_direction | 123 | counting direction is set by in_count0_count_direction |
| 106 | attribute and the counter is clocked by the internal clock. | 124 | attribute and the counter is clocked by the internal clock. |
| 125 | |||
| 107 | always: | 126 | always: |
| 108 | Counter is always ON. | 127 | Counter is always ON. |
| 109 | 128 | ||
| @@ -10,10 +10,13 @@ Date: June 2015 · 9 unmodified lines | |||
| 10 | KernelVersion: 4.3 | 10 | KernelVersion: 4.3 |
| 11 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> | 11 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 12 | Description: (RO) Output port type: | 12 | Description: (RO) Output port type: |
| 13 | 0: not present, | 13 | |
| 14 | 1: MSU (Memory Storage Unit) | 14 | == ========================= |
| 15 | 2: CTP (Common Trace Port) | 15 | 0 not present, |
| 16 | 4: PTI (MIPI PTI). | 16 | 1 MSU (Memory Storage Unit) |
| 17 | 2 CTP (Common Trace Port) | ||
| 18 | 4 PTI (MIPI PTI). | ||
| 19 | == ========================= | ||
| 17 | 20 | ||
| 18 | What: /sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop | 21 | What: /sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop |
| 19 | Date: June 2015 | 22 | Date: June 2015 |
| @@ -9,11 +9,13 @@ Date: June 2015 · 8 unmodified lines | |||
| 9 | KernelVersion: 4.3 | 9 | KernelVersion: 4.3 |
| 10 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> | 10 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 11 | Description: (RW) Configure MSC operating mode: | 11 | Description: (RW) Configure MSC operating mode: |
| 12 | |||
| 12 | - "single", for contiguous buffer mode (high-order alloc); | 13 | - "single", for contiguous buffer mode (high-order alloc); |
| 13 | - "multi", for multiblock mode; | 14 | - "multi", for multiblock mode; |
| 14 | - "ExI", for DCI handler mode; | 15 | - "ExI", for DCI handler mode; |
| 15 | - "debug", for debug mode; | 16 | - "debug", for debug mode; |
| 16 | - any of the currently loaded buffer sinks. | 17 | - any of the currently loaded buffer sinks. |
| 18 | |||
| 17 | If operating mode changes, existing buffer is deallocated, | 19 | If operating mode changes, existing buffer is deallocated, |
| 18 | provided there are no active users and tracing is not enabled, | 20 | provided there are no active users and tracing is not enabled, |
| 19 | otherwise the write will fail. | 21 | otherwise the write will fail. |
| @@ -23,10 +25,12 @@ Date: June 2015 · 3 unmodified lines | |||
| 23 | KernelVersion: 4.3 | 25 | KernelVersion: 4.3 |
| 24 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> | 26 | Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| 25 | Description: (RW) Configure MSC buffer size for "single" or "multi" modes. | 27 | Description: (RW) Configure MSC buffer size for "single" or "multi" modes. |
| 28 | |||
| 26 | In single mode, this is a single number of pages, has to be | 29 | In single mode, this is a single number of pages, has to be |
| 27 | power of 2. In multiblock mode, this is a comma-separated list | 30 | power of 2. In multiblock mode, this is a comma-separated list |
| 28 | of numbers of pages for each window to be allocated. Number of | 31 | of numbers of pages for each window to be allocated. Number of |
| 29 | windows is not limited. | 32 | windows is not limited. |
| 33 | |||
| 30 | Writing to this file deallocates existing buffer (provided | 34 | Writing to this file deallocates existing buffer (provided |
| 31 | there are no active users and tracing is not enabled) and then | 35 | there are no active users and tracing is not enabled) and then |
| 32 | allocates a new one. | 36 | allocates a new one. |
| @@ -235,7 +235,8 @@ KernelVersion: 4.15 · 234 unmodified lines | |||
| 235 | Contact: Christian Gromm <christian.gromm@microchip.com> | 235 | Contact: Christian Gromm <christian.gromm@microchip.com> |
| 236 | Description: | 236 | Description: |
| 237 | This is to read back the configured direction of the channel. | 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 | 'tx', | 240 | 'tx', |
| 240 | 'rx' | 241 | 'rx' |
| 241 | Users: | 242 | Users: |
| @@ -246,7 +247,8 @@ KernelVersion: 4.15 · 4 unmodified lines | |||
| 246 | Contact: Christian Gromm <christian.gromm@microchip.com> | 247 | Contact: Christian Gromm <christian.gromm@microchip.com> |
| 247 | Description: | 248 | Description: |
| 248 | This is to read back the configured data type of the channel. | 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 | 'control', | 252 | 'control', |
| 251 | 'async', | 253 | 'async', |
| 252 | 'sync', | 254 | 'sync', |
| @@ -2,16 +2,16 @@ What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_description · 1 unmodified line | |||
| 2 | Date: March 2019 | 2 | Date: March 2019 |
| 3 | KernelVersion: 5.3 | 3 | KernelVersion: 5.3 |
| 4 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id | 7 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id |
| 8 | Date: March 2019 | 8 | Date: March 2019 |
| 9 | KernelVersion: 5.3 | 9 | KernelVersion: 5.3 |
| 10 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name | 13 | What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name |
| 14 | Date: March 2019 | 14 | Date: March 2019 |
| 15 | KernelVersion: 5.3 | 15 | KernelVersion: 5.3 |
| 16 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | Interface Table (NFIT)' section in the ACPI specification | 2 | Interface Table (NFIT)' section in the ACPI specification |
| 3 | (http://www.uefi.org/specifications) for more details. | 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 | The libnvdimm sub-system implements a common sysfs interface for | 7 | The libnvdimm sub-system implements a common sysfs interface for |
| 2 | platform nvdimm resources. See Documentation/driver-api/nvdimm/. | 8 | platform nvdimm resources. See Documentation/driver-api/nvdimm/. |
| @@ -11,19 +11,26 @@ Description: · 10 unmodified lines | |||
| 11 | at 'Documentation/powerpc/papr_hcalls.rst' . Below are | 11 | at 'Documentation/powerpc/papr_hcalls.rst' . Below are |
| 12 | the flags reported in this sysfs file: | 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 | survive a power cycle. | 16 | survive a power cycle. |
| 16 | * "flush_fail" : Indicates that NVDIMM contents | 17 | * "flush_fail" |
| 18 | Indicates that NVDIMM contents | ||
| 17 | couldn't be flushed during last | 19 | couldn't be flushed during last |
| 18 | shut-down event. | 20 | shut-down event. |
| 19 | * "restore_fail": Indicates that NVDIMM contents | 21 | * "restore_fail" |
| 22 | Indicates that NVDIMM contents | ||
| 20 | couldn't be restored during NVDIMM | 23 | couldn't be restored during NVDIMM |
| 21 | initialization. | 24 | initialization. |
| 22 | * "encrypted" : NVDIMM contents are encrypted. | 25 | * "encrypted" |
| 23 | * "smart_notify": There is health event for the NVDIMM. | 26 | NVDIMM contents are encrypted. |
| 24 | * "scrubbed" : Indicating that contents of the | 27 | * "smart_notify" |
| 28 | There is health event for the NVDIMM. | ||
| 29 | * "scrubbed" | ||
| 30 | Indicating that contents of the | ||
| 25 | NVDIMM have been scrubbed. | 31 | NVDIMM have been scrubbed. |
| 26 | * "locked" : Indicating that NVDIMM contents cant | 32 | * "locked" |
| 33 | Indicating that NVDIMM contents cant | ||
| 27 | be modified until next power cycle. | 34 | be modified until next power cycle. |
| 28 | 35 | ||
| 29 | What: /sys/bus/nd/devices/nmemX/papr/perf_stats | 36 | What: /sys/bus/nd/devices/nmemX/papr/perf_stats |
| @@ -51,4 +58,4 @@ Description: · 21 unmodified lines | |||
| 51 | * "MedWDur " : Media Write Duration | 58 | * "MedWDur " : Media Write Duration |
| 52 | * "CchRHCnt" : Cache Read Hit Count | 59 | * "CchRHCnt" : Cache Read Hit Count |
| 53 | * "CchWHCnt" : Cache Write Hit Count | 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 | this location. This is useful for overriding default | 7 | this location. This is useful for overriding default |
| 8 | bindings. The format for the location is: DDDD:BB:DD.F. | 8 | bindings. The format for the location is: DDDD:BB:DD.F. |
| 9 | That is Domain:Bus:Device.Function and is the same as | 9 | That is Domain:Bus:Device.Function and is the same as |
| 10 | found in /sys/bus/pci/devices/. For example: | 10 | found in /sys/bus/pci/devices/. For example:: |
| 11 | # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind | 11 | |
| 12 | # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind | ||
| 13 | |||
| 12 | (Note: kernels before 2.6.28 may require echo -n). | 14 | (Note: kernels before 2.6.28 may require echo -n). |
| 13 | 15 | ||
| 14 | What: /sys/bus/pci/drivers/.../unbind | 16 | What: /sys/bus/pci/drivers/.../unbind |
| @@ -20,8 +22,10 @@ Description: · 5 unmodified lines | |||
| 20 | this location. This may be useful when overriding default | 22 | this location. This may be useful when overriding default |
| 21 | bindings. The format for the location is: DDDD:BB:DD.F. | 23 | bindings. The format for the location is: DDDD:BB:DD.F. |
| 22 | That is Domain:Bus:Device.Function and is the same as | 24 | That is Domain:Bus:Device.Function and is the same as |
| 23 | found in /sys/bus/pci/devices/. For example: | 25 | found in /sys/bus/pci/devices/. For example:: |
| 24 | # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind | 26 | |
| 27 | # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind | ||
| 28 | |||
| 25 | (Note: kernels before 2.6.28 may require echo -n). | 29 | (Note: kernels before 2.6.28 may require echo -n). |
| 26 | 30 | ||
| 27 | What: /sys/bus/pci/drivers/.../new_id | 31 | What: /sys/bus/pci/drivers/.../new_id |
| @@ -38,8 +42,9 @@ Description: · 10 unmodified lines | |||
| 38 | Class, Class Mask, and Private Driver Data. The Vendor ID | 42 | Class, Class Mask, and Private Driver Data. The Vendor ID |
| 39 | and Device ID fields are required, the rest are optional. | 43 | and Device ID fields are required, the rest are optional. |
| 40 | Upon successfully adding an ID, the driver will probe | 44 | Upon successfully adding an ID, the driver will probe |
| 41 | for the device and attempt to bind to it. For example: | 45 | for the device and attempt to bind to it. For example:: |
| 42 | # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id | 46 | |
| 47 | # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id | ||
| 43 | 48 | ||
| 44 | What: /sys/bus/pci/drivers/.../remove_id | 49 | What: /sys/bus/pci/drivers/.../remove_id |
| 45 | Date: February 2009 | 50 | Date: February 2009 |
| @@ -54,8 +59,9 @@ Description: · 8 unmodified lines | |||
| 54 | required, the rest are optional. After successfully | 59 | required, the rest are optional. After successfully |
| 55 | removing an ID, the driver will no longer support the | 60 | removing an ID, the driver will no longer support the |
| 56 | device. This is useful to ensure auto probing won't | 61 | device. This is useful to ensure auto probing won't |
| 57 | match the driver to the device. For example: | 62 | match the driver to the device. For example:: |
| 58 | # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id | 63 | |
| 64 | # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id | ||
| 59 | 65 | ||
| 60 | What: /sys/bus/pci/rescan | 66 | What: /sys/bus/pci/rescan |
| 61 | Date: January 2009 | 67 | Date: January 2009 |
| @@ -1,6 +1,6 @@ | |||
| 1 | ========================== | ||
| 2 | PCIe Device AER statistics | 1 | PCIe Device AER statistics |
| 3 | ========================== | 2 | -------------------------- |
| 3 | |||
| 4 | These attributes show up under all the devices that are AER capable. These | 4 | These attributes show up under all the devices that are AER capable. These |
| 5 | statistical counters indicate the errors "as seen/reported by the device". | 5 | statistical counters indicate the errors "as seen/reported by the device". |
| 6 | Note that this may mean that if an endpoint is causing problems, the AER | 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 | PCI device using ERR_COR. Note that since multiple errors may | 17 | PCI device using ERR_COR. Note that since multiple errors may |
| 18 | be reported using a single ERR_COR message, thus | 18 | be reported using a single ERR_COR message, thus |
| 19 | TOTAL_ERR_COR at the end of the file may not match the actual | 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: | 20 | total of all the errors in the file. Sample output:: |
| 21 | ------------------------------------------------------------------------- | 21 | |
| 22 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable | 22 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable |
| 23 | Receiver Error 2 | 23 | Receiver Error 2 |
| 24 | Bad TLP 0 | 24 | Bad TLP 0 |
| 25 | Bad DLLP 0 | 25 | Bad DLLP 0 |
| 26 | RELAY_NUM Rollover 0 | 26 | RELAY_NUM Rollover 0 |
| 27 | Replay Timer Timeout 0 | 27 | Replay Timer Timeout 0 |
| 28 | Advisory Non-Fatal 0 | 28 | Advisory Non-Fatal 0 |
| 29 | Corrected Internal Error 0 | 29 | Corrected Internal Error 0 |
| 30 | Header Log Overflow 0 | 30 | Header Log Overflow 0 |
| 31 | TOTAL_ERR_COR 2 | 31 | TOTAL_ERR_COR 2 |
| 32 | ------------------------------------------------------------------------- | ||
| 33 | 32 | ||
| 34 | What: /sys/bus/pci/devices/<dev>/aer_dev_fatal | 33 | What: /sys/bus/pci/devices/<dev>/aer_dev_fatal |
| 35 | Date: July 2018 | 34 | Date: July 2018 |
| @@ -39,28 +38,27 @@ Description: List of uncorrectable fatal errors seen and reported by this · 3 unmodified lines | |||
| 39 | PCI device using ERR_FATAL. Note that since multiple errors may | 38 | PCI device using ERR_FATAL. Note that since multiple errors may |
| 40 | be reported using a single ERR_FATAL message, thus | 39 | be reported using a single ERR_FATAL message, thus |
| 41 | TOTAL_ERR_FATAL at the end of the file may not match the actual | 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: | 41 | total of all the errors in the file. Sample output:: |
| 43 | ------------------------------------------------------------------------- | 42 | |
| 44 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal | 43 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal |
| 45 | Undefined 0 | 44 | Undefined 0 |
| 46 | Data Link Protocol 0 | 45 | Data Link Protocol 0 |
| 47 | Surprise Down Error 0 | 46 | Surprise Down Error 0 |
| 48 | Poisoned TLP 0 | 47 | Poisoned TLP 0 |
| 49 | Flow Control Protocol 0 | 48 | Flow Control Protocol 0 |
| 50 | Completion Timeout 0 | 49 | Completion Timeout 0 |
| 51 | Completer Abort 0 | 50 | Completer Abort 0 |
| 52 | Unexpected Completion 0 | 51 | Unexpected Completion 0 |
| 53 | Receiver Overflow 0 | 52 | Receiver Overflow 0 |
| 54 | Malformed TLP 0 | 53 | Malformed TLP 0 |
| 55 | ECRC 0 | 54 | ECRC 0 |
| 56 | Unsupported Request 0 | 55 | Unsupported Request 0 |
| 57 | ACS Violation 0 | 56 | ACS Violation 0 |
| 58 | Uncorrectable Internal Error 0 | 57 | Uncorrectable Internal Error 0 |
| 59 | MC Blocked TLP 0 | 58 | MC Blocked TLP 0 |
| 60 | AtomicOp Egress Blocked 0 | 59 | AtomicOp Egress Blocked 0 |
| 61 | TLP Prefix Blocked Error 0 | 60 | TLP Prefix Blocked Error 0 |
| 62 | TOTAL_ERR_FATAL 0 | 61 | TOTAL_ERR_FATAL 0 |
| 63 | ------------------------------------------------------------------------- | ||
| 64 | 62 | ||
| 65 | What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal | 63 | What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal |
| 66 | Date: July 2018 | 64 | Date: July 2018 |
| @@ -70,32 +68,31 @@ Description: List of uncorrectable nonfatal errors seen and reported by this · 3 unmodified lines | |||
| 70 | PCI device using ERR_NONFATAL. Note that since multiple errors | 68 | PCI device using ERR_NONFATAL. Note that since multiple errors |
| 71 | may be reported using a single ERR_FATAL message, thus | 69 | may be reported using a single ERR_FATAL message, thus |
| 72 | TOTAL_ERR_NONFATAL at the end of the file may not match the | 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: | 71 | actual total of all the errors in the file. Sample output:: |
| 74 | ------------------------------------------------------------------------- | 72 | |
| 75 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal | 73 | localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal |
| 76 | Undefined 0 | 74 | Undefined 0 |
| 77 | Data Link Protocol 0 | 75 | Data Link Protocol 0 |
| 78 | Surprise Down Error 0 | 76 | Surprise Down Error 0 |
| 79 | Poisoned TLP 0 | 77 | Poisoned TLP 0 |
| 80 | Flow Control Protocol 0 | 78 | Flow Control Protocol 0 |
| 81 | Completion Timeout 0 | 79 | Completion Timeout 0 |
| 82 | Completer Abort 0 | 80 | Completer Abort 0 |
| 83 | Unexpected Completion 0 | 81 | Unexpected Completion 0 |
| 84 | Receiver Overflow 0 | 82 | Receiver Overflow 0 |
| 85 | Malformed TLP 0 | 83 | Malformed TLP 0 |
| 86 | ECRC 0 | 84 | ECRC 0 |
| 87 | Unsupported Request 0 | 85 | Unsupported Request 0 |
| 88 | ACS Violation 0 | 86 | ACS Violation 0 |
| 89 | Uncorrectable Internal Error 0 | 87 | Uncorrectable Internal Error 0 |
| 90 | MC Blocked TLP 0 | 88 | MC Blocked TLP 0 |
| 91 | AtomicOp Egress Blocked 0 | 89 | AtomicOp Egress Blocked 0 |
| 92 | TLP Prefix Blocked Error 0 | 90 | TLP Prefix Blocked Error 0 |
| 93 | TOTAL_ERR_NONFATAL 0 | 91 | TOTAL_ERR_NONFATAL 0 |
| 94 | ------------------------------------------------------------------------- | ||
| 95 | 92 | ||
| 96 | ============================ | ||
| 97 | PCIe Rootport AER statistics | 93 | PCIe Rootport AER statistics |
| 98 | ============================ | 94 | ---------------------------- |
| 95 | |||
| 99 | These attributes show up under only the rootports (or root complex event | 96 | These attributes show up under only the rootports (or root complex event |
| 100 | collectors) that are AER capable. These indicate the number of error messages as | 97 | collectors) that are AER capable. These indicate the number of error messages as |
| 101 | "reported to" the rootport. Please note that the rootports also transmit | 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 | Description: | 4 | Description: |
| 5 | Version of AudioDSP firmware ASoC catpt driver is | 5 | Version of AudioDSP firmware ASoC catpt driver is |
| 6 | communicating with. | 6 | communicating with. |
| 7 | |||
| 7 | Format: %d.%d.%d.%d, type:major:minor:build. | 8 | Format: %d.%d.%d.%d, type:major:minor:build. |
| 8 | 9 | ||
| 9 | What: /sys/devices/pci0000:00/<dev>/fw_info | 10 | What: /sys/devices/pci0000:00/<dev>/fw_info |
| @@ -21,11 +21,11 @@ Description: · 20 unmodified lines | |||
| 21 | number returns the port to normal operation. | 21 | number returns the port to normal operation. |
| 22 | 22 | ||
| 23 | For example: To force the high-speed device attached to | 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 | echo 4 >/sys/bus/usb/devices/usb2/../companion | 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 | echo -4 >/sys/bus/usb/devices/usb2/../companion | 30 | echo -4 >/sys/bus/usb/devices/usb2/../companion |
| 31 | 31 | ||
| @@ -4,24 +4,27 @@ Description: · 3 unmodified lines | |||
| 4 | an individual subdirectory with the following name format of | 4 | an individual subdirectory with the following name format of |
| 5 | device_name "nn:d:iiii", where: | 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 | device resides | 9 | device resides |
| 9 | d - device type: 'e' - for endpoint or 's' - for switch | 10 | d device type: 'e' - for endpoint or 's' - for switch |
| 10 | iiii - four-digit device destID for endpoints, or switchID for | 11 | iiii four-digit device destID for endpoints, or switchID for |
| 11 | switches | 12 | switches |
| 13 | ==== ======================================================== | ||
| 12 | 14 | ||
| 13 | For example, below is a list of device directories that | 15 | For example, below is a list of device directories that |
| 14 | represents a typical RapidIO network with one switch, one host, | 16 | represents a typical RapidIO network with one switch, one host, |
| 15 | and two agent endpoints, as it is seen by the enumerating host | 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 | 20 | /sys/bus/rapidio/devices/00:e:0000 |
| 19 | /sys/bus/rapidio/devices/00:e:0002 | 21 | /sys/bus/rapidio/devices/00:e:0002 |
| 20 | /sys/bus/rapidio/devices/00:s:0001 | 22 | /sys/bus/rapidio/devices/00:s:0001 |
| 21 | 23 | ||
| 22 | NOTE: An enumerating or discovering endpoint does not create a | 24 | NOTE: |
| 23 | sysfs entry for itself, this is why an endpoint with destID=1 is | 25 | An enumerating or discovering endpoint does not create a |
| 24 | not shown in the list. | 26 | sysfs entry for itself, this is why an endpoint with destID=1 |
| 27 | is not shown in the list. | ||
| 25 | 28 | ||
| 26 | Attributes Common for All RapidIO Devices | 29 | Attributes Common for All RapidIO Devices |
| 27 | ----------------------------------------- | 30 | ----------------------------------------- |
| @@ -7,6 +7,8 @@ Description: · 6 unmodified lines | |||
| 7 | 7 | ||
| 8 | Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>] | 8 | Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>] |
| 9 | 9 | ||
| 10 | Example:: | ||
| 11 | |||
| 10 | $ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add | 12 | $ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add |
| 11 | 13 | ||
| 12 | The snapshot name can be "-" or omitted to map the image | 14 | The snapshot name can be "-" or omitted to map the image |
| @@ -23,6 +25,8 @@ Description: · 10 unmodified lines | |||
| 23 | 25 | ||
| 24 | Usage: <dev-id> [force] | 26 | Usage: <dev-id> [force] |
| 25 | 27 | ||
| 28 | Example:: | ||
| 29 | |||
| 26 | $ echo 2 > /sys/bus/rbd/remove | 30 | $ echo 2 > /sys/bus/rbd/remove |
| 27 | 31 | ||
| 28 | Optional "force" argument which when passed will wait for | 32 | Optional "force" argument which when passed will wait for |
| @@ -80,26 +84,29 @@ Date: Oct, 2010 · 51 unmodified lines | |||
| 80 | KernelVersion: v2.6.37 | 84 | KernelVersion: v2.6.37 |
| 81 | Contact: Sage Weil <sage@newdream.net> | 85 | Contact: Sage Weil <sage@newdream.net> |
| 82 | Description: | 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 | device. | 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 | for this specific session. | 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 | image resides. An rbd image name is unique | 98 | image resides. An rbd image name is unique |
| 93 | within its pool. | 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 | header data and set all relevant data structures | 104 | header data and set all relevant data structures |
| 99 | accordingly. | 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 | is mapped. | 108 | is mapped. |
| 109 | ============== ================================================ | ||
| 103 | 110 | ||
| 104 | 111 | ||
| 105 | What: /sys/bus/rbd/devices/<dev-id>/pool_id | 112 | What: /sys/bus/rbd/devices/<dev-id>/pool_id |
| @@ -117,11 +124,13 @@ Date: Oct, 2012 · 11 unmodified lines | |||
| 117 | KernelVersion: v3.7 | 124 | KernelVersion: v3.7 |
| 118 | Contact: Sage Weil <sage@newdream.net> | 125 | Contact: Sage Weil <sage@newdream.net> |
| 119 | Description: | 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 | image format 1 this is empty.) | 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 | for this image. | 132 | for this image. |
| 133 | ========= =============================================== | ||
| 125 | 134 | ||
| 126 | 135 | ||
| 127 | What: /sys/bus/rbd/devices/<dev-id>/parent | 136 | What: /sys/bus/rbd/devices/<dev-id>/parent |
| @@ -149,14 +158,16 @@ Date: Aug, 2016 · 21 unmodified lines | |||
| 149 | KernelVersion: v4.9 | 158 | KernelVersion: v4.9 |
| 150 | Contact: Sage Weil <sage@newdream.net> | 159 | Contact: Sage Weil <sage@newdream.net> |
| 151 | Description: | 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 | /sys/bus/rbd/add{,_single_major}. | 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 | entity_addr_t (address + nonce). The format is | 170 | entity_addr_t (address + nonce). The format is |
| 161 | <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or | 171 | <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or |
| 162 | '[1:2:3:4:5:6:7:8]:1234/5678'. | 172 | '[1:2:3:4:5:6:7:8]:1234/5678'. |
| 173 | ============ ================================================ | ||
| @@ -8,6 +8,7 @@ Description: · 7 unmodified lines | |||
| 8 | When the file contains a "1" the bus is operated and periodically | 8 | When the file contains a "1" the bus is operated and periodically |
| 9 | does a push-pull cycle to write and read data from the | 9 | does a push-pull cycle to write and read data from the |
| 10 | connected devices. | 10 | connected devices. |
| 11 | |||
| 11 | When writing a "0" or "1" the bus moves to the described state. | 12 | When writing a "0" or "1" the bus moves to the described state. |
| 12 | 13 | ||
| 13 | What: /sys/bus/siox/devices/siox-X/device_add | 14 | What: /sys/bus/siox/devices/siox-X/device_add |
| @@ -21,8 +22,10 @@ Description: · 7 unmodified lines | |||
| 21 | to add a new device dynamically. <type> is the name that is used to match | 22 | to add a new device dynamically. <type> is the name that is used to match |
| 22 | to a driver (similar to the platform bus). <inbytes> and <outbytes> define | 23 | to a driver (similar to the platform bus). <inbytes> and <outbytes> define |
| 23 | the length of the input and output shift register in bytes respectively. | 24 | the length of the input and output shift register in bytes respectively. |
| 25 | |||
| 24 | <statustype> defines the 4 bit device type that is check to identify connection | 26 | <statustype> defines the 4 bit device type that is check to identify connection |
| 25 | problems. | 27 | problems. |
| 28 | |||
| 26 | The new device is added to the end of the existing chain. | 29 | The new device is added to the end of the existing chain. |
| 27 | 30 | ||
| 28 | What: /sys/bus/siox/devices/siox-X/device_remove | 31 | What: /sys/bus/siox/devices/siox-X/device_remove |
| @@ -37,16 +37,18 @@ Contact: thunderbolt-software@lists.01.org · 36 unmodified lines | |||
| 37 | Description: This attribute holds current Thunderbolt security level | 37 | Description: This attribute holds current Thunderbolt security level |
| 38 | set by the system BIOS. Possible values are: | 38 | set by the system BIOS. Possible values are: |
| 39 | 39 | ||
| 40 | none: All devices are automatically authorized | 40 | ======= ================================================== |
| 41 | user: Devices are only authorized based on writing | 41 | none All devices are automatically authorized |
| 42 | appropriate value to the authorized attribute | 42 | user Devices are only authorized based on writing |
| 43 | secure: Require devices that support secure connect at | 43 | appropriate value to the authorized attribute |
| 44 | minimum. User needs to authorize each device. | 44 | secure Require devices that support secure connect at |
| 45 | dponly: Automatically tunnel Display port (and USB). No | 45 | minimum. User needs to authorize each device. |
| 46 | PCIe tunnels are created. | 46 | dponly Automatically tunnel Display port (and USB). No |
| 47 | usbonly: Automatically tunnel USB controller of the | 47 | PCIe tunnels are created. |
| 48 | usbonly Automatically tunnel USB controller of the | ||
| 48 | connected Thunderbolt dock (and Display Port). All | 49 | connected Thunderbolt dock (and Display Port). All |
| 49 | PCIe links downstream of the dock are removed. | 50 | PCIe links downstream of the dock are removed. |
| 51 | ======= ================================================== | ||
| 50 | 52 | ||
| 51 | What: /sys/bus/thunderbolt/devices/.../authorized | 53 | What: /sys/bus/thunderbolt/devices/.../authorized |
| 52 | Date: Sep 2017 | 54 | Date: Sep 2017 |
| @@ -61,17 +63,23 @@ Description: This attribute is used to authorize Thunderbolt devices · 8 unmodified lines | |||
| 61 | yet authorized. | 63 | yet authorized. |
| 62 | 64 | ||
| 63 | Possible values are supported: | 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 | When key attribute contains 32 byte hex string the possible | 71 | When key attribute contains 32 byte hex string the possible |
| 67 | values are: | 72 | values are: |
| 68 | 1: The 32 byte hex string is added to the device NVM and | 73 | |
| 69 | the device is authorized. | 74 | == ======================================================== |
| 70 | 2: Send a challenge based on the 32 byte hex string. If the | 75 | 1 The 32 byte hex string is added to the device NVM and |
| 71 | challenge response from device is valid, the device is | 76 | the device is authorized. |
| 72 | authorized. In case of failure errno will be ENOKEY if | 77 | 2 Send a challenge based on the 32 byte hex string. If the |
| 73 | the device did not contain a key at all, and | 78 | challenge response from device is valid, the device is |
| 74 | EKEYREJECTED if the challenge response did not match. | 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 | What: /sys/bus/thunderbolt/devices/.../boot | 84 | What: /sys/bus/thunderbolt/devices/.../boot |
| 77 | Date: Jun 2018 | 85 | Date: Jun 2018 |
| @@ -185,10 +193,11 @@ Description: When new NVM image is written to the non-active NVM · 107 unmodified lines | |||
| 185 | verification fails an error code is returned instead. | 193 | verification fails an error code is returned instead. |
| 186 | 194 | ||
| 187 | This file will accept writing values "1" or "2" | 195 | This file will accept writing values "1" or "2" |
| 196 | |||
| 188 | - Writing "1" will flush the image to the storage | 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 | - Writing "2" will run some basic validation on the image | 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 | When read holds status of the last authentication | 202 | When read holds status of the last authentication |
| 194 | operation if an error occurred during the process. This | 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 | question. Following directories are already reserved by | 214 | question. Following directories are already reserved by |
| 206 | the Apple XDomain specification: | 215 | the Apple XDomain specification: |
| 207 | 216 | ||
| 208 | network: IP/ethernet over Thunderbolt | 217 | ======== =============================================== |
| 209 | targetdm: Target disk mode protocol over Thunderbolt | 218 | network IP/ethernet over Thunderbolt |
| 210 | extdisp: External display mode protocol over Thunderbolt | 219 | targetdm Target disk mode protocol over Thunderbolt |
| 220 | extdisp External display mode protocol over Thunderbolt | ||
| 221 | ======== =============================================== | ||
| 211 | 222 | ||
| 212 | What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias | 223 | What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias |
| 213 | Date: Jan 2018 | 224 | Date: Jan 2018 |
| @@ -285,7 +296,8 @@ Description: For supported devices, automatically authenticate the new Thunderbo · 71 unmodified lines | |||
| 285 | image when the device is disconnected from the host system. | 296 | image when the device is disconnected from the host system. |
| 286 | 297 | ||
| 287 | This file will accept writing values "1" or "2" | 298 | This file will accept writing values "1" or "2" |
| 299 | |||
| 288 | - Writing "1" will flush the image to the storage | 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 | - Writing "2" will run some basic validation on the image | 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 | by writing INTERFACE to /sys/bus/usb/drivers_probe | 9 | by writing INTERFACE to /sys/bus/usb/drivers_probe |
| 10 | This allows to avoid side-effects with drivers | 10 | This allows to avoid side-effects with drivers |
| 11 | that need multiple interfaces. | 11 | that need multiple interfaces. |
| 12 | |||
| 12 | A deauthorized interface cannot be probed or claimed. | 13 | A deauthorized interface cannot be probed or claimed. |
| 13 | 14 | ||
| 14 | What: /sys/bus/usb/devices/usbX/interface_authorized_default | 15 | What: /sys/bus/usb/devices/usbX/interface_authorized_default |
| @@ -72,24 +73,27 @@ Description: · 57 unmodified lines | |||
| 72 | table at compile time. The format for the device ID is: | 73 | table at compile time. The format for the device ID is: |
| 73 | idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct | 74 | idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct |
| 74 | The vendor ID and device ID fields are required, the | 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 | driver to use the same driver_data for the new device as | 77 | driver to use the same driver_data for the new device as |
| 77 | it is used for the reference device. | 78 | it is used for the reference device. |
| 78 | Upon successfully adding an ID, the driver will probe | 79 | Upon successfully adding an ID, the driver will probe |
| 79 | for the device and attempt to bind to it. For example: | 80 | for the device and attempt to bind to it. For example:: |
| 80 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | 81 | |
| 82 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | ||
| 81 | 83 | ||
| 82 | Here add a new device (0458:7045) using driver_data from | 84 | Here add a new device (0458:7045) using driver_data from |
| 83 | an already supported device (0458:704c): | 85 | an already supported device (0458:704c):: |
| 84 | # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id | 86 | |
| 87 | # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id | ||
| 85 | 88 | ||
| 86 | Reading from this file will list all dynamically added | 89 | Reading from this file will list all dynamically added |
| 87 | device IDs in the same format, with one entry per | 90 | device IDs in the same format, with one entry per |
| 88 | line. For example: | 91 | line. For example:: |
| 89 | # cat /sys/bus/usb/drivers/foo/new_id | 92 | |
| 90 | 8086 10f5 | 93 | # cat /sys/bus/usb/drivers/foo/new_id |
| 91 | dead beef 06 | 94 | 8086 10f5 |
| 92 | f00d cafe | 95 | dead beef 06 |
| 96 | f00d cafe | ||
| 93 | 97 | ||
| 94 | The list will be truncated at PAGE_SIZE bytes due to | 98 | The list will be truncated at PAGE_SIZE bytes due to |
| 95 | sysfs restrictions. | 99 | sysfs restrictions. |
| @@ -209,9 +213,11 @@ Description: · 113 unmodified lines | |||
| 209 | advance, and behaves well according to the specification. | 213 | advance, and behaves well according to the specification. |
| 210 | This attribute is a bit-field that controls the behavior of | 214 | This attribute is a bit-field that controls the behavior of |
| 211 | a specific port: | 215 | a specific port: |
| 216 | |||
| 212 | - Bit 0 of this field selects the "old" enumeration scheme, | 217 | - Bit 0 of this field selects the "old" enumeration scheme, |
| 213 | as it is considerably faster (it only causes one USB reset | 218 | as it is considerably faster (it only causes one USB reset |
| 214 | instead of 2). | 219 | instead of 2). |
| 220 | |||
| 215 | The old enumeration scheme can also be selected globally | 221 | The old enumeration scheme can also be selected globally |
| 216 | using /sys/module/usbcore/parameters/old_scheme_first, but | 222 | using /sys/module/usbcore/parameters/old_scheme_first, but |
| 217 | it is often not desirable as the new scheme was introduced to | 223 | it is often not desirable as the new scheme was introduced to |
| @@ -233,10 +239,10 @@ Description: · 15 unmodified lines | |||
| 233 | poll() for monitoring changes to this value in user space. | 239 | poll() for monitoring changes to this value in user space. |
| 234 | 240 | ||
| 235 | Any time this value changes the corresponding hub device will send a | 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 | 244 | OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX |
| 239 | OVER_CURRENT_COUNT=[current value of this sysfs attribute] | 245 | OVER_CURRENT_COUNT=[current value of this sysfs attribute] |
| 240 | 246 | ||
| 241 | What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit | 247 | What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit |
| 242 | Date: November 2015 | 248 | Date: November 2015 |
| @@ -12,8 +12,11 @@ KernelVersion: 2.6.26 · 11 unmodified lines | |||
| 12 | Contact: Harrison Metzger <harrisonmetz@gmail.com> | 12 | Contact: Harrison Metzger <harrisonmetz@gmail.com> |
| 13 | Description: Controls the devices display mode. | 13 | Description: Controls the devices display mode. |
| 14 | For a 6 character display the values are | 14 | For a 6 character display the values are |
| 15 | |||
| 15 | MSB 0x06; LSB 0x3F, and | 16 | MSB 0x06; LSB 0x3F, and |
| 17 | |||
| 16 | for an 8 character display the values are | 18 | for an 8 character display the values are |
| 19 | |||
| 17 | MSB 0x08; LSB 0xFF. | 20 | MSB 0x08; LSB 0xFF. |
| 18 | 21 | ||
| 19 | What: /sys/bus/usb/.../textmode | 22 | What: /sys/bus/usb/.../textmode |
| @@ -37,7 +40,7 @@ KernelVersion: 2.6.26 · 17 unmodified lines | |||
| 37 | Contact: Harrison Metzger <harrisonmetz@gmail.com> | 40 | Contact: Harrison Metzger <harrisonmetz@gmail.com> |
| 38 | Description: Controls the decimal places on the device. | 41 | Description: Controls the decimal places on the device. |
| 39 | To set the nth decimal place, give this field | 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 | the value k and has 1 or more decimal places set, | 44 | the value k and has 1 or more decimal places set, |
| 42 | to set the mth place (where m is not already set), | 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 | Writing UUID to this file will create mediated device of | 28 | Writing UUID to this file will create mediated device of |
| 29 | type <type-id> for parent device <device>. This is a | 29 | type <type-id> for parent device <device>. This is a |
| 30 | write-only file. | 30 | write-only file. |
| 31 | For example: | 31 | For example:: |
| 32 | # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ | 32 | |
| 33 | # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ | ||
| 33 | /sys/devices/foo/mdev_supported_types/foo-1/create | 34 | /sys/devices/foo/mdev_supported_types/foo-1/create |
| 34 | 35 | ||
| 35 | What: /sys/.../mdev_supported_types/<type-id>/devices/ | 36 | What: /sys/.../mdev_supported_types/<type-id>/devices/ |
| @@ -107,5 +108,6 @@ Description: · 71 unmodified lines | |||
| 107 | Writing '1' to this file destroys the mediated device. The | 108 | Writing '1' to this file destroys the mediated device. The |
| 108 | vendor driver can fail the remove() callback if that device | 109 | vendor driver can fail the remove() callback if that device |
| 109 | is active and the vendor driver doesn't support hot unplug. | 110 | is active and the vendor driver doesn't support hot unplug. |
| 110 | Example: | 111 | Example:: |
| 111 | # echo 1 > /sys/bus/mdev/devices/<UUID>/remove | 112 | |
| 113 | # echo 1 > /sys/bus/mdev/devices/<UUID>/remove | ||
| @@ -66,13 +66,6 @@ Description: · 65 unmodified lines | |||
| 66 | the "erase" command on the on-board flash of the connected | 66 | the "erase" command on the on-board flash of the connected |
| 67 | micro. | 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 | What: /sys/class/c2port/c2portX/reset | 69 | What: /sys/class/c2port/c2portX/reset |
| 77 | Date: October 2008 | 70 | Date: October 2008 |
| 78 | Contact: Rodolfo Giometti <giometti@linux.it> | 71 | Contact: Rodolfo Giometti <giometti@linux.it> |
| @@ -24,3 +24,63 @@ Description: · 23 unmodified lines | |||
| 24 | non-linear | 24 | non-linear |
| 25 | The brightness changes non-linearly with each step. Brightness | 25 | The brightness changes non-linearly with each step. Brightness |
| 26 | controls should use a linear mapping for a linear perception. | 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 | dark (level 3). By default the brightness operates at the daylight brightness | 6 | dark (level 3). By default the brightness operates at the daylight brightness |
| 7 | level. | 7 | level. |
| 8 | 8 | ||
| 9 | What: /sys/class/backlight/<backlight>/ambient_light_level | 9 | See also /sys/class/backlight/<backlight>/ambient_light_level and |
| 10 | Date: Apr, 2010 | 10 | /sys/class/backlight/<backlight>/ambient_light_zone. |
| 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. | ||
| 28 | 11 | ||
| 29 | 12 | ||
| 30 | What: /sys/class/backlight/<backlight>/l1_daylight_max | 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 | What: /sys/class/backlight/<backlight>/<ambient light zone>_max | 4 | What: /sys/class/backlight/<backlight>/<ambient light zone>_max |
| 2 | What: /sys/class/backlight/<backlight>/l1_daylight_max | 5 | What: /sys/class/backlight/<backlight>/l1_daylight_max |
| 3 | What: /sys/class/backlight/<backlight>/l2_bright_max | 6 | What: /sys/class/backlight/<backlight>/l2_bright_max |
| @@ -27,30 +30,3 @@ Description: · 23 unmodified lines | |||
| 27 | set to 0. Full off when the backlight is disabled. | 30 | set to 0. Full off when the backlight is disabled. |
| 28 | This file will also show the dim brightness level stored for | 31 | This file will also show the dim brightness level stored for |
| 29 | this <ambient light zone>. | 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 | Get the ALS output channel used as input in | 6 | Get the ALS output channel used as input in |
| 7 | ALS-current-control mode (0, 1), where: | 7 | ALS-current-control mode (0, 1), where: |
| 8 | 8 | ||
| 9 | 0 - out_current0 (backlight 0) | 9 | == ========================== |
| 10 | 1 - out_current1 (backlight 1) | 10 | 0 out_current0 (backlight 0) |
| 11 | 1 out_current1 (backlight 1) | ||
| 12 | == ========================== | ||
| 11 | 13 | ||
| 12 | What: /sys/class/backlight/<backlight>/als_en | 14 | What: /sys/class/backlight/<backlight>/als_en |
| 13 | Date: May 2012 | 15 | Date: May 2012 |
| @@ -30,8 +32,10 @@ Contact: Johan Hovold <jhovold@gmail.com> · 16 unmodified lines | |||
| 30 | Description: | 32 | Description: |
| 31 | Set the brightness-mapping mode (0, 1), where: | 33 | Set the brightness-mapping mode (0, 1), where: |
| 32 | 34 | ||
| 33 | 0 - exponential mode | 35 | == ================ |
| 34 | 1 - linear mode | 36 | 0 exponential mode |
| 37 | 1 linear mode | ||
| 38 | == ================ | ||
| 35 | 39 | ||
| 36 | What: /sys/class/backlight/<backlight>/pwm | 40 | What: /sys/class/backlight/<backlight>/pwm |
| 37 | Date: April 2012 | 41 | Date: April 2012 |
| @@ -40,9 +44,11 @@ Contact: Johan Hovold <jhovold@gmail.com> · 2 unmodified lines | |||
| 40 | Description: | 44 | Description: |
| 41 | Set the PWM-input control mask (5 bits), where: | 45 | Set the PWM-input control mask (5 bits), where: |
| 42 | 46 | ||
| 43 | bit 5 - PWM-input enabled in Zone 4 | 47 | ===== =========================== |
| 44 | bit 4 - PWM-input enabled in Zone 3 | 48 | bit 5 PWM-input enabled in Zone 4 |
| 45 | bit 3 - PWM-input enabled in Zone 2 | 49 | bit 4 PWM-input enabled in Zone 3 |
| 46 | bit 2 - PWM-input enabled in Zone 1 | 50 | bit 3 PWM-input enabled in Zone 2 |
| 47 | bit 1 - PWM-input enabled in Zone 0 | 51 | bit 2 PWM-input enabled in Zone 1 |
| 48 | bit 0 - PWM-input enabled | 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 | filesystems which do not provide their own BDI. | 24 | filesystems which do not provide their own BDI. |
| 25 | 25 | ||
| 26 | Files under /sys/class/bdi/<bdi>/ | 26 | Files under /sys/class/bdi/<bdi>/ |
| 27 | --------------------------------- | ||
| 28 | 27 | ||
| 29 | read_ahead_kb (read-write) | 28 | read_ahead_kb (read-write) |
| 30 | 29 | ||
| @@ -17,13 +17,14 @@ Date: August 2015 · 16 unmodified lines | |||
| 17 | KernelVersion: 4.2 | 17 | KernelVersion: 4.2 |
| 18 | Description: | 18 | Description: |
| 19 | Tell the EC to reboot in various ways. Options are: | 19 | Tell the EC to reboot in various ways. Options are: |
| 20 | "cancel": Cancel a pending reboot. | 20 | |
| 21 | "ro": Jump to RO without rebooting. | 21 | - "cancel": Cancel a pending reboot. |
| 22 | "rw": Jump to RW without rebooting. | 22 | - "ro": Jump to RO without rebooting. |
| 23 | "cold": Cold reboot. | 23 | - "rw": Jump to RW without rebooting. |
| 24 | "disable-jump": Disable jump until next reboot. | 24 | - "cold": Cold reboot. |
| 25 | "hibernate": Hibernate the EC. | 25 | - "disable-jump": Disable jump until next reboot. |
| 26 | "at-shutdown": Reboot after an AP shutdown. | 26 | - "hibernate": Hibernate the EC. |
| 27 | - "at-shutdown": Reboot after an AP shutdown. | ||
| 27 | 28 | ||
| 28 | What: /sys/class/chromeos/<ec-device-name>/version | 29 | What: /sys/class/chromeos/<ec-device-name>/version |
| 29 | Date: August 2015 | 30 | Date: August 2015 |
| @@ -72,11 +72,16 @@ Description: read/write · 71 unmodified lines | |||
| 72 | when performing the START_WORK ioctl. Only applicable when | 72 | when performing the START_WORK ioctl. Only applicable when |
| 73 | running under hashed page table mmu. | 73 | running under hashed page table mmu. |
| 74 | Possible values: | 74 | Possible values: |
| 75 | none: No prefaulting (default) | 75 | |
| 76 | work_element_descriptor: Treat the work element | 76 | ======================= ====================================== |
| 77 | descriptor as an effective address and | 77 | none No prefaulting (default) |
| 78 | prefault what it points to. | 78 | work_element_descriptor Treat the work element |
| 79 | all: all segments process calling START_WORK maps. | 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 | Users: https://github.com/ibm-capi/libcxl | 85 | Users: https://github.com/ibm-capi/libcxl |
| 81 | 86 | ||
| 82 | What: /sys/class/cxl/<afu>/reset | 87 | What: /sys/class/cxl/<afu>/reset |
| @@ -212,6 +217,7 @@ Description: read/write · 129 unmodified lines | |||
| 212 | card. A power cycle is required to load the image. | 217 | card. A power cycle is required to load the image. |
| 213 | "none" could be useful for debugging because the trace arrays | 218 | "none" could be useful for debugging because the trace arrays |
| 214 | are preserved. | 219 | are preserved. |
| 220 | |||
| 215 | "user" and "factory" means PERST will cause either the user or | 221 | "user" and "factory" means PERST will cause either the user or |
| 216 | user or factory image to be loaded. | 222 | user or factory image to be loaded. |
| 217 | Default is to reload on PERST whichever image the card has | 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 | Description: read/write | 241 | Description: read/write |
| 236 | Trust that when an image is reloaded via PERST, it will not | 242 | Trust that when an image is reloaded via PERST, it will not |
| 237 | have changed. | 243 | have changed. |
| 238 | 0 = don't trust, the image may be different (default) | 244 | |
| 239 | 1 = trust that the image will not change. | 245 | == ================================================= |
| 246 | 0 don't trust, the image may be different (default) | ||
| 247 | 1 trust that the image will not change. | ||
| 248 | == ================================================= | ||
| 240 | Users: https://github.com/ibm-capi/libcxl | 249 | Users: https://github.com/ibm-capi/libcxl |
| 241 | 250 | ||
| 242 | What: /sys/class/cxl/<card>/psl_timebase_synced | 251 | What: /sys/class/cxl/<card>/psl_timebase_synced |
| @@ -62,7 +62,8 @@ Description: · 61 unmodified lines | |||
| 62 | driver should provide the list of available frequencies | 62 | driver should provide the list of available frequencies |
| 63 | with its profile. If need to reset the statistics of devfreq | 63 | with its profile. If need to reset the statistics of devfreq |
| 64 | behavior on a specific device, enter 0(zero) to 'trans_stat' | 64 | behavior on a specific device, enter 0(zero) to 'trans_stat' |
| 65 | as following: | 65 | as following:: |
| 66 | |||
| 66 | echo 0 > /sys/class/devfreq/.../trans_stat | 67 | echo 0 > /sys/class/devfreq/.../trans_stat |
| 67 | 68 | ||
| 68 | What: /sys/class/devfreq/.../userspace/set_freq | 69 | What: /sys/class/devfreq/.../userspace/set_freq |
| @@ -117,6 +118,7 @@ Description: · 48 unmodified lines | |||
| 117 | This work timer is used by devfreq workqueue in order to | 118 | This work timer is used by devfreq workqueue in order to |
| 118 | monitor the device status such as utilization. The user | 119 | monitor the device status such as utilization. The user |
| 119 | can change the work timer on runtime according to their demand | 120 | can change the work timer on runtime according to their demand |
| 120 | as following: | 121 | as following:: |
| 122 | |||
| 121 | echo deferrable > /sys/class/devfreq/.../timer | 123 | echo deferrable > /sys/class/devfreq/.../timer |
| 122 | echo delayed > /sys/class/devfreq/.../timer | 124 | echo delayed > /sys/class/devfreq/.../timer |
| @@ -18,9 +18,9 @@ Description: · 17 unmodified lines | |||
| 18 | 18 | ||
| 19 | This will be one of the following strings: | 19 | This will be one of the following strings: |
| 20 | 20 | ||
| 21 | 'consumer unbind' | 21 | - 'consumer unbind' |
| 22 | 'supplier unbind' | 22 | - 'supplier unbind' |
| 23 | 'never' | 23 | - 'never' |
| 24 | 24 | ||
| 25 | 'consumer unbind' means the device link will be removed when | 25 | 'consumer unbind' means the device link will be removed when |
| 26 | the consumer's driver is unbound from the consumer device. | 26 | the consumer's driver is unbound from the consumer device. |
| @@ -49,8 +49,10 @@ Description: · 22 unmodified lines | |||
| 49 | 49 | ||
| 50 | This will be one of the following strings: | 50 | This will be one of the following strings: |
| 51 | 51 | ||
| 52 | '0' - Does not affect runtime power management | 52 | === ======================================== |
| 53 | '1' - Affects runtime power management | 53 | '0' Does not affect runtime power management |
| 54 | '1' Affects runtime power management | ||
| 55 | === ======================================== | ||
| 54 | 56 | ||
| 55 | What: /sys/class/devlink/.../status | 57 | What: /sys/class/devlink/.../status |
| 56 | Date: May 2020 | 58 | Date: May 2020 |
| @@ -68,13 +70,13 @@ Description: · 11 unmodified lines | |||
| 68 | 70 | ||
| 69 | This will be one of the following strings: | 71 | This will be one of the following strings: |
| 70 | 72 | ||
| 71 | 'not tracked' | 73 | - 'not tracked' |
| 72 | 'dormant' | 74 | - 'dormant' |
| 73 | 'available' | 75 | - 'available' |
| 74 | 'consumer probing' | 76 | - 'consumer probing' |
| 75 | 'active' | 77 | - 'active' |
| 76 | 'supplier unbinding' | 78 | - 'supplier unbinding' |
| 77 | 'unknown' | 79 | - 'unknown' |
| 78 | 80 | ||
| 79 | 'not tracked' means this device link does not track the status | 81 | 'not tracked' means this device link does not track the status |
| 80 | and has no impact on the binding, unbinding and syncing the | 82 | and has no impact on the binding, unbinding and syncing the |
| @@ -114,8 +116,10 @@ Description: · 33 unmodified lines | |||
| 114 | 116 | ||
| 115 | This will be one of the following strings: | 117 | This will be one of the following strings: |
| 116 | 118 | ||
| 119 | === ================================ | ||
| 117 | '0' | 120 | '0' |
| 118 | '1' - Affects runtime power management | 121 | '1' Affects runtime power management |
| 122 | === ================================ | ||
| 119 | 123 | ||
| 120 | '0' means the device link can affect other device behaviors | 124 | '0' means the device link can affect other device behaviors |
| 121 | like binding/unbinding, suspend/resume, runtime power | 125 | like binding/unbinding, suspend/resume, runtime power |
| @@ -39,19 +39,22 @@ Description: · 38 unmodified lines | |||
| 39 | callback. | 39 | callback. |
| 40 | 40 | ||
| 41 | If the default callback for showing function is used, the | 41 | If the default callback for showing function is used, the |
| 42 | format is like this: | 42 | format is like this:: |
| 43 | # cat state | 43 | |
| 44 | USB_OTG=1 | 44 | # cat state |
| 45 | HDMI=0 | 45 | USB_OTG=1 |
| 46 | TA=1 | 46 | HDMI=0 |
| 47 | EAR_JACK=0 | 47 | TA=1 |
| 48 | # | 48 | EAR_JACK=0 |
| 49 | # | ||
| 50 | |||
| 49 | In this example, the extcon device has USB_OTG and TA | 51 | In this example, the extcon device has USB_OTG and TA |
| 50 | cables attached and HDMI and EAR_JACK cables detached. | 52 | cables attached and HDMI and EAR_JACK cables detached. |
| 51 | 53 | ||
| 52 | In order to update the state of an extcon device, enter a hex | 54 | In order to update the state of an extcon device, enter a hex |
| 53 | state number starting with 0x: | 55 | state number starting with 0x:: |
| 54 | # echo 0xHEX > state | 56 | |
| 57 | # echo 0xHEX > state | ||
| 55 | 58 | ||
| 56 | This updates the whole state of the extcon device. | 59 | This updates the whole state of the extcon device. |
| 57 | Inputs of all the methods are required to meet the | 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 | Description: | 87 | Description: |
| 85 | Shows the relations of mutually exclusiveness. For example, | 88 | Shows the relations of mutually exclusiveness. For example, |
| 86 | if the mutually_exclusive array of extcon device is | 89 | if the mutually_exclusive array of extcon device is |
| 87 | {0x3, 0x5, 0xC, 0x0}, then the output is: | 90 | {0x3, 0x5, 0xC, 0x0}, then the output is:: |
| 88 | # ls mutually_exclusive/ | 91 | |
| 89 | 0x3 | 92 | # ls mutually_exclusive/ |
| 90 | 0x5 | 93 | 0x3 |
| 91 | 0xc | 94 | 0x5 |
| 92 | # | 95 | 0xc |
| 96 | # | ||
| 93 | 97 | ||
| 94 | Note that mutually_exclusive is a sub-directory of the extcon | 98 | Note that mutually_exclusive is a sub-directory of the extcon |
| 95 | device and the file names under the mutually_exclusive | 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 | * firmware request = firmware class request in progress | 28 | * firmware request = firmware class request in progress |
| 29 | * firmware request error = firmware request failed | 29 | * firmware request error = firmware request failed |
| 30 | * write init = preparing FPGA for programming | 30 | * write init = preparing FPGA for programming |
| 31 | * write init error = Error while preparing FPGA for | 31 | * write init error = Error while preparing FPGA for programming |
| 32 | programming | ||
| 33 | * write = FPGA ready to receive image data | 32 | * write = FPGA ready to receive image data |
| 34 | * write error = Error while programming | 33 | * write error = Error while programming |
| 35 | * write complete = Doing post programming steps | 34 | * write complete = Doing post programming steps |
| @@ -47,7 +46,7 @@ Description: Read fpga manager status as a string. · 11 unmodified lines | |||
| 47 | programming errors to userspace. This is a list of strings for | 46 | programming errors to userspace. This is a list of strings for |
| 48 | the supported status. | 47 | the supported status. |
| 49 | 48 | ||
| 50 | * reconfig operation error - invalid operations detected by | 49 | * reconfig operation error - invalid operations detected by |
| 51 | reconfiguration hardware. | 50 | reconfiguration hardware. |
| 52 | e.g. start reconfiguration | 51 | e.g. start reconfiguration |
| 53 | with errors not cleared | 52 | with errors not cleared |
| @@ -6,9 +6,11 @@ Description: · 5 unmodified lines | |||
| 6 | The GNSS receiver type. The currently identified types reflect | 6 | The GNSS receiver type. The currently identified types reflect |
| 7 | the protocol(s) supported by the receiver: | 7 | the protocol(s) supported by the receiver: |
| 8 | 8 | ||
| 9 | ====== =========== | ||
| 9 | "NMEA" NMEA 0183 | 10 | "NMEA" NMEA 0183 |
| 10 | "SiRF" SiRF Binary | 11 | "SiRF" SiRF Binary |
| 11 | "UBX" UBX | 12 | "UBX" UBX |
| 13 | ====== =========== | ||
| 12 | 14 | ||
| 13 | Note that also non-"NMEA" type receivers typically support a | 15 | Note that also non-"NMEA" type receivers typically support a |
| 14 | subset of NMEA 0183 with vendor extensions (e.g. to allow | 16 | subset of NMEA 0183 with vendor extensions (e.g. to allow |
| @@ -3,9 +3,26 @@ Date: March 2006 · 2 unmodified lines | |||
| 3 | KernelVersion: 2.6.17 | 3 | KernelVersion: 2.6.17 |
| 4 | Contact: Richard Purdie <rpurdie@rpsys.net> | 4 | Contact: Richard Purdie <rpurdie@rpsys.net> |
| 5 | Description: | 5 | Description: |
| 6 | Set the brightness of the LED. Most LEDs don't | 6 | Set the brightness of the LED. |
| 7 | have hardware brightness support, so will just be turned on for | 7 | |
| 8 | non-zero brightness settings. The value is between 0 and | 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 | /sys/class/leds/<led>/max_brightness. | 26 | /sys/class/leds/<led>/max_brightness. |
| 10 | 27 | ||
| 11 | Writing 0 to this file clears active trigger. | 28 | Writing 0 to this file clears active trigger. |
| @@ -13,6 +30,8 @@ Description: · 1 unmodified line | |||
| 13 | Writing non-zero to this file while trigger is active changes the | 30 | Writing non-zero to this file while trigger is active changes the |
| 14 | top brightness trigger is going to use. | 31 | top brightness trigger is going to use. |
| 15 | 32 | ||
| 33 | |||
| 34 | |||
| 16 | What: /sys/class/leds/<led>/max_brightness | 35 | What: /sys/class/leds/<led>/max_brightness |
| 17 | Date: March 2006 | 36 | Date: March 2006 |
| 18 | KernelVersion: 2.6.17 | 37 | KernelVersion: 2.6.17 |
| @@ -47,10 +66,11 @@ Contact: Richard Purdie <rpurdie@rpsys.net> · 28 unmodified lines | |||
| 47 | Description: | 66 | Description: |
| 48 | Set the trigger for this LED. A trigger is a kernel based source | 67 | Set the trigger for this LED. A trigger is a kernel based source |
| 49 | of LED events. | 68 | of LED events. |
| 69 | |||
| 50 | You can change triggers in a similar manner to the way an IO | 70 | You can change triggers in a similar manner to the way an IO |
| 51 | scheduler is chosen. Trigger specific parameters can appear in | 71 | scheduler is chosen. Trigger specific parameters can appear in |
| 52 | /sys/class/leds/<led> once a given trigger is selected. For | 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 | What: /sys/class/leds/<led>/inverted | 75 | What: /sys/class/leds/<led>/inverted |
| 56 | Date: January 2011 | 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 | What: /sys/class/leds/<led>/repeat | 1 | What: /sys/class/leds/<led>/repeat |
| 132 | Date: September 2019 | 2 | Date: September 2019 |
| 133 | KernelVersion: 5.5 | 3 | KernelVersion: 5.5 |
| @@ -6,8 +6,10 @@ Description: · 5 unmodified lines | |||
| 6 | Set the ALS output channel to use as input in | 6 | Set the ALS output channel to use as input in |
| 7 | ALS-current-control mode (1, 2), where: | 7 | ALS-current-control mode (1, 2), where: |
| 8 | 8 | ||
| 9 | 1 - out_current1 | 9 | == ============ |
| 10 | 2 - out_current2 | 10 | 1 out_current1 |
| 11 | 2 out_current2 | ||
| 12 | == ============ | ||
| 11 | 13 | ||
| 12 | What: /sys/class/leds/<led>/als_en | 14 | What: /sys/class/leds/<led>/als_en |
| 13 | Date: May 2012 | 15 | Date: May 2012 |
| @@ -24,14 +26,16 @@ Contact: Johan Hovold <jhovold@gmail.com> · 10 unmodified lines | |||
| 24 | Description: | 26 | Description: |
| 25 | Set the pattern generator fall and rise times (0..7), where: | 27 | Set the pattern generator fall and rise times (0..7), where: |
| 26 | 28 | ||
| 27 | 0 - 2048 us | 29 | == ======= |
| 28 | 1 - 262 ms | 30 | 0 2048 us |
| 29 | 2 - 524 ms | 31 | 1 262 ms |
| 30 | 3 - 1.049 s | 32 | 2 524 ms |
| 31 | 4 - 2.097 s | 33 | 3 1.049 s |
| 32 | 5 - 4.194 s | 34 | 4 2.097 s |
| 33 | 6 - 8.389 s | 35 | 5 4.194 s |
| 34 | 7 - 16.78 s | 36 | 6 8.389 s |
| 37 | 7 16.78 s | ||
| 38 | == ======= | ||
| 35 | 39 | ||
| 36 | What: /sys/class/leds/<led>/id | 40 | What: /sys/class/leds/<led>/id |
| 37 | Date: April 2012 | 41 | Date: April 2012 |
| @@ -47,8 +51,10 @@ Contact: Johan Hovold <jhovold@gmail.com> · 9 unmodified lines | |||
| 47 | Description: | 51 | Description: |
| 48 | Set the brightness-mapping mode (0, 1), where: | 52 | Set the brightness-mapping mode (0, 1), where: |
| 49 | 53 | ||
| 50 | 0 - exponential mode | 54 | == ================ |
| 51 | 1 - linear mode | 55 | 0 exponential mode |
| 56 | 1 linear mode | ||
| 57 | == ================ | ||
| 52 | 58 | ||
| 53 | What: /sys/class/leds/<led>/pwm | 59 | What: /sys/class/leds/<led>/pwm |
| 54 | Date: April 2012 | 60 | Date: April 2012 |
| @@ -57,9 +63,11 @@ Contact: Johan Hovold <jhovold@gmail.com> · 2 unmodified lines | |||
| 57 | Description: | 63 | Description: |
| 58 | Set the PWM-input control mask (5 bits), where: | 64 | Set the PWM-input control mask (5 bits), where: |
| 59 | 65 | ||
| 60 | bit 5 - PWM-input enabled in Zone 4 | 66 | ===== =========================== |
| 61 | bit 4 - PWM-input enabled in Zone 3 | 67 | bit 5 PWM-input enabled in Zone 4 |
| 62 | bit 3 - PWM-input enabled in Zone 2 | 68 | bit 4 PWM-input enabled in Zone 3 |
| 63 | bit 2 - PWM-input enabled in Zone 1 | 69 | bit 3 PWM-input enabled in Zone 2 |
| 64 | bit 1 - PWM-input enabled in Zone 0 | 70 | bit 2 PWM-input enabled in Zone 1 |
| 65 | bit 0 - PWM-input enabled | 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 | Flash faults are re-read after strobing the flash. Possible | 55 | Flash faults are re-read after strobing the flash. Possible |
| 56 | flash faults: | 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 | has exceeded the limit specific to the flash controller | 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 | the timeout set by the user has expired; not all flash | 63 | the timeout set by the user has expired; not all flash |
| 62 | controllers may set this in all such conditions | 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 | overheated | 67 | overheated |
| 65 | * controller-short-circuit - the short circuit protection | 68 | * controller-short-circuit |
| 69 | the short circuit protection | ||
| 66 | of the flash controller has been triggered | 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 | supply has exceeded the limit specific to the flash | 73 | supply has exceeded the limit specific to the flash |
| 69 | controller | 74 | controller |
| 70 | * indicator-led-fault - the flash controller has detected | 75 | * indicator-led-fault |
| 76 | the flash controller has detected | ||
| 71 | a short or open circuit condition on the indicator LED | 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 | LED has been below the minimum limit specific to | 80 | LED has been below the minimum limit specific to |
| 74 | the flash | 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 | controller is below the limit under which strobing the | 84 | controller is below the limit under which strobing the |
| 77 | flash at full current will not be possible; | 85 | flash at full current will not be possible; |
| 78 | the condition persists until this flag is no longer set | 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 | its allowed upper limit | 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 | What: /sys/class/leds/<led>/multi_index | 2 | What: /sys/class/leds/<led>/multi_index |
| 20 | Date: March 2020 | 3 | Date: March 2020 |
| @@ -25,6 +8,9 @@ Description: read · 4 unmodified lines | |||
| 25 | as an array of strings as they are indexed in the | 8 | as an array of strings as they are indexed in the |
| 26 | multi_intensity file. | 9 | multi_intensity file. |
| 27 | 10 | ||
| 11 | For additional details please refer to | ||
| 12 | Documentation/leds/leds-class-multicolor.rst. | ||
| 13 | |||
| 28 | What: /sys/class/leds/<led>/multi_intensity | 14 | What: /sys/class/leds/<led>/multi_intensity |
| 29 | Date: March 2020 | 15 | Date: March 2020 |
| 30 | KernelVersion: 5.9 | 16 | KernelVersion: 5.9 |
| @@ -33,3 +19,6 @@ Description: read/write · 2 unmodified lines | |||
| 33 | This file contains array of integers. Order of components is | 19 | This file contains array of integers. Order of components is |
| 34 | described by the multi_index array. The maximum intensity should | 20 | described by the multi_index array. The maximum intensity should |
| 35 | not exceed /sys/class/leds/<led>/max_brightness. | 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 | Contact: linux-leds@vger.kernel.org | 19 | Contact: linux-leds@vger.kernel.org |
| 20 | Description: | 20 | Description: |
| 21 | Signal the link state of the named network device. | 21 | Signal the link state of the named network device. |
| 22 | |||
| 22 | If set to 0 (default), the LED's normal state is off. | 23 | If set to 0 (default), the LED's normal state is off. |
| 24 | |||
| 23 | If set to 1, the LED's normal state reflects the link state | 25 | If set to 1, the LED's normal state reflects the link state |
| 24 | of the named network device. | 26 | of the named network device. |
| 25 | Setting this value also immediately changes the LED state. | 27 | Setting this value also immediately changes the LED state. |
| 26 | 28 | ||
| 29 | |||
| 27 | What: /sys/class/leds/<led>/tx | 30 | What: /sys/class/leds/<led>/tx |
| 28 | Date: Dec 2017 | 31 | Date: Dec 2017 |
| 29 | KernelVersion: 4.16 | 32 | KernelVersion: 4.16 |
| 30 | Contact: linux-leds@vger.kernel.org | 33 | Contact: linux-leds@vger.kernel.org |
| 31 | Description: | 34 | Description: |
| 32 | Signal transmission of data on the named network device. | 35 | Signal transmission of data on the named network device. |
| 36 | |||
| 33 | If set to 0 (default), the LED will not blink on transmission. | 37 | If set to 0 (default), the LED will not blink on transmission. |
| 38 | |||
| 34 | If set to 1, the LED will blink for the milliseconds specified | 39 | If set to 1, the LED will blink for the milliseconds specified |
| 35 | in interval to signal transmission. | 40 | in interval to signal transmission. |
| 36 | 41 | ||
| @@ -40,6 +45,8 @@ KernelVersion: 4.16 · 3 unmodified lines | |||
| 40 | Contact: linux-leds@vger.kernel.org | 45 | Contact: linux-leds@vger.kernel.org |
| 41 | Description: | 46 | Description: |
| 42 | Signal reception of data on the named network device. | 47 | Signal reception of data on the named network device. |
| 48 | |||
| 43 | If set to 0 (default), the LED will not blink on reception. | 49 | If set to 0 (default), the LED will not blink on reception. |
| 50 | |||
| 44 | If set to 1, the LED will blink for the milliseconds specified | 51 | If set to 1, the LED will blink for the milliseconds specified |
| 45 | in interval to signal reception. | 52 | in interval to signal reception. |
| @@ -23,8 +23,8 @@ Description: · 22 unmodified lines | |||
| 23 | 23 | ||
| 24 | Since different LED hardware can have different semantics of | 24 | Since different LED hardware can have different semantics of |
| 25 | hardware patterns, each driver is expected to provide its own | 25 | hardware patterns, each driver is expected to provide its own |
| 26 | description for the hardware patterns in their ABI documentation | 26 | description for the hardware patterns in their documentation |
| 27 | file. | 27 | file at Documentation/leds/. |
| 28 | 28 | ||
| 29 | What: /sys/class/leds/<led>/repeat | 29 | What: /sys/class/leds/<led>/repeat |
| 30 | Date: September 2018 | 30 | Date: September 2018 |
| @@ -8,5 +8,6 @@ Description: · 7 unmodified lines | |||
| 8 | selected for the USB port trigger. Selecting ports makes trigger | 8 | selected for the USB port trigger. Selecting ports makes trigger |
| 9 | observing them for any connected devices and lighting on LED if | 9 | observing them for any connected devices and lighting on LED if |
| 10 | there are any. | 10 | there are any. |
| 11 | |||
| 11 | Echoing "1" value selects USB port. Echoing "0" unselects it. | 12 | Echoing "1" value selects USB port. Echoing "0" unselects it. |
| 12 | Current state can be also read. | 13 | Current state can be also read. |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | |||
| 7 | of one LED will update the mode of its two sibling devices as | 7 | of one LED will update the mode of its two sibling devices as |
| 8 | well. Possible values are: | 8 | well. Possible values are: |
| 9 | 9 | ||
| 10 | 0 - normal | 10 | == ========= |
| 11 | 1 - audio | 11 | 0 normal |
| 12 | 2 - breathing | 12 | 1 audio |
| 13 | 2 breathing | ||
| 14 | == ========= | ||
| 13 | 15 | ||
| 14 | Normal: LEDs are fully on when enabled | 16 | Normal: LEDs are fully on when enabled |
| 15 | Audio: LEDs brightness depends on sound level | 17 | Audio: LEDs brightness depends on sound level |
| @@ -41,24 +41,33 @@ Description: · 40 unmodified lines | |||
| 41 | When read, this entry provides the current state of an Intel | 41 | When read, this entry provides the current state of an Intel |
| 42 | MIC device in the context of the card OS. Possible values that | 42 | MIC device in the context of the card OS. Possible values that |
| 43 | will be read are: | 43 | will be read are: |
| 44 | "ready" - The MIC device is ready to boot the card OS. On | 44 | |
| 45 | reading this entry after an OSPM resume, a "boot" has to be | 45 | |
| 46 | written to this entry if the card was previously shutdown | 46 | =============== =============================================== |
| 47 | during OSPM suspend. | 47 | "ready" The MIC device is ready to boot the card OS. |
| 48 | "booting" - The MIC device has initiated booting a card OS. | 48 | On reading this entry after an OSPM resume, |
| 49 | "online" - The MIC device has completed boot and is online | 49 | a "boot" has to be written to this entry if |
| 50 | "shutting_down" - The card OS is shutting down. | 50 | the card was previously shutdown during OSPM |
| 51 | "resetting" - A reset has been initiated for the MIC device | 51 | suspend. |
| 52 | "reset_failed" - The MIC device has failed to reset. | 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 | When written, this sysfs entry triggers different state change | 59 | When written, this sysfs entry triggers different state change |
| 55 | operations depending upon the current state of the card OS. | 60 | operations depending upon the current state of the card OS. |
| 56 | Acceptable values are: | 61 | Acceptable values are: |
| 57 | "boot" - Boot the card OS image specified by the combination | 62 | |
| 58 | of firmware, ramdisk, cmdline and bootmode | 63 | |
| 59 | sysfs entries. | 64 | ========== =================================================== |
| 60 | "reset" - Initiates device reset. | 65 | "boot" Boot the card OS image specified by the combination |
| 61 | "shutdown" - Initiates card OS shutdown. | 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 | What: /sys/class/mic/mic(x)/shutdown_status | 72 | What: /sys/class/mic/mic(x)/shutdown_status |
| 64 | Date: October 2013 | 73 | Date: October 2013 |
| @@ -69,12 +78,15 @@ Description: · 4 unmodified lines | |||
| 69 | OS can shutdown because of various reasons. When read, this | 78 | OS can shutdown because of various reasons. When read, this |
| 70 | entry provides the status on why the card OS was shutdown. | 79 | entry provides the status on why the card OS was shutdown. |
| 71 | Possible values are: | 80 | Possible values are: |
| 72 | "nop" - shutdown status is not applicable, when the card OS is | 81 | |
| 73 | "online" | 82 | ========== =================================================== |
| 74 | "crashed" - Shutdown because of a HW or SW crash. | 83 | "nop" shutdown status is not applicable, when the card OS |
| 75 | "halted" - Shutdown because of a halt command. | 84 | is "online" |
| 76 | "poweroff" - Shutdown because of a poweroff command. | 85 | "crashed" Shutdown because of a HW or SW crash. |
| 77 | "restart" - Shutdown because of a restart command. | 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 | What: /sys/class/mic/mic(x)/cmdline | 91 | What: /sys/class/mic/mic(x)/cmdline |
| 80 | Date: October 2013 | 92 | Date: October 2013 |
| @@ -4,10 +4,13 @@ KernelVersion: 3.17 · 3 unmodified lines | |||
| 4 | Contact: netdev@vger.kernel.org | 4 | Contact: netdev@vger.kernel.org |
| 5 | Description: | 5 | Description: |
| 6 | Indicates the name assignment type. Possible values are: | 6 | Indicates the name assignment type. Possible values are: |
| 7 | 1: enumerated by the kernel, possibly in an unpredictable way | 7 | |
| 8 | 2: predictably named by the kernel | 8 | == ========================================================== |
| 9 | 3: named by userspace | 9 | 1 enumerated by the kernel, possibly in an unpredictable way |
| 10 | 4: renamed | 10 | 2 predictably named by the kernel |
| 11 | 3 named by userspace | ||
| 12 | 4 renamed | ||
| 13 | == ========================================================== | ||
| 11 | 14 | ||
| 12 | What: /sys/class/net/<iface>/addr_assign_type | 15 | What: /sys/class/net/<iface>/addr_assign_type |
| 13 | Date: July 2010 | 16 | Date: July 2010 |
| @@ -15,10 +18,13 @@ KernelVersion: 3.2 · 1 unmodified line | |||
| 15 | Contact: netdev@vger.kernel.org | 18 | Contact: netdev@vger.kernel.org |
| 16 | Description: | 19 | Description: |
| 17 | Indicates the address assignment type. Possible values are: | 20 | Indicates the address assignment type. Possible values are: |
| 18 | 0: permanent address | 21 | |
| 19 | 1: randomly generated | 22 | == ============================= |
| 20 | 2: stolen from another device | 23 | 0 permanent address |
| 21 | 3: set using dev_set_mac_address | 24 | 1 randomly generated |
| 25 | 2 stolen from another device | ||
| 26 | 3 set using dev_set_mac_address | ||
| 27 | == ============================= | ||
| 22 | 28 | ||
| 23 | What: /sys/class/net/<iface>/addr_len | 29 | What: /sys/class/net/<iface>/addr_len |
| 24 | Date: April 2005 | 30 | Date: April 2005 |
| @@ -51,9 +57,12 @@ Description: · 26 unmodified lines | |||
| 51 | Default value 0 does not forward any link local frames. | 57 | Default value 0 does not forward any link local frames. |
| 52 | 58 | ||
| 53 | Restricted bits: | 59 | Restricted bits: |
| 54 | 0: 01-80-C2-00-00-00 Bridge Group Address used for STP | 60 | |
| 55 | 1: 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE | 61 | == ======================================================== |
| 56 | 2: 01-80-C2-00-00-02 (Link Aggregation) 802.3ad | 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 | Any values not setting these bits can be used. Take special | 67 | Any values not setting these bits can be used. Take special |
| 59 | care when forwarding control frames e.g. 802.1X-PAE or LLDP. | 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 | Description: | 83 | Description: |
| 75 | Indicates the current physical link state of the interface. | 84 | Indicates the current physical link state of the interface. |
| 76 | Posssible values are: | 85 | Posssible values are: |
| 77 | 0: physical link is down | 86 | |
| 78 | 1: physical link is up | 87 | == ===================== |
| 88 | 0 physical link is down | ||
| 89 | 1 physical link is up | ||
| 90 | == ===================== | ||
| 79 | 91 | ||
| 80 | Note: some special devices, e.g: bonding and team drivers will | 92 | Note: some special devices, e.g: bonding and team drivers will |
| 81 | allow this attribute to be written to force a link state for | 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 | Description: | 143 | Description: |
| 132 | Indicates whether the interface is under test. Possible | 144 | Indicates whether the interface is under test. Possible |
| 133 | values are: | 145 | values are: |
| 134 | 0: interface is not being tested | 146 | |
| 135 | 1: interface is being tested | 147 | == ============================= |
| 148 | 0 interface is not being tested | ||
| 149 | 1 interface is being tested | ||
| 150 | == ============================= | ||
| 136 | 151 | ||
| 137 | When an interface is under test, it cannot be expected | 152 | When an interface is under test, it cannot be expected |
| 138 | to pass packets as normal. | 153 | to pass packets as normal. |
| 139 | 154 | ||
| 140 | What: /sys/clas/net/<iface>/duplex | 155 | What: /sys/class/net/<iface>/duplex |
| 141 | Date: October 2009 | 156 | Date: October 2009 |
| 142 | KernelVersion: 2.6.33 | 157 | KernelVersion: 2.6.33 |
| 143 | Contact: netdev@vger.kernel.org | 158 | Contact: netdev@vger.kernel.org |
| 144 | Description: | 159 | Description: |
| 145 | Indicates the interface latest or current duplex value. Possible | 160 | Indicates the interface latest or current duplex value. Possible |
| 146 | values are: | 161 | values are: |
| 147 | half: half duplex | 162 | |
| 148 | full: full duplex | 163 | ==== =========== |
| 164 | half half duplex | ||
| 165 | full full duplex | ||
| 166 | ==== =========== | ||
| 149 | 167 | ||
| 150 | Note: This attribute is only valid for interfaces that implement | 168 | Note: This attribute is only valid for interfaces that implement |
| 151 | the ethtool get_link_ksettings method (mostly Ethernet). | 169 | the ethtool get_link_ksettings method (mostly Ethernet). |
| @@ -196,8 +214,11 @@ Description: · 44 unmodified lines | |||
| 196 | Indicates the interface link mode, as a decimal number. This | 214 | Indicates the interface link mode, as a decimal number. This |
| 197 | attribute should be used in conjunction with 'dormant' attribute | 215 | attribute should be used in conjunction with 'dormant' attribute |
| 198 | to determine the interface usability. Possible values: | 216 | to determine the interface usability. Possible values: |
| 199 | 0: default link mode | 217 | |
| 200 | 1: dormant link mode | 218 | == ================= |
| 219 | 0 default link mode | ||
| 220 | 1 dormant link mode | ||
| 221 | == ================= | ||
| 201 | 222 | ||
| 202 | What: /sys/class/net/<iface>/mtu | 223 | What: /sys/class/net/<iface>/mtu |
| 203 | Date: April 2005 | 224 | Date: April 2005 |
| @@ -226,7 +247,9 @@ KernelVersion: 2.6.17 · 22 unmodified lines | |||
| 226 | Contact: netdev@vger.kernel.org | 247 | Contact: netdev@vger.kernel.org |
| 227 | Description: | 248 | Description: |
| 228 | Indicates the interface RFC2863 operational state as a string. | 249 | Indicates the interface RFC2863 operational state as a string. |
| 250 | |||
| 229 | Possible values are: | 251 | Possible values are: |
| 252 | |||
| 230 | "unknown", "notpresent", "down", "lowerlayerdown", "testing", | 253 | "unknown", "notpresent", "down", "lowerlayerdown", "testing", |
| 231 | "dormant", "up". | 254 | "dormant", "up". |
| 232 | 255 | ||
| @@ -91,9 +91,9 @@ Date: May 2014 · 90 unmodified lines | |||
| 91 | KernelVersion: 3.16 | 91 | KernelVersion: 3.16 |
| 92 | Contact: Bjørn Mork <bjorn@mork.no> | 92 | Contact: Bjørn Mork <bjorn@mork.no> |
| 93 | Description: | 93 | Description: |
| 94 | Bit 0: 16-bit NTB supported (set to 1) | 94 | - Bit 0: 16-bit NTB supported (set to 1) |
| 95 | Bit 1: 32-bit NTB supported | 95 | - Bit 1: 32-bit NTB supported |
| 96 | Bits 2 – 15: reserved (reset to zero; must be ignored by host) | 96 | - Bits 2 – 15: reserved (reset to zero; must be ignored by host) |
| 97 | 97 | ||
| 98 | What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize | 98 | What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize |
| 99 | Date: May 2014 | 99 | Date: May 2014 |
| @@ -35,7 +35,9 @@ Description: · 34 unmodified lines | |||
| 35 | Ethernet driver during bus enumeration, encoded in string. | 35 | Ethernet driver during bus enumeration, encoded in string. |
| 36 | This interface mode is used to configure the Ethernet MAC with the | 36 | This interface mode is used to configure the Ethernet MAC with the |
| 37 | appropriate mode for its data lines to the PHY hardware. | 37 | appropriate mode for its data lines to the PHY hardware. |
| 38 | |||
| 38 | Possible values are: | 39 | Possible values are: |
| 40 | |||
| 39 | <empty> (not available), mii, gmii, sgmii, tbi, rev-mii, | 41 | <empty> (not available), mii, gmii, sgmii, tbi, rev-mii, |
| 40 | rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii | 42 | rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii |
| 41 | xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui, | 43 | xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui, |
| @@ -11,8 +11,11 @@ Contact: linuxppc-dev@lists.ozlabs.org · 10 unmodified lines | |||
| 11 | Description: read only | 11 | Description: read only |
| 12 | Number of contexts for the AFU, in the format <n>/<max> | 12 | Number of contexts for the AFU, in the format <n>/<max> |
| 13 | where: | 13 | where: |
| 14 | n: number of currently active contexts, for debug | 14 | |
| 15 | max: maximum number of contexts supported by the AFU | 15 | ==== =============================================== |
| 16 | n number of currently active contexts, for debug | ||
| 17 | max maximum number of contexts supported by the AFU | ||
| 18 | ==== =============================================== | ||
| 16 | 19 | ||
| 17 | What: /sys/class/ocxl/<afu name>/pp_mmio_size | 20 | What: /sys/class/ocxl/<afu name>/pp_mmio_size |
| 18 | Date: January 2018 | 21 | Date: January 2018 |
| @@ -40,7 +43,9 @@ Contact: linuxppc-dev@lists.ozlabs.org · 21 unmodified lines | |||
| 40 | Description: read/write | 43 | Description: read/write |
| 41 | Control whether the FPGA is reloaded on a link reset. Enabled | 44 | Control whether the FPGA is reloaded on a link reset. Enabled |
| 42 | through a vendor-specific logic block on the FPGA. | 45 | through a vendor-specific logic block on the FPGA. |
| 43 | 0 Do not reload FPGA image from flash | 46 | |
| 44 | 1 Reload FPGA image from flash | 47 | =========== =========================================== |
| 45 | unavailable | 48 | 0 Do not reload FPGA image from flash |
| 46 | The device does not support this capability | 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 | Contact: Thomas Maier <balagi@justmail.de> | 11 | Contact: Thomas Maier <balagi@justmail.de> |
| 12 | Description: | 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 | create a new pktcdvd device and map it to the | 16 | create a new pktcdvd device and map it to the |
| 16 | block device. | 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 | to remove the pktcdvd device. | 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 | pktcdvd[0-7] <pktdevid> <blkdevid> | 23 | pktcdvd[0-7] <pktdevid> <blkdevid> |
| 24 | ========== ============================================== | ||
| 23 | 25 | ||
| 24 | 26 | ||
| 25 | What: /sys/class/pktcdvd/pktcdvd[0-7]/dev | 27 | What: /sys/class/pktcdvd/pktcdvd[0-7]/dev |
| @@ -65,29 +67,31 @@ Date: Oct. 2006 · 39 unmodified lines | |||
| 65 | KernelVersion: 2.6.20 | 67 | KernelVersion: 2.6.20 |
| 66 | Contact: Thomas Maier <balagi@justmail.de> | 68 | Contact: Thomas Maier <balagi@justmail.de> |
| 67 | Description: | 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 | accept new bio requests from the block layer. | 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 | mark, do no longer accept bio write requests | 77 | mark, do no longer accept bio write requests |
| 75 | from the block layer and wait till the pktcdvd | 78 | from the block layer and wait till the pktcdvd |
| 76 | device has processed enough bio's so that bio | 79 | device has processed enough bio's so that bio |
| 77 | write queue size is below congestion off mark. | 80 | write queue size is below congestion off mark. |
| 78 | A value of <= 0 disables congestion control. | 81 | A value of <= 0 disables congestion control. |
| 82 | ============== ================================================ | ||
| 79 | 83 | ||
| 80 | 84 | ||
| 81 | Example: | 85 | Example: |
| 82 | -------- | 86 | -------- |
| 83 | To use the pktcdvd sysfs interface directly, you can do: | 87 | To use the pktcdvd sysfs interface directly, you can do:: |
| 84 | 88 | ||
| 85 | # create a new pktcdvd device mapped to /dev/hdc | 89 | # create a new pktcdvd device mapped to /dev/hdc |
| 86 | echo "22:0" >/sys/class/pktcdvd/add | 90 | echo "22:0" >/sys/class/pktcdvd/add |
| 87 | cat /sys/class/pktcdvd/device_map | 91 | cat /sys/class/pktcdvd/device_map |
| 88 | # assuming device pktcdvd0 was created, look at stat's | 92 | # assuming device pktcdvd0 was created, look at stat's |
| 89 | cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written | 93 | cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written |
| 90 | # print the device id of the mapped block device | 94 | # print the device id of the mapped block device |
| 91 | fgrep pktcdvd0 /sys/class/pktcdvd/device_map | 95 | fgrep pktcdvd0 /sys/class/pktcdvd/device_map |
| 92 | # remove device, using pktcdvd0 device id 253:0 | 96 | # remove device, using pktcdvd0 device id 253:0 |
| 93 | echo "253:0" >/sys/class/pktcdvd/remove | 97 | echo "253:0" >/sys/class/pktcdvd/remove |
| @@ -1,4 +1,4 @@ | |||
| 1 | ===== General Properties ===== | 1 | **General Properties** |
| 2 | 2 | ||
| 3 | What: /sys/class/power_supply/<supply_name>/manufacturer | 3 | What: /sys/class/power_supply/<supply_name>/manufacturer |
| 4 | Date: May 2007 | 4 | Date: May 2007 |
| @@ -34,16 +34,240 @@ Description: · 29 unmodified lines | |||
| 34 | Describes the main type of the supply. | 34 | Describes the main type of the supply. |
| 35 | 35 | ||
| 36 | Access: Read | 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 | What: /sys/class/power_supply/<supply_name>/capacity | 263 | What: /sys/class/power_supply/<supply_name>/capacity |
| 42 | Date: May 2007 | 264 | Date: May 2007 |
| 43 | Contact: linux-pm@vger.kernel.org | 265 | Contact: linux-pm@vger.kernel.org |
| 44 | Description: | 266 | Description: |
| 45 | Fine grain representation of battery capacity. | 267 | Fine grain representation of battery capacity. |
| 268 | |||
| 46 | Access: Read | 269 | Access: Read |
| 270 | |||
| 47 | Valid values: 0 - 100 (percent) | 271 | Valid values: 0 - 100 (percent) |
| 48 | 272 | ||
| 49 | What: /sys/class/power_supply/<supply_name>/capacity_alert_max | 273 | What: /sys/class/power_supply/<supply_name>/capacity_alert_max |
| @@ -58,6 +282,7 @@ Description: · 8 unmodified lines | |||
| 58 | low). | 282 | low). |
| 59 | 283 | ||
| 60 | Access: Read, Write | 284 | Access: Read, Write |
| 285 | |||
| 61 | Valid values: 0 - 100 (percent) | 286 | Valid values: 0 - 100 (percent) |
| 62 | 287 | ||
| 63 | What: /sys/class/power_supply/<supply_name>/capacity_alert_min | 288 | What: /sys/class/power_supply/<supply_name>/capacity_alert_min |
| @@ -72,6 +297,7 @@ Description: · 8 unmodified lines | |||
| 72 | critically low). | 297 | critically low). |
| 73 | 298 | ||
| 74 | Access: Read, Write | 299 | Access: Read, Write |
| 300 | |||
| 75 | Valid values: 0 - 100 (percent) | 301 | Valid values: 0 - 100 (percent) |
| 76 | 302 | ||
| 77 | What: /sys/class/power_supply/<supply_name>/capacity_error_margin | 303 | What: /sys/class/power_supply/<supply_name>/capacity_error_margin |
| @@ -87,6 +313,7 @@ Description: · 9 unmodified lines | |||
| 87 | completely useless. | 313 | completely useless. |
| 88 | 314 | ||
| 89 | Access: Read | 315 | Access: Read |
| 316 | |||
| 90 | Valid values: 0 - 100 (percent) | 317 | Valid values: 0 - 100 (percent) |
| 91 | 318 | ||
| 92 | What: /sys/class/power_supply/<supply_name>/capacity_level | 319 | What: /sys/class/power_supply/<supply_name>/capacity_level |
| @@ -96,38 +323,10 @@ Description: · 3 unmodified lines | |||
| 96 | Coarse representation of battery capacity. | 323 | Coarse representation of battery capacity. |
| 97 | 324 | ||
| 98 | Access: Read | 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 | 327 | Valid values: |
| 114 | Date: October 2010 | 328 | "Unknown", "Critical", "Low", "Normal", "High", |
| 115 | Contact: linux-pm@vger.kernel.org | 329 | "Full" |
| 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 | ||
| 131 | 330 | ||
| 132 | What: /sys/class/power_supply/<supply_name>/charge_control_limit | 331 | What: /sys/class/power_supply/<supply_name>/charge_control_limit |
| 133 | Date: Oct 2012 | 332 | Date: Oct 2012 |
| @@ -137,6 +336,7 @@ Description: · 3 unmodified lines | |||
| 137 | throttling for thermal cooling or improving battery health. | 336 | throttling for thermal cooling or improving battery health. |
| 138 | 337 | ||
| 139 | Access: Read, Write | 338 | Access: Read, Write |
| 339 | |||
| 140 | Valid values: Represented in microamps | 340 | Valid values: Represented in microamps |
| 141 | 341 | ||
| 142 | What: /sys/class/power_supply/<supply_name>/charge_control_limit_max | 342 | What: /sys/class/power_supply/<supply_name>/charge_control_limit_max |
| @@ -146,6 +346,7 @@ Description: · 3 unmodified lines | |||
| 146 | Maximum legal value for the charge_control_limit property. | 346 | Maximum legal value for the charge_control_limit property. |
| 147 | 347 | ||
| 148 | Access: Read | 348 | Access: Read |
| 349 | |||
| 149 | Valid values: Represented in microamps | 350 | Valid values: Represented in microamps |
| 150 | 351 | ||
| 151 | What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold | 352 | What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold |
| @@ -166,6 +367,7 @@ Description: · 14 unmodified lines | |||
| 166 | stop. | 367 | stop. |
| 167 | 368 | ||
| 168 | Access: Read, Write | 369 | Access: Read, Write |
| 370 | |||
| 169 | Valid values: 0 - 100 (percent) | 371 | Valid values: 0 - 100 (percent) |
| 170 | 372 | ||
| 171 | What: /sys/class/power_supply/<supply_name>/charge_type | 373 | What: /sys/class/power_supply/<supply_name>/charge_type |
| @@ -181,7 +383,9 @@ Description: · 9 unmodified lines | |||
| 181 | different algorithm. | 383 | different algorithm. |
| 182 | 384 | ||
| 183 | Access: Read, Write | 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 | "Adaptive", "Custom" | 389 | "Adaptive", "Custom" |
| 186 | 390 | ||
| 187 | What: /sys/class/power_supply/<supply_name>/charge_term_current | 391 | What: /sys/class/power_supply/<supply_name>/charge_term_current |
| @@ -192,6 +396,7 @@ Description: · 4 unmodified lines | |||
| 192 | when the battery is considered full and charging should end. | 396 | when the battery is considered full and charging should end. |
| 193 | 397 | ||
| 194 | Access: Read | 398 | Access: Read |
| 399 | |||
| 195 | Valid values: Represented in microamps | 400 | Valid values: Represented in microamps |
| 196 | 401 | ||
| 197 | What: /sys/class/power_supply/<supply_name>/health | 402 | What: /sys/class/power_supply/<supply_name>/health |
| @@ -202,7 +407,9 @@ Description: · 4 unmodified lines | |||
| 202 | functionality. | 407 | functionality. |
| 203 | 408 | ||
| 204 | Access: Read | 409 | Access: Read |
| 205 | Valid values: "Unknown", "Good", "Overheat", "Dead", | 410 | |
| 411 | Valid values: | ||
| 412 | "Unknown", "Good", "Overheat", "Dead", | ||
| 206 | "Over voltage", "Unspecified failure", "Cold", | 413 | "Over voltage", "Unspecified failure", "Cold", |
| 207 | "Watchdog timer expire", "Safety timer expire", | 414 | "Watchdog timer expire", "Safety timer expire", |
| 208 | "Over current", "Calibration required", "Warm", | 415 | "Over current", "Calibration required", "Warm", |
| @@ -216,6 +423,7 @@ Description: · 7 unmodified lines | |||
| 216 | for a battery charge cycle. | 423 | for a battery charge cycle. |
| 217 | 424 | ||
| 218 | Access: Read | 425 | Access: Read |
| 426 | |||
| 219 | Valid values: Represented in microamps | 427 | Valid values: Represented in microamps |
| 220 | 428 | ||
| 221 | What: /sys/class/power_supply/<supply_name>/present | 429 | What: /sys/class/power_supply/<supply_name>/present |
| @@ -225,9 +433,13 @@ Description: · 3 unmodified lines | |||
| 225 | Reports whether a battery is present or not in the system. | 433 | Reports whether a battery is present or not in the system. |
| 226 | 434 | ||
| 227 | Access: Read | 435 | Access: Read |
| 436 | |||
| 228 | Valid values: | 437 | Valid values: |
| 438 | |||
| 439 | == ======= | ||
| 229 | 0: Absent | 440 | 0: Absent |
| 230 | 1: Present | 441 | 1: Present |
| 442 | == ======= | ||
| 231 | 443 | ||
| 232 | What: /sys/class/power_supply/<supply_name>/status | 444 | What: /sys/class/power_supply/<supply_name>/status |
| 233 | Date: May 2007 | 445 | Date: May 2007 |
| @@ -238,7 +450,9 @@ Description: · 4 unmodified lines | |||
| 238 | used to enable/disable charging to the battery. | 450 | used to enable/disable charging to the battery. |
| 239 | 451 | ||
| 240 | Access: Read, Write | 452 | Access: Read, Write |
| 241 | Valid values: "Unknown", "Charging", "Discharging", | 453 | |
| 454 | Valid values: | ||
| 455 | "Unknown", "Charging", "Discharging", | ||
| 242 | "Not charging", "Full" | 456 | "Not charging", "Full" |
| 243 | 457 | ||
| 244 | What: /sys/class/power_supply/<supply_name>/technology | 458 | What: /sys/class/power_supply/<supply_name>/technology |
| @@ -248,66 +462,11 @@ Description: · 3 unmodified lines | |||
| 248 | Describes the battery technology supported by the supply. | 462 | Describes the battery technology supported by the supply. |
| 249 | 463 | ||
| 250 | Access: Read | 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 | 466 | Valid values: |
| 303 | Date: July 2014 | 467 | "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", |
| 304 | Contact: linux-pm@vger.kernel.org | 468 | "NiCd", "LiMn" |
| 305 | Description: | ||
| 306 | Reports the minimum allowed TBAT battery temperature for | ||
| 307 | charging. | ||
| 308 | 469 | ||
| 309 | Access: Read | ||
| 310 | Valid values: Represented in 1/10 Degrees Celsius | ||
| 311 | 470 | ||
| 312 | What: /sys/class/power_supply/<supply_name>/voltage_avg, | 471 | What: /sys/class/power_supply/<supply_name>/voltage_avg, |
| 313 | Date: May 2007 | 472 | Date: May 2007 |
| @@ -318,72 +477,10 @@ Description: · 4 unmodified lines | |||
| 318 | which they average readings to smooth out the reported value. | 477 | which they average readings to smooth out the reported value. |
| 319 | 478 | ||
| 320 | Access: Read | 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 | Valid values: Represented in microvolts | 481 | Valid values: Represented in microvolts |
| 342 | 482 | ||
| 343 | What: /sys/class/power_supply/<supply_name>/voltage_now, | 483 | **USB Properties** |
| 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 | ||
| 387 | 484 | ||
| 388 | What: /sys/class/power_supply/<supply_name>/input_current_limit | 485 | What: /sys/class/power_supply/<supply_name>/input_current_limit |
| 389 | Date: July 2014 | 486 | Date: July 2014 |
| @@ -397,6 +494,7 @@ Description: · 7 unmodified lines | |||
| 397 | solved using power limit use input_current_limit. | 494 | solved using power limit use input_current_limit. |
| 398 | 495 | ||
| 399 | Access: Read, Write | 496 | Access: Read, Write |
| 497 | |||
| 400 | Valid values: Represented in microamps | 498 | Valid values: Represented in microamps |
| 401 | 499 | ||
| 402 | What: /sys/class/power_supply/<supply_name>/input_voltage_limit | 500 | What: /sys/class/power_supply/<supply_name>/input_voltage_limit |
| @@ -414,6 +512,7 @@ Description: · 11 unmodified lines | |||
| 414 | solved using power limit use input_voltage_limit. | 512 | solved using power limit use input_voltage_limit. |
| 415 | 513 | ||
| 416 | Access: Read, Write | 514 | Access: Read, Write |
| 515 | |||
| 417 | Valid values: Represented in microvolts | 516 | Valid values: Represented in microvolts |
| 418 | 517 | ||
| 419 | What: /sys/class/power_supply/<supply_name>/input_power_limit | 518 | What: /sys/class/power_supply/<supply_name>/input_power_limit |
| @@ -427,6 +526,7 @@ Description: · 7 unmodified lines | |||
| 427 | limit only for problems that can be solved using power limit. | 526 | limit only for problems that can be solved using power limit. |
| 428 | 527 | ||
| 429 | Access: Read, Write | 528 | Access: Read, Write |
| 529 | |||
| 430 | Valid values: Represented in microwatts | 530 | Valid values: Represented in microwatts |
| 431 | 531 | ||
| 432 | What: /sys/class/power_supply/<supply_name>/online, | 532 | What: /sys/class/power_supply/<supply_name>/online, |
| @@ -439,69 +539,14 @@ Description: · 6 unmodified lines | |||
| 439 | USB supply so voltage and current can be controlled). | 539 | USB supply so voltage and current can be controlled). |
| 440 | 540 | ||
| 441 | Access: Read, Write | 541 | Access: Read, Write |
| 542 | |||
| 442 | Valid values: | 543 | Valid values: |
| 544 | |||
| 545 | == ================================================== | ||
| 443 | 0: Offline | 546 | 0: Offline |
| 444 | 1: Online Fixed - Fixed Voltage Supply | 547 | 1: Online Fixed - Fixed Voltage Supply |
| 445 | 2: Online Programmable - Programmable Voltage Supply | 548 | 2: Online Programmable - Programmable Voltage Supply |
| 446 | 549 | == ================================================== | |
| 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 | ||
| 505 | 550 | ||
| 506 | What: /sys/class/power_supply/<supply_name>/usb_type | 551 | What: /sys/class/power_supply/<supply_name>/usb_type |
| 507 | Date: March 2018 | 552 | Date: March 2018 |
| @@ -512,40 +557,12 @@ Description: · 4 unmodified lines | |||
| 512 | is attached. | 557 | is attached. |
| 513 | 558 | ||
| 514 | Access: Read-Only | 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 | 561 | Valid values: |
| 534 | Valid values: Represented in microvolts | 562 | "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", |
| 535 | 563 | "PD_DRP", "PD_PPS", "BrickID" | |
| 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 | ||
| 547 | 564 | ||
| 548 | ===== Device Specific Properties ===== | 565 | **Device Specific Properties** |
| 549 | 566 | ||
| 550 | What: /sys/class/power/ds2760-battery.*/charge_now | 567 | What: /sys/class/power/ds2760-battery.*/charge_now |
| 551 | Date: May 2010 | 568 | Date: May 2010 |
| @@ -579,6 +596,7 @@ Description: · 27 unmodified lines | |||
| 579 | will drop to 0 A) and will trigger interrupt. | 596 | will drop to 0 A) and will trigger interrupt. |
| 580 | 597 | ||
| 581 | Valid values: | 598 | Valid values: |
| 599 | |||
| 582 | - 5, 6 or 7 (hours), | 600 | - 5, 6 or 7 (hours), |
| 583 | - 0: disabled. | 601 | - 0: disabled. |
| 584 | 602 | ||
| @@ -593,6 +611,7 @@ Description: · 8 unmodified lines | |||
| 593 | will drop to 0 A) and will trigger interrupt. | 611 | will drop to 0 A) and will trigger interrupt. |
| 594 | 612 | ||
| 595 | Valid values: | 613 | Valid values: |
| 614 | |||
| 596 | - 4 - 16 (hours), step by 2 (rounded down) | 615 | - 4 - 16 (hours), step by 2 (rounded down) |
| 597 | - 0: disabled. | 616 | - 0: disabled. |
| 598 | 617 | ||
| @@ -607,6 +626,7 @@ Description: · 8 unmodified lines | |||
| 607 | interrupt and start top-off charging mode. | 626 | interrupt and start top-off charging mode. |
| 608 | 627 | ||
| 609 | Valid values: | 628 | Valid values: |
| 629 | |||
| 610 | - 100000 - 200000 (microamps), step by 25000 (rounded down) | 630 | - 100000 - 200000 (microamps), step by 25000 (rounded down) |
| 611 | - 200000 - 350000 (microamps), step by 50000 (rounded down) | 631 | - 200000 - 350000 (microamps), step by 50000 (rounded down) |
| 612 | - 0: disabled. | 632 | - 0: disabled. |
| @@ -622,6 +642,7 @@ Description: · 9 unmodified lines | |||
| 622 | will drop to 0 A) and will trigger interrupt. | 642 | will drop to 0 A) and will trigger interrupt. |
| 623 | 643 | ||
| 624 | Valid values: | 644 | Valid values: |
| 645 | |||
| 625 | - 0 - 70 (minutes), step by 10 (rounded down) | 646 | - 0 - 70 (minutes), step by 10 (rounded down) |
| 626 | 647 | ||
| 627 | What: /sys/class/power_supply/bq24257-charger/ovp_voltage | 648 | What: /sys/class/power_supply/bq24257-charger/ovp_voltage |
| @@ -635,6 +656,7 @@ Description: · 7 unmodified lines | |||
| 635 | device datasheet for details. | 656 | device datasheet for details. |
| 636 | 657 | ||
| 637 | Valid values: | 658 | Valid values: |
| 659 | |||
| 638 | - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, | 660 | - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, |
| 639 | 10500000 (all uV) | 661 | 10500000 (all uV) |
| 640 | 662 | ||
| @@ -650,6 +672,7 @@ Description: · 9 unmodified lines | |||
| 650 | lower than the set value. See device datasheet for details. | 672 | lower than the set value. See device datasheet for details. |
| 651 | 673 | ||
| 652 | Valid values: | 674 | Valid values: |
| 675 | |||
| 653 | - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, | 676 | - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, |
| 654 | 4760000 (all uV) | 677 | 4760000 (all uV) |
| 655 | 678 | ||
| @@ -664,6 +687,7 @@ Description: · 8 unmodified lines | |||
| 664 | the charger operates normally. See device datasheet for details. | 687 | the charger operates normally. See device datasheet for details. |
| 665 | 688 | ||
| 666 | Valid values: | 689 | Valid values: |
| 690 | |||
| 667 | - 1: enabled | 691 | - 1: enabled |
| 668 | - 0: disabled | 692 | - 0: disabled |
| 669 | 693 | ||
| @@ -679,6 +703,7 @@ Description: · 9 unmodified lines | |||
| 679 | from the system. See device datasheet for details. | 703 | from the system. See device datasheet for details. |
| 680 | 704 | ||
| 681 | Valid values: | 705 | Valid values: |
| 706 | |||
| 682 | - 1: enabled | 707 | - 1: enabled |
| 683 | - 0: disabled | 708 | - 0: disabled |
| 684 | 709 | ||
| @@ -690,6 +715,7 @@ Description: · 5 unmodified lines | |||
| 690 | manufactured. | 715 | manufactured. |
| 691 | 716 | ||
| 692 | Access: Read | 717 | Access: Read |
| 718 | |||
| 693 | Valid values: Reported as integer | 719 | Valid values: Reported as integer |
| 694 | 720 | ||
| 695 | What: /sys/class/power_supply/<supply_name>/manufacture_month | 721 | What: /sys/class/power_supply/<supply_name>/manufacture_month |
| @@ -699,6 +725,7 @@ Description: · 3 unmodified lines | |||
| 699 | Reports the month when the device has been manufactured. | 725 | Reports the month when the device has been manufactured. |
| 700 | 726 | ||
| 701 | Access: Read | 727 | Access: Read |
| 728 | |||
| 702 | Valid values: 1-12 | 729 | Valid values: 1-12 |
| 703 | 730 | ||
| 704 | What: /sys/class/power_supply/<supply_name>/manufacture_day | 731 | What: /sys/class/power_supply/<supply_name>/manufacture_day |
| @@ -5,4 +5,5 @@ Description: · 4 unmodified lines | |||
| 5 | Represents a battery impedance compensation to accelerate charging. | 5 | Represents a battery impedance compensation to accelerate charging. |
| 6 | 6 | ||
| 7 | Access: Read, Write | 7 | Access: Read, Write |
| 8 | |||
| 8 | Valid values: Represented in milli-ohms. Valid range is [0, 140]. | 9 | Valid values: Represented in milli-ohms. Valid range is [0, 140]. |
| @@ -4,18 +4,20 @@ Description: · 3 unmodified lines | |||
| 4 | Writing to this can disable charging. | 4 | Writing to this can disable charging. |
| 5 | 5 | ||
| 6 | Possible values are: | 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 | 8 | ============= =========================================== |
| 17 | such as bicycle dynamo, but care should | 9 | "auto" draw power as appropriate for detected |
| 18 | be taken that battery is not over-charged. | 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 | What: /sys/class/power_supply/twl4030_ac/mode | 22 | What: /sys/class/power_supply/twl4030_ac/mode |
| 21 | Description: | 23 | Description: |
| @@ -23,6 +25,9 @@ Description: · 1 unmodified line | |||
| 23 | Writing to this can disable charging. | 25 | Writing to this can disable charging. |
| 24 | 26 | ||
| 25 | Possible values are: | 27 | Possible values are: |
| 26 | "auto" - draw power as appropriate for detected | 28 | |
| 27 | power source and battery status. | 29 | ====== =========================================== |
| 28 | "off" - do not draw any power. | 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 | Description: | 4 | Description: |
| 5 | What charging algorithm to use: | 5 | What charging algorithm to use: |
| 6 | 6 | ||
| 7 | Standard: Fully charges battery at a standard rate. | 7 | Standard: |
| 8 | Adaptive: Battery settings adaptively optimized based on | 8 | Fully charges battery at a standard rate. |
| 9 | Adaptive: | ||
| 10 | Battery settings adaptively optimized based on | ||
| 9 | typical battery usage pattern. | 11 | typical battery usage pattern. |
| 10 | Fast: Battery charges over a shorter period. | 12 | Fast: |
| 11 | Trickle: Extends battery lifespan, intended for users who | 13 | Battery charges over a shorter period. |
| 14 | Trickle: | ||
| 15 | Extends battery lifespan, intended for users who | ||
| 12 | primarily use their Chromebook while connected to AC. | 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 | Charging begins when level drops below | 19 | Charging begins when level drops below |
| 15 | charge_control_start_threshold, and ceases when | 20 | charge_control_start_threshold, and ceases when |
| 16 | level is above charge_control_end_threshold. | 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 | On Wilco device this mode is pre-configured in the factory | 24 | On Wilco device this mode is pre-configured in the factory |
| 19 | through EC's private PID. Swiching to a different mode will | 25 | through EC's private PID. Swiching to a different mode will |
| 20 | be denied by Wilco EC when Long Life mode is enabled. | 26 | be denied by Wilco EC when Long Life mode is enabled. |
| @@ -6,6 +6,7 @@ Description: · 5 unmodified lines | |||
| 6 | The /sys/class/rapidio_port subdirectory contains individual | 6 | The /sys/class/rapidio_port subdirectory contains individual |
| 7 | subdirectories named as "rapidioN" where N = mport ID registered | 7 | subdirectories named as "rapidioN" where N = mport ID registered |
| 8 | with RapidIO subsystem. | 8 | with RapidIO subsystem. |
| 9 | |||
| 9 | NOTE: An mport ID is not a RapidIO destination ID assigned to a | 10 | NOTE: An mport ID is not a RapidIO destination ID assigned to a |
| 10 | given local mport device. | 11 | given local mport device. |
| 11 | 12 | ||
| @@ -16,7 +17,9 @@ Contact: Matt Porter <mporter@kernel.crashing.org>, · 4 unmodified lines | |||
| 16 | Alexandre Bounine <alexandre.bounine@idt.com> | 17 | Alexandre Bounine <alexandre.bounine@idt.com> |
| 17 | Description: | 18 | Description: |
| 18 | (RO) reports RapidIO common transport system size: | 19 | (RO) reports RapidIO common transport system size: |
| 20 | |||
| 19 | 0 = small (8-bit destination ID, max. 256 devices), | 21 | 0 = small (8-bit destination ID, max. 256 devices), |
| 22 | |||
| 20 | 1 = large (16-bit destination ID, max. 65536 devices). | 23 | 1 = large (16-bit destination ID, max. 65536 devices). |
| 21 | 24 | ||
| 22 | What: /sys/class/rapidio_port/rapidioN/port_destid | 25 | What: /sys/class/rapidio_port/rapidioN/port_destid |
| @@ -25,31 +28,32 @@ KernelVersion: v3.15 · 2 unmodified lines | |||
| 25 | Contact: Matt Porter <mporter@kernel.crashing.org>, | 28 | Contact: Matt Porter <mporter@kernel.crashing.org>, |
| 26 | Alexandre Bounine <alexandre.bounine@idt.com> | 29 | Alexandre Bounine <alexandre.bounine@idt.com> |
| 27 | Description: | 30 | Description: |
| 28 | (RO) reports RapidIO destination ID assigned to the given | 31 | |
| 29 | RapidIO mport device. If value 0xFFFFFFFF is returned this means | 32 | (RO) reports RapidIO destination ID assigned to the given |
| 30 | that no valid destination ID have been assigned to the mport | 33 | RapidIO mport device. If value 0xFFFFFFFF is returned this means |
| 31 | (yet). Normally, before enumeration/discovery have been executed | 34 | that no valid destination ID have been assigned to the mport |
| 32 | only fabric enumerating mports have a valid destination ID | 35 | (yet). Normally, before enumeration/discovery have been executed |
| 33 | assigned to them using "hdid=..." rapidio module parameter. | 36 | only fabric enumerating mports have a valid destination ID |
| 37 | assigned to them using "hdid=..." rapidio module parameter. | ||
| 34 | 38 | ||
| 35 | After enumeration or discovery was performed for a given mport device, | 39 | After enumeration or discovery was performed for a given mport device, |
| 36 | the corresponding subdirectory will also contain subdirectories for each | 40 | the corresponding subdirectory will also contain subdirectories for each |
| 37 | child RapidIO device connected to the mport. | 41 | child RapidIO device connected to the mport. |
| 38 | 42 | ||
| 39 | The example below shows mport device subdirectory with several child RapidIO | 43 | The example below shows mport device subdirectory with several child RapidIO |
| 40 | devices attached to it. | 44 | devices attached to it:: |
| 41 | 45 | ||
| 42 | [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l | 46 | [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l |
| 43 | total 0 | 47 | total 0 |
| 44 | drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 | 48 | 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 | 49 | 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 | 50 | 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 | 51 | 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 | 52 | 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 | 53 | 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 | 54 | 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 | 55 | -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 | 56 | 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 | 57 | 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 | 58 | -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 | 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 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 21 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 22 | Description: | 22 | Description: |
| 23 | Reading this file returns a list of available protocols, | 23 | Reading this file returns a list of available protocols, |
| 24 | something like: | 24 | something like:: |
| 25 | |||
| 25 | "rc5 [rc6] nec jvc [sony]" | 26 | "rc5 [rc6] nec jvc [sony]" |
| 27 | |||
| 26 | Enabled protocols are shown in [] brackets. | 28 | Enabled protocols are shown in [] brackets. |
| 29 | |||
| 27 | Writing "+proto" will add a protocol to the list of enabled | 30 | Writing "+proto" will add a protocol to the list of enabled |
| 28 | protocols. | 31 | protocols. |
| 32 | |||
| 29 | Writing "-proto" will remove a protocol from the list of enabled | 33 | Writing "-proto" will remove a protocol from the list of enabled |
| 30 | protocols. | 34 | protocols. |
| 35 | |||
| 31 | Writing "proto" will enable only "proto". | 36 | Writing "proto" will enable only "proto". |
| 37 | |||
| 32 | Writing "none" will disable all protocols. | 38 | Writing "none" will disable all protocols. |
| 39 | |||
| 33 | Write fails with EINVAL if an invalid protocol combination or | 40 | Write fails with EINVAL if an invalid protocol combination or |
| 34 | unknown protocol name is used. | 41 | unknown protocol name is used. |
| 35 | 42 | ||
| @@ -39,11 +46,13 @@ KernelVersion: 3.15 · 3 unmodified lines | |||
| 39 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 46 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 40 | Description: | 47 | Description: |
| 41 | Sets the scancode filter expected value. | 48 | Sets the scancode filter expected value. |
| 49 | |||
| 42 | Use in combination with /sys/class/rc/rcN/filter_mask to set the | 50 | Use in combination with /sys/class/rc/rcN/filter_mask to set the |
| 43 | expected value of the bits set in the filter mask. | 51 | expected value of the bits set in the filter mask. |
| 44 | If the hardware supports it then scancodes which do not match | 52 | If the hardware supports it then scancodes which do not match |
| 45 | the filter will be ignored. Otherwise the write will fail with | 53 | the filter will be ignored. Otherwise the write will fail with |
| 46 | an error. | 54 | an error. |
| 55 | |||
| 47 | This value may be reset to 0 if the current protocol is altered. | 56 | This value may be reset to 0 if the current protocol is altered. |
| 48 | 57 | ||
| 49 | What: /sys/class/rc/rcN/filter_mask | 58 | What: /sys/class/rc/rcN/filter_mask |
| @@ -56,9 +65,11 @@ Description: · 6 unmodified lines | |||
| 56 | of the scancode which should be compared against the expected | 65 | of the scancode which should be compared against the expected |
| 57 | value. A value of 0 disables the filter to allow all valid | 66 | value. A value of 0 disables the filter to allow all valid |
| 58 | scancodes to be processed. | 67 | scancodes to be processed. |
| 68 | |||
| 59 | If the hardware supports it then scancodes which do not match | 69 | If the hardware supports it then scancodes which do not match |
| 60 | the filter will be ignored. Otherwise the write will fail with | 70 | the filter will be ignored. Otherwise the write will fail with |
| 61 | an error. | 71 | an error. |
| 72 | |||
| 62 | This value may be reset to 0 if the current protocol is altered. | 73 | This value may be reset to 0 if the current protocol is altered. |
| 63 | 74 | ||
| 64 | What: /sys/class/rc/rcN/wakeup_protocols | 75 | What: /sys/class/rc/rcN/wakeup_protocols |
| @@ -67,15 +78,22 @@ KernelVersion: 4.11 · 2 unmodified lines | |||
| 67 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 78 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 68 | Description: | 79 | Description: |
| 69 | Reading this file returns a list of available protocols to use | 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 | "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce" | 83 | "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce" |
| 84 | |||
| 72 | Note that protocol variants are listed, so "nec", "sony", | 85 | Note that protocol variants are listed, so "nec", "sony", |
| 73 | "rc-5", "rc-6" have their different bit length encodings | 86 | "rc-5", "rc-6" have their different bit length encodings |
| 74 | listed if available. | 87 | listed if available. |
| 88 | |||
| 75 | The enabled wakeup protocol is shown in [] brackets. | 89 | The enabled wakeup protocol is shown in [] brackets. |
| 90 | |||
| 76 | Only one protocol can be selected at a time. | 91 | Only one protocol can be selected at a time. |
| 92 | |||
| 77 | Writing "proto" will use "proto" for wakeup events. | 93 | Writing "proto" will use "proto" for wakeup events. |
| 94 | |||
| 78 | Writing "none" will disable wakeup. | 95 | Writing "none" will disable wakeup. |
| 96 | |||
| 79 | Write fails with EINVAL if an invalid protocol combination or | 97 | Write fails with EINVAL if an invalid protocol combination or |
| 80 | unknown protocol name is used, or if wakeup is not supported by | 98 | unknown protocol name is used, or if wakeup is not supported by |
| 81 | the hardware. | 99 | the hardware. |
| @@ -86,13 +104,17 @@ KernelVersion: 3.15 · 4 unmodified lines | |||
| 86 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 104 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 87 | Description: | 105 | Description: |
| 88 | Sets the scancode wakeup filter expected value. | 106 | Sets the scancode wakeup filter expected value. |
| 107 | |||
| 89 | Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to | 108 | Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to |
| 90 | set the expected value of the bits set in the wakeup filter mask | 109 | set the expected value of the bits set in the wakeup filter mask |
| 91 | to trigger a system wake event. | 110 | to trigger a system wake event. |
| 111 | |||
| 92 | If the hardware supports it and wakeup_filter_mask is not 0 then | 112 | If the hardware supports it and wakeup_filter_mask is not 0 then |
| 93 | scancodes which match the filter will wake the system from e.g. | 113 | scancodes which match the filter will wake the system from e.g. |
| 94 | suspend to RAM or power off. | 114 | suspend to RAM or power off. |
| 115 | |||
| 95 | Otherwise the write will fail with an error. | 116 | Otherwise the write will fail with an error. |
| 117 | |||
| 96 | This value may be reset to 0 if the wakeup protocol is altered. | 118 | This value may be reset to 0 if the wakeup protocol is altered. |
| 97 | 119 | ||
| 98 | What: /sys/class/rc/rcN/wakeup_filter_mask | 120 | What: /sys/class/rc/rcN/wakeup_filter_mask |
| @@ -101,11 +123,15 @@ KernelVersion: 3.15 · 2 unmodified lines | |||
| 101 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 123 | Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| 102 | Description: | 124 | Description: |
| 103 | Sets the scancode wakeup filter mask of bits to compare. | 125 | Sets the scancode wakeup filter mask of bits to compare. |
| 126 | |||
| 104 | Use in combination with /sys/class/rc/rcN/wakeup_filter to set | 127 | Use in combination with /sys/class/rc/rcN/wakeup_filter to set |
| 105 | the bits of the scancode which should be compared against the | 128 | the bits of the scancode which should be compared against the |
| 106 | expected value to trigger a system wake event. | 129 | expected value to trigger a system wake event. |
| 130 | |||
| 107 | If the hardware supports it and wakeup_filter_mask is not 0 then | 131 | If the hardware supports it and wakeup_filter_mask is not 0 then |
| 108 | scancodes which match the filter will wake the system from e.g. | 132 | scancodes which match the filter will wake the system from e.g. |
| 109 | suspend to RAM or power off. | 133 | suspend to RAM or power off. |
| 134 | |||
| 110 | Otherwise the write will fail with an error. | 135 | Otherwise the write will fail with an error. |
| 136 | |||
| 111 | This value may be reset to 0 if the wakeup protocol is altered. | 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 | This will be one of the following strings: | 36 | This will be one of the following strings: |
| 37 | 37 | ||
| 38 | off | 38 | - off |
| 39 | on | 39 | - on |
| 40 | error | 40 | - error |
| 41 | fast | 41 | - fast |
| 42 | normal | 42 | - normal |
| 43 | idle | 43 | - idle |
| 44 | standby | 44 | - standby |
| 45 | 45 | ||
| 46 | "off" means the regulator is not supplying power to the | 46 | "off" means the regulator is not supplying power to the |
| 47 | system. | 47 | system. |
| @@ -74,9 +74,9 @@ Description: · 26 unmodified lines | |||
| 74 | 74 | ||
| 75 | This will be one of the following strings: | 75 | This will be one of the following strings: |
| 76 | 76 | ||
| 77 | 'voltage' | 77 | - 'voltage' |
| 78 | 'current' | 78 | - 'current' |
| 79 | 'unknown' | 79 | - 'unknown' |
| 80 | 80 | ||
| 81 | 'voltage' means the regulator output voltage can be controlled | 81 | 'voltage' means the regulator output voltage can be controlled |
| 82 | by software. | 82 | by software. |
| @@ -129,11 +129,11 @@ Description: · 46 unmodified lines | |||
| 129 | 129 | ||
| 130 | The opmode value can be one of the following strings: | 130 | The opmode value can be one of the following strings: |
| 131 | 131 | ||
| 132 | 'fast' | 132 | - 'fast' |
| 133 | 'normal' | 133 | - 'normal' |
| 134 | 'idle' | 134 | - 'idle' |
| 135 | 'standby' | 135 | - 'standby' |
| 136 | 'unknown' | 136 | - 'unknown' |
| 137 | 137 | ||
| 138 | The modes are described in include/linux/regulator/consumer.h | 138 | The modes are described in include/linux/regulator/consumer.h |
| 139 | 139 | ||
| @@ -360,9 +360,9 @@ Description: · 220 unmodified lines | |||
| 360 | 360 | ||
| 361 | This will be one of the following strings: | 361 | This will be one of the following strings: |
| 362 | 362 | ||
| 363 | 'enabled' | 363 | - 'enabled' |
| 364 | 'disabled' | 364 | - 'disabled' |
| 365 | 'unknown' | 365 | - 'unknown' |
| 366 | 366 | ||
| 367 | 'enabled' means the regulator is in bypass mode. | 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 | Reports the state of the remote processor, which will be one of: | 17 | Reports the state of the remote processor, which will be one of: |
| 18 | 18 | ||
| 19 | "offline" | 19 | - "offline" |
| 20 | "suspended" | 20 | - "suspended" |
| 21 | "running" | 21 | - "running" |
| 22 | "crashed" | 22 | - "crashed" |
| 23 | "invalid" | 23 | - "invalid" |
| 24 | 24 | ||
| 25 | "offline" means the remote processor is powered off. | 25 | "offline" means the remote processor is powered off. |
| 26 | 26 | ||
| @@ -38,8 +38,8 @@ Description: Remote processor state · 11 unmodified lines | |||
| 38 | Writing this file controls the state of the remote processor. | 38 | Writing this file controls the state of the remote processor. |
| 39 | The following states can be written: | 39 | The following states can be written: |
| 40 | 40 | ||
| 41 | "start" | 41 | - "start" |
| 42 | "stop" | 42 | - "stop" |
| 43 | 43 | ||
| 44 | Writing "start" will attempt to start the processor running the | 44 | Writing "start" will attempt to start the processor running the |
| 45 | firmware indicated by, or written to, | 45 | firmware indicated by, or written to, |
| @@ -58,3 +58,47 @@ Description: Remote processor name · 12 unmodified lines | |||
| 58 | Reports the name of the remote processor. This can be used by | 58 | Reports the name of the remote processor. This can be used by |
| 59 | userspace in exactly identifying a remote processor and ease | 59 | userspace in exactly identifying a remote processor and ease |
| 60 | up the usage in modifying the 'firmware' or 'state' files. | 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 | Description: Provide information about RNBD-client. | 5 | Description: Provide information about RNBD-client. |
| 6 | All sysfs files that are not read-only provide the usage information on read: | 6 | All sysfs files that are not read-only provide the usage information on read: |
| 7 | 7 | ||
| 8 | Example: | 8 | Example:: |
| 9 | # cat /sys/class/rnbd-client/ctl/map_device | ||
| 10 | 9 | ||
| 11 | > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> | 10 | # cat /sys/class/rnbd-client/ctl/map_device |
| 12 | > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> | 11 | |
| 13 | > [access_mode=<ro|rw|migration>] > map_device | 12 | > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> |
| 14 | > | 13 | > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> |
| 15 | > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] | 14 | > [access_mode=<ro|rw|migration>] > map_device |
| 15 | > | ||
| 16 | > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] | ||
| 16 | 17 | ||
| 17 | What: /sys/class/rnbd-client/ctl/map_device | 18 | What: /sys/class/rnbd-client/ctl/map_device |
| 18 | Date: Feb 2020 | 19 | Date: Feb 2020 |
| 19 | KernelVersion: 5.7 | 20 | KernelVersion: 5.7 |
| 20 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 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 | sessname=<name of the rtrs session> |
| 24 | path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] | 25 | path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] |
| 25 | device_path=<full path on remote side> | 26 | device_path=<full path on remote side> |
| 26 | [access_mode=<ro|rw|migration>] | 27 | [access_mode=<ro|rw|migration>] |
| 27 | 28 | ||
| 28 | Where: | 29 | Where: |
| 29 | 30 | ||
| 30 | sessname: accepts a string not bigger than 256 chars, which identifies | 31 | sessname: |
| 31 | a given session on the client and on the server. | 32 | accepts a string not bigger than 256 chars, which identifies |
| 32 | I.e. "clt_hostname-srv_hostname" could be a natural choice. | 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 | 41 | ip:<IPv6> |
| 35 | specifying destination and, when required, the source address. | 42 | ip:<IPv4> |
| 36 | The addresses are to be provided in the following format: | 43 | gid:<GID> |
| 37 | 44 | ||
| 38 | ip:<IPv6> | 45 | for example:: |
| 39 | ip:<IPv4> | ||
| 40 | gid:<GID> | ||
| 41 | 46 | ||
| 42 | for example: | 47 | path=ip:10.0.0.66 |
| 43 | 48 | ||
| 44 | path=ip:10.0.0.66 | ||
| 45 | The single addr is treated as the destination. | 49 | The single addr is treated as the destination. |
| 46 | The connection will be established to this server from any client IP address. | 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 | First addr is the source address and the second is the destination. | 56 | First addr is the source address and the second is the destination. |
| 50 | 57 | ||
| 51 | If multiple "path=" options are specified multiple connection | 58 | If multiple "path=" options are specified multiple connection |
| 52 | will be established and data will be sent according to | 59 | will be established and data will be sent according to |
| 53 | the selected multipath policy (see RTRS mp_policy sysfs entry description). | 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 | 62 | device_path: |
| 56 | relative to the directory on server side configured in the | 63 | Path to the block device on the server side. Path is specified |
| 57 | 'dev_search_path' module parameter of the rnbd_server. | 64 | relative to the directory on server side configured in the |
| 58 | The rnbd_server prepends the <device_path> received from client | 65 | 'dev_search_path' module parameter of the rnbd_server. |
| 59 | with <dev_search_path> and tries to open the | 66 | The rnbd_server prepends the <device_path> received from client |
| 60 | <dev_search_path>/<device_path> block device. On success, | 67 | with <dev_search_path> and tries to open the |
| 61 | a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ | 68 | <dev_search_path>/<device_path> block device. On success, |
| 62 | directory and an entry in /sys/class/rnbd-client/ctl/devices | 69 | a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ |
| 63 | will be created. | 70 | directory and an entry in /sys/class/rnbd-client/ctl/devices |
| 71 | will be created. | ||
| 64 | 72 | ||
| 65 | If 'dev_search_path' contains '%SESSNAME%', then each session can | 73 | If 'dev_search_path' contains '%SESSNAME%', then each session can |
| 66 | have different devices namespace, e.g. server was configured with | 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 | client has this string "sessname=blya device_path=sda", then server | 76 | client has this string "sessname=blya device_path=sda", then server |
| 69 | will try to open: /run/rnbd-devs/blya/sda. | 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 | 79 | access_mode: |
| 72 | mapped as "ro" read-only or "rw" read-write. The server allows | 80 | the access_mode parameter specifies if the device is to be |
| 73 | a device to be exported in rw mode only once. The "migration" | 81 | mapped as "ro" read-only or "rw" read-write. The server allows |
| 74 | access mode has to be specified if a second mapping in read-write | 82 | a device to be exported in rw mode only once. The "migration" |
| 75 | mode is desired. | 83 | access mode has to be specified if a second mapping in read-write |
| 84 | mode is desired. | ||
| 76 | 85 | ||
| 77 | By default "rw" is used. | 86 | By default "rw" is used. |
| 78 | 87 | ||
| @@ -91,7 +100,7 @@ Description: Expected format is the following: · 12 unmodified lines | |||
| 91 | is the same as the device name. By extracting the last part of the | 100 | is the same as the device name. By extracting the last part of the |
| 92 | path the path to the device /dev/<dev-name> can be build. | 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 | How to find the <device_id> of the device is described on the next | 105 | How to find the <device_id> of the device is described on the next |
| 97 | section. | 106 | section. |
| @@ -106,6 +115,6 @@ Description: For each device mapped on the client a new symbolic link is created · 8 unmodified lines | |||
| 106 | The <device_id> of each device is created as follows: | 115 | The <device_id> of each device is created as follows: |
| 107 | 116 | ||
| 108 | - If the 'device_path' provided during mapping contains slashes ("/"), | 117 | - If the 'device_path' provided during mapping contains slashes ("/"), |
| 109 | they are replaced by exclamation mark ("!") and used as as the | 118 | they are replaced by exclamation mark ("!") and used as as the |
| 110 | <device_id>. Otherwise, the <device_id> will be the same as the | 119 | <device_id>. Otherwise, the <device_id> will be the same as the |
| 111 | "device_path" provided. | 120 | "device_path" provided. |
| @@ -7,6 +7,7 @@ Description: Attribute for calibrating ST-Ericsson AB8500 Real Time Clock · 6 unmodified lines | |||
| 7 | calibrate the AB8500.s 32KHz Real Time Clock. | 7 | calibrate the AB8500.s 32KHz Real Time Clock. |
| 8 | Every 60 seconds the AB8500 will correct the RTC's value | 8 | Every 60 seconds the AB8500 will correct the RTC's value |
| 9 | by adding to it the value of this attribute. | 9 | by adding to it the value of this attribute. |
| 10 | |||
| 10 | The range of the attribute is -127 to +127 in units of | 11 | The range of the attribute is -127 to +127 in units of |
| 11 | 30.5 micro-seconds (half-parts-per-million of the 32KHz clock) | 12 | 30.5 micro-seconds (half-parts-per-million of the 32KHz clock) |
| 12 | Users: The /vendor/st-ericsson/base_utilities/core/rtc_calibration | 13 | Users: The /vendor/st-ericsson/base_utilities/core/rtc_calibration |
| @@ -10,10 +10,10 @@ Date: Feb 2020 · 9 unmodified lines | |||
| 10 | KernelVersion: 5.7 | 10 | KernelVersion: 5.7 |
| 11 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 11 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> |
| 12 | Description: RW, adds a new path (connection) to an existing session. Expected format is the | 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> | 15 | <[source addr,]destination addr> |
| 16 | *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] | 16 | *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] |
| 17 | 17 | ||
| 18 | What: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts | 18 | What: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts |
| 19 | Date: Feb 2020 | 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 | Description: Multipath policy specifies which path should be selected on each IO: | 29 | Description: Multipath policy specifies which path should be selected on each IO: |
| 30 | 30 | ||
| 31 | round-robin (0): | 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 | min-inflight (1): | 34 | min-inflight (1): |
| 35 | select path with minimum inflights. | 35 | select path with minimum inflights. |
| 36 | 36 | ||
| 37 | What: /sys/class/rtrs-client/<session-name>/paths/ | 37 | What: /sys/class/rtrs-client/<session-name>/paths/ |
| 38 | Date: Feb 2020 | 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 | not the case, the processing of an I/O response could be processed on a | 109 | not the case, the processing of an I/O response could be processed on a |
| 110 | different CPU than where it was originally submitted. This file shows | 110 | different CPU than where it was originally submitted. This file shows |
| 111 | how many interrupts where generated on a non expected CPU. | 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. | 112 | |
| 113 | "to:" is the CPU on which the IRQ was generated, but not expected. | 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 | What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects | 118 | What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects |
| 116 | Date: Feb 2020 | 119 | Date: Feb 2020 |
| @@ -125,7 +128,7 @@ Date: Feb 2020 · 8 unmodified lines | |||
| 125 | KernelVersion: 5.7 | 128 | KernelVersion: 5.7 |
| 126 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> | 129 | Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> |
| 127 | Description: Contains statistics regarding rdma operations and inflight operations. | 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> \ | 133 | <read-count> <read-total-size> <write-count> \ |
| 131 | <inflights> <failovered> | 134 | <write-total-size> <inflights> <failovered> |
| @@ -56,8 +56,9 @@ Description: · 55 unmodified lines | |||
| 56 | management) on top, which makes it match the Windows IRST (Intel | 56 | management) on top, which makes it match the Windows IRST (Intel |
| 57 | Rapid Storage Technology) driver settings. This setting is also | 57 | Rapid Storage Technology) driver settings. This setting is also |
| 58 | close to min_power, except that: | 58 | close to min_power, except that: |
| 59 | |||
| 59 | a) It does not use host-initiated slumber mode, but it does | 60 | a) It does not use host-initiated slumber mode, but it does |
| 60 | allow device-initiated slumber | 61 | allow device-initiated slumber |
| 61 | b) It does not enable low power device sleep mode (DevSlp). | 62 | b) It does not enable low power device sleep mode (DevSlp). |
| 62 | 63 | ||
| 63 | What: /sys/class/scsi_host/hostX/em_message | 64 | What: /sys/class/scsi_host/hostX/em_message |
| @@ -70,8 +71,8 @@ Description: · 6 unmodified lines | |||
| 70 | protocol, writes and reads correspond to the LED message format | 71 | protocol, writes and reads correspond to the LED message format |
| 71 | as defined in the AHCI spec. | 72 | as defined in the AHCI spec. |
| 72 | 73 | ||
| 73 | The user must turn sw_activity (under /sys/block/*/device/) OFF | 74 | The user must turn sw_activity (under `/sys/block/*/device/`) |
| 74 | it they wish to control the activity LED via the em_message | 75 | OFF it they wish to control the activity LED via the em_message |
| 75 | file. | 76 | file. |
| 76 | 77 | ||
| 77 | em_message_type: (RO) Displays the current enclosure management | 78 | em_message_type: (RO) Displays the current enclosure management |
| @@ -40,10 +40,13 @@ Description: · 39 unmodified lines | |||
| 40 | attribute will not return until the operation has finished. | 40 | attribute will not return until the operation has finished. |
| 41 | 41 | ||
| 42 | Valid values: | 42 | Valid values: |
| 43 | - source (The port will behave as source only DFP port) | 43 | |
| 44 | - sink (The port will behave as sink only UFP port) | 44 | ====== ============================================== |
| 45 | - dual (The port will behave as dual-role-data and | 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 | dual-role-power port) | 48 | dual-role-power port) |
| 49 | ====== ============================================== | ||
| 47 | 50 | ||
| 48 | What: /sys/class/typec/<port>/vconn_source | 51 | What: /sys/class/typec/<port>/vconn_source |
| 49 | Date: April 2017 | 52 | Date: April 2017 |
| @@ -59,6 +62,7 @@ Description: · 9 unmodified lines | |||
| 59 | generates uevent KOBJ_CHANGE. | 62 | generates uevent KOBJ_CHANGE. |
| 60 | 63 | ||
| 61 | Valid values: | 64 | Valid values: |
| 65 | |||
| 62 | - "no" when the port is not the VCONN Source | 66 | - "no" when the port is not the VCONN Source |
| 63 | - "yes" when the port is the VCONN Source | 67 | - "yes" when the port is the VCONN Source |
| 64 | 68 | ||
| @@ -72,6 +76,7 @@ Description: · 7 unmodified lines | |||
| 72 | power operation mode should show "usb_power_delivery". | 76 | power operation mode should show "usb_power_delivery". |
| 73 | 77 | ||
| 74 | Valid values: | 78 | Valid values: |
| 79 | |||
| 75 | - default | 80 | - default |
| 76 | - 1.5A | 81 | - 1.5A |
| 77 | - 3.0A | 82 | - 3.0A |
| @@ -191,6 +196,7 @@ Date: April 2017 · 113 unmodified lines | |||
| 191 | Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> | 196 | Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> |
| 192 | Description: | 197 | Description: |
| 193 | Shows type of the plug on the cable: | 198 | Shows type of the plug on the cable: |
| 199 | |||
| 194 | - type-a - Standard A | 200 | - type-a - Standard A |
| 195 | - type-b - Standard B | 201 | - type-b - Standard B |
| 196 | - type-c | 202 | - type-c |
| @@ -66,11 +66,14 @@ Description: · 65 unmodified lines | |||
| 66 | <channel> <type> [<bpst offset>] | 66 | <channel> <type> [<bpst offset>] |
| 67 | 67 | ||
| 68 | to start (or stop) scanning on a channel. <type> is one of: | 68 | to start (or stop) scanning on a channel. <type> is one of: |
| 69 | 0 - scan | 69 | |
| 70 | 1 - scan outside BP | 70 | == ======================================= |
| 71 | 2 - scan while inactive | 71 | 0 scan |
| 72 | 3 - scanning disabled | 72 | 1 scan outside BP |
| 73 | 4 - scan (with start time of <bpst offset>) | 73 | 2 scan while inactive |
| 74 | 3 scanning disabled | ||
| 75 | 4 scan (with start time of <bpst offset>) | ||
| 76 | == ======================================= | ||
| 74 | 77 | ||
| 75 | What: /sys/class/uwb_rc/uwbN/mac_address | 78 | What: /sys/class/uwb_rc/uwbN/mac_address |
| 76 | Date: July 2008 | 79 | Date: July 2008 |
| @@ -91,10 +91,13 @@ Description: · 90 unmodified lines | |||
| 91 | h/w strapping (for WDT2 only). | 91 | h/w strapping (for WDT2 only). |
| 92 | 92 | ||
| 93 | At alternate flash the 'access_cs0' sysfs node provides: | 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 | chip at CS0 after booting from the alternate | 97 | chip at CS0 after booting from the alternate |
| 96 | chip at CS1. | 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 | from (CS0->CS1, CS1->CS0) to (CS0->CS0, | 101 | from (CS0->CS1, CS1->CS0) to (CS0->CS0, |
| 99 | CS1->CS1). | 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 | the form "<major>:<minor>". These links point to the | 9 | the form "<major>:<minor>". These links point to the |
| 10 | corresponding sysfs path for the given device. | 10 | corresponding sysfs path for the given device. |
| 11 | 11 | ||
| 12 | Example: | 12 | Example:: |
| 13 | $ readlink /sys/dev/block/8:32 | 13 | |
| 14 | ../../block/sdc | 14 | $ readlink /sys/dev/block/8:32 |
| 15 | ../../block/sdc | ||
| 15 | 16 | ||
| 16 | Entries in /sys/dev/char and /sys/dev/block will be | 17 | Entries in /sys/dev/char and /sys/dev/block will be |
| 17 | dynamically created and destroyed as devices enter and | 18 | dynamically created and destroyed as devices enter and |
| @@ -8,26 +8,27 @@ Description: · 7 unmodified lines | |||
| 8 | block. | 8 | block. |
| 9 | For example, on 4-die Xeon platform with up to 6 IIO stacks per | 9 | For example, on 4-die Xeon platform with up to 6 IIO stacks per |
| 10 | die and, therefore, 6 IIO PMON blocks per die, the mapping of | 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* | 13 | $ ls /sys/devices/uncore_iio_0/die* |
| 14 | -r--r--r-- /sys/devices/uncore_iio_0/die0 | 14 | -r--r--r-- /sys/devices/uncore_iio_0/die0 |
| 15 | -r--r--r-- /sys/devices/uncore_iio_0/die1 | 15 | -r--r--r-- /sys/devices/uncore_iio_0/die1 |
| 16 | -r--r--r-- /sys/devices/uncore_iio_0/die2 | 16 | -r--r--r-- /sys/devices/uncore_iio_0/die2 |
| 17 | -r--r--r-- /sys/devices/uncore_iio_0/die3 | 17 | -r--r--r-- /sys/devices/uncore_iio_0/die3 |
| 18 | 18 | ||
| 19 | $ tail /sys/devices/uncore_iio_0/die* | 19 | $ tail /sys/devices/uncore_iio_0/die* |
| 20 | ==> /sys/devices/uncore_iio_0/die0 <== | 20 | ==> /sys/devices/uncore_iio_0/die0 <== |
| 21 | 0000:00 | 21 | 0000:00 |
| 22 | ==> /sys/devices/uncore_iio_0/die1 <== | 22 | ==> /sys/devices/uncore_iio_0/die1 <== |
| 23 | 0000:40 | 23 | 0000:40 |
| 24 | ==> /sys/devices/uncore_iio_0/die2 <== | 24 | ==> /sys/devices/uncore_iio_0/die2 <== |
| 25 | 0000:80 | 25 | 0000:80 |
| 26 | ==> /sys/devices/uncore_iio_0/die3 <== | 26 | ==> /sys/devices/uncore_iio_0/die3 <== |
| 27 | 0000:c0 | 27 | 0000:c0 |
| 28 | 28 | ||
| 29 | Which means: | 29 | Which means:: |
| 30 | IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 | 30 | |
| 31 | IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 | 31 | IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 |
| 32 | IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 | 32 | IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 |
| 33 | IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, 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 | online/offline state of the memory section. When written, | 47 | online/offline state of the memory section. When written, |
| 48 | root can toggle the the online/offline state of a removable | 48 | root can toggle the the online/offline state of a removable |
| 49 | memory section (see removable file description above) | 49 | memory section (see removable file description above) |
| 50 | using the following commands. | 50 | using the following commands:: |
| 51 | # echo online > /sys/devices/system/memory/memoryX/state | 51 | |
| 52 | # echo offline > /sys/devices/system/memory/memoryX/state | 52 | # echo online > /sys/devices/system/memory/memoryX/state |
| 53 | # echo offline > /sys/devices/system/memory/memoryX/state | ||
| 53 | 54 | ||
| 54 | For example, if /sys/devices/system/memory/memory22/removable | 55 | For example, if /sys/devices/system/memory/memory22/removable |
| 55 | contains a value of 1 and | 56 | contains a value of 1 and |
| 56 | /sys/devices/system/memory/memory22/state contains the | 57 | /sys/devices/system/memory/memory22/state contains the |
| 57 | string "online" the following command can be executed by | 58 | string "online" the following command can be executed by |
| 58 | by root to offline that section. | 59 | by root to offline that section:: |
| 59 | # echo offline > /sys/devices/system/memory/memory22/state | 60 | |
| 61 | # echo offline > /sys/devices/system/memory/memory22/state | ||
| 62 | |||
| 60 | Users: hotplug memory remove tools | 63 | Users: hotplug memory remove tools |
| 61 | http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils | 64 | http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils |
| 62 | 65 | ||
| @@ -78,6 +81,7 @@ Description: · 15 unmodified lines | |||
| 78 | 81 | ||
| 79 | For example, the following symbolic link is created for | 82 | For example, the following symbolic link is created for |
| 80 | memory section 9 on node0: | 83 | memory section 9 on node0: |
| 84 | |||
| 81 | /sys/devices/system/memory/memory9/node0 -> ../../node/node0 | 85 | /sys/devices/system/memory/memory9/node0 -> ../../node/node0 |
| 82 | 86 | ||
| 83 | 87 | ||
| @@ -90,4 +94,5 @@ Description: · 6 unmodified lines | |||
| 90 | points to the corresponding /sys/devices/system/memory/memoryY | 94 | points to the corresponding /sys/devices/system/memory/memoryY |
| 91 | memory section directory. For example, the following symbolic | 95 | memory section directory. For example, the following symbolic |
| 92 | link is created for memory section 9 on node0. | 96 | link is created for memory section 9 on node0. |
| 97 | |||
| 93 | /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 | 98 | /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 |
| @@ -7,6 +7,7 @@ Description: · 6 unmodified lines | |||
| 7 | (RO) Hexadecimal bitmask of the TAD attributes are reported by | 7 | (RO) Hexadecimal bitmask of the TAD attributes are reported by |
| 8 | the platform firmware (see ACPI 6.2, section 9.18.2): | 8 | the platform firmware (see ACPI 6.2, section 9.18.2): |
| 9 | 9 | ||
| 10 | ======= ====================================================== | ||
| 10 | BIT(0): AC wakeup implemented if set | 11 | BIT(0): AC wakeup implemented if set |
| 11 | BIT(1): DC wakeup implemented if set | 12 | BIT(1): DC wakeup implemented if set |
| 12 | BIT(2): Get/set real time features implemented if set | 13 | BIT(2): Get/set real time features implemented if set |
| @@ -16,6 +17,7 @@ Description: · 3 unmodified lines | |||
| 16 | BIT(6): The AC timer wakes up from S5 if set | 17 | BIT(6): The AC timer wakes up from S5 if set |
| 17 | BIT(7): The DC timer wakes up from S4 if set | 18 | BIT(7): The DC timer wakes up from S4 if set |
| 18 | BIT(8): The DC timer wakes up from S5 if set | 19 | BIT(8): The DC timer wakes up from S5 if set |
| 20 | ======= ====================================================== | ||
| 19 | 21 | ||
| 20 | The other bits are reserved. | 22 | The other bits are reserved. |
| 21 | 23 | ||
| @@ -62,9 +64,11 @@ Description: · 40 unmodified lines | |||
| 62 | timer status with the following meaning of bits (see ACPI 6.2, | 64 | timer status with the following meaning of bits (see ACPI 6.2, |
| 63 | Section 9.18.5): | 65 | Section 9.18.5): |
| 64 | 66 | ||
| 67 | ======= ====================================================== | ||
| 65 | Bit(0): The timer has expired if set. | 68 | Bit(0): The timer has expired if set. |
| 66 | Bit(1): The timer has woken up the system from a sleep state | 69 | Bit(1): The timer has woken up the system from a sleep state |
| 67 | (S3 or S4/S5 if supported) if set. | 70 | (S3 or S4/S5 if supported) if set. |
| 71 | ======= ====================================================== | ||
| 68 | 72 | ||
| 69 | The other bits are reserved. | 73 | The other bits are reserved. |
| 70 | 74 | ||
| @@ -3,8 +3,9 @@ Date: April 2010 · 2 unmodified lines | |||
| 3 | Contact: Fabien Chouteau <fabien.chouteau@barco.com> | 3 | Contact: Fabien Chouteau <fabien.chouteau@barco.com> |
| 4 | Description: | 4 | Description: |
| 5 | Show the suspend state of an USB composite gadget. | 5 | Show the suspend state of an USB composite gadget. |
| 6 | 1 -> suspended | 6 | |
| 7 | 0 -> resumed | 7 | - 1 -> suspended |
| 8 | - 0 -> resumed | ||
| 8 | 9 | ||
| 9 | (_UDC_ is the name of the USB Device Controller driver) | 10 | (_UDC_ is the name of the USB Device Controller driver) |
| 10 | 11 | ||
| @@ -17,5 +18,6 @@ Description: · 6 unmodified lines | |||
| 17 | Storage mode. | 18 | Storage mode. |
| 18 | 19 | ||
| 19 | Possible values are: | 20 | Possible values are: |
| 20 | 1 -> ignore the FUA flag | 21 | |
| 21 | 0 -> obey the FUA flag | 22 | - 1 -> ignore the FUA flag |
| 23 | - 0 -> obey the FUA flag | ||
| @@ -9,8 +9,10 @@ Description: · 8 unmodified lines | |||
| 9 | The protection has information embedded whether it blocks reads, | 9 | The protection has information embedded whether it blocks reads, |
| 10 | writes or both. | 10 | writes or both. |
| 11 | The result is: | 11 | The result is: |
| 12 | 0 -> the DPS is not keylocked | 12 | |
| 13 | 1 -> the DPS is keylocked | 13 | - 0 -> the DPS is not keylocked |
| 14 | - 1 -> the DPS is keylocked | ||
| 15 | |||
| 14 | Users: None identified so far. | 16 | Users: None identified so far. |
| 15 | 17 | ||
| 16 | What: /sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key | 18 | What: /sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key |
| @@ -27,8 +29,12 @@ Description: · 10 unmodified lines | |||
| 27 | Entering the correct value toggle the lock, and can be observed | 29 | Entering the correct value toggle the lock, and can be observed |
| 28 | through f[0-3]_dps[01]_is_keylocked. | 30 | through f[0-3]_dps[01]_is_keylocked. |
| 29 | Possible values are: | 31 | Possible values are: |
| 32 | |||
| 30 | - 8 bytes | 33 | - 8 bytes |
| 34 | |||
| 31 | Typical values are: | 35 | Typical values are: |
| 36 | |||
| 32 | - "00000000" | 37 | - "00000000" |
| 33 | - "12345678" | 38 | - "12345678" |
| 39 | |||
| 34 | Users: None identified so far. | 40 | Users: None identified so far. |
| @@ -123,38 +123,40 @@ KernelVersion: v4.15 · 122 unmodified lines | |||
| 123 | Contact: openipmi-developer@lists.sourceforge.net | 123 | Contact: openipmi-developer@lists.sourceforge.net |
| 124 | Description: | 124 | Description: |
| 125 | 125 | ||
| 126 | idles: (RO) Number of times the interface was | 126 | ====================== ======================================== |
| 127 | idles (RO) Number of times the interface was | ||
| 127 | idle while being polled. | 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 | the hardware. | 135 | the hardware. |
| 135 | 136 | ||
| 136 | interrupts: (RO) Number of interrupts the driver | 137 | interrupts (RO) Number of interrupts the driver |
| 137 | handled. | 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 | follow the state machine. | 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 | requested a timer while nothing was in | 144 | requested a timer while nothing was in |
| 144 | progress. | 145 | progress. |
| 145 | 146 | ||
| 146 | flag_fetches: (RO) Number of times the driver | 147 | flag_fetches (RO) Number of times the driver |
| 147 | requested flags from the hardware. | 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 | ATTN from the hardware. | 151 | ATTN from the hardware. |
| 151 | 152 | ||
| 152 | incoming_messages: (RO) Number of asynchronous messages | 153 | incoming_messages (RO) Number of asynchronous messages |
| 153 | received. | 154 | received. |
| 154 | 155 | ||
| 155 | short_timeouts: (RO) Number of times the driver | 156 | short_timeouts (RO) Number of times the driver |
| 156 | requested a timer while an operation was | 157 | requested a timer while an operation was |
| 157 | in progress. | 158 | in progress. |
| 159 | ====================== ======================================== | ||
| 158 | 160 | ||
| 159 | 161 | ||
| 160 | What: /sys/devices/platform/ipmi_si.*/interrupts_enabled | 162 | What: /sys/devices/platform/ipmi_si.*/interrupts_enabled |
| @@ -201,38 +203,40 @@ Date: Sep, 2017 · 40 unmodified lines | |||
| 201 | KernelVersion: v4.15 | 203 | KernelVersion: v4.15 |
| 202 | Contact: openipmi-developer@lists.sourceforge.net | 204 | Contact: openipmi-developer@lists.sourceforge.net |
| 203 | Description: | 205 | Description: |
| 204 | hosed: (RO) Number of times the hardware didn't | 206 | ====================== ======================================== |
| 207 | hosed (RO) Number of times the hardware didn't | ||
| 205 | follow the state machine. | 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 | Messages may be broken into parts if | 215 | Messages may be broken into parts if |
| 213 | they are long. | 216 | they are long. |
| 214 | 217 | ||
| 215 | received_messages: (RO) Number of message responses | 218 | received_messages (RO) Number of message responses |
| 216 | received. | 219 | received. |
| 217 | 220 | ||
| 218 | received_message_parts: (RO) Number of message fragments | 221 | received_message_parts (RO) Number of message fragments |
| 219 | received. | 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 | requested. | 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 | retried. | 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 | message was retried. | 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 | message failed. | 238 | message failed. |
| 236 | 239 | ||
| 237 | receive_errors: (RO) Number of errors in receiving | 240 | receive_errors (RO) Number of errors in receiving |
| 238 | messages. | 241 | messages. |
| 242 | ====================== ======================================== | ||
| @@ -17,10 +17,10 @@ Description: · 16 unmodified lines | |||
| 17 | to overlay planes. | 17 | to overlay planes. |
| 18 | 18 | ||
| 19 | Selects the composition mode for the overlay. Possible values | 19 | Selects the composition mode for the overlay. Possible values |
| 20 | are | 20 | are: |
| 21 | 21 | ||
| 22 | 0 - Alpha Blending | 22 | - 0 - Alpha Blending |
| 23 | 1 - ROP3 | 23 | - 1 - ROP3 |
| 24 | 24 | ||
| 25 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position | 25 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position |
| 26 | Date: May 2012 | 26 | Date: May 2012 |
| @@ -30,7 +30,7 @@ Description: · 3 unmodified lines | |||
| 30 | to overlay planes. | 30 | to overlay planes. |
| 31 | 31 | ||
| 32 | Stores the x,y overlay position on the display in pixels. The | 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 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3 | 35 | What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3 |
| 36 | Date: May 2012 | 36 | Date: May 2012 |
| @@ -102,6 +102,8 @@ Description: · 101 unmodified lines | |||
| 102 | b[15:0] | 102 | b[15:0] |
| 103 | inform firmware the current software execution | 103 | inform firmware the current software execution |
| 104 | stage. | 104 | stage. |
| 105 | |||
| 106 | == =========================================== | ||
| 105 | 0 the first stage bootloader didn't run or | 107 | 0 the first stage bootloader didn't run or |
| 106 | didn't reach the point of launching second | 108 | didn't reach the point of launching second |
| 107 | stage bootloader. | 109 | stage bootloader. |
| @@ -111,21 +113,29 @@ Description: · 3 unmodified lines | |||
| 111 | 2 both first and second stage bootloader ran | 113 | 2 both first and second stage bootloader ran |
| 112 | and the operating system launch was | 114 | and the operating system launch was |
| 113 | attempted. | 115 | attempted. |
| 116 | == =========================================== | ||
| 114 | 117 | ||
| 115 | b[16] | 118 | b[16] |
| 119 | == =========================================== | ||
| 116 | 1 firmware to reset current image retry | 120 | 1 firmware to reset current image retry |
| 117 | counter. | 121 | counter. |
| 118 | 0 no action. | 122 | 0 no action. |
| 123 | == =========================================== | ||
| 119 | 124 | ||
| 120 | b[17] | 125 | b[17] |
| 126 | == =========================================== | ||
| 121 | 1 firmware to clear RSU log | 127 | 1 firmware to clear RSU log |
| 122 | 0 no action. | 128 | 0 no action. |
| 129 | == =========================================== | ||
| 123 | 130 | ||
| 124 | b[18] | 131 | b[18] |
| 125 | this is negative logic | 132 | this is negative logic |
| 133 | |||
| 134 | == =========================================== | ||
| 126 | 1 no action | 135 | 1 no action |
| 127 | 0 firmware record the notify code defined | 136 | 0 firmware record the notify code defined |
| 128 | in b[15:0]. | 137 | in b[15:0]. |
| 138 | == =========================================== | ||
| 129 | 139 | ||
| 130 | What: /sys/devices/platform/stratix10-rsu.0/dcmf0 | 140 | What: /sys/devices/platform/stratix10-rsu.0/dcmf0 |
| 131 | Date: June 2020 | 141 | Date: June 2020 |
| @@ -151,23 +151,28 @@ Description: · 150 unmodified lines | |||
| 151 | The processor idle states which are available for use have the | 151 | The processor idle states which are available for use have the |
| 152 | following attributes: | 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 | latency: (RO) The latency to exit out of this idle state (in | 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 | power: (RO) The power consumed while in this idle state (in |
| 160 | milliwatts). | 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 | 168 | above: (RO) Number of times this state was entered, but the |
| 167 | observed CPU idle duration was too short for it (a count). | 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 | 172 | below: (RO) Number of times this state was entered, but the |
| 170 | observed CPU idle duration was too long for it (a count). | 173 | observed CPU idle duration was too long for it |
| 174 | (a count). | ||
| 175 | ======== ==== ================================================= | ||
| 171 | 176 | ||
| 172 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc | 177 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc |
| 173 | Date: February 2008 | 178 | Date: February 2008 |
| @@ -290,6 +295,7 @@ Description: Processor frequency boosting control · 116 unmodified lines | |||
| 290 | This switch controls the boost setting for the whole system. | 295 | This switch controls the boost setting for the whole system. |
| 291 | Boosting allows the CPU and the firmware to run at a frequency | 296 | Boosting allows the CPU and the firmware to run at a frequency |
| 292 | beyound it's nominal limit. | 297 | beyound it's nominal limit. |
| 298 | |||
| 293 | More details can be found in | 299 | More details can be found in |
| 294 | Documentation/admin-guide/pm/cpufreq.rst | 300 | Documentation/admin-guide/pm/cpufreq.rst |
| 295 | 301 | ||
| @@ -337,43 +343,57 @@ Contact: Sudeep Holla <sudeep.holla@arm.com> · 41 unmodified lines | |||
| 337 | Description: Parameters for the CPU cache attributes | 343 | Description: Parameters for the CPU cache attributes |
| 338 | 344 | ||
| 339 | allocation_policy: | 345 | allocation_policy: |
| 340 | - WriteAllocate: allocate a memory location to a cache line | 346 | - WriteAllocate: |
| 341 | on a cache miss because of a write | 347 | allocate a memory location to a cache line |
| 342 | - ReadAllocate: 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 | on a cache miss because of a read | 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 | transferred from memory to cache | 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 | collection of cache lines with the same cache index | 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 | the cache | 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 | type: | 382 | type: |
| 366 | - Instruction: cache that only holds instructions | 383 | - Instruction: cache that only holds instructions |
| 367 | - Data: cache that only caches data | 384 | - Data: cache that only caches data |
| 368 | - Unified: cache that holds both data and instructions | 385 | - Unified: cache that holds both data and instructions |
| 369 | 386 | ||
| 370 | ways_of_associativity: degree of freedom in placing a particular block | 387 | ways_of_associativity: |
| 371 | of memory in the cache | 388 | degree of freedom in placing a particular block |
| 389 | of memory in the cache | ||
| 372 | 390 | ||
| 373 | write_policy: | 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 | and to the block in the lower-level memory | 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 | the modified cache line is written to main | 397 | the modified cache line is written to main |
| 378 | memory only when it is replaced | 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 | throttle attributes exported in the 'throttle_stats' directory: | 434 | throttle attributes exported in the 'throttle_stats' directory: |
| 415 | 435 | ||
| 416 | - turbo_stat : This file gives the total number of times the max | 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 | 437 | frequency is throttled to lower frequency in turbo (at and above |
| 418 | nominal frequency) range of frequencies. | 438 | nominal frequency) range of frequencies. |
| 419 | 439 | ||
| 420 | - sub_turbo_stat : This file gives the total number of times the | 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 | 441 | max frequency is throttled to lower frequency in sub-turbo(below |
| 422 | nominal frequency) range of frequencies. | 442 | nominal frequency) range of frequencies. |
| 423 | 443 | ||
| 424 | - unthrottle : This file gives the total number of times the max | 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 | - powercap : This file gives the total number of times the max | 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 | - overtemp : This file gives the total number of times the max | 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 | - supply_fault : This file gives the total number of times the | 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 | - overcurrent : This file gives the total number of times the | 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 | - occ_reset : This file gives the total number of times the max | 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 | The sysfs attributes representing different throttle reasons like | 462 | The sysfs attributes representing different throttle reasons like |
| 443 | powercap, overtemp, supply_fault, overcurrent and occ_reset map to | 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 | Date: June 2016 | 489 | Date: June 2016 |
| 470 | Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> | 490 | Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> |
| 471 | Description: AArch64 CPU registers | 491 | Description: AArch64 CPU registers |
| 492 | |||
| 472 | 'identification' directory exposes the CPU ID registers for | 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 | What: /sys/devices/system/cpu/cpu#/cpu_capacity | 496 | What: /sys/devices/system/cpu/cpu#/cpu_capacity |
| 476 | Date: December 2016 | 497 | Date: December 2016 |
| @@ -497,9 +518,11 @@ Description: Information about CPU vulnerabilities · 20 unmodified lines | |||
| 497 | vulnerabilities. The output of those files reflects the | 518 | vulnerabilities. The output of those files reflects the |
| 498 | state of the CPUs in the system. Possible output values: | 519 | state of the CPUs in the system. Possible output values: |
| 499 | 520 | ||
| 521 | ================ ============================================== | ||
| 500 | "Not affected" CPU is not affected by the vulnerability | 522 | "Not affected" CPU is not affected by the vulnerability |
| 501 | "Vulnerable" CPU is affected and no mitigation in effect | 523 | "Vulnerable" CPU is affected and no mitigation in effect |
| 502 | "Mitigation: $M" CPU is affected and mitigation $M is in effect | 524 | "Mitigation: $M" CPU is affected and mitigation $M is in effect |
| 525 | ================ ============================================== | ||
| 503 | 526 | ||
| 504 | See also: Documentation/admin-guide/hw-vuln/index.rst | 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 | control: Read/write interface to control SMT. Possible | 538 | control: Read/write interface to control SMT. Possible |
| 516 | values: | 539 | values: |
| 517 | 540 | ||
| 541 | ================ ========================================= | ||
| 518 | "on" SMT is enabled | 542 | "on" SMT is enabled |
| 519 | "off" SMT is disabled | 543 | "off" SMT is disabled |
| 520 | "forceoff" SMT is force disabled. Cannot be changed. | 544 | "forceoff" SMT is force disabled. Cannot be changed. |
| 521 | "notsupported" SMT is not supported by the CPU | 545 | "notsupported" SMT is not supported by the CPU |
| 522 | "notimplemented" SMT runtime toggling is not | 546 | "notimplemented" SMT runtime toggling is not |
| 523 | implemented for the architecture | 547 | implemented for the architecture |
| 548 | ================ ========================================= | ||
| 524 | 549 | ||
| 525 | If control status is "forceoff" or "notsupported" writes | 550 | If control status is "forceoff" or "notsupported" writes |
| 526 | are rejected. | 551 | are rejected. |
| @@ -576,7 +601,7 @@ Description: Secure Virtual Machine · 49 unmodified lines | |||
| 576 | Facility in POWER9 and newer processors. i.e., it is a Secure | 601 | Facility in POWER9 and newer processors. i.e., it is a Secure |
| 577 | Virtual Machine. | 602 | Virtual Machine. |
| 578 | 603 | ||
| 579 | What: /sys/devices/system/cpu/cpuX/purr | 604 | What: /sys/devices/system/cpu/cpuX/purr |
| 580 | Date: Apr 2005 | 605 | Date: Apr 2005 |
| 581 | Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | 606 | Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> |
| 582 | Description: PURR ticks for this CPU since the system boot. | 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 | Description: The state file allows a means by which to change in and | 5 | Description: The state file allows a means by which to change in and |
| 6 | out of Premium Real-Time Mode (PRTM), as well as the | 6 | out of Premium Real-Time Mode (PRTM), as well as the |
| 7 | ability to query the current state. | 7 | ability to query the current state. |
| 8 | 0 => PRTM off | 8 | |
| 9 | 1 => PRTM enabled | 9 | - 0 => PRTM off |
| 10 | - 1 => PRTM enabled | ||
| 11 | |||
| 10 | Users: The ibm-prtm userspace daemon uses this interface. | 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 | if DDR power rails will be kept powered during system suspend. | 6 | if DDR power rails will be kept powered during system suspend. |
| 7 | ("on"/"1" = enabled, "off"/"0" = disabled). | 7 | ("on"/"1" = enabled, "off"/"0" = disabled). |
| 8 | Two types of power switches (or control signals) can be used: | 8 | Two types of power switches (or control signals) can be used: |
| 9 | |||
| 9 | A. With a momentary power switch (or pulse signal), DDR | 10 | A. With a momentary power switch (or pulse signal), DDR |
| 10 | Backup Mode is enabled by default when available, as the | 11 | Backup Mode is enabled by default when available, as the |
| 11 | PMIC will be configured only during system suspend. | 12 | PMIC will be configured only during system suspend. |
| 12 | B. With a toggle power switch (or level signal), the | 13 | B. With a toggle power switch (or level signal), the |
| 13 | following steps must be followed exactly: | 14 | following steps must be followed exactly: |
| 15 | |||
| 14 | 1. Configure PMIC for backup mode, to change the role of | 16 | 1. Configure PMIC for backup mode, to change the role of |
| 15 | the accessory power switch from a power switch to a | 17 | the accessory power switch from a power switch to a |
| 16 | wake-up switch, | 18 | wake-up switch, |
| @@ -20,8 +22,10 @@ Description: Read/write the current state of DDR Backup Mode, which controls · 3 unmodified lines | |||
| 20 | 3. Suspend system, | 22 | 3. Suspend system, |
| 21 | 4. Switch accessory power switch on, to resume the | 23 | 4. Switch accessory power switch on, to resume the |
| 22 | system. | 24 | system. |
| 25 | |||
| 23 | DDR Backup Mode must be explicitly enabled by the user, | 26 | DDR Backup Mode must be explicitly enabled by the user, |
| 24 | to invoke step 1. | 27 | to invoke step 1. |
| 28 | |||
| 25 | See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. | 29 | See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. |
| 26 | Users: User space applications for embedded boards equipped with a | 30 | Users: User space applications for embedded boards equipped with a |
| 27 | BD9571MWV PMIC. | 31 | BD9571MWV PMIC. |
| @@ -29,8 +29,12 @@ What: /sys/class/genwqe/genwqe<n>_card/reload_bitstream · 28 unmodified lines | |||
| 29 | Date: May 2014 | 29 | Date: May 2014 |
| 30 | Contact: klebers@linux.vnet.ibm.com | 30 | Contact: klebers@linux.vnet.ibm.com |
| 31 | Description: Interface to trigger a PCIe card reset to reload the bitstream. | 31 | Description: Interface to trigger a PCIe card reset to reload the bitstream. |
| 32 | |||
| 33 | :: | ||
| 34 | |||
| 32 | sudo sh -c 'echo 1 > \ | 35 | sudo sh -c 'echo 1 > \ |
| 33 | /sys/class/genwqe/genwqe0_card/reload_bitstream' | 36 | /sys/class/genwqe/genwqe0_card/reload_bitstream' |
| 37 | |||
| 34 | If successfully, the card will come back with the bitstream set | 38 | If successfully, the card will come back with the bitstream set |
| 35 | on 'next_bitstream'. | 39 | on 'next_bitstream'. |
| 36 | 40 | ||
| @@ -64,8 +68,11 @@ Description: Base clock frequency of the card. · 27 unmodified lines | |||
| 64 | What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs | 68 | What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs |
| 65 | Date: Oct 2013 | 69 | Date: Oct 2013 |
| 66 | Contact: haver@linux.vnet.ibm.com | 70 | Contact: haver@linux.vnet.ibm.com |
| 67 | Description: Enable VFs (1..15): | 71 | Description: Enable VFs (1..15):: |
| 72 | |||
| 68 | sudo sh -c 'echo 15 > \ | 73 | sudo sh -c 'echo 15 > \ |
| 69 | /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs' | 74 | /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs' |
| 70 | Disable VFs: | 75 | |
| 76 | Disable VFs:: | ||
| 77 | |||
| 71 | Write a 0 into the same sysfs entry. | 78 | Write a 0 into the same sysfs entry. |
| @@ -3,14 +3,18 @@ Date: July 2011 · 2 unmodified lines | |||
| 3 | Contact: linux-input@vger.kernel.org | 3 | Contact: linux-input@vger.kernel.org |
| 4 | Description: This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be | 4 | Description: This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be |
| 5 | is being controlled by press_speed. | 5 | is being controlled by press_speed. |
| 6 | |||
| 6 | Values are 0 or 1. | 7 | Values are 0 or 1. |
| 8 | |||
| 7 | Applies to Thinkpad USB Keyboard with TrackPoint. | 9 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 8 | 10 | ||
| 9 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging | 11 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging |
| 10 | Date: July 2011 | 12 | Date: July 2011 |
| 11 | Contact: linux-input@vger.kernel.org | 13 | Contact: linux-input@vger.kernel.org |
| 12 | Description: If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled. | 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 | Values are 0 or 1. | 16 | Values are 0 or 1. |
| 17 | |||
| 14 | Applies to Thinkpad USB Keyboard with TrackPoint. | 18 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 15 | 19 | ||
| 16 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select | 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 | Contact: linux-input@vger.kernel.org | 29 | Contact: linux-input@vger.kernel.org |
| 26 | Description: This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate | 30 | Description: This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate |
| 27 | a left or right mouse button click. | 31 | a left or right mouse button click. |
| 32 | |||
| 28 | Values are 0 or 1. | 33 | Values are 0 or 1. |
| 34 | |||
| 29 | Applies to Thinkpad USB Keyboard with TrackPoint. | 35 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 30 | 36 | ||
| 31 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity | 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 | Date: July 2011 | 45 | Date: July 2011 |
| 40 | Contact: linux-input@vger.kernel.org | 46 | Contact: linux-input@vger.kernel.org |
| 41 | Description: This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled. | 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 | Values are decimal integers from 1 (slowest) to 255 (fastest). | 49 | Values are decimal integers from 1 (slowest) to 255 (fastest). |
| 50 | |||
| 43 | Applies to Thinkpad USB Keyboard with TrackPoint. | 51 | Applies to Thinkpad USB Keyboard with TrackPoint. |
| 44 | 52 | ||
| 45 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock | 53 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock |
| 46 | Date: July 2014 | 54 | Date: July 2014 |
| 47 | Contact: linux-input@vger.kernel.org | 55 | Contact: linux-input@vger.kernel.org |
| 48 | Description: This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1) | 56 | Description: This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1) |
| 57 | |||
| 49 | Values are 0 or 1 | 58 | Values are 0 or 1 |
| 59 | |||
| 50 | Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint. | 60 | Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint. |
| @@ -12,7 +12,9 @@ KernelVersion: 4.1 · 11 unmodified lines | |||
| 12 | Contact: Michal Malý <madcatxster@devoid-pointer.net> | 12 | Contact: Michal Malý <madcatxster@devoid-pointer.net> |
| 13 | Description: Displays a set of alternate modes supported by a wheel. Each | 13 | Description: Displays a set of alternate modes supported by a wheel. Each |
| 14 | mode is listed as follows: | 14 | mode is listed as follows: |
| 15 | |||
| 15 | Tag: Mode Name | 16 | Tag: Mode Name |
| 17 | |||
| 16 | Currently active mode is marked with an asterisk. List also | 18 | Currently active mode is marked with an asterisk. List also |
| 17 | contains an abstract item "native" which always denotes the | 19 | contains an abstract item "native" which always denotes the |
| 18 | native mode of the wheel. Echoing the mode tag switches the | 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 | This entry is not created for devices that have only one mode. | 26 | This entry is not created for devices that have only one mode. |
| 25 | 27 | ||
| 26 | Currently supported mode switches: | 28 | Currently supported mode switches: |
| 27 | Driving Force Pro: | 29 | |
| 30 | Driving Force Pro:: | ||
| 31 | |||
| 28 | DF-EX --> DFP | 32 | DF-EX --> DFP |
| 29 | 33 | ||
| 30 | G25: | 34 | G25:: |
| 35 | |||
| 31 | DF-EX --> DFP --> G25 | 36 | DF-EX --> DFP --> G25 |
| 32 | 37 | ||
| 33 | G27: | 38 | G27:: |
| 39 | |||
| 34 | DF-EX <*> DFP <-> G25 <-> G27 | 40 | DF-EX <*> DFP <-> G25 <-> G27 |
| 35 | DF-EX <*--------> G25 <-> G27 | 41 | DF-EX <*--------> G25 <-> G27 |
| 36 | DF-EX <*----------------> G27 | 42 | DF-EX <*----------------> G27 |
| 37 | 43 | ||
| 38 | G29: | 44 | G29:: |
| 45 | |||
| 39 | DF-EX <*> DFP <-> G25 <-> G27 <-> G29 | 46 | DF-EX <*> DFP <-> G25 <-> G27 <-> G29 |
| 40 | DF-EX <*--------> G25 <-> G27 <-> G29 | 47 | DF-EX <*--------> G25 <-> G27 <-> G29 |
| 41 | DF-EX <*----------------> G27 <-> G29 | 48 | DF-EX <*----------------> G27 <-> G29 |
| 42 | DF-EX <*------------------------> G29 | 49 | DF-EX <*------------------------> G29 |
| 43 | 50 | ||
| 44 | DFGT: | 51 | DFGT:: |
| 52 | |||
| 45 | DF-EX <*> DFP <-> DFGT | 53 | DF-EX <*> DFP <-> DFGT |
| 46 | DF-EX <*--------> DFGT | 54 | DF-EX <*--------> DFGT |
| 47 | 55 | ||
| @@ -29,12 +29,13 @@ Contact: linux-input@vger.kernel.org · 28 unmodified lines | |||
| 29 | Description: | 29 | Description: |
| 30 | Threholds to override activation slack. | 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 | start processing touch events. | 34 | start processing touch events. |
| 34 | 35 | ||
| 35 | activation_height: (RW) Height threshold to immediately | 36 | activation_height (RW) Height threshold to immediately |
| 36 | start processing touch events. | 37 | start processing touch events. |
| 37 | 38 | ================= ===================================== | |
| 38 | 39 | ||
| 39 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_width | 40 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_width |
| 40 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_height | 41 | What: /sys/bus/hid/drivers/ntrig/<dev>/min_height |
| @@ -44,11 +45,13 @@ Contact: linux-input@vger.kernel.org · 3 unmodified lines | |||
| 44 | Description: | 45 | Description: |
| 45 | Minimum size contact accepted. | 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 | activation and activity. | 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 | activation and activity. | 53 | activation and activity. |
| 54 | ========== =========================================== | ||
| 52 | 55 | ||
| 53 | 56 | ||
| 54 | What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width | 57 | What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width |
| @@ -3,17 +3,21 @@ Date: March 2010 · 2 unmodified lines | |||
| 3 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> | 3 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 4 | Description: It is possible to switch the dpi setting of the mouse with the | 4 | Description: It is possible to switch the dpi setting of the mouse with the |
| 5 | press of a button. | 5 | press of a button. |
| 6 | |||
| 6 | When read, this file returns the raw number of the actual dpi | 7 | When read, this file returns the raw number of the actual dpi |
| 7 | setting reported by the mouse. This number has to be further | 8 | setting reported by the mouse. This number has to be further |
| 8 | processed to receive the real dpi value: | 9 | processed to receive the real dpi value: |
| 9 | 10 | ||
| 11 | ===== ===== | ||
| 10 | VALUE DPI | 12 | VALUE DPI |
| 13 | ===== ===== | ||
| 11 | 1 800 | 14 | 1 800 |
| 12 | 2 1200 | 15 | 2 1200 |
| 13 | 3 1600 | 16 | 3 1600 |
| 14 | 4 2000 | 17 | 4 2000 |
| 15 | 5 2400 | 18 | 5 2400 |
| 16 | 6 3200 | 19 | 6 3200 |
| 20 | ===== ===== | ||
| 17 | 21 | ||
| 18 | This file is readonly. | 22 | This file is readonly. |
| 19 | Users: http://roccat.sourceforge.net | 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 | Date: March 2010 | 26 | Date: March 2010 |
| 23 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> | 27 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 24 | Description: When read, this file returns the number of the actual profile. | 28 | Description: When read, this file returns the number of the actual profile. |
| 29 | |||
| 25 | This file is readonly. | 30 | This file is readonly. |
| 26 | Users: http://roccat.sourceforge.net | 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 | further usage in other programs. To receive the real version | 38 | further usage in other programs. To receive the real version |
| 34 | number the decimal point has to be shifted 2 positions to the | 39 | number the decimal point has to be shifted 2 positions to the |
| 35 | left. E.g. a returned value of 138 means 1.38 | 40 | left. E.g. a returned value of 138 means 1.38 |
| 41 | |||
| 36 | This file is readonly. | 42 | This file is readonly. |
| 37 | Users: http://roccat.sourceforge.net | 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 | press of a button. A profile holds information like button | 49 | press of a button. A profile holds information like button |
| 44 | mappings, sensitivity, the colors of the 5 leds and light | 50 | mappings, sensitivity, the colors of the 5 leds and light |
| 45 | effects. | 51 | effects. |
| 52 | |||
| 46 | When read, these files return the respective profile. The | 53 | When read, these files return the respective profile. The |
| 47 | returned data is 975 bytes in size. | 54 | returned data is 975 bytes in size. |
| 55 | |||
| 48 | When written, this file lets one write the respective profile | 56 | When written, this file lets one write the respective profile |
| 49 | data back to the mouse. The data has to be 975 bytes long. | 57 | data back to the mouse. The data has to be 975 bytes long. |
| 58 | |||
| 50 | The mouse will reject invalid data, whereas the profile number | 59 | The mouse will reject invalid data, whereas the profile number |
| 51 | stored in the profile doesn't need to fit the number of the | 60 | stored in the profile doesn't need to fit the number of the |
| 52 | store. | 61 | store. |
| @@ -58,6 +67,7 @@ Contact: Stefan Achatz <erazor_de@users.sourceforge.net> · 5 unmodified lines | |||
| 58 | Description: When read, this file returns the settings stored in the mouse. | 67 | Description: When read, this file returns the settings stored in the mouse. |
| 59 | The size of the data is 36 bytes and holds information like the | 68 | The size of the data is 36 bytes and holds information like the |
| 60 | startup_profile, tcu state and calibration_data. | 69 | startup_profile, tcu state and calibration_data. |
| 70 | |||
| 61 | When written, this file lets write settings back to the mouse. | 71 | When written, this file lets write settings back to the mouse. |
| 62 | The data has to be 36 bytes long. The mouse will reject invalid | 72 | The data has to be 36 bytes long. The mouse will reject invalid |
| 63 | data. | 73 | data. |
| @@ -67,8 +77,10 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 3 unmodified lines | |||
| 67 | Date: March 2010 | 77 | Date: March 2010 |
| 68 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> | 78 | Contact: Stefan Achatz <erazor_de@users.sourceforge.net> |
| 69 | Description: The integer value of this attribute ranges from 1 to 5. | 79 | Description: The integer value of this attribute ranges from 1 to 5. |
| 80 | |||
| 70 | When read, this attribute returns the number of the profile | 81 | When read, this attribute returns the number of the profile |
| 71 | that's active when the mouse is powered on. | 82 | that's active when the mouse is powered on. |
| 83 | |||
| 72 | When written, this file sets the number of the startup profile | 84 | When written, this file sets the number of the startup profile |
| 73 | and the mouse activates this profile immediately. | 85 | and the mouse activates this profile immediately. |
| 74 | Users: http://roccat.sourceforge.net | 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 | calibrate the laser power to fit the mousepad surface. | 92 | calibrate the laser power to fit the mousepad surface. |
| 81 | When read, this file returns the current state of the TCU, | 93 | When read, this file returns the current state of the TCU, |
| 82 | where 0 means off and 1 means on. | 94 | where 0 means off and 1 means on. |
| 95 | |||
| 83 | Writing 0 in this file will switch the TCU off. | 96 | Writing 0 in this file will switch the TCU off. |
| 97 | |||
| 84 | Writing 1 in this file will start the calibration which takes | 98 | Writing 1 in this file will start the calibration which takes |
| 85 | around 6 seconds to complete and activates the TCU. | 99 | around 6 seconds to complete and activates the TCU. |
| 100 | |||
| 86 | Users: http://roccat.sourceforge.net | 101 | Users: http://roccat.sourceforge.net |
| 87 | 102 | ||
| 88 | What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight | 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 | and its value can be read out. When read, this file returns the | 108 | and its value can be read out. When read, this file returns the |
| 94 | raw value returned by the mouse which eases further processing | 109 | raw value returned by the mouse which eases further processing |
| 95 | in other software. | 110 | in other software. |
| 111 | |||
| 96 | The values map to the weights as follows: | 112 | The values map to the weights as follows: |
| 97 | 113 | ||
| 114 | ===== ====== | ||
| 98 | VALUE WEIGHT | 115 | VALUE WEIGHT |
| 116 | ===== ====== | ||
| 99 | 0 none | 117 | 0 none |
| 100 | 1 5g | 118 | 1 5g |
| 101 | 2 10g | 119 | 2 10g |
| 102 | 3 15g | 120 | 3 15g |
| 103 | 4 20g | 121 | 4 20g |
| 122 | ===== ====== | ||
| 104 | 123 | ||
| 105 | This file is readonly. | 124 | This file is readonly. |
| 106 | Users: http://roccat.sourceforge.net | 125 | Users: http://roccat.sourceforge.net |
| @@ -20,6 +20,7 @@ Description: This file contains the currently connected and initialized · 19 unmodified lines | |||
| 20 | the official Nintendo Nunchuck extension and classic is the | 20 | the official Nintendo Nunchuck extension and classic is the |
| 21 | Nintendo Classic Controller extension. The motionp extension can | 21 | Nintendo Classic Controller extension. The motionp extension can |
| 22 | be combined with the other two. | 22 | be combined with the other two. |
| 23 | |||
| 23 | Starting with kernel-version 3.11 Motion Plus hotplugging is | 24 | Starting with kernel-version 3.11 Motion Plus hotplugging is |
| 24 | supported and if detected, it's no longer reported as static | 25 | supported and if detected, it's no longer reported as static |
| 25 | extension. You will get uevent notifications for the motion-plus | 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 | Other strings for each device-type are available and may be | 40 | Other strings for each device-type are available and may be |
| 40 | added if new device-specific detections are added. | 41 | added if new device-specific detections are added. |
| 41 | Currently supported are: | 42 | Currently supported are: |
| 42 | gen10: First Wii Remote generation | 43 | |
| 43 | gen20: Second Wii Remote Plus generation (builtin MP) | 44 | ============= ======================================= |
| 45 | gen10: First Wii Remote generation | ||
| 46 | gen20: Second Wii Remote Plus generation | ||
| 47 | (builtin MP) | ||
| 44 | balanceboard: Wii Balance Board | 48 | balanceboard: Wii Balance Board |
| 49 | ============= ======================================= | ||
| 45 | 50 | ||
| 46 | What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib | 51 | What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib |
| 47 | Date: May 2013 | 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 | First, 0kg values for all 4 sensors are written, followed by the | 59 | First, 0kg values for all 4 sensors are written, followed by the |
| 55 | 17kg values for all 4 sensors and last the 34kg values for all 4 | 60 | 17kg values for all 4 sensors and last the 34kg values for all 4 |
| 56 | sensors. | 61 | sensors. |
| 62 | |||
| 57 | Calibration data is already applied by the kernel to all input | 63 | Calibration data is already applied by the kernel to all input |
| 58 | values but may be used by user-space to perform other | 64 | values but may be used by user-space to perform other |
| 59 | transformations. | 65 | transformations. |
| @@ -68,9 +74,11 @@ Description: This attribute is only provided if the device was detected as a · 8 unmodified lines | |||
| 68 | is prefixed with a +/-. Each value is a signed 16bit number. | 74 | is prefixed with a +/-. Each value is a signed 16bit number. |
| 69 | Data is encoded as decimal numbers and specifies the offsets of | 75 | Data is encoded as decimal numbers and specifies the offsets of |
| 70 | the analog sticks of the pro-controller. | 76 | the analog sticks of the pro-controller. |
| 77 | |||
| 71 | Calibration data is already applied by the kernel to all input | 78 | Calibration data is already applied by the kernel to all input |
| 72 | values but may be used by user-space to perform other | 79 | values but may be used by user-space to perform other |
| 73 | transformations. | 80 | transformations. |
| 81 | |||
| 74 | Calibration data is detected by the kernel during device setup. | 82 | Calibration data is detected by the kernel during device setup. |
| 75 | You can write "scan\n" into this file to re-trigger calibration. | 83 | You can write "scan\n" into this file to re-trigger calibration. |
| 76 | You can also write data directly in the form "x1:y1 x2:y2" to | 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 | Description: Reports the firmware version provided by the touchscreen, for example "00_T6" on a EXC80H60 | 4 | Description: Reports the firmware version provided by the touchscreen, for example "00_T6" on a EXC80H60 |
| 5 | 5 | ||
| 6 | Access: Read | 6 | Access: Read |
| 7 | |||
| 7 | Valid values: Represented as string | 8 | Valid values: Represented as string |
| 8 | 9 | ||
| 9 | What: /sys/bus/i2c/devices/xxx/model | 10 | What: /sys/bus/i2c/devices/xxx/model |
| @@ -12,4 +13,5 @@ Contact: linux-input@vger.kernel.org · 2 unmodified lines | |||
| 12 | Description: Reports the model identification provided by the touchscreen, for example "Orion_1320" on a EXC80H60 | 13 | Description: Reports the model identification provided by the touchscreen, for example "Orion_1320" on a EXC80H60 |
| 13 | 14 | ||
| 14 | Access: Read | 15 | Access: Read |
| 16 | |||
| 15 | Valid values: Represented as string | 17 | Valid values: Represented as string |
| @@ -4,7 +4,9 @@ Contact: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> · 3 unmodified lines | |||
| 4 | Description: read-only access to the efuse on the Ingenic JZ4780 SoC | 4 | Description: read-only access to the efuse on the Ingenic JZ4780 SoC |
| 5 | The SoC has a one time programmable 8K efuse that is | 5 | The SoC has a one time programmable 8K efuse that is |
| 6 | split into segments. The driver supports read only. | 6 | split into segments. The driver supports read only. |
| 7 | The segments are | 7 | The segments are: |
| 8 | |||
| 9 | ===== ======== ================= | ||
| 8 | 0x000 64 bit Random Number | 10 | 0x000 64 bit Random Number |
| 9 | 0x008 128 bit Ingenic Chip ID | 11 | 0x008 128 bit Ingenic Chip ID |
| 10 | 0x018 128 bit Customer ID | 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 | 0x1E0 8 bit Protect Segment | 14 | 0x1E0 8 bit Protect Segment |
| 13 | 0x1E1 2296 bit HDMI Key | 15 | 0x1E1 2296 bit HDMI Key |
| 14 | 0x300 2048 bit Security boot key | 16 | 0x300 2048 bit Security boot key |
| 17 | ===== ======== ================= | ||
| 18 | |||
| 15 | Users: any user space application which wants to read the Chip | 19 | Users: any user space application which wants to read the Chip |
| 16 | and Customer ID | 20 | and Customer ID |
| @@ -7,8 +7,10 @@ Description: · 6 unmodified lines | |||
| 7 | the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest | 7 | the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest |
| 8 | to write and read from the PCI device. That is Domain:Bus: | 8 | to write and read from the PCI device. That is Domain:Bus: |
| 9 | Device.Function-Register:Size:Mask (Domain is optional). | 9 | Device.Function-Register:Size:Mask (Domain is optional). |
| 10 | For example: | 10 | For example:: |
| 11 | #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks | 11 | |
| 12 | #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks | ||
| 13 | |||
| 12 | will allow the guest to read and write to the configuration | 14 | will allow the guest to read and write to the configuration |
| 13 | register 0x0E. | 15 | register 0x0E. |
| 14 | 16 | ||
| @@ -9,10 +9,12 @@ Description: Some Samsung laptops have different "performance levels" · 8 unmodified lines | |||
| 9 | their fans quiet at all costs. Reading from this file | 9 | their fans quiet at all costs. Reading from this file |
| 10 | will show the current performance level. Writing to the | 10 | will show the current performance level. Writing to the |
| 11 | file can change this value. | 11 | file can change this value. |
| 12 | |||
| 12 | Valid options: | 13 | Valid options: |
| 13 | "silent" | 14 | - "silent" |
| 14 | "normal" | 15 | - "normal" |
| 15 | "overclock" | 16 | - "overclock" |
| 17 | |||
| 16 | Note that not all laptops support all of these options. | 18 | Note that not all laptops support all of these options. |
| 17 | Specifically, not all support the "overclock" option, | 19 | Specifically, not all support the "overclock" option, |
| 18 | and it's still unknown if this value even changes | 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 | Description: Max battery charge level can be modified, battery cycle | 27 | Description: Max battery charge level can be modified, battery cycle |
| 26 | life can be extended by reducing the max battery charge | 28 | life can be extended by reducing the max battery charge |
| 27 | level. | 29 | level. |
| 28 | 0 means normal battery mode (100% charge) | 30 | |
| 29 | 1 means battery life extender mode (80% charge) | 31 | - 0 means normal battery mode (100% charge) |
| 32 | - 1 means battery life extender mode (80% charge) | ||
| 30 | 33 | ||
| 31 | What: /sys/devices/platform/samsung/usb_charge | 34 | What: /sys/devices/platform/samsung/usb_charge |
| 32 | Date: December 1, 2011 | 35 | Date: December 1, 2011 |
| @@ -4,10 +4,12 @@ KernelVersion: 3.15 · 3 unmodified lines | |||
| 4 | Contact: Azael Avalos <coproscefalo@gmail.com> | 4 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 5 | Description: This file controls the keyboard backlight operation mode, valid | 5 | Description: This file controls the keyboard backlight operation mode, valid |
| 6 | values are: | 6 | values are: |
| 7 | |||
| 7 | * 0x1 -> FN-Z | 8 | * 0x1 -> FN-Z |
| 8 | * 0x2 -> AUTO (also called TIMER) | 9 | * 0x2 -> AUTO (also called TIMER) |
| 9 | * 0x8 -> ON | 10 | * 0x8 -> ON |
| 10 | * 0x10 -> OFF | 11 | * 0x10 -> OFF |
| 12 | |||
| 11 | Note that from kernel 3.16 onwards this file accepts all listed | 13 | Note that from kernel 3.16 onwards this file accepts all listed |
| 12 | parameters, kernel 3.15 only accepts the first two (FN-Z and | 14 | parameters, kernel 3.15 only accepts the first two (FN-Z and |
| 13 | AUTO). | 15 | AUTO). |
| @@ -41,8 +43,10 @@ KernelVersion: 3.15 · 27 unmodified lines | |||
| 41 | Contact: Azael Avalos <coproscefalo@gmail.com> | 43 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 42 | Description: This files controls the status of the touchpad and pointing | 44 | Description: This files controls the status of the touchpad and pointing |
| 43 | stick (if available), valid values are: | 45 | stick (if available), valid values are: |
| 46 | |||
| 44 | * 0 -> OFF | 47 | * 0 -> OFF |
| 45 | * 1 -> ON | 48 | * 1 -> ON |
| 49 | |||
| 46 | Users: KToshiba | 50 | Users: KToshiba |
| 47 | 51 | ||
| 48 | What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes | 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 | Contact: Azael Avalos <coproscefalo@gmail.com> | 55 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 52 | Description: This file shows the supported keyboard backlight modes | 56 | Description: This file shows the supported keyboard backlight modes |
| 53 | the system supports, which can be: | 57 | the system supports, which can be: |
| 58 | |||
| 54 | * 0x1 -> FN-Z | 59 | * 0x1 -> FN-Z |
| 55 | * 0x2 -> AUTO (also called TIMER) | 60 | * 0x2 -> AUTO (also called TIMER) |
| 56 | * 0x8 -> ON | 61 | * 0x8 -> ON |
| 57 | * 0x10 -> OFF | 62 | * 0x10 -> OFF |
| 63 | |||
| 58 | Note that not all keyboard types support the listed modes. | 64 | Note that not all keyboard types support the listed modes. |
| 59 | See the entry named "available_kbd_modes" | 65 | See the entry named "available_kbd_modes" |
| 60 | Users: KToshiba | 66 | Users: KToshiba |
| @@ -65,6 +71,7 @@ KernelVersion: 3.16 · 4 unmodified lines | |||
| 65 | Contact: Azael Avalos <coproscefalo@gmail.com> | 71 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 66 | Description: This file shows the current keyboard backlight type, | 72 | Description: This file shows the current keyboard backlight type, |
| 67 | which can be: | 73 | which can be: |
| 74 | |||
| 68 | * 1 -> Type 1, supporting modes FN-Z and AUTO | 75 | * 1 -> Type 1, supporting modes FN-Z and AUTO |
| 69 | * 2 -> Type 2, supporting modes TIMER, ON and OFF | 76 | * 2 -> Type 2, supporting modes TIMER, ON and OFF |
| 70 | Users: KToshiba | 77 | Users: KToshiba |
| @@ -75,10 +82,12 @@ KernelVersion: 4.0 · 4 unmodified lines | |||
| 75 | Contact: Azael Avalos <coproscefalo@gmail.com> | 82 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 76 | Description: This file controls the USB Sleep & Charge charging mode, which | 83 | Description: This file controls the USB Sleep & Charge charging mode, which |
| 77 | can be: | 84 | can be: |
| 85 | |||
| 78 | * 0 -> Disabled (0x00) | 86 | * 0 -> Disabled (0x00) |
| 79 | * 1 -> Alternate (0x09) | 87 | * 1 -> Alternate (0x09) |
| 80 | * 2 -> Auto (0x21) | 88 | * 2 -> Auto (0x21) |
| 81 | * 3 -> Typical (0x11) | 89 | * 3 -> Typical (0x11) |
| 90 | |||
| 82 | Note that from kernel 4.1 onwards this file accepts all listed | 91 | Note that from kernel 4.1 onwards this file accepts all listed |
| 83 | values, kernel 4.0 only supports the first three. | 92 | values, kernel 4.0 only supports the first three. |
| 84 | Note that this feature only works when connected to power, if | 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 | Description: This file controls the USB Sleep Functions under battery, and | 102 | Description: This file controls the USB Sleep Functions under battery, and |
| 94 | set the level at which point they will be disabled, accepted | 103 | set the level at which point they will be disabled, accepted |
| 95 | values can be: | 104 | values can be: |
| 105 | |||
| 96 | * 0 -> Disabled | 106 | * 0 -> Disabled |
| 97 | * 1-100 -> Battery level to disable sleep functions | 107 | * 1-100 -> Battery level to disable sleep functions |
| 108 | |||
| 98 | Currently it prints two values, the first one indicates if the | 109 | Currently it prints two values, the first one indicates if the |
| 99 | feature is enabled or disabled, while the second one shows the | 110 | feature is enabled or disabled, while the second one shows the |
| 100 | current battery level set. | 111 | current battery level set. |
| @@ -107,8 +118,10 @@ Date: January 23, 2015 · 6 unmodified lines | |||
| 107 | KernelVersion: 4.0 | 118 | KernelVersion: 4.0 |
| 108 | Contact: Azael Avalos <coproscefalo@gmail.com> | 119 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 109 | Description: This file controls the USB Rapid Charge state, which can be: | 120 | Description: This file controls the USB Rapid Charge state, which can be: |
| 121 | |||
| 110 | * 0 -> Disabled | 122 | * 0 -> Disabled |
| 111 | * 1 -> Enabled | 123 | * 1 -> Enabled |
| 124 | |||
| 112 | Note that toggling this value requires a reboot for changes to | 125 | Note that toggling this value requires a reboot for changes to |
| 113 | take effect. | 126 | take effect. |
| 114 | Users: KToshiba | 127 | Users: KToshiba |
| @@ -118,8 +131,10 @@ Date: January 23, 2015 · 3 unmodified lines | |||
| 118 | KernelVersion: 4.0 | 131 | KernelVersion: 4.0 |
| 119 | Contact: Azael Avalos <coproscefalo@gmail.com> | 132 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 120 | Description: This file controls the Sleep & Music state, which values can be: | 133 | Description: This file controls the Sleep & Music state, which values can be: |
| 134 | |||
| 121 | * 0 -> Disabled | 135 | * 0 -> Disabled |
| 122 | * 1 -> Enabled | 136 | * 1 -> Enabled |
| 137 | |||
| 123 | Note that this feature only works when connected to power, if | 138 | Note that this feature only works when connected to power, if |
| 124 | you want to use it under battery, see the entry named | 139 | you want to use it under battery, see the entry named |
| 125 | "sleep_functions_on_battery" | 140 | "sleep_functions_on_battery" |
| @@ -138,6 +153,7 @@ KernelVersion: 4.0 · 12 unmodified lines | |||
| 138 | Contact: Azael Avalos <coproscefalo@gmail.com> | 153 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 139 | Description: This file controls the state of the internal fan, valid | 154 | Description: This file controls the state of the internal fan, valid |
| 140 | values are: | 155 | values are: |
| 156 | |||
| 141 | * 0 -> OFF | 157 | * 0 -> OFF |
| 142 | * 1 -> ON | 158 | * 1 -> ON |
| 143 | 159 | ||
| @@ -147,8 +163,10 @@ KernelVersion: 4.0 · 3 unmodified lines | |||
| 147 | Contact: Azael Avalos <coproscefalo@gmail.com> | 163 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 148 | Description: This file controls the Special Functions (hotkeys) operation | 164 | Description: This file controls the Special Functions (hotkeys) operation |
| 149 | mode, valid values are: | 165 | mode, valid values are: |
| 166 | |||
| 150 | * 0 -> Normal Operation | 167 | * 0 -> Normal Operation |
| 151 | * 1 -> Special Functions | 168 | * 1 -> Special Functions |
| 169 | |||
| 152 | In the "Normal Operation" mode, the F{1-12} keys are as usual | 170 | In the "Normal Operation" mode, the F{1-12} keys are as usual |
| 153 | and the hotkeys are accessed via FN-F{1-12}. | 171 | and the hotkeys are accessed via FN-F{1-12}. |
| 154 | In the "Special Functions" mode, the F{1-12} keys trigger the | 172 | In the "Special Functions" mode, the F{1-12} keys trigger the |
| @@ -163,8 +181,10 @@ KernelVersion: 4.0 · 8 unmodified lines | |||
| 163 | Contact: Azael Avalos <coproscefalo@gmail.com> | 181 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 164 | Description: This file controls whether the laptop should turn ON whenever | 182 | Description: This file controls whether the laptop should turn ON whenever |
| 165 | the LID is opened, valid values are: | 183 | the LID is opened, valid values are: |
| 184 | |||
| 166 | * 0 -> Disabled | 185 | * 0 -> Disabled |
| 167 | * 1 -> Enabled | 186 | * 1 -> Enabled |
| 187 | |||
| 168 | Note that toggling this value requires a reboot for changes to | 188 | Note that toggling this value requires a reboot for changes to |
| 169 | take effect. | 189 | take effect. |
| 170 | Users: KToshiba | 190 | Users: KToshiba |
| @@ -174,8 +194,10 @@ Date: February 12, 2015 · 3 unmodified lines | |||
| 174 | KernelVersion: 4.0 | 194 | KernelVersion: 4.0 |
| 175 | Contact: Azael Avalos <coproscefalo@gmail.com> | 195 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 176 | Description: This file controls the USB 3 functionality, valid values are: | 196 | Description: This file controls the USB 3 functionality, valid values are: |
| 197 | |||
| 177 | * 0 -> Disabled (Acts as a regular USB 2) | 198 | * 0 -> Disabled (Acts as a regular USB 2) |
| 178 | * 1 -> Enabled (Full USB 3 functionality) | 199 | * 1 -> Enabled (Full USB 3 functionality) |
| 200 | |||
| 179 | Note that toggling this value requires a reboot for changes to | 201 | Note that toggling this value requires a reboot for changes to |
| 180 | take effect. | 202 | take effect. |
| 181 | Users: KToshiba | 203 | Users: KToshiba |
| @@ -188,10 +210,14 @@ Description: This file controls the Cooling Method feature. · 6 unmodified lines | |||
| 188 | Reading this file prints two values, the first is the actual cooling method | 210 | Reading this file prints two values, the first is the actual cooling method |
| 189 | and the second is the maximum cooling method supported. | 211 | and the second is the maximum cooling method supported. |
| 190 | When the maximum cooling method is ONE, valid values are: | 212 | When the maximum cooling method is ONE, valid values are: |
| 213 | |||
| 191 | * 0 -> Maximum Performance | 214 | * 0 -> Maximum Performance |
| 192 | * 1 -> Battery Optimized | 215 | * 1 -> Battery Optimized |
| 216 | |||
| 193 | When the maximum cooling method is TWO, valid values are: | 217 | When the maximum cooling method is TWO, valid values are: |
| 218 | |||
| 194 | * 0 -> Maximum Performance | 219 | * 0 -> Maximum Performance |
| 195 | * 1 -> Performance | 220 | * 1 -> Performance |
| 196 | * 2 -> Battery Optimized | 221 | * 2 -> Battery Optimized |
| 222 | |||
| 197 | Users: KToshiba | 223 | Users: KToshiba |
| @@ -4,10 +4,12 @@ KernelVersion: 3.17 · 3 unmodified lines | |||
| 4 | Contact: Azael Avalos <coproscefalo@gmail.com> | 4 | Contact: Azael Avalos <coproscefalo@gmail.com> |
| 5 | Description: This file controls the built-in accelerometer protection level, | 5 | Description: This file controls the built-in accelerometer protection level, |
| 6 | valid values are: | 6 | valid values are: |
| 7 | |||
| 7 | * 0 -> Disabled | 8 | * 0 -> Disabled |
| 8 | * 1 -> Low | 9 | * 1 -> Low |
| 9 | * 2 -> Medium | 10 | * 2 -> Medium |
| 10 | * 3 -> High | 11 | * 3 -> High |
| 12 | |||
| 11 | The default potection value is set to 2 (Medium). | 13 | The default potection value is set to 2 (Medium). |
| 12 | Users: KToshiba | 14 | Users: KToshiba |
| 13 | 15 | ||
| @@ -18,6 +18,7 @@ Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> · 17 unmodified lines | |||
| 18 | Description: This file shows the device type. This is one of the UFS | 18 | Description: This file shows the device type. This is one of the UFS |
| 19 | device descriptor parameters. The full information about | 19 | device descriptor parameters. The full information about |
| 20 | the descriptor could be found at UFS specifications 2.1. | 20 | the descriptor could be found at UFS specifications 2.1. |
| 21 | |||
| 21 | The file is read only. | 22 | The file is read only. |
| 22 | 23 | ||
| 23 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class | 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 | Description: This file shows the device class. This is one of the UFS | 27 | Description: This file shows the device class. This is one of the UFS |
| 27 | device descriptor parameters. The full information about | 28 | device descriptor parameters. The full information about |
| 28 | the descriptor could be found at UFS specifications 2.1. | 29 | the descriptor could be found at UFS specifications 2.1. |
| 30 | |||
| 29 | The file is read only. | 31 | The file is read only. |
| 30 | 32 | ||
| 31 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class | 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 | Description: This file shows the UFS storage subclass. This is one of | 36 | Description: This file shows the UFS storage subclass. This is one of |
| 35 | the UFS device descriptor parameters. The full information | 37 | the UFS device descriptor parameters. The full information |
| 36 | about the descriptor could be found at UFS specifications 2.1. | 38 | about the descriptor could be found at UFS specifications 2.1. |
| 39 | |||
| 37 | The file is read only. | 40 | The file is read only. |
| 38 | 41 | ||
| 39 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol | 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 | This is one of the UFS device descriptor parameters. | 46 | This is one of the UFS device descriptor parameters. |
| 44 | The full information about the descriptor could be found | 47 | The full information about the descriptor could be found |
| 45 | at UFS specifications 2.1. | 48 | at UFS specifications 2.1. |
| 49 | |||
| 46 | The file is read only. | 50 | The file is read only. |
| 47 | 51 | ||
| 48 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns | 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 | Description: This file shows number of logical units. This is one of | 55 | Description: This file shows number of logical units. This is one of |
| 52 | the UFS device descriptor parameters. The full information | 56 | the UFS device descriptor parameters. The full information |
| 53 | about the descriptor could be found at UFS specifications 2.1. | 57 | about the descriptor could be found at UFS specifications 2.1. |
| 58 | |||
| 54 | The file is read only. | 59 | The file is read only. |
| 55 | 60 | ||
| 56 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns | 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 | This is one of the UFS device descriptor parameters. | 65 | This is one of the UFS device descriptor parameters. |
| 61 | The full information about the descriptor could be found | 66 | The full information about the descriptor could be found |
| 62 | at UFS specifications 2.1. | 67 | at UFS specifications 2.1. |
| 68 | |||
| 63 | The file is read only. | 69 | The file is read only. |
| 64 | 70 | ||
| 65 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable | 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 | enabled for boot. This is one of the UFS device descriptor | 75 | enabled for boot. This is one of the UFS device descriptor |
| 70 | parameters. The full information about the descriptor could | 76 | parameters. The full information about the descriptor could |
| 71 | be found at UFS specifications 2.1. | 77 | be found at UFS specifications 2.1. |
| 78 | |||
| 72 | The file is read only. | 79 | The file is read only. |
| 73 | 80 | ||
| 74 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable | 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 | of the boot sequence. This is one of the UFS device descriptor | 86 | of the boot sequence. This is one of the UFS device descriptor |
| 80 | parameters. The full information about the descriptor could | 87 | parameters. The full information about the descriptor could |
| 81 | be found at UFS specifications 2.1. | 88 | be found at UFS specifications 2.1. |
| 89 | |||
| 82 | The file is read only. | 90 | The file is read only. |
| 83 | 91 | ||
| 84 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode | 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 | device initialization or hardware reset. This is one of | 96 | device initialization or hardware reset. This is one of |
| 89 | the UFS device descriptor parameters. The full information | 97 | the UFS device descriptor parameters. The full information |
| 90 | about the descriptor could be found at UFS specifications 2.1. | 98 | about the descriptor could be found at UFS specifications 2.1. |
| 99 | |||
| 91 | The file is read only. | 100 | The file is read only. |
| 92 | 101 | ||
| 93 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun | 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 | Description: This file shows the high priority lun. This is one of | 105 | Description: This file shows the high priority lun. This is one of |
| 97 | the UFS device descriptor parameters. The full information | 106 | the UFS device descriptor parameters. The full information |
| 98 | about the descriptor could be found at UFS specifications 2.1. | 107 | about the descriptor could be found at UFS specifications 2.1. |
| 108 | |||
| 99 | The file is read only. | 109 | The file is read only. |
| 100 | 110 | ||
| 101 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type | 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 | Description: This file shows the secure removal type. This is one of | 114 | Description: This file shows the secure removal type. This is one of |
| 105 | the UFS device descriptor parameters. The full information | 115 | the UFS device descriptor parameters. The full information |
| 106 | about the descriptor could be found at UFS specifications 2.1. | 116 | about the descriptor could be found at UFS specifications 2.1. |
| 117 | |||
| 107 | The file is read only. | 118 | The file is read only. |
| 108 | 119 | ||
| 109 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun | 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 | This is one of the UFS device descriptor parameters. | 124 | This is one of the UFS device descriptor parameters. |
| 114 | The full information about the descriptor could be found | 125 | The full information about the descriptor could be found |
| 115 | at UFS specifications 2.1. | 126 | at UFS specifications 2.1. |
| 127 | |||
| 116 | The file is read only. | 128 | The file is read only. |
| 117 | 129 | ||
| 118 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency | 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 | latency. This is one of the UFS device descriptor parameters. | 134 | latency. This is one of the UFS device descriptor parameters. |
| 123 | The full information about the descriptor could be found | 135 | The full information about the descriptor could be found |
| 124 | at UFS specifications 2.1. | 136 | at UFS specifications 2.1. |
| 137 | |||
| 125 | The file is read only. | 138 | The file is read only. |
| 126 | 139 | ||
| 127 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level | 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 | Description: This file shows the initial active ICC level. This is one | 143 | Description: This file shows the initial active ICC level. This is one |
| 131 | of the UFS device descriptor parameters. The full information | 144 | of the UFS device descriptor parameters. The full information |
| 132 | about the descriptor could be found at UFS specifications 2.1. | 145 | about the descriptor could be found at UFS specifications 2.1. |
| 146 | |||
| 133 | The file is read only. | 147 | The file is read only. |
| 134 | 148 | ||
| 135 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version | 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 | Description: This file shows the specification version. This is one | 152 | Description: This file shows the specification version. This is one |
| 139 | of the UFS device descriptor parameters. The full information | 153 | of the UFS device descriptor parameters. The full information |
| 140 | about the descriptor could be found at UFS specifications 2.1. | 154 | about the descriptor could be found at UFS specifications 2.1. |
| 155 | |||
| 141 | The file is read only. | 156 | The file is read only. |
| 142 | 157 | ||
| 143 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date | 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 | This is one of the UFS device descriptor parameters. | 162 | This is one of the UFS device descriptor parameters. |
| 148 | The full information about the descriptor could be found | 163 | The full information about the descriptor could be found |
| 149 | at UFS specifications 2.1. | 164 | at UFS specifications 2.1. |
| 165 | |||
| 150 | The file is read only. | 166 | The file is read only. |
| 151 | 167 | ||
| 152 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id | 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 | Description: This file shows the manufacturee ID. This is one of the | 171 | Description: This file shows the manufacturee ID. This is one of the |
| 156 | UFS device descriptor parameters. The full information about | 172 | UFS device descriptor parameters. The full information about |
| 157 | the descriptor could be found at UFS specifications 2.1. | 173 | the descriptor could be found at UFS specifications 2.1. |
| 174 | |||
| 158 | The file is read only. | 175 | The file is read only. |
| 159 | 176 | ||
| 160 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability | 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 | supported by the device. This is one of the UFS device | 181 | supported by the device. This is one of the UFS device |
| 165 | descriptor parameters. The full information about | 182 | descriptor parameters. The full information about |
| 166 | the descriptor could be found at UFS specifications 2.1. | 183 | the descriptor could be found at UFS specifications 2.1. |
| 184 | |||
| 167 | The file is read only. | 185 | The file is read only. |
| 168 | 186 | ||
| 169 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update | 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 | clock update. This is one of the UFS device descriptor | 191 | clock update. This is one of the UFS device descriptor |
| 174 | parameters. The full information about the descriptor | 192 | parameters. The full information about the descriptor |
| 175 | could be found at UFS specifications 2.1. | 193 | could be found at UFS specifications 2.1. |
| 194 | |||
| 176 | The file is read only. | 195 | The file is read only. |
| 177 | 196 | ||
| 178 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features | 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 | This is one of the UFS device descriptor parameters. | 201 | This is one of the UFS device descriptor parameters. |
| 183 | The full information about the descriptor could be | 202 | The full information about the descriptor could be |
| 184 | found at UFS specifications 2.1. | 203 | found at UFS specifications 2.1. |
| 204 | |||
| 185 | The file is read only. | 205 | The file is read only. |
| 186 | 206 | ||
| 187 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout | 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 | Description: This file shows the FFU timeout. This is one of the | 210 | Description: This file shows the FFU timeout. This is one of the |
| 191 | UFS device descriptor parameters. The full information | 211 | UFS device descriptor parameters. The full information |
| 192 | about the descriptor could be found at UFS specifications 2.1. | 212 | about the descriptor could be found at UFS specifications 2.1. |
| 213 | |||
| 193 | The file is read only. | 214 | The file is read only. |
| 194 | 215 | ||
| 195 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth | 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 | Description: This file shows the device queue depth. This is one of the | 219 | Description: This file shows the device queue depth. This is one of the |
| 199 | UFS device descriptor parameters. The full information | 220 | UFS device descriptor parameters. The full information |
| 200 | about the descriptor could be found at UFS specifications 2.1. | 221 | about the descriptor could be found at UFS specifications 2.1. |
| 222 | |||
| 201 | The file is read only. | 223 | The file is read only. |
| 202 | 224 | ||
| 203 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version | 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 | Description: This file shows the device version. This is one of the | 228 | Description: This file shows the device version. This is one of the |
| 207 | UFS device descriptor parameters. The full information | 229 | UFS device descriptor parameters. The full information |
| 208 | about the descriptor could be found at UFS specifications 2.1. | 230 | about the descriptor could be found at UFS specifications 2.1. |
| 231 | |||
| 209 | The file is read only. | 232 | The file is read only. |
| 210 | 233 | ||
| 211 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa | 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 | supported by the device. This is one of the UFS device | 238 | supported by the device. This is one of the UFS device |
| 216 | descriptor parameters. The full information about | 239 | descriptor parameters. The full information about |
| 217 | the descriptor could be found at UFS specifications 2.1. | 240 | the descriptor could be found at UFS specifications 2.1. |
| 241 | |||
| 218 | The file is read only. | 242 | The file is read only. |
| 219 | 243 | ||
| 220 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size | 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 | This is one of the UFS device descriptor parameters. | 249 | This is one of the UFS device descriptor parameters. |
| 226 | The full information about the descriptor could be found | 250 | The full information about the descriptor could be found |
| 227 | at UFS specifications 2.1. | 251 | at UFS specifications 2.1. |
| 252 | |||
| 228 | The file is read only. | 253 | The file is read only. |
| 229 | 254 | ||
| 230 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout | 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 | in PSA state. This is one of the UFS device descriptor | 259 | in PSA state. This is one of the UFS device descriptor |
| 235 | parameters. The full information about the descriptor could | 260 | parameters. The full information about the descriptor could |
| 236 | be found at UFS specifications 2.1. | 261 | be found at UFS specifications 2.1. |
| 262 | |||
| 237 | The file is read only. | 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 | This is one of the UFS interconnect descriptor parameters. | 270 | This is one of the UFS interconnect descriptor parameters. |
| 245 | The full information about the descriptor could be found at | 271 | The full information about the descriptor could be found at |
| 246 | UFS specifications 2.1. | 272 | UFS specifications 2.1. |
| 273 | |||
| 247 | The file is read only. | 274 | The file is read only. |
| 248 | 275 | ||
| 249 | What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version | 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 | This is one of the UFS interconnect descriptor parameters. | 280 | This is one of the UFS interconnect descriptor parameters. |
| 254 | The full information about the descriptor could be found at | 281 | The full information about the descriptor could be found at |
| 255 | UFS specifications 2.1. | 282 | UFS specifications 2.1. |
| 283 | |||
| 256 | The file is read only. | 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 | of the UFS geometry descriptor parameters. The full | 292 | of the UFS geometry descriptor parameters. The full |
| 265 | information about the descriptor could be found at | 293 | information about the descriptor could be found at |
| 266 | UFS specifications 2.1. | 294 | UFS specifications 2.1. |
| 295 | |||
| 267 | The file is read only. | 296 | The file is read only. |
| 268 | 297 | ||
| 269 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns | 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 | supported by the UFS device. This is one of the UFS | 302 | supported by the UFS device. This is one of the UFS |
| 274 | geometry descriptor parameters. The full information about | 303 | geometry descriptor parameters. The full information about |
| 275 | the descriptor could be found at UFS specifications 2.1. | 304 | the descriptor could be found at UFS specifications 2.1. |
| 305 | |||
| 276 | The file is read only. | 306 | The file is read only. |
| 277 | 307 | ||
| 278 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size | 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 | Description: This file shows the segment size. This is one of the UFS | 311 | Description: This file shows the segment size. This is one of the UFS |
| 282 | geometry descriptor parameters. The full information about | 312 | geometry descriptor parameters. The full information about |
| 283 | the descriptor could be found at UFS specifications 2.1. | 313 | the descriptor could be found at UFS specifications 2.1. |
| 314 | |||
| 284 | The file is read only. | 315 | The file is read only. |
| 285 | 316 | ||
| 286 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size | 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 | Description: This file shows the allocation unit size. This is one of | 320 | Description: This file shows the allocation unit size. This is one of |
| 290 | the UFS geometry descriptor parameters. The full information | 321 | the UFS geometry descriptor parameters. The full information |
| 291 | about the descriptor could be found at UFS specifications 2.1. | 322 | about the descriptor could be found at UFS specifications 2.1. |
| 323 | |||
| 292 | The file is read only. | 324 | The file is read only. |
| 293 | 325 | ||
| 294 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size | 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 | is one of the UFS geometry descriptor parameters. The full | 330 | is one of the UFS geometry descriptor parameters. The full |
| 299 | information about the descriptor could be found at UFS | 331 | information about the descriptor could be found at UFS |
| 300 | specifications 2.1. | 332 | specifications 2.1. |
| 333 | |||
| 301 | The file is read only. | 334 | The file is read only. |
| 302 | 335 | ||
| 303 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size | 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 | of the UFS geometry descriptor parameters. The full | 340 | of the UFS geometry descriptor parameters. The full |
| 308 | information about the descriptor could be found at UFS | 341 | information about the descriptor could be found at UFS |
| 309 | specifications 2.1. | 342 | specifications 2.1. |
| 343 | |||
| 310 | The file is read only. | 344 | The file is read only. |
| 311 | 345 | ||
| 312 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size | 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 | of the UFS geometry descriptor parameters. The full | 350 | of the UFS geometry descriptor parameters. The full |
| 317 | information about the descriptor could be found at UFS | 351 | information about the descriptor could be found at UFS |
| 318 | specifications 2.1. | 352 | specifications 2.1. |
| 353 | |||
| 319 | The file is read only. | 354 | The file is read only. |
| 320 | 355 | ||
| 321 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size | 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 | is one of the UFS geometry descriptor parameters. The full | 360 | is one of the UFS geometry descriptor parameters. The full |
| 326 | information about the descriptor could be found at UFS | 361 | information about the descriptor could be found at UFS |
| 327 | specifications 2.1. | 362 | specifications 2.1. |
| 363 | |||
| 328 | The file is read only. | 364 | The file is read only. |
| 329 | 365 | ||
| 330 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size | 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 | is one of the UFS geometry descriptor parameters. The full | 370 | is one of the UFS geometry descriptor parameters. The full |
| 335 | information about the descriptor could be found at UFS | 371 | information about the descriptor could be found at UFS |
| 336 | specifications 2.1. | 372 | specifications 2.1. |
| 373 | |||
| 337 | The file is read only. | 374 | The file is read only. |
| 338 | 375 | ||
| 339 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size | 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 | in Security Protocol In/Out. This is one of the UFS geometry | 380 | in Security Protocol In/Out. This is one of the UFS geometry |
| 344 | descriptor parameters. The full information about the | 381 | descriptor parameters. The full information about the |
| 345 | descriptor could be found at UFS specifications 2.1. | 382 | descriptor could be found at UFS specifications 2.1. |
| 383 | |||
| 346 | The file is read only. | 384 | The file is read only. |
| 347 | 385 | ||
| 348 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy | 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 | is one of the UFS geometry descriptor parameters. The full | 390 | is one of the UFS geometry descriptor parameters. The full |
| 353 | information about the descriptor could be found at | 391 | information about the descriptor could be found at |
| 354 | UFS specifications 2.1. | 392 | UFS specifications 2.1. |
| 393 | |||
| 355 | The file is read only. | 394 | The file is read only. |
| 356 | 395 | ||
| 357 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering | 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 | This is one of the UFS geometry descriptor parameters. | 400 | This is one of the UFS geometry descriptor parameters. |
| 362 | The full information about the descriptor could be found at | 401 | The full information about the descriptor could be found at |
| 363 | UFS specifications 2.1. | 402 | UFS specifications 2.1. |
| 403 | |||
| 364 | The file is read only. | 404 | The file is read only. |
| 365 | 405 | ||
| 366 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts | 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 | are supported by the device. This is one of the UFS geometry | 410 | are supported by the device. This is one of the UFS geometry |
| 371 | descriptor parameters. The full information about the | 411 | descriptor parameters. The full information about the |
| 372 | descriptor could be found at UFS specifications 2.1. | 412 | descriptor could be found at UFS specifications 2.1. |
| 413 | |||
| 373 | The file is read only. | 414 | The file is read only. |
| 374 | 415 | ||
| 375 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size | 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 | Description: This file shows system data tag unit size. This is one of | 419 | Description: This file shows system data tag unit size. This is one of |
| 379 | the UFS geometry descriptor parameters. The full information | 420 | the UFS geometry descriptor parameters. The full information |
| 380 | about the descriptor could be found at UFS specifications 2.1. | 421 | about the descriptor could be found at UFS specifications 2.1. |
| 422 | |||
| 381 | The file is read only. | 423 | The file is read only. |
| 382 | 424 | ||
| 383 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size | 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 | This is one of the UFS geometry descriptor parameters. | 430 | This is one of the UFS geometry descriptor parameters. |
| 389 | The full information about the descriptor could be found at | 431 | The full information about the descriptor could be found at |
| 390 | UFS specifications 2.1. | 432 | UFS specifications 2.1. |
| 433 | |||
| 391 | The file is read only. | 434 | The file is read only. |
| 392 | 435 | ||
| 393 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types | 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 | one of the UFS geometry descriptor parameters. The full | 440 | one of the UFS geometry descriptor parameters. The full |
| 398 | information about the descriptor could be found at | 441 | information about the descriptor could be found at |
| 399 | UFS specifications 2.1. | 442 | UFS specifications 2.1. |
| 443 | |||
| 400 | The file is read only. | 444 | The file is read only. |
| 401 | 445 | ||
| 402 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types | 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 | the UFS geometry descriptor parameters. The full | 450 | the UFS geometry descriptor parameters. The full |
| 407 | information about the descriptor could be found at | 451 | information about the descriptor could be found at |
| 408 | UFS specifications 2.1. | 452 | UFS specifications 2.1. |
| 453 | |||
| 409 | The file is read only. | 454 | The file is read only. |
| 410 | 455 | ||
| 411 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units | 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 | enhanced type 1-4). This is one of the UFS geometry | 461 | enhanced type 1-4). This is one of the UFS geometry |
| 417 | descriptor parameters. The full information about the | 462 | descriptor parameters. The full information about the |
| 418 | descriptor could be found at UFS specifications 2.1. | 463 | descriptor could be found at UFS specifications 2.1. |
| 464 | |||
| 419 | The file is read only. | 465 | The file is read only. |
| 420 | 466 | ||
| 421 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor | 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 | enhanced type 1-4). This is one of the UFS geometry | 472 | enhanced type 1-4). This is one of the UFS geometry |
| 427 | descriptor parameters. The full information about the | 473 | descriptor parameters. The full information about the |
| 428 | descriptor could be found at UFS specifications 2.1. | 474 | descriptor could be found at UFS specifications 2.1. |
| 475 | |||
| 429 | The file is read only. | 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 | of the UFS health descriptor parameters. The full | 483 | of the UFS health descriptor parameters. The full |
| 437 | information about the descriptor could be found at | 484 | information about the descriptor could be found at |
| 438 | UFS specifications 2.1. | 485 | UFS specifications 2.1. |
| 486 | |||
| 439 | The file is read only. | 487 | The file is read only. |
| 440 | 488 | ||
| 441 | What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a | 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 | (method a). This is one of the UFS health descriptor | 493 | (method a). This is one of the UFS health descriptor |
| 446 | parameters. The full information about the descriptor | 494 | parameters. The full information about the descriptor |
| 447 | could be found at UFS specifications 2.1. | 495 | could be found at UFS specifications 2.1. |
| 496 | |||
| 448 | The file is read only. | 497 | The file is read only. |
| 449 | 498 | ||
| 450 | What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b | 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 | (method b). This is one of the UFS health descriptor | 503 | (method b). This is one of the UFS health descriptor |
| 455 | parameters. The full information about the descriptor | 504 | parameters. The full information about the descriptor |
| 456 | could be found at UFS specifications 2.1. | 505 | could be found at UFS specifications 2.1. |
| 506 | |||
| 457 | The file is read only. | 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 | active ICC levels from 0 to 15. This is one of the UFS | 514 | active ICC levels from 0 to 15. This is one of the UFS |
| 465 | power descriptor parameters. The full information about | 515 | power descriptor parameters. The full information about |
| 466 | the descriptor could be found at UFS specifications 2.1. | 516 | the descriptor could be found at UFS specifications 2.1. |
| 517 | |||
| 467 | The file is read only. | 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 | Description: This file contains a device manufactureer name string. | 524 | Description: This file contains a device manufactureer name string. |
| 474 | The full information about the descriptor could be found at | 525 | The full information about the descriptor could be found at |
| 475 | UFS specifications 2.1. | 526 | UFS specifications 2.1. |
| 527 | |||
| 476 | The file is read only. | 528 | The file is read only. |
| 477 | 529 | ||
| 478 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name | 530 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name |
| @@ -480,6 +532,7 @@ Date: February 2018 · 1 unmodified line | |||
| 480 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> | 532 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 481 | Description: This file contains a product name string. The full information | 533 | Description: This file contains a product name string. The full information |
| 482 | about the descriptor could be found at UFS specifications 2.1. | 534 | about the descriptor could be found at UFS specifications 2.1. |
| 535 | |||
| 483 | The file is read only. | 536 | The file is read only. |
| 484 | 537 | ||
| 485 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id | 538 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id |
| @@ -487,6 +540,7 @@ Date: February 2018 · 1 unmodified line | |||
| 487 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> | 540 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 488 | Description: This file contains a OEM ID string. The full information | 541 | Description: This file contains a OEM ID string. The full information |
| 489 | about the descriptor could be found at UFS specifications 2.1. | 542 | about the descriptor could be found at UFS specifications 2.1. |
| 543 | |||
| 490 | The file is read only. | 544 | The file is read only. |
| 491 | 545 | ||
| 492 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number | 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 | Description: This file contains a device serial number string. The full | 549 | Description: This file contains a device serial number string. The full |
| 496 | information about the descriptor could be found at | 550 | information about the descriptor could be found at |
| 497 | UFS specifications 2.1. | 551 | UFS specifications 2.1. |
| 552 | |||
| 498 | The file is read only. | 553 | The file is read only. |
| 499 | 554 | ||
| 500 | What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision | 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 | Description: This file contains a product revision string. The full | 558 | Description: This file contains a product revision string. The full |
| 504 | information about the descriptor could be found at | 559 | information about the descriptor could be found at |
| 505 | UFS specifications 2.1. | 560 | UFS specifications 2.1. |
| 561 | |||
| 506 | The file is read only. | 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 | Description: This file shows boot LUN information. This is one of | 568 | Description: This file shows boot LUN information. This is one of |
| 513 | the UFS unit descriptor parameters. The full information | 569 | the UFS unit descriptor parameters. The full information |
| 514 | about the descriptor could be found at UFS specifications 2.1. | 570 | about the descriptor could be found at UFS specifications 2.1. |
| 571 | |||
| 515 | The file is read only. | 572 | The file is read only. |
| 516 | 573 | ||
| 517 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect | 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 | Description: This file shows LUN write protection status. This is one of | 577 | Description: This file shows LUN write protection status. This is one of |
| 521 | the UFS unit descriptor parameters. The full information | 578 | the UFS unit descriptor parameters. The full information |
| 522 | about the descriptor could be found at UFS specifications 2.1. | 579 | about the descriptor could be found at UFS specifications 2.1. |
| 580 | |||
| 523 | The file is read only. | 581 | The file is read only. |
| 524 | 582 | ||
| 525 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth | 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 | Description: This file shows LUN queue depth. This is one of the UFS | 586 | Description: This file shows LUN queue depth. This is one of the UFS |
| 529 | unit descriptor parameters. The full information about | 587 | unit descriptor parameters. The full information about |
| 530 | the descriptor could be found at UFS specifications 2.1. | 588 | the descriptor could be found at UFS specifications 2.1. |
| 589 | |||
| 531 | The file is read only. | 590 | The file is read only. |
| 532 | 591 | ||
| 533 | What: /sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive | 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 | Description: This file shows PSA sensitivity. This is one of the UFS | 595 | Description: This file shows PSA sensitivity. This is one of the UFS |
| 537 | unit descriptor parameters. The full information about | 596 | unit descriptor parameters. The full information about |
| 538 | the descriptor could be found at UFS specifications 2.1. | 597 | the descriptor could be found at UFS specifications 2.1. |
| 598 | |||
| 539 | The file is read only. | 599 | The file is read only. |
| 540 | 600 | ||
| 541 | What: /sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type | 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 | Description: This file shows LUN memory type. This is one of the UFS | 604 | Description: This file shows LUN memory type. This is one of the UFS |
| 545 | unit descriptor parameters. The full information about | 605 | unit descriptor parameters. The full information about |
| 546 | the descriptor could be found at UFS specifications 2.1. | 606 | the descriptor could be found at UFS specifications 2.1. |
| 607 | |||
| 547 | The file is read only. | 608 | The file is read only. |
| 548 | 609 | ||
| 549 | What: /sys/class/scsi_device/*/device/unit_descriptor/data_reliability | 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 | occurs during a write operation. This is one of the UFS | 614 | occurs during a write operation. This is one of the UFS |
| 554 | unit descriptor parameters. The full information about | 615 | unit descriptor parameters. The full information about |
| 555 | the descriptor could be found at UFS specifications 2.1. | 616 | the descriptor could be found at UFS specifications 2.1. |
| 617 | |||
| 556 | The file is read only. | 618 | The file is read only. |
| 557 | 619 | ||
| 558 | What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_size | 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 | (calculated as an exponent with base 2). This is one of | 624 | (calculated as an exponent with base 2). This is one of |
| 563 | the UFS unit descriptor parameters. The full information about | 625 | the UFS unit descriptor parameters. The full information about |
| 564 | the descriptor could be found at UFS specifications 2.1. | 626 | the descriptor could be found at UFS specifications 2.1. |
| 627 | |||
| 565 | The file is read only. | 628 | The file is read only. |
| 566 | 629 | ||
| 567 | What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_count | 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 | This is one of the UFS unit descriptor parameters. The full | 634 | This is one of the UFS unit descriptor parameters. The full |
| 572 | information about the descriptor could be found at | 635 | information about the descriptor could be found at |
| 573 | UFS specifications 2.1. | 636 | UFS specifications 2.1. |
| 637 | |||
| 574 | The file is read only. | 638 | The file is read only. |
| 575 | 639 | ||
| 576 | What: /sys/class/scsi_device/*/device/unit_descriptor/erase_block_size | 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 | Description: This file shows the erase block size. This is one of | 643 | Description: This file shows the erase block size. This is one of |
| 580 | the UFS unit descriptor parameters. The full information | 644 | the UFS unit descriptor parameters. The full information |
| 581 | about the descriptor could be found at UFS specifications 2.1. | 645 | about the descriptor could be found at UFS specifications 2.1. |
| 646 | |||
| 582 | The file is read only. | 647 | The file is read only. |
| 583 | 648 | ||
| 584 | What: /sys/class/scsi_device/*/device/unit_descriptor/provisioning_type | 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 | Description: This file shows the thin provisioning type. This is one of | 652 | Description: This file shows the thin provisioning type. This is one of |
| 588 | the UFS unit descriptor parameters. The full information | 653 | the UFS unit descriptor parameters. The full information |
| 589 | about the descriptor could be found at UFS specifications 2.1. | 654 | about the descriptor could be found at UFS specifications 2.1. |
| 655 | |||
| 590 | The file is read only. | 656 | The file is read only. |
| 591 | 657 | ||
| 592 | What: /sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count | 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 | Description: This file shows the total physical memory resources. This is | 661 | Description: This file shows the total physical memory resources. This is |
| 596 | one of the UFS unit descriptor parameters. The full information | 662 | one of the UFS unit descriptor parameters. The full information |
| 597 | about the descriptor could be found at UFS specifications 2.1. | 663 | about the descriptor could be found at UFS specifications 2.1. |
| 664 | |||
| 598 | The file is read only. | 665 | The file is read only. |
| 599 | 666 | ||
| 600 | What: /sys/class/scsi_device/*/device/unit_descriptor/context_capabilities | 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 | Description: This file shows the context capabilities. This is one of | 670 | Description: This file shows the context capabilities. This is one of |
| 604 | the UFS unit descriptor parameters. The full information | 671 | the UFS unit descriptor parameters. The full information |
| 605 | about the descriptor could be found at UFS specifications 2.1. | 672 | about the descriptor could be found at UFS specifications 2.1. |
| 673 | |||
| 606 | The file is read only. | 674 | The file is read only. |
| 607 | 675 | ||
| 608 | What: /sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity | 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 | Description: This file shows the granularity of the LUN. This is one of | 679 | Description: This file shows the granularity of the LUN. This is one of |
| 612 | the UFS unit descriptor parameters. The full information | 680 | the UFS unit descriptor parameters. The full information |
| 613 | about the descriptor could be found at UFS specifications 2.1. | 681 | about the descriptor could be found at UFS specifications 2.1. |
| 682 | |||
| 614 | The file is read only. | 683 | The file is read only. |
| 615 | 684 | ||
| 616 | 685 | ||
| @@ -619,6 +688,7 @@ Date: February 2018 · 2 unmodified lines | |||
| 619 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> | 688 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 620 | Description: This file shows the device init status. The full information | 689 | Description: This file shows the device init status. The full information |
| 621 | about the flag could be found at UFS specifications 2.1. | 690 | about the flag could be found at UFS specifications 2.1. |
| 691 | |||
| 622 | The file is read only. | 692 | The file is read only. |
| 623 | 693 | ||
| 624 | What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe | 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 | Description: This file shows whether permanent write protection is enabled. | 697 | Description: This file shows whether permanent write protection is enabled. |
| 628 | The full information about the flag could be found at | 698 | The full information about the flag could be found at |
| 629 | UFS specifications 2.1. | 699 | UFS specifications 2.1. |
| 700 | |||
| 630 | The file is read only. | 701 | The file is read only. |
| 631 | 702 | ||
| 632 | What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe | 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 | logical units configured as power on write protected. The | 707 | logical units configured as power on write protected. The |
| 637 | full information about the flag could be found at | 708 | full information about the flag could be found at |
| 638 | UFS specifications 2.1. | 709 | UFS specifications 2.1. |
| 710 | |||
| 639 | The file is read only. | 711 | The file is read only. |
| 640 | 712 | ||
| 641 | What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable | 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 | Description: This file shows whether the device background operations are | 716 | Description: This file shows whether the device background operations are |
| 645 | enabled. The full information about the flag could be | 717 | enabled. The full information about the flag could be |
| 646 | found at UFS specifications 2.1. | 718 | found at UFS specifications 2.1. |
| 719 | |||
| 647 | The file is read only. | 720 | The file is read only. |
| 648 | 721 | ||
| 649 | What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable | 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 | Description: This file shows whether the device life span mode is enabled. | 725 | Description: This file shows whether the device life span mode is enabled. |
| 653 | The full information about the flag could be found at | 726 | The full information about the flag could be found at |
| 654 | UFS specifications 2.1. | 727 | UFS specifications 2.1. |
| 728 | |||
| 655 | The file is read only. | 729 | The file is read only. |
| 656 | 730 | ||
| 657 | What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal | 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 | Description: This file shows whether physical resource removal is enable. | 734 | Description: This file shows whether physical resource removal is enable. |
| 661 | The full information about the flag could be found at | 735 | The full information about the flag could be found at |
| 662 | UFS specifications 2.1. | 736 | UFS specifications 2.1. |
| 737 | |||
| 663 | The file is read only. | 738 | The file is read only. |
| 664 | 739 | ||
| 665 | What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc | 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 | Description: This file shows whether the device is executing internal | 743 | Description: This file shows whether the device is executing internal |
| 669 | operation related to real time clock. The full information | 744 | operation related to real time clock. The full information |
| 670 | about the flag could be found at UFS specifications 2.1. | 745 | about the flag could be found at UFS specifications 2.1. |
| 746 | |||
| 671 | The file is read only. | 747 | The file is read only. |
| 672 | 748 | ||
| 673 | What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update | 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 | Description: This file shows whether the device FW update is permanently | 752 | Description: This file shows whether the device FW update is permanently |
| 677 | disabled. The full information about the flag could be found | 753 | disabled. The full information about the flag could be found |
| 678 | at UFS specifications 2.1. | 754 | at UFS specifications 2.1. |
| 755 | |||
| 679 | The file is read only. | 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 | Description: This file provides the boot lun enabled UFS device attribute. | 762 | Description: This file provides the boot lun enabled UFS device attribute. |
| 686 | The full information about the attribute could be found at | 763 | The full information about the attribute could be found at |
| 687 | UFS specifications 2.1. | 764 | UFS specifications 2.1. |
| 765 | |||
| 688 | The file is read only. | 766 | The file is read only. |
| 689 | 767 | ||
| 690 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode | 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 | Description: This file provides the current power mode UFS device attribute. | 771 | Description: This file provides the current power mode UFS device attribute. |
| 694 | The full information about the attribute could be found at | 772 | The full information about the attribute could be found at |
| 695 | UFS specifications 2.1. | 773 | UFS specifications 2.1. |
| 774 | |||
| 696 | The file is read only. | 775 | The file is read only. |
| 697 | 776 | ||
| 698 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level | 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 | Description: This file provides the active icc level UFS device attribute. | 780 | Description: This file provides the active icc level UFS device attribute. |
| 702 | The full information about the attribute could be found at | 781 | The full information about the attribute could be found at |
| 703 | UFS specifications 2.1. | 782 | UFS specifications 2.1. |
| 783 | |||
| 704 | The file is read only. | 784 | The file is read only. |
| 705 | 785 | ||
| 706 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled | 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 | Description: This file provides the out of order data transfer enabled UFS | 789 | Description: This file provides the out of order data transfer enabled UFS |
| 710 | device attribute. The full information about the attribute | 790 | device attribute. The full information about the attribute |
| 711 | could be found at UFS specifications 2.1. | 791 | could be found at UFS specifications 2.1. |
| 792 | |||
| 712 | The file is read only. | 793 | The file is read only. |
| 713 | 794 | ||
| 714 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status | 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 | Description: This file provides the background operations status UFS device | 798 | Description: This file provides the background operations status UFS device |
| 718 | attribute. The full information about the attribute could | 799 | attribute. The full information about the attribute could |
| 719 | be found at UFS specifications 2.1. | 800 | be found at UFS specifications 2.1. |
| 801 | |||
| 720 | The file is read only. | 802 | The file is read only. |
| 721 | 803 | ||
| 722 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status | 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 | Description: This file provides the purge operation status UFS device | 807 | Description: This file provides the purge operation status UFS device |
| 726 | attribute. The full information about the attribute could | 808 | attribute. The full information about the attribute could |
| 727 | be found at UFS specifications 2.1. | 809 | be found at UFS specifications 2.1. |
| 810 | |||
| 728 | The file is read only. | 811 | The file is read only. |
| 729 | 812 | ||
| 730 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size | 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 | Description: This file shows the maximum data size in a DATA IN | 816 | Description: This file shows the maximum data size in a DATA IN |
| 734 | UPIU. The full information about the attribute could | 817 | UPIU. The full information about the attribute could |
| 735 | be found at UFS specifications 2.1. | 818 | be found at UFS specifications 2.1. |
| 819 | |||
| 736 | The file is read only. | 820 | The file is read only. |
| 737 | 821 | ||
| 738 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size | 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 | Description: This file shows the maximum number of bytes that can be | 825 | Description: This file shows the maximum number of bytes that can be |
| 742 | requested with a READY TO TRANSFER UPIU. The full information | 826 | requested with a READY TO TRANSFER UPIU. The full information |
| 743 | about the attribute could be found at UFS specifications 2.1. | 827 | about the attribute could be found at UFS specifications 2.1. |
| 828 | |||
| 744 | The file is read only. | 829 | The file is read only. |
| 745 | 830 | ||
| 746 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency | 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 | Description: This file provides the reference clock frequency UFS device | 834 | Description: This file provides the reference clock frequency UFS device |
| 750 | attribute. The full information about the attribute could | 835 | attribute. The full information about the attribute could |
| 751 | be found at UFS specifications 2.1. | 836 | be found at UFS specifications 2.1. |
| 837 | |||
| 752 | The file is read only. | 838 | The file is read only. |
| 753 | 839 | ||
| 754 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock | 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 | outstanding RTTs in device that is allowed. The full | 851 | outstanding RTTs in device that is allowed. The full |
| 766 | information about the attribute could be found at | 852 | information about the attribute could be found at |
| 767 | UFS specifications 2.1. | 853 | UFS specifications 2.1. |
| 854 | |||
| 768 | The file is read only. | 855 | The file is read only. |
| 769 | 856 | ||
| 770 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control | 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 | Description: This file provides the exception event control UFS device | 860 | Description: This file provides the exception event control UFS device |
| 774 | attribute. The full information about the attribute could | 861 | attribute. The full information about the attribute could |
| 775 | be found at UFS specifications 2.1. | 862 | be found at UFS specifications 2.1. |
| 863 | |||
| 776 | The file is read only. | 864 | The file is read only. |
| 777 | 865 | ||
| 778 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status | 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 | Description: This file provides the exception event status UFS device | 869 | Description: This file provides the exception event status UFS device |
| 782 | attribute. The full information about the attribute could | 870 | attribute. The full information about the attribute could |
| 783 | be found at UFS specifications 2.1. | 871 | be found at UFS specifications 2.1. |
| 872 | |||
| 784 | The file is read only. | 873 | The file is read only. |
| 785 | 874 | ||
| 786 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status | 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 | Description: This file provides the ffu status UFS device attribute. | 878 | Description: This file provides the ffu status UFS device attribute. |
| 790 | The full information about the attribute could be found at | 879 | The full information about the attribute could be found at |
| 791 | UFS specifications 2.1. | 880 | UFS specifications 2.1. |
| 881 | |||
| 792 | The file is read only. | 882 | The file is read only. |
| 793 | 883 | ||
| 794 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state | 884 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state |
| @@ -796,6 +886,7 @@ Date: February 2018 · 1 unmodified line | |||
| 796 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> | 886 | Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> |
| 797 | Description: This file show the PSA feature status. The full information | 887 | Description: This file show the PSA feature status. The full information |
| 798 | about the attribute could be found at UFS specifications 2.1. | 888 | about the attribute could be found at UFS specifications 2.1. |
| 889 | |||
| 799 | The file is read only. | 890 | The file is read only. |
| 800 | 891 | ||
| 801 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size | 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 | load to all logical units in pre-soldering state. | 896 | load to all logical units in pre-soldering state. |
| 806 | The full information about the attribute could be found at | 897 | The full information about the attribute could be found at |
| 807 | UFS specifications 2.1. | 898 | UFS specifications 2.1. |
| 899 | |||
| 808 | The file is read only. | 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 | to be removed from the physical memory resources pool of | 907 | to be removed from the physical memory resources pool of |
| 816 | the particular logical unit. The full information about | 908 | the particular logical unit. The full information about |
| 817 | the attribute could be found at UFS specifications 2.1. | 909 | the attribute could be found at UFS specifications 2.1. |
| 910 | |||
| 818 | The file is read only. | 911 | The file is read only. |
| 819 | 912 | ||
| 820 | 913 | ||
| @@ -824,24 +917,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org> · 3 unmodified lines | |||
| 824 | Description: This entry could be used to set or show the UFS device | 917 | Description: This entry could be used to set or show the UFS device |
| 825 | runtime power management level. The current driver | 918 | runtime power management level. The current driver |
| 826 | implementation supports 6 levels with next target states: | 919 | implementation supports 6 levels with next target states: |
| 827 | 0 - an UFS device will stay active, an UIC link will | 920 | |
| 828 | stay active | 921 | == ==================================================== |
| 829 | 1 - an UFS device will stay active, an UIC link will | 922 | 0 an UFS device will stay active, an UIC link will |
| 830 | hibernate | 923 | stay active |
| 831 | 2 - an UFS device will moved to sleep, an UIC link will | 924 | 1 an UFS device will stay active, an UIC link will |
| 832 | stay active | 925 | hibernate |
| 833 | 3 - an UFS device will moved to sleep, an UIC link will | 926 | 2 an UFS device will moved to sleep, an UIC link will |
| 834 | hibernate | 927 | stay active |
| 835 | 4 - an UFS device will be powered off, an UIC link will | 928 | 3 an UFS device will moved to sleep, an UIC link will |
| 836 | hibernate | 929 | hibernate |
| 837 | 5 - an UFS device will be powered off, an UIC link will | 930 | 4 an UFS device will be powered off, an UIC link will |
| 838 | be powered off | 931 | hibernate |
| 932 | 5 an UFS device will be powered off, an UIC link will | ||
| 933 | be powered off | ||
| 934 | == ==================================================== | ||
| 839 | 935 | ||
| 840 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state | 936 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state |
| 841 | Date: February 2018 | 937 | Date: February 2018 |
| 842 | Contact: Subhash Jadavani <subhashj@codeaurora.org> | 938 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 843 | Description: This entry shows the target power mode of an UFS device | 939 | Description: This entry shows the target power mode of an UFS device |
| 844 | for the chosen runtime power management level. | 940 | for the chosen runtime power management level. |
| 941 | |||
| 845 | The file is read only. | 942 | The file is read only. |
| 846 | 943 | ||
| 847 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state | 944 | What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state |
| @@ -849,6 +946,7 @@ Date: February 2018 · 1 unmodified line | |||
| 849 | Contact: Subhash Jadavani <subhashj@codeaurora.org> | 946 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 850 | Description: This entry shows the target state of an UFS UIC link | 947 | Description: This entry shows the target state of an UFS UIC link |
| 851 | for the chosen runtime power management level. | 948 | for the chosen runtime power management level. |
| 949 | |||
| 852 | The file is read only. | 950 | The file is read only. |
| 853 | 951 | ||
| 854 | What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl | 952 | What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl |
| @@ -857,24 +955,28 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org> · 2 unmodified lines | |||
| 857 | Description: This entry could be used to set or show the UFS device | 955 | Description: This entry could be used to set or show the UFS device |
| 858 | system power management level. The current driver | 956 | system power management level. The current driver |
| 859 | implementation supports 6 levels with next target states: | 957 | implementation supports 6 levels with next target states: |
| 860 | 0 - an UFS device will stay active, an UIC link will | 958 | |
| 861 | stay active | 959 | == ==================================================== |
| 862 | 1 - an UFS device will stay active, an UIC link will | 960 | 0 an UFS device will stay active, an UIC link will |
| 863 | hibernate | 961 | stay active |
| 864 | 2 - an UFS device will moved to sleep, an UIC link will | 962 | 1 an UFS device will stay active, an UIC link will |
| 865 | stay active | 963 | hibernate |
| 866 | 3 - an UFS device will moved to sleep, an UIC link will | 964 | 2 an UFS device will moved to sleep, an UIC link will |
| 867 | hibernate | 965 | stay active |
| 868 | 4 - an UFS device will be powered off, an UIC link will | 966 | 3 an UFS device will moved to sleep, an UIC link will |
| 869 | hibernate | 967 | hibernate |
| 870 | 5 - an UFS device will be powered off, an UIC link will | 968 | 4 an UFS device will be powered off, an UIC link will |
| 871 | be powered off | 969 | hibernate |
| 970 | 5 an UFS device will be powered off, an UIC link will | ||
| 971 | be powered off | ||
| 972 | == ==================================================== | ||
| 872 | 973 | ||
| 873 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state | 974 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state |
| 874 | Date: February 2018 | 975 | Date: February 2018 |
| 875 | Contact: Subhash Jadavani <subhashj@codeaurora.org> | 976 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 876 | Description: This entry shows the target power mode of an UFS device | 977 | Description: This entry shows the target power mode of an UFS device |
| 877 | for the chosen system power management level. | 978 | for the chosen system power management level. |
| 979 | |||
| 878 | The file is read only. | 980 | The file is read only. |
| 879 | 981 | ||
| 880 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state | 982 | What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state |
| @@ -882,18 +984,21 @@ Date: February 2018 · 1 unmodified line | |||
| 882 | Contact: Subhash Jadavani <subhashj@codeaurora.org> | 984 | Contact: Subhash Jadavani <subhashj@codeaurora.org> |
| 883 | Description: This entry shows the target state of an UFS UIC link | 985 | Description: This entry shows the target state of an UFS UIC link |
| 884 | for the chosen system power management level. | 986 | for the chosen system power management level. |
| 987 | |||
| 885 | The file is read only. | 988 | The file is read only. |
| 886 | 989 | ||
| 887 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en | 990 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en |
| 888 | Date: June 2020 | 991 | Date: June 2020 |
| 889 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 992 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 890 | Description: This entry shows if preserve user-space was configured | 993 | Description: This entry shows if preserve user-space was configured |
| 994 | |||
| 891 | The file is read only. | 995 | The file is read only. |
| 892 | 996 | ||
| 893 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units | 997 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units |
| 894 | Date: June 2020 | 998 | Date: June 2020 |
| 895 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 999 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 896 | Description: This entry shows the shared allocated units of WB buffer | 1000 | Description: This entry shows the shared allocated units of WB buffer |
| 1001 | |||
| 897 | The file is read only. | 1002 | The file is read only. |
| 898 | 1003 | ||
| 899 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type | 1004 | What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type |
| @@ -901,6 +1006,7 @@ Date: June 2020 · 1 unmodified line | |||
| 901 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1006 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 902 | Description: This entry shows the configured WB type. | 1007 | Description: This entry shows the configured WB type. |
| 903 | 0x1 for shared buffer mode. 0x0 for dedicated buffer mode. | 1008 | 0x1 for shared buffer mode. 0x0 for dedicated buffer mode. |
| 1009 | |||
| 904 | The file is read only. | 1010 | The file is read only. |
| 905 | 1011 | ||
| 906 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj | 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 | buffer mode. | 1016 | buffer mode. |
| 911 | The value of this parameter is 3 for TLC NAND when SLC mode | 1017 | The value of this parameter is 3 for TLC NAND when SLC mode |
| 912 | is used as WriteBooster Buffer. 2 for MLC NAND. | 1018 | is used as WriteBooster Buffer. 2 for MLC NAND. |
| 1019 | |||
| 913 | The file is read only. | 1020 | The file is read only. |
| 914 | 1021 | ||
| 915 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units | 1022 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units |
| @@ -917,6 +1024,7 @@ Date: June 2020 · 1 unmodified line | |||
| 917 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1024 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 918 | Description: This entry shows the Maximum total WriteBooster Buffer size | 1025 | Description: This entry shows the Maximum total WriteBooster Buffer size |
| 919 | which is supported by the entire device. | 1026 | which is supported by the entire device. |
| 1027 | |||
| 920 | The file is read only. | 1028 | The file is read only. |
| 921 | 1029 | ||
| 922 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns | 1030 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns |
| @@ -924,6 +1032,7 @@ Date: June 2020 · 1 unmodified line | |||
| 924 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1032 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 925 | Description: This entry shows the maximum number of luns that can support | 1033 | Description: This entry shows the maximum number of luns that can support |
| 926 | WriteBooster. | 1034 | WriteBooster. |
| 1035 | |||
| 927 | The file is read only. | 1036 | The file is read only. |
| 928 | 1037 | ||
| 929 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type | 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 | preserve user space type. | 1046 | preserve user space type. |
| 938 | 02h: Device can be configured in either user space | 1047 | 02h: Device can be configured in either user space |
| 939 | reduction type or preserve user space type. | 1048 | reduction type or preserve user space type. |
| 1049 | |||
| 940 | The file is read only. | 1050 | The file is read only. |
| 941 | 1051 | ||
| 942 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type | 1052 | What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type |
| 943 | Date: June 2020 | 1053 | Date: June 2020 |
| 944 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1054 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 945 | Description: The supportability of WriteBooster Buffer type. | 1055 | Description: The supportability of WriteBooster Buffer type. |
| 946 | 00h: LU based WriteBooster Buffer configuration | 1056 | |
| 947 | 01h: Single shared WriteBooster Buffer | 1057 | === ========================================================== |
| 948 | configuration | 1058 | 00h LU based WriteBooster Buffer configuration |
| 949 | 02h: Supporting both LU based WriteBooster | 1059 | 01h Single shared WriteBooster Buffer configuration |
| 950 | Buffer and Single shared WriteBooster Buffer | 1060 | 02h Supporting both LU based WriteBooster. |
| 951 | configuration | 1061 | Buffer and Single shared WriteBooster Buffer configuration |
| 1062 | === ========================================================== | ||
| 1063 | |||
| 952 | The file is read only. | 1064 | The file is read only. |
| 953 | 1065 | ||
| 954 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable | 1066 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable |
| 955 | Date: June 2020 | 1067 | Date: June 2020 |
| 956 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1068 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 957 | Description: This entry shows the status of WriteBooster. | 1069 | Description: This entry shows the status of WriteBooster. |
| 958 | 0: WriteBooster is not enabled. | 1070 | |
| 959 | 1: WriteBooster is enabled | 1071 | == ============================ |
| 1072 | 0 WriteBooster is not enabled. | ||
| 1073 | 1 WriteBooster is enabled | ||
| 1074 | == ============================ | ||
| 1075 | |||
| 960 | The file is read only. | 1076 | The file is read only. |
| 961 | 1077 | ||
| 962 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en | 1078 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en |
| 963 | Date: June 2020 | 1079 | Date: June 2020 |
| 964 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1080 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 965 | Description: This entry shows if flush is enabled. | 1081 | Description: This entry shows if flush is enabled. |
| 966 | 0: Flush operation is not performed. | 1082 | |
| 967 | 1: Flush operation is performed. | 1083 | == ================================= |
| 1084 | 0 Flush operation is not performed. | ||
| 1085 | 1 Flush operation is performed. | ||
| 1086 | == ================================= | ||
| 1087 | |||
| 968 | The file is read only. | 1088 | The file is read only. |
| 969 | 1089 | ||
| 970 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 | 1090 | What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 |
| 971 | Date: June 2020 | 1091 | Date: June 2020 |
| 972 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1092 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 973 | Description: Flush WriteBooster Buffer during hibernate state. | 1093 | Description: Flush WriteBooster Buffer during hibernate state. |
| 974 | 0: Device is not allowed to flush the | 1094 | |
| 975 | WriteBooster Buffer during link hibernate | 1095 | == ================================================= |
| 976 | state. | 1096 | 0 Device is not allowed to flush the |
| 977 | 1: Device is allowed to flush the | 1097 | WriteBooster Buffer during link hibernate state. |
| 978 | WriteBooster Buffer during link hibernate | 1098 | 1 Device is allowed to flush the |
| 979 | state | 1099 | WriteBooster Buffer during link hibernate state. |
| 1100 | == ================================================= | ||
| 1101 | |||
| 980 | The file is read only. | 1102 | The file is read only. |
| 981 | 1103 | ||
| 982 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf | 1104 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf |
| @@ -984,23 +1106,30 @@ Date: June 2020 · 1 unmodified line | |||
| 984 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1106 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 985 | Description: This entry shows the amount of unused WriteBooster buffer | 1107 | Description: This entry shows the amount of unused WriteBooster buffer |
| 986 | available. | 1108 | available. |
| 1109 | |||
| 987 | The file is read only. | 1110 | The file is read only. |
| 988 | 1111 | ||
| 989 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf | 1112 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf |
| 990 | Date: June 2020 | 1113 | Date: June 2020 |
| 991 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1114 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 992 | Description: This entry shows the amount of unused current buffer. | 1115 | Description: This entry shows the amount of unused current buffer. |
| 1116 | |||
| 993 | The file is read only. | 1117 | The file is read only. |
| 994 | 1118 | ||
| 995 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status | 1119 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status |
| 996 | Date: June 2020 | 1120 | Date: June 2020 |
| 997 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1121 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 998 | Description: This entry shows the flush operation status. | 1122 | Description: This entry shows the flush operation status. |
| 999 | 00h: idle | 1123 | |
| 1000 | 01h: Flush operation in progress | 1124 | |
| 1001 | 02h: Flush operation stopped prematurely. | 1125 | === ====================================== |
| 1002 | 03h: Flush operation completed successfully | 1126 | 00h idle |
| 1003 | 04h: Flush operation general failure | 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 | The file is read only. | 1133 | The file is read only. |
| 1005 | 1134 | ||
| 1006 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est | 1135 | What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est |
| @@ -1008,9 +1137,13 @@ Date: June 2020 · 1 unmodified line | |||
| 1008 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1137 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 1009 | Description: This entry shows an indication of the WriteBooster Buffer | 1138 | Description: This entry shows an indication of the WriteBooster Buffer |
| 1010 | lifetime based on the amount of performed program/erase cycles | 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 | The file is read only. | 1147 | The file is read only. |
| 1015 | 1148 | ||
| 1016 | What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units | 1149 | What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units |
| @@ -1018,4 +1151,5 @@ Date: June 2020 · 1 unmodified line | |||
| 1018 | Contact: Asutosh Das <asutoshd@codeaurora.org> | 1151 | Contact: Asutosh Das <asutoshd@codeaurora.org> |
| 1019 | Description: This entry shows the configured size of WriteBooster buffer. | 1152 | Description: This entry shows the configured size of WriteBooster buffer. |
| 1020 | 0400h corresponds to 4GB. | 1153 | 0400h corresponds to 4GB. |
| 1154 | |||
| 1021 | The file is read only. | 1155 | The file is read only. |
| @@ -5,7 +5,9 @@ Contact: Jan Kandziora <jjj@gmx.de> · 4 unmodified lines | |||
| 5 | Description: When written, this file sets the I2C speed on the connected | 5 | Description: When written, this file sets the I2C speed on the connected |
| 6 | DS28E17 chip. When read, it reads the current setting from | 6 | DS28E17 chip. When read, it reads the current setting from |
| 7 | the DS28E17 chip. | 7 | the DS28E17 chip. |
| 8 | |||
| 8 | Valid values: 100, 400, 900 [kBaud]. | 9 | Valid values: 100, 400, 900 [kBaud]. |
| 10 | |||
| 9 | Default 100, can be set by w1_ds28e17.speed= module parameter. | 11 | Default 100, can be set by w1_ds28e17.speed= module parameter. |
| 10 | Users: w1_ds28e17 driver | 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 | the busy timeout for I2C operations on the connected DS28E17 | 19 | the busy timeout for I2C operations on the connected DS28E17 |
| 18 | chip. When read, returns the current setting. | 20 | chip. When read, returns the current setting. |
| 19 | Valid values: 1 to 9. | 21 | Valid values: 1 to 9. |
| 22 | |||
| 20 | Default 1, can be set by w1_ds28e17.stretch= module parameter. | 23 | Default 1, can be set by w1_ds28e17.stretch= module parameter. |
| 21 | Users: w1_ds28e17 driver | 24 | Users: w1_ds28e17 driver |
| @@ -22,8 +22,10 @@ Description: · 21 unmodified lines | |||
| 22 | device data to its embedded EEPROM, either restore data | 22 | device data to its embedded EEPROM, either restore data |
| 23 | embedded in device EEPROM. Be aware that devices support | 23 | embedded in device EEPROM. Be aware that devices support |
| 24 | limited EEPROM writing cycles (typical 50k) | 24 | limited EEPROM writing cycles (typical 50k) |
| 25 | |||
| 25 | * 'save': save device RAM to EEPROM | 26 | * 'save': save device RAM to EEPROM |
| 26 | * 'restore': restore EEPROM data in device RAM | 27 | * 'restore': restore EEPROM data in device RAM |
| 28 | |||
| 27 | Users: any user space application which wants to communicate with | 29 | Users: any user space application which wants to communicate with |
| 28 | w1_term device | 30 | w1_term device |
| 29 | 31 | ||
| @@ -33,9 +35,11 @@ Date: May 2020 · 3 unmodified lines | |||
| 33 | Contact: Akira Shimahara <akira215corp@gmail.com> | 35 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 34 | Description: | 36 | Description: |
| 35 | (RO) return the power status by asking the device | 37 | (RO) return the power status by asking the device |
| 38 | |||
| 36 | * '0': device parasite powered | 39 | * '0': device parasite powered |
| 37 | * '1': device externally powered | 40 | * '1': device externally powered |
| 38 | * '-xx': xx is kernel error when reading power status | 41 | * '-xx': xx is kernel error when reading power status |
| 42 | |||
| 39 | Users: any user space application which wants to communicate with | 43 | Users: any user space application which wants to communicate with |
| 40 | w1_term device | 44 | w1_term device |
| 41 | 45 | ||
| @@ -49,10 +53,12 @@ Description: · 7 unmodified lines | |||
| 49 | will be changed only in device RAM, so it will be cleared when | 53 | will be changed only in device RAM, so it will be cleared when |
| 50 | power is lost. Trigger a 'save' to EEPROM command to keep | 54 | power is lost. Trigger a 'save' to EEPROM command to keep |
| 51 | values after power-on. Read or write are : | 55 | values after power-on. Read or write are : |
| 56 | |||
| 52 | * '9..14': device resolution in bit | 57 | * '9..14': device resolution in bit |
| 53 | or resolution to set in bit | 58 | or resolution to set in bit |
| 54 | * '-xx': xx is kernel error when reading the resolution | 59 | * '-xx': xx is kernel error when reading the resolution |
| 55 | * Anything else: do nothing | 60 | * Anything else: do nothing |
| 61 | |||
| 56 | Some DS18B20 clones are fixed in 12-bit resolution, so the | 62 | Some DS18B20 clones are fixed in 12-bit resolution, so the |
| 57 | actual resolution is read back from the chip and verified. Error | 63 | actual resolution is read back from the chip and verified. Error |
| 58 | is reported if the results differ. | 64 | is reported if the results differ. |
| @@ -65,16 +71,18 @@ Date: May 2020 · 6 unmodified lines | |||
| 65 | Contact: Akira Shimahara <akira215corp@gmail.com> | 71 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 66 | Description: | 72 | Description: |
| 67 | (RO) return the temperature in 1/1000 degC. | 73 | (RO) return the temperature in 1/1000 degC. |
| 74 | |||
| 68 | * If a bulk read has been triggered, it will directly | 75 | * If a bulk read has been triggered, it will directly |
| 69 | return the temperature computed when the bulk read | 76 | return the temperature computed when the bulk read |
| 70 | occurred, if available. If not yet available, nothing | 77 | occurred, if available. If not yet available, nothing |
| 71 | is returned (a debug kernel message is sent), you | 78 | is returned (a debug kernel message is sent), you |
| 72 | should retry later on. | 79 | should retry later on. |
| 73 | * If no bulk read has been triggered, it will trigger | 80 | * If no bulk read has been triggered, it will trigger |
| 74 | a conversion and send the result. Note that the | 81 | a conversion and send the result. Note that the |
| 75 | conversion duration depend on the resolution (if | 82 | conversion duration depend on the resolution (if |
| 76 | device support this feature). It takes 94ms in 9bits | 83 | device support this feature). It takes 94ms in 9bits |
| 77 | resolution, 750ms for 12bits. | 84 | resolution, 750ms for 12bits. |
| 85 | |||
| 78 | Users: any user space application which wants to communicate with | 86 | Users: any user space application which wants to communicate with |
| 79 | w1_term device | 87 | w1_term device |
| 80 | 88 | ||
| @@ -86,12 +94,14 @@ Description: · 5 unmodified lines | |||
| 86 | (RW) return the temperature in 1/1000 degC. | 94 | (RW) return the temperature in 1/1000 degC. |
| 87 | *read*: return 2 lines with the hexa output data sent on the | 95 | *read*: return 2 lines with the hexa output data sent on the |
| 88 | bus, return the CRC check and temperature in 1/1000 degC | 96 | bus, return the CRC check and temperature in 1/1000 degC |
| 89 | *write* : | 97 | *write*: |
| 98 | |||
| 90 | * '0' : save the 2 or 3 bytes to the device EEPROM | 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 | * '9..14' : set the device resolution in RAM | 101 | * '9..14' : set the device resolution in RAM |
| 93 | (if supported) | 102 | (if supported) |
| 94 | * Anything else: do nothing | 103 | * Anything else: do nothing |
| 104 | |||
| 95 | refer to Documentation/w1/slaves/w1_therm.rst for detailed | 105 | refer to Documentation/w1/slaves/w1_therm.rst for detailed |
| 96 | information. | 106 | information. |
| 97 | Users: any user space application which wants to communicate with | 107 | Users: any user space application which wants to communicate with |
| @@ -103,14 +113,21 @@ Date: May 2020 · 5 unmodified lines | |||
| 103 | Contact: Akira Shimahara <akira215corp@gmail.com> | 113 | Contact: Akira Shimahara <akira215corp@gmail.com> |
| 104 | Description: | 114 | Description: |
| 105 | (RW) trigger a bulk read conversion. read the status | 115 | (RW) trigger a bulk read conversion. read the status |
| 116 | |||
| 106 | *read*: | 117 | *read*: |
| 107 | * '-1': conversion in progress on at least 1 sensor | 118 | * '-1': |
| 108 | * '1' : conversion complete but at least one sensor | 119 | conversion in progress on at least 1 sensor |
| 120 | * '1' : | ||
| 121 | conversion complete but at least one sensor | ||
| 109 | value has not been read yet | 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 | trigger a conversion on each device | 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 | devices on the bus | 129 | devices on the bus |
| 130 | |||
| 114 | Note that if a bulk read is sent but one sensor is not read | 131 | Note that if a bulk read is sent but one sensor is not read |
| 115 | immediately, the next access to temperature on this device | 132 | immediately, the next access to temperature on this device |
| 116 | will return the temperature measured at the time of issue | 133 | will return the temperature measured at the time of issue |
| @@ -128,14 +145,19 @@ Description: · 11 unmodified lines | |||
| 128 | reset to default (datasheet) conversion time for a new | 145 | reset to default (datasheet) conversion time for a new |
| 129 | resolution. | 146 | resolution. |
| 130 | 147 | ||
| 131 | *read*: Actual conversion time in milliseconds. *write*: | 148 | *read*: |
| 132 | '0': Set the default conversion time from the datasheet. | 149 | Actual conversion time in milliseconds. |
| 133 | '1': Measure and set the conversion time. Make a single | 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 | temperature conversion, measure an actual value. | 156 | temperature conversion, measure an actual value. |
| 135 | Increase it by 20% for temperature range. A new | 157 | Increase it by 20% for temperature range. A new |
| 136 | conversion time can be obtained by reading this | 158 | conversion time can be obtained by reading this |
| 137 | same attribute. | 159 | same attribute. |
| 138 | other positive value: | 160 | * other positive value: |
| 139 | Set the conversion time in milliseconds. | 161 | Set the conversion time in milliseconds. |
| 140 | 162 | ||
| 141 | Users: An application using the w1_term device | 163 | Users: An application using the w1_term device |
| @@ -148,16 +170,21 @@ Description: · 6 unmodified lines | |||
| 148 | (RW) Control optional driver settings. | 170 | (RW) Control optional driver settings. |
| 149 | Bit masks to read/write (bitwise OR): | 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 | scratchpad memory is 0xC after conversion, and | 175 | scratchpad memory is 0xC after conversion, and |
| 153 | temperature reads 85.00 (powerup value) or 127.94 | 176 | temperature reads 85.00 (powerup value) or 127.94 |
| 154 | (insufficient power) - return a conversion error. | 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 | after the conversion start and wait for 1's. In parasite | 180 | after the conversion start and wait for 1's. In parasite |
| 158 | power mode this feature is not available. | 181 | power mode this feature is not available. |
| 182 | == ============================================================ | ||
| 183 | |||
| 184 | *read*: | ||
| 185 | Currently selected features. | ||
| 159 | 186 | ||
| 160 | *read*: Currently selected features. | 187 | *write*: |
| 161 | *write*: Select features. | 188 | Select features. |
| 162 | 189 | ||
| 163 | Users: An application using the w1_term device | 190 | Users: An application using the w1_term device |
| @@ -79,7 +79,9 @@ Description: · 78 unmodified lines | |||
| 79 | When the Wacom Intuos 4 is connected over Bluetooth, the | 79 | When the Wacom Intuos 4 is connected over Bluetooth, the |
| 80 | image has to contain 256 bytes (64x32 px 1 bit colour). | 80 | image has to contain 256 bytes (64x32 px 1 bit colour). |
| 81 | The format is also scrambled, like in the USB mode, and it can | 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 | HGFEDCBA HFDB7531 | 85 | HGFEDCBA HFDB7531 |
| 84 | 86 | ||
| 85 | What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote | 87 | What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote |
| @@ -35,3 +35,12 @@ Description: · 34 unmodified lines | |||
| 35 | controls the duration in milliseconds that blkback will not | 35 | controls the duration in milliseconds that blkback will not |
| 36 | cache any page not backed by a grant mapping. | 36 | cache any page not backed by a grant mapping. |
| 37 | The default is 10ms. | 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 | Date: June 2013 | 2 | Date: June 2013 |
| 3 | KernelVersion: 3.11 | 3 | KernelVersion: 3.11 |
| 4 | Contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 4 | Contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| @@ -8,3 +8,12 @@ Description: · 3 unmodified lines | |||
| 8 | is 32 - higher value means more potential throughput but more | 8 | is 32 - higher value means more potential throughput but more |
| 9 | memory usage. The backend picks the minimum of the frontend | 9 | memory usage. The backend picks the minimum of the frontend |
| 10 | and its default backend value. | 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 | image: The image bitmap. Currently a 32-bit BMP. | 12 | image: The image bitmap. Currently a 32-bit BMP. |
| 13 | status: 1 if the image is valid, 0 if firmware invalidated it. | 13 | status: 1 if the image is valid, 0 if firmware invalidated it. |
| 14 | type: 0 indicates image is in BMP format. | 14 | type: 0 indicates image is in BMP format. |
| 15 | |||
| 16 | ======== =================================================== | ||
| 15 | version: The version of the BGRT. Currently 1. | 17 | version: The version of the BGRT. Currently 1. |
| 16 | xoffset: The number of pixels between the left of the screen | 18 | xoffset: The number of pixels between the left of the screen |
| 17 | and the left edge of the image. | 19 | and the left edge of the image. |
| 18 | yoffset: The number of pixels between the top of the screen | 20 | yoffset: The number of pixels between the top of the screen |
| 19 | and the top edge of the image. | 21 | and the top edge of the image. |
| 22 | ======== =================================================== | ||
| 20 | 23 | ||
| 21 | What: /sys/firmware/acpi/hotplug/ | 24 | What: /sys/firmware/acpi/hotplug/ |
| 22 | Date: February 2013 | 25 | Date: February 2013 |
| @@ -33,12 +36,14 @@ Description: · 10 unmodified lines | |||
| 33 | The following setting is available to user space for each | 36 | The following setting is available to user space for each |
| 34 | hotplug profile: | 37 | hotplug profile: |
| 35 | 38 | ||
| 39 | ======== ======================================================= | ||
| 36 | enabled: If set, the ACPI core will handle notifications of | 40 | enabled: If set, the ACPI core will handle notifications of |
| 37 | hotplug events associated with the given class of | 41 | hotplug events associated with the given class of |
| 38 | devices and will allow those devices to be ejected with | 42 | devices and will allow those devices to be ejected with |
| 39 | the help of the _EJ0 control method. Unsetting it | 43 | the help of the _EJ0 control method. Unsetting it |
| 40 | effectively disables hotplug for the correspoinding | 44 | effectively disables hotplug for the correspoinding |
| 41 | class of devices. | 45 | class of devices. |
| 46 | ======== ======================================================= | ||
| 42 | 47 | ||
| 43 | The value of the above attribute is an integer number: 1 (set) | 48 | The value of the above attribute is an integer number: 1 (set) |
| 44 | or 0 (unset). Attempts to write any other values to it will | 49 | or 0 (unset). Attempts to write any other values to it will |
| @@ -71,86 +76,90 @@ Description: · 26 unmodified lines | |||
| 71 | To figure out where all the SCI's are coming from, | 76 | To figure out where all the SCI's are coming from, |
| 72 | /sys/firmware/acpi/interrupts contains a file listing | 77 | /sys/firmware/acpi/interrupts contains a file listing |
| 73 | every possible source, and the count of how many | 78 | every possible source, and the count of how many |
| 74 | times it has triggered. | 79 | times it has triggered:: |
| 75 | 80 | ||
| 76 | $ cd /sys/firmware/acpi/interrupts | 81 | $ cd /sys/firmware/acpi/interrupts |
| 77 | $ grep . * | 82 | $ grep . * |
| 78 | error: 0 | 83 | error: 0 |
| 79 | ff_gbl_lock: 0 enable | 84 | ff_gbl_lock: 0 enable |
| 80 | ff_pmtimer: 0 invalid | 85 | ff_pmtimer: 0 invalid |
| 81 | ff_pwr_btn: 0 enable | 86 | ff_pwr_btn: 0 enable |
| 82 | ff_rt_clk: 2 disable | 87 | ff_rt_clk: 2 disable |
| 83 | ff_slp_btn: 0 invalid | 88 | ff_slp_btn: 0 invalid |
| 84 | gpe00: 0 invalid | 89 | gpe00: 0 invalid |
| 85 | gpe01: 0 enable | 90 | gpe01: 0 enable |
| 86 | gpe02: 108 enable | 91 | gpe02: 108 enable |
| 87 | gpe03: 0 invalid | 92 | gpe03: 0 invalid |
| 88 | gpe04: 0 invalid | 93 | gpe04: 0 invalid |
| 89 | gpe05: 0 invalid | 94 | gpe05: 0 invalid |
| 90 | gpe06: 0 enable | 95 | gpe06: 0 enable |
| 91 | gpe07: 0 enable | 96 | gpe07: 0 enable |
| 92 | gpe08: 0 invalid | 97 | gpe08: 0 invalid |
| 93 | gpe09: 0 invalid | 98 | gpe09: 0 invalid |
| 94 | gpe0A: 0 invalid | 99 | gpe0A: 0 invalid |
| 95 | gpe0B: 0 invalid | 100 | gpe0B: 0 invalid |
| 96 | gpe0C: 0 invalid | 101 | gpe0C: 0 invalid |
| 97 | gpe0D: 0 invalid | 102 | gpe0D: 0 invalid |
| 98 | gpe0E: 0 invalid | 103 | gpe0E: 0 invalid |
| 99 | gpe0F: 0 invalid | 104 | gpe0F: 0 invalid |
| 100 | gpe10: 0 invalid | 105 | gpe10: 0 invalid |
| 101 | gpe11: 0 invalid | 106 | gpe11: 0 invalid |
| 102 | gpe12: 0 invalid | 107 | gpe12: 0 invalid |
| 103 | gpe13: 0 invalid | 108 | gpe13: 0 invalid |
| 104 | gpe14: 0 invalid | 109 | gpe14: 0 invalid |
| 105 | gpe15: 0 invalid | 110 | gpe15: 0 invalid |
| 106 | gpe16: 0 invalid | 111 | gpe16: 0 invalid |
| 107 | gpe17: 1084 enable | 112 | gpe17: 1084 enable |
| 108 | gpe18: 0 enable | 113 | gpe18: 0 enable |
| 109 | gpe19: 0 invalid | 114 | gpe19: 0 invalid |
| 110 | gpe1A: 0 invalid | 115 | gpe1A: 0 invalid |
| 111 | gpe1B: 0 invalid | 116 | gpe1B: 0 invalid |
| 112 | gpe1C: 0 invalid | 117 | gpe1C: 0 invalid |
| 113 | gpe1D: 0 invalid | 118 | gpe1D: 0 invalid |
| 114 | gpe1E: 0 invalid | 119 | gpe1E: 0 invalid |
| 115 | gpe1F: 0 invalid | 120 | gpe1F: 0 invalid |
| 116 | gpe_all: 1192 | 121 | gpe_all: 1192 |
| 117 | sci: 1194 | 122 | sci: 1194 |
| 118 | sci_not: 0 | 123 | sci_not: 0 |
| 119 | 124 | ||
| 120 | sci - The number of times the ACPI SCI | 125 | =========== ================================================== |
| 121 | has been called and claimed an interrupt. | 126 | sci The number of times the ACPI SCI |
| 122 | 127 | has been called and claimed an interrupt. | |
| 123 | sci_not - The number of times the ACPI SCI | 128 | |
| 124 | has been called and NOT claimed an interrupt. | 129 | sci_not The number of times the ACPI SCI |
| 125 | 130 | has been called and NOT claimed an interrupt. | |
| 126 | gpe_all - count of SCI caused by GPEs. | 131 | |
| 127 | 132 | gpe_all count of SCI caused by GPEs. | |
| 128 | gpeXX - count for individual GPE source | 133 | |
| 129 | 134 | gpeXX count for individual GPE source | |
| 130 | ff_gbl_lock - Global Lock | 135 | |
| 131 | 136 | ff_gbl_lock Global Lock | |
| 132 | ff_pmtimer - PM Timer | 137 | |
| 133 | 138 | ff_pmtimer PM Timer | |
| 134 | ff_pwr_btn - Power Button | 139 | |
| 135 | 140 | ff_pwr_btn Power Button | |
| 136 | ff_rt_clk - Real Time Clock | 141 | |
| 137 | 142 | ff_rt_clk Real Time Clock | |
| 138 | ff_slp_btn - Sleep Button | 143 | |
| 139 | 144 | ff_slp_btn Sleep Button | |
| 140 | error - an interrupt that can't be accounted for above. | 145 | |
| 141 | 146 | error an interrupt that can't be accounted for above. | |
| 142 | invalid: it's either a GPE or a Fixed Event that | 147 | |
| 143 | doesn't have an event handler. | 148 | invalid it's either a GPE or a Fixed Event that |
| 144 | 149 | doesn't have an event handler. | |
| 145 | disable: the GPE/Fixed Event is valid but disabled. | 150 | |
| 146 | 151 | disable the GPE/Fixed Event is valid but disabled. | |
| 147 | enable: the GPE/Fixed Event is valid and enabled. | 152 | |
| 148 | 153 | enable the GPE/Fixed Event is valid and enabled. | |
| 149 | Root has permission to clear any of these counters. Eg. | 154 | =========== ================================================== |
| 150 | # echo 0 > gpe11 | 155 | |
| 151 | 156 | Root has permission to clear any of these counters. Eg.:: | |
| 152 | All counters can be cleared by clearing the total "sci": | 157 | |
| 153 | # echo 0 > sci | 158 | # echo 0 > gpe11 |
| 159 | |||
| 160 | All counters can be cleared by clearing the total "sci":: | ||
| 161 | |||
| 162 | # echo 0 > sci | ||
| 154 | 163 | ||
| 155 | None of these counters has an effect on the function | 164 | None of these counters has an effect on the function |
| 156 | of the system, they are simply statistics. | 165 | of the system, they are simply statistics. |
| @@ -165,32 +174,34 @@ Description: · 8 unmodified lines | |||
| 165 | 174 | ||
| 166 | Let's take power button fixed event for example, please kill acpid | 175 | Let's take power button fixed event for example, please kill acpid |
| 167 | and other user space applications so that the machine won't shutdown | 176 | and other user space applications so that the machine won't shutdown |
| 168 | when pressing the power button. | 177 | when pressing the power button:: |
| 169 | # cat ff_pwr_btn | 178 | |
| 170 | 0 enabled | 179 | # cat ff_pwr_btn |
| 171 | # press the power button for 3 times; | 180 | 0 enabled |
| 172 | # cat ff_pwr_btn | 181 | # press the power button for 3 times; |
| 173 | 3 enabled | 182 | # cat ff_pwr_btn |
| 174 | # echo disable > ff_pwr_btn | 183 | 3 enabled |
| 175 | # cat ff_pwr_btn | 184 | # echo disable > ff_pwr_btn |
| 176 | 3 disabled | 185 | # cat ff_pwr_btn |
| 177 | # press the power button for 3 times; | 186 | 3 disabled |
| 178 | # cat ff_pwr_btn | 187 | # press the power button for 3 times; |
| 179 | 3 disabled | 188 | # cat ff_pwr_btn |
| 180 | # echo enable > ff_pwr_btn | 189 | 3 disabled |
| 181 | # cat ff_pwr_btn | 190 | # echo enable > ff_pwr_btn |
| 182 | 4 enabled | 191 | # cat ff_pwr_btn |
| 183 | /* | 192 | 4 enabled |
| 184 | * this is because the status bit is set even if the enable bit is cleared, | 193 | /* |
| 185 | * and it triggers an ACPI fixed event when the enable bit is set again | 194 | * this is because the status bit is set even if the enable |
| 186 | */ | 195 | * bit is cleared, and it triggers an ACPI fixed event when |
| 187 | # press the power button for 3 times; | 196 | * the enable bit is set again |
| 188 | # cat ff_pwr_btn | 197 | */ |
| 189 | 7 enabled | 198 | # press the power button for 3 times; |
| 190 | # echo disable > ff_pwr_btn | 199 | # cat ff_pwr_btn |
| 191 | # press the power button for 3 times; | 200 | 7 enabled |
| 192 | # echo clear > ff_pwr_btn /* clear the status bit */ | 201 | # echo disable > ff_pwr_btn |
| 193 | # echo disable > ff_pwr_btn | 202 | # press the power button for 3 times; |
| 194 | # cat ff_pwr_btn | 203 | # echo clear > ff_pwr_btn /* clear the status bit */ |
| 195 | 7 enabled | 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 | doesn't matter), they will be represented in sysfs as | 33 | doesn't matter), they will be represented in sysfs as |
| 34 | entries "T-0" through "T-(N-1)": | 34 | entries "T-0" through "T-(N-1)": |
| 35 | 35 | ||
| 36 | Example entry directories: | 36 | Example entry directories:: |
| 37 | 37 | ||
| 38 | /sys/firmware/dmi/entries/17-0 | 38 | /sys/firmware/dmi/entries/17-0 |
| 39 | /sys/firmware/dmi/entries/17-1 | 39 | /sys/firmware/dmi/entries/17-1 |
| @@ -50,61 +50,65 @@ Description: · 10 unmodified lines | |||
| 50 | Each DMI entry in sysfs has the common header values | 50 | Each DMI entry in sysfs has the common header values |
| 51 | exported as attributes: | 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 | entry by the firmware. This handle may be | 55 | entry by the firmware. This handle may be |
| 55 | referred to by other entries. | 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 | entry itself. Note that this is _not the | 58 | entry itself. Note that this is _not the |
| 58 | total count of bytes associated with the | 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 | the "formatted" portion of the entry. This | 61 | the "formatted" portion of the entry. This |
| 61 | "formatted" region is sometimes followed by | 62 | "formatted" region is sometimes followed by |
| 62 | the "unformatted" region composed of nul | 63 | the "unformatted" region composed of nul |
| 63 | terminated strings, with termination signalled | 64 | terminated strings, with termination signalled |
| 64 | by a two nul characters in series. | 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 | "formatted" portion of the entry, the | 67 | "formatted" portion of the entry, the |
| 67 | "unformatted" strings portion of the entry, | 68 | "unformatted" strings portion of the entry, |
| 68 | and the two terminating nul characters. | 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 | as found in the directory name. It indicates | 71 | as found in the directory name. It indicates |
| 71 | how the rest of the entry should be interpreted. | 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 | given type. This value is the same as found | 74 | given type. This value is the same as found |
| 74 | in the parent directory name. | 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 | within the entirety of the DMI entry table. | 77 | within the entirety of the DMI entry table. |
| 78 | ======== ================================================= | ||
| 77 | 79 | ||
| 78 | === Entry Specialization === | 80 | **Entry Specialization** |
| 79 | 81 | ||
| 80 | Some entry types may have other information available in | 82 | Some entry types may have other information available in |
| 81 | sysfs. Not all types are specialized. | 83 | sysfs. Not all types are specialized. |
| 82 | 84 | ||
| 83 | --- Type 15 - System Event Log --- | 85 | **Type 15 - System Event Log** |
| 84 | 86 | ||
| 85 | This entry allows the firmware to export a log of | 87 | This entry allows the firmware to export a log of |
| 86 | events the system has taken. This information is | 88 | events the system has taken. This information is |
| 87 | typically backed by nvram, but the implementation | 89 | typically backed by nvram, but the implementation |
| 88 | details are abstracted by this table. This entry's data | 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 | and has the following attributes (documented in the | 95 | and has the following attributes (documented in the |
| 94 | SMBIOS / DMI specification under "System Event Log (Type 15)": | 96 | SMBIOS / DMI specification under "System Event Log (Type 15)": |
| 95 | 97 | ||
| 96 | area_length | 98 | - area_length |
| 97 | header_start_offset | 99 | - header_start_offset |
| 98 | data_start_offset | 100 | - data_start_offset |
| 99 | access_method | 101 | - access_method |
| 100 | status | 102 | - status |
| 101 | change_token | 103 | - change_token |
| 102 | access_method_address | 104 | - access_method_address |
| 103 | header_format | 105 | - header_format |
| 104 | per_log_type_descriptor_length | 106 | - per_log_type_descriptor_length |
| 105 | type_descriptors_supported_count | 107 | - type_descriptors_supported_count |
| 106 | 108 | ||
| 107 | As well, the kernel exports the binary attribute: | 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 | as described by the DMI entry. | 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 | Date: February 2015 | 35 | Date: February 2015 |
| 36 | Contact: Peter Jones <pjones@redhat.com> | 36 | Contact: Peter Jones <pjones@redhat.com> |
| 37 | Description: What kind of firmware entry this is: | 37 | Description: What kind of firmware entry this is: |
| 38 | 0 - Unknown | 38 | |
| 39 | 1 - System Firmware | 39 | == =============== |
| 40 | 2 - Device Firmware | 40 | 0 Unknown |
| 41 | 3 - UEFI Driver | 41 | 1 System Firmware |
| 42 | 2 Device Firmware | ||
| 43 | 3 UEFI Driver | ||
| 44 | == =============== | ||
| 42 | 45 | ||
| 43 | What: /sys/firmware/efi/esrt/entries/entry$N/fw_class | 46 | What: /sys/firmware/efi/esrt/entries/entry$N/fw_class |
| 44 | Date: February 2015 | 47 | Date: February 2015 |
| @@ -71,11 +74,14 @@ Date: February 2015 · 26 unmodified lines | |||
| 71 | Contact: Peter Jones <pjones@redhat.com> | 74 | Contact: Peter Jones <pjones@redhat.com> |
| 72 | Description: The result of the last firmware update attempt for the | 75 | Description: The result of the last firmware update attempt for the |
| 73 | firmware resource entry. | 76 | firmware resource entry. |
| 74 | 0 - Success | 77 | |
| 75 | 1 - Insufficient resources | 78 | == ====================== |
| 76 | 2 - Incorrect version | 79 | 0 Success |
| 77 | 3 - Invalid format | 80 | 1 Insufficient resources |
| 78 | 4 - Authentication error | 81 | 2 Incorrect version |
| 79 | 5 - AC power event | 82 | 3 Invalid format |
| 80 | 6 - Battery power event | 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 | /sys/firmware/efi/runtime-map/ is the directory the kernel | 14 | /sys/firmware/efi/runtime-map/ is the directory the kernel |
| 15 | exports that information in. | 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 | /sys/firmware/efi/runtime-map/0 | 19 | /sys/firmware/efi/runtime-map/0 |
| 20 | /sys/firmware/efi/runtime-map/1 | 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 | Each subdirectory contains five files: | 25 | Each subdirectory contains five files: |
| 26 | 26 | ||
| 27 | attribute : The attributes of the memory range. | 27 | ========= ========================================= |
| 28 | num_pages : The size of the memory range in pages. | 28 | attribute The attributes of the memory range. |
| 29 | phys_addr : The physical address of the memory range. | 29 | num_pages The size of the memory range in pages. |
| 30 | type : The type of the memory range. | 30 | phys_addr The physical address of the memory range. |
| 31 | virt_addr : The virtual 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 | Above values are all hexadecimal numbers with the '0x' prefix. | 35 | Above values are all hexadecimal numbers with the '0x' prefix. |
| 34 | Users: Kexec | 36 | Users: Kexec |
| @@ -20,7 +20,7 @@ Description: · 19 unmodified lines | |||
| 20 | 20 | ||
| 21 | This directory has the same layout (and | 21 | This directory has the same layout (and |
| 22 | underlying implementation as /sys/firmware/efi/vars. | 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 | for more information on how to interact with | 24 | for more information on how to interact with |
| 25 | this structure. | 25 | this structure. |
| 26 | 26 | ||
| @@ -20,7 +20,7 @@ Description: · 19 unmodified lines | |||
| 20 | the raw memory map to userspace. | 20 | the raw memory map to userspace. |
| 21 | 21 | ||
| 22 | The structure is as follows: Under /sys/firmware/memmap there | 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 | /sys/firmware/memmap/0 | 25 | /sys/firmware/memmap/0 |
| 26 | /sys/firmware/memmap/1 | 26 | /sys/firmware/memmap/1 |
| @@ -34,14 +34,16 @@ Description: · 7 unmodified lines | |||
| 34 | 34 | ||
| 35 | Each directory contains three files: | 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 | '0x' prefix). | 39 | '0x' prefix). |
| 39 | end : The end address, inclusive (regardless whether the | 40 | end The end address, inclusive (regardless whether the |
| 40 | firmware provides inclusive or exclusive ranges). | 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 | valid types. | 43 | valid types. |
| 44 | ======== ===================================================== | ||
| 43 | 45 | ||
| 44 | So, for example: | 46 | So, for example:: |
| 45 | 47 | ||
| 46 | /sys/firmware/memmap/0/start | 48 | /sys/firmware/memmap/0/start |
| 47 | /sys/firmware/memmap/0/end | 49 | /sys/firmware/memmap/0/end |
| @@ -57,9 +59,8 @@ Description: · 9 unmodified lines | |||
| 57 | - reserved | 59 | - reserved |
| 58 | 60 | ||
| 59 | Following shell snippet can be used to display that memory | 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 | #!/bin/bash | 64 | #!/bin/bash |
| 64 | cd /sys/firmware/memmap | 65 | cd /sys/firmware/memmap |
| 65 | for dir in * ; do | 66 | for dir in * ; do |
| @@ -68,4 +69,3 @@ Description: · 2 unmodified lines | |||
| 68 | type=$(cat $dir/type) | 69 | type=$(cat $dir/type) |
| 69 | printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" | 70 | printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" |
| 70 | done | 71 | done |
| 71 | -------------------- >8 ---------------------------------------- | ||
| @@ -15,7 +15,7 @@ Description: · 14 unmodified lines | |||
| 15 | to the fw_cfg device can be found in "docs/specs/fw_cfg.txt" | 15 | to the fw_cfg device can be found in "docs/specs/fw_cfg.txt" |
| 16 | in the QEMU source tree. | 16 | in the QEMU source tree. |
| 17 | 17 | ||
| 18 | === SysFS fw_cfg Interface === | 18 | **SysFS fw_cfg Interface** |
| 19 | 19 | ||
| 20 | The fw_cfg sysfs interface described in this document is only | 20 | The fw_cfg sysfs interface described in this document is only |
| 21 | intended to display discoverable blobs (i.e., those registered | 21 | intended to display discoverable blobs (i.e., those registered |
| @@ -31,7 +31,7 @@ Description: · 9 unmodified lines | |||
| 31 | 31 | ||
| 32 | /sys/firmware/qemu_fw_cfg/rev | 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 | All discoverable blobs listed in the fw_cfg file directory are | 36 | All discoverable blobs listed in the fw_cfg file directory are |
| 37 | displayed as entries named after their unique selector key | 37 | displayed as entries named after their unique selector key |
| @@ -45,24 +45,26 @@ Description: · 7 unmodified lines | |||
| 45 | Each such fw_cfg sysfs entry has the following values exported | 45 | Each such fw_cfg sysfs entry has the following values exported |
| 46 | as attributes: | 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 | blob's 'file name' in the fw_cfg directory. | 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 | directory. | 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 | fw_cfg directory. This value is the same as used in | 54 | fw_cfg directory. This value is the same as used in |
| 54 | the parent directory name. | 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 | entry via the control register, and reading a number | 57 | entry via the control register, and reading a number |
| 57 | of bytes equal to the blob size from the data | 58 | of bytes equal to the blob size from the data |
| 58 | register. | 59 | register. |
| 60 | ==== ==================================================== | ||
| 59 | 61 | ||
| 60 | --- Listing fw_cfg blobs by file name --- | 62 | **Listing fw_cfg blobs by file name** |
| 61 | 63 | ||
| 62 | While the fw_cfg device does not impose any specific naming | 64 | While the fw_cfg device does not impose any specific naming |
| 63 | convention on the blobs registered in the file directory, | 65 | convention on the blobs registered in the file directory, |
| 64 | QEMU developers have traditionally used path name semantics | 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 | "bootorder" | 69 | "bootorder" |
| 68 | "genroms/kvmvapic.bin" | 70 | "genroms/kvmvapic.bin" |
| @@ -81,7 +83,7 @@ Description: · 12 unmodified lines | |||
| 81 | of directories matching the path name components of fw_cfg | 83 | of directories matching the path name components of fw_cfg |
| 82 | blob names, ending in symlinks to the by_key entry for each | 84 | blob names, ending in symlinks to the by_key entry for each |
| 83 | "basename", as illustrated below (assume current directory is | 85 | "basename", as illustrated below (assume current directory is |
| 84 | /sys/firmware): | 86 | /sys/firmware):: |
| 85 | 87 | ||
| 86 | qemu_fw_cfg/by_name/bootorder -> ../by_key/38 | 88 | qemu_fw_cfg/by_name/bootorder -> ../by_key/38 |
| 87 | qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35 | 89 | qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35 |
| @@ -9,7 +9,7 @@ Description: · 8 unmodified lines | |||
| 9 | http://simplefirmware.org/documentation | 9 | http://simplefirmware.org/documentation |
| 10 | 10 | ||
| 11 | While the tables are used by the kernel, user-space | 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 | 14 | # cd /sys/firmware/sfi/tables |
| 15 | # cat $TABLENAME > $TABLENAME.bin | 15 | # cat $TABLENAME > $TABLENAME.bin |
| @@ -5,7 +5,7 @@ Description: · 4 unmodified lines | |||
| 5 | The /sys/firmware/sgi_uv directory contains information | 5 | The /sys/firmware/sgi_uv directory contains information |
| 6 | about the SGI UV platform. | 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 | partition_id | 10 | partition_id |
| 11 | coherence_id | 11 | coherence_id |
| @@ -14,7 +14,7 @@ Description: · 2 unmodified lines | |||
| 14 | SGI UV systems can be partitioned into multiple physical | 14 | SGI UV systems can be partitioned into multiple physical |
| 15 | machines, which each partition running a unique copy | 15 | machines, which each partition running a unique copy |
| 16 | of the operating system. Each partition will have a unique | 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 | cat /sys/firmware/sgi_uv/partition_id | 19 | cat /sys/firmware/sgi_uv/partition_id |
| 20 | 20 | ||
| @@ -22,6 +22,6 @@ Description: · 1 unmodified line | |||
| 22 | A partitioned SGI UV system can have one or more coherence | 22 | A partitioned SGI UV system can have one or more coherence |
| 23 | domain. The coherence id indicates which coherence domain | 23 | domain. The coherence id indicates which coherence domain |
| 24 | this partition is in. To display the coherence id, use the | 24 | this partition is in. To display the coherence id, use the |
| 25 | command: | 25 | command:: |
| 26 | 26 | ||
| 27 | cat /sys/firmware/sgi_uv/coherence_id | 27 | cat /sys/firmware/sgi_uv/coherence_id |
| @@ -2,21 +2,21 @@ What: /sys/firmware/turris-mox-rwtm/board_version · 1 unmodified line | |||
| 2 | Date: August 2019 | 2 | Date: August 2019 |
| 3 | KernelVersion: 5.4 | 3 | KernelVersion: 5.4 |
| 4 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | Format: %i | 6 | Format: %i |
| 7 | 7 | ||
| 8 | What: /sys/firmware/turris-mox-rwtm/mac_address* | 8 | What: /sys/firmware/turris-mox-rwtm/mac_address* |
| 9 | Date: August 2019 | 9 | Date: August 2019 |
| 10 | KernelVersion: 5.4 | 10 | KernelVersion: 5.4 |
| 11 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | Format: %pM | 13 | Format: %pM |
| 14 | 14 | ||
| 15 | What: /sys/firmware/turris-mox-rwtm/pubkey | 15 | What: /sys/firmware/turris-mox-rwtm/pubkey |
| 16 | Date: August 2019 | 16 | Date: August 2019 |
| 17 | KernelVersion: 5.4 | 17 | KernelVersion: 5.4 |
| 18 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | as pair to the ECDSA private key burned into eFuses of this | 20 | as pair to the ECDSA private key burned into eFuses of this |
| 21 | Turris Mox Board. | 21 | Turris Mox Board. |
| 22 | Format: string | 22 | Format: string |
| @@ -25,7 +25,7 @@ What: /sys/firmware/turris-mox-rwtm/ram_size · 2 unmodified lines | |||
| 25 | Date: August 2019 | 25 | Date: August 2019 |
| 26 | KernelVersion: 5.4 | 26 | KernelVersion: 5.4 |
| 27 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | during manufacturing and burned into eFuses. Can be 512 or 1024. | 29 | during manufacturing and burned into eFuses. Can be 512 or 1024. |
| 30 | Format: %i | 30 | Format: %i |
| 31 | 31 | ||
| @@ -33,5 +33,5 @@ What: /sys/firmware/turris-mox-rwtm/serial_number · 1 unmodified line | |||
| 33 | Date: August 2019 | 33 | Date: August 2019 |
| 34 | KernelVersion: 5.4 | 34 | KernelVersion: 5.4 |
| 35 | Contact: Marek Behún <marek.behun@nic.cz> | 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 | Format: %016X | 37 | Format: %016X |
| @@ -45,8 +45,8 @@ Description: · 44 unmodified lines | |||
| 45 | parameter will have their blocks allocated out of a | 45 | parameter will have their blocks allocated out of a |
| 46 | block group specific preallocation pool, so that small | 46 | block group specific preallocation pool, so that small |
| 47 | files are packed closely together. Each large file | 47 | files are packed closely together. Each large file |
| 48 | will have its blocks allocated out of its own unique | 48 | will have its blocks allocated out of its own unique |
| 49 | preallocation pool. | 49 | preallocation pool. |
| 50 | 50 | ||
| 51 | What: /sys/fs/ext4/<disk>/inode_readahead_blks | 51 | What: /sys/fs/ext4/<disk>/inode_readahead_blks |
| 52 | Date: March 2008 | 52 | Date: March 2008 |
| @@ -20,9 +20,13 @@ What: /sys/fs/f2fs/<disk>/gc_idle · 19 unmodified lines | |||
| 20 | Date: July 2013 | 20 | Date: July 2013 |
| 21 | Contact: "Namjae Jeon" <namjae.jeon@samsung.com> | 21 | Contact: "Namjae Jeon" <namjae.jeon@samsung.com> |
| 22 | Description: Controls the victim selection policy for garbage collection. | 22 | Description: Controls the victim selection policy for garbage collection. |
| 23 | Setting gc_idle = 0(default) will disable this option. Setting | 23 | Setting gc_idle = 0(default) will disable this option. Setting: |
| 24 | gc_idle = 1 will select the Cost Benefit approach & setting | 24 | |
| 25 | gc_idle = 2 will select the greedy approach. | 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 | What: /sys/fs/f2fs/<disk>/reclaim_segments | 31 | What: /sys/fs/f2fs/<disk>/reclaim_segments |
| 28 | Date: October 2013 | 32 | Date: October 2013 |
| @@ -45,10 +49,17 @@ Date: November 2013 · 16 unmodified lines | |||
| 45 | Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com> | 49 | Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com> |
| 46 | Description: Controls the in-place-update policy. | 50 | Description: Controls the in-place-update policy. |
| 47 | updates in f2fs. User can set: | 51 | updates in f2fs. User can set: |
| 48 | 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR, | 52 | |
| 49 | 0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL, | 53 | ==== ================= |
| 50 | 0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC, | 54 | 0x01 F2FS_IPU_FORCE |
| 51 | 0x40: F2FS_IPU_NOCACHE. | 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 | Refer segment.h for details. | 63 | Refer segment.h for details. |
| 53 | 64 | ||
| 54 | What: /sys/fs/f2fs/<disk>/min_ipu_util | 65 | What: /sys/fs/f2fs/<disk>/min_ipu_util |
| @@ -331,18 +342,28 @@ Date: April 2020 · 276 unmodified lines | |||
| 331 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> | 342 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> |
| 332 | Description: Give a way to attach REQ_META|FUA to data writes | 343 | Description: Give a way to attach REQ_META|FUA to data writes |
| 333 | given temperature-based bits. Now the bits indicate: | 344 | given temperature-based bits. Now the bits indicate: |
| 334 | * REQ_META | REQ_FUA | | 345 | |
| 335 | * 5 | 4 | 3 | 2 | 1 | 0 | | 346 | +-------------------+-------------------+ |
| 336 | * Cold | Warm | Hot | Cold | Warm | Hot | | 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 | What: /sys/fs/f2fs/<disk>/node_io_flag | 354 | What: /sys/fs/f2fs/<disk>/node_io_flag |
| 339 | Date: June 2020 | 355 | Date: June 2020 |
| 340 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> | 356 | Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> |
| 341 | Description: Give a way to attach REQ_META|FUA to node writes | 357 | Description: Give a way to attach REQ_META|FUA to node writes |
| 342 | given temperature-based bits. Now the bits indicate: | 358 | given temperature-based bits. Now the bits indicate: |
| 343 | * REQ_META | REQ_FUA | | 359 | |
| 344 | * 5 | 4 | 3 | 2 | 1 | 0 | | 360 | +-------------------+-------------------+ |
| 345 | * Cold | Warm | Hot | Cold | Warm | Hot | | 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 | What: /sys/fs/f2fs/<disk>/iostat_period_ms | 368 | What: /sys/fs/f2fs/<disk>/iostat_period_ms |
| 348 | Date: April 2020 | 369 | Date: April 2020 |
| @@ -15,14 +15,17 @@ KernelVersion: 4.3 · 14 unmodified lines | |||
| 15 | Contact: Boris Ostrovsky <boris.ostrovsky@oracle.com> | 15 | Contact: Boris Ostrovsky <boris.ostrovsky@oracle.com> |
| 16 | Description: If running under Xen: | 16 | Description: If running under Xen: |
| 17 | Describes mode that Xen's performance-monitoring unit (PMU) | 17 | Describes mode that Xen's performance-monitoring unit (PMU) |
| 18 | uses. Accepted values are | 18 | uses. Accepted values are: |
| 19 | "off" -- PMU is disabled | 19 | |
| 20 | "self" -- The guest can profile itself | 20 | ====== ============================================ |
| 21 | "hv" -- The guest can profile itself and, if it is | 21 | "off" PMU is disabled |
| 22 | "self" The guest can profile itself | ||
| 23 | "hv" The guest can profile itself and, if it is | ||
| 22 | privileged (e.g. dom0), the hypervisor | 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 | and all other guests. Only available to | 26 | and all other guests. Only available to |
| 25 | privileged guests. | 27 | privileged guests. |
| 28 | ====== ============================================ | ||
| 26 | 29 | ||
| 27 | What: /sys/hypervisor/pmu/pmu_features | 30 | What: /sys/hypervisor/pmu/pmu_features |
| 28 | Date: August 2015 | 31 | Date: August 2015 |
| @@ -23,16 +23,17 @@ Description: The /sys/kernel/boot_params directory contains two · 22 unmodified lines | |||
| 23 | representation of setup_data type. "data" file is the binary | 23 | representation of setup_data type. "data" file is the binary |
| 24 | representation of setup_data payload. | 24 | representation of setup_data payload. |
| 25 | 25 | ||
| 26 | The whole boot_params directory structure is like below: | 26 | The whole boot_params directory structure is like below:: |
| 27 | /sys/kernel/boot_params | 27 | |
| 28 | |__ data | 28 | /sys/kernel/boot_params |
| 29 | |__ setup_data | 29 | |__ data |
| 30 | | |__ 0 | 30 | |__ setup_data |
| 31 | | | |__ data | 31 | | |__ 0 |
| 32 | | | |__ type | 32 | | | |__ data |
| 33 | | |__ 1 | 33 | | | |__ type |
| 34 | | |__ data | 34 | | |__ 1 |
| 35 | | |__ type | 35 | | |__ data |
| 36 | |__ version | 36 | | |__ type |
| 37 | |__ version | ||
| 37 | 38 | ||
| 38 | Users: Kexec | 39 | Users: Kexec |
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | |||
| 7 | of the hugepages supported by the kernel/CPU combination. | 7 | of the hugepages supported by the kernel/CPU combination. |
| 8 | 8 | ||
| 9 | Under these directories are a number of files: | 9 | Under these directories are a number of files: |
| 10 | nr_hugepages | 10 | |
| 11 | nr_overcommit_hugepages | 11 | - nr_hugepages |
| 12 | free_hugepages | 12 | - nr_overcommit_hugepages |
| 13 | surplus_hugepages | 13 | - free_hugepages |
| 14 | resv_hugepages | 14 | - surplus_hugepages |
| 15 | - resv_hugepages | ||
| 16 | |||
| 15 | See Documentation/admin-guide/mm/hugetlbpage.rst for details. | 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 | in a tree. | 34 | in a tree. |
| 35 | 35 | ||
| 36 | run: write 0 to disable ksm, read 0 while ksm is disabled. | 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. | 37 | |
| 38 | write 2 to disable ksm and unmerge all its pages. | 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 | sleep_millisecs: how many milliseconds ksm should sleep between | 41 | sleep_millisecs: how many milliseconds ksm should sleep between |
| 41 | scans. | 42 | scans. |
| @@ -346,6 +346,7 @@ Description: · 345 unmodified lines | |||
| 346 | number of objects per slab. If a slab cannot be allocated | 346 | number of objects per slab. If a slab cannot be allocated |
| 347 | because of fragmentation, SLUB will retry with the minimum order | 347 | because of fragmentation, SLUB will retry with the minimum order |
| 348 | possible depending on its characteristics. | 348 | possible depending on its characteristics. |
| 349 | |||
| 349 | When debug_guardpage_minorder=N (N > 0) parameter is specified | 350 | When debug_guardpage_minorder=N (N > 0) parameter is specified |
| 350 | (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible | 351 | (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible |
| 351 | order is used and this sysfs entry can not be used to change | 352 | order is used and this sysfs entry can not be used to change |
| @@ -361,6 +362,7 @@ Description: · 9 unmodified lines | |||
| 361 | new slab has not been possible at the cache's order and instead | 362 | new slab has not been possible at the cache's order and instead |
| 362 | fallen back to its minimum possible order. It can be written to | 363 | fallen back to its minimum possible order. It can be written to |
| 363 | clear the current count. | 364 | clear the current count. |
| 365 | |||
| 364 | Available when CONFIG_SLUB_STATS is enabled. | 366 | Available when CONFIG_SLUB_STATS is enabled. |
| 365 | 367 | ||
| 366 | What: /sys/kernel/slab/cache/partial | 368 | What: /sys/kernel/slab/cache/partial |
| @@ -410,6 +412,7 @@ Description: · 43 unmodified lines | |||
| 410 | slab from a remote node as opposed to allocating a new slab on | 412 | slab from a remote node as opposed to allocating a new slab on |
| 411 | the local node. This reduces the amount of wasted memory over | 413 | the local node. This reduces the amount of wasted memory over |
| 412 | the entire system but can be expensive. | 414 | the entire system but can be expensive. |
| 415 | |||
| 413 | Available when CONFIG_NUMA is enabled. | 416 | Available when CONFIG_NUMA is enabled. |
| 414 | 417 | ||
| 415 | What: /sys/kernel/slab/cache/sanity_checks | 418 | What: /sys/kernel/slab/cache/sanity_checks |
| @@ -17,14 +17,15 @@ KernelVersion: 3.1 · 16 unmodified lines | |||
| 17 | Contact: Kirill Smelkov <kirr@mns.spb.ru> | 17 | Contact: Kirill Smelkov <kirr@mns.spb.ru> |
| 18 | Description: Maximum time allowed for periodic transfers per microframe (μs) | 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 | microframe to be 80%, that is 100 microseconds out of 125 | 22 | microframe to be 80%, that is 100 microseconds out of 125 |
| 22 | microseconds (full microframe). | 23 | microseconds (full microframe). |
| 23 | 24 | ||
| 24 | However there are cases, when 80% max isochronous bandwidth is | 25 | However there are cases, when 80% max isochronous bandwidth is |
| 25 | too limiting. For example two video streams could require 110 | 26 | too limiting. For example two video streams could require 110 |
| 26 | microseconds of isochronous bandwidth per microframe to work | 27 | microseconds of isochronous bandwidth per microframe to work |
| 27 | together. ] | 28 | together. |
| 28 | 29 | ||
| 29 | Through this setting it is possible to raise the limit so that | 30 | Through this setting it is possible to raise the limit so that |
| 30 | the host controller would allow allocating more than 100 | 31 | the host controller would allow allocating more than 100 |
| @@ -45,8 +46,10 @@ Date: Jan 2012 · 14 unmodified lines | |||
| 45 | KernelVersion:»·3.3 | 46 | KernelVersion:»·3.3 |
| 46 | Contact: Kay Sievers <kay.sievers@vrfy.org> | 47 | Contact: Kay Sievers <kay.sievers@vrfy.org> |
| 47 | Description: Module taint flags: | 48 | Description: Module taint flags: |
| 48 | P - proprietary module | 49 | == ===================== |
| 49 | O - out-of-tree module | 50 | P proprietary module |
| 50 | F - force-loaded module | 51 | O out-of-tree module |
| 51 | C - staging driver module | 52 | F force-loaded module |
| 52 | E - unsigned module | 53 | C staging driver module |
| 54 | E unsigned module | ||
| 55 | == ===================== | ||
| @@ -4,13 +4,16 @@ KernelVersion: 2.6.20 · 3 unmodified lines | |||
| 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> | 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> |
| 5 | Description: | 5 | Description: |
| 6 | This file allows display switching. The value | 6 | This file allows display switching. The value |
| 7 | is composed by 4 bits and defined as follow: | 7 | is composed by 4 bits and defined as follow:: |
| 8 | 4321 | 8 | |
| 9 | |||`- LCD | 9 | 4321 |
| 10 | ||`-- CRT | 10 | |||`- LCD |
| 11 | |`--- TV | 11 | ||`-- CRT |
| 12 | `---- DVI | 12 | |`--- TV |
| 13 | Ex: - 0 (0000b) means no display | 13 | `---- DVI |
| 14 | |||
| 15 | Ex: | ||
| 16 | - 0 (0000b) means no display | ||
| 14 | - 3 (0011b) CRT+LCD. | 17 | - 3 (0011b) CRT+LCD. |
| 15 | 18 | ||
| 16 | What: /sys/devices/platform/asus_laptop/gps | 19 | What: /sys/devices/platform/asus_laptop/gps |
| @@ -28,8 +31,10 @@ Contact: "Corentin Chary" <corentincj@iksaif.net> · 11 unmodified lines | |||
| 28 | Description: | 31 | Description: |
| 29 | Some models like the W1N have a LED display that can be | 32 | Some models like the W1N have a LED display that can be |
| 30 | used to display several items of information. | 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 | echo 0x0T000DDD > /sys/devices/platform/asus_laptop/ | 36 | echo 0x0T000DDD > /sys/devices/platform/asus_laptop/ |
| 37 | |||
| 33 | where T control the 3 letters display, and DDD the 3 digits display. | 38 | where T control the 3 letters display, and DDD the 3 digits display. |
| 34 | The DDD table can be found in Documentation/admin-guide/laptops/asus-laptop.rst | 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 | Description: | 5 | Description: |
| 6 | Change CPU clock configuration (write-only). | 6 | Change CPU clock configuration (write-only). |
| 7 | There are three available clock configuration: | 7 | There are three available clock configuration: |
| 8 | |||
| 8 | * 0 -> Super Performance Mode | 9 | * 0 -> Super Performance Mode |
| 9 | * 1 -> High Performance Mode | 10 | * 1 -> High Performance Mode |
| 10 | * 2 -> Power Saving Mode | 11 | * 2 -> Power Saving Mode |
| @@ -18,8 +18,10 @@ Description: · 17 unmodified lines | |||
| 18 | In order to use an extended can_id add the | 18 | In order to use an extended can_id add the |
| 19 | CAN_EFF_FLAG (0x80000000U) to the can_id. Example: | 19 | CAN_EFF_FLAG (0x80000000U) to the can_id. Example: |
| 20 | 20 | ||
| 21 | - standard id 0x7ff: | 21 | - standard id 0x7ff:: |
| 22 | echo 0x7ff > /sys/class/net/can0/mb0_id | ||
| 23 | 22 | ||
| 24 | - extended id 0x1fffffff: | 23 | echo 0x7ff > /sys/class/net/can0/mb0_id |
| 25 | echo 0x9fffffff > /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 | this file. To disable a trigger, write its name preceded | 34 | this file. To disable a trigger, write its name preceded |
| 35 | by '-' instead. | 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 | echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers | 39 | echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers |
| 39 | To disable it: | 40 | |
| 41 | To disable it:: | ||
| 42 | |||
| 40 | echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers | 43 | echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers |
| 41 | 44 | ||
| 42 | Note that not all the available triggers can be configured. | 45 | Note that not all the available triggers can be configured. |
| @@ -57,7 +60,8 @@ Description: · 14 unmodified lines | |||
| 57 | with any the above units. If no unit is specified, the value | 60 | with any the above units. If no unit is specified, the value |
| 58 | is assumed to be expressed in seconds. | 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 | echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout | 65 | echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout |
| 62 | 66 | ||
| 63 | Note that when this file is read, the returned value might be | 67 | Note that when this file is read, the returned value might be |
| @@ -13,8 +13,8 @@ Description: · 12 unmodified lines | |||
| 13 | For example the token ID "5" would be available | 13 | For example the token ID "5" would be available |
| 14 | as the following attributes: | 14 | as the following attributes: |
| 15 | 15 | ||
| 16 | 0005_location | 16 | - 0005_location |
| 17 | 0005_value | 17 | - 0005_value |
| 18 | 18 | ||
| 19 | Tokens will vary from machine to machine, and | 19 | Tokens will vary from machine to machine, and |
| 20 | only tokens available on that machine will be | 20 | only tokens available on that machine will be |
| @@ -113,8 +113,11 @@ KernelVersion: 5.5 · 112 unmodified lines | |||
| 113 | Contact: Wu Hao <hao.wu@intel.com> | 113 | Contact: Wu Hao <hao.wu@intel.com> |
| 114 | Description: Read-Only. Read this file to get the name of hwmon device, it | 114 | Description: Read-Only. Read this file to get the name of hwmon device, it |
| 115 | supports values: | 115 | supports values: |
| 116 | 'dfl_fme_thermal' - thermal hwmon device name | 116 | |
| 117 | 'dfl_fme_power' - power hwmon device name | 117 | ================= ========================= |
| 118 | 'dfl_fme_thermal' thermal hwmon device name | ||
| 119 | 'dfl_fme_power' power hwmon device name | ||
| 120 | ================= ========================= | ||
| 118 | 121 | ||
| 119 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input | 122 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input |
| 120 | Date: October 2019 | 123 | Date: October 2019 |
| @@ -169,8 +172,11 @@ KernelVersion: 5.5 · 48 unmodified lines | |||
| 169 | Contact: Wu Hao <hao.wu@intel.com> | 172 | Contact: Wu Hao <hao.wu@intel.com> |
| 170 | Description: Read-Only. Read this file to get the policy of hardware threshold1 | 173 | Description: Read-Only. Read this file to get the policy of hardware threshold1 |
| 171 | (see 'temp1_max'). It only supports two values (policies): | 174 | (see 'temp1_max'). It only supports two values (policies): |
| 172 | 0 - AP2 state (90% throttling) | 175 | |
| 173 | 1 - AP1 state (50% throttling) | 176 | == ========================== |
| 177 | 0 AP2 state (90% throttling) | ||
| 178 | 1 AP1 state (50% throttling) | ||
| 179 | == ========================== | ||
| 174 | 180 | ||
| 175 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input | 181 | What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input |
| 176 | Date: October 2019 | 182 | Date: October 2019 |
| @@ -27,12 +27,15 @@ KernelVersion: v4.10 · 26 unmodified lines | |||
| 27 | Contact: linux-acpi@vger.kernel.org | 27 | Contact: linux-acpi@vger.kernel.org |
| 28 | Description: | 28 | Description: |
| 29 | (RO) Display the platform power source | 29 | (RO) Display the platform power source |
| 30 | |||
| 31 | ========= ============================ | ||
| 30 | bits[3:0] Current power source | 32 | bits[3:0] Current power source |
| 31 | 0x00 = DC | 33 | - 0x00 = DC |
| 32 | 0x01 = AC | 34 | - 0x01 = AC |
| 33 | 0x02 = USB | 35 | - 0x02 = USB |
| 34 | 0x03 = Wireless Charger | 36 | - 0x03 = Wireless Charger |
| 35 | bits[7:4] Power source sequence number | 37 | bits[7:4] Power source sequence number |
| 38 | ========= ============================ | ||
| 36 | 39 | ||
| 37 | What: /sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power | 40 | What: /sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power |
| 38 | Date: Jul, 2016 | 41 | Date: Jul, 2016 |
| @@ -4,9 +4,11 @@ KernelVersion: 2.6.26 · 3 unmodified lines | |||
| 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> | 4 | Contact: "Corentin Chary" <corentincj@iksaif.net> |
| 5 | Description: | 5 | Description: |
| 6 | This file allows display switching. | 6 | This file allows display switching. |
| 7 | |||
| 7 | - 1 = LCD | 8 | - 1 = LCD |
| 8 | - 2 = CRT | 9 | - 2 = CRT |
| 9 | - 3 = LCD+CRT | 10 | - 3 = LCD+CRT |
| 11 | |||
| 10 | If you run X11, you should use xrandr instead. | 12 | If you run X11, you should use xrandr instead. |
| 11 | 13 | ||
| 12 | What: /sys/devices/platform/eeepc/camera | 14 | What: /sys/devices/platform/eeepc/camera |
| @@ -30,16 +32,20 @@ Contact: "Corentin Chary" <corentincj@iksaif.net> · 17 unmodified lines | |||
| 30 | Description: | 32 | Description: |
| 31 | Change CPU clock configuration. | 33 | Change CPU clock configuration. |
| 32 | On the Eee PC 1000H there are three available clock configuration: | 34 | On the Eee PC 1000H there are three available clock configuration: |
| 35 | |||
| 33 | * 0 -> Super Performance Mode | 36 | * 0 -> Super Performance Mode |
| 34 | * 1 -> High Performance Mode | 37 | * 1 -> High Performance Mode |
| 35 | * 2 -> Power Saving Mode | 38 | * 2 -> Power Saving Mode |
| 39 | |||
| 36 | On Eee PC 701 there is only 2 available clock configurations. | 40 | On Eee PC 701 there is only 2 available clock configurations. |
| 37 | Available configuration are listed in available_cpufv file. | 41 | Available configuration are listed in available_cpufv file. |
| 38 | Reading this file will show the raw hexadecimal value which | 42 | Reading this file will show the raw hexadecimal value which |
| 39 | is defined as follow: | 43 | is defined as follow:: |
| 40 | | 8 bit | 8 bit | | 44 | |
| 41 | | `---- Current mode | 45 | | 8 bit | 8 bit | |
| 42 | `------------ Availables modes | 46 | | `---- Current mode |
| 47 | `------------ Availables modes | ||
| 48 | |||
| 43 | For example, 0x301 means: mode 1 selected, 3 available modes. | 49 | For example, 0x301 means: mode 1 selected, 3 available modes. |
| 44 | 50 | ||
| 45 | What: /sys/devices/platform/eeepc/available_cpufv | 51 | What: /sys/devices/platform/eeepc/available_cpufv |
| @@ -5,9 +5,9 @@ Contact: Wolfram Sang <wsa+renesas@sang-engineering.com> · 4 unmodified lines | |||
| 5 | Description: | 5 | Description: |
| 6 | Reading the file will give you a list of masters which can be | 6 | Reading the file will give you a list of masters which can be |
| 7 | selected for a demultiplexed bus. The format is | 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 | What: /sys/devices/platform/<i2c-demux-name>/current_master | 12 | What: /sys/devices/platform/<i2c-demux-name>/current_master |
| 13 | Date: January 2016 | 13 | Date: January 2016 |
| @@ -12,6 +12,7 @@ Contact: "Maxim Mikityanskiy <maxtram95@gmail.com>" · 11 unmodified lines | |||
| 12 | Description: | 12 | Description: |
| 13 | Change fan mode | 13 | Change fan mode |
| 14 | There are four available modes: | 14 | There are four available modes: |
| 15 | |||
| 15 | * 0 -> Super Silent Mode | 16 | * 0 -> Super Silent Mode |
| 16 | * 1 -> Standard Mode | 17 | * 1 -> Standard Mode |
| 17 | * 2 -> Dust Cleaning | 18 | * 2 -> Dust Cleaning |
| @@ -32,9 +33,11 @@ KernelVersion: 4.18 · 14 unmodified lines | |||
| 32 | Contact: "Oleg Keri <ezhi99@gmail.com>" | 33 | Contact: "Oleg Keri <ezhi99@gmail.com>" |
| 33 | Description: | 34 | Description: |
| 34 | Control fn-lock mode. | 35 | Control fn-lock mode. |
| 36 | |||
| 35 | * 1 -> Switched On | 37 | * 1 -> Switched On |
| 36 | * 0 -> Switched Off | 38 | * 0 -> Switched Off |
| 37 | 39 | ||
| 38 | For example: | 40 | For example:: |
| 39 | # echo "0" > \ | 41 | |
| 40 | /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock | 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 | of 0 and userspace can signal SBL to update firmware, | 8 | of 0 and userspace can signal SBL to update firmware, |
| 9 | on next reboot, by writing a value of 1. | 9 | on next reboot, by writing a value of 1. |
| 10 | There are two available states: | 10 | There are two available states: |
| 11 | |||
| 11 | * 0 -> Skip firmware update while rebooting | 12 | * 0 -> Skip firmware update while rebooting |
| 12 | * 1 -> Attempt firmware update on next reboot | 13 | * 1 -> Attempt firmware update on next reboot |
| @@ -7,5 +7,6 @@ Description: · 6 unmodified lines | |||
| 7 | Thunderbolt controllers to turn on or off when no | 7 | Thunderbolt controllers to turn on or off when no |
| 8 | devices are connected (write-only) | 8 | devices are connected (write-only) |
| 9 | There are two available states: | 9 | There are two available states: |
| 10 | |||
| 10 | * 0 -> Force power disabled | 11 | * 0 -> Force power disabled |
| 11 | * 1 -> Force power enabled | 12 | * 1 -> Force power enabled |
| @@ -5,6 +5,7 @@ Contact: "Pavan Savoy" <pavan_savoy@ti.com> · 4 unmodified lines | |||
| 5 | Description: | 5 | Description: |
| 6 | Name of the UART device at which the WL128x chip | 6 | Name of the UART device at which the WL128x chip |
| 7 | is connected. example: "/dev/ttyS0". | 7 | is connected. example: "/dev/ttyS0". |
| 8 | |||
| 8 | The device name flows down to architecture specific board | 9 | The device name flows down to architecture specific board |
| 9 | initialization file from the SFI/ATAGS bootloader | 10 | initialization file from the SFI/ATAGS bootloader |
| 10 | firmware. The name exposed is read from the user-space | 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 | Description: | 5 | Description: |
| 6 | The Life-cycle state of the SoC, which could be one of the | 6 | The Life-cycle state of the SoC, which could be one of the |
| 7 | following values. | 7 | following values. |
| 8 | Production - Production state and can be updated to secure | 8 | |
| 9 | GA Secured - Secure chip and not able to change state | 9 | ============== ============================================= |
| 10 | GA Non-Secured - Non-Secure chip and not able to change state | 10 | Production Production state and can be updated to secure |
| 11 | RMA - Return Merchandise Authorization | 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 | What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog | 16 | What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog |
| 14 | Date: Oct 2019 | 17 | Date: Oct 2019 |
| @@ -25,10 +28,13 @@ KernelVersion: 5.5 · 10 unmodified lines | |||
| 25 | Contact: "Liming Sun <lsun@mellanox.com>" | 28 | Contact: "Liming Sun <lsun@mellanox.com>" |
| 26 | Description: | 29 | Description: |
| 27 | The source of the boot stream for the next reset. It could be | 30 | The source of the boot stream for the next reset. It could be |
| 28 | one of the following values. | 31 | one of the following values: |
| 29 | external - boot from external source (USB or PCIe) | 32 | |
| 30 | emmc - boot from the onchip eMMC | 33 | =========== =============================================== |
| 31 | emmc_legacy - boot from the onchip eMMC in legacy (slow) mode | 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 | What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action | 39 | What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action |
| 34 | Date: Oct 2019 | 40 | Date: Oct 2019 |
| @@ -38,11 +44,14 @@ Description: · 3 unmodified lines | |||
| 38 | Update the source of the boot stream after next reset. It could | 44 | Update the source of the boot stream after next reset. It could |
| 39 | be one of the following values and will be applied after next | 45 | be one of the following values and will be applied after next |
| 40 | reset. | 46 | reset. |
| 41 | external - boot from external source (USB or PCIe) | 47 | |
| 42 | emmc - boot from the onchip eMMC | 48 | =========== =============================================== |
| 43 | emmc_legacy - boot from the onchip eMMC in legacy (slow) mode | 49 | external boot from external source (USB or PCIe) |
| 44 | swap_emmc - swap the primary / secondary boot partition | 50 | emmc boot from the onchip eMMC |
| 45 | none - cancel the action | 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 | What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state | 56 | What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state |
| 48 | Date: Oct 2019 | 57 | Date: Oct 2019 |
| @@ -50,9 +59,12 @@ KernelVersion: 5.5 · 1 unmodified line | |||
| 50 | Contact: "Liming Sun <lsun@mellanox.com>" | 59 | Contact: "Liming Sun <lsun@mellanox.com>" |
| 51 | Description: | 60 | Description: |
| 52 | The state of eFuse versions with the following values. | 61 | The state of eFuse versions with the following values. |
| 53 | InUse - burnt, valid and currently in use | 62 | |
| 54 | Used - burnt and valid | 63 | ======= =============================================== |
| 55 | Free - not burnt and free to use | 64 | InUse burnt, valid and currently in use |
| 56 | Skipped - not burnt but not free (skipped) | 65 | Used burnt and valid |
| 57 | Wasted - burnt and invalid | 66 | Free not burnt and free to use |
| 58 | Invalid - not burnt but marked as valid (error state). | 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 | The file can show/change the phy mode for role swap of usb. | 7 | The file can show/change the phy mode for role swap of usb. |
| 8 | 8 | ||
| 9 | Write the following strings to change the mode: | 9 | Write the following strings to change the mode: |
| 10 | "host" - switching mode from peripheral to host. | 10 | |
| 11 | "peripheral" - switching mode from host to peripheral. | 11 | - "host" - switching mode from peripheral to host. |
| 12 | - "peripheral" - switching mode from host to peripheral. | ||
| 12 | 13 | ||
| 13 | Read the file, then it shows the following strings: | 14 | Read the file, then it shows the following strings: |
| 14 | "host" - The mode is host now. | 15 | |
| 15 | "peripheral" - The mode is peripheral now. | 16 | - "host" - The mode is host now. |
| 17 | - "peripheral" - The mode is peripheral now. | ||
| @@ -7,9 +7,11 @@ Description: · 6 unmodified lines | |||
| 7 | The file can show/change the drd mode of usb. | 7 | The file can show/change the drd mode of usb. |
| 8 | 8 | ||
| 9 | Write the following string to change the mode: | 9 | Write the following string to change the mode: |
| 10 | "host" - switching mode from peripheral to host. | 10 | |
| 11 | "peripheral" - switching mode from host to peripheral. | 11 | - "host" - switching mode from peripheral to host. |
| 12 | - "peripheral" - switching mode from host to peripheral. | ||
| 12 | 13 | ||
| 13 | Read the file, then it shows the following strings: | 14 | Read the file, then it shows the following strings: |
| 14 | "host" - The mode is host now. | 15 | |
| 15 | "peripheral" - The mode is peripheral now. | 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 | Description: | 5 | Description: |
| 6 | LPE Firmware version for SST driver on all atom | 6 | LPE Firmware version for SST driver on all atom |
| 7 | plaforms (BYT/CHT/Merrifield/BSW). | 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 | "FW not yet loaded" | 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 | "v01.aa.bb.cc" | 14 | "v01.aa.bb.cc" |
| 15 | |||
| 12 | aa: Major version is reflecting SoC version: | 16 | aa: Major version is reflecting SoC version: |
| 17 | |||
| 18 | === ============= | ||
| 13 | 0d: BYT FW | 19 | 0d: BYT FW |
| 14 | 0b: BSW FW | 20 | 0b: BSW FW |
| 15 | 07: Merrifield FW | 21 | 07: Merrifield FW |
| 22 | === ============= | ||
| 23 | |||
| 16 | bb: Minor version | 24 | bb: Minor version |
| 25 | |||
| 17 | cc: Build version | 26 | cc: Build version |
| @@ -16,10 +16,13 @@ Contact: Krzysztof Opasiak <k.opasiak@samsung.com> · 15 unmodified lines | |||
| 16 | Description: | 16 | Description: |
| 17 | Current status of the device. | 17 | Current status of the device. |
| 18 | Allowed values: | 18 | Allowed values: |
| 19 | 1 - Device is available and can be exported | 19 | |
| 20 | 2 - Device is currently exported | 20 | == ========================================== |
| 21 | 3 - Fatal error occurred during communication | 21 | 1 Device is available and can be exported |
| 22 | with peer | 22 | 2 Device is currently exported |
| 23 | 3 Fatal error occurred during communication | ||
| 24 | with peer | ||
| 25 | == ========================================== | ||
| 23 | 26 | ||
| 24 | What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd | 27 | What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd |
| 25 | Date: April 2016 | 28 | Date: April 2016 |
| @@ -39,6 +39,7 @@ Description: · 38 unmodified lines | |||
| 39 | which affects charging via the special USB PowerShare port | 39 | which affects charging via the special USB PowerShare port |
| 40 | (marked with a small lightning bolt or battery icon) when in | 40 | (marked with a small lightning bolt or battery icon) when in |
| 41 | low power states: | 41 | low power states: |
| 42 | |||
| 42 | - In S0, the port will always provide power. | 43 | - In S0, the port will always provide power. |
| 43 | - In S0ix, if usb_charge is enabled, then power will be | 44 | - In S0ix, if usb_charge is enabled, then power will be |
| 44 | supplied to the port when on AC or if battery is > 50%. | 45 | supplied to the port when on AC or if battery is > 50%. |
| @@ -47,14 +47,18 @@ Description: · 46 unmodified lines | |||
| 47 | suspend-to-disk mechanism. Reading from this file returns | 47 | suspend-to-disk mechanism. Reading from this file returns |
| 48 | the name of the method by which the system will be put to | 48 | the name of the method by which the system will be put to |
| 49 | sleep on the next suspend. There are four methods supported: | 49 | sleep on the next suspend. There are four methods supported: |
| 50 | |||
| 50 | 'firmware' - means that the memory image will be saved to disk | 51 | 'firmware' - means that the memory image will be saved to disk |
| 51 | by some firmware, in which case we also assume that the | 52 | by some firmware, in which case we also assume that the |
| 52 | firmware will handle the system suspend. | 53 | firmware will handle the system suspend. |
| 54 | |||
| 53 | 'platform' - the memory image will be saved by the kernel and | 55 | 'platform' - the memory image will be saved by the kernel and |
| 54 | the system will be put to sleep by the platform driver (e.g. | 56 | the system will be put to sleep by the platform driver (e.g. |
| 55 | ACPI or other PM registers). | 57 | ACPI or other PM registers). |
| 58 | |||
| 56 | 'shutdown' - the memory image will be saved by the kernel and | 59 | 'shutdown' - the memory image will be saved by the kernel and |
| 57 | the system will be powered off. | 60 | the system will be powered off. |
| 61 | |||
| 58 | 'reboot' - the memory image will be saved by the kernel and | 62 | 'reboot' - the memory image will be saved by the kernel and |
| 59 | the system will be rebooted. | 63 | the system will be rebooted. |
| 60 | 64 | ||
| @@ -74,12 +78,12 @@ Description: · 13 unmodified lines | |||
| 74 | The suspend-to-disk method may be chosen by writing to this | 78 | The suspend-to-disk method may be chosen by writing to this |
| 75 | file one of the accepted strings: | 79 | file one of the accepted strings: |
| 76 | 80 | ||
| 77 | 'firmware' | 81 | - 'firmware' |
| 78 | 'platform' | 82 | - 'platform' |
| 79 | 'shutdown' | 83 | - 'shutdown' |
| 80 | 'reboot' | 84 | - 'reboot' |
| 81 | 'testproc' | 85 | - 'testproc' |
| 82 | 'test' | 86 | - 'test' |
| 83 | 87 | ||
| 84 | It will only change to 'firmware' or 'platform' if the system | 88 | It will only change to 'firmware' or 'platform' if the system |
| 85 | supports that. | 89 | supports that. |
| @@ -114,9 +118,9 @@ Description: · 28 unmodified lines | |||
| 114 | string representing a nonzero integer into it. | 118 | string representing a nonzero integer into it. |
| 115 | 119 | ||
| 116 | To use this debugging feature you should attempt to suspend | 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 | If you do not get any matches (or they appear to be false | 125 | If you do not get any matches (or they appear to be false |
| 122 | positives), it is possible that the last PM event point | 126 | positives), it is possible that the last PM event point |
| @@ -244,6 +248,7 @@ Description: · 121 unmodified lines | |||
| 244 | wakeup sources created with the help of /sys/power/wake_lock. | 248 | wakeup sources created with the help of /sys/power/wake_lock. |
| 245 | When a string is written to /sys/power/wake_unlock, it will be | 249 | When a string is written to /sys/power/wake_unlock, it will be |
| 246 | assumed to represent the name of a wakeup source to deactivate. | 250 | assumed to represent the name of a wakeup source to deactivate. |
| 251 | |||
| 247 | If a wakeup source object of that name exists and is active at | 252 | If a wakeup source object of that name exists and is active at |
| 248 | the moment, it will be deactivated. | 253 | the moment, it will be deactivated. |
| 249 | 254 | ||
| @@ -5,7 +5,7 @@ Description: · 4 unmodified lines | |||
| 5 | /sys/kernel/profiling is the runtime equivalent | 5 | /sys/kernel/profiling is the runtime equivalent |
| 6 | of the boot-time profile= option. | 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 | echo 2 > /sys/kernel/profiling | 10 | echo 2 > /sys/kernel/profiling |
| 11 | 11 | ||
| @@ -69,7 +69,7 @@ Description: · 68 unmodified lines | |||
| 69 | pin offered by the PTP hardware clock. The file name | 69 | pin offered by the PTP hardware clock. The file name |
| 70 | is the hardware dependent pin name. Reading from this | 70 | is the hardware dependent pin name. Reading from this |
| 71 | file produces two numbers, the assigned function (see | 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 | and the channel number. The function and channel | 73 | and the channel number. The function and channel |
| 74 | assignment may be changed by two writing numbers into | 74 | assignment may be changed by two writing numbers into |
| 75 | the file. | 75 | the file. |
| @@ -6,42 +6,46 @@ Description: · 5 unmodified lines | |||
| 6 | Enable passing additional variables for synthetic uevents that | 6 | Enable passing additional variables for synthetic uevents that |
| 7 | are generated by writing /sys/.../uevent file. | 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 | 11 | ACTION [UUID [KEY=VALUE ...] |
| 12 | ("add", "change", "remove"). There is no change compared to | 12 | |
| 13 | previous functionality here. The rest of the extended format | 13 | The ACTION is compulsory - it is the name of the uevent |
| 14 | is optional. | 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 | You need to pass UUID first before any KEY=VALUE pairs. | 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 | format where 'x' is a hex digit. The UUID is considered to be | 20 | format where 'x' is a hex digit. The UUID is considered to be |
| 19 | a transaction identifier so it's possible to use the same UUID | 21 | a transaction identifier so it's possible to use the same UUID |
| 20 | value for one or more synthetic uevents in which case we | 22 | value for one or more synthetic uevents in which case we |
| 21 | logically group these uevents together for any userspace | 23 | logically group these uevents together for any userspace |
| 22 | listeners. The UUID value appears in uevent as | 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 | variable. | 26 | variable. |
| 25 | 27 | ||
| 26 | If UUID is not passed in, the generated synthetic uevent gains | 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 | The KEY=VALUE pairs can contain alphanumeric characters only. | 31 | The KEY=VALUE pairs can contain alphanumeric characters only. |
| 32 | |||
| 30 | It's possible to define zero or more pairs - each pair is then | 33 | It's possible to define zero or more pairs - each pair is then |
| 31 | delimited by a space character ' '. Each pair appears in | 34 | delimited by a space character ' '. Each pair appears in |
| 32 | synthetic uevent as "SYNTH_ARG_KEY=VALUE". That means the KEY | 35 | synthetic uevent as ``SYNTH_ARG_KEY=VALUE``. That means the KEY |
| 33 | name gains "SYNTH_ARG_" prefix to avoid possible collisions | 36 | name gains ``SYNTH_ARG_`` prefix to avoid possible collisions |
| 34 | with existing variables. | 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 | add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc | 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 | ACTION=add | 45 | ACTION=add |
| 43 | SYNTH_ARG_A=1 | 46 | SYNTH_ARG_A=1 |
| 44 | SYNTH_ARG_B=abc | 47 | SYNTH_ARG_B=abc |
| 45 | SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed | 48 | SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed |
| 49 | |||
| 46 | Users: | 50 | Users: |
| 47 | udev, userspace tools generating synthetic uevents | 51 | udev, userspace tools generating synthetic uevents |
| @@ -45,7 +45,8 @@ Description: · 44 unmodified lines | |||
| 45 | 7. Device is unplugged. | 45 | 7. Device is unplugged. |
| 46 | 46 | ||
| 47 | References: | 47 | References: |
| 48 | [WUSB-AM] Association Models Supplement to the | 48 | [WUSB-AM] |
| 49 | Association Models Supplement to the | ||
| 49 | Certified Wireless Universal Serial Bus | 50 | Certified Wireless Universal Serial Bus |
| 50 | Specification, version 1.0. | 51 | Specification, version 1.0. |
| 51 | 52 | ||
| @@ -3,44 +3,52 @@ Date: 2020-01-14 · 2 unmodified lines | |||
| 3 | KernelVersion: 5.6 | 3 | KernelVersion: 5.6 |
| 4 | Contact: linux-usb@vger.kernel.org | 4 | Contact: linux-usb@vger.kernel.org |
| 5 | Description: There are two USB charger states: | 5 | Description: There are two USB charger states: |
| 6 | USB_CHARGER_ABSENT | 6 | |
| 7 | USB_CHARGER_PRESENT | 7 | - USB_CHARGER_ABSENT |
| 8 | - USB_CHARGER_PRESENT | ||
| 9 | |||
| 8 | There are five USB charger types: | 10 | There are five USB charger types: |
| 9 | USB_CHARGER_UNKNOWN_TYPE: Charger type is unknown | 11 | |
| 10 | USB_CHARGER_SDP_TYPE: Standard Downstream Port | 12 | ======================== ========================== |
| 11 | USB_CHARGER_CDP_TYPE: Charging Downstream Port | 13 | USB_CHARGER_UNKNOWN_TYPE Charger type is unknown |
| 12 | USB_CHARGER_DCP_TYPE: Dedicated Charging Port | 14 | USB_CHARGER_SDP_TYPE Standard Downstream Port |
| 13 | USB_CHARGER_ACA_TYPE: Accessory Charging Adapter | 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 | https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement | 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 | 22 | Here are two examples taken using ``udevadm monitor -p`` when |
| 17 | USB charger is online: | 23 | USB charger is online:: |
| 18 | UDEV change /devices/soc0/usbphynop1 (platform) | 24 | |
| 19 | ACTION=change | 25 | UDEV change /devices/soc0/usbphynop1 (platform) |
| 20 | DEVPATH=/devices/soc0/usbphynop1 | 26 | ACTION=change |
| 21 | DRIVER=usb_phy_generic | 27 | DEVPATH=/devices/soc0/usbphynop1 |
| 22 | MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | 28 | DRIVER=usb_phy_generic |
| 23 | OF_COMPATIBLE_0=usb-nop-xceiv | 29 | MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv |
| 24 | OF_COMPATIBLE_N=1 | 30 | OF_COMPATIBLE_0=usb-nop-xceiv |
| 25 | OF_FULLNAME=/usbphynop1 | 31 | OF_COMPATIBLE_N=1 |
| 26 | OF_NAME=usbphynop1 | 32 | OF_FULLNAME=/usbphynop1 |
| 27 | SEQNUM=2493 | 33 | OF_NAME=usbphynop1 |
| 28 | SUBSYSTEM=platform | 34 | SEQNUM=2493 |
| 29 | USB_CHARGER_STATE=USB_CHARGER_PRESENT | 35 | SUBSYSTEM=platform |
| 30 | USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE | 36 | USB_CHARGER_STATE=USB_CHARGER_PRESENT |
| 31 | USEC_INITIALIZED=227422826 | 37 | USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE |
| 32 | 38 | USEC_INITIALIZED=227422826 | |
| 33 | USB charger is offline: | 39 | |
| 34 | KERNEL change /devices/soc0/usbphynop1 (platform) | 40 | USB charger is offline:: |
| 35 | ACTION=change | 41 | |
| 36 | DEVPATH=/devices/soc0/usbphynop1 | 42 | KERNEL change /devices/soc0/usbphynop1 (platform) |
| 37 | DRIVER=usb_phy_generic | 43 | ACTION=change |
| 38 | MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv | 44 | DEVPATH=/devices/soc0/usbphynop1 |
| 39 | OF_COMPATIBLE_0=usb-nop-xceiv | 45 | DRIVER=usb_phy_generic |
| 40 | OF_COMPATIBLE_N=1 | 46 | MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv |
| 41 | OF_FULLNAME=/usbphynop1 | 47 | OF_COMPATIBLE_0=usb-nop-xceiv |
| 42 | OF_NAME=usbphynop1 | 48 | OF_COMPATIBLE_N=1 |
| 43 | SEQNUM=2494 | 49 | OF_FULLNAME=/usbphynop1 |
| 44 | SUBSYSTEM=platform | 50 | OF_NAME=usbphynop1 |
| 45 | USB_CHARGER_STATE=USB_CHARGER_ABSENT | 51 | SEQNUM=2494 |
| 46 | USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE | 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 | longer functional a uevent will be raised. The uevent will | 6 | longer functional a uevent will be raised. The uevent will |
| 7 | contain ACTION=offline and ERROR=DEAD. | 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) | 11 | KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) |
| 12 | ACTION=offline | 12 | ACTION=offline |
| 13 | BUSNUM=002 | 13 | BUSNUM=002 |
| 14 | DEVNAME=/dev/bus/usb/002/001 | 14 | DEVNAME=/dev/bus/usb/002/001 |
| 15 | DEVNUM=001 | 15 | DEVNUM=001 |
| 16 | DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 | 16 | DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 |
| 17 | DEVTYPE=usb_device | 17 | DEVTYPE=usb_device |
| 18 | DRIVER=usb | 18 | DRIVER=usb |
| 19 | ERROR=DEAD | 19 | ERROR=DEAD |
| 20 | MAJOR=189 | 20 | MAJOR=189 |
| 21 | MINOR=128 | 21 | MINOR=128 |
| 22 | PRODUCT=1d6b/2/414 | 22 | PRODUCT=1d6b/2/414 |
| 23 | SEQNUM=2168 | 23 | SEQNUM=2168 |
| 24 | SUBSYSTEM=usb | 24 | SUBSYSTEM=usb |
| 25 | TYPE=9/0/1 | 25 | TYPE=9/0/1 |
| 26 | 26 | ||
| 27 | Users: chromium-os-dev@chromium.org | 27 | Users: chromium-os-dev@chromium.org |
| @@ -10,4 +10,14 @@ config WARN_MISSING_DOCUMENTS · 9 unmodified lines | |||
| 10 | 10 | ||
| 11 | If unsure, select 'N'. | 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 | $(shell $(srctree)/scripts/documentation-file-ref-check --warn) | 10 | $(shell $(srctree)/scripts/documentation-file-ref-check --warn) |
| 11 | endif | 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 | # You can set these variables from the command line. | 18 | # You can set these variables from the command line. |
| 14 | SPHINXBUILD = sphinx-build | 19 | SPHINXBUILD = sphinx-build |
| 15 | SPHINXOPTS = | 20 | SPHINXOPTS = |
| @@ -21,6 +26,10 @@ BUILDDIR = $(obj)/output · 5 unmodified lines | |||
| 21 | PDFLATEX = xelatex | 26 | PDFLATEX = xelatex |
| 22 | LATEXOPTS = -interaction=batchmode | 27 | LATEXOPTS = -interaction=batchmode |
| 23 | 28 | ||
| 29 | ifeq ($(KBUILD_VERBOSE),0) | ||
| 30 | SPHINXOPTS += "-q" | ||
| 31 | endif | ||
| 32 | |||
| 24 | # User-friendly check for sphinx-build | 33 | # User-friendly check for sphinx-build |
| 25 | HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi) | 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 | ``->dynticks_nesting`` field is incremented up from zero, the | 963 | ``->dynticks_nesting`` field is incremented up from zero, the |
| 964 | ``->dynticks_nmi_nesting`` field is set to a large positive number, and | 964 | ``->dynticks_nmi_nesting`` field is set to a large positive number, and |
| 965 | whenever the ``->dynticks_nesting`` field is decremented down to zero, | 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 | the number of misnested interrupts is not sufficient to overflow the | 967 | the number of misnested interrupts is not sufficient to overflow the |
| 968 | counter, this approach corrects the ``->dynticks_nmi_nesting`` field | 968 | counter, this approach corrects the ``->dynticks_nmi_nesting`` field |
| 969 | every time the corresponding CPU enters the idle loop from process | 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 | this sort of thing. | 2162 | this sort of thing. |
| 2163 | #. If a CPU is in a portion of the kernel that is absolutely positively | 2163 | #. If a CPU is in a portion of the kernel that is absolutely positively |
| 2164 | no-joking guaranteed to never execute any RCU read-side critical | 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 | sort of thing is used by some architectures for light-weight | 2166 | sort of thing is used by some architectures for light-weight |
| 2167 | exception handlers, which can then avoid the overhead of | 2167 | exception handlers, which can then avoid the overhead of |
| 2168 | ``rcu_irq_enter()`` and ``rcu_irq_exit()`` at exception entry and | 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 | not have this property, given that any point in the code outside of an | 2431 | not have this property, given that any point in the code outside of an |
| 2432 | RCU read-side critical section can be a quiescent state. Therefore, | 2432 | RCU read-side critical section can be a quiescent state. Therefore, |
| 2433 | *RCU-sched* was created, which follows “classic” RCU in that an | 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 | handlers. In kernels built with ``CONFIG_PREEMPT=n``, the RCU and | 2435 | handlers. In kernels built with ``CONFIG_PREEMPT=n``, the RCU and |
| 2436 | RCU-sched APIs have identical implementations, while kernels built with | 2436 | RCU-sched APIs have identical implementations, while kernels built with |
| 2437 | ``CONFIG_PREEMPT=y`` provide a separate implementation for each. | 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 | There are at least three flavors of RCU usage in the Linux kernel. The diagram | 361 | There are at least three flavors of RCU usage in the Linux kernel. The diagram |
| 362 | above shows the most common one. On the updater side, the rcu_assign_pointer(), | 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 | flavors. However for protection (on the reader side), the primitives used vary | 364 | flavors. However for protection (on the reader side), the primitives used vary |
| 365 | depending on the flavor: | 365 | depending on the flavor: |
| 366 | 366 | ||
| @@ -3,9 +3,9 @@ SafeSetID · 2 unmodified lines | |||
| 3 | ========= | 3 | ========= |
| 4 | SafeSetID is an LSM module that gates the setid family of syscalls to restrict | 4 | SafeSetID is an LSM module that gates the setid family of syscalls to restrict |
| 5 | UID/GID transitions from a given UID/GID to only those approved by a | 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 | from obtaining auxiliary privileges associated with CAP_SET{U/G}ID, such as | 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 | Background | 11 | Background |
| @@ -98,10 +98,21 @@ Directions for use · 86 unmodified lines | |||
| 98 | ================== | 98 | ================== |
| 99 | This LSM hooks the setid syscalls to make sure transitions are allowed if an | 99 | This LSM hooks the setid syscalls to make sure transitions are allowed if an |
| 100 | applicable restriction policy is in place. Policies are configured through | 100 | applicable restriction policy is in place. Policies are configured through |
| 101 | securityfs by writing to the safesetid/add_whitelist_policy and | 101 | securityfs by writing to the safesetid/uid_allowlist_policy and |
| 102 | safesetid/flush_whitelist_policies files at the location where securityfs is | 102 | safesetid/gid_allowlist_policy files at the location where securityfs is |
| 103 | mounted. The format for adding a policy is '<UID>:<UID>', using literal | 103 | mounted. The format for adding a policy is '<UID>:<UID>' or '<GID>:<GID>', |
| 104 | numbers, such as '123:456'. To flush the policies, any write to the file is | 104 | using literal numbers, and ending with a newline character such as '123:456\n'. |
| 105 | sufficient. Again, configuring a policy for a UID will prevent that UID from | 105 | Writing an empty string "" will flush the policy. Again, configuring a policy |
| 106 | obtaining auxiliary setid privileges, such as allowing a user to set up user | 106 | for a UID/GID will prevent that UID/GID from obtaining auxiliary setid |
| 107 | namespace UID mappings. | 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 | static volatile sig_atomic_t stop; | 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; | 66 | (void) signr; |
| 67 | stop = 1; | 67 | stop = 1; |
| 68 | } | 68 | } |
| 69 | |||
| 69 | static unsigned long hog (unsigned long niters) | 70 | static unsigned long hog (unsigned long niters) |
| 70 | { | 71 | { |
| 71 | stop = 0; | 72 | stop = 0; |
| 72 | while (!stop && --niters); | 73 | while (!stop && --niters); |
| 73 | return niters; | 74 | return niters; |
| 74 | } | 75 | } |
| 76 | |||
| 75 | int main (void) | 77 | int main (void) |
| 76 | { | 78 | { |
| 77 | int i; | 79 | int i; |
| 78 | struct itimerval it = { .it_interval = { .tv_sec = 0, .tv_usec = 1 }, | 80 | struct itimerval it = { |
| 79 | .it_value = { .tv_sec = 0, .tv_usec = 1 } }; | 81 | .it_interval = { .tv_sec = 0, .tv_usec = 1 }, |
| 80 | sigset_t set; | 82 | .it_value = { .tv_sec = 0, .tv_usec = 1 } }; |
| 81 | unsigned long v[HIST]; | 83 | sigset_t set; |
| 82 | double tmp = 0.0; | 84 | unsigned long v[HIST]; |
| 83 | unsigned long n; | 85 | double tmp = 0.0; |
| 84 | signal (SIGALRM, &sighandler); | 86 | unsigned long n; |
| 85 | setitimer (ITIMER_REAL, &it, NULL); | 87 | signal(SIGALRM, &sighandler); |
| 86 | 88 | setitimer(ITIMER_REAL, &it, NULL); | |
| 87 | hog (ULONG_MAX); | 89 | |
| 88 | for (i = 0; i < HIST; ++i) v[i] = ULONG_MAX - hog (ULONG_MAX); | 90 | hog (ULONG_MAX); |
| 89 | for (i = 0; i < HIST; ++i) tmp += v[i]; | 91 | for (i = 0; i < HIST; ++i) v[i] = ULONG_MAX - hog(ULONG_MAX); |
| 90 | tmp /= HIST; | 92 | for (i = 0; i < HIST; ++i) tmp += v[i]; |
| 91 | n = tmp - (tmp / 3.0); | 93 | tmp /= HIST; |
| 92 | 94 | n = tmp - (tmp / 3.0); | |
| 93 | sigemptyset (&set); | 95 | |
| 94 | sigaddset (&set, SIGALRM); | 96 | sigemptyset(&set); |
| 95 | 97 | sigaddset(&set, SIGALRM); | |
| 96 | for (;;) { | 98 | |
| 97 | hog (n); | 99 | for (;;) { |
| 98 | sigwait (&set, &i); | 100 | hog(n); |
| 99 | } | 101 | sigwait(&set, &i); |
| 100 | return 0; | 102 | } |
| 103 | return 0; | ||
| 101 | } | 104 | } |
| 102 | 105 | ||
| 103 | 106 | ||
| @@ -18,6 +18,8 @@ etc. · 17 unmodified lines | |||
| 18 | devices | 18 | devices |
| 19 | sysctl/index | 19 | sysctl/index |
| 20 | 20 | ||
| 21 | abi | ||
| 22 | |||
| 21 | This section describes CPU vulnerabilities and their mitigations. | 23 | This section describes CPU vulnerabilities and their mitigations. |
| 22 | 24 | ||
| 23 | .. toctree:: | 25 | .. toctree:: |
| @@ -1343,12 +1343,18 @@ · 1342 unmodified lines | |||
| 1343 | current integrity status. | 1343 | current integrity status. |
| 1344 | 1344 | ||
| 1345 | failslab= | 1345 | failslab= |
| 1346 | fail_usercopy= | ||
| 1346 | fail_page_alloc= | 1347 | fail_page_alloc= |
| 1347 | fail_make_request=[KNL] | 1348 | fail_make_request=[KNL] |
| 1348 | General fault injection mechanism. | 1349 | General fault injection mechanism. |
| 1349 | Format: <interval>,<probability>,<space>,<times> | 1350 | Format: <interval>,<probability>,<space>,<times> |
| 1350 | See also Documentation/fault-injection/. | 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 | floppy= [HW] | 1358 | floppy= [HW] |
| 1353 | See Documentation/admin-guide/blockdev/floppy.rst. | 1359 | See Documentation/admin-guide/blockdev/floppy.rst. |
| 1354 | 1360 | ||
| @@ -2852,6 +2858,8 @@ · 1497 unmodified lines | |||
| 2852 | mds=off [X86] | 2858 | mds=off [X86] |
| 2853 | tsx_async_abort=off [X86] | 2859 | tsx_async_abort=off [X86] |
| 2854 | kvm.nx_huge_pages=off [X86] | 2860 | kvm.nx_huge_pages=off [X86] |
| 2861 | no_entry_flush [PPC] | ||
| 2862 | no_uaccess_flush [PPC] | ||
| 2855 | 2863 | ||
| 2856 | Exceptions: | 2864 | Exceptions: |
| 2857 | This does not have any effect on | 2865 | This does not have any effect on |
| @@ -3089,6 +3097,10 @@ · 231 unmodified lines | |||
| 3089 | and gids from such clients. This is intended to ease | 3097 | and gids from such clients. This is intended to ease |
| 3090 | migration from NFSv2/v3. | 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 | nmi_debug= [KNL,SH] Specify one or more actions to take | 3104 | nmi_debug= [KNL,SH] Specify one or more actions to take |
| 3093 | when a NMI is triggered. | 3105 | when a NMI is triggered. |
| 3094 | Format: [state][,regs][,debounce][,die] | 3106 | Format: [state][,regs][,debounce][,die] |
| @@ -3176,6 +3188,8 @@ · 81 unmodified lines | |||
| 3176 | 3188 | ||
| 3177 | noefi Disable EFI runtime services support. | 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 | noexec [IA-64] | 3193 | noexec [IA-64] |
| 3180 | 3194 | ||
| 3181 | noexec [X86] | 3195 | noexec [X86] |
| @@ -3225,6 +3239,9 @@ · 43 unmodified lines | |||
| 3225 | nospec_store_bypass_disable | 3239 | nospec_store_bypass_disable |
| 3226 | [HW] Disable all mitigations for the Speculative Store Bypass vulnerability | 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 | noxsave [BUGS=X86] Disables x86 extended register state save | 3245 | noxsave [BUGS=X86] Disables x86 extended register state save |
| 3229 | and restore using xsave. The kernel will fallback to | 3246 | and restore using xsave. The kernel will fallback to |
| 3230 | enabling legacy floating-point and sse state. | 3247 | enabling legacy floating-point and sse state. |
| @@ -4168,46 +4185,55 @@ · 937 unmodified lines | |||
| 4168 | This wake_up() will be accompanied by a | 4185 | This wake_up() will be accompanied by a |
| 4169 | WARN_ONCE() splat and an ftrace_dump(). | 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 | rcutree.sysrq_rcu= [KNL] | 4197 | rcutree.sysrq_rcu= [KNL] |
| 4172 | Commandeer a sysrq key to dump out Tree RCU's | 4198 | Commandeer a sysrq key to dump out Tree RCU's |
| 4173 | rcu_node tree with an eye towards determining | 4199 | rcu_node tree with an eye towards determining |
| 4174 | why a new grace period has not yet started. | 4200 | why a new grace period has not yet started. |
| 4175 | 4201 | ||
| 4176 | rcuperf.gp_async= [KNL] | 4202 | rcuscale.gp_async= [KNL] |
| 4177 | Measure performance of asynchronous | 4203 | Measure performance of asynchronous |
| 4178 | grace-period primitives such as call_rcu(). | 4204 | grace-period primitives such as call_rcu(). |
| 4179 | 4205 | ||
| 4180 | rcuperf.gp_async_max= [KNL] | 4206 | rcuscale.gp_async_max= [KNL] |
| 4181 | Specify the maximum number of outstanding | 4207 | Specify the maximum number of outstanding |
| 4182 | callbacks per writer thread. When a writer | 4208 | callbacks per writer thread. When a writer |
| 4183 | thread exceeds this limit, it invokes the | 4209 | thread exceeds this limit, it invokes the |
| 4184 | corresponding flavor of rcu_barrier() to allow | 4210 | corresponding flavor of rcu_barrier() to allow |
| 4185 | previously posted callbacks to drain. | 4211 | previously posted callbacks to drain. |
| 4186 | 4212 | ||
| 4187 | rcuperf.gp_exp= [KNL] | 4213 | rcuscale.gp_exp= [KNL] |
| 4188 | Measure performance of expedited synchronous | 4214 | Measure performance of expedited synchronous |
| 4189 | grace-period primitives. | 4215 | grace-period primitives. |
| 4190 | 4216 | ||
| 4191 | rcuperf.holdoff= [KNL] | 4217 | rcuscale.holdoff= [KNL] |
| 4192 | Set test-start holdoff period. The purpose of | 4218 | Set test-start holdoff period. The purpose of |
| 4193 | this parameter is to delay the start of the | 4219 | this parameter is to delay the start of the |
| 4194 | test until boot completes in order to avoid | 4220 | test until boot completes in order to avoid |
| 4195 | interference. | 4221 | interference. |
| 4196 | 4222 | ||
| 4197 | rcuperf.kfree_rcu_test= [KNL] | 4223 | rcuscale.kfree_rcu_test= [KNL] |
| 4198 | Set to measure performance of kfree_rcu() flooding. | 4224 | Set to measure performance of kfree_rcu() flooding. |
| 4199 | 4225 | ||
| 4200 | rcuperf.kfree_nthreads= [KNL] | 4226 | rcuscale.kfree_nthreads= [KNL] |
| 4201 | The number of threads running loops of kfree_rcu(). | 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 | Number of allocations and frees done in an iteration. | 4230 | Number of allocations and frees done in an iteration. |
| 4205 | 4231 | ||
| 4206 | rcuperf.kfree_loops= [KNL] | 4232 | rcuscale.kfree_loops= [KNL] |
| 4207 | Number of loops doing rcuperf.kfree_alloc_num number | 4233 | Number of loops doing rcuscale.kfree_alloc_num number |
| 4208 | of allocations and frees. | 4234 | of allocations and frees. |
| 4209 | 4235 | ||
| 4210 | rcuperf.nreaders= [KNL] | 4236 | rcuscale.nreaders= [KNL] |
| 4211 | Set number of RCU readers. The value -1 selects | 4237 | Set number of RCU readers. The value -1 selects |
| 4212 | N, where N is the number of CPUs. A value | 4238 | N, where N is the number of CPUs. A value |
| 4213 | "n" less than -1 selects N-n+1, where N is again | 4239 | "n" less than -1 selects N-n+1, where N is again |
| @@ -4216,23 +4242,23 @@ · 2 unmodified lines | |||
| 4216 | A value of "n" less than or equal to -N selects | 4242 | A value of "n" less than or equal to -N selects |
| 4217 | a single reader. | 4243 | a single reader. |
| 4218 | 4244 | ||
| 4219 | rcuperf.nwriters= [KNL] | 4245 | rcuscale.nwriters= [KNL] |
| 4220 | Set number of RCU writers. The values operate | 4246 | Set number of RCU writers. The values operate |
| 4221 | the same as for rcuperf.nreaders. | 4247 | the same as for rcuscale.nreaders. |
| 4222 | N, where N is the number of CPUs | 4248 | N, where N is the number of CPUs |
| 4223 | 4249 | ||
| 4224 | rcuperf.perf_type= [KNL] | 4250 | rcuscale.perf_type= [KNL] |
| 4225 | Specify the RCU implementation to test. | 4251 | Specify the RCU implementation to test. |
| 4226 | 4252 | ||
| 4227 | rcuperf.shutdown= [KNL] | 4253 | rcuscale.shutdown= [KNL] |
| 4228 | Shut the system down after performance tests | 4254 | Shut the system down after performance tests |
| 4229 | complete. This is useful for hands-off automated | 4255 | complete. This is useful for hands-off automated |
| 4230 | testing. | 4256 | testing. |
| 4231 | 4257 | ||
| 4232 | rcuperf.verbose= [KNL] | 4258 | rcuscale.verbose= [KNL] |
| 4233 | Enable additional printk() statements. | 4259 | Enable additional printk() statements. |
| 4234 | 4260 | ||
| 4235 | rcuperf.writer_holdoff= [KNL] | 4261 | rcuscale.writer_holdoff= [KNL] |
| 4236 | Write-side holdoff between grace periods, | 4262 | Write-side holdoff between grace periods, |
| 4237 | in microseconds. The default of zero says | 4263 | in microseconds. The default of zero says |
| 4238 | no holdoff. | 4264 | no holdoff. |
| @@ -4285,6 +4311,18 @@ · 46 unmodified lines | |||
| 4285 | are zero, rcutorture acts as if is interpreted | 4311 | are zero, rcutorture acts as if is interpreted |
| 4286 | they are all non-zero. | 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 | rcutorture.n_barrier_cbs= [KNL] | 4326 | rcutorture.n_barrier_cbs= [KNL] |
| 4289 | Set callbacks/threads for rcu_barrier() testing. | 4327 | Set callbacks/threads for rcu_barrier() testing. |
| 4290 | 4328 | ||
| @@ -4506,8 +4544,8 @@ · 215 unmodified lines | |||
| 4506 | refscale.shutdown= [KNL] | 4544 | refscale.shutdown= [KNL] |
| 4507 | Shut down the system at the end of the performance | 4545 | Shut down the system at the end of the performance |
| 4508 | test. This defaults to 1 (shut it down) when | 4546 | test. This defaults to 1 (shut it down) when |
| 4509 | rcuperf is built into the kernel and to 0 (leave | 4547 | refscale is built into the kernel and to 0 (leave |
| 4510 | it running) when rcuperf is built as a module. | 4548 | it running) when refscale is built as a module. |
| 4511 | 4549 | ||
| 4512 | refscale.verbose= [KNL] | 4550 | refscale.verbose= [KNL] |
| 4513 | Enable additional printk() statements. | 4551 | Enable additional printk() statements. |
| @@ -4653,6 +4691,98 @@ · 139 unmodified lines | |||
| 4653 | Format: integer between 0 and 10 | 4691 | Format: integer between 0 and 10 |
| 4654 | Default is 0. | 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 | skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate | 4786 | skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate |
| 4657 | xtime_lock contention on larger systems, and/or RCU lock | 4787 | xtime_lock contention on larger systems, and/or RCU lock |
| 4658 | contention on all systems with CONFIG_MAXSMP set. | 4788 | contention on all systems with CONFIG_MAXSMP set. |
| @@ -5847,6 +5977,21 @@ · 1188 unmodified lines | |||
| 5847 | improve timer resolution at the expense of processing | 5977 | improve timer resolution at the expense of processing |
| 5848 | more timer interrupts. | 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 | nopv= [X86,XEN,KVM,HYPER_V,VMWARE] | 5995 | nopv= [X86,XEN,KVM,HYPER_V,VMWARE] |
| 5851 | Disables the PV optimizations forcing the guest to run | 5996 | Disables the PV optimizations forcing the guest to run |
| 5852 | as generic guest with no PV drivers. Currently support | 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 | nfs-idmapper | 12 | nfs-idmapper |
| 13 | pnfs-block-server | 13 | pnfs-block-server |
| 14 | pnfs-scsi-server | 14 | pnfs-scsi-server |
| 15 | fault_injection | ||
| @@ -1,7 +1,6 @@ | |||
| 1 | .. SPDX-License-Identifier: GPL-2.0 | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| 2 | .. include:: <isonum.txt> | 2 | .. include:: <isonum.txt> |
| 3 | 3 | ||
| 4 | .. |struct cpufreq_policy| replace:: :c:type:`struct cpufreq_policy <cpufreq_policy>` | ||
| 5 | .. |intel_pstate| replace:: :doc:`intel_pstate <intel_pstate>` | 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 | all of those CPUs simultaneously. | 91 | all of those CPUs simultaneously. |
| 93 | 92 | ||
| 94 | Sets of CPUs sharing hardware P-state control interfaces are represented by | 93 | Sets of CPUs sharing hardware P-state control interfaces are represented by |
| 95 | ``CPUFreq`` as |struct cpufreq_policy| objects. For consistency, | 94 | ``CPUFreq`` as struct cpufreq_policy objects. For consistency, |
| 96 | |struct cpufreq_policy| is also used when there is only one CPU in the given | 95 | struct cpufreq_policy is also used when there is only one CPU in the given |
| 97 | set. | 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 | every CPU in the system, including CPUs that are currently offline. If multiple | 99 | every CPU in the system, including CPUs that are currently offline. If multiple |
| 101 | CPUs share the same hardware P-state control interface, all of the pointers | 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 | of its user space interface is based on the policy concept. | 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 | statistics of the given idle state. That information is exposed by the kernel | 478 | statistics of the given idle state. That information is exposed by the kernel |
| 479 | via ``sysfs``. | 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 | directory in ``sysfs``, where the number ``<N>`` is assigned to the given | 482 | directory in ``sysfs``, where the number ``<N>`` is assigned to the given |
| 483 | CPU at the initialization time. That directory contains a set of subdirectories | 483 | CPU at the initialization time. That directory contains a set of subdirectories |
| 484 | called :file:`state0`, :file:`state1` and so on, up to the number of idle state | 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 | residency. | 494 | residency. |
| 495 | 495 | ||
| 496 | ``below`` | 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 | a deeper idle state would have been a better match for the observed idle | 498 | a deeper idle state would have been a better match for the observed idle |
| 499 | duration. | 499 | duration. |
| 500 | 500 | ||
| @@ -154,17 +154,11 @@ Configurations for driver · 153 unmodified lines | |||
| 154 | Only a block device driver cares about these configurations. A block device | 154 | Only a block device driver cares about these configurations. A block device |
| 155 | driver uses ``register_pstore_blk`` to register to pstore/blk. | 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 | A non-block device driver uses ``register_pstore_device`` with | 157 | A non-block device driver uses ``register_pstore_device`` with |
| 161 | ``struct pstore_device_info`` to register to pstore/blk. | 158 | ``struct pstore_device_info`` to register to pstore/blk. |
| 162 | 159 | ||
| 163 | .. kernel-doc:: fs/pstore/blk.c | 160 | .. kernel-doc:: fs/pstore/blk.c |
| 164 | :identifiers: register_pstore_device | 161 | :export: |
| 165 | |||
| 166 | .. kernel-doc:: include/linux/pstore_blk.h | ||
| 167 | :identifiers: pstore_device_info | ||
| 168 | 162 | ||
| 169 | Compression and header | 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 | :internal: | 231 | :internal: |
| 238 | 232 | ||
| 239 | .. kernel-doc:: fs/pstore/blk.c | 233 | .. kernel-doc:: fs/pstore/blk.c |
| 240 | :export: | 234 | :internal: |
| 241 | 235 | ||
| 242 | .. kernel-doc:: include/linux/pstore_blk.h | 236 | .. kernel-doc:: include/linux/pstore_blk.h |
| 243 | :internal: | 237 | :internal: |
| @@ -321,11 +321,20 @@ fb_tunnels_only_for_init_net · 320 unmodified lines | |||
| 321 | ---------------------------- | 321 | ---------------------------- |
| 322 | 322 | ||
| 323 | Controls if fallback tunnels (like tunl0, gre0, gretap0, erspan0, | 323 | Controls if fallback tunnels (like tunl0, gre0, gretap0, erspan0, |
| 324 | sit0, ip6tnl0, ip6gre0) are automatically created when a new | 324 | sit0, ip6tnl0, ip6gre0) are automatically created. There are 3 possibilities |
| 325 | network namespace is created, if corresponding tunnel is present | 325 | (a) value = 0; respective fallback tunnels are created when module is |
| 326 | in initial network namespace. | 326 | loaded in every net namespaces (backward compatible behavior). |
| 327 | If set to 1, these devices are not automatically created, and | 327 | (b) value = 1; [kcmd value: initns] respective fallback tunnels are |
| 328 | user space is responsible for creating them if needed. | 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 | Default : 0 (for compatibility reasons) | 339 | Default : 0 (for compatibility reasons) |
| 331 | 340 | ||
| @@ -27,6 +27,7 @@ Currently, these files are in /proc/sys/vm: · 26 unmodified lines | |||
| 27 | - admin_reserve_kbytes | 27 | - admin_reserve_kbytes |
| 28 | - block_dump | 28 | - block_dump |
| 29 | - compact_memory | 29 | - compact_memory |
| 30 | - compaction_proactiveness | ||
| 30 | - compact_unevictable_allowed | 31 | - compact_unevictable_allowed |
| 31 | - dirty_background_bytes | 32 | - dirty_background_bytes |
| 32 | - dirty_background_ratio | 33 | - dirty_background_ratio |
| @@ -37,6 +38,7 @@ Currently, these files are in /proc/sys/vm: · 4 unmodified lines | |||
| 37 | - dirty_writeback_centisecs | 38 | - dirty_writeback_centisecs |
| 38 | - drop_caches | 39 | - drop_caches |
| 39 | - extfrag_threshold | 40 | - extfrag_threshold |
| 41 | - highmem_is_dirtyable | ||
| 40 | - hugetlb_shm_group | 42 | - hugetlb_shm_group |
| 41 | - laptop_mode | 43 | - laptop_mode |
| 42 | - legacy_va_layout | 44 | - legacy_va_layout |
| @@ -210,6 +210,28 @@ When mounting an XFS filesystem, the following options are accepted. · 209 unmodified lines | |||
| 210 | inconsistent namespace presentation during or after a | 210 | inconsistent namespace presentation during or after a |
| 211 | failover event. | 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 | Deprecated Mount Options | 236 | Deprecated Mount Options |
| 215 | ======================== | 237 | ======================== |
| @@ -217,6 +239,9 @@ Deprecated Mount Options · 1 unmodified line | |||
| 217 | =========================== ================ | 239 | =========================== ================ |
| 218 | Name Removal Schedule | 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 | Deprecated Sysctls | 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 | Removed Sysctls | 367 | Removed Sysctls |
| @@ -148,3 +148,13 @@ SunXi family · 147 unmodified lines | |||
| 148 | * User Manual | 148 | * User Manual |
| 149 | 149 | ||
| 150 | http://dl.linux-sunxi.org/A64/Allwinner%20A64%20User%20Manual%20v1.0.pdf | 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 | HugeTLBpage on ARM64 | 4 | HugeTLBpage on ARM64 |
| 3 | ==================== | 5 | ==================== |
| @@ -102,7 +102,9 @@ applications. · 101 unmodified lines | |||
| 102 | system call) are not checked if the user thread tag checking mode is | 102 | system call) are not checked if the user thread tag checking mode is |
| 103 | ``PR_MTE_TCF_NONE`` or ``PR_MTE_TCF_ASYNC``. If the tag checking mode is | 103 | ``PR_MTE_TCF_NONE`` or ``PR_MTE_TCF_ASYNC``. If the tag checking mode is |
| 104 | ``PR_MTE_TCF_SYNC``, the kernel makes a best effort to check its user | 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 | Excluding Tags in the ``IRG``, ``ADDG`` and ``SUBG`` instructions | 109 | Excluding Tags in the ``IRG``, ``ADDG`` and ``SUBG`` instructions |
| 108 | ----------------------------------------------------------------- | 110 | ----------------------------------------------------------------- |
| @@ -90,6 +90,8 @@ stable kernels. · 89 unmodified lines | |||
| 90 | +----------------+-----------------+-----------------+-----------------------------+ | 90 | +----------------+-----------------+-----------------+-----------------------------+ |
| 91 | | ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 | | 91 | | ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 | |
| 92 | +----------------+-----------------+-----------------+-----------------------------+ | 92 | +----------------+-----------------+-----------------+-----------------------------+ |
| 93 | | ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 | | ||
| 94 | +----------------+-----------------+-----------------+-----------------------------+ | ||
| 93 | | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | | 95 | | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | |
| 94 | +----------------+-----------------+-----------------+-----------------------------+ | 96 | +----------------+-----------------+-----------------+-----------------------------+ |
| 95 | | ARM | Neoverse-N1 | #1349291 | N/A | | 97 | | ARM | Neoverse-N1 | #1349291 | N/A | |
| @@ -63,10 +63,10 @@ Software staging queues · 62 unmodified lines | |||
| 63 | ~~~~~~~~~~~~~~~~~~~~~~~ | 63 | ~~~~~~~~~~~~~~~~~~~~~~~ |
| 64 | 64 | ||
| 65 | The block IO subsystem adds requests in the software staging queues | 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 | directly to the driver. A request is one or more BIOs. They arrived at the | 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 | 68 | block layer through the data structure struct bio. The block layer |
| 69 | will then build a new structure from it, the struct :c:type:`request` that will | 69 | will then build a new structure from it, the struct request that will |
| 70 | be used to communicate with the device driver. Each queue has its own lock and | 70 | be used to communicate with the device driver. Each queue has its own lock and |
| 71 | the number of queues is defined by a per-CPU or per-node basis. | 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 | Hardware dispatch queues | 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 | used by device drivers to map the device submission queues (or device DMA ring | 106 | used by device drivers to map the device submission queues (or device DMA ring |
| 107 | buffer), and are the last step of the block layer submission code before the | 107 | buffer), and are the last step of the block layer submission code before the |
| 108 | low level device driver taking ownership of the request. To run this queue, the | 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 | dispatch to the hardware. | 110 | dispatch to the hardware. |
| 111 | 111 | ||
| 112 | If it's not possible to send the requests directly to hardware, they will be | 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 | next time the block layer runs a queue, it will send the requests laying at the | 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 | requests that were ready to be sent first. The number of hardware queues | 116 | requests that were ready to be sent first. The number of hardware queues |
| 117 | depends on the number of hardware contexts supported by the hardware and its | 117 | depends on the number of hardware contexts supported by the hardware and its |
| 118 | device driver, but it will not be more than the number of cores of the system. | 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 | Design | 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 | represent an encryption context, because we need to be able to pass this | 56 | represent an encryption context, because we need to be able to pass this |
| 57 | encryption context from the upper layers (like the fs layer) to the | 57 | encryption context from the upper layers (like the fs layer) to the |
| 58 | device driver to act upon. | 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 | We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to | 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 | for the request. This ``keyslot`` is the keyslot into which the | 89 | for the request. This ``keyslot`` is the keyslot into which the |
| 90 | ``bi_crypt_context`` has been programmed in the KSM of the ``request_queue`` | 90 | ``bi_crypt_context`` has been programmed in the KSM of the ``request_queue`` |
| 91 | that this request is being sent to. | 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 | If a ``request queue``'s inline encryption hardware claimed to support the | 118 | If a ``request queue``'s inline encryption hardware claimed to support the |
| 119 | encryption context specified with a bio, then it will not be handled by the | 119 | encryption context specified with a bio, then it will not be handled by the |
| 120 | ``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a | 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 | blk-mq tries to program the encryption context into the ``request_queue``'s | 122 | blk-mq tries to program the encryption context into the ``request_queue``'s |
| 123 | keyslot_manager, and obtain a keyslot, which it stores in its newly added | 123 | keyslot_manager, and obtain a keyslot, which it stores in its newly added |
| 124 | ``keyslot`` field. This keyslot is released when the request is completed. | 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 | The device driver also needs to tell the KSM how to actually manipulate the | 188 | The device driver also needs to tell the KSM how to actually manipulate the |
| 189 | IE hardware in the device to do things like programming the crypto key into | 189 | IE hardware in the device to do things like programming the crypto key into |
| 190 | the IE hardware into a particular keyslot. All this is achieved through the | 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 | must fill up after initing the ``blk_keyslot_manager``. | 192 | must fill up after initing the ``blk_keyslot_manager``. |
| 193 | 193 | ||
| 194 | The KSM also handles runtime power management for the device when applicable | 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 | EXPLICIT OPEN, IMPLICIT OPEN or CLOSED, is limited by this value. | 124 | EXPLICIT OPEN, IMPLICIT OPEN or CLOSED, is limited by this value. |
| 125 | If this value is 0, there is no limit. | 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 | max_open_zones (RO) | 131 | max_open_zones (RO) |
| 128 | ------------------- | 132 | ------------------- |
| 129 | For zoned block devices (zoned attribute indicating "host-managed" or | 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 | EXPLICIT OPEN or IMPLICIT OPEN, is limited by this value. | 135 | EXPLICIT OPEN or IMPLICIT OPEN, is limited by this value. |
| 132 | If this value is 0, there is no limit. | 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 | max_sectors_kb (RW) | 142 | max_sectors_kb (RW) |
| 135 | ------------------- | 143 | ------------------- |
| 136 | This is the maximum number of kilobytes that the block layer will allow | 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 | A: All patches that are Cc'ed to netdev are queued for review under netdev | 60 | A: All patches that are Cc'ed to netdev are queued for review under netdev |
| 61 | patchwork project: | 61 | patchwork project: |
| 62 | 62 | ||
| 63 | http://patchwork.ozlabs.org/project/netdev/list/ | 63 | https://patchwork.kernel.org/project/netdevbpf/list/ |
| 64 | 64 | ||
| 65 | Those patches which target BPF, are assigned to a 'bpf' delegate for | 65 | Those patches which target BPF, are assigned to a 'bpf' delegate for |
| 66 | further processing from BPF maintainers. The current queue with | 66 | further processing from BPF maintainers. The current queue with |
| 67 | patches under review can be found at: | 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 | Once the patches have been reviewed by the BPF community as a whole | 71 | Once the patches have been reviewed by the BPF community as a whole |
| 72 | and approved by the BPF maintainers, their status in patchwork will be | 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 | again in a second or later revision, it is also required to add a | 149 | again in a second or later revision, it is also required to add a |
| 150 | version number (``v2``, ``v3``, ...) into the subject prefix:: | 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 | When changes have been requested to the patch series, always send the | 154 | When changes have been requested to the patch series, always send the |
| 155 | whole patch series again with the feedback incorporated (never send | 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 | $ llc --version | 480 | $ llc --version |
| 481 | LLVM (http://llvm.org/): | 481 | LLVM (http://llvm.org/): |
| 482 | LLVM version 6.0.0svn | 482 | LLVM version 10.0.0 |
| 483 | Optimized build. | 483 | Optimized build. |
| 484 | Default target: x86_64-unknown-linux-gnu | 484 | Default target: x86_64-unknown-linux-gnu |
| 485 | Host CPU: skylake | 485 | Host CPU: skylake |
| 486 | 486 | ||
| 487 | Registered Targets: | 487 | Registered Targets: |
| 488 | bpf - BPF (host endian) | 488 | aarch64 - AArch64 (little endian) |
| 489 | bpfeb - BPF (big endian) | 489 | bpf - BPF (host endian) |
| 490 | bpfel - BPF (little endian) | 490 | bpfeb - BPF (big endian) |
| 491 | x86 - 32-bit X86: Pentium-Pro and above | 491 | bpfel - BPF (little endian) |
| 492 | x86-64 - 64-bit X86: EM64T and AMD64 | 492 | x86 - 32-bit X86: Pentium-Pro and above |
| 493 | x86-64 - 64-bit X86: EM64T and AMD64 | ||
| 493 | 494 | ||
| 494 | For developers in order to utilize the latest features added to LLVM's | 495 | For developers in order to utilize the latest features added to LLVM's |
| 495 | BPF back end, it is advisable to run the latest LLVM releases. Support | 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 | The built binaries can then be found in the build/bin/ directory, where | 518 | The built binaries can then be found in the build/bin/ directory, where |
| 518 | you can point the PATH variable to. | 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 | Q: Reporting LLVM BPF issues | 525 | Q: Reporting LLVM BPF issues |
| 521 | ---------------------------- | 526 | ---------------------------- |
| 522 | Q: Should I notify BPF kernel maintainers about issues in LLVM's BPF code | 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 | BTF_ID_UNUSED | 724 | BTF_ID_UNUSED |
| 725 | BTF_ID(struct, task_struct) | 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 | All the BTF ID lists and sets are compiled in the .BTF_ids section and | 752 | All the BTF ID lists and sets are compiled in the .BTF_ids section and |
| 728 | resolved during the linking phase of kernel build by ``resolve_btfids`` tool. | 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 | prog_cgroup_sysctl | 52 | prog_cgroup_sysctl |
| 53 | prog_flow_dissector | 53 | prog_flow_dissector |
| 54 | bpf_lsm | 54 | bpf_lsm |
| 55 | prog_sk_lookup | ||
| 55 | 56 | ||
| 56 | 57 | ||
| 57 | Map types | 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 | # ones. | 38 | # ones. |
| 39 | extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', | 39 | extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', |
| 40 | 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', | 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 | # cdomain is badly broken in Sphinx 3+. Leaving it out generates *most* | 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 | if major >= 3: | 49 | if major >= 3: |
| 49 | sys.stderr.write('''WARNING: The kernel documentation build process | 50 | sys.stderr.write('''WARNING: The kernel documentation build process |
| 50 | does not work correctly with Sphinx v3.0 and above. Expect errors | 51 | support for Sphinx v3.0 and above is brand new. Be prepared for |
| 51 | in the generated output. | 52 | possible issues in the generated output. |
| 52 | ''') | 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 | else: | 113 | else: |
| 54 | extensions.append('cdomain') | 114 | extensions.append('cdomain') |
| 55 | 115 | ||
| @@ -519,10 +519,9 @@ routines, e.g.::: · 518 unmodified lines | |||
| 519 | Part II - Non-coherent DMA allocations | 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 | 522 | These APIs allow to allocate pages that are guaranteed to be DMA addressable |
| 523 | guaranteed to be DMA addressable. This means that unlike dma_alloc_coherent, | 523 | by the passed in device, but which need explicit management of memory ownership |
| 524 | virt_to_page can be called on the resulting address, and the resulting | 524 | for the kernel vs the device. |
| 525 | struct page can be used for everything a struct page is suitable for. | ||
| 526 | 525 | ||
| 527 | If you don't understand how cache line coherency works between a processor and | 526 | If you don't understand how cache line coherency works between a processor and |
| 528 | an I/O device, you should not be using this part of the API. | 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 | This routine allocates a region of <size> bytes of consistent memory. It | 536 | This routine allocates a region of <size> bytes of consistent memory. It |
| 538 | returns a pointer to the allocated region (in the processor's virtual address | 537 | returns a pointer to the allocated region (in the processor's virtual address |
| 539 | space) or NULL if the allocation failed. The returned memory may or may not | 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 | the returned memory region. | 540 | the returned memory region. |
| 542 | 541 | ||
| 543 | It also returns a <dma_handle> which may be cast to an unsigned integer the | 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 | Free a region of memory previously allocated using dma_alloc_noncoherent(). | 564 | Free a region of memory previously allocated using dma_alloc_noncoherent(). |
| 566 | dev, size and dma_handle and dir must all be the same as those passed into | 565 | dev, size and dma_handle and dir must all be the same as those passed into |
| 567 | dma_alloc_noncoherent(). cpu_addr must be the virtual address returned by | 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 | .. kernel-doc:: kernel/irq/manage.c | 419 | .. kernel-doc:: kernel/irq/manage.c |
| 420 | 420 | ||
| 421 | .. kernel-doc:: kernel/irq/chip.c | 421 | .. kernel-doc:: kernel/irq/chip.c |
| 422 | :export: | ||
| 422 | 423 | ||
| 423 | Internal Functions Provided | 424 | Internal Functions Provided |
| 424 | =========================== | 425 | =========================== |
| @@ -431,6 +432,7 @@ functions. · 6 unmodified lines | |||
| 431 | .. kernel-doc:: kernel/irq/handle.c | 432 | .. kernel-doc:: kernel/irq/handle.c |
| 432 | 433 | ||
| 433 | .. kernel-doc:: kernel/irq/chip.c | 434 | .. kernel-doc:: kernel/irq/chip.c |
| 435 | :internal: | ||
| 434 | 436 | ||
| 435 | Credits | 437 | Credits |
| 436 | ======= | 438 | ======= |
| @@ -231,12 +231,6 @@ Refer to the file kernel/module.c for more information. · 230 unmodified lines | |||
| 231 | Hardware Interfaces | 231 | Hardware Interfaces |
| 232 | =================== | 232 | =================== |
| 233 | 233 | ||
| 234 | Interrupt Handling | ||
| 235 | ------------------ | ||
| 236 | |||
| 237 | .. kernel-doc:: kernel/irq/manage.c | ||
| 238 | :export: | ||
| 239 | |||
| 240 | DMA Channels | 234 | DMA Channels |
| 241 | ------------ | 235 | ------------ |
| 242 | 236 | ||
| @@ -396,3 +396,5 @@ Kernel Inline Documentations Reference · 395 unmodified lines | |||
| 396 | ====================================== | 396 | ====================================== |
| 397 | 397 | ||
| 398 | .. kernel-doc:: include/linux/workqueue.h | 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 | Each entry will only be returned once, no matter how many indices it | 475 | Each entry will only be returned once, no matter how many indices it |
| 476 | occupies. | 476 | occupies. |
| 477 | 477 | ||
| 478 | Using xas_next() or xas_prev() with a multi-index xa_state | 478 | Using xas_next() or xas_prev() with a multi-index xa_state is not |
| 479 | is not supported. Using either of these functions on a multi-index entry | 479 | supported. Using either of these functions on a multi-index entry will |
| 480 | will reveal sibling entries; these should be skipped over by the caller. | 480 | reveal sibling entries; these should be skipped over by the caller. |
| 481 | 481 | ||
| 482 | Storing ``NULL`` into any index of a multi-index entry will set the entry | 482 | Storing ``NULL`` into any index of a multi-index entry will set the |
| 483 | at every index to ``NULL`` and dissolve the tie. Splitting a multi-index | 483 | entry at every index to ``NULL`` and dissolve the tie. A multi-index |
| 484 | entry into entries occupying smaller ranges is not yet supported. | 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 | Functions and structures | 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 | pass:: | 295 | pass:: |
| 296 | 296 | ||
| 297 | ok 28 - kmalloc_double_kzfree | 297 | ok 28 - kmalloc_double_kzfree |
| 298 | |||
| 298 | or, if kmalloc failed:: | 299 | or, if kmalloc failed:: |
| 299 | 300 | ||
| 300 | # kmalloc_large_oob_right: ASSERTION FAILED at lib/test_kasan.c:163 | 301 | # kmalloc_large_oob_right: ASSERTION FAILED at lib/test_kasan.c:163 |
| 301 | Expected ptr is not null, but is | 302 | Expected ptr is not null, but is |
| 302 | not ok 4 - kmalloc_large_oob_right | 303 | not ok 4 - kmalloc_large_oob_right |
| 304 | |||
| 303 | or, if a KASAN report was expected, but not found:: | 305 | or, if a KASAN report was expected, but not found:: |
| 304 | 306 | ||
| 305 | # kmalloc_double_kzfree: EXPECTATION FAILED at lib/test_kasan.c:629 | 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 | - contains an arch-specific trap catcher which invokes | 726 | - contains an arch-specific trap catcher which invokes |
| 727 | kgdb_handle_exception() to start kgdb about doing its work | 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 | - Registration and unregistration of architecture specific trap | 731 | - Registration and unregistration of architecture specific trap |
| 732 | hooks | 732 | hooks |
| @@ -846,7 +846,7 @@ invokes a callback in the serial core which in turn uses the callback in · 113 unmodified lines | |||
| 846 | the UART driver. | 846 | the UART driver. |
| 847 | 847 | ||
| 848 | When using kgdboc with a UART, the UART driver must implement two | 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 | Example from ``drivers/8250.c``:: | 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 | The core polled keyboard driver for PS/2 type keyboards is in | 875 | The core polled keyboard driver for PS/2 type keyboards is in |
| 876 | ``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core | 876 | ``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core |
| 877 | when kgdboc populates the callback in the array called | 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 | function which polls hardware for single character input. | 879 | function which polls hardware for single character input. |
| 880 | 880 | ||
| 881 | kgdboc and kms | 881 | kgdboc and kms |
| @@ -125,32 +125,41 @@ Note that some tests will require root privileges. · 124 unmodified lines | |||
| 125 | Install selftests | 125 | Install selftests |
| 126 | ================= | 126 | ================= |
| 127 | 127 | ||
| 128 | You can use the kselftest_install.sh tool to install selftests in the | 128 | You can use the "install" target of "make" (which calls the `kselftest_install.sh` |
| 129 | default location, which is tools/testing/selftests/kselftest, or in a | 129 | tool) to install selftests in the default location (`tools/testing/selftests/kselftest_install`), |
| 130 | user specified location. | 130 | or in a user specified location via the `INSTALL_PATH` "make" variable. |
| 131 | 131 | ||
| 132 | To install selftests in default location:: | 132 | To install selftests in default location:: |
| 133 | 133 | ||
| 134 | $ cd tools/testing/selftests | 134 | $ make -C tools/testing/selftests install |
| 135 | $ ./kselftest_install.sh | ||
| 136 | 135 | ||
| 137 | To install selftests in a user specified location:: | 136 | To install selftests in a user specified location:: |
| 138 | 137 | ||
| 139 | $ cd tools/testing/selftests | 138 | $ make -C tools/testing/selftests install INSTALL_PATH=/some/other/path |
| 140 | $ ./kselftest_install.sh install_dir | ||
| 141 | 139 | ||
| 142 | Running installed selftests | 140 | Running installed selftests |
| 143 | =========================== | 141 | =========================== |
| 144 | 142 | ||
| 145 | Kselftest install as well as the Kselftest tarball provide a script | 143 | Found in the install directory, as well as in the Kselftest tarball, |
| 146 | named "run_kselftest.sh" to run the tests. | 144 | is a script named `run_kselftest.sh` to run the tests. |
| 147 | 145 | ||
| 148 | You can simply do the following to run the installed Kselftests. Please | 146 | You can simply do the following to run the installed Kselftests. Please |
| 149 | note some tests will require root privileges:: | 147 | note some tests will require root privileges:: |
| 150 | 148 | ||
| 151 | $ cd kselftest | 149 | $ cd kselftest_install |
| 152 | $ ./run_kselftest.sh | 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 | Packaging selftests | 163 | Packaging selftests |
| 155 | =================== | 164 | =================== |
| 156 | 165 | ||
| @@ -160,9 +169,9 @@ different system. To package selftests, run:: · 3 unmodified lines | |||
| 160 | $ make -C tools/testing/selftests gen_tar | 169 | $ make -C tools/testing/selftests gen_tar |
| 161 | 170 | ||
| 162 | This generates a tarball in the `INSTALL_PATH/kselftest-packages` directory. By | 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 | 172 | default, `.gz` format is used. The tar compression format can be overridden by |
| 164 | a `FORMAT` make variable. Any value recognized by `tar's auto-compress`_ option | 173 | specifying a `FORMAT` make variable. Any value recognized by `tar's auto-compress`_ |
| 165 | is supported, such as:: | 174 | option is supported, such as:: |
| 166 | 175 | ||
| 167 | $ make -C tools/testing/selftests gen_tar FORMAT=.xz | 176 | $ make -C tools/testing/selftests gen_tar FORMAT=.xz |
| 168 | 177 | ||
| @@ -90,7 +90,7 @@ things to try. · 89 unmodified lines | |||
| 90 | re-run kunit_tool. | 90 | re-run kunit_tool. |
| 91 | 5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This | 91 | 5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This |
| 92 | may help clean up any residual config items which could be causing problems. | 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 | built into any kernel, or can be built as a module and loaded at runtime. | 94 | built into any kernel, or can be built as a module and loaded at runtime. |
| 95 | Doing so should allow you to determine if UML is causing the issue you're | 95 | Doing so should allow you to determine if UML is causing the issue you're |
| 96 | seeing. When tests are built-in, they will execute when the kernel boots, and | 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 | usage | 11 | usage |
| 12 | kunit-tool | 12 | kunit-tool |
| 13 | api/index | 13 | api/index |
| 14 | style | ||
| 14 | faq | 15 | faq |
| 15 | 16 | ||
| 16 | What is KUnit? | 17 | What is KUnit? |
| @@ -197,7 +197,7 @@ Now add the following to ``drivers/misc/Kconfig``: · 196 unmodified lines | |||
| 197 | 197 | ||
| 198 | config MISC_EXAMPLE_TEST | 198 | config MISC_EXAMPLE_TEST |
| 199 | bool "Test for my example" | 199 | bool "Test for my example" |
| 200 | depends on MISC_EXAMPLE && KUNIT | 200 | depends on MISC_EXAMPLE && KUNIT=y |
| 201 | 201 | ||
| 202 | and the following to ``drivers/misc/Makefile``: | 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 | the second parameter, in this case, is what the value is expected to be; the | 92 | the second parameter, in this case, is what the value is expected to be; the |
| 93 | last value is what the value actually is. If ``add`` passes all of these | 93 | last value is what the value actually is. If ``add`` passes all of these |
| 94 | expectations, the test case, ``add_test_basic`` will pass; if any one of these | 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 | It is important to understand that a test case *fails* when any expectation is | 97 | It is important to understand that a test case *fails* when any expectation is |
| 98 | violated; however, the test will continue running, potentially trying other | 98 | violated; however, the test will continue running, potentially trying other |
| @@ -202,7 +202,7 @@ Example: · 103 unmodified lines | |||
| 202 | kunit_test_suite(example_test_suite); | 202 | kunit_test_suite(example_test_suite); |
| 203 | 203 | ||
| 204 | In the above example the test suite, ``example_test_suite``, would run the test | 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 | each would have ``example_test_init`` called immediately before it and would | 206 | each would have ``example_test_init`` called immediately before it and would |
| 207 | have ``example_test_exit`` called immediately after it. | 207 | have ``example_test_exit`` called immediately after it. |
| 208 | ``kunit_test_suite(example_test_suite)`` registers the test suite with the | 208 | ``kunit_test_suite(example_test_suite)`` registers the test suite with the |
| @@ -211,6 +211,11 @@ KUnit test framework. · 2 unmodified lines | |||
| 211 | .. note:: | 211 | .. note:: |
| 212 | A test case will only be run if it is associated with a test suite. | 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 | For more information on these types of things see the :doc:`api/test`. | 219 | For more information on these types of things see the :doc:`api/test`. |
| 215 | 220 | ||
| 216 | Isolating Behavior | 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 | such that the definition of that function can be changed without affecting the | 229 | such that the definition of that function can be changed without affecting the |
| 225 | rest of the code base. In the kernel this primarily comes from two constructs, | 230 | rest of the code base. In the kernel this primarily comes from two constructs, |
| 226 | classes, structs that contain function pointers that are provided by the | 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 | at compile time. | 233 | at compile time. |
| 229 | 234 | ||
| 230 | Classes | 235 | Classes |
| @@ -454,7 +459,7 @@ KUnit on non-UML architectures · 223 unmodified lines | |||
| 454 | By default KUnit uses UML as a way to provide dependencies for code under test. | 459 | By default KUnit uses UML as a way to provide dependencies for code under test. |
| 455 | Under most circumstances KUnit's usage of UML should be treated as an | 460 | Under most circumstances KUnit's usage of UML should be treated as an |
| 456 | implementation detail of how KUnit works under the hood. Nevertheless, there | 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 | against real hardware is desirable. For these reasons KUnit supports running on | 463 | against real hardware is desirable. For these reasons KUnit supports running on |
| 459 | other architectures. | 464 | other architectures. |
| 460 | 465 | ||
| @@ -556,6 +561,11 @@ Once the kernel is built and installed, a simple · 95 unmodified lines | |||
| 556 | 561 | ||
| 557 | ...will run the tests. | 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 | Writing new tests for other architectures | 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 | hardware state in between test cases; if this is not possible, you may only be | 599 | hardware state in between test cases; if this is not possible, you may only be |
| 590 | able to run one test case per invocation. | 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 | dependent KUnit test. | 603 | dependent KUnit test. |
| 594 | 604 | ||
| 595 | KUnit debugfs representation | 605 | KUnit debugfs representation |
| @@ -20,6 +20,12 @@ properties: · 19 unmodified lines | |||
| 20 | - enum: | 20 | - enum: |
| 21 | - allo,sparky # Allo.com Sparky | 21 | - allo,sparky # Allo.com Sparky |
| 22 | - cubietech,cubieboard6 # Cubietech CubieBoard6 | 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 | - const: actions,s500 | 29 | - const: actions,s500 |
| 24 | - items: | 30 | - items: |
| 25 | - enum: | 31 | - enum: |
| @@ -28,6 +34,11 @@ properties: · 2 unmodified lines | |||
| 28 | - const: actions,s500 | 34 | - const: actions,s500 |
| 29 | 35 | ||
| 30 | # The Actions Semi S700 is a quad-core ARM Cortex-A53 SoC. | 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 | - items: | 42 | - items: |
| 32 | - enum: | 43 | - enum: |
| 33 | - cubietech,cubieboard7 # Cubietech CubieBoard7 | 44 | - cubietech,cubieboard7 # Cubietech CubieBoard7 |
| @@ -38,3 +49,5 @@ properties: · 4 unmodified lines | |||
| 38 | - enum: | 49 | - enum: |
| 39 | - ucrobotics,bubblegum-96 # uCRobotics Bubblegum-96 | 50 | - ucrobotics,bubblegum-96 # uCRobotics Bubblegum-96 |
| 40 | - const: actions,s900 | 51 | - const: actions,s900 |
| 52 | |||
| 53 | additionalProperties: true | ||
| @@ -19,4 +19,7 @@ properties: · 18 unmodified lines | |||
| 19 | - altr,socfpga-arria5 | 19 | - altr,socfpga-arria5 |
| 20 | - altr,socfpga-arria10 | 20 | - altr,socfpga-arria10 |
| 21 | - const: altr,socfpga | 21 | - const: altr,socfpga |
| 22 | |||
| 23 | additionalProperties: true | ||
| 24 | |||
| 22 | ... | 25 | ... |
| @@ -30,4 +30,6 @@ properties: · 29 unmodified lines | |||
| 30 | - amazon,al-alpine-v3-evp | 30 | - amazon,al-alpine-v3-evp |
| 31 | - const: amazon,al-alpine-v3 | 31 | - const: amazon,al-alpine-v3 |
| 32 | 32 | ||
| 33 | additionalProperties: true | ||
| 34 | |||
| 33 | ... | 35 | ... |
| @@ -96,6 +96,7 @@ properties: · 95 unmodified lines | |||
| 96 | - hwacom,amazetv | 96 | - hwacom,amazetv |
| 97 | - khadas,vim | 97 | - khadas,vim |
| 98 | - libretech,aml-s905x-cc | 98 | - libretech,aml-s905x-cc |
| 99 | - libretech,aml-s905x-cc-v2 | ||
| 99 | - nexbox,a95x | 100 | - nexbox,a95x |
| 100 | - const: amlogic,s905x | 101 | - const: amlogic,s905x |
| 101 | - const: amlogic,meson-gxl | 102 | - const: amlogic,meson-gxl |
| @@ -153,6 +154,7 @@ properties: · 51 unmodified lines | |||
| 153 | - azw,gtking | 154 | - azw,gtking |
| 154 | - azw,gtking-pro | 155 | - azw,gtking-pro |
| 155 | - hardkernel,odroid-n2 | 156 | - hardkernel,odroid-n2 |
| 157 | - hardkernel,odroid-n2-plus | ||
| 156 | - khadas,vim3 | 158 | - khadas,vim3 |
| 157 | - ugoos,am6 | 159 | - ugoos,am6 |
| 158 | - const: amlogic,s922x | 160 | - const: amlogic,s922x |
| @@ -171,4 +173,7 @@ properties: · 12 unmodified lines | |||
| 171 | - enum: | 173 | - enum: |
| 172 | - amlogic,ad401 | 174 | - amlogic,ad401 |
| 173 | - const: amlogic,a1 | 175 | - const: amlogic,a1 |
| 176 | |||
| 177 | additionalProperties: true | ||
| 178 | |||
| 174 | ... | 179 | ... |
| @@ -83,4 +83,6 @@ required: · 82 unmodified lines | |||
| 83 | - compatible | 83 | - compatible |
| 84 | - core-module@10000000 | 84 | - core-module@10000000 |
| 85 | 85 | ||
| 86 | additionalProperties: true | ||
| 87 | |||
| 86 | ... | 88 | ... |
| @@ -120,4 +120,6 @@ required: · 119 unmodified lines | |||
| 120 | - compatible | 120 | - compatible |
| 121 | - soc | 121 | - soc |
| 122 | 122 | ||
| 123 | additionalProperties: true | ||
| 124 | |||
| 123 | ... | 125 | ... |
| @@ -68,4 +68,6 @@ required: · 67 unmodified lines | |||
| 68 | - compatible | 68 | - compatible |
| 69 | - core-module@10000000 | 69 | - core-module@10000000 |
| 70 | 70 | ||
| 71 | additionalProperties: true | ||
| 72 | |||
| 71 | ... | 73 | ... |
| @@ -216,4 +216,6 @@ allOf: · 215 unmodified lines | |||
| 216 | required: | 216 | required: |
| 217 | - arm,hbi | 217 | - arm,hbi |
| 218 | 218 | ||
| 219 | additionalProperties: true | ||
| 220 | |||
| 219 | ... | 221 | ... |
| @@ -41,6 +41,7 @@ properties: · 40 unmodified lines | |||
| 41 | - overkiz,kizboxmini-mb # Overkiz kizbox Mini Mother Board | 41 | - overkiz,kizboxmini-mb # Overkiz kizbox Mini Mother Board |
| 42 | - overkiz,kizboxmini-rd # Overkiz kizbox Mini RailDIN | 42 | - overkiz,kizboxmini-rd # Overkiz kizbox Mini RailDIN |
| 43 | - overkiz,smartkiz # Overkiz SmartKiz Board | 43 | - overkiz,smartkiz # Overkiz SmartKiz Board |
| 44 | - gardena,smart-gateway-at91sam # GARDENA smart Gateway (Article No. 19000) | ||
| 44 | - const: atmel,at91sam9g25 | 45 | - const: atmel,at91sam9g25 |
| 45 | - const: atmel,at91sam9x5 | 46 | - const: atmel,at91sam9x5 |
| 46 | - const: atmel,at91sam9 | 47 | - const: atmel,at91sam9 |
| @@ -183,4 +184,6 @@ properties: · 136 unmodified lines | |||
| 183 | - const: atmel,samv71 | 184 | - const: atmel,samv71 |
| 184 | - const: atmel,samv7 | 185 | - const: atmel,samv7 |
| 185 | 186 | ||
| 187 | additionalProperties: true | ||
| 188 | |||
| 186 | ... | 189 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | |||
| 18 | - const: lsi,axm5516-amarillo | 18 | - const: lsi,axm5516-amarillo |
| 19 | - const: lsi,axm5516 | 19 | - const: lsi,axm5516 |
| 20 | 20 | ||
| 21 | additionalProperties: true | ||
| 22 | |||
| 21 | ... | 23 | ... |
| @@ -51,4 +51,6 @@ properties: · 50 unmodified lines | |||
| 51 | - raspberrypi,3-compute-module-lite | 51 | - raspberrypi,3-compute-module-lite |
| 52 | - const: brcm,bcm2837 | 52 | - const: brcm,bcm2837 |
| 53 | 53 | ||
| 54 | additionalProperties: true | ||
| 55 | |||
| 54 | ... | 56 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | |||
| 18 | - brcm,bcm28155-ap | 18 | - brcm,bcm28155-ap |
| 19 | - const: brcm,bcm11351 | 19 | - const: brcm,bcm11351 |
| 20 | 20 | ||
| 21 | additionalProperties: true | ||
| 22 | |||
| 21 | ... | 23 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | |||
| 18 | - brcm,bcm21664-garnet | 18 | - brcm,bcm21664-garnet |
| 19 | - const: brcm,bcm21664 | 19 | - const: brcm,bcm21664 |
| 20 | 20 | ||
| 21 | additionalProperties: true | ||
| 22 | |||
| 21 | ... | 23 | ... |
| @@ -18,4 +18,6 @@ properties: · 17 unmodified lines | |||
| 18 | - brcm,bcm23550-sparrow | 18 | - brcm,bcm23550-sparrow |
| 19 | - const: brcm,bcm23550 | 19 | - const: brcm,bcm23550 |
| 20 | 20 | ||
| 21 | additionalProperties: true | ||
| 22 | |||
| 21 | ... | 23 | ... |
| @@ -83,6 +83,11 @@ properties: · 82 unmodified lines | |||
| 83 | - brcm,bcm953012er | 83 | - brcm,bcm953012er |
| 84 | - brcm,bcm953012hr | 84 | - brcm,bcm953012hr |
| 85 | - brcm,bcm953012k | 85 | - brcm,bcm953012k |
| 86 | - meraki,mr32 | ||
| 86 | - const: brcm,brcm53012 | 87 | - const: brcm,brcm53012 |
| 88 | - const: brcm,brcm53016 | ||
| 87 | - const: brcm,bcm4708 | 89 | - const: brcm,bcm4708 |
| 90 | |||
| 91 | additionalProperties: true | ||
| 92 | |||
| 88 | ... | 93 | ... |
| @@ -26,4 +26,6 @@ properties: · 25 unmodified lines | |||
| 26 | - brcm,bcm58305 | 26 | - brcm,bcm58305 |
| 27 | - const: brcm,cygnus | 27 | - const: brcm,cygnus |
| 28 | 28 | ||
| 29 | additionalProperties: true | ||
| 30 | |||
| 29 | ... | 31 | ... |
| @@ -25,4 +25,6 @@ properties: · 24 unmodified lines | |||
| 25 | - const: brcm,bcm53342 | 25 | - const: brcm,bcm53342 |
| 26 | - const: brcm,hr2 | 26 | - const: brcm,hr2 |
| 27 | 27 | ||
| 28 | additionalProperties: true | ||
| 29 | |||
| 28 | ... | 30 | ... |
| @@ -20,4 +20,6 @@ properties: · 19 unmodified lines | |||
| 20 | - brcm,ns2-xmc | 20 | - brcm,ns2-xmc |
| 21 | - const: brcm,ns2 | 21 | - const: brcm,ns2 |
| 22 | 22 | ||
| 23 | additionalProperties: true | ||
| 24 | |||
| 23 | ... | 25 | ... |
| @@ -33,4 +33,6 @@ properties: · 32 unmodified lines | |||
| 33 | - brcm,bcm88312 | 33 | - brcm,bcm88312 |
| 34 | - const: brcm,nsp | 34 | - const: brcm,nsp |
| 35 | 35 | ||
| 36 | additionalProperties: true | ||
| 37 | |||
| 36 | ... | 38 | ... |
| @@ -21,4 +21,6 @@ properties: · 20 unmodified lines | |||
| 21 | - brcm,bcm958802a802x | 21 | - brcm,bcm958802a802x |
| 22 | - const: brcm,stingray | 22 | - const: brcm,stingray |
| 23 | 23 | ||
| 24 | additionalProperties: true | ||
| 25 | |||
| 24 | ... | 26 | ... |
| @@ -19,4 +19,6 @@ properties: · 18 unmodified lines | |||
| 19 | - cavium,thunderx2-cn9900 | 19 | - cavium,thunderx2-cn9900 |
| 20 | - const: brcm,vulcan-soc | 20 | - const: brcm,vulcan-soc |
| 21 | 21 | ||
| 22 | additionalProperties: true | ||
| 23 | |||
| 22 | ... | 24 | ... |
| @@ -17,4 +17,7 @@ properties: · 16 unmodified lines | |||
| 17 | - enum: | 17 | - enum: |
| 18 | - bitmain,sophon-edge | 18 | - bitmain,sophon-edge |
| 19 | - const: bitmain,bm1880 | 19 | - const: bitmain,bm1880 |
| 20 | |||
| 21 | additionalProperties: true | ||
| 22 | |||
| 20 | ... | 23 | ... |
| @@ -20,3 +20,5 @@ properties: · 19 unmodified lines | |||
| 20 | - enum: | 20 | - enum: |
| 21 | - calxeda,highbank | 21 | - calxeda,highbank |
| 22 | - calxeda,ecx-2000 | 22 | - calxeda,ecx-2000 |
| 23 | |||
| 24 | additionalProperties: true | ||
| @@ -15,4 +15,6 @@ properties: · 14 unmodified lines | |||
| 15 | compatible: | 15 | compatible: |
| 16 | const: cnxt,cx92755 | 16 | const: cnxt,cx92755 |
| 17 | 17 | ||
| 18 | additionalProperties: true | ||
| 19 | |||
| 18 | ... | 20 | ... |
| @@ -120,6 +120,7 @@ properties: · 119 unmodified lines | |||
| 120 | - fsl,imx6q-sabrelite | 120 | - fsl,imx6q-sabrelite |
| 121 | - fsl,imx6q-sabresd | 121 | - fsl,imx6q-sabresd |
| 122 | - kontron,imx6q-samx6i # Kontron i.MX6 Dual/Quad SMARC Module | 122 | - kontron,imx6q-samx6i # Kontron i.MX6 Dual/Quad SMARC Module |
| 123 | - logicpd,imx6q-logicpd | ||
| 123 | - prt,prti6q # Protonic PRTI6Q board | 124 | - prt,prti6q # Protonic PRTI6Q board |
| 124 | - prt,prtwd2 # Protonic WD2 board | 125 | - prt,prtwd2 # Protonic WD2 board |
| 125 | - technexion,imx6q-pico-dwarf # TechNexion i.MX6Q Pico-Dwarf | 126 | - technexion,imx6q-pico-dwarf # TechNexion i.MX6Q Pico-Dwarf |
| @@ -156,6 +157,21 @@ properties: · 30 unmodified lines | |||
| 156 | - const: gw,ventana | 157 | - const: gw,ventana |
| 157 | - const: fsl,imx6q | 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 | - description: i.MX6QP based Boards | 175 | - description: i.MX6QP based Boards |
| 160 | items: | 176 | items: |
| 161 | - enum: | 177 | - enum: |
| @@ -163,6 +179,13 @@ properties: · 1 unmodified line | |||
| 163 | - fsl,imx6qp-sabresd # i.MX6 Quad Plus SABRE Smart Device Board | 179 | - fsl,imx6qp-sabresd # i.MX6 Quad Plus SABRE Smart Device Board |
| 164 | - const: fsl,imx6qp | 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 | - description: i.MX6DL based Boards | 189 | - description: i.MX6DL based Boards |
| 167 | items: | 190 | items: |
| 168 | - enum: | 191 | - enum: |
| @@ -188,6 +211,7 @@ properties: · 19 unmodified lines | |||
| 188 | - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6 Module V1.1 on Colibri Evaluation Board V3 | 211 | - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6 Module V1.1 on Colibri Evaluation Board V3 |
| 189 | - ysoft,imx6dl-yapp4-draco # i.MX6 DualLite Y Soft IOTA Draco board | 212 | - ysoft,imx6dl-yapp4-draco # i.MX6 DualLite Y Soft IOTA Draco board |
| 190 | - ysoft,imx6dl-yapp4-hydra # i.MX6 DualLite Y Soft IOTA Hydra board | 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 | - ysoft,imx6dl-yapp4-ursa # i.MX6 Solo Y Soft IOTA Ursa board | 215 | - ysoft,imx6dl-yapp4-ursa # i.MX6 Solo Y Soft IOTA Ursa board |
| 192 | - const: fsl,imx6dl | 216 | - const: fsl,imx6dl |
| 193 | 217 | ||
| @@ -211,10 +235,26 @@ properties: · 17 unmodified lines | |||
| 211 | - const: gw,ventana | 235 | - const: gw,ventana |
| 212 | - const: fsl,imx6dl | 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 | - description: i.MX6SL based Boards | 253 | - description: i.MX6SL based Boards |
| 215 | items: | 254 | items: |
| 216 | - enum: | 255 | - enum: |
| 217 | - fsl,imx6sl-evk # i.MX6 SoloLite EVK Board | 256 | - fsl,imx6sl-evk # i.MX6 SoloLite EVK Board |
| 257 | - kobo,tolino-shine2hd | ||
| 218 | - kobo,tolino-shine3 | 258 | - kobo,tolino-shine3 |
| 219 | - const: fsl,imx6sl | 259 | - const: fsl,imx6sl |
| 220 | 260 | ||
| @@ -246,6 +286,15 @@ properties: · 25 unmodified lines | |||
| 246 | - technexion,imx6ul-pico-pi # TechNexion i.MX6UL Pico-Pi | 286 | - technexion,imx6ul-pico-pi # TechNexion i.MX6UL Pico-Pi |
| 247 | - const: fsl,imx6ul | 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 | - description: Kontron N6310 S Board | 298 | - description: Kontron N6310 S Board |
| 250 | items: | 299 | items: |
| 251 | - const: kontron,imx6ul-n6310-s | 300 | - const: kontron,imx6ul-n6310-s |
| @@ -277,6 +326,15 @@ properties: · 25 unmodified lines | |||
| 277 | - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board | 326 | - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board |
| 278 | - const: fsl,imx6ull | 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 | - description: Kontron N6411 S Board | 338 | - description: Kontron N6411 S Board |
| 281 | items: | 339 | items: |
| 282 | - const: kontron,imx6ull-n6411-s | 340 | - const: kontron,imx6ull-n6411-s |
| @@ -344,7 +402,16 @@ properties: · 61 unmodified lines | |||
| 344 | - description: i.MX8MM based Boards | 402 | - description: i.MX8MM based Boards |
| 345 | items: | 403 | items: |
| 346 | - enum: | 404 | - enum: |
| 405 | - beacon,imx8mm-beacon-kit # i.MX8MM Beacon Development Kit | ||
| 406 | - fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board | ||
| 347 | - fsl,imx8mm-evk # i.MX8MM EVK Board | 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 | - const: fsl,imx8mm | 415 | - const: fsl,imx8mm |
| 349 | 416 | ||
| 350 | - description: i.MX8MN based Boards | 417 | - description: i.MX8MN based Boards |
| @@ -354,6 +421,12 @@ properties: · 3 unmodified lines | |||
| 354 | - fsl,imx8mn-evk # i.MX8MN LPDDR4 EVK Board | 421 | - fsl,imx8mn-evk # i.MX8MN LPDDR4 EVK Board |
| 355 | - const: fsl,imx8mn | 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 | - description: i.MX8MP based Boards | 430 | - description: i.MX8MP based Boards |
| 358 | items: | 431 | items: |
| 359 | - enum: | 432 | - enum: |
| @@ -372,13 +445,35 @@ properties: · 12 unmodified lines | |||
| 372 | - technexion,pico-pi-imx8m # TechNexion PICO-PI-8M evk | 445 | - technexion,pico-pi-imx8m # TechNexion PICO-PI-8M evk |
| 373 | - const: fsl,imx8mq | 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 | - description: i.MX8QXP based Boards | 464 | - description: i.MX8QXP based Boards |
| 376 | items: | 465 | items: |
| 377 | - enum: | 466 | - enum: |
| 378 | - einfochips,imx8qxp-ai_ml # i.MX8QXP AI_ML Board | 467 | - einfochips,imx8qxp-ai_ml # i.MX8QXP AI_ML Board |
| 379 | - fsl,imx8qxp-mek # i.MX8QXP MEK Board | 468 | - fsl,imx8qxp-mek # i.MX8QXP MEK Board |
| 380 | - toradex,colibri-imx8x # Colibri iMX8X Module | 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 | - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3 | 475 | - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3 |
| 476 | - const: toradex,colibri-imx8x | ||
| 382 | - const: fsl,imx8qxp | 477 | - const: fsl,imx8qxp |
| 383 | 478 | ||
| 384 | - description: | 479 | - description: |
| @@ -526,4 +621,6 @@ properties: · 141 unmodified lines | |||
| 526 | - fsl,s32v234-evb # S32V234-EVB2 Customer Evaluation Board | 621 | - fsl,s32v234-evb # S32V234-EVB2 Customer Evaluation Board |
| 527 | - const: fsl,s32v234 | 622 | - const: fsl,s32v234 |
| 528 | 623 | ||
| 624 | additionalProperties: true | ||
| 625 | |||
| 529 | ... | 626 | ... |
| @@ -64,4 +64,7 @@ properties: · 63 unmodified lines | |||
| 64 | items: | 64 | items: |
| 65 | - const: H836ASDJ | 65 | - const: H836ASDJ |
| 66 | - const: hisilicon,sd5203 | 66 | - const: hisilicon,sd5203 |
| 67 | |||
| 68 | additionalProperties: true | ||
| 69 | |||
| 67 | ... | 70 | ... |
| @@ -16,4 +16,7 @@ properties: · 15 unmodified lines | |||
| 16 | - enum: | 16 | - enum: |
| 17 | - intel,keembay-evm | 17 | - intel,keembay-evm |
| 18 | - const: intel,keembay | 18 | - const: intel,keembay |
| 19 | |||
| 20 | additionalProperties: true | ||
| 21 | |||
| 19 | ... | 22 | ... |
| @@ -22,3 +22,5 @@ properties: · 21 unmodified lines | |||
| 22 | - enum: | 22 | - enum: |
| 23 | - gateworks,gw2358 | 23 | - gateworks,gw2358 |
| 24 | - const: intel,ixp43x | 24 | - const: intel,ixp43x |
| 25 | |||
| 26 | additionalProperties: true | ||
| @@ -42,3 +42,5 @@ properties: · 41 unmodified lines | |||
| 42 | - description: TI-SCI processor id for the remote processor device | 42 | - description: TI-SCI processor id for the remote processor device |
| 43 | - description: TI-SCI host id to which processor control ownership | 43 | - description: TI-SCI host id to which processor control ownership |
| 44 | should be transferred to | 44 | should be transferred to |
| 45 | |||
| 46 | additionalProperties: true | ||
| @@ -59,3 +59,5 @@ properties: · 58 unmodified lines | |||
| 59 | - const: marvell,cn9130 | 59 | - const: marvell,cn9130 |
| 60 | - const: marvell,armada-ap807-quad | 60 | - const: marvell,armada-ap807-quad |
| 61 | - const: marvell,armada-ap807 | 61 | - const: marvell,armada-ap807 |
| 62 | |||
| 63 | additionalProperties: true | ||
| @@ -119,4 +119,7 @@ properties: · 118 unmodified lines | |||
| 119 | - const: google,krane-sku176 | 119 | - const: google,krane-sku176 |
| 120 | - const: google,krane | 120 | - const: google,krane |
| 121 | - const: mediatek,mt8183 | 121 | - const: mediatek,mt8183 |
| 122 | |||
| 123 | additionalProperties: true | ||
| 124 | |||
| 122 | ... | 125 | ... |
| @@ -15,6 +15,7 @@ Required Properties: · 14 unmodified lines | |||
| 15 | - "mediatek,mt7623-apmixedsys", "mediatek,mt2701-apmixedsys" | 15 | - "mediatek,mt7623-apmixedsys", "mediatek,mt2701-apmixedsys" |
| 16 | - "mediatek,mt7629-apmixedsys" | 16 | - "mediatek,mt7629-apmixedsys" |
| 17 | - "mediatek,mt8135-apmixedsys" | 17 | - "mediatek,mt8135-apmixedsys" |
| 18 | - "mediatek,mt8167-apmixedsys", "syscon" | ||
| 18 | - "mediatek,mt8173-apmixedsys" | 19 | - "mediatek,mt8173-apmixedsys" |
| 19 | - "mediatek,mt8183-apmixedsys", "syscon" | 20 | - "mediatek,mt8183-apmixedsys", "syscon" |
| 20 | - "mediatek,mt8516-apmixedsys" | 21 | - "mediatek,mt8516-apmixedsys" |
| @@ -11,6 +11,7 @@ Required Properties: · 10 unmodified lines | |||
| 11 | - "mediatek,mt6779-audio", "syscon" | 11 | - "mediatek,mt6779-audio", "syscon" |
| 12 | - "mediatek,mt7622-audsys", "syscon" | 12 | - "mediatek,mt7622-audsys", "syscon" |
| 13 | - "mediatek,mt7623-audsys", "mediatek,mt2701-audsys", "syscon" | 13 | - "mediatek,mt7623-audsys", "mediatek,mt2701-audsys", "syscon" |
| 14 | - "mediatek,mt8167-audiosys", "syscon" | ||
| 14 | - "mediatek,mt8183-audiosys", "syscon" | 15 | - "mediatek,mt8183-audiosys", "syscon" |
| 15 | - "mediatek,mt8516-audsys", "syscon" | 16 | - "mediatek,mt8516-audsys", "syscon" |
| 16 | - #clock-cells: Must be 1 | 17 | - #clock-cells: Must be 1 |
| @@ -12,6 +12,7 @@ Required Properties: · 11 unmodified lines | |||
| 12 | - "mediatek,mt6779-imgsys", "syscon" | 12 | - "mediatek,mt6779-imgsys", "syscon" |
| 13 | - "mediatek,mt6797-imgsys", "syscon" | 13 | - "mediatek,mt6797-imgsys", "syscon" |
| 14 | - "mediatek,mt7623-imgsys", "mediatek,mt2701-imgsys", "syscon" | 14 | - "mediatek,mt7623-imgsys", "mediatek,mt2701-imgsys", "syscon" |
| 15 | - "mediatek,mt8167-imgsys", "syscon" | ||
| 15 | - "mediatek,mt8173-imgsys", "syscon" | 16 | - "mediatek,mt8173-imgsys", "syscon" |
| 16 | - "mediatek,mt8183-imgsys", "syscon" | 17 | - "mediatek,mt8183-imgsys", "syscon" |
| 17 | - #clock-cells: Must be 1 | 18 | - #clock-cells: Must be 1 |
| @@ -16,6 +16,7 @@ Required Properties: · 15 unmodified lines | |||
| 16 | - "mediatek,mt7623-infracfg", "mediatek,mt2701-infracfg", "syscon" | 16 | - "mediatek,mt7623-infracfg", "mediatek,mt2701-infracfg", "syscon" |
| 17 | - "mediatek,mt7629-infracfg", "syscon" | 17 | - "mediatek,mt7629-infracfg", "syscon" |
| 18 | - "mediatek,mt8135-infracfg", "syscon" | 18 | - "mediatek,mt8135-infracfg", "syscon" |
| 19 | - "mediatek,mt8167-infracfg", "syscon" | ||
| 19 | - "mediatek,mt8173-infracfg", "syscon" | 20 | - "mediatek,mt8173-infracfg", "syscon" |
| 20 | - "mediatek,mt8183-infracfg", "syscon" | 21 | - "mediatek,mt8183-infracfg", "syscon" |
| 21 | - "mediatek,mt8516-infracfg", "syscon" | 22 | - "mediatek,mt8516-infracfg", "syscon" |
| @@ -8,6 +8,7 @@ Required Properties: · 7 unmodified lines | |||
| 8 | - compatible: Should be one of: | 8 | - compatible: Should be one of: |
| 9 | - "mediatek,mt2712-mfgcfg", "syscon" | 9 | - "mediatek,mt2712-mfgcfg", "syscon" |
| 10 | - "mediatek,mt6779-mfgcfg", "syscon" | 10 | - "mediatek,mt6779-mfgcfg", "syscon" |
| 11 | - "mediatek,mt8167-mfgcfg", "syscon" | ||
| 11 | - "mediatek,mt8183-mfgcfg", "syscon" | 12 | - "mediatek,mt8183-mfgcfg", "syscon" |
| 12 | - #clock-cells: Must be 1 | 13 | - #clock-cells: Must be 1 |
| 13 | 14 | ||
| @@ -15,6 +15,7 @@ Required Properties: · 14 unmodified lines | |||
| 15 | - "mediatek,mt7623-topckgen", "mediatek,mt2701-topckgen" | 15 | - "mediatek,mt7623-topckgen", "mediatek,mt2701-topckgen" |
| 16 | - "mediatek,mt7629-topckgen" | 16 | - "mediatek,mt7629-topckgen" |
| 17 | - "mediatek,mt8135-topckgen" | 17 | - "mediatek,mt8135-topckgen" |
| 18 | - "mediatek,mt8167-topckgen", "syscon" | ||
| 18 | - "mediatek,mt8173-topckgen" | 19 | - "mediatek,mt8173-topckgen" |
| 19 | - "mediatek,mt8183-topckgen", "syscon" | 20 | - "mediatek,mt8183-topckgen", "syscon" |
| 20 | - "mediatek,mt8516-topckgen" | 21 | - "mediatek,mt8516-topckgen" |
| @@ -11,6 +11,7 @@ Required Properties: · 10 unmodified lines | |||
| 11 | - "mediatek,mt6779-vdecsys", "syscon" | 11 | - "mediatek,mt6779-vdecsys", "syscon" |
| 12 | - "mediatek,mt6797-vdecsys", "syscon" | 12 | - "mediatek,mt6797-vdecsys", "syscon" |
| 13 | - "mediatek,mt7623-vdecsys", "mediatek,mt2701-vdecsys", "syscon" | 13 | - "mediatek,mt7623-vdecsys", "mediatek,mt2701-vdecsys", "syscon" |
| 14 | - "mediatek,mt8167-vdecsys", "syscon" | ||
| 14 | - "mediatek,mt8173-vdecsys", "syscon" | 15 | - "mediatek,mt8173-vdecsys", "syscon" |
| 15 | - "mediatek,mt8183-vdecsys", "syscon" | 16 | - "mediatek,mt8183-vdecsys", "syscon" |
| 16 | - #clock-cells: Must be 1 | 17 | - #clock-cells: Must be 1 |
| @@ -62,4 +62,6 @@ required: · 61 unmodified lines | |||
| 62 | - compatible | 62 | - compatible |
| 63 | - axi@600000000 | 63 | - axi@600000000 |
| 64 | 64 | ||
| 65 | additionalProperties: true | ||
| 66 | |||
| 65 | ... | 67 | ... |
| @@ -16,4 +16,5 @@ properties: · 15 unmodified lines | |||
| 16 | - const: moxa,moxart-uc-7112-lx | 16 | - const: moxa,moxart-uc-7112-lx |
| 17 | - const: moxa,moxart | 17 | - const: moxa,moxart |
| 18 | 18 | ||
| 19 | additionalProperties: true | ||
| 19 | ... | 20 | ... |
| @@ -35,4 +35,7 @@ properties: · 34 unmodified lines | |||
| 35 | - enum: | 35 | - enum: |
| 36 | - dell,wyse-ariel | 36 | - dell,wyse-ariel |
| 37 | - const: marvell,mmp3 | 37 | - const: marvell,mmp3 |
| 38 | |||
| 39 | additionalProperties: true | ||
| 40 | |||
| 38 | ... | 41 | ... |
| @@ -31,3 +31,5 @@ properties: · 30 unmodified lines | |||
| 31 | - enum: | 31 | - enum: |
| 32 | - 70mai,midrived08 # 70mai midrive d08 | 32 | - 70mai,midrived08 # 70mai midrive d08 |
| 33 | - const: mstar,mercury5 | 33 | - const: mstar,mercury5 |
| 34 | |||
| 35 | additionalProperties: true | ||
| @@ -21,4 +21,6 @@ properties: · 20 unmodified lines | |||
| 21 | - ea,ea3250 | 21 | - ea,ea3250 |
| 22 | - phytec,phy3250 | 22 | - phytec,phy3250 |
| 23 | - const: nxp,lpc3250 | 23 | - const: nxp,lpc3250 |
| 24 | |||
| 25 | additionalProperties: true | ||
| 24 | ... | 26 | ... |
| @@ -18,6 +18,7 @@ Required properties: · 17 unmodified lines | |||
| 18 | (base address and length) | 18 | (base address and length) |
| 19 | 19 | ||
| 20 | Optional properties: | 20 | Optional properties: |
| 21 | - #power-domain-cells: Should be 0 if the instance is a power domain provider. | ||
| 21 | - #reset-cells: Should be 1 if the PRM instance in question supports resets. | 22 | - #reset-cells: Should be 1 if the PRM instance in question supports resets. |
| 22 | 23 | ||
| 23 | Example: | 24 | Example: |
| @@ -25,5 +26,6 @@ Example: · 1 unmodified line | |||
| 25 | prm_dsp2: prm@1b00 { | 26 | prm_dsp2: prm@1b00 { |
| 26 | compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; | 27 | compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst"; |
| 27 | reg = <0x1b00 0x40>; | 28 | reg = <0x1b00 0x40>; |
| 29 | #power-domain-cells = <0>; | ||
| 28 | #reset-cells = <1>; | 30 | #reset-cells = <1>; |
| 29 | }; | 31 | }; |
| @@ -40,6 +40,7 @@ description: | · 39 unmodified lines | |||
| 40 | sdm630 | 40 | sdm630 |
| 41 | sdm660 | 41 | sdm660 |
| 42 | sdm845 | 42 | sdm845 |
| 43 | sm8250 | ||
| 43 | 44 | ||
| 44 | The 'board' element must be one of the following strings: | 45 | The 'board' element must be one of the following strings: |
| 45 | 46 | ||
| @@ -47,6 +48,8 @@ description: | · 1 unmodified line | |||
| 47 | cp01-c1 | 48 | cp01-c1 |
| 48 | dragonboard | 49 | dragonboard |
| 49 | hk01 | 50 | hk01 |
| 51 | hk10-c1 | ||
| 52 | hk10-c2 | ||
| 50 | idp | 53 | idp |
| 51 | liquid | 54 | liquid |
| 52 | mtp | 55 | mtp |
| @@ -150,6 +153,8 @@ properties: · 97 unmodified lines | |||
| 150 | - items: | 153 | - items: |
| 151 | - enum: | 154 | - enum: |
| 152 | - qcom,ipq8074-hk01 | 155 | - qcom,ipq8074-hk01 |
| 156 | - qcom,ipq8074-hk10-c1 | ||
| 157 | - qcom,ipq8074-hk10-c2 | ||
| 153 | - const: qcom,ipq8074 | 158 | - const: qcom,ipq8074 |
| 154 | 159 | ||
| 155 | - items: | 160 | - items: |
| @@ -167,4 +172,12 @@ properties: · 11 unmodified lines | |||
| 167 | - qcom,ipq6018-cp01-c1 | 172 | - qcom,ipq6018-cp01-c1 |
| 168 | - const: qcom,ipq6018 | 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 | - xunlong,orangepi-i96 # Orange Pi i96 | 19 | - xunlong,orangepi-i96 # Orange Pi i96 |
| 20 | - const: rda,8810pl | 20 | - const: rda,8810pl |
| 21 | 21 | ||
| 22 | additionalProperties: true | ||
| 23 | |||
| 22 | ... | 24 | ... |
| @@ -54,4 +54,7 @@ properties: · 53 unmodified lines | |||
| 54 | - enum: | 54 | - enum: |
| 55 | - realtek,mjolnir # Realtek Mjolnir EVB | 55 | - realtek,mjolnir # Realtek Mjolnir EVB |
| 56 | - const: realtek,rtd1619 | 56 | - const: realtek,rtd1619 |
| 57 | |||
| 58 | additionalProperties: true | ||
| 59 | |||
| 57 | ... | 60 | ... |
| @@ -281,10 +281,24 @@ properties: · 280 unmodified lines | |||
| 281 | - renesas,draak # Draak (RTP0RC77995SEB0010S) | 281 | - renesas,draak # Draak (RTP0RC77995SEB0010S) |
| 282 | - const: renesas,r8a77995 | 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 | - description: RZ/N1D (R9A06G032) | 296 | - description: RZ/N1D (R9A06G032) |
| 285 | items: | 297 | items: |
| 286 | - enum: | 298 | - enum: |
| 287 | - renesas,rzn1d400-db # RZN1D-DB (RZ/N1D Demo Board for the RZ/N1D 400 pins package) | 299 | - renesas,rzn1d400-db # RZN1D-DB (RZ/N1D Demo Board for the RZ/N1D 400 pins package) |
| 288 | - const: renesas,r9a06g032 | 300 | - const: renesas,r9a06g032 |
| 289 | 301 | ||
| 302 | additionalProperties: true | ||
| 303 | |||
| 290 | ... | 304 | ... |
| @@ -104,6 +104,11 @@ properties: · 103 unmodified lines | |||
| 104 | - firefly,roc-rk3399-pc-mezzanine | 104 | - firefly,roc-rk3399-pc-mezzanine |
| 105 | - const: rockchip,rk3399 | 105 | - const: rockchip,rk3399 |
| 106 | 106 | ||
| 107 | - description: FriendlyElec NanoPi R2S | ||
| 108 | items: | ||
| 109 | - const: friendlyarm,nanopi-r2s | ||
| 110 | - const: rockchip,rk3328 | ||
| 111 | |||
| 107 | - description: FriendlyElec NanoPi4 series boards | 112 | - description: FriendlyElec NanoPi4 series boards |
| 108 | items: | 113 | items: |
| 109 | - enum: | 114 | - enum: |
| @@ -430,8 +435,12 @@ properties: · 320 unmodified lines | |||
| 430 | - const: radxa,rock | 435 | - const: radxa,rock |
| 431 | - const: rockchip,rk3188 | 436 | - const: rockchip,rk3188 |
| 432 | 437 | ||
| 433 | - description: Radxa ROCK Pi 4 | 438 | - description: Radxa ROCK Pi 4A/B/C |
| 434 | items: | 439 | items: |
| 440 | - enum: | ||
| 441 | - radxa,rockpi4a | ||
| 442 | - radxa,rockpi4b | ||
| 443 | - radxa,rockpi4c | ||
| 435 | - const: radxa,rockpi4 | 444 | - const: radxa,rockpi4 |
| 436 | - const: rockchip,rk3399 | 445 | - const: rockchip,rk3399 |
| 437 | 446 | ||
| @@ -555,4 +564,12 @@ properties: · 117 unmodified lines | |||
| 555 | items: | 564 | items: |
| 556 | - const: tronsmart,orion-r68-meta | 565 | - const: tronsmart,orion-r68-meta |
| 557 | - const: rockchip,rk3368 | 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 | - samsung,exynos5420-pmu | 24 | - samsung,exynos5420-pmu |
| 25 | - samsung,exynos5433-pmu | 25 | - samsung,exynos5433-pmu |
| 26 | - samsung,exynos7-pmu | 26 | - samsung,exynos7-pmu |
| 27 | - samsung-s5pv210-pmu | ||
| 27 | required: | 28 | required: |
| 28 | - compatible | 29 | - compatible |
| 29 | 30 | ||
| @@ -40,6 +41,7 @@ properties: · 10 unmodified lines | |||
| 40 | - samsung,exynos5420-pmu | 41 | - samsung,exynos5420-pmu |
| 41 | - samsung,exynos5433-pmu | 42 | - samsung,exynos5433-pmu |
| 42 | - samsung,exynos7-pmu | 43 | - samsung,exynos7-pmu |
| 44 | - samsung-s5pv210-pmu | ||
| 43 | - const: syscon | 45 | - const: syscon |
| 44 | 46 | ||
| 45 | reg: | 47 | reg: |
| @@ -88,12 +90,28 @@ properties: · 42 unmodified lines | |||
| 88 | required: | 90 | required: |
| 89 | - compatible | 91 | - compatible |
| 90 | - reg | 92 | - reg |
| 91 | - '#clock-cells' | ||
| 92 | - clock-names | ||
| 93 | - clocks | ||
| 94 | 93 | ||
| 95 | additionalProperties: false | 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 | examples: | 115 | examples: |
| 98 | - | | 116 | - | |
| 99 | #include <dt-bindings/clock/exynos5250.h> | 117 | #include <dt-bindings/clock/exynos5250.h> |
| @@ -180,3 +180,5 @@ properties: · 179 unmodified lines | |||
| 180 | 180 | ||
| 181 | required: | 181 | required: |
| 182 | - compatible | 182 | - compatible |
| 183 | |||
| 184 | additionalProperties: true | ||
| @@ -24,4 +24,7 @@ properties: · 23 unmodified lines | |||
| 24 | - items: | 24 | - items: |
| 25 | - const: sirf,prima2-cb | 25 | - const: sirf,prima2-cb |
| 26 | - const: sirf,prima2 | 26 | - const: sirf,prima2 |
| 27 | |||
| 28 | additionalProperties: true | ||
| 29 | |||
| 27 | ... | 30 | ... |
| @@ -19,4 +19,7 @@ properties: · 18 unmodified lines | |||
| 19 | - enum: | 19 | - enum: |
| 20 | - socionext,milbeaut-m10v-evb | 20 | - socionext,milbeaut-m10v-evb |
| 21 | - const: socionext,sc2000a | 21 | - const: socionext,sc2000a |
| 22 | |||
| 23 | additionalProperties: true | ||
| 24 | |||
| 22 | ... | 25 | ... |
| @@ -60,3 +60,5 @@ properties: · 59 unmodified lines | |||
| 60 | - enum: | 60 | - enum: |
| 61 | - socionext,uniphier-pxs3-ref | 61 | - socionext,uniphier-pxs3-ref |
| 62 | - const: socionext,uniphier-pxs3 | 62 | - const: socionext,uniphier-pxs3 |
| 63 | |||
| 64 | additionalProperties: true | ||
| @@ -22,4 +22,7 @@ properties: · 21 unmodified lines | |||
| 22 | - st,spear320 | 22 | - st,spear320 |
| 23 | - st,spear1310 | 23 | - st,spear1310 |
| 24 | - st,spear1340 | 24 | - st,spear1340 |
| 25 | |||
| 26 | additionalProperties: true | ||
| 27 | |||
| 25 | ... | 28 | ... |
| @@ -30,4 +30,6 @@ properties: · 29 unmodified lines | |||
| 30 | - sprd,sp9863a-1h10 | 30 | - sprd,sp9863a-1h10 |
| 31 | - const: sprd,sc9863a | 31 | - const: sprd,sc9863a |
| 32 | 32 | ||
| 33 | additionalProperties: true | ||
| 34 | |||
| 33 | ... | 35 | ... |
| @@ -20,4 +20,7 @@ properties: · 19 unmodified lines | |||
| 20 | - st,stih407 | 20 | - st,stih407 |
| 21 | - st,stih410 | 21 | - st,stih410 |
| 22 | - st,stih418 | 22 | - st,stih418 |
| 23 | |||
| 24 | additionalProperties: true | ||
| 25 | |||
| 23 | ... | 26 | ... |
| @@ -52,4 +52,13 @@ properties: · 51 unmodified lines | |||
| 52 | - const: st,stm32mp157c-ev1 | 52 | - const: st,stm32mp157c-ev1 |
| 53 | - const: st,stm32mp157c-ed1 | 53 | - const: st,stm32mp157c-ed1 |
| 54 | - const: st,stm32mp157 | 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 | compatible: | 16 | compatible: |
| 17 | oneOf: | 17 | oneOf: |
| 18 | 18 | ||
| 19 | - description: Allwinner A100 Perf1 Board | ||
| 20 | items: | ||
| 21 | - const: allwinner,a100-perf1 | ||
| 22 | - const: allwinner,sun50i-a100 | ||
| 23 | |||
| 19 | - description: Allwinner A23 Evaluation Board | 24 | - description: Allwinner A23 Evaluation Board |
| 20 | items: | 25 | items: |
| 21 | - const: allwinner,sun8i-a23-evb | 26 | - const: allwinner,sun8i-a23-evb |
| @@ -626,6 +631,11 @@ properties: · 604 unmodified lines | |||
| 626 | - const: pine64,pine64-plus | 631 | - const: pine64,pine64-plus |
| 627 | - const: allwinner,sun50i-a64 | 632 | - const: allwinner,sun50i-a64 |
| 628 | 633 | ||
| 634 | - description: Pine64 PineCube | ||
| 635 | items: | ||
| 636 | - const: pine64,pinecube | ||
| 637 | - const: allwinner,sun8i-s3 | ||
| 638 | |||
| 629 | - description: Pine64 PineH64 model A | 639 | - description: Pine64 PineH64 model A |
| 630 | items: | 640 | items: |
| 631 | - const: pine64,pine-h64 | 641 | - const: pine64,pine-h64 |
| @@ -883,3 +893,5 @@ properties: · 251 unmodified lines | |||
| 883 | items: | 893 | items: |
| 884 | - const: xunlong,orangepi-zero-plus2-h3 | 894 | - const: xunlong,orangepi-zero-plus2-h3 |
| 885 | - const: allwinner,sun8i-h3 | 895 | - const: allwinner,sun8i-h3 |
| 896 | |||
| 897 | additionalProperties: true | ||
| @@ -121,3 +121,9 @@ properties: · 120 unmodified lines | |||
| 121 | items: | 121 | items: |
| 122 | - const: nvidia,p3509-0000+p3668-0000 | 122 | - const: nvidia,p3509-0000+p3668-0000 |
| 123 | - const: nvidia,tegra194 | 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 | - compatible: Should contain one of the following: | 4 | - compatible: Should contain one of the following: |
| 5 | - "nvidia,tegra186-pmc": for Tegra186 | 5 | - "nvidia,tegra186-pmc": for Tegra186 |
| 6 | - "nvidia,tegra194-pmc": for Tegra194 | 6 | - "nvidia,tegra194-pmc": for Tegra194 |
| 7 | - "nvidia,tegra234-pmc": for Tegra234 | ||
| 7 | - reg: Must contain an (offset, length) pair of the register set for each | 8 | - reg: Must contain an (offset, length) pair of the register set for each |
| 8 | entry in reg-names. | 9 | entry in reg-names. |
| 9 | - reg-names: Must include the following entries: | 10 | - reg-names: Must include the following entries: |
| @@ -11,7 +12,7 @@ Required properties: · 1 unmodified line | |||
| 11 | - "wake" | 12 | - "wake" |
| 12 | - "aotag" | 13 | - "aotag" |
| 13 | - "scratch" | 14 | - "scratch" |
| 14 | - "misc" (Only for Tegra194) | 15 | - "misc" (Only for Tegra194 and later) |
| 15 | 16 | ||
| 16 | Optional properties: | 17 | Optional properties: |
| 17 | - nvidia,invert-interrupt: If present, inverts the PMU interrupt signal. | 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 | - ti,nspire-tp | 21 | - ti,nspire-tp |
| 22 | # Clickpad models | 22 | # Clickpad models |
| 23 | - ti,nspire-clp | 23 | - ti,nspire-clp |
| 24 | |||
| 25 | additionalProperties: true | ||
| 26 | |||
| 24 | ... | 27 | ... |
| @@ -23,4 +23,7 @@ properties: · 22 unmodified lines | |||
| 23 | - enbw,cmc # EnBW AM1808 based CMC board | 23 | - enbw,cmc # EnBW AM1808 based CMC board |
| 24 | - lego,ev3 # LEGO MINDSTORMS EV3 (AM1808 based) | 24 | - lego,ev3 # LEGO MINDSTORMS EV3 (AM1808 based) |
| 25 | - const: ti,da850 | 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 | items: | 34 | items: |
| 35 | - const: samsung,golden | 35 | - const: samsung,golden |
| 36 | - const: st-ericsson,u8500 | 36 | - const: st-ericsson,u8500 |
| 37 | |||
| 38 | additionalProperties: true | ||
| @@ -21,3 +21,6 @@ properties: · 20 unmodified lines | |||
| 21 | - wm,wm8650 | 21 | - wm,wm8650 |
| 22 | - wm,wm8750 | 22 | - wm,wm8750 |
| 23 | - wm,wm8850 | 23 | - wm,wm8850 |
| 24 | |||
| 25 | additionalProperties: true | ||
| 26 | |||
| @@ -111,4 +111,6 @@ properties: · 110 unmodified lines | |||
| 111 | - const: xlnx,zynqmp-zcu111 | 111 | - const: xlnx,zynqmp-zcu111 |
| 112 | - const: xlnx,zynqmp | 112 | - const: xlnx,zynqmp |
| 113 | 113 | ||
| 114 | additionalProperties: true | ||
| 115 | |||
| 114 | ... | 116 | ... |
| @@ -23,4 +23,6 @@ properties: · 22 unmodified lines | |||
| 23 | - zte,zx296718-evb | 23 | - zte,zx296718-evb |
| 24 | - const: zte,zx296718 | 24 | - const: zte,zx296718 |
| 25 | 25 | ||
| 26 | additionalProperties: true | ||
| 27 | |||
| 26 | ... | 28 | ... |
| @@ -10,7 +10,8 @@ Required properties: · 9 unmodified lines | |||
| 10 | "brcm,bcm7038-gisb-arb" for 130nm chips | 10 | "brcm,bcm7038-gisb-arb" for 130nm chips |
| 11 | - reg: specifies the base physical address and size of the registers | 11 | - reg: specifies the base physical address and size of the registers |
| 12 | - interrupts: specifies the two interrupts (timeout and TEA) to be used from | 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 | Optional properties: | 16 | Optional properties: |
| 16 | 17 | ||
| @@ -36,6 +36,8 @@ properties: · 35 unmodified lines | |||
| 36 | - allwinner,sun9i-a80-ccu | 36 | - allwinner,sun9i-a80-ccu |
| 37 | - allwinner,sun50i-a64-ccu | 37 | - allwinner,sun50i-a64-ccu |
| 38 | - allwinner,sun50i-a64-r-ccu | 38 | - allwinner,sun50i-a64-r-ccu |
| 39 | - allwinner,sun50i-a100-ccu | ||
| 40 | - allwinner,sun50i-a100-r-ccu | ||
| 39 | - allwinner,sun50i-h5-ccu | 41 | - allwinner,sun50i-h5-ccu |
| 40 | - allwinner,sun50i-h6-ccu | 42 | - allwinner,sun50i-h6-ccu |
| 41 | - allwinner,sun50i-h6-r-ccu | 43 | - allwinner,sun50i-h6-r-ccu |
| @@ -78,6 +80,7 @@ if: · 36 unmodified lines | |||
| 78 | - allwinner,sun8i-a83t-r-ccu | 80 | - allwinner,sun8i-a83t-r-ccu |
| 79 | - allwinner,sun8i-h3-r-ccu | 81 | - allwinner,sun8i-h3-r-ccu |
| 80 | - allwinner,sun50i-a64-r-ccu | 82 | - allwinner,sun50i-a64-r-ccu |
| 83 | - allwinner,sun50i-a100-r-ccu | ||
| 81 | - allwinner,sun50i-h6-r-ccu | 84 | - allwinner,sun50i-h6-r-ccu |
| 82 | 85 | ||
| 83 | then: | 86 | then: |
| @@ -94,7 +97,9 @@ else: · 10 unmodified lines | |||
| 94 | if: | 97 | if: |
| 95 | properties: | 98 | properties: |
| 96 | compatible: | 99 | compatible: |
| 97 | const: allwinner,sun50i-h6-ccu | 100 | enum: |
| 101 | - allwinner,sun50i-a100-ccu | ||
| 102 | - allwinner,sun50i-h6-ccu | ||
| 98 | 103 | ||
| 99 | then: | 104 | then: |
| 100 | properties: | 105 | properties: |
| @@ -4,7 +4,7 @@ Clock control registers reside in different Hi6220 system controllers, · 3 unmodified lines | |||
| 4 | please refer the following document to know more about the binding rules | 4 | please refer the following document to know more about the binding rules |
| 5 | for these system controllers: | 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 | Required Properties: | 9 | Required Properties: |
| 10 | 10 | ||
| @@ -57,7 +57,7 @@ examples: · 56 unmodified lines | |||
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | can@53fc8000 { | 59 | can@53fc8000 { |
| 60 | compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; | 60 | compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan"; |
| 61 | reg = <0x53fc8000 0x4000>; | 61 | reg = <0x53fc8000 0x4000>; |
| 62 | interrupts = <82>; | 62 | interrupts = <82>; |
| 63 | clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>; | 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 | # SPDX-License-Identifier: GPL-2.0-only | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | %YAML 1.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 | $schema: http://devicetree.org/meta-schemas/core.yaml# | 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 | maintainers: | 9 | maintainers: |
| 10 | - Taniya Das <tdas@codeaurora.org> | 10 | - Taniya Das <tdas@codeaurora.org> |
| 11 | 11 | ||
| 12 | description: | | 12 | description: | |
| 13 | Qualcomm video clock control module which supports the clocks, resets and | 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 | properties: | 22 | properties: |
| 19 | compatible: | 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 | clocks: | 30 | clocks: |
| 23 | items: | 31 | items: |
| @@ -47,6 +47,7 @@ properties: · 46 unmodified lines | |||
| 47 | - renesas,r8a77980-cpg-mssr # R-Car V3H | 47 | - renesas,r8a77980-cpg-mssr # R-Car V3H |
| 48 | - renesas,r8a77990-cpg-mssr # R-Car E3 | 48 | - renesas,r8a77990-cpg-mssr # R-Car E3 |
| 49 | - renesas,r8a77995-cpg-mssr # R-Car D3 | 49 | - renesas,r8a77995-cpg-mssr # R-Car D3 |
| 50 | - renesas,r8a779a0-cpg-mssr # R-Car V3U | ||
| 50 | 51 | ||
| 51 | reg: | 52 | reg: |
| 52 | maxItems: 1 | 53 | maxItems: 1 |
| @@ -23,7 +23,9 @@ properties: · 22 unmodified lines | |||
| 23 | - items: | 23 | - items: |
| 24 | - const: allwinner,sun7i-a20-crypto | 24 | - const: allwinner,sun7i-a20-crypto |
| 25 | - const: allwinner,sun4i-a10-crypto | 25 | - const: allwinner,sun4i-a10-crypto |
| 26 | - const: allwinner,sun8i-a33-crypto | ||
| 26 | - items: | 27 | - items: |
| 28 | - const: allwinner,sun8i-v3s-crypto | ||
| 27 | - const: allwinner,sun8i-a33-crypto | 29 | - const: allwinner,sun8i-a33-crypto |
| 28 | 30 | ||
| 29 | reg: | 31 | reg: |
| @@ -59,7 +61,9 @@ if: · 29 unmodified lines | |||
| 59 | properties: | 61 | properties: |
| 60 | compatible: | 62 | compatible: |
| 61 | contains: | 63 | contains: |
| 62 | const: allwinner,sun6i-a31-crypto | 64 | enum: |
| 65 | - allwinner,sun6i-a31-crypto | ||
| 66 | - allwinner,sun8i-a33-crypto | ||
| 63 | 67 | ||
| 64 | then: | 68 | then: |
| 65 | required: | 69 | required: |
| @@ -7,17 +7,17 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# · 6 unmodified lines | |||
| 7 | title: Toshiba TC358775 DSI to LVDS bridge bindings | 7 | title: Toshiba TC358775 DSI to LVDS bridge bindings |
| 8 | 8 | ||
| 9 | maintainers: | 9 | maintainers: |
| 10 | - Vinay Simha BN <simhavcs@gmail.com> | 10 | - Vinay Simha BN <simhavcs@gmail.com> |
| 11 | 11 | ||
| 12 | description: | | 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. | 15 | MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane. |
| 16 | Video frame size: | 16 | Video frame size: |
| 17 | Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel | 17 | Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel |
| 18 | limited by 135 MHz LVDS speed | 18 | limited by 135 MHz LVDS speed |
| 19 | Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display | 19 | Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display |
| 20 | panel, limited by 270 MHz LVDS speed. | 20 | panel, limited by 270 MHz LVDS speed. |
| 21 | 21 | ||
| 22 | properties: | 22 | properties: |
| 23 | compatible: | 23 | compatible: |
| @@ -29,7 +29,7 @@ properties: · 5 unmodified lines | |||
| 29 | 29 | ||
| 30 | vdd-supply: | 30 | vdd-supply: |
| 31 | maxItems: 1 | 31 | maxItems: 1 |
| 32 | description: 1.2V LVDS Power Supply | 32 | description: 1.2V LVDS Power Supply |
| 33 | 33 | ||
| 34 | vddio-supply: | 34 | vddio-supply: |
| 35 | maxItems: 1 | 35 | maxItems: 1 |
| @@ -77,16 +77,18 @@ properties: · 41 unmodified lines | |||
| 77 | - port@1 | 77 | - port@1 |
| 78 | 78 | ||
| 79 | required: | 79 | required: |
| 80 | - compatible | 80 | - compatible |
| 81 | - reg | 81 | - reg |
| 82 | - vdd-supply | 82 | - vdd-supply |
| 83 | - vddio-supply | 83 | - vddio-supply |
| 84 | - stby-gpios | 84 | - stby-gpios |
| 85 | - reset-gpios | 85 | - reset-gpios |
| 86 | - ports | 86 | - ports |
| 87 | |||
| 88 | additionalProperties: false | ||
| 87 | 89 | ||
| 88 | examples: | 90 | examples: |
| 89 | - | | 91 | - | |
| 90 | #include <dt-bindings/gpio/gpio.h> | 92 | #include <dt-bindings/gpio/gpio.h> |
| 91 | 93 | ||
| 92 | /* For single-link LVDS display panel */ | 94 | /* For single-link LVDS display panel */ |
| @@ -147,7 +149,7 @@ examples: · 54 unmodified lines | |||
| 147 | }; | 149 | }; |
| 148 | }; | 150 | }; |
| 149 | 151 | ||
| 150 | - | | 152 | - | |
| 151 | /* For dual-link LVDS display panel */ | 153 | /* For dual-link LVDS display panel */ |
| 152 | 154 | ||
| 153 | i2c@78b8000 { | 155 | i2c@78b8000 { |
| @@ -13,9 +13,8 @@ properties: · 12 unmodified lines | |||
| 13 | compatible: | 13 | compatible: |
| 14 | items: | 14 | items: |
| 15 | - enum: | 15 | - enum: |
| 16 | - bananapi,lhr050h41 | 16 | - bananapi,lhr050h41 |
| 17 | - feixin,k101-im2byl02 | 17 | - feixin,k101-im2byl02 |
| 18 | |||
| 19 | - const: ilitek,ili9881c | 18 | - const: ilitek,ili9881c |
| 20 | 19 | ||
| 21 | backlight: true | 20 | backlight: true |
| @@ -37,6 +37,9 @@ properties: · 36 unmodified lines | |||
| 37 | 37 | ||
| 38 | reset-gpios: true | 38 | reset-gpios: true |
| 39 | 39 | ||
| 40 | 'mantix,tp-rstn-gpios': | ||
| 41 | description: second reset line that triggers DSI config load | ||
| 42 | |||
| 40 | backlight: true | 43 | backlight: true |
| 41 | 44 | ||
| 42 | required: | 45 | required: |
| @@ -63,6 +66,7 @@ examples: · 20 unmodified lines | |||
| 63 | avee-supply = <®_avee>; | 66 | avee-supply = <®_avee>; |
| 64 | vddi-supply = <®_1v8_p>; | 67 | vddi-supply = <®_1v8_p>; |
| 65 | reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; | 68 | reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; |
| 69 | mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; | ||
| 66 | backlight = <&backlight>; | 70 | backlight = <&backlight>; |
| 67 | }; | 71 | }; |
| 68 | }; | 72 | }; |
| @@ -37,7 +37,7 @@ Optional nodes: · 36 unmodified lines | |||
| 37 | supports a single port with a single endpoint. | 37 | supports a single port with a single endpoint. |
| 38 | 38 | ||
| 39 | - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and | 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 | tfp410 DVI encoder or lcd panel to lcdc | 41 | tfp410 DVI encoder or lcd panel to lcdc |
| 42 | 42 | ||
| 43 | [1] There is an errata about AM335x color wiring. For 16-bit color mode | 43 | [1] There is an errata about AM335x color wiring. For 16-bit color mode |
| @@ -19,9 +19,12 @@ properties: · 18 unmodified lines | |||
| 19 | description: The cell is the request line number. | 19 | description: The cell is the request line number. |
| 20 | 20 | ||
| 21 | compatible: | 21 | compatible: |
| 22 | enum: | 22 | oneOf: |
| 23 | - allwinner,sun50i-a64-dma | 23 | - const: allwinner,sun50i-a64-dma |
| 24 | - allwinner,sun50i-h6-dma | 24 | - const: allwinner,sun50i-h6-dma |
| 25 | - items: | ||
| 26 | - const: allwinner,sun8i-r40-dma | ||
| 27 | - const: allwinner,sun50i-a64-dma | ||
| 25 | 28 | ||
| 26 | reg: | 29 | reg: |
| 27 | maxItems: 1 | 30 | maxItems: 1 |
| @@ -48,6 +48,7 @@ required: · 47 unmodified lines | |||
| 48 | - "#address-cells" | 48 | - "#address-cells" |
| 49 | - "#size-cells" | 49 | - "#size-cells" |
| 50 | 50 | ||
| 51 | additionalProperties: false | ||
| 51 | 52 | ||
| 52 | examples: | 53 | examples: |
| 53 | - | | 54 | - | |
| @@ -114,6 +114,9 @@ properties: · 113 unmodified lines | |||
| 114 | - const: renesas,r1ex24128 | 114 | - const: renesas,r1ex24128 |
| 115 | - const: atmel,24c128 | 115 | - const: atmel,24c128 |
| 116 | 116 | ||
| 117 | label: | ||
| 118 | description: Descriptive name of the EEPROM. | ||
| 119 | |||
| 117 | reg: | 120 | reg: |
| 118 | maxItems: 1 | 121 | maxItems: 1 |
| 119 | 122 | ||
| @@ -81,14 +81,14 @@ properties: · 80 unmodified lines | |||
| 81 | at25,byte-len: | 81 | at25,byte-len: |
| 82 | $ref: /schemas/types.yaml#/definitions/uint32 | 82 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 83 | description: | 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 | deprecated: true | 85 | deprecated: true |
| 86 | 86 | ||
| 87 | at25,addr-mode: | 87 | at25,addr-mode: |
| 88 | $ref: /schemas/types.yaml#/definitions/uint32 | 88 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 89 | description: | 89 | description: |
| 90 | Addr-mode flags, as defined in include/linux/spi/eeprom.h. | 90 | Addr-mode flags, as defined in include/linux/spi/eeprom.h. |
| 91 | Deprecated, use "address-width" property instead. | 91 | Deprecated, use "address-width" property instead. |
| 92 | deprecated: true | 92 | deprecated: true |
| 93 | 93 | ||
| 94 | at25,page-size: | 94 | at25,page-size: |
| @@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines | |||
| 7 | For Tegra132 must contain "nvidia,tegra132-efuse", "nvidia,tegra124-efuse". | 7 | For Tegra132 must contain "nvidia,tegra132-efuse", "nvidia,tegra124-efuse". |
| 8 | For Tegra210 must contain "nvidia,tegra210-efuse". For Tegra186 must contain | 8 | For Tegra210 must contain "nvidia,tegra210-efuse". For Tegra186 must contain |
| 9 | "nvidia,tegra186-efuse". For Tegra194 must contain "nvidia,tegra194-efuse". | 9 | "nvidia,tegra186-efuse". For Tegra194 must contain "nvidia,tegra194-efuse". |
| 10 | For Tegra234 must contain "nvidia,tegra234-efuse". | ||
| 10 | Details: | 11 | Details: |
| 11 | nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data | 12 | nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data |
| 12 | due to a hardware bug. Tegra20 also lacks certain information which is | 13 | due to a hardware bug. Tegra20 also lacks certain information which is |
| @@ -43,8 +43,8 @@ properties: · 42 unmodified lines | |||
| 43 | gpio-controller: true | 43 | gpio-controller: true |
| 44 | 44 | ||
| 45 | gpio-line-names: | 45 | gpio-line-names: |
| 46 | minItems: 1 | 46 | minItems: 1 |
| 47 | maxItems: 8 | 47 | maxItems: 8 |
| 48 | 48 | ||
| 49 | required: | 49 | required: |
| 50 | - compatible | 50 | - compatible |
| @@ -25,6 +25,7 @@ properties: · 24 unmodified lines | |||
| 25 | - allwinner,sun4i-a10-mali | 25 | - allwinner,sun4i-a10-mali |
| 26 | - allwinner,sun7i-a20-mali | 26 | - allwinner,sun7i-a20-mali |
| 27 | - allwinner,sun8i-h3-mali | 27 | - allwinner,sun8i-h3-mali |
| 28 | - allwinner,sun8i-r40-mali | ||
| 28 | - allwinner,sun50i-a64-mali | 29 | - allwinner,sun50i-a64-mali |
| 29 | - rockchip,rk3036-mali | 30 | - rockchip,rk3036-mali |
| 30 | - rockchip,rk3066-mali | 31 | - rockchip,rk3066-mali |
| @@ -131,6 +132,7 @@ allOf: · 100 unmodified lines | |||
| 131 | enum: | 132 | enum: |
| 132 | - allwinner,sun4i-a10-mali | 133 | - allwinner,sun4i-a10-mali |
| 133 | - allwinner,sun7i-a20-mali | 134 | - allwinner,sun7i-a20-mali |
| 135 | - allwinner,sun8i-r40-mali | ||
| 134 | - allwinner,sun50i-a64-mali | 136 | - allwinner,sun50i-a64-mali |
| 135 | - allwinner,sun50i-h5-mali | 137 | - allwinner,sun50i-h5-mali |
| 136 | - amlogic,meson8-mali | 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 | maintainers: | 9 | maintainers: |
| 10 | - Anson Huang <Anson.Huang@nxp.com> | 10 | - Anson Huang <Anson.Huang@nxp.com> |
| 11 | 11 | ||
| 12 | allOf: | ||
| 13 | - $ref: /schemas/i2c/i2c-controller.yaml# | ||
| 14 | |||
| 12 | properties: | 15 | properties: |
| 13 | compatible: | 16 | compatible: |
| 14 | enum: | 17 | oneOf: |
| 15 | - fsl,imx7ulp-lpi2c | 18 | - enum: |
| 16 | - fsl,imx8qxp-lpi2c | 19 | - fsl,imx7ulp-lpi2c |
| 17 | - fsl,imx8qm-lpi2c | 20 | - fsl,imx8qm-lpi2c |
| 21 | - items: | ||
| 22 | - const: fsl,imx8qxp-lpi2c | ||
| 23 | - const: fsl,imx7ulp-lpi2c | ||
| 18 | 24 | ||
| 19 | reg: | 25 | reg: |
| 20 | maxItems: 1 | 26 | maxItems: 1 |
| @@ -22,23 +28,34 @@ properties: · 1 unmodified line | |||
| 22 | interrupts: | 28 | interrupts: |
| 23 | maxItems: 1 | 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 | clocks: | 39 | clocks: |
| 26 | maxItems: 1 | 40 | maxItems: 1 |
| 27 | 41 | ||
| 42 | power-domains: | ||
| 43 | maxItems: 1 | ||
| 44 | |||
| 28 | required: | 45 | required: |
| 29 | - compatible | 46 | - compatible |
| 30 | - reg | 47 | - reg |
| 31 | - interrupts | 48 | - interrupts |
| 32 | - clocks | 49 | - clocks |
| 33 | 50 | ||
| 34 | additionalProperties: false | 51 | unevaluatedProperties: false |
| 35 | 52 | ||
| 36 | examples: | 53 | examples: |
| 37 | - | | 54 | - | |
| 38 | #include <dt-bindings/clock/imx7ulp-clock.h> | 55 | #include <dt-bindings/clock/imx7ulp-clock.h> |
| 39 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 56 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 40 | 57 | ||
| 41 | lpi2c7@40a50000 { | 58 | i2c@40a50000 { |
| 42 | compatible = "fsl,imx7ulp-lpi2c"; | 59 | compatible = "fsl,imx7ulp-lpi2c"; |
| 43 | reg = <0x40A50000 0x10000>; | 60 | reg = <0x40A50000 0x10000>; |
| 44 | interrupt-parent = <&intc>; | 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 | maintainers: | 9 | maintainers: |
| 10 | - Wolfram Sang <wolfram@the-dreams.de> | 10 | - Wolfram Sang <wolfram@the-dreams.de> |
| 11 | 11 | ||
| 12 | allOf: | ||
| 13 | - $ref: /schemas/i2c/i2c-controller.yaml# | ||
| 14 | |||
| 12 | properties: | 15 | properties: |
| 13 | compatible: | 16 | compatible: |
| 14 | oneOf: | 17 | oneOf: |
| @@ -18,6 +21,9 @@ properties: · 3 unmodified lines | |||
| 18 | - items: | 21 | - items: |
| 19 | - const: fsl,imx35-i2c | 22 | - const: fsl,imx35-i2c |
| 20 | - const: fsl,imx1-i2c | 23 | - const: fsl,imx1-i2c |
| 24 | - items: | ||
| 25 | - const: fsl,imx7d-i2c | ||
| 26 | - const: fsl,imx21-i2c | ||
| 21 | - items: | 27 | - items: |
| 22 | - enum: | 28 | - enum: |
| 23 | - fsl,imx25-i2c | 29 | - fsl,imx25-i2c |
| @@ -75,7 +81,7 @@ required: · 51 unmodified lines | |||
| 75 | - interrupts | 81 | - interrupts |
| 76 | - clocks | 82 | - clocks |
| 77 | 83 | ||
| 78 | additionalProperties: false | 84 | unevaluatedProperties: false |
| 79 | 85 | ||
| 80 | examples: | 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 | this information to detect a stalled bus more reliably, for example. | 87 | this information to detect a stalled bus more reliably, for example. |
| 88 | Can not be combined with 'multi-master'. | 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 | Required properties (per child device) | 95 | Required properties (per child device) |
| 91 | -------------------------------------- | 96 | -------------------------------------- |
| 92 | 97 | ||
| @@ -17,9 +17,13 @@ properties: · 16 unmodified lines | |||
| 17 | pattern: "^i2c@[0-9a-f]+$" | 17 | pattern: "^i2c@[0-9a-f]+$" |
| 18 | 18 | ||
| 19 | compatible: | 19 | compatible: |
| 20 | enum: | 20 | oneOf: |
| 21 | - ingenic,jz4780-i2c | 21 | - enum: |
| 22 | - ingenic,x1000-i2c | 22 | - ingenic,jz4770-i2c |
| 23 | - ingenic,x1000-i2c | ||
| 24 | - items: | ||
| 25 | - const: ingenic,jz4780-i2c | ||
| 26 | - const: ingenic,jz4770-i2c | ||
| 23 | 27 | ||
| 24 | reg: | 28 | reg: |
| 25 | maxItems: 1 | 29 | maxItems: 1 |
| @@ -60,7 +64,7 @@ examples: · 34 unmodified lines | |||
| 60 | #include <dt-bindings/dma/jz4780-dma.h> | 64 | #include <dt-bindings/dma/jz4780-dma.h> |
| 61 | #include <dt-bindings/interrupt-controller/irq.h> | 65 | #include <dt-bindings/interrupt-controller/irq.h> |
| 62 | i2c@10054000 { | 66 | i2c@10054000 { |
| 63 | compatible = "ingenic,jz4780-i2c"; | 67 | compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c"; |
| 64 | #address-cells = <1>; | 68 | #address-cells = <1>; |
| 65 | #size-cells = <0>; | 69 | #size-cells = <0>; |
| 66 | reg = <0x10054000 0x1000>; | 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 | vref-supply = <&adc_vref>; | 43 | vref-supply = <&adc_vref>; |
| 44 | }; | 44 | }; |
| 45 | }; | 45 | }; |
| 46 | ... | 46 | ... |
| 47 | |||
| @@ -46,7 +46,8 @@ properties: · 45 unmodified lines | |||
| 46 | spi-max-frequency: true | 46 | spi-max-frequency: true |
| 47 | 47 | ||
| 48 | spi-cpol: true | 48 | spi-cpol: true |
| 49 | spi-cpha : true | 49 | |
| 50 | spi-cpha: true | ||
| 50 | 51 | ||
| 51 | "#io-channel-cells": | 52 | "#io-channel-cells": |
| 52 | const: 1 | 53 | const: 1 |
| @@ -22,8 +22,8 @@ properties: · 21 unmodified lines | |||
| 22 | adc-reserved-channels: | 22 | adc-reserved-channels: |
| 23 | $ref: /schemas/types.yaml#/definitions/uint32 | 23 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 24 | description: | 24 | description: |
| 25 | Bitmask of reserved channels, i.e. channels that cannot be | 25 | Bitmask of reserved channels, i.e. channels that cannot be |
| 26 | used by the OS. | 26 | used by the OS. |
| 27 | 27 | ||
| 28 | clocks: | 28 | clocks: |
| 29 | maxItems: 1 | 29 | maxItems: 1 |
| @@ -21,7 +21,7 @@ properties: · 20 unmodified lines | |||
| 21 | 21 | ||
| 22 | gpios: | 22 | gpios: |
| 23 | description: | 23 | description: |
| 24 | GPIO used for controlling the reset pin | 24 | GPIO used for controlling the reset pin |
| 25 | maxItems: 1 | 25 | maxItems: 1 |
| 26 | 26 | ||
| 27 | spi-max-frequency: true | 27 | spi-max-frequency: true |
| @@ -28,6 +28,8 @@ required: · 27 unmodified lines | |||
| 28 | - reg | 28 | - reg |
| 29 | - vref-supply | 29 | - vref-supply |
| 30 | 30 | ||
| 31 | additionalProperties: false | ||
| 32 | |||
| 31 | examples: | 33 | examples: |
| 32 | - | | 34 | - | |
| 33 | i2c { | 35 | i2c { |
| @@ -32,6 +32,8 @@ required: · 31 unmodified lines | |||
| 32 | - compatible | 32 | - compatible |
| 33 | - reg | 33 | - reg |
| 34 | 34 | ||
| 35 | additionalProperties: false | ||
| 36 | |||
| 35 | examples: | 37 | examples: |
| 36 | - | | 38 | - | |
| 37 | i2c0 { | 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 | - items: | 29 | - items: |
| 30 | - const: allwinner,sun8i-a83t-r-intc | 30 | - const: allwinner,sun8i-a83t-r-intc |
| 31 | - const: allwinner,sun6i-a31-r-intc | 31 | - const: allwinner,sun6i-a31-r-intc |
| 32 | - const: allwinner,sun9i-a80-sc-nmi | 32 | - const: allwinner,sun9i-a80-nmi |
| 33 | - items: | 33 | - items: |
| 34 | - const: allwinner,sun50i-a64-r-intc | 34 | - const: allwinner,sun50i-a64-r-intc |
| 35 | - const: allwinner,sun6i-a31-r-intc | 35 | - const: allwinner,sun6i-a31-r-intc |
| 36 | - items: | ||
| 37 | - const: allwinner,sun50i-a100-nmi | ||
| 38 | - const: allwinner,sun9i-a80-nmi | ||
| 36 | - items: | 39 | - items: |
| 37 | - const: allwinner,sun50i-h6-r-intc | 40 | - const: allwinner,sun50i-h6-r-intc |
| 38 | - const: allwinner,sun6i-a31-r-intc | 41 | - const: allwinner,sun6i-a31-r-intc |
| @@ -94,12 +94,12 @@ properties: · 93 unmodified lines | |||
| 94 | instances. | 94 | instances. |
| 95 | 95 | ||
| 96 | required: | 96 | required: |
| 97 | - compatible | 97 | - compatible |
| 98 | - reg | 98 | - reg |
| 99 | - interrupts | 99 | - interrupts |
| 100 | - interrupt-names | 100 | - interrupt-names |
| 101 | - interrupt-controller | 101 | - interrupt-controller |
| 102 | - "#interrupt-cells" | 102 | - "#interrupt-cells" |
| 103 | 103 | ||
| 104 | additionalProperties: false | 104 | additionalProperties: false |
| 105 | 105 | ||
| @@ -32,6 +32,11 @@ description: | · 31 unmodified lines | |||
| 32 | | | vint | bit | | 0 |.....|63| vintx | | 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 | Configuration of these Intmap registers that maps global events to vint is | 42 | Configuration of these Intmap registers that maps global events to vint is |
| @@ -70,6 +75,11 @@ properties: · 32 unmodified lines | |||
| 70 | - description: | | 75 | - description: | |
| 71 | "limit" specifies the limit for translation | 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 | required: | 83 | required: |
| 74 | - compatible | 84 | - compatible |
| 75 | - reg | 85 | - reg |
| @@ -79,6 +89,8 @@ required: · 3 unmodified lines | |||
| 79 | - ti,sci-dev-id | 89 | - ti,sci-dev-id |
| 80 | - ti,interrupt-ranges | 90 | - ti,interrupt-ranges |
| 81 | 91 | ||
| 92 | unevaluatedProperties: false | ||
| 93 | |||
| 82 | examples: | 94 | examples: |
| 83 | - | | 95 | - | |
| 84 | bus { | 96 | bus { |
| @@ -88,6 +88,8 @@ required: · 87 unmodified lines | |||
| 88 | - ti,sci-dev-id | 88 | - ti,sci-dev-id |
| 89 | - ti,interrupt-ranges | 89 | - ti,interrupt-ranges |
| 90 | 90 | ||
| 91 | unevaluatedProperties: false | ||
| 92 | |||
| 91 | examples: | 93 | examples: |
| 92 | - | | 94 | - | |
| 93 | main_gpio_intr: interrupt-controller0 { | 95 | main_gpio_intr: interrupt-controller0 { |
| @@ -32,3 +32,5 @@ properties: · 31 unmodified lines | |||
| 32 | that a LED can be made so bright that it gets damaged or causes damage | 32 | that a LED can be made so bright that it gets damaged or causes damage |
| 33 | due to restrictions in a specific system, such as mounting conditions. | 33 | due to restrictions in a specific system, such as mounting conditions. |
| 34 | $ref: /schemas/types.yaml#definitions/uint32 | 34 | $ref: /schemas/types.yaml#definitions/uint32 |
| 35 | |||
| 36 | additionalProperties: true | ||
| @@ -43,7 +43,7 @@ properties: · 42 unmodified lines | |||
| 43 | LED_COLOR_ID available, add a new one. | 43 | LED_COLOR_ID available, add a new one. |
| 44 | $ref: /schemas/types.yaml#definitions/uint32 | 44 | $ref: /schemas/types.yaml#definitions/uint32 |
| 45 | minimum: 0 | 45 | minimum: 0 |
| 46 | maximum: 8 | 46 | maximum: 9 |
| 47 | 47 | ||
| 48 | function-enumerator: | 48 | function-enumerator: |
| 49 | description: | 49 | description: |
| @@ -16,7 +16,7 @@ description: | · 15 unmodified lines | |||
| 16 | modules. This is achieved by adding multi-led nodes layer to the | 16 | modules. This is achieved by adding multi-led nodes layer to the |
| 17 | monochrome LED bindings. | 17 | monochrome LED bindings. |
| 18 | The nodes and properties defined in this document are unique to the multicolor | 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 | within this documentation directory. | 20 | within this documentation directory. |
| 21 | 21 | ||
| 22 | patternProperties: | 22 | patternProperties: |
| @@ -25,10 +25,11 @@ patternProperties: · 2 unmodified lines | |||
| 25 | description: Represents the LEDs that are to be grouped. | 25 | description: Represents the LEDs that are to be grouped. |
| 26 | properties: | 26 | properties: |
| 27 | color: | 27 | color: |
| 28 | const: 8 # LED_COLOR_ID_MULTI | ||
| 29 | description: | | 28 | description: | |
| 30 | For multicolor LED support this property should be defined as | 29 | For multicolor LED support this property should be defined as either |
| 31 | LED_COLOR_ID_MULTI which can be found in include/linux/leds/common.h. | 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 | $ref: "common.yaml#" | 34 | $ref: "common.yaml#" |
| 34 | 35 | ||
| @@ -46,6 +46,12 @@ properties: · 45 unmodified lines | |||
| 46 | vled-supply: | 46 | vled-supply: |
| 47 | description: LED supply. | 47 | description: LED supply. |
| 48 | 48 | ||
| 49 | '#address-cells': | ||
| 50 | const: 1 | ||
| 51 | |||
| 52 | '#size-cells': | ||
| 53 | const: 0 | ||
| 54 | |||
| 49 | patternProperties: | 55 | patternProperties: |
| 50 | '^multi-led@[0-9a-f]$': | 56 | '^multi-led@[0-9a-f]$': |
| 51 | type: object | 57 | type: object |
| @@ -69,6 +75,8 @@ required: · 17 unmodified lines | |||
| 69 | - compatible | 75 | - compatible |
| 70 | - reg | 76 | - reg |
| 71 | 77 | ||
| 78 | additionalProperties: false | ||
| 79 | |||
| 72 | examples: | 80 | examples: |
| 73 | - | | 81 | - | |
| 74 | #include <dt-bindings/gpio/gpio.h> | 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 | interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; | 47 | interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; |
| 48 | clocks = <&infracfg CLK_INFRA_GCE>; | 48 | clocks = <&infracfg CLK_INFRA_GCE>; |
| 49 | clock-names = "gce"; | 49 | clock-names = "gce"; |
| 50 | #mbox-cells = <3>; | 50 | #mbox-cells = <2>; |
| 51 | }; | 51 | }; |
| 52 | 52 | ||
| 53 | Example for a client device: | 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 | the interrupt routes between the IP and the main GIC | 69 | the interrupt routes between the IP and the main GIC |
| 70 | controllers. See the following binding for additional | 70 | controllers. See the following binding for additional |
| 71 | details, | 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 | Child Nodes: | 74 | Child Nodes: |
| 75 | ============ | 75 | ============ |
| @@ -16,6 +16,7 @@ maintainers: · 15 unmodified lines | |||
| 16 | properties: | 16 | properties: |
| 17 | compatible: | 17 | compatible: |
| 18 | enum: | 18 | enum: |
| 19 | - qcom,ipq6018-apcs-apps-global | ||
| 19 | - qcom,ipq8074-apcs-apps-global | 20 | - qcom,ipq8074-apcs-apps-global |
| 20 | - qcom,msm8916-apcs-kpss-global | 21 | - qcom,msm8916-apcs-kpss-global |
| 21 | - qcom,msm8994-apcs-kpss-global | 22 | - qcom,msm8994-apcs-kpss-global |
| @@ -18,10 +18,13 @@ properties: · 17 unmodified lines | |||
| 18 | oneOf: | 18 | oneOf: |
| 19 | - const: allwinner,sun4i-a10-ir | 19 | - const: allwinner,sun4i-a10-ir |
| 20 | - const: allwinner,sun5i-a13-ir | 20 | - const: allwinner,sun5i-a13-ir |
| 21 | - const: allwinner,sun6i-a31-ir | ||
| 21 | - items: | 22 | - items: |
| 22 | - const: allwinner,sun8i-a83t-ir | 23 | - const: allwinner,sun8i-a83t-ir |
| 23 | - const: allwinner,sun6i-a31-ir | 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 | - items: | 28 | - items: |
| 26 | - const: allwinner,sun50i-a64-ir | 29 | - const: allwinner,sun50i-a64-ir |
| 27 | - const: allwinner,sun6i-a31-ir | 30 | - const: allwinner,sun6i-a31-ir |
| @@ -56,7 +56,7 @@ Optional Connector Properties: · 55 unmodified lines | |||
| 56 | instead of using the autodetection mechnism. Please look at | 56 | instead of using the autodetection mechnism. Please look at |
| 57 | [1] for more information. | 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 | Example - three input sources: | 61 | Example - three input sources: |
| 62 | #include <dt-bindings/display/sdtv-standards.h> | 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 | Mediatek SMI have two generations of HW architecture, here is the list | 5 | Mediatek SMI have two generations of HW architecture, here is the list |
| 6 | which generation the SoCs use: | 6 | which generation the SoCs use: |
| 7 | generation 1: mt2701 and mt7623. | 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 | There's slight differences between the two SMI, for generation 2, the | 10 | There's slight differences between the two SMI, for generation 2, the |
| 11 | register which control the iommu port is at each larb's register base. But | 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 | "mediatek,mt2712-smi-common" | 20 | "mediatek,mt2712-smi-common" |
| 21 | "mediatek,mt6779-smi-common" | 21 | "mediatek,mt6779-smi-common" |
| 22 | "mediatek,mt7623-smi-common", "mediatek,mt2701-smi-common" | 22 | "mediatek,mt7623-smi-common", "mediatek,mt2701-smi-common" |
| 23 | "mediatek,mt8167-smi-common" | ||
| 23 | "mediatek,mt8173-smi-common" | 24 | "mediatek,mt8173-smi-common" |
| 24 | "mediatek,mt8183-smi-common" | 25 | "mediatek,mt8183-smi-common" |
| 25 | - reg : the register and size of the SMI block. | 26 | - reg : the register and size of the SMI block. |
| @@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines | |||
| 8 | "mediatek,mt2712-smi-larb" | 8 | "mediatek,mt2712-smi-larb" |
| 9 | "mediatek,mt6779-smi-larb" | 9 | "mediatek,mt6779-smi-larb" |
| 10 | "mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb" | 10 | "mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb" |
| 11 | "mediatek,mt8167-smi-larb" | ||
| 11 | "mediatek,mt8173-smi-larb" | 12 | "mediatek,mt8173-smi-larb" |
| 12 | "mediatek,mt8183-smi-larb" | 13 | "mediatek,mt8183-smi-larb" |
| 13 | - reg : the register and size of this local arbiter. | 14 | - reg : the register and size of this local arbiter. |
| @@ -22,7 +23,7 @@ Required properties: · 8 unmodified lines | |||
| 22 | - "gals": the clock for GALS(Global Async Local Sync). | 23 | - "gals": the clock for GALS(Global Async Local Sync). |
| 23 | Here is the list which has this GALS: mt8183. | 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 | - mediatek,larb-id :the hardware id of this larb. | 27 | - mediatek,larb-id :the hardware id of this larb. |
| 27 | 28 | ||
| 28 | Example: | 29 | Example: |
| @@ -17,7 +17,7 @@ properties: · 16 unmodified lines | |||
| 17 | compatible: | 17 | compatible: |
| 18 | items: | 18 | items: |
| 19 | - enum: | 19 | - enum: |
| 20 | - dell,wyse-ariel-ec # Dell Wyse Ariel board (3020) | 20 | - dell,wyse-ariel-ec # Dell Wyse Ariel board (3020) |
| 21 | - const: ene,kb3930 | 21 | - const: ene,kb3930 |
| 22 | reg: | 22 | reg: |
| 23 | maxItems: 1 | 23 | maxItems: 1 |
| @@ -59,6 +59,14 @@ properties: · 58 unmodified lines | |||
| 59 | whether this nvram is present or not. | 59 | whether this nvram is present or not. |
| 60 | type: boolean | 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 | spi-max-frequency: | 70 | spi-max-frequency: |
| 63 | description: Maximum SPI frequency of the device in Hz. | 71 | description: Maximum SPI frequency of the device in Hz. |
| 64 | 72 | ||
| @@ -71,6 +79,54 @@ properties: · 6 unmodified lines | |||
| 71 | wakeup-source: | 79 | wakeup-source: |
| 72 | description: Button can wake-up the system. | 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 | required: | 130 | required: |
| 75 | - compatible | 131 | - compatible |
| 76 | 132 | ||
| @@ -47,4 +47,12 @@ properties: · 46 unmodified lines | |||
| 47 | items: | 47 | items: |
| 48 | - const: yna,cu1830-neo | 48 | - const: yna,cu1830-neo |
| 49 | - const: ingenic,x1830 | 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 | - description: Virtual Loongson64 Quad Core + VirtIO | 36 | - description: Virtual Loongson64 Quad Core + VirtIO |
| 37 | items: | 37 | items: |
| 38 | - const: loongson,loongson64v-4core-virtio | 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 | 3 | The MISC register block found on Tegra186 and later SoCs contains registers |
| 4 | used to identify a given chip and various strapping options. | 4 | that can be used to identify a given chip and various strapping options. |
| 5 | 5 | ||
| 6 | Required properties: | 6 | Required properties: |
| 7 | - compatible: Must be: | 7 | - compatible: Must be: |
| 8 | - Tegra186: "nvidia,tegra186-misc" | 8 | - Tegra186: "nvidia,tegra186-misc" |
| 9 | - Tegra194: "nvidia,tegra194-misc" | ||
| 10 | - Tegra234: "nvidia,tegra234-misc" | ||
| 9 | - reg: Should contain 2 entries: The first entry gives the physical address | 11 | - reg: Should contain 2 entries: The first entry gives the physical address |
| 10 | and length of the register region which contains revision and debug | 12 | and length of the register region which contains revision and debug |
| 11 | features. The second entry specifies the physical address and length | 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 | Required properties: | 3 | Required properties: |
| 4 | - compatible : For Tegra20, must be "nvidia,tegra20-apbmisc". For Tegra30, | 4 | - compatible: Must be: |
| 5 | must be "nvidia,tegra30-apbmisc". Otherwise, must contain | 5 | - Tegra20: "nvidia,tegra20-apbmisc" |
| 6 | "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114, | 6 | - Tegra30: "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc" |
| 7 | tegra124, tegra132. | 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 | - reg: Should contain 2 entries: the first entry gives the physical address | 11 | - reg: Should contain 2 entries: the first entry gives the physical address |
| 9 | and length of the registers which contain revision and debug features. | 12 | and length of the registers which contain revision and debug features. |
| 10 | The second entry gives the physical address and length of the | 13 | The second entry gives the physical address and length of the |
| @@ -32,11 +32,11 @@ allOf: · 31 unmodified lines | |||
| 32 | clock-output-names: | 32 | clock-output-names: |
| 33 | oneOf: | 33 | oneOf: |
| 34 | - items: | 34 | - items: |
| 35 | - const: clk_out_sd0 | 35 | - const: clk_out_sd0 |
| 36 | - const: clk_in_sd0 | 36 | - const: clk_in_sd0 |
| 37 | - items: | 37 | - items: |
| 38 | - const: clk_out_sd1 | 38 | - const: clk_out_sd1 |
| 39 | - const: clk_in_sd1 | 39 | - const: clk_in_sd1 |
| 40 | 40 | ||
| 41 | properties: | 41 | properties: |
| 42 | compatible: | 42 | compatible: |
| @@ -46,6 +46,8 @@ required: · 45 unmodified lines | |||
| 46 | - clocks | 46 | - clocks |
| 47 | - clock-names | 47 | - clock-names |
| 48 | 48 | ||
| 49 | unevaluatedProperties: false | ||
| 50 | |||
| 49 | examples: | 51 | examples: |
| 50 | - | | 52 | - | |
| 51 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 53 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | %YAML 1.2 | 3 | %YAML 1.2 |
| 4 | --- | 4 | --- |
| 5 | $id: "http://devicetree.org/schemas/mmc/sdhci-am654.yaml#" | 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 | title: TI AM654 MMC Controller | 8 | title: TI AM654 MMC Controller |
| 9 | 9 | ||
| @@ -163,13 +163,12 @@ properties: · 153 unmodified lines | |||
| 163 | ti,driver-strength-ohm: | 163 | ti,driver-strength-ohm: |
| 164 | description: DLL drive strength in ohms | 164 | description: DLL drive strength in ohms |
| 165 | $ref: "/schemas/types.yaml#/definitions/uint32" | 165 | $ref: "/schemas/types.yaml#/definitions/uint32" |
| 166 | oneOf: | 166 | enum: |
| 167 | - enum: | 167 | - 33 |
| 168 | - 33 | 168 | - 40 |
| 169 | - 40 | 169 | - 50 |
| 170 | - 50 | 170 | - 66 |
| 171 | - 66 | 171 | - 100 |
| 172 | - 100 | ||
| 173 | 172 | ||
| 174 | ti,strobe-sel: | 173 | ti,strobe-sel: |
| 175 | description: strobe select delay for HS400 speed mode. | 174 | description: strobe select delay for HS400 speed mode. |
| @@ -187,6 +186,8 @@ required: · 11 unmodified lines | |||
| 187 | - clock-names | 186 | - clock-names |
| 188 | - ti,otap-del-sel-legacy | 187 | - ti,otap-del-sel-legacy |
| 189 | 188 | ||
| 189 | unevaluatedProperties: false | ||
| 190 | |||
| 190 | examples: | 191 | examples: |
| 191 | - | | 192 | - | |
| 192 | #include <dt-bindings/interrupt-controller/irq.h> | 193 | #include <dt-bindings/interrupt-controller/irq.h> |
| @@ -55,6 +55,37 @@ patternProperties: · 54 unmodified lines | |||
| 55 | $ref: /schemas/types.yaml#/definitions/string | 55 | $ref: /schemas/types.yaml#/definitions/string |
| 56 | enum: [none, soft, hw, hw_syndrome, hw_oob_first, on-die] | 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 | nand-ecc-algo: | 89 | nand-ecc-algo: |
| 59 | description: | 90 | description: |
| 60 | Desired ECC algorithm. | 91 | Desired ECC algorithm. |
| @@ -50,6 +50,13 @@ Optional properties: · 49 unmodified lines | |||
| 50 | - reset-names: If the "reset" property is specified, this property should have | 50 | - reset-names: If the "reset" property is specified, this property should have |
| 51 | the value "switch" to denote the switch reset line. | 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 | Port subnodes: | 60 | Port subnodes: |
| 54 | 61 | ||
| 55 | Optional properties: | 62 | Optional properties: |
| @@ -20,6 +20,11 @@ Optional properties: · 19 unmodified lines | |||
| 20 | - systemport,num-tier1-arb: number of tier 1 arbiters, an integer | 20 | - systemport,num-tier1-arb: number of tier 1 arbiters, an integer |
| 21 | - systemport,num-txq: number of HW transmit queues, an integer | 21 | - systemport,num-txq: number of HW transmit queues, an integer |
| 22 | - systemport,num-rxq: number of HW receive queues, an integer | 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 | Example: | 29 | Example: |
| 25 | ethernet@f04a0000 { | 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 | Optional properties: | 12 | Optional properties: |
| 13 | - vdd-supply: Regulator that powers the CAN controller. | 13 | - vdd-supply: Regulator that powers the CAN controller. |
| 14 | - xceiver-supply: Regulator that powers the CAN transceiver. | 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 | Example: | 19 | Example: |
| 17 | can0: can@1 { | 20 | can0: can@1 { |
| @@ -19,7 +22,9 @@ Example: · 1 unmodified line | |||
| 19 | reg = <1>; | 22 | reg = <1>; |
| 20 | clocks = <&clk24m>; | 23 | clocks = <&clk24m>; |
| 21 | interrupt-parent = <&gpio4>; | 24 | interrupt-parent = <&gpio4>; |
| 22 | interrupts = <13 0x2>; | 25 | interrupts = <13 IRQ_TYPE_LEVEL_LOW>; |
| 23 | vdd-supply = <®5v0>; | 26 | vdd-supply = <®5v0>; |
| 24 | xceiver-supply = <®5v0>; | 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 | Required properties: | 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 | "renesas,can-r8a7744" if CAN controller is a part of R8A7744 SoC. | 7 | "renesas,can-r8a7744" if CAN controller is a part of R8A7744 SoC. |
| 7 | "renesas,can-r8a7745" if CAN controller is a part of R8A7745 SoC. | 8 | "renesas,can-r8a7745" if CAN controller is a part of R8A7745 SoC. |
| 8 | "renesas,can-r8a77470" if CAN controller is a part of R8A77470 SoC. | 9 | "renesas,can-r8a77470" if CAN controller is a part of R8A77470 SoC. |
| 9 | "renesas,can-r8a774a1" if CAN controller is a part of R8A774A1 SoC. | 10 | "renesas,can-r8a774a1" if CAN controller is a part of R8A774A1 SoC. |
| 10 | "renesas,can-r8a774b1" if CAN controller is a part of R8A774B1 SoC. | 11 | "renesas,can-r8a774b1" if CAN controller is a part of R8A774B1 SoC. |
| 11 | "renesas,can-r8a774c0" if CAN controller is a part of R8A774C0 SoC. | 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 | "renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC. | 14 | "renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC. |
| 13 | "renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC. | 15 | "renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC. |
| 14 | "renesas,can-r8a7790" if CAN controller is a part of R8A7790 SoC. | 16 | "renesas,can-r8a7790" if CAN controller is a part of R8A7790 SoC. |
| @@ -37,8 +39,8 @@ Required properties: · 22 unmodified lines | |||
| 37 | - pinctrl-0: pin control group to be used for this controller. | 39 | - pinctrl-0: pin control group to be used for this controller. |
| 38 | - pinctrl-names: must be "default". | 40 | - pinctrl-names: must be "default". |
| 39 | 41 | ||
| 40 | Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796, | 42 | Required properties for R8A774A1, R8A774B1, R8A774C0, R8A774E1, R8A7795, |
| 41 | R8A77965, R8A77990, and R8A77995: | 43 | R8A7796, R8A77965, R8A77990, and R8A77995: |
| 42 | For the denoted SoCs, "clkp2" can be CANFD clock. This is a div6 clock and can | 44 | For the denoted SoCs, "clkp2" can be CANFD clock. This is a div6 clock and can |
| 43 | be used by both CAN and CAN FD controller at the same time. It needs to be | 45 | be used by both CAN and CAN FD controller at the same time. It needs to be |
| 44 | scaled to maximum frequency if any of these controllers use it. This is done | 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 | - "renesas,r8a774a1-canfd" for R8A774A1 (RZ/G2M) compatible controller. | 7 | - "renesas,r8a774a1-canfd" for R8A774A1 (RZ/G2M) compatible controller. |
| 8 | - "renesas,r8a774b1-canfd" for R8A774B1 (RZ/G2N) compatible controller. | 8 | - "renesas,r8a774b1-canfd" for R8A774B1 (RZ/G2N) compatible controller. |
| 9 | - "renesas,r8a774c0-canfd" for R8A774C0 (RZ/G2E) compatible controller. | 9 | - "renesas,r8a774c0-canfd" for R8A774C0 (RZ/G2E) compatible controller. |
| 10 | - "renesas,r8a774e1-canfd" for R8A774E1 (RZ/G2H) compatible controller. | ||
| 10 | - "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller. | 11 | - "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller. |
| 11 | - "renesas,r8a7796-canfd" for R8A7796 (R-Car M3-W) compatible controller. | 12 | - "renesas,r8a7796-canfd" for R8A7796 (R-Car M3-W) compatible controller. |
| 12 | - "renesas,r8a77965-canfd" for R8A77965 (R-Car M3-N) compatible controller. | 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 | child node supports the "status" property only, which is used to | 33 | child node supports the "status" property only, which is used to |
| 33 | enable/disable the respective channel. | 34 | enable/disable the respective channel. |
| 34 | 35 | ||
| 35 | Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796, | 36 | Required properties for R8A774A1, R8A774B1, R8A774C0, R8A774E1, R8A7795, |
| 36 | R8A77965, R8A77990, and R8A77995: | 37 | R8A7796, R8A77965, R8A77990, and R8A77995: |
| 37 | In the denoted SoCs, canfd clock is a div6 clock and can be used by both CAN | 38 | In the denoted SoCs, canfd clock is a div6 clock and can be used by both CAN |
| 38 | and CAN FD controller at the same time. It needs to be scaled to maximum | 39 | and CAN FD controller at the same time. It needs to be scaled to maximum |
| 39 | frequency if any of these controllers use it. This is done using the below | 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 | fixed-link { | 96 | fixed-link { |
| 97 | speed = <1000>; | 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 | #address-cells = <1>; | 104 | #address-cells = <1>; |
| 105 | #size-cells = <0>; | 105 | #size-cells = <0>; |
| 106 | 106 | ||
| 107 | switch0: ethernet-switch@30 { | 107 | switch0: ethernet-switch@1e { |
| 108 | compatible = "brcm,bcm53125"; | 108 | compatible = "brcm,bcm53125"; |
| 109 | reg = <30>; | ||
| 109 | #address-cells = <1>; | 110 | #address-cells = <1>; |
| 110 | #size-cells = <0>; | 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 | label = "cable-modem"; | 129 | label = "cable-modem"; |
| 129 | fixed-link { | 130 | fixed-link { |
| 130 | speed = <1000>; | 131 | speed = <1000>; |
| 131 | duplex-full; | 132 | full-duplex; |
| 132 | }; | 133 | }; |
| 133 | phy-mode = "rgmii-txid"; | 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 | label = "cpu"; | 139 | label = "cpu"; |
| 139 | fixed-link { | 140 | fixed-link { |
| 140 | speed = <1000>; | 141 | speed = <1000>; |
| 141 | duplex-full; | 142 | full-duplex; |
| 142 | }; | 143 | }; |
| 143 | phy-mode = "rgmii-txid"; | 144 | phy-mode = "rgmii-txid"; |
| 144 | ethernet = <ð0>; | 145 | ethernet = <ð0>; |
| @@ -5,6 +5,7 @@ Required properties: · 4 unmodified lines | |||
| 5 | 5 | ||
| 6 | - compatible: may be compatible = "mediatek,mt7530" | 6 | - compatible: may be compatible = "mediatek,mt7530" |
| 7 | or compatible = "mediatek,mt7621" | 7 | or compatible = "mediatek,mt7621" |
| 8 | or compatible = "mediatek,mt7531" | ||
| 8 | - #address-cells: Must be 1. | 9 | - #address-cells: Must be 1. |
| 9 | - #size-cells: Must be 0. | 10 | - #size-cells: Must be 0. |
| 10 | - mediatek,mcm: Boolean; if defined, indicates that either MT7530 is the part | 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 | - reg: Port address described must be 6 for CPU port and from 0 to 5 for | 34 | - reg: Port address described must be 6 for CPU port and from 0 to 5 for |
| 34 | user ports. | 35 | user ports. |
| 35 | - phy-mode: String, must be either "trgmii" or "rgmii" for port labeled | 36 | - phy-mode: String, the following values are acceptable for port labeled |
| 36 | "cpu". | 37 | "cpu": |
| 37 | 38 | If compatible mediatek,mt7530 or mediatek,mt7621 is set, | |
| 38 | Port 5 of the switch is muxed between: | 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 | 1. GMAC5: GMAC5 can interface with another external MAC or PHY. | 44 | 1. GMAC5: GMAC5 can interface with another external MAC or PHY. |
| 40 | 2. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC | 45 | 2. PHY of port 0 or port 4: PHY interfaces with an external MAC like 2nd GMAC |
| 41 | of the SOC. Used in many setups where port 0/4 becomes the WAN port. | 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 | and is useful for determining certain configuration settings | 120 | and is useful for determining certain configuration settings |
| 121 | such as flow control thresholds. | 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 | sfp: | 130 | sfp: |
| 124 | $ref: /schemas/types.yaml#definitions/phandle | 131 | $ref: /schemas/types.yaml#definitions/phandle |
| 125 | description: | 132 | description: |
| @@ -131,6 +138,13 @@ properties: · 5 unmodified lines | |||
| 131 | The size of the controller\'s transmit fifo in bytes. This | 138 | The size of the controller\'s transmit fifo in bytes. This |
| 132 | is used for components that can have configurable fifo sizes. | 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 | managed: | 148 | managed: |
| 135 | description: | 149 | description: |
| 136 | Specifies the PHY management type. If auto is set and fixed-link | 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 | ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; | 45 | ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; |
| 46 | reg = <MBUS_ID(0x08, 0x00) 0 0x100000>; | 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 | Optional properties: | 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 | - smsc,disable-energy-detect: | 12 | - smsc,disable-energy-detect: |
| 9 | If set, do not enable energy detect mode for the SMSC phy. | 13 | If set, do not enable energy detect mode for the SMSC phy. |
| 10 | default: enable energy detect mode | 14 | default: enable energy detect mode |
| @@ -30,7 +30,9 @@ Optional properties: (See ethernet.txt file in the same directory) · 29 unmodified lines | |||
| 30 | - max-frame-size: See ethernet.txt in the same directory. | 30 | - max-frame-size: See ethernet.txt in the same directory. |
| 31 | 31 | ||
| 32 | The MAC address will be determined using the optional properties | 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 | Example: | 37 | Example: |
| 36 | eth0: ethernet@522d0000 { | 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 | the length can vary between hw versions. | 65 | the length can vary between hw versions. |
| 66 | - <supply-name>-supply: handle to the regulator device tree node | 66 | - <supply-name>-supply: handle to the regulator device tree node |
| 67 | optional "supply-name" are "vdd-0.8-cx-mx", | 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 | - memory-region: | 70 | - memory-region: |
| 70 | Usage: optional | 71 | Usage: optional |
| 71 | Value type: <phandle> | 72 | Value type: <phandle> |
| @@ -204,6 +205,7 @@ wifi@18000000 { · 132 unmodified lines | |||
| 204 | vdd-1.8-xo-supply = <&vreg_l7a_1p8>; | 205 | vdd-1.8-xo-supply = <&vreg_l7a_1p8>; |
| 205 | vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; | 206 | vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; |
| 206 | vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; | 207 | vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; |
| 208 | vdd-3.3-ch1-supply = <&vreg_l26a_3p3>; | ||
| 207 | memory-region = <&wifi_msa_mem>; | 209 | memory-region = <&wifi_msa_mem>; |
| 208 | iommus = <&apps_smmu 0x0040 0x1>; | 210 | iommus = <&apps_smmu 0x0040 0x1>; |
| 209 | qcom,msa-fixed-perm; | 211 | qcom,msa-fixed-perm; |
| @@ -17,7 +17,9 @@ description: | · 16 unmodified lines | |||
| 17 | 17 | ||
| 18 | properties: | 18 | properties: |
| 19 | compatible: | 19 | compatible: |
| 20 | const: qcom,ipq8074-wifi | 20 | enum: |
| 21 | - qcom,ipq8074-wifi | ||
| 22 | - qcom,ipq6018-wifi | ||
| 21 | 23 | ||
| 22 | reg: | 24 | reg: |
| 23 | maxItems: 1 | 25 | maxItems: 1 |
| @@ -2,7 +2,7 @@ On-Chip OTP Memory for Freescale Vybrid · 1 unmodified line | |||
| 2 | 2 | ||
| 3 | Required Properties: | 3 | Required Properties: |
| 4 | compatible: | 4 | compatible: |
| 5 | - "fsl,vf610-ocotp" for VF5xx/VF6xx | 5 | - "fsl,vf610-ocotp", "syscon" for VF5xx/VF6xx |
| 6 | #address-cells : Should be 1 | 6 | #address-cells : Should be 1 |
| 7 | #size-cells : Should be 1 | 7 | #size-cells : Should be 1 |
| 8 | reg : Address and length of OTP controller and fuse map registers | 8 | reg : Address and length of OTP controller and fuse map registers |
| @@ -11,7 +11,7 @@ Required Properties: · 2 unmodified lines | |||
| 11 | Example for Vybrid VF5xx/VF6xx: | 11 | Example for Vybrid VF5xx/VF6xx: |
| 12 | 12 | ||
| 13 | ocotp: ocotp@400a5000 { | 13 | ocotp: ocotp@400a5000 { |
| 14 | compatible = "fsl,vf610-ocotp"; | 14 | compatible = "fsl,vf610-ocotp", "syscon"; |
| 15 | #address-cells = <1>; | 15 | #address-cells = <1>; |
| 16 | #size-cells = <1>; | 16 | #size-cells = <1>; |
| 17 | reg = <0x400a5000 0xCF0>; | 17 | reg = <0x400a5000 0xCF0>; |
| @@ -9,12 +9,15 @@ title: Brcmstb PCIe Host Controller Device Tree Bindings · 8 unmodified lines | |||
| 9 | maintainers: | 9 | maintainers: |
| 10 | - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> | 10 | - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> |
| 11 | 11 | ||
| 12 | allOf: | ||
| 13 | - $ref: /schemas/pci/pci-bus.yaml# | ||
| 14 | |||
| 15 | properties: | 12 | properties: |
| 16 | compatible: | 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 | reg: | 22 | reg: |
| 20 | maxItems: 1 | 23 | maxItems: 1 |
| @@ -34,10 +37,12 @@ properties: · 13 unmodified lines | |||
| 34 | - const: msi | 37 | - const: msi |
| 35 | 38 | ||
| 36 | ranges: | 39 | ranges: |
| 37 | maxItems: 1 | 40 | minItems: 1 |
| 41 | maxItems: 4 | ||
| 38 | 42 | ||
| 39 | dma-ranges: | 43 | dma-ranges: |
| 40 | maxItems: 1 | 44 | minItems: 1 |
| 45 | maxItems: 6 | ||
| 41 | 46 | ||
| 42 | clocks: | 47 | clocks: |
| 43 | maxItems: 1 | 48 | maxItems: 1 |
| @@ -58,8 +63,31 @@ properties: · 14 unmodified lines | |||
| 58 | 63 | ||
| 59 | aspm-no-l0s: true | 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 | required: | 88 | required: |
| 62 | - reg | 89 | - reg |
| 90 | - ranges | ||
| 63 | - dma-ranges | 91 | - dma-ranges |
| 64 | - "#interrupt-cells" | 92 | - "#interrupt-cells" |
| 65 | - interrupts | 93 | - interrupts |
| @@ -68,6 +96,18 @@ required: · 2 unmodified lines | |||
| 68 | - interrupt-map | 96 | - interrupt-map |
| 69 | - msi-controller | 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 | unevaluatedProperties: false | 111 | unevaluatedProperties: false |
| 72 | 112 | ||
| 73 | examples: | 113 | examples: |
| @@ -93,7 +133,9 @@ examples: · 19 unmodified lines | |||
| 93 | msi-parent = <&pcie0>; | 133 | msi-parent = <&pcie0>; |
| 94 | msi-controller; | 134 | msi-controller; |
| 95 | ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; | 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 | brcm,enable-ssc; | 138 | brcm,enable-ssc; |
| 139 | brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>; | ||
| 98 | }; | 140 | }; |
| 99 | }; | 141 | }; |
| @@ -24,6 +24,8 @@ Required properties: · 23 unmodified lines | |||
| 24 | "fsl,ls1028a-pcie" | 24 | "fsl,ls1028a-pcie" |
| 25 | EP mode: | 25 | EP mode: |
| 26 | "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep" | 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 | - reg: base addresses and lengths of the PCIe controller register blocks. | 29 | - reg: base addresses and lengths of the PCIe controller register blocks. |
| 28 | - interrupts: A list of interrupt outputs of the controller. Must contain an | 30 | - interrupts: A list of interrupt outputs of the controller. Must contain an |
| 29 | entry for each entry in the interrupt-names property. | 31 | entry for each entry in the interrupt-names property. |
| @@ -14,8 +14,12 @@ maintainers: · 13 unmodified lines | |||
| 14 | properties: | 14 | properties: |
| 15 | compatible: | 15 | compatible: |
| 16 | items: | 16 | items: |
| 17 | - const: renesas,r8a774c0-pcie-ep | 17 | - enum: |
| 18 | - const: renesas,rcar-gen3-pcie-ep | 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 | reg: | 24 | reg: |
| 21 | maxItems: 5 | 25 | maxItems: 5 |
| @@ -1,7 +1,8 @@ | |||
| 1 | * Renesas R-Car PCIe interface | 1 | * Renesas R-Car PCIe interface |
| 2 | 2 | ||
| 3 | Required properties: | 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 | "renesas,pcie-r8a7744" for the R8A7744 SoC; | 6 | "renesas,pcie-r8a7744" for the R8A7744 SoC; |
| 6 | "renesas,pcie-r8a774a1" for the R8A774A1 SoC; | 7 | "renesas,pcie-r8a774a1" for the R8A774A1 SoC; |
| 7 | "renesas,pcie-r8a774b1" for the R8A774B1 SoC; | 8 | "renesas,pcie-r8a774b1" for the R8A774B1 SoC; |
| @@ -23,14 +23,22 @@ properties: · 22 unmodified lines | |||
| 23 | const: socionext,uniphier-pro5-pcie-ep | 23 | const: socionext,uniphier-pro5-pcie-ep |
| 24 | 24 | ||
| 25 | reg: | 25 | reg: |
| 26 | maxItems: 4 | 26 | minItems: 4 |
| 27 | maxItems: 5 | ||
| 27 | 28 | ||
| 28 | reg-names: | 29 | reg-names: |
| 29 | items: | 30 | oneOf: |
| 30 | - const: dbi | 31 | - items: |
| 31 | - const: dbi2 | 32 | - const: dbi |
| 32 | - const: link | 33 | - const: dbi2 |
| 33 | - const: addr_space | 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 | clocks: | 43 | clocks: |
| 36 | maxItems: 2 | 44 | maxItems: 2 |
| @@ -16,6 +16,7 @@ Required properties: · 15 unmodified lines | |||
| 16 | "dbi" - controller configuration registers | 16 | "dbi" - controller configuration registers |
| 17 | "link" - SoC-specific glue layer registers | 17 | "link" - SoC-specific glue layer registers |
| 18 | "config" - PCIe configuration space | 18 | "config" - PCIe configuration space |
| 19 | "atu" - iATU registers for DWC version 4.80 or later | ||
| 19 | - clocks: A phandle to the clock gate for PCIe glue layer including | 20 | - clocks: A phandle to the clock gate for PCIe glue layer including |
| 20 | the host controller. | 21 | the host controller. |
| 21 | - resets: A phandle to the reset line for PCIe glue layer including | 22 | - resets: A phandle to the reset line for PCIe glue layer including |
| @@ -31,10 +31,10 @@ properties: · 30 unmodified lines | |||
| 31 | clock-names: | 31 | clock-names: |
| 32 | oneOf: | 32 | oneOf: |
| 33 | - items: # for PXs2 | 33 | - items: # for PXs2 |
| 34 | - const: link | 34 | - const: link |
| 35 | - items: # for others | 35 | - items: # for others |
| 36 | - const: link | 36 | - const: link |
| 37 | - const: phy | 37 | - const: phy |
| 38 | 38 | ||
| 39 | resets: | 39 | resets: |
| 40 | maxItems: 2 | 40 | maxItems: 2 |
| @@ -7,23 +7,23 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# · 6 unmodified lines | |||
| 7 | title: OMAP USB2 PHY | 7 | title: OMAP USB2 PHY |
| 8 | 8 | ||
| 9 | maintainers: | 9 | maintainers: |
| 10 | - Kishon Vijay Abraham I <kishon@ti.com> | 10 | - Kishon Vijay Abraham I <kishon@ti.com> |
| 11 | - Roger Quadros <rogerq@ti.com> | 11 | - Roger Quadros <rogerq@ti.com> |
| 12 | 12 | ||
| 13 | properties: | 13 | properties: |
| 14 | compatible: | 14 | compatible: |
| 15 | oneOf: | 15 | oneOf: |
| 16 | - items: | 16 | - items: |
| 17 | - enum: | 17 | - enum: |
| 18 | - ti,dra7x-usb2 | 18 | - ti,dra7x-usb2 |
| 19 | - ti,dra7x-usb2-phy2 | 19 | - ti,dra7x-usb2-phy2 |
| 20 | - ti,am654-usb2 | 20 | - ti,am654-usb2 |
| 21 | - enum: | 21 | - enum: |
| 22 | - ti,omap-usb2 | 22 | - ti,omap-usb2 |
| 23 | - items: | 23 | - items: |
| 24 | - const: ti,am437x-usb2 | 24 | - const: ti,am437x-usb2 |
| 25 | - items: | 25 | - items: |
| 26 | - const: ti,omap-usb2 | 26 | - const: ti,omap-usb2 |
| 27 | 27 | ||
| 28 | reg: | 28 | reg: |
| 29 | maxItems: 1 | 29 | maxItems: 1 |
| @@ -62,6 +62,8 @@ required: · 32 unmodified lines | |||
| 62 | - clocks | 62 | - clocks |
| 63 | - clock-names | 63 | - clock-names |
| 64 | 64 | ||
| 65 | additionalProperties: false | ||
| 66 | |||
| 65 | examples: | 67 | examples: |
| 66 | - | | 68 | - | |
| 67 | usb0_phy: phy@4100000 { | 69 | usb0_phy: phy@4100000 { |
| @@ -76,22 +76,22 @@ patternProperties: · 75 unmodified lines | |||
| 76 | items: | 76 | items: |
| 77 | oneOf: | 77 | oneOf: |
| 78 | - enum: [lcd0_d18_mfp, rmii_crs_dv_mfp, rmii_txd0_mfp, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 93 | dnand_data_wr_mfp, dnand_acle_ce0_mfp, nand_ceb2_mfp, |
| 94 | nand_ceb3_mfp] | 94 | nand_ceb3_mfp] |
| 95 | minItems: 1 | 95 | minItems: 1 |
| 96 | maxItems: 32 | 96 | maxItems: 32 |
| 97 | 97 | ||
| @@ -100,10 +100,10 @@ patternProperties: · 2 unmodified lines | |||
| 100 | Specify the alternative function to be configured for the | 100 | Specify the alternative function to be configured for the |
| 101 | given gpio pin groups. | 101 | given gpio pin groups. |
| 102 | enum: [nor, eth_rmii, eth_smii, spi0, spi1, spi2, spi3, sens0, | 102 | enum: [nor, eth_rmii, eth_smii, spi0, spi1, spi2, spi3, sens0, |
| 103 | sens1, uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0, | 103 | sens1, uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0, |
| 104 | i2s1, pcm1, pcm0, ks, jtag, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5, | 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, | 105 | p0, sd0, sd1, sd2, i2c0, i2c1, i2c3, dsi, lvds, usb30, clko_25m, |
| 106 | mipi_csi, nand, spdif, ts, lcd0] | 106 | mipi_csi, nand, spdif, ts, lcd0] |
| 107 | 107 | ||
| 108 | required: | 108 | required: |
| 109 | - groups | 109 | - groups |
| @@ -126,14 +126,14 @@ patternProperties: · 16 unmodified lines | |||
| 126 | items: | 126 | items: |
| 127 | oneOf: | 127 | oneOf: |
| 128 | - enum: [sirq_drv, rmii_txd01_txen_drv, rmii_rxer_drv, | 128 | - enum: [sirq_drv, rmii_txd01_txen_drv, rmii_rxer_drv, |
| 129 | rmii_crs_drv, rmii_rxd10_drv, rmii_ref_clk_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, | 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, | 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, | 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, | 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, | 134 | spi0_all_drv, uart0_rx_drv, uart0_tx_drv, uart2_all_drv, |
| 135 | i2c0_all_drv, i2c12_all_drv, sens0_pclk_drv, | 135 | i2c0_all_drv, i2c12_all_drv, sens0_pclk_drv, |
| 136 | sens0_ckout_drv, uart3_all_drv] | 136 | sens0_ckout_drv, uart3_all_drv] |
| 137 | minItems: 1 | 137 | minItems: 1 |
| 138 | maxItems: 32 | 138 | maxItems: 32 |
| 139 | 139 | ||
| @@ -144,29 +144,29 @@ patternProperties: · 4 unmodified lines | |||
| 144 | items: | 144 | items: |
| 145 | oneOf: | 145 | oneOf: |
| 146 | - enum: [dnand_dqs, dnand_dqsn, eth_txd0, eth_txd1, eth_txen, | 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, | 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, | 148 | eth_mdc, eth_mdio, sirq0, sirq1, sirq2, i2s_d0, i2s_bclk0, |
| 149 | i2s_lrclk0, i2s_mclk0, i2s_d1, i2s_bclk1, i2s_lrclk1, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 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, | 158 | spi0_sclk, spi0_ss, spi0_miso, spi0_mosi, uart0_rx, |
| 159 | uart0_tx, i2c0_sclk, i2c0_sdata, sensor0_pclk, | 159 | uart0_tx, i2c0_sclk, i2c0_sdata, sensor0_pclk, |
| 160 | sensor0_ckout, dnand_ale, dnand_cle, dnand_ceb0, dnand_ceb1, | 160 | sensor0_ckout, dnand_ale, dnand_cle, dnand_ceb0, dnand_ceb1, |
| 161 | dnand_ceb2, dnand_ceb3, uart2_rx, uart2_tx, uart2_rtsb, | 161 | dnand_ceb2, dnand_ceb3, uart2_rx, uart2_tx, uart2_rtsb, |
| 162 | uart2_ctsb, uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb, | 162 | uart2_ctsb, uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb, |
| 163 | pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, i2c1_sclk, | 163 | pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, i2c1_sclk, |
| 164 | i2c1_sdata, i2c2_sclk, i2c2_sdata, csi_dn0, csi_dp0, | 164 | i2c1_sdata, i2c2_sclk, i2c2_sdata, csi_dn0, csi_dp0, |
| 165 | csi_dn1, csi_dp1, csi_dn2, csi_dp2, csi_dn3, csi_dp3, | 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, | 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, | 167 | dnand_d4, dnand_d5, dnand_d6, dnand_d7, dnand_rb, dnand_rdb, |
| 168 | dnand_rdbn, dnand_wrb, porb, clko_25m, bsel, pkg0, pkg1, | 168 | dnand_rdbn, dnand_wrb, porb, clko_25m, bsel, pkg0, pkg1, |
| 169 | pkg2, pkg3] | 169 | pkg2, pkg3] |
| 170 | minItems: 1 | 170 | minItems: 1 |
| 171 | maxItems: 64 | 171 | maxItems: 64 |
| 172 | 172 | ||
| @@ -106,7 +106,7 @@ patternProperties: · 105 unmodified lines | |||
| 106 | required: | 106 | required: |
| 107 | - pinmux | 107 | - pinmux |
| 108 | 108 | ||
| 109 | additionalProperties: false | 109 | additionalProperties: false |
| 110 | 110 | ||
| 111 | required: | 111 | required: |
| 112 | - compatible | 112 | - compatible |
| @@ -71,9 +71,9 @@ patternProperties: · 70 unmodified lines | |||
| 71 | Specify the alternative function to be configured for the specified | 71 | Specify the alternative function to be configured for the specified |
| 72 | pins. Functions are only valid for gpio pins. | 72 | pins. Functions are only valid for gpio pins. |
| 73 | enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5, | 73 | enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5, |
| 74 | blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1, | 74 | blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1, |
| 75 | blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2, | 75 | blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2, |
| 76 | blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ] | 76 | blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ] |
| 77 | 77 | ||
| 78 | drive-strength: | 78 | drive-strength: |
| 79 | enum: [2, 4, 6, 8, 10, 12, 14, 16] | 79 | enum: [2, 4, 6, 8, 10, 12, 14, 16] |
| @@ -40,24 +40,24 @@ patternProperties: · 39 unmodified lines | |||
| 40 | Function to mux. | 40 | Function to mux. |
| 41 | $ref: "/schemas/types.yaml#/definitions/string" | 41 | $ref: "/schemas/types.yaml#/definitions/string" |
| 42 | enum: [i2c0, i2c1, i2c2, i2c3, i2c4, i2c5, i2c6, i2c7, i2c8, | 42 | enum: [i2c0, i2c1, i2c2, i2c3, i2c4, i2c5, i2c6, i2c7, i2c8, |
| 43 | spi0, spi1, spi2, spi3, spi4, spi5, spi6, | 43 | spi0, spi1, spi2, spi3, spi4, spi5, spi6, |
| 44 | uart0, uart1, uart2, uart3, pwm, pcmif_out, pcmif_in] | 44 | uart0, uart1, uart2, uart3, pwm, pcmif_out, pcmif_in] |
| 45 | 45 | ||
| 46 | groups: | 46 | groups: |
| 47 | description: | 47 | description: |
| 48 | Name of the pin group to use for the functions. | 48 | Name of the pin group to use for the functions. |
| 49 | $ref: "/schemas/types.yaml#/definitions/string" | 49 | $ref: "/schemas/types.yaml#/definitions/string" |
| 50 | enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp, | 50 | enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp, |
| 51 | i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp, | 51 | i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp, |
| 52 | spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_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, | 53 | spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp, |
| 54 | uart0_grp, uart1_grp, uart2_grp, uart3_grp, | 54 | uart0_grp, uart1_grp, uart2_grp, uart3_grp, |
| 55 | pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp, | 55 | pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp, |
| 56 | pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp, | 56 | pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp, |
| 57 | pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp, | 57 | pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp, |
| 58 | pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp, | 58 | pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp, |
| 59 | pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp, | 59 | pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp, |
| 60 | pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp] | 60 | pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp] |
| 61 | 61 | ||
| 62 | drive-strength: | 62 | drive-strength: |
| 63 | enum: [2, 4, 6, 8, 16, 24, 32] | 63 | enum: [2, 4, 6, 8, 16, 24, 32] |
| @@ -27,6 +27,7 @@ properties: · 26 unmodified lines | |||
| 27 | - amlogic,meson8b-pwrc | 27 | - amlogic,meson8b-pwrc |
| 28 | - amlogic,meson8m2-pwrc | 28 | - amlogic,meson8m2-pwrc |
| 29 | - amlogic,meson-gxbb-pwrc | 29 | - amlogic,meson-gxbb-pwrc |
| 30 | - amlogic,meson-axg-pwrc | ||
| 30 | - amlogic,meson-g12a-pwrc | 31 | - amlogic,meson-g12a-pwrc |
| 31 | - amlogic,meson-sm1-pwrc | 32 | - amlogic,meson-sm1-pwrc |
| 32 | 33 | ||
| @@ -42,11 +43,11 @@ properties: · 9 unmodified lines | |||
| 42 | - const: vapb | 43 | - const: vapb |
| 43 | 44 | ||
| 44 | resets: | 45 | resets: |
| 45 | minItems: 11 | 46 | minItems: 5 |
| 46 | maxItems: 12 | 47 | maxItems: 12 |
| 47 | 48 | ||
| 48 | reset-names: | 49 | reset-names: |
| 49 | minItems: 11 | 50 | minItems: 5 |
| 50 | maxItems: 12 | 51 | maxItems: 12 |
| 51 | 52 | ||
| 52 | "#power-domain-cells": | 53 | "#power-domain-cells": |
| @@ -107,6 +108,24 @@ allOf: · 54 unmodified lines | |||
| 107 | - resets | 108 | - resets |
| 108 | - reset-names | 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 | - if: | 129 | - if: |
| 111 | properties: | 130 | properties: |
| 112 | compatible: | 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 | - renesas,r8a77980-sysc # R-Car V3H | 40 | - renesas,r8a77980-sysc # R-Car V3H |
| 41 | - renesas,r8a77990-sysc # R-Car E3 | 41 | - renesas,r8a77990-sysc # R-Car E3 |
| 42 | - renesas,r8a77995-sysc # R-Car D3 | 42 | - renesas,r8a77995-sysc # R-Car D3 |
| 43 | - renesas,r8a779a0-sysc # R-Car V3U | ||
| 43 | 44 | ||
| 44 | reg: | 45 | reg: |
| 45 | maxItems: 1 | 46 | maxItems: 1 |
| @@ -1,10 +1,13 @@ | |||
| 1 | Microsemi Ocelot reset controller | 1 | Microsemi Ocelot reset controller |
| 2 | 2 | ||
| 3 | The DEVCPU_GCB:CHIP_REGS have a SOFT_RST register that can be used to reset the | 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 | Required Properties: | 9 | Required Properties: |
| 7 | - compatible: "mscc,ocelot-chip-reset" | 10 | - compatible: "mscc,ocelot-chip-reset" or "microchip,sparx5-chip-reset" |
| 8 | 11 | ||
| 9 | Example: | 12 | Example: |
| 10 | reset@1070008 { | 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 | An array containing the temperature in degree Celsius, | 82 | An array containing the temperature in degree Celsius, |
| 83 | for each of the battery capacity lookup table. | 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 | required: | 106 | required: |
| 86 | - compatible | 107 | - compatible |
| 87 | 108 | ||
| @@ -130,6 +151,9 @@ examples: · 42 unmodified lines | |||
| 130 | /* table for 10 degree Celsius */ | 151 | /* table for 10 degree Celsius */ |
| 131 | ocv-capacity-table-2 = <4250000 100>, <4200000 95>, <4185000 90>; | 152 | ocv-capacity-table-2 = <4250000 100>, <4200000 95>, <4185000 90>; |
| 132 | resistance-temp-table = <20 100>, <10 90>, <0 80>, <(-10) 60>; | 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 | charger@11 { | 159 | charger@11 { |
| @@ -33,6 +33,10 @@ Optional properties: · 32 unmodified lines | |||
| 33 | - ti,thermal-regulation-threshold: integer, temperature above which the charge | 33 | - ti,thermal-regulation-threshold: integer, temperature above which the charge |
| 34 | current is lowered, to avoid overheating (in degrees Celsius). If omitted, | 34 | current is lowered, to avoid overheating (in degrees Celsius). If omitted, |
| 35 | the default setting will be used (120 degrees); | 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 | Example: | 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 | - ti,bq27621 | 51 | - ti,bq27621 |
| 52 | - ti,bq27z561 | 52 | - ti,bq27z561 |
| 53 | - ti,bq28z610 | 53 | - ti,bq28z610 |
| 54 | - ti,bq34z100 | ||
| 54 | 55 | ||
| 55 | reg: | 56 | reg: |
| 56 | maxItems: 1 | 57 | maxItems: 1 |
| @@ -3,24 +3,32 @@ charger-manager bindings · 2 unmodified lines | |||
| 3 | 3 | ||
| 4 | Required properties : | 4 | Required properties : |
| 5 | - compatible : "charger-manager" | 5 | - compatible : "charger-manager" |
| 6 | - <>-supply : for regulator consumer | 6 | - <>-supply : for regulator consumer, named according to cm-regulator-name |
| 7 | - cm-num-chargers : number of chargers | ||
| 8 | - cm-chargers : name of chargers | 7 | - cm-chargers : name of chargers |
| 9 | - cm-fuel-gauge : name of battery fuel gauge | 8 | - cm-fuel-gauge : name of battery fuel gauge |
| 10 | - subnode <regulator> : | 9 | - subnode <regulator> : |
| 11 | - cm-regulator-name : name of charger regulator | 10 | - cm-regulator-name : name of charger regulator |
| 12 | - subnode <cable> : | 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 | - cm-cable-extcon : name of extcon dev | 15 | - cm-cable-extcon : name of extcon dev |
| 15 | (optional) - cm-cable-min : minimum current of cable | 16 | (optional) - cm-cable-min : minimum current of cable |
| 16 | (optional) - cm-cable-max : maximum current of cable | 17 | (optional) - cm-cable-max : maximum current of cable |
| 17 | 18 | ||
| 18 | Optional properties : | 19 | Optional properties : |
| 19 | - cm-name : charger manager's name (default : "battery") | 20 | - cm-name : charger manager's name (default : "battery") |
| 20 | - cm-poll-mode : polling mode (enum polling_modes) | 21 | - cm-poll-mode : polling mode - 0 for disabled, 1 for always, 2 for when |
| 21 | - cm-poll-interval : polling interval | 22 | external power is connected, or 3 for when charging. If not present, |
| 22 | - cm-battery-stat : battery status (enum data_source) | 23 | then polling is disabled |
| 23 | - cm-fullbatt-* : data for full battery checking | 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 | - cm-thermal-zone : name of external thermometer's thermal zone | 32 | - cm-thermal-zone : name of external thermometer's thermal zone |
| 25 | - cm-battery-* : threshold battery temperature for charging | 33 | - cm-battery-* : threshold battery temperature for charging |
| 26 | -cold : critical cold temperature of battery for charging | 34 | -cold : critical cold temperature of battery for charging |
| @@ -29,6 +37,10 @@ Optional properties : · 2 unmodified lines | |||
| 29 | -temp-diff : temperature difference to allow recharging | 37 | -temp-diff : temperature difference to allow recharging |
| 30 | - cm-dis/charging-max = limits of charging duration | 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 | Example : | 44 | Example : |
| 33 | charger-manager@0 { | 45 | charger-manager@0 { |
| 34 | compatible = "charger-manager"; | 46 | compatible = "charger-manager"; |
| @@ -39,13 +51,11 @@ Example : · 4 unmodified lines | |||
| 39 | cm-poll-mode = <1>; | 51 | cm-poll-mode = <1>; |
| 40 | cm-poll-interval = <30000>; | 52 | cm-poll-interval = <30000>; |
| 41 | 53 | ||
| 42 | cm-fullbatt-vchkdrop-ms = <30000>; | ||
| 43 | cm-fullbatt-vchkdrop-volt = <150000>; | 54 | cm-fullbatt-vchkdrop-volt = <150000>; |
| 44 | cm-fullbatt-soc = <100>; | 55 | cm-fullbatt-soc = <100>; |
| 45 | 56 | ||
| 46 | cm-battery-stat = <3>; | 57 | cm-battery-stat = <3>; |
| 47 | 58 | ||
| 48 | cm-num-chargers = <3>; | ||
| 49 | cm-chargers = "charger0", "charger1", "charger2"; | 59 | cm-chargers = "charger0", "charger1", "charger2"; |
| 50 | 60 | ||
| 51 | cm-fuel-gauge = "fuelgauge0"; | 61 | cm-fuel-gauge = "fuelgauge0"; |
| @@ -71,7 +81,7 @@ Example : · 19 unmodified lines | |||
| 71 | cm-cable-max = <500000>; | 81 | cm-cable-max = <500000>; |
| 72 | }; | 82 | }; |
| 73 | cable@1 { | 83 | cable@1 { |
| 74 | cm-cable-name = "TA"; | 84 | cm-cable-name = "SDP"; |
| 75 | cm-cable-extcon = "extcon-dev.0"; | 85 | cm-cable-extcon = "extcon-dev.0"; |
| 76 | cm-cable-min = <650000>; | 86 | cm-cable-min = <650000>; |
| 77 | cm-cable-max = <675000>; | 87 | cm-cable-max = <675000>; |
| @@ -39,6 +39,25 @@ properties: · 38 unmodified lines | |||
| 39 | maxItems: 1 | 39 | maxItems: 1 |
| 40 | description: GPIO indicating the charging status | 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 | required: | 61 | required: |
| 43 | - compatible | 62 | - compatible |
| 44 | 63 | ||
| @@ -47,6 +66,12 @@ anyOf: · 2 unmodified lines | |||
| 47 | - gpios | 66 | - gpios |
| 48 | - required: | 67 | - required: |
| 49 | - charge-status-gpios | 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 | additionalProperties: false | 76 | additionalProperties: false |
| 52 | 77 | ||
| @@ -60,4 +85,10 @@ examples: · 7 unmodified lines | |||
| 60 | 85 | ||
| 61 | gpios = <&gpd 28 GPIO_ACTIVE_LOW>; | 86 | gpios = <&gpd 28 GPIO_ACTIVE_LOW>; |
| 62 | charge-status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>; | 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 | Required properties : | 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 | - reg: i2c slave address | 8 | - reg: i2c slave address |
| 7 | 9 | ||
| 8 | Optional properties : | 10 | Optional properties : |
| @@ -11,6 +13,15 @@ Optional properties : · 2 unmodified lines | |||
| 11 | generated. Can be configured from 1 up to 32 | 13 | generated. Can be configured from 1 up to 32 |
| 12 | (%). If skipped the power up default value of | 14 | (%). If skipped the power up default value of |
| 13 | 4 (%) will be used. | 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 | - interrupts : Interrupt line see Documentation/devicetree/ | 25 | - interrupts : Interrupt line see Documentation/devicetree/ |
| 15 | bindings/interrupt-controller/interrupts.txt | 26 | bindings/interrupt-controller/interrupts.txt |
| 16 | - wakeup-source : This device has wakeup capabilities. Use this | 27 | - wakeup-source : This device has wakeup capabilities. Use this |
| @@ -31,3 +42,11 @@ Example: · 14 unmodified lines | |||
| 31 | interrupts = <2 IRQ_TYPE_EDGE_FALLING>; | 42 | interrupts = <2 IRQ_TYPE_EDGE_FALLING>; |
| 32 | wakeup-source; | 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 | - fsl,tmr-add Frequency compensation value. | 18 | - fsl,tmr-add Frequency compensation value. |
| 19 | - fsl,tmr-fiper1 Fixed interval period pulse generator. | 19 | - fsl,tmr-fiper1 Fixed interval period pulse generator. |
| 20 | - fsl,tmr-fiper2 Fixed interval period pulse generator. | 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 | - fsl,max-adj Maximum frequency adjustment in parts per billion. | 23 | - fsl,max-adj Maximum frequency adjustment in parts per billion. |
| 22 | - fsl,extts-fifo The presence of this property indicates hardware | 24 | - fsl,extts-fifo The presence of this property indicates hardware |
| 23 | support for the external trigger stamp FIFO. | 25 | support for the external trigger stamp FIFO. |
| @@ -14,7 +14,7 @@ description: | · 13 unmodified lines | |||
| 14 | Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller | 14 | Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller |
| 15 | (EC) and controlled via a host-command interface. | 15 | (EC) and controlled via a host-command interface. |
| 16 | An EC PWM node should be only found as a sub-node of the EC node (see | 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 | properties: | 19 | properties: |
| 20 | compatible: | 20 | compatible: |
| @@ -13,6 +13,7 @@ properties: · 12 unmodified lines | |||
| 13 | compatible: | 13 | compatible: |
| 14 | items: | 14 | items: |
| 15 | - enum: | 15 | - enum: |
| 16 | - renesas,pwm-r8a7742 # RZ/G1H | ||
| 16 | - renesas,pwm-r8a7743 # RZ/G1M | 17 | - renesas,pwm-r8a7743 # RZ/G1M |
| 17 | - renesas,pwm-r8a7744 # RZ/G1N | 18 | - renesas,pwm-r8a7744 # RZ/G1N |
| 18 | - renesas,pwm-r8a7745 # RZ/G1E | 19 | - renesas,pwm-r8a7745 # RZ/G1E |
| @@ -20,6 +21,7 @@ properties: · 1 unmodified line | |||
| 20 | - renesas,pwm-r8a774a1 # RZ/G2M | 21 | - renesas,pwm-r8a774a1 # RZ/G2M |
| 21 | - renesas,pwm-r8a774b1 # RZ/G2N | 22 | - renesas,pwm-r8a774b1 # RZ/G2N |
| 22 | - renesas,pwm-r8a774c0 # RZ/G2E | 23 | - renesas,pwm-r8a774c0 # RZ/G2E |
| 24 | - renesas,pwm-r8a774e1 # RZ/G2H | ||
| 23 | - renesas,pwm-r8a7778 # R-Car M1A | 25 | - renesas,pwm-r8a7778 # R-Car M1A |
| 24 | - renesas,pwm-r8a7779 # R-Car H1 | 26 | - renesas,pwm-r8a7779 # R-Car H1 |
| 25 | - renesas,pwm-r8a7790 # R-Car H2 | 27 | - renesas,pwm-r8a7790 # R-Car H2 |
| @@ -15,6 +15,7 @@ properties: · 14 unmodified lines | |||
| 15 | - enum: | 15 | - enum: |
| 16 | - renesas,tpu-r8a73a4 # R-Mobile APE6 | 16 | - renesas,tpu-r8a73a4 # R-Mobile APE6 |
| 17 | - renesas,tpu-r8a7740 # R-Mobile A1 | 17 | - renesas,tpu-r8a7740 # R-Mobile A1 |
| 18 | - renesas,tpu-r8a7742 # RZ/G1H | ||
| 18 | - renesas,tpu-r8a7743 # RZ/G1M | 19 | - renesas,tpu-r8a7743 # RZ/G1M |
| 19 | - renesas,tpu-r8a7744 # RZ/G1N | 20 | - renesas,tpu-r8a7744 # RZ/G1N |
| 20 | - renesas,tpu-r8a7745 # RZ/G1E | 21 | - renesas,tpu-r8a7745 # RZ/G1E |
| @@ -41,6 +41,8 @@ required: · 40 unmodified lines | |||
| 41 | - enable-gpios | 41 | - enable-gpios |
| 42 | - mps,fb-voltage-divider | 42 | - mps,fb-voltage-divider |
| 43 | 43 | ||
| 44 | unevaluatedProperties: false | ||
| 45 | |||
| 44 | examples: | 46 | examples: |
| 45 | - | | 47 | - | |
| 46 | #include <dt-bindings/gpio/gpio.h> | 48 | #include <dt-bindings/gpio/gpio.h> |
| @@ -80,6 +80,8 @@ required: · 79 unmodified lines | |||
| 80 | - compatible | 80 | - compatible |
| 81 | - reg | 81 | - reg |
| 82 | 82 | ||
| 83 | additionalProperties: false | ||
| 84 | |||
| 83 | examples: | 85 | examples: |
| 84 | - | | 86 | - | |
| 85 | i2c { | 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 | - renesas,r8a77980-rst # R-Car V3H | 47 | - renesas,r8a77980-rst # R-Car V3H |
| 48 | - renesas,r8a77990-rst # R-Car E3 | 48 | - renesas,r8a77990-rst # R-Car E3 |
| 49 | - renesas,r8a77995-rst # R-Car D3 | 49 | - renesas,r8a77995-rst # R-Car D3 |
| 50 | - renesas,r8a779a0-rst # R-Car V3U | ||
| 50 | 51 | ||
| 51 | reg: | 52 | reg: |
| 52 | maxItems: 1 | 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 | See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information | 6 | See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information |
| 7 | about zynqmp resets. | 7 | about zynqmp resets. |
| @@ -10,7 +10,8 @@ Please also refer to reset.txt in this directory for common reset · 2 unmodified lines | |||
| 10 | controller binding usage. | 10 | controller binding usage. |
| 11 | 11 | ||
| 12 | Required Properties: | 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 | - #reset-cells: Specifies the number of cells needed to encode reset | 15 | - #reset-cells: Specifies the number of cells needed to encode reset |
| 15 | line, should be 1 | 16 | line, should be 1 |
| 16 | 17 | ||
| @@ -37,8 +38,10 @@ Device nodes that need access to reset lines should · 20 unmodified lines | |||
| 37 | specify them as a reset phandle in their corresponding node as | 38 | specify them as a reset phandle in their corresponding node as |
| 38 | specified in reset.txt. | 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 | <dt-bindings/reset/xlnx-zynqmp-resets.h> | 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 | Example: | 46 | Example: |
| 44 | 47 | ||
| @@ -25,8 +25,8 @@ select: · 24 unmodified lines | |||
| 25 | properties: | 25 | properties: |
| 26 | compatible: | 26 | compatible: |
| 27 | items: | 27 | items: |
| 28 | - enum: | 28 | - enum: |
| 29 | - sifive,fu540-c000-ccache | 29 | - sifive,fu540-c000-ccache |
| 30 | 30 | ||
| 31 | required: | 31 | required: |
| 32 | - compatible | 32 | - compatible |
| @@ -22,4 +22,7 @@ properties: · 21 unmodified lines | |||
| 22 | - sifive,hifive-unleashed-a00 | 22 | - sifive,hifive-unleashed-a00 |
| 23 | - const: sifive,fu540-c000 | 23 | - const: sifive,fu540-c000 |
| 24 | - const: sifive,fu540 | 24 | - const: sifive,fu540 |
| 25 | |||
| 26 | additionalProperties: true | ||
| 27 | |||
| 25 | ... | 28 | ... |
| @@ -19,9 +19,9 @@ properties: · 18 unmodified lines | |||
| 19 | - const: fsl,imx21-rnga | 19 | - const: fsl,imx21-rnga |
| 20 | - items: | 20 | - items: |
| 21 | - enum: | 21 | - enum: |
| 22 | - fsl,imx6sl-rngb | 22 | - fsl,imx6sl-rngb |
| 23 | - fsl,imx6sll-rngb | 23 | - fsl,imx6sll-rngb |
| 24 | - fsl,imx6ull-rngb | 24 | - fsl,imx6ull-rngb |
| 25 | - const: fsl,imx25-rngb | 25 | - const: fsl,imx25-rngb |
| 26 | - const: fsl,imx35-rngc | 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 | Selected resistor for trickle charger | 31 | Selected resistor for trickle charger |
| 32 | Possible values are 250, 2000, 4000 | 32 | Possible values are 250, 2000, 4000 |
| 33 | Should be given if trickle charger should be enabled | 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 | Do not use internal trickle charger diode | 41 | Do not use internal trickle charger diode |
| 36 | Should be given if internal trickle charger diode should be disabled | 42 | Should be given if internal trickle charger diode should be disabled |
| 43 | (superseded by aux-voltage-chargeable) | ||
| 37 | 44 | ||
| 38 | Example: | 45 | Example: |
| 39 | ds1339: rtc@68 { | 46 | ds1339: rtc@68 { |
| @@ -17,6 +17,15 @@ properties: · 16 unmodified lines | |||
| 17 | $nodename: | 17 | $nodename: |
| 18 | pattern: "^rtc(@.*|-[0-9a-f])*$" | 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 | quartz-load-femtofarads: | 29 | quartz-load-femtofarads: |
| 21 | $ref: /schemas/types.yaml#/definitions/uint32 | 30 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 22 | description: | 31 | description: |
| @@ -35,6 +44,7 @@ properties: · 12 unmodified lines | |||
| 35 | description: | 44 | description: |
| 36 | Do not use internal trickle charger diode. Should be given if | 45 | Do not use internal trickle charger diode. Should be given if |
| 37 | internal trickle charger diode should be disabled. | 46 | internal trickle charger diode should be disabled. |
| 47 | deprecated: true | ||
| 38 | 48 | ||
| 39 | trickle-resistor-ohms: | 49 | trickle-resistor-ohms: |
| 40 | $ref: /schemas/types.yaml#/definitions/uint32 | 50 | $ref: /schemas/types.yaml#/definitions/uint32 |
| @@ -42,6 +52,12 @@ properties: · 1 unmodified line | |||
| 42 | Selected resistor for trickle charger. Should be given | 52 | Selected resistor for trickle charger. Should be given |
| 43 | if trickle charger should be enabled. | 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 | wakeup-source: | 61 | wakeup-source: |
| 46 | $ref: /schemas/types.yaml#/definitions/flag | 62 | $ref: /schemas/types.yaml#/definitions/flag |
| 47 | description: | 63 | description: |
| @@ -20,30 +20,30 @@ properties: · 19 unmodified lines | |||
| 20 | - const: fsl,imx21-uart | 20 | - const: fsl,imx21-uart |
| 21 | - items: | 21 | - items: |
| 22 | - enum: | 22 | - enum: |
| 23 | - fsl,imx25-uart | 23 | - fsl,imx25-uart |
| 24 | - fsl,imx27-uart | 24 | - fsl,imx27-uart |
| 25 | - fsl,imx31-uart | 25 | - fsl,imx31-uart |
| 26 | - fsl,imx35-uart | 26 | - fsl,imx35-uart |
| 27 | - fsl,imx50-uart | 27 | - fsl,imx50-uart |
| 28 | - fsl,imx51-uart | 28 | - fsl,imx51-uart |
| 29 | - fsl,imx53-uart | 29 | - fsl,imx53-uart |
| 30 | - fsl,imx6q-uart | 30 | - fsl,imx6q-uart |
| 31 | - const: fsl,imx21-uart | 31 | - const: fsl,imx21-uart |
| 32 | - items: | 32 | - items: |
| 33 | - enum: | 33 | - enum: |
| 34 | - fsl,imx6sl-uart | 34 | - fsl,imx6sl-uart |
| 35 | - fsl,imx6sll-uart | 35 | - fsl,imx6sll-uart |
| 36 | - fsl,imx6sx-uart | 36 | - fsl,imx6sx-uart |
| 37 | - const: fsl,imx6q-uart | 37 | - const: fsl,imx6q-uart |
| 38 | - const: fsl,imx21-uart | 38 | - const: fsl,imx21-uart |
| 39 | - items: | 39 | - items: |
| 40 | - enum: | 40 | - enum: |
| 41 | - fsl,imx6ul-uart | 41 | - fsl,imx6ul-uart |
| 42 | - fsl,imx7d-uart | 42 | - fsl,imx7d-uart |
| 43 | - fsl,imx8mm-uart | 43 | - fsl,imx8mm-uart |
| 44 | - fsl,imx8mn-uart | 44 | - fsl,imx8mn-uart |
| 45 | - fsl,imx8mp-uart | 45 | - fsl,imx8mp-uart |
| 46 | - fsl,imx8mq-uart | 46 | - fsl,imx8mq-uart |
| 47 | - const: fsl,imx6q-uart | 47 | - const: fsl,imx6q-uart |
| 48 | 48 | ||
| 49 | reg: | 49 | reg: |
| @@ -20,7 +20,7 @@ description: | · 19 unmodified lines | |||
| 20 | present and this subnode may contain children that designate regulator | 20 | present and this subnode may contain children that designate regulator |
| 21 | resources. | 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 | for information on the regulator subnodes that can exist under the | 24 | for information on the regulator subnodes that can exist under the |
| 25 | rpm_requests. | 25 | rpm_requests. |
| 26 | 26 | ||
| @@ -62,11 +62,6 @@ properties: · 61 unmodified lines | |||
| 62 | $ref: /schemas/types.yaml#/definitions/uint32 | 62 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 63 | description: TI-SCI device id of the ring accelerator | 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 | required: | 65 | required: |
| 71 | - compatible | 66 | - compatible |
| 72 | - reg | 67 | - reg |
| @@ -94,7 +89,6 @@ examples: · 21 unmodified lines | |||
| 94 | reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target"; | 89 | reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target"; |
| 95 | ti,num-rings = <818>; | 90 | ti,num-rings = <818>; |
| 96 | ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */ | 91 | ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */ |
| 97 | ti,dma-ring-reset-quirk; | ||
| 98 | ti,sci = <&dmsc>; | 92 | ti,sci = <&dmsc>; |
| 99 | ti,sci-dev-id = <187>; | 93 | ti,sci-dev-id = <187>; |
| 100 | msi-parent = <&inta_main_udmass>; | 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.