Merge branch '3.15/dss-dt' into 3.15/fbdev
Merge OMAP DSS DT support
This commit is contained in:
		
						commit
						17d5ca91cf
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -92,3 +92,6 @@ extra_certificates | ||||
| signing_key.priv | ||||
| signing_key.x509 | ||||
| x509.genkey | ||||
| 
 | ||||
| # Kconfig presets | ||||
| all.config | ||||
|  | ||||
| @ -29,6 +29,8 @@ DMA-ISA-LPC.txt | ||||
| 	- How to do DMA with ISA (and LPC) devices. | ||||
| DMA-attributes.txt | ||||
| 	- listing of the various possible attributes a DMA region can have | ||||
| dmatest.txt | ||||
| 	- how to compile, configure and use the dmatest system. | ||||
| DocBook/ | ||||
| 	- directory with DocBook templates etc. for kernel documentation. | ||||
| EDID/ | ||||
| @ -77,6 +79,8 @@ arm/ | ||||
| 	- directory with info about Linux on the ARM architecture. | ||||
| arm64/ | ||||
| 	- directory with info about Linux on the 64 bit ARM architecture. | ||||
| assoc_array.txt | ||||
| 	- generic associative array intro. | ||||
| atomic_ops.txt | ||||
| 	- semantics and behavior of atomic and bitmask operations. | ||||
| auxdisplay/ | ||||
| @ -87,6 +91,8 @@ bad_memory.txt | ||||
| 	- how to use kernel parameters to exclude bad RAM regions. | ||||
| basic_profiling.txt | ||||
| 	- basic instructions for those who wants to profile Linux kernel. | ||||
| bcache.txt | ||||
| 	- Block-layer cache on fast SSDs to improve slow (raid) I/O performance. | ||||
| binfmt_misc.txt | ||||
| 	- info on the kernel support for extra binary formats. | ||||
| blackfin/ | ||||
| @ -171,6 +177,8 @@ early-userspace/ | ||||
| 	- info about initramfs, klibc, and userspace early during boot. | ||||
| edac.txt | ||||
| 	- information on EDAC - Error Detection And Correction | ||||
| efi-stub.txt | ||||
| 	- How to use the EFI boot stub to bypass GRUB or elilo on EFI systems. | ||||
| eisa.txt | ||||
| 	- info on EISA bus support. | ||||
| email-clients.txt | ||||
| @ -195,8 +203,8 @@ futex-requeue-pi.txt | ||||
| 	- info on requeueing of tasks from a non-PI futex to a PI futex | ||||
| gcov.txt | ||||
| 	- use of GCC's coverage testing tool "gcov" with the Linux kernel | ||||
| gpio.txt | ||||
| 	- overview of GPIO (General Purpose Input/Output) access conventions. | ||||
| gpio/ | ||||
| 	- gpio related documentation | ||||
| hid/ | ||||
| 	- directory with information on human interface devices | ||||
| highuid.txt | ||||
| @ -255,6 +263,8 @@ kernel-docs.txt | ||||
| 	- listing of various WWW + books that document kernel internals. | ||||
| kernel-parameters.txt | ||||
| 	- summary listing of command line / boot prompt args for the kernel. | ||||
| kernel-per-CPU-kthreads.txt | ||||
| 	- List of all per-CPU kthreads and how they introduce jitter. | ||||
| kmemcheck.txt | ||||
| 	- info on dynamic checker that detects uses of uninitialized memory. | ||||
| kmemleak.txt | ||||
| @ -299,8 +309,6 @@ memory-devices/ | ||||
| 	- directory with info on parts like the Texas Instruments EMIF driver | ||||
| memory-hotplug.txt | ||||
| 	- Hotpluggable memory support, how to use and current status. | ||||
| memory.txt | ||||
| 	- info on typical Linux memory problems. | ||||
| metag/ | ||||
| 	- directory with info about Linux on Meta architecture. | ||||
| mips/ | ||||
| @ -311,6 +319,8 @@ mmc/ | ||||
| 	- directory with info about the MMC subsystem | ||||
| mn10300/ | ||||
| 	- directory with info about the mn10300 architecture port | ||||
| module-signing.txt | ||||
| 	- Kernel module signing for increased security when loading modules. | ||||
| mtd/ | ||||
| 	- directory with info about memory technology devices (flash) | ||||
| mono.txt | ||||
| @ -343,6 +353,8 @@ pcmcia/ | ||||
| 	- info on the Linux PCMCIA driver. | ||||
| percpu-rw-semaphore.txt | ||||
| 	- RCU based read-write semaphore optimized for locking for reading | ||||
| phy.txt | ||||
| 	- Description of the generic PHY framework. | ||||
| pi-futex.txt | ||||
| 	- documentation on lightweight priority inheritance futexes. | ||||
| pinctrl.txt | ||||
| @ -431,6 +443,8 @@ sysrq.txt | ||||
| 	- info on the magic SysRq key. | ||||
| target/ | ||||
| 	- directory with info on generating TCM v4 fabric .ko modules | ||||
| this_cpu_ops.txt | ||||
| 	- List rationale behind and the way to use this_cpu operations. | ||||
| thermal/ | ||||
| 	- directory with information on managing thermal issues (CPU/temp) | ||||
| trace/ | ||||
| @ -469,6 +483,8 @@ wimax/ | ||||
| 	- directory with info about Intel Wireless Wimax Connections | ||||
| workqueue.txt | ||||
| 	- information on the Concurrency Managed Workqueue implementation | ||||
| ww-mutex-design.txt | ||||
| 	- Intro to Mutex wait/would deadlock handling.s | ||||
| x86/x86_64/ | ||||
| 	- directory with info on Linux support for AMD x86-64 (Hammer) machines. | ||||
| xtensa/ | ||||
|  | ||||
| @ -82,7 +82,19 @@ Most of the hard work is done for the driver in the PCI layer.  It simply | ||||
| has to request that the PCI layer set up the MSI capability for this | ||||
| device. | ||||
| 
 | ||||
| 4.2.1 pci_enable_msi_range | ||||
| 4.2.1 pci_enable_msi | ||||
| 
 | ||||
| int pci_enable_msi(struct pci_dev *dev) | ||||
| 
 | ||||
| A successful call allocates ONE interrupt to the device, regardless | ||||
| of how many MSIs the device supports.  The device is switched from | ||||
| pin-based interrupt mode to MSI mode.  The dev->irq number is changed | ||||
| to a new number which represents the message signaled interrupt; | ||||
| consequently, this function should be called before the driver calls | ||||
| request_irq(), because an MSI is delivered via a vector that is | ||||
| different from the vector of a pin-based interrupt. | ||||
| 
 | ||||
| 4.2.2 pci_enable_msi_range | ||||
| 
 | ||||
| int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec) | ||||
| 
 | ||||
| @ -147,6 +159,11 @@ static int foo_driver_enable_msi(struct pci_dev *pdev, int nvec) | ||||
| 	return pci_enable_msi_range(pdev, nvec, nvec); | ||||
| } | ||||
| 
 | ||||
| Note, unlike pci_enable_msi_exact() function, which could be also used to | ||||
| enable a particular number of MSI-X interrupts, pci_enable_msi_range() | ||||
| returns either a negative errno or 'nvec' (not negative errno or 0 - as | ||||
| pci_enable_msi_exact() does). | ||||
| 
 | ||||
| 4.2.1.3 Single MSI mode | ||||
| 
 | ||||
| The most notorious example of the request type described above is | ||||
| @ -158,7 +175,27 @@ static int foo_driver_enable_single_msi(struct pci_dev *pdev) | ||||
| 	return pci_enable_msi_range(pdev, 1, 1); | ||||
| } | ||||
| 
 | ||||
| 4.2.2 pci_disable_msi | ||||
| Note, unlike pci_enable_msi() function, which could be also used to | ||||
| enable the single MSI mode, pci_enable_msi_range() returns either a | ||||
| negative errno or 1 (not negative errno or 0 - as pci_enable_msi() | ||||
| does). | ||||
| 
 | ||||
| 4.2.3 pci_enable_msi_exact | ||||
| 
 | ||||
| int pci_enable_msi_exact(struct pci_dev *dev, int nvec) | ||||
| 
 | ||||
| This variation on pci_enable_msi_range() call allows a device driver to | ||||
| request exactly 'nvec' MSIs. | ||||
| 
 | ||||
| If this function returns a negative number, it indicates an error and | ||||
| the driver should not attempt to request any more MSI interrupts for | ||||
| this device. | ||||
| 
 | ||||
| By contrast with pci_enable_msi_range() function, pci_enable_msi_exact() | ||||
| returns zero in case of success, which indicates MSI interrupts have been | ||||
| successfully allocated. | ||||
| 
 | ||||
| 4.2.4 pci_disable_msi | ||||
| 
 | ||||
| void pci_disable_msi(struct pci_dev *dev) | ||||
| 
 | ||||
| @ -172,7 +209,7 @@ on any interrupt for which it previously called request_irq(). | ||||
| Failure to do so results in a BUG_ON(), leaving the device with | ||||
| MSI enabled and thus leaking its vector. | ||||
| 
 | ||||
| 4.2.3 pci_msi_vec_count | ||||
| 4.2.4 pci_msi_vec_count | ||||
| 
 | ||||
| int pci_msi_vec_count(struct pci_dev *dev) | ||||
| 
 | ||||
| @ -257,8 +294,8 @@ possible, likely up to the limit returned by pci_msix_vec_count() function: | ||||
| 
 | ||||
| static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | ||||
| { | ||||
| 	return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | ||||
| 				    1, nvec); | ||||
| 	return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, | ||||
| 				     1, nvec); | ||||
| } | ||||
| 
 | ||||
| Note the value of 'minvec' parameter is 1.  As 'minvec' is inclusive, | ||||
| @ -269,8 +306,8 @@ In this case the function could look like this: | ||||
| 
 | ||||
| static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | ||||
| { | ||||
| 	return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | ||||
| 				    FOO_DRIVER_MINIMUM_NVEC, nvec); | ||||
| 	return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, | ||||
| 				     FOO_DRIVER_MINIMUM_NVEC, nvec); | ||||
| } | ||||
| 
 | ||||
| 4.3.1.2 Exact number of MSI-X interrupts | ||||
| @ -282,10 +319,15 @@ parameters: | ||||
| 
 | ||||
| static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | ||||
| { | ||||
| 	return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | ||||
| 				    nvec, nvec); | ||||
| 	return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, | ||||
| 				     nvec, nvec); | ||||
| } | ||||
| 
 | ||||
| Note, unlike pci_enable_msix_exact() function, which could be also used to | ||||
| enable a particular number of MSI-X interrupts, pci_enable_msix_range() | ||||
| returns either a negative errno or 'nvec' (not negative errno or 0 - as | ||||
| pci_enable_msix_exact() does). | ||||
| 
 | ||||
| 4.3.1.3 Specific requirements to the number of MSI-X interrupts | ||||
| 
 | ||||
| As noted above, there could be devices that can not operate with just any | ||||
| @ -332,7 +374,64 @@ Note how pci_enable_msix_range() return value is analized for a fallback - | ||||
| any error code other than -ENOSPC indicates a fatal error and should not | ||||
| be retried. | ||||
| 
 | ||||
| 4.3.2 pci_disable_msix | ||||
| 4.3.2 pci_enable_msix_exact | ||||
| 
 | ||||
| int pci_enable_msix_exact(struct pci_dev *dev, | ||||
| 			  struct msix_entry *entries, int nvec) | ||||
| 
 | ||||
| This variation on pci_enable_msix_range() call allows a device driver to | ||||
| request exactly 'nvec' MSI-Xs. | ||||
| 
 | ||||
| If this function returns a negative number, it indicates an error and | ||||
| the driver should not attempt to allocate any more MSI-X interrupts for | ||||
| this device. | ||||
| 
 | ||||
| By contrast with pci_enable_msix_range() function, pci_enable_msix_exact() | ||||
| returns zero in case of success, which indicates MSI-X interrupts have been | ||||
| successfully allocated. | ||||
| 
 | ||||
| Another version of a routine that enables MSI-X mode for a device with | ||||
| specific requirements described in chapter 4.3.1.3 might look like this: | ||||
| 
 | ||||
| /* | ||||
|  * Assume 'minvec' and 'maxvec' are non-zero | ||||
|  */ | ||||
| static int foo_driver_enable_msix(struct foo_adapter *adapter, | ||||
| 				  int minvec, int maxvec) | ||||
| { | ||||
| 	int rc; | ||||
| 
 | ||||
| 	minvec = roundup_pow_of_two(minvec); | ||||
| 	maxvec = rounddown_pow_of_two(maxvec); | ||||
| 
 | ||||
| 	if (minvec > maxvec) | ||||
| 		return -ERANGE; | ||||
| 
 | ||||
| retry: | ||||
| 	rc = pci_enable_msix_exact(adapter->pdev, | ||||
| 				   adapter->msix_entries, maxvec); | ||||
| 
 | ||||
| 	/* | ||||
| 	 * -ENOSPC is the only error code allowed to be analyzed | ||||
| 	 */ | ||||
| 	if (rc == -ENOSPC) { | ||||
| 		if (maxvec == 1) | ||||
| 			return -ENOSPC; | ||||
| 
 | ||||
| 		maxvec /= 2; | ||||
| 
 | ||||
| 		if (minvec > maxvec) | ||||
| 			return -ENOSPC; | ||||
| 
 | ||||
| 		goto retry; | ||||
| 	} else if (rc < 0) { | ||||
| 		return rc; | ||||
| 	} | ||||
| 
 | ||||
| 	return maxvec; | ||||
| } | ||||
| 
 | ||||
| 4.3.3 pci_disable_msix | ||||
| 
 | ||||
| void pci_disable_msix(struct pci_dev *dev) | ||||
| 
 | ||||
|  | ||||
| @ -8,6 +8,8 @@ listRCU.txt | ||||
| 	- Using RCU to Protect Read-Mostly Linked Lists | ||||
| lockdep.txt | ||||
| 	- RCU and lockdep checking | ||||
| lockdep-splat.txt | ||||
| 	- RCU Lockdep splats explained. | ||||
| NMI-RCU.txt | ||||
| 	- Using RCU to Protect Dynamic NMI Handlers | ||||
| rcubarrier.txt | ||||
|  | ||||
| @ -4,6 +4,8 @@ Booting | ||||
| 	- requirements for booting | ||||
| Interrupts | ||||
| 	- ARM Interrupt subsystem documentation | ||||
| IXP4xx | ||||
| 	- Intel IXP4xx Network processor. | ||||
| msm | ||||
| 	- MSM specific documentation | ||||
| Netwinder | ||||
| @ -24,8 +26,16 @@ SPEAr | ||||
| 	- ST SPEAr platform Linux Overview | ||||
| VFP/ | ||||
| 	- Release notes for Linux Kernel Vector Floating Point support code | ||||
| cluster-pm-race-avoidance.txt | ||||
| 	- Algorithm for CPU and Cluster setup/teardown | ||||
| empeg/ | ||||
| 	- Ltd's Empeg MP3 Car Audio Player | ||||
| firmware.txt | ||||
| 	- Secure firmware registration and calling. | ||||
| kernel_mode_neon.txt | ||||
| 	- How to use NEON instructions in kernel mode | ||||
| kernel_user_helpers.txt | ||||
| 	- Helper functions in kernel space made available for userspace. | ||||
| mem_alignment | ||||
| 	- alignment abort handler documentation | ||||
| memory.txt | ||||
| @ -34,3 +44,7 @@ nwfpe/ | ||||
| 	- NWFPE floating point emulator documentation | ||||
| swp_emulation | ||||
| 	- SWP/SWPB emulation handler/logging description | ||||
| tcm.txt | ||||
| 	- ARM Tightly Coupled Memory | ||||
| vlocks.txt | ||||
| 	- Voting locks, low-level mechanism relying on memory system atomic writes. | ||||
|  | ||||
| @ -1,8 +1,10 @@ | ||||
| 00-INDEX | ||||
| 	- This file | ||||
| 
 | ||||
| Makefile | ||||
| 	- Makefile for gptimers example file. | ||||
| bfin-gpio-notes.txt | ||||
| 	- Notes in developing/using bfin-gpio driver. | ||||
| 
 | ||||
| bfin-spi-notes.txt | ||||
| 	- Notes for using bfin spi bus driver. | ||||
| gptimers-example.c | ||||
| 	- gptimers example | ||||
|  | ||||
| @ -14,6 +14,8 @@ deadline-iosched.txt | ||||
| 	- Deadline IO scheduler tunables | ||||
| ioprio.txt | ||||
| 	- Block io priorities (in CFQ scheduler) | ||||
| null_blk.txt | ||||
| 	- Null block for block-layer benchmarking. | ||||
| queue-sysfs.txt | ||||
| 	- Queue's sysfs entries | ||||
| request.txt | ||||
|  | ||||
| @ -8,3 +8,5 @@ https://lists.ozlabs.org/listinfo/devicetree-discuss | ||||
| 	- this file | ||||
| booting-without-of.txt | ||||
| 	- Booting Linux without Open Firmware, describes history and format of device trees. | ||||
| usage-model.txt | ||||
| 	- How Linux uses DT and what DT aims to solve. | ||||
| @ -91,7 +91,7 @@ Boards: | ||||
|   compatible = "ti,omap3-beagle", "ti,omap3" | ||||
| 
 | ||||
| - OMAP3 Tobi with Overo : Commercial expansion board with daughter board | ||||
|   compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" | ||||
|   compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3" | ||||
| 
 | ||||
| - OMAP4 SDP : Software Development Board | ||||
|   compatible = "ti,omap4-sdp", "ti,omap4430" | ||||
|  | ||||
| @ -13,6 +13,9 @@ Required properties: | ||||
| - #address-cells: should be one. The cell is the slot id. | ||||
| - #size-cells: should be zero. | ||||
| - at least one slot node | ||||
| - clock-names: tuple listing input clock names. | ||||
| 	Required elements: "mci_clk" | ||||
| - clocks: phandles to input clocks. | ||||
| 
 | ||||
| The node contains child nodes for each slot that the platform uses | ||||
| 
 | ||||
| @ -24,6 +27,8 @@ mmc0: mmc@f0008000 { | ||||
| 	interrupts = <12 4>; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
| 	clock-names = "mci_clk"; | ||||
| 	clocks = <&mci0_clk>; | ||||
| 
 | ||||
| 	[ child node definitions...] | ||||
| }; | ||||
|  | ||||
| @ -1,7 +1,8 @@ | ||||
| * Allwinner EMAC ethernet controller | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: should be "allwinner,sun4i-emac". | ||||
| - compatible: should be "allwinner,sun4i-a10-emac" (Deprecated: | ||||
|               "allwinner,sun4i-emac") | ||||
| - reg: address and length of the register set for the device. | ||||
| - interrupts: interrupt for the device | ||||
| - phy: A phandle to a phy node defining the PHY address (as the reg | ||||
| @ -14,7 +15,7 @@ Optional properties: | ||||
| Example: | ||||
| 
 | ||||
| emac: ethernet@01c0b000 { | ||||
|        compatible = "allwinner,sun4i-emac"; | ||||
|        compatible = "allwinner,sun4i-a10-emac"; | ||||
|        reg = <0x01c0b000 0x1000>; | ||||
|        interrupts = <55>; | ||||
|        clocks = <&ahb_gates 17>; | ||||
|  | ||||
| @ -1,7 +1,8 @@ | ||||
| * Allwinner A10 MDIO Ethernet Controller interface | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: should be "allwinner,sun4i-mdio". | ||||
| - compatible: should be "allwinner,sun4i-a10-mdio" | ||||
|               (Deprecated: "allwinner,sun4i-mdio"). | ||||
| - reg: address and length of the register set for the device. | ||||
| 
 | ||||
| Optional properties: | ||||
| @ -9,7 +10,7 @@ Optional properties: | ||||
| 
 | ||||
| Example at the SoC level: | ||||
| mdio@01c0b080 { | ||||
| 	compatible = "allwinner,sun4i-mdio"; | ||||
| 	compatible = "allwinner,sun4i-a10-mdio"; | ||||
| 	reg = <0x01c0b080 0x14>; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
							
								
								
									
										58
									
								
								Documentation/devicetree/bindings/net/sti-dwmac.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								Documentation/devicetree/bindings/net/sti-dwmac.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| STMicroelectronics SoC DWMAC glue layer controller | ||||
| 
 | ||||
| The device node has following properties. | ||||
| 
 | ||||
| Required properties: | ||||
|  - compatible	: Can be "st,stih415-dwmac", "st,stih416-dwmac" or | ||||
|    "st,stid127-dwmac". | ||||
|  - reg		: Offset of the glue configuration register map in system | ||||
|    configuration regmap pointed by st,syscon property and size. | ||||
| 
 | ||||
|  - reg-names	: Should be "sti-ethconf". | ||||
| 
 | ||||
|  - st,syscon	: Should be phandle to system configuration node which | ||||
|    encompases this glue registers. | ||||
| 
 | ||||
|  - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be | ||||
|    wired up in from different sources. One via TXCLK pin and other via CLK_125 | ||||
|    pin. This wiring is totally board dependent. However the retiming glue | ||||
|    logic should be configured accordingly. Possible values for this property | ||||
| 
 | ||||
| 	   "txclk" - if 125Mhz clock is wired up via txclk line. | ||||
| 	   "clk_125" - if 125Mhz clock is wired up via clk_125 line. | ||||
| 
 | ||||
|    This property is only valid for Giga bit setup( GMII, RGMII), and it is | ||||
|    un-used for non-giga bit (MII and RMII) setups. Also note that internal | ||||
|    clockgen can not generate stable 125Mhz clock. | ||||
| 
 | ||||
|  - st,ext-phyclk: This boolean property indicates who is generating the clock | ||||
|   for tx and rx. This property is only valid for RMII case where the clock can | ||||
|   be generated from the MAC or PHY. | ||||
| 
 | ||||
|  - clock-names: should be "sti-ethclk". | ||||
|  - clocks: Should point to ethernet clockgen which can generate phyclk. | ||||
| 
 | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| ethernet0: dwmac@fe810000 { | ||||
| 	device_type 	= "network"; | ||||
| 	compatible	= "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710"; | ||||
| 	reg 		= <0xfe810000 0x8000>, <0x8bc 0x4>; | ||||
| 	reg-names	= "stmmaceth", "sti-ethconf"; | ||||
| 	interrupts	= <0 133 0>, <0 134 0>, <0 135 0>; | ||||
| 	interrupt-names	= "macirq", "eth_wake_irq", "eth_lpi"; | ||||
| 	phy-mode	= "mii"; | ||||
| 
 | ||||
| 	st,syscon	= <&syscfg_rear>; | ||||
| 
 | ||||
| 	snps,pbl 	= <32>; | ||||
| 	snps,mixed-burst; | ||||
| 
 | ||||
| 	resets		= <&softreset STIH416_ETH0_SOFTRESET>; | ||||
| 	reset-names	= "stmmaceth"; | ||||
| 	pinctrl-0	= <&pinctrl_mii0>; | ||||
| 	pinctrl-names 	= "default"; | ||||
| 	clocks		= <&CLK_S_GMAC0_PHY>; | ||||
| 	clock-names	= "stmmaceth"; | ||||
| }; | ||||
							
								
								
									
										47
									
								
								Documentation/devicetree/bindings/power/bq2415x.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								Documentation/devicetree/bindings/power/bq2415x.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| Binding for TI bq2415x Li-Ion Charger | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: Should contain one of the following: | ||||
|  * "ti,bq24150" | ||||
|  * "ti,bq24150" | ||||
|  * "ti,bq24150a" | ||||
|  * "ti,bq24151" | ||||
|  * "ti,bq24151a" | ||||
|  * "ti,bq24152" | ||||
|  * "ti,bq24153" | ||||
|  * "ti,bq24153a" | ||||
|  * "ti,bq24155" | ||||
|  * "ti,bq24156" | ||||
|  * "ti,bq24156a" | ||||
|  * "ti,bq24158" | ||||
| - reg:			   integer, i2c address of the device. | ||||
| - ti,current-limit:	   integer, initial maximum current charger can pull | ||||
| 			   from power supply in mA. | ||||
| - ti,weak-battery-voltage: integer, weak battery voltage threshold in mV. | ||||
| 			   The chip will use slow precharge if battery voltage | ||||
| 			   is below this value. | ||||
| - ti,battery-regulation-voltage: integer, maximum charging voltage in mV. | ||||
| - ti,charge-current:	   integer, maximum charging current in mA. | ||||
| - ti,termination-current:  integer, charge will be terminated when current in | ||||
| 			   constant-voltage phase drops below this value (in mA). | ||||
| - ti,resistor-sense:	   integer, value of sensing resistor in milliohm. | ||||
| 
 | ||||
| Optional properties: | ||||
| - ti,usb-charger-detection: phandle to usb charger detection device. | ||||
| 			    (required for auto mode) | ||||
| 
 | ||||
| Example from Nokia N900: | ||||
| 
 | ||||
| bq24150a { | ||||
| 	compatible = "ti,bq24150a"; | ||||
| 	reg = <0x6b>; | ||||
| 
 | ||||
| 	ti,current-limit = <100>; | ||||
| 	ti,weak-battery-voltage = <3400>; | ||||
| 	ti,battery-regulation-voltage = <4200>; | ||||
| 	ti,charge-current = <650>; | ||||
| 	ti,termination-current = <100>; | ||||
| 	ti,resistor-sense = <68>; | ||||
| 
 | ||||
| 	ti,usb-charger-detection = <&isp1704>; | ||||
| }; | ||||
| @ -5,6 +5,9 @@ Required properties: | ||||
| - reg: Address and length of the register set for the device | ||||
| - interrupts: Should contain spi interrupt | ||||
| - cs-gpios: chipselects | ||||
| - clock-names: tuple listing input clock names. | ||||
| 	Required elements: "spi_clk" | ||||
| - clocks: phandles to input clocks. | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| @ -14,6 +17,8 @@ spi1: spi@fffcc000 { | ||||
| 	interrupts = <13 4 5>; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
| 	clocks = <&spi1_clk>; | ||||
| 	clock-names = "spi_clk"; | ||||
| 	cs-gpios = <&pioB 3 0>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
|  | ||||
| @ -8,6 +8,7 @@ ad	Avionic Design GmbH | ||||
| adi	Analog Devices, Inc. | ||||
| aeroflexgaisler	Aeroflex Gaisler AB | ||||
| ak	Asahi Kasei Corp. | ||||
| allwinner	Allwinner Technology Co., Ltd. | ||||
| altr	Altera Corp. | ||||
| amcc	Applied Micro Circuits Corporation (APM, formally AMCC) | ||||
| amstaos	AMS-Taos Inc. | ||||
| @ -40,6 +41,7 @@ gmt	Global Mixed-mode Technology, Inc. | ||||
| gumstix	Gumstix, Inc. | ||||
| haoyu	Haoyu Microelectronic Co. Ltd. | ||||
| hisilicon	Hisilicon Limited. | ||||
| honeywell	Honeywell | ||||
| hp	Hewlett Packard | ||||
| ibm	International Business Machines (IBM) | ||||
| idt	Integrated Device Technologies, Inc. | ||||
| @ -55,6 +57,7 @@ maxim	Maxim Integrated Products | ||||
| microchip	Microchip Technology Inc. | ||||
| mosaixtech	Mosaix Technologies, Inc. | ||||
| national	National Semiconductor | ||||
| neonode		Neonode Inc. | ||||
| nintendo	Nintendo | ||||
| nvidia	NVIDIA | ||||
| nxp	NXP Semiconductors | ||||
| @ -64,7 +67,7 @@ phytec	PHYTEC Messtechnik GmbH | ||||
| picochip	Picochip Ltd | ||||
| powervr	PowerVR (deprecated, use img) | ||||
| qca	Qualcomm Atheros, Inc. | ||||
| qcom	Qualcomm, Inc. | ||||
| qcom	Qualcomm Technologies, Inc | ||||
| ralink	Mediatek/Ralink Technology Corp. | ||||
| ramtron	Ramtron International | ||||
| realtek Realtek Semiconductor Corp. | ||||
| @ -78,6 +81,7 @@ silabs	Silicon Laboratories | ||||
| simtek | ||||
| sirf	SiRF Technology, Inc. | ||||
| snps 	Synopsys, Inc. | ||||
| spansion	Spansion Inc. | ||||
| st	STMicroelectronics | ||||
| ste	ST-Ericsson | ||||
| stericsson	ST-Ericsson | ||||
|  | ||||
| @ -0,0 +1,25 @@ | ||||
| Analog TV Connector | ||||
| =================== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "composite-connector" or "svideo-connector" | ||||
| 
 | ||||
| Optional properties: | ||||
| - label: a symbolic name for the connector | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port for TV input | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| tv: connector { | ||||
| 	compatible = "composite-connector"; | ||||
| 	label = "tv"; | ||||
| 
 | ||||
| 	port { | ||||
| 		tv_connector_in: endpoint { | ||||
| 			remote-endpoint = <&venc_out>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										35
									
								
								Documentation/devicetree/bindings/video/dvi-connector.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								Documentation/devicetree/bindings/video/dvi-connector.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| DVI Connector | ||||
| ============== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "dvi-connector" | ||||
| 
 | ||||
| Optional properties: | ||||
| - label: a symbolic name for the connector | ||||
| - ddc-i2c-bus: phandle to the i2c bus that is connected to DVI DDC | ||||
| - analog: the connector has DVI analog pins | ||||
| - digital: the connector has DVI digital pins | ||||
| - dual-link: the connector has pins for DVI dual-link | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port for DVI input | ||||
| 
 | ||||
| Note: One (or both) of 'analog' or 'digital' must be set. | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| dvi0: connector@0 { | ||||
| 	compatible = "dvi-connector"; | ||||
| 	label = "dvi"; | ||||
| 
 | ||||
| 	digital; | ||||
| 
 | ||||
| 	ddc-i2c-bus = <&i2c3>; | ||||
| 
 | ||||
| 	port { | ||||
| 		dvi_connector_in: endpoint { | ||||
| 			remote-endpoint = <&tfp410_out>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										28
									
								
								Documentation/devicetree/bindings/video/hdmi-connector.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Documentation/devicetree/bindings/video/hdmi-connector.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| HDMI Connector | ||||
| ============== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "hdmi-connector" | ||||
| - type: the HDMI connector type: "a", "b", "c", "d" or "e" | ||||
| 
 | ||||
| Optional properties: | ||||
| - label: a symbolic name for the connector | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port for HDMI input | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| hdmi0: connector@1 { | ||||
| 	compatible = "hdmi-connector"; | ||||
| 	label = "hdmi"; | ||||
| 
 | ||||
| 	type = "a"; | ||||
| 
 | ||||
| 	port { | ||||
| 		hdmi_connector_in: endpoint { | ||||
| 			remote-endpoint = <&tpd12s015_out>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										29
									
								
								Documentation/devicetree/bindings/video/panel-dsi-cm.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Documentation/devicetree/bindings/video/panel-dsi-cm.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| Generic MIPI DSI Command Mode Panel | ||||
| =================================== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "panel-dsi-cm" | ||||
| 
 | ||||
| Optional properties: | ||||
| - label: a symbolic name for the panel | ||||
| - reset-gpios: panel reset gpio | ||||
| - te-gpios: panel TE gpio | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port for DSI input | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| lcd0: display { | ||||
| 	compatible = "tpo,taal", "panel-dsi-cm"; | ||||
| 	label = "lcd0"; | ||||
| 
 | ||||
| 	reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; | ||||
| 
 | ||||
| 	port { | ||||
| 		lcd0_in: endpoint { | ||||
| 			remote-endpoint = <&dsi1_out_ep>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										30
									
								
								Documentation/devicetree/bindings/video/sony,acx565akm.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Documentation/devicetree/bindings/video/sony,acx565akm.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| Sony ACX565AKM SDI Panel | ||||
| ======================== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "sony,acx565akm" | ||||
| 
 | ||||
| Optional properties: | ||||
| - label: a symbolic name for the panel | ||||
| - reset-gpios: panel reset gpio | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port for SDI input | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| acx565akm@2 { | ||||
| 	compatible = "sony,acx565akm"; | ||||
| 	spi-max-frequency = <6000000>; | ||||
| 	reg = <2>; | ||||
| 
 | ||||
| 	label = "lcd"; | ||||
| 	reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */ | ||||
| 
 | ||||
| 	port { | ||||
| 		lcd_in: endpoint { | ||||
| 			remote-endpoint = <&sdi_out>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										211
									
								
								Documentation/devicetree/bindings/video/ti,omap-dss.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								Documentation/devicetree/bindings/video/ti,omap-dss.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,211 @@ | ||||
| Texas Instruments OMAP Display Subsystem | ||||
| ======================================== | ||||
| 
 | ||||
| Generic Description | ||||
| ------------------- | ||||
| 
 | ||||
| This document is a generic description of the OMAP Display Subsystem bindings. | ||||
| Binding details for each OMAP SoC version are described in respective binding | ||||
| documentation. | ||||
| 
 | ||||
| The OMAP Display Subsystem (DSS) hardware consists of DSS Core, DISPC module and | ||||
| a number of encoder modules. All DSS versions contain DSS Core and DISPC, but | ||||
| the encoder modules vary. | ||||
| 
 | ||||
| The DSS Core is the parent of the other DSS modules, and manages clock routing, | ||||
| integration to the SoC, etc. | ||||
| 
 | ||||
| DISPC is the display controller, which reads pixels from the memory and outputs | ||||
| a RGB pixel stream to encoders. | ||||
| 
 | ||||
| The encoder modules encode the received RGB pixel stream to a video output like | ||||
| HDMI, MIPI DPI, etc. | ||||
| 
 | ||||
| Video Ports | ||||
| ----------- | ||||
| 
 | ||||
| The DSS Core and the encoders have video port outputs. The structure of the | ||||
| video ports is described in Documentation/devicetree/bindings/video/video- | ||||
| ports.txt, and the properties for the ports and endpoints for each encoder are | ||||
| described in the SoC's DSS binding documentation. | ||||
| 
 | ||||
| The video ports are used to describe the connections to external hardware, like | ||||
| panels or external encoders. | ||||
| 
 | ||||
| Aliases | ||||
| ------- | ||||
| 
 | ||||
| The board dts file may define aliases for displays to assign "displayX" style | ||||
| name for each display. If no aliases are defined, a semi-random number is used | ||||
| for the display. | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| A shortened example of the DSS description for OMAP4, with non-relevant parts | ||||
| removed, defined in omap4.dtsi: | ||||
| 
 | ||||
| dss: dss@58000000 { | ||||
| 	compatible = "ti,omap4-dss"; | ||||
| 	reg = <0x58000000 0x80>; | ||||
| 	status = "disabled"; | ||||
| 	ti,hwmods = "dss_core"; | ||||
| 	clocks = <&dss_dss_clk>; | ||||
| 	clock-names = "fck"; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <1>; | ||||
| 	ranges; | ||||
| 
 | ||||
| 	dispc@58001000 { | ||||
| 		compatible = "ti,omap4-dispc"; | ||||
| 		reg = <0x58001000 0x1000>; | ||||
| 		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 		ti,hwmods = "dss_dispc"; | ||||
| 		clocks = <&dss_dss_clk>; | ||||
| 		clock-names = "fck"; | ||||
| 	}; | ||||
| 
 | ||||
| 	hdmi: encoder@58006000 { | ||||
| 		compatible = "ti,omap4-hdmi"; | ||||
| 		reg = <0x58006000 0x200>, | ||||
| 		      <0x58006200 0x100>, | ||||
| 		      <0x58006300 0x100>, | ||||
| 		      <0x58006400 0x1000>; | ||||
| 		reg-names = "wp", "pll", "phy", "core"; | ||||
| 		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 		status = "disabled"; | ||||
| 		ti,hwmods = "dss_hdmi"; | ||||
| 		clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; | ||||
| 		clock-names = "fck", "sys_clk"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| A shortened example of the board description for OMAP4 Panda board, defined in | ||||
| omap4-panda.dts. | ||||
| 
 | ||||
| The Panda board has a DVI and a HDMI connector, and the board contains a TFP410 | ||||
| chip (MIPI DPI to DVI encoder) and a TPD12S015 chip (HDMI ESD protection & level | ||||
| shifter). The video pipelines for the connectors are formed as follows: | ||||
| 
 | ||||
| DSS Core --(MIPI DPI)--> TFP410 --(DVI)--> DVI Connector | ||||
| OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector | ||||
| 
 | ||||
| / { | ||||
| 	aliases { | ||||
| 		display0 = &dvi0; | ||||
| 		display1 = &hdmi0; | ||||
| 	}; | ||||
| 
 | ||||
| 	tfp410: encoder@0 { | ||||
| 		compatible = "ti,tfp410"; | ||||
| 		gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;	/* 0, power-down */ | ||||
| 
 | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&tfp410_pins>; | ||||
| 
 | ||||
| 		ports { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 
 | ||||
| 			port@0 { | ||||
| 				reg = <0>; | ||||
| 
 | ||||
| 				tfp410_in: endpoint@0 { | ||||
| 					remote-endpoint = <&dpi_out>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			port@1 { | ||||
| 				reg = <1>; | ||||
| 
 | ||||
| 				tfp410_out: endpoint@0 { | ||||
| 					remote-endpoint = <&dvi_connector_in>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	dvi0: connector@0 { | ||||
| 		compatible = "dvi-connector"; | ||||
| 		label = "dvi"; | ||||
| 
 | ||||
| 		i2c-bus = <&i2c3>; | ||||
| 
 | ||||
| 		port { | ||||
| 			dvi_connector_in: endpoint { | ||||
| 				remote-endpoint = <&tfp410_out>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	tpd12s015: encoder@1 { | ||||
| 		compatible = "ti,tpd12s015"; | ||||
| 
 | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&tpd12s015_pins>; | ||||
| 
 | ||||
| 		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */ | ||||
| 			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */ | ||||
| 			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */ | ||||
| 
 | ||||
| 		ports { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 
 | ||||
| 			port@0 { | ||||
| 				reg = <0>; | ||||
| 
 | ||||
| 				tpd12s015_in: endpoint@0 { | ||||
| 					remote-endpoint = <&hdmi_out>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			port@1 { | ||||
| 				reg = <1>; | ||||
| 
 | ||||
| 				tpd12s015_out: endpoint@0 { | ||||
| 					remote-endpoint = <&hdmi_connector_in>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	hdmi0: connector@1 { | ||||
| 		compatible = "hdmi-connector"; | ||||
| 		label = "hdmi"; | ||||
| 
 | ||||
| 		port { | ||||
| 			hdmi_connector_in: endpoint { | ||||
| 				remote-endpoint = <&tpd12s015_out>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &dss { | ||||
| 	status = "ok"; | ||||
| 
 | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&dss_dpi_pins>; | ||||
| 
 | ||||
| 	port { | ||||
| 		dpi_out: endpoint { | ||||
| 			remote-endpoint = <&tfp410_in>; | ||||
| 			data-lines = <24>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &hdmi { | ||||
| 	status = "ok"; | ||||
| 	vdda-supply = <&vdac>; | ||||
| 
 | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&dss_hdmi_pins>; | ||||
| 
 | ||||
| 	port { | ||||
| 		hdmi_out: endpoint { | ||||
| 			remote-endpoint = <&tpd12s015_in>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										54
									
								
								Documentation/devicetree/bindings/video/ti,omap2-dss.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								Documentation/devicetree/bindings/video/ti,omap2-dss.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| Texas Instruments OMAP2 Display Subsystem | ||||
| ========================================= | ||||
| 
 | ||||
| See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||||
| description about OMAP Display Subsystem bindings. | ||||
| 
 | ||||
| DSS Core | ||||
| -------- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap2-dss" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_core" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video port for DPI output | ||||
| 
 | ||||
| DPI Endpoint required properties: | ||||
| - data-lines: number of lines used | ||||
| 
 | ||||
| 
 | ||||
| DISPC | ||||
| ----- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap2-dispc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_dispc" | ||||
| - interrupts: the DISPC interrupt | ||||
| 
 | ||||
| 
 | ||||
| RFBI | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap2-rfbi" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_rfbi" | ||||
| 
 | ||||
| 
 | ||||
| VENC | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap2-venc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_venc" | ||||
| - vdda-supply: power supply for DAC | ||||
| 
 | ||||
| VENC Endpoint required properties: | ||||
| 
 | ||||
| Required properties: | ||||
| - ti,invert-polarity: invert the polarity of the video signal | ||||
| - ti,channels: 1 for composite, 2 for s-video | ||||
							
								
								
									
										83
									
								
								Documentation/devicetree/bindings/video/ti,omap3-dss.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								Documentation/devicetree/bindings/video/ti,omap3-dss.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| Texas Instruments OMAP3 Display Subsystem | ||||
| ========================================= | ||||
| 
 | ||||
| See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||||
| description about OMAP Display Subsystem bindings. | ||||
| 
 | ||||
| DSS Core | ||||
| -------- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap3-dss" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_core" | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video ports: | ||||
| 	- Port 0: DPI output | ||||
| 	- Port 1: SDI output | ||||
| 
 | ||||
| DPI Endpoint required properties: | ||||
| - data-lines: number of lines used | ||||
| 
 | ||||
| SDI Endpoint required properties: | ||||
| - datapairs: number of datapairs used | ||||
| 
 | ||||
| 
 | ||||
| DISPC | ||||
| ----- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap3-dispc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_dispc" | ||||
| - interrupts: the DISPC interrupt | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| 
 | ||||
| RFBI | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap3-rfbi" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_rfbi" | ||||
| - clocks: handles to fclk and iclk | ||||
| - clock-names: "fck", "ick" | ||||
| 
 | ||||
| 
 | ||||
| VENC | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap3-venc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_venc" | ||||
| - vdda-supply: power supply for DAC | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| VENC Endpoint required properties: | ||||
| - ti,invert-polarity: invert the polarity of the video signal | ||||
| - ti,channels: 1 for composite, 2 for s-video | ||||
| 
 | ||||
| 
 | ||||
| DSI | ||||
| --- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap3-dsi" | ||||
| - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' | ||||
| - reg-names: "proto", "phy", "pll" | ||||
| - interrupts: the DSI interrupt line | ||||
| - ti,hwmods: "dss_dsi1" | ||||
| - vdd-supply: power supply for DSI | ||||
| - clocks: handles to fclk and pll clock | ||||
| - clock-names: "fck", "sys_clk" | ||||
| 
 | ||||
| DSI Endpoint required properties: | ||||
| - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, | ||||
|   DATA1+, DATA1-, ... | ||||
							
								
								
									
										111
									
								
								Documentation/devicetree/bindings/video/ti,omap4-dss.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								Documentation/devicetree/bindings/video/ti,omap4-dss.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | ||||
| Texas Instruments OMAP4 Display Subsystem | ||||
| ========================================= | ||||
| 
 | ||||
| See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||||
| description about OMAP Display Subsystem bindings. | ||||
| 
 | ||||
| DSS Core | ||||
| -------- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-dss" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_core" | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| Required nodes: | ||||
| - DISPC | ||||
| 
 | ||||
| Optional nodes: | ||||
| - DSS Submodules: RFBI, VENC, DSI, HDMI | ||||
| - Video port for DPI output | ||||
| 
 | ||||
| DPI Endpoint required properties: | ||||
| - data-lines: number of lines used | ||||
| 
 | ||||
| 
 | ||||
| DISPC | ||||
| ----- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-dispc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_dispc" | ||||
| - interrupts: the DISPC interrupt | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| 
 | ||||
| RFBI | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-rfbi" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_rfbi" | ||||
| - clocks: handles to fclk and iclk | ||||
| - clock-names: "fck", "ick" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video port for RFBI output | ||||
| - RFBI controlled peripherals | ||||
| 
 | ||||
| 
 | ||||
| VENC | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-venc" | ||||
| - reg: address and length of the register space | ||||
| - ti,hwmods: "dss_venc" | ||||
| - vdda-supply: power supply for DAC | ||||
| - clocks: handle to fclk | ||||
| - clock-names: "fck" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video port for VENC output | ||||
| 
 | ||||
| VENC Endpoint required properties: | ||||
| - ti,invert-polarity: invert the polarity of the video signal | ||||
| - ti,channels: 1 for composite, 2 for s-video | ||||
| 
 | ||||
| 
 | ||||
| DSI | ||||
| --- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-dsi" | ||||
| - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' | ||||
| - reg-names: "proto", "phy", "pll" | ||||
| - interrupts: the DSI interrupt line | ||||
| - ti,hwmods: "dss_dsi1" or "dss_dsi2" | ||||
| - vdd-supply: power supply for DSI | ||||
| - clocks: handles to fclk and pll clock | ||||
| - clock-names: "fck", "sys_clk" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video port for DSI output | ||||
| - DSI controlled peripherals | ||||
| 
 | ||||
| DSI Endpoint required properties: | ||||
| - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, | ||||
|   DATA1+, DATA1-, ... | ||||
| 
 | ||||
| 
 | ||||
| HDMI | ||||
| ---- | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,omap4-hdmi" | ||||
| - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', | ||||
|        'core' | ||||
| - reg-names: "wp", "pll", "phy", "core" | ||||
| - interrupts: the HDMI interrupt line | ||||
| - ti,hwmods: "dss_hdmi" | ||||
| - vdda-supply: vdda power supply | ||||
| - clocks: handles to fclk and pll clock | ||||
| - clock-names: "fck", "sys_clk" | ||||
| 
 | ||||
| Optional nodes: | ||||
| - Video port for HDMI output | ||||
							
								
								
									
										41
									
								
								Documentation/devicetree/bindings/video/ti,tfp410.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								Documentation/devicetree/bindings/video/ti,tfp410.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| TFP410 DPI to DVI encoder | ||||
| ========================= | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,tfp410" | ||||
| 
 | ||||
| Optional properties: | ||||
| - powerdown-gpios: power-down gpio | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port 0 for DPI input | ||||
| - Video port 1 for DVI output | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| tfp410: encoder@0 { | ||||
| 	compatible = "ti,tfp410"; | ||||
| 	powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>; | ||||
| 
 | ||||
| 	ports { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 
 | ||||
| 		port@0 { | ||||
| 			reg = <0>; | ||||
| 
 | ||||
| 			tfp410_in: endpoint@0 { | ||||
| 				remote-endpoint = <&dpi_out>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		port@1 { | ||||
| 			reg = <1>; | ||||
| 
 | ||||
| 			tfp410_out: endpoint@0 { | ||||
| 				remote-endpoint = <&dvi_connector_in>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										44
									
								
								Documentation/devicetree/bindings/video/ti,tpd12s015.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								Documentation/devicetree/bindings/video/ti,tpd12s015.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| TPD12S015 HDMI level shifter and ESD protection chip | ||||
| ==================================================== | ||||
| 
 | ||||
| Required properties: | ||||
| - compatible: "ti,tpd12s015" | ||||
| 
 | ||||
| Optional properties: | ||||
| - gpios: CT CP HPD, LS OE and HPD gpios | ||||
| 
 | ||||
| Required nodes: | ||||
| - Video port 0 for HDMI input | ||||
| - Video port 1 for HDMI output | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| tpd12s015: encoder@1 { | ||||
| 	compatible = "ti,tpd12s015"; | ||||
| 
 | ||||
| 	gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */ | ||||
| 		<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */ | ||||
| 		<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */ | ||||
| 
 | ||||
| 	ports { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 
 | ||||
| 		port@0 { | ||||
| 			reg = <0>; | ||||
| 
 | ||||
| 			tpd12s015_in: endpoint@0 { | ||||
| 				remote-endpoint = <&hdmi_out>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		port@1 { | ||||
| 			reg = <1>; | ||||
| 
 | ||||
| 			tpd12s015_out: endpoint@0 { | ||||
| 				remote-endpoint = <&hdmi_connector_in>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -5,6 +5,8 @@ please mail me. | ||||
| 
 | ||||
| 00-INDEX | ||||
| 	- this file. | ||||
| api.txt | ||||
| 	- The frame buffer API between applications and buffer devices. | ||||
| arkfb.txt | ||||
| 	- info on the fbdev driver for ARK Logic chips. | ||||
| aty128fb.txt | ||||
| @ -51,12 +53,16 @@ sh7760fb.txt | ||||
| 	- info on the SH7760/SH7763 integrated LCDC Framebuffer driver. | ||||
| sisfb.txt | ||||
| 	- info on the framebuffer device driver for various SiS chips. | ||||
| sm501.txt | ||||
| 	- info on the framebuffer device driver for sm501 videoframebuffer. | ||||
| sstfb.txt | ||||
| 	- info on the frame buffer driver for 3dfx' Voodoo Graphics boards. | ||||
| tgafb.txt | ||||
| 	- info on the TGA (DECChip 21030) frame buffer driver. | ||||
| tridentfb.txt | ||||
| 	info on the framebuffer driver for some Trident chip based cards. | ||||
| udlfb.txt | ||||
| 	- Driver for DisplayLink USB 2.0 chips. | ||||
| uvesafb.txt | ||||
| 	- info on the userspace VESA (VBE2+ compliant) frame buffer device. | ||||
| vesafb.txt | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| 	- this file (info on some of the filesystems supported by linux). | ||||
| Locking | ||||
| 	- info on locking rules as they pertain to Linux VFS. | ||||
| Makefile | ||||
| 	- Makefile for building the filsystems-part of DocBook. | ||||
| 9p.txt | ||||
| 	- 9p (v9fs) is an implementation of the Plan 9 remote fs protocol. | ||||
| adfs.txt | ||||
|  | ||||
| @ -12,6 +12,8 @@ nfs41-server.txt | ||||
| 	- info on the Linux server implementation of NFSv4 minor version 1. | ||||
| nfs-rdma.txt | ||||
| 	- how to install and setup the Linux NFS/RDMA client and server software | ||||
| nfsd-admin-interfaces.txt | ||||
| 	- Administrative interfaces for nfsd. | ||||
| nfsroot.txt | ||||
| 	- short guide on setting up a diskless box with NFS root filesystem. | ||||
| pnfs.txt | ||||
| @ -20,5 +22,5 @@ rpc-cache.txt | ||||
| 	- introduction to the caching mechanisms in the sunrpc layer. | ||||
| idmapper.txt | ||||
| 	- information for configuring request-keys to be used by idmapper | ||||
| knfsd-rpcgss.txt | ||||
| rpc-server-gss.txt | ||||
| 	- Information on GSS authentication support in the NFS Server | ||||
|  | ||||
| @ -8,8 +8,8 @@ reason, the kernel code must instantiate I2C devices explicitly. There are | ||||
| several ways to achieve this, depending on the context and requirements. | ||||
| 
 | ||||
| 
 | ||||
| Method 1: Declare the I2C devices by bus number | ||||
| ----------------------------------------------- | ||||
| Method 1a: Declare the I2C devices by bus number | ||||
| ------------------------------------------------ | ||||
| 
 | ||||
| This method is appropriate when the I2C bus is a system bus as is the case | ||||
| for many embedded systems. On such systems, each I2C bus has a number | ||||
| @ -51,6 +51,43 @@ The devices will be automatically unbound and destroyed when the I2C bus | ||||
| they sit on goes away (if ever.) | ||||
| 
 | ||||
| 
 | ||||
| Method 1b: Declare the I2C devices via devicetree | ||||
| ------------------------------------------------- | ||||
| 
 | ||||
| This method has the same implications as method 1a. The declaration of I2C | ||||
| devices is here done via devicetree as subnodes of the master controller. | ||||
| 
 | ||||
| Example: | ||||
| 
 | ||||
| 	i2c1: i2c@400a0000 { | ||||
| 		/* ... master properties skipped ... */ | ||||
| 		clock-frequency = <100000>; | ||||
| 
 | ||||
| 		flash@50 { | ||||
| 			compatible = "atmel,24c256"; | ||||
| 			reg = <0x50>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pca9532: gpio@60 { | ||||
| 			compatible = "nxp,pca9532"; | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			reg = <0x60>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| Here, two devices are attached to the bus using a speed of 100kHz. For | ||||
| additional properties which might be needed to set up the device, please refer | ||||
| to its devicetree documentation in Documentation/devicetree/bindings/. | ||||
| 
 | ||||
| 
 | ||||
| Method 1c: Declare the I2C devices via ACPI | ||||
| ------------------------------------------- | ||||
| 
 | ||||
| ACPI can also describe I2C devices. There is special documentation for this | ||||
| which is currently located at Documentation/acpi/enumeration.txt. | ||||
| 
 | ||||
| 
 | ||||
| Method 2: Instantiate the devices explicitly | ||||
| -------------------------------------------- | ||||
| 
 | ||||
|  | ||||
| @ -10,3 +10,5 @@ ide-tape.txt | ||||
| 	- info on the IDE ATAPI streaming tape driver | ||||
| ide.txt | ||||
| 	- important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). | ||||
| warm-plug-howto.txt | ||||
| 	- using sysfs to remove and add IDE devices. | ||||
| @ -1,13 +1,15 @@ | ||||
| 00-INDEX | ||||
| 	- This file | ||||
| acer-wmi.txt | ||||
| 	- information on the Acer Laptop WMI Extras driver. | ||||
| Makefile | ||||
| 	- Makefile for building dslm example program. | ||||
| asus-laptop.txt | ||||
| 	- information on the Asus Laptop Extras driver. | ||||
| disk-shock-protection.txt | ||||
| 	- information on hard disk shock protection. | ||||
| dslm.c | ||||
| 	- Simple Disk Sleep Monitor program | ||||
| hpfall.c | ||||
| 	- (HP) laptop accelerometer program for disk protection. | ||||
| laptop-mode.txt | ||||
| 	- how to conserve battery power using laptop-mode. | ||||
| sony-laptop.txt | ||||
|  | ||||
| @ -1,3 +1,7 @@ | ||||
| 00-INDEX | ||||
| 	- This file | ||||
| leds-blinkm.txt | ||||
| 	- Driver for BlinkM LED-devices. | ||||
| leds-class.txt | ||||
| 	- documents LED handling under Linux. | ||||
| leds-lp3944.txt | ||||
| @ -12,3 +16,7 @@ leds-lp55xx.txt | ||||
| 	- description about lp55xx common driver. | ||||
| leds-lm3556.txt | ||||
| 	- notes on how to use the leds-lm3556 driver. | ||||
| ledtrig-oneshot.txt | ||||
| 	- One-shot LED trigger for both sporadic and dense events. | ||||
| ledtrig-transient.txt | ||||
| 	- LED Transient Trigger, one shot timer activation. | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| 00-INDEX | ||||
| 	- this file | ||||
| README.buddha | ||||
| 	- Amiga Buddha and Catweasel IDE Driver | ||||
| kernel-options.txt | ||||
| 	- command line options for Linux/m68k | ||||
| 
 | ||||
|  | ||||
| @ -6,8 +6,14 @@ | ||||
| 	- information on the 3Com Etherlink III Series Ethernet cards. | ||||
| 6pack.txt | ||||
| 	- info on the 6pack protocol, an alternative to KISS for AX.25 | ||||
| DLINK.txt | ||||
| 	- info on the D-Link DE-600/DE-620 parallel port pocket adapters | ||||
| LICENSE.qla3xxx | ||||
| 	- GPLv2 for QLogic Linux Networking HBA Driver | ||||
| LICENSE.qlge | ||||
| 	- GPLv2 for QLogic Linux qlge NIC Driver | ||||
| LICENSE.qlcnic | ||||
| 	- GPLv2 for QLogic Linux qlcnic NIC Driver | ||||
| Makefile | ||||
| 	- Makefile for docsrc. | ||||
| PLIP.txt | ||||
| 	- PLIP: The Parallel Line Internet Protocol device driver | ||||
| README.ipw2100 | ||||
| @ -17,7 +23,7 @@ README.ipw2200 | ||||
| README.sb1000 | ||||
| 	- info on General Instrument/NextLevel SURFboard1000 cable modem. | ||||
| alias.txt | ||||
| 	- info on using alias network devices  | ||||
| 	- info on using alias network devices. | ||||
| arcnet-hardware.txt | ||||
| 	- tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc. | ||||
| arcnet.txt | ||||
| @ -80,7 +86,7 @@ framerelay.txt | ||||
| 	- info on using Frame Relay/Data Link Connection Identifier (DLCI). | ||||
| gen_stats.txt | ||||
| 	- Generic networking statistics for netlink users. | ||||
| generic_hdlc.txt | ||||
| generic-hdlc.txt | ||||
| 	- The generic High Level Data Link Control (HDLC) layer. | ||||
| generic_netlink.txt | ||||
| 	- info on Generic Netlink | ||||
| @ -88,6 +94,8 @@ gianfar.txt | ||||
| 	- Gianfar Ethernet Driver. | ||||
| i40e.txt | ||||
| 	- README for the Intel Ethernet Controller XL710 Driver (i40e). | ||||
| i40evf.txt | ||||
| 	- Short note on the Driver for the Intel(R) XL710 X710 Virtual Function | ||||
| ieee802154.txt | ||||
| 	- Linux IEEE 802.15.4 implementation, API and drivers | ||||
| igb.txt | ||||
| @ -102,6 +110,8 @@ ipddp.txt | ||||
| 	- AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation | ||||
| iphase.txt | ||||
| 	- Interphase PCI ATM (i)Chip IA Linux driver info. | ||||
| ipsec.txt | ||||
| 	- Note on not compressing IPSec payload and resulting failed policy check. | ||||
| ipv6.txt | ||||
| 	- Options to the ipv6 kernel module. | ||||
| ipvs-sysctl.txt | ||||
| @ -120,6 +130,8 @@ lapb-module.txt | ||||
| 	- programming information of the LAPB module. | ||||
| ltpc.txt | ||||
| 	- the Apple or Farallon LocalTalk PC card driver | ||||
| mac80211-auth-assoc-deauth.txt | ||||
| 	- authentication and association / deauth-disassoc with max80211 | ||||
| mac80211-injection.txt | ||||
| 	- HOWTO use packet injection with mac80211 | ||||
| multiqueue.txt | ||||
| @ -134,6 +146,10 @@ netdevices.txt | ||||
| 	- info on network device driver functions exported to the kernel. | ||||
| netif-msg.txt | ||||
| 	- Design of the network interface message level setting (NETIF_MSG_*). | ||||
| netlink_mmap.txt | ||||
| 	- memory mapped I/O with netlink | ||||
| nf_conntrack-sysctl.txt | ||||
| 	- list of netfilter-sysctl knobs. | ||||
| nfc.txt | ||||
| 	- The Linux Near Field Communication (NFS) subsystem. | ||||
| openvswitch.txt | ||||
| @ -176,7 +192,7 @@ skfp.txt | ||||
| 	- SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. | ||||
| smc9.txt | ||||
| 	- the driver for SMC's 9000 series of Ethernet cards | ||||
| spider-net.txt | ||||
| spider_net.txt | ||||
| 	- README for the Spidernet Driver (as found in PS3 / Cell BE). | ||||
| stmmac.txt | ||||
| 	- README for the STMicro Synopsys Ethernet driver. | ||||
| @ -188,6 +204,8 @@ tcp.txt | ||||
| 	- short blurb on how TCP output takes place. | ||||
| tcp-thin.txt | ||||
| 	- kernel tuning options for low rate 'thin' TCP streams. | ||||
| team.txt | ||||
| 	- pointer to information for ethernet teaming devices. | ||||
| tlan.txt | ||||
| 	- ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. | ||||
| tproxy.txt | ||||
| @ -200,6 +218,8 @@ vortex.txt | ||||
| 	- info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards. | ||||
| vxge.txt | ||||
| 	- README for the Neterion X3100 PCIe Server Adapter. | ||||
| vxlan.txt | ||||
| 	- Virtual extensible LAN overview | ||||
| x25.txt | ||||
| 	- general info on X.25 development. | ||||
| x25-iface.txt | ||||
|  | ||||
| @ -1,45 +0,0 @@ | ||||
| The 3Com Etherlink Plus (3c505) driver. | ||||
| 
 | ||||
| This driver now uses DMA.  There is currently no support for PIO operation. | ||||
| The default DMA channel is 6; this is _not_ autoprobed, so you must | ||||
| make sure you configure it correctly.  If loading the driver as a | ||||
| module, you can do this with "modprobe 3c505 dma=n".  If the driver is | ||||
| linked statically into the kernel, you must either use an "ether=" | ||||
| statement on the command line, or change the definition of ELP_DMA in 3c505.h. | ||||
| 
 | ||||
| The driver will warn you if it has to fall back on the compiled in | ||||
| default DMA channel.  | ||||
| 
 | ||||
| If no base address is given at boot time, the driver will autoprobe | ||||
| ports 0x300, 0x280 and 0x310 (in that order).  If no IRQ is given, the driver | ||||
| will try to probe for it. | ||||
| 
 | ||||
| The driver can be used as a loadable module. | ||||
| 
 | ||||
| Theoretically, one instance of the driver can now run multiple cards, | ||||
| in the standard way (when loading a module, say "modprobe 3c505 | ||||
| io=0x300,0x340 irq=10,11 dma=6,7" or whatever).  I have not tested | ||||
| this, though. | ||||
| 
 | ||||
| The driver may now support revision 2 hardware; the dependency on | ||||
| being able to read the host control register has been removed.  This | ||||
| is also untested, since I don't have a suitable card. | ||||
| 
 | ||||
| Known problems: | ||||
|  I still see "DMA upload timed out" messages from time to time.  These | ||||
| seem to be fairly non-fatal though. | ||||
|  The card is old and slow. | ||||
| 
 | ||||
| To do: | ||||
|  Improve probe/setup code | ||||
|  Test multicast and promiscuous operation | ||||
| 
 | ||||
| Authors: | ||||
|  The driver is mainly written by Craig Southeren, email | ||||
|  <craigs@ineluki.apana.org.au>. | ||||
|  Parts of the driver (adapting the driver to 1.1.4+ kernels, | ||||
|  IRQ/address detection, some changes) and this README by | ||||
|  Juha Laiho <jlaiho@ichaos.nullnet.fi>. | ||||
|  DMA mode, more fixes, etc, by Philip Blundell <pjb27@cam.ac.uk> | ||||
|  Multicard support, Software configurable DMA, etc., by | ||||
|  Christopher Collins <ccollins@pcug.org.au> | ||||
| @ -75,14 +75,26 @@ Before the controller can make use of the PHY, it has to get a reference to | ||||
| it. This framework provides the following APIs to get a reference to the PHY. | ||||
| 
 | ||||
| struct phy *phy_get(struct device *dev, const char *string); | ||||
| struct phy *phy_optional_get(struct device *dev, const char *string); | ||||
| struct phy *devm_phy_get(struct device *dev, const char *string); | ||||
| struct phy *devm_phy_optional_get(struct device *dev, const char *string); | ||||
| 
 | ||||
| phy_get and devm_phy_get can be used to get the PHY. In the case of dt boot, | ||||
| the string arguments should contain the phy name as given in the dt data and | ||||
| in the case of non-dt boot, it should contain the label of the PHY. | ||||
| The only difference between the two APIs is that devm_phy_get associates the | ||||
| device with the PHY using devres on successful PHY get. On driver detach, | ||||
| release function is invoked on the the devres data and devres data is freed. | ||||
| phy_get, phy_optional_get, devm_phy_get and devm_phy_optional_get can | ||||
| be used to get the PHY. In the case of dt boot, the string arguments | ||||
| should contain the phy name as given in the dt data and in the case of | ||||
| non-dt boot, it should contain the label of the PHY.  The two | ||||
| devm_phy_get associates the device with the PHY using devres on | ||||
| successful PHY get. On driver detach, release function is invoked on | ||||
| the the devres data and devres data is freed. phy_optional_get and | ||||
| devm_phy_optional_get should be used when the phy is optional. These | ||||
| two functions will never return -ENODEV, but instead returns NULL when | ||||
| the phy cannot be found. | ||||
| 
 | ||||
| It should be noted that NULL is a valid phy reference. All phy | ||||
| consumer calls on the NULL phy become NOPs. That is the release calls, | ||||
| the phy_init() and phy_exit() calls, and phy_power_on() and | ||||
| phy_power_off() calls are all NOP when applied to a NULL phy. The NULL | ||||
| phy is useful in devices for handling optional phy devices. | ||||
| 
 | ||||
| 5. Releasing a reference to the PHY | ||||
| 
 | ||||
|  | ||||
| @ -4,6 +4,8 @@ apm-acpi.txt | ||||
| 	- basic info about the APM and ACPI support. | ||||
| basic-pm-debugging.txt | ||||
| 	- Debugging suspend and resume | ||||
| charger-manager.txt | ||||
| 	- Battery charger management. | ||||
| devices.txt | ||||
| 	- How drivers interact with system-wide power management | ||||
| drivers-testing.txt | ||||
| @ -22,6 +24,8 @@ pm_qos_interface.txt | ||||
| 	- info on Linux PM Quality of Service interface | ||||
| power_supply_class.txt | ||||
| 	- Tells userspace about battery, UPS, AC or DC power supply properties | ||||
| runtime_pm.txt | ||||
| 	- Power management framework for I/O devices. | ||||
| s2ram.txt | ||||
| 	- How to get suspend to ram working (and debug it when it isn't) | ||||
| states.txt | ||||
| @ -38,7 +42,5 @@ tricks.txt | ||||
| 	- How to trick software suspend (to disk) into working when it isn't | ||||
| userland-swsusp.txt | ||||
| 	- Experimental implementation of software suspend in userspace | ||||
| video_extension.txt | ||||
| 	- ACPI video extensions | ||||
| video.txt | ||||
| 	- Video issues during resume from suspend | ||||
|  | ||||
| @ -117,6 +117,7 @@ static void usage(char *progname) | ||||
| 		" -f val     adjust the ptp clock frequency by 'val' ppb\n" | ||||
| 		" -g         get the ptp clock time\n" | ||||
| 		" -h         prints this message\n" | ||||
| 		" -i val     index for event/trigger\n" | ||||
| 		" -k val     measure the time offset between system and phc clock\n" | ||||
| 		"            for 'val' times (Maximum 25)\n" | ||||
| 		" -p val     enable output with a period of 'val' nanoseconds\n" | ||||
| @ -154,6 +155,7 @@ int main(int argc, char *argv[]) | ||||
| 	int capabilities = 0; | ||||
| 	int extts = 0; | ||||
| 	int gettime = 0; | ||||
| 	int index = 0; | ||||
| 	int oneshot = 0; | ||||
| 	int pct_offset = 0; | ||||
| 	int n_samples = 0; | ||||
| @ -167,7 +169,7 @@ int main(int argc, char *argv[]) | ||||
| 
 | ||||
| 	progname = strrchr(argv[0], '/'); | ||||
| 	progname = progname ? 1+progname : argv[0]; | ||||
| 	while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghk:p:P:sSt:v"))) { | ||||
| 	while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghi:k:p:P:sSt:v"))) { | ||||
| 		switch (c) { | ||||
| 		case 'a': | ||||
| 			oneshot = atoi(optarg); | ||||
| @ -190,6 +192,9 @@ int main(int argc, char *argv[]) | ||||
| 		case 'g': | ||||
| 			gettime = 1; | ||||
| 			break; | ||||
| 		case 'i': | ||||
| 			index = atoi(optarg); | ||||
| 			break; | ||||
| 		case 'k': | ||||
| 			pct_offset = 1; | ||||
| 			n_samples = atoi(optarg); | ||||
| @ -301,7 +306,7 @@ int main(int argc, char *argv[]) | ||||
| 
 | ||||
| 	if (extts) { | ||||
| 		memset(&extts_request, 0, sizeof(extts_request)); | ||||
| 		extts_request.index = 0; | ||||
| 		extts_request.index = index; | ||||
| 		extts_request.flags = PTP_ENABLE_FEATURE; | ||||
| 		if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { | ||||
| 			perror("PTP_EXTTS_REQUEST"); | ||||
| @ -375,7 +380,7 @@ int main(int argc, char *argv[]) | ||||
| 			return -1; | ||||
| 		} | ||||
| 		memset(&perout_request, 0, sizeof(perout_request)); | ||||
| 		perout_request.index = 0; | ||||
| 		perout_request.index = index; | ||||
| 		perout_request.start.sec = ts.tv_sec + 2; | ||||
| 		perout_request.start.nsec = 0; | ||||
| 		perout_request.period.sec = 0; | ||||
|  | ||||
| @ -16,11 +16,13 @@ Debugging390.txt | ||||
| 	- hints for debugging on s390 systems. | ||||
| driver-model.txt | ||||
| 	- information on s390 devices and the driver model. | ||||
| kvm.txt | ||||
| 	- ioctl calls to /dev/kvm on s390. | ||||
| monreader.txt | ||||
| 	- information on accessing the z/VM monitor stream from Linux. | ||||
| qeth.txt | ||||
| 	- HiperSockets Bridge Port Support. | ||||
| s390dbf.txt | ||||
| 	- information on using the s390 debug feature. | ||||
| TAPE | ||||
| 	- information on the driver for channel-attached tapes. | ||||
| zfcpdump | ||||
| zfcpdump.txt | ||||
| 	- information on the s390 SCSI dump tool. | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| 	- this file. | ||||
| sched-arch.txt | ||||
| 	- CPU Scheduler implementation hints for architecture specific code. | ||||
| sched-bwc.txt | ||||
| 	- CFS bandwidth control overview. | ||||
| sched-design-CFS.txt | ||||
| 	- goals, design and implementation of the Completely Fair Scheduler. | ||||
| sched-domains.txt | ||||
|  | ||||
| @ -36,6 +36,8 @@ NinjaSCSI.txt | ||||
| 	- info on WorkBiT NinjaSCSI-32/32Bi driver | ||||
| aacraid.txt | ||||
| 	- Driver supporting Adaptec RAID controllers | ||||
| advansys.txt | ||||
| 	- List of Advansys Host Adapters | ||||
| aha152x.txt | ||||
| 	- info on driver for Adaptec AHA152x based adapters | ||||
| aic79xx.txt | ||||
| @ -44,6 +46,12 @@ aic7xxx.txt | ||||
| 	- info on driver for Adaptec controllers | ||||
| arcmsr_spec.txt | ||||
| 	- ARECA FIRMWARE SPEC (for IOP331 adapter) | ||||
| bfa.txt | ||||
| 	- Brocade FC/FCOE adapter driver. | ||||
| bnx2fc.txt | ||||
| 	- FCoE hardware offload for Broadcom network interfaces. | ||||
| cxgb3i.txt | ||||
| 	- Chelsio iSCSI Linux Driver | ||||
| dc395x.txt | ||||
| 	- README file for the dc395x SCSI driver | ||||
| dpti.txt | ||||
| @ -52,18 +60,24 @@ dtc3x80.txt | ||||
| 	- info on driver for DTC 2x80 based adapters | ||||
| g_NCR5380.txt | ||||
| 	- info on driver for NCR5380 and NCR53c400 based adapters | ||||
| hpsa.txt | ||||
| 	- HP Smart Array Controller SCSI driver. | ||||
| hptiop.txt | ||||
| 	- HIGHPOINT ROCKETRAID 3xxx RAID DRIVER | ||||
| in2000.txt | ||||
| 	- info on in2000 driver | ||||
| libsas.txt | ||||
| 	- Serial Attached SCSI management layer. | ||||
| link_power_management_policy.txt | ||||
| 	- Link power management options. | ||||
| lpfc.txt | ||||
| 	- LPFC driver release notes | ||||
| megaraid.txt | ||||
| 	- Common Management Module, shared code handling ioctls for LSI drivers | ||||
| ncr53c8xx.txt | ||||
| 	- info on driver for NCR53c8xx based adapters | ||||
| osd.txt | ||||
| 	Object-Based Storage Device, command set introduction. | ||||
| osst.txt | ||||
| 	- info on driver for OnStream SC-x0 SCSI tape | ||||
| ppa.txt | ||||
| @ -74,6 +88,8 @@ scsi-changer.txt | ||||
| 	- README for the SCSI media changer driver | ||||
| scsi-generic.txt | ||||
| 	- info on the sg driver for generic (non-disk/CD/tape) SCSI devices. | ||||
| scsi-parameters.txt | ||||
| 	- List of SCSI-parameters to pass to the kernel at module load-time. | ||||
| scsi.txt | ||||
| 	- short blurb on using SCSI support as a module. | ||||
| scsi_mid_low_api.txt | ||||
|  | ||||
| @ -4,10 +4,12 @@ README.cycladesZ | ||||
| 	- info on Cyclades-Z firmware loading. | ||||
| digiepca.txt | ||||
| 	- info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. | ||||
| hayes-esp.txt | ||||
| 	- info on using the Hayes ESP serial driver. | ||||
| driver | ||||
| 	- intro to the low level serial driver. | ||||
| moxa-smartio | ||||
| 	- file with info on installing/using Moxa multiport serial driver. | ||||
| n_gsm.txt | ||||
| 	- GSM 0710 tty multiplexer howto. | ||||
| riscom8.txt | ||||
| 	- notes on using the RISCom/8 multi-port serial driver. | ||||
| rocket.txt | ||||
|  | ||||
							
								
								
									
										22
									
								
								Documentation/spi/00-INDEX
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Documentation/spi/00-INDEX
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| 00-INDEX | ||||
| 	- this file. | ||||
| Makefile | ||||
| 	- Makefile for the example sourcefiles. | ||||
| butterfly | ||||
| 	- AVR Butterfly SPI driver overview and pin configuration. | ||||
| ep93xx_spi | ||||
| 	- Basic EP93xx SPI driver configuration. | ||||
| pxa2xx | ||||
| 	- PXA2xx SPI master controller build by spi_message fifo wq | ||||
| spidev | ||||
| 	- Intro to the userspace API for spi devices | ||||
| spidev_fdx.c | ||||
| 	- spidev example file | ||||
| spi-lm70llp | ||||
| 	- Connecting an LM70-LLP sensor to the kernel via the SPI subsys. | ||||
| spi-sc18is602 | ||||
| 	- NXP SC18IS602/603 I2C-bus to SPI bridge | ||||
| spi-summary | ||||
| 	- (Linux) SPI overview. If unsure about SPI or SPI in Linux, start here. | ||||
| spidev_test.c | ||||
| 	- SPI testing utility. | ||||
| @ -543,7 +543,22 @@ SPI MASTER METHODS | ||||
| 	queuing transfers that arrive in the meantime. When the driver is | ||||
| 	finished with this message, it must call | ||||
| 	spi_finalize_current_message() so the subsystem can issue the next | ||||
| 	transfer. This may sleep. | ||||
| 	message. This may sleep. | ||||
| 
 | ||||
|     master->transfer_one(struct spi_master *master, struct spi_device *spi, | ||||
| 			 struct spi_transfer *transfer) | ||||
| 	The subsystem calls the driver to transfer a single transfer while | ||||
| 	queuing transfers that arrive in the meantime. When the driver is | ||||
| 	finished with this transfer, it must call | ||||
| 	spi_finalize_current_transfer() so the subsystem can issue the next | ||||
| 	transfer. This may sleep. Note: transfer_one and transfer_one_message | ||||
| 	are mutually exclusive; when both are set, the generic subsystem does | ||||
| 	not call your transfer_one callback. | ||||
| 
 | ||||
| 	Return values: | ||||
| 	negative errno: error | ||||
| 	0: transfer is finished | ||||
| 	1: transfer is still in progress | ||||
| 
 | ||||
|     DEPRECATED METHODS | ||||
| 
 | ||||
|  | ||||
| @ -8,6 +8,8 @@ hpet_example.c | ||||
| 	- sample hpet timer test program | ||||
| hrtimers.txt | ||||
| 	- subsystem for high-resolution kernel timers | ||||
| Makefile | ||||
| 	- Build and link hpet_example | ||||
| NO_HZ.txt | ||||
| 	- Summary of the different methods for the scheduler clock-interrupts management. | ||||
| timers-howto.txt | ||||
|  | ||||
| @ -20,5 +20,7 @@ ppc-pv.txt | ||||
| 	- the paravirtualization interface on PowerPC. | ||||
| review-checklist.txt | ||||
| 	- review checklist for KVM patches. | ||||
| s390-diag.txt | ||||
| 	- Diagnose hypercall description (for IBM S/390) | ||||
| timekeeping.txt | ||||
| 	- timekeeping virtualization for x86-based architectures. | ||||
|  | ||||
| @ -16,8 +16,6 @@ hwpoison.txt | ||||
| 	- explains what hwpoison is | ||||
| ksm.txt | ||||
| 	- how to use the Kernel Samepage Merging feature. | ||||
| locking | ||||
| 	- info on how locking and synchronization is done in the Linux vm code. | ||||
| numa | ||||
| 	- information about NUMA specific code in the Linux vm. | ||||
| numa_memory_policy.txt | ||||
| @ -32,6 +30,8 @@ slub.txt | ||||
| 	- a short users guide for SLUB. | ||||
| soft-dirty.txt | ||||
| 	- short explanation for soft-dirty PTEs | ||||
| split_page_table_lock | ||||
| 	- Separate per-table lock to improve scalability of the old page_table_lock. | ||||
| transhuge.txt | ||||
| 	- Transparent Hugepage Support, alternative way of using hugepages. | ||||
| unevictable-lru.txt | ||||
|  | ||||
| @ -4,7 +4,9 @@ ds2482 | ||||
| 	- The Maxim/Dallas Semiconductor DS2482 provides 1-wire busses. | ||||
| ds2490 | ||||
| 	- The Maxim/Dallas Semiconductor DS2490 builds USB <-> W1 bridges. | ||||
| mxc_w1 | ||||
| mxc-w1 | ||||
| 	- W1 master controller driver found on Freescale MX2/MX3 SoCs | ||||
| omap-hdq | ||||
| 	- HDQ/1-wire module of TI OMAP 2430/3430. | ||||
| w1-gpio | ||||
| 	- GPIO 1-wire bus master driver. | ||||
|  | ||||
| @ -4,3 +4,5 @@ w1_therm | ||||
| 	- The Maxim/Dallas Semiconductor ds18*20 temperature sensor. | ||||
| w1_ds2423 | ||||
| 	- The Maxim/Dallas Semiconductor ds2423 counter device. | ||||
| w1_ds28e04 | ||||
| 	- The Maxim/Dallas Semiconductor ds28e04 eeprom. | ||||
|  | ||||
| @ -1,6 +1,20 @@ | ||||
| 00-INDEX | ||||
| 	- this file | ||||
| mtrr.txt | ||||
| 	- how to use x86 Memory Type Range Registers to increase performance | ||||
| boot.txt | ||||
| 	- List of boot protocol versions | ||||
| early-microcode.txt | ||||
| 	- How to load microcode from an initrd-CPIO archive early to fix CPU issues. | ||||
| earlyprintk.txt | ||||
| 	- Using earlyprintk with a USB2 debug port key. | ||||
| entry_64.txt | ||||
| 	- Describe (some of the) kernel entry points for x86. | ||||
| exception-tables.txt | ||||
| 	- why and how Linux kernel uses exception tables on x86 | ||||
| mtrr.txt | ||||
| 	- how to use x86 Memory Type Range Registers to increase performance | ||||
| pat.txt | ||||
| 	- Page Attribute Table intro and API | ||||
| usb-legacy-support.txt | ||||
| 	- how to fix/avoid quirks when using emulated PS/2 mouse/keyboard. | ||||
| zero-page.txt | ||||
| 	- layout of the first page of memory. | ||||
|  | ||||
| @ -7,7 +7,7 @@ help.  Contact the Chinese maintainer if this translation is outdated | ||||
| or if there is a problem with the translation. | ||||
| 
 | ||||
| Maintainer: Will Deacon <will.deacon@arm.com> | ||||
| Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | ||||
| Chinese maintainer: Fu Wei <wefu@redhat.com> | ||||
| --------------------------------------------------------------------- | ||||
| Documentation/arm64/booting.txt 的中文翻译 | ||||
| 
 | ||||
| @ -16,9 +16,9 @@ Documentation/arm64/booting.txt 的中文翻译 | ||||
| 译存在问题,请联系中文版维护者。 | ||||
| 
 | ||||
| 英文版维护者: Will Deacon <will.deacon@arm.com> | ||||
| 中文版维护者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版翻译者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版校译者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版维护者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版翻译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版校译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 
 | ||||
| 以下为正文 | ||||
| --------------------------------------------------------------------- | ||||
| @ -64,8 +64,8 @@ RAM,或可能使用对这个设备已知的 RAM 信息,还可能使用任何 | ||||
| 
 | ||||
| 必要性: 强制 | ||||
| 
 | ||||
| 设备树数据块(dtb)大小必须不大于 2 MB,且位于从内核映像起始算起第一个 | ||||
| 512MB 内的 2MB 边界上。这使得内核可以通过初始页表中的单个节描述符来 | ||||
| 设备树数据块(dtb)必须 8 字节对齐,并位于从内核映像起始算起第一个 512MB | ||||
| 内,且不得跨越 2MB 对齐边界。这使得内核可以通过初始页表中的单个节描述符来 | ||||
| 映射此数据块。 | ||||
| 
 | ||||
| 
 | ||||
| @ -84,13 +84,23 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | ||||
| 
 | ||||
| 必要性: 强制 | ||||
| 
 | ||||
| 已解压的内核映像包含一个 32 字节的头,内容如下: | ||||
| 已解压的内核映像包含一个 64 字节的头,内容如下: | ||||
| 
 | ||||
|   u32 magic	= 0x14000008;	/* 跳转到 stext, 小端 */ | ||||
|   u32 res0	= 0;		/* 保留 */ | ||||
|   u32 code0;			/* 可执行代码 */ | ||||
|   u32 code1;			/* 可执行代码 */ | ||||
|   u64 text_offset;		/* 映像装载偏移 */ | ||||
|   u64 res0	= 0;		/* 保留 */ | ||||
|   u64 res1	= 0;		/* 保留 */ | ||||
|   u64 res2	= 0;		/* 保留 */ | ||||
|   u64 res3	= 0;		/* 保留 */ | ||||
|   u64 res4	= 0;		/* 保留 */ | ||||
|   u32 magic	= 0x644d5241;	/* 魔数, 小端, "ARM\x64" */ | ||||
|   u32 res5 = 0;      		/* 保留 */ | ||||
| 
 | ||||
| 
 | ||||
| 映像头注释: | ||||
| 
 | ||||
| - code0/code1 负责跳转到 stext. | ||||
| 
 | ||||
| 映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM | ||||
| 的起始地址必须是以 2MB 对齐的。 | ||||
| @ -118,9 +128,9 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | ||||
|   外部高速缓存(如果存在)必须配置并禁用。 | ||||
| 
 | ||||
| - 架构计时器 | ||||
|   CNTFRQ 必须设定为计时器的频率。 | ||||
|   如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 EL1PCTEN (bit 0) | ||||
|   必须置位。 | ||||
|   CNTFRQ 必须设定为计时器的频率,且 CNTVOFF 必须设定为对所有 CPU | ||||
|   都一致的值。如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 | ||||
|   EL1PCTEN (bit 0) 必须置位。 | ||||
| 
 | ||||
| - 一致性 | ||||
|   通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 | ||||
| @ -131,23 +141,40 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | ||||
|   在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 | ||||
|   在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 | ||||
| 
 | ||||
| 以上对于 CPU 模式、高速缓存、MMU、架构计时器、一致性、系统寄存器的 | ||||
| 必要条件描述适用于所有 CPU。所有 CPU 必须在同一异常级别跳入内核。 | ||||
| 
 | ||||
| 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: | ||||
| 
 | ||||
| - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 | ||||
|   数据块必须在每个 CPU 节点中包含以下内容: | ||||
| 
 | ||||
|     1、‘enable-method’属性。目前,此字段支持的值仅为字符串“spin-table”。 | ||||
| 
 | ||||
|     2、‘cpu-release-addr’标识一个 64-bit、初始化为零的内存位置。 | ||||
|   数据块必须在每个 CPU 节点中包含一个 ‘enable-method’ 属性,所 | ||||
|   支持的 enable-method 请见下文。 | ||||
| 
 | ||||
|   引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 | ||||
|   数据块。 | ||||
| 
 | ||||
| - 任何辅助 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | ||||
| - enable-method 为 “spin-table” 的 CPU 必须在它们的 CPU | ||||
|   节点中包含一个 ‘cpu-release-addr’ 属性。这个属性标识了一个 | ||||
|   64 位自然对齐且初始化为零的内存位置。 | ||||
| 
 | ||||
|   这些 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | ||||
|   给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 | ||||
|   包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 | ||||
|   发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 | ||||
|   时,CPU 必须直接跳入此值所指向的地址。 | ||||
|   时,CPU 必须跳入此值所指向的地址。此值为一个单独的 64 位小端值, | ||||
|   因此 CPU 须在跳转前将所读取的值转换为其本身的端模式。 | ||||
| 
 | ||||
| - enable-method 为 “psci” 的 CPU 保持在内核外(比如,在 | ||||
|   memory 节点中描述为内核空间的内存区外,或在通过设备树 /memreserve/ | ||||
|   域中描述为内核保留区的空间中)。内核将会发起在 ARM 文档(编号 | ||||
|   ARM DEN 0022A:用于 ARM 上的电源状态协调接口系统软件)中描述的 | ||||
|   CPU_ON 调用来将 CPU 带入内核。 | ||||
| 
 | ||||
|   *译者注:到文档翻译时,此文档已更新为 ARM DEN 0022B。 | ||||
| 
 | ||||
|   设备树必须包含一个 ‘psci’ 节点,请参考以下文档: | ||||
|   Documentation/devicetree/bindings/arm/psci.txt | ||||
| 
 | ||||
| 
 | ||||
| - 辅助 CPU 通用寄存器设置 | ||||
|   x0 = 0 (保留,将来可能使用) | ||||
|  | ||||
| @ -7,7 +7,7 @@ help.  Contact the Chinese maintainer if this translation is outdated | ||||
| or if there is a problem with the translation. | ||||
| 
 | ||||
| Maintainer: Catalin Marinas <catalin.marinas@arm.com> | ||||
| Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | ||||
| Chinese maintainer: Fu Wei <wefu@redhat.com> | ||||
| --------------------------------------------------------------------- | ||||
| Documentation/arm64/memory.txt 的中文翻译 | ||||
| 
 | ||||
| @ -16,9 +16,9 @@ Documentation/arm64/memory.txt 的中文翻译 | ||||
| 译存在问题,请联系中文版维护者。 | ||||
| 
 | ||||
| 英文版维护者: Catalin Marinas <catalin.marinas@arm.com> | ||||
| 中文版维护者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版翻译者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版校译者: 傅炜  Fu Wei <tekkamanninja@gmail.com> | ||||
| 中文版维护者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版翻译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版校译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 
 | ||||
| 以下为正文 | ||||
| --------------------------------------------------------------------- | ||||
| @ -41,7 +41,7 @@ AArch64 Linux 使用页大小为 4KB 的 3 级转换表配置,对于用户和 | ||||
| TTBR1 中,且从不写入 TTBR0。 | ||||
| 
 | ||||
| 
 | ||||
| AArch64 Linux 内存布局: | ||||
| AArch64 Linux 在页大小为 4KB 时的内存布局: | ||||
| 
 | ||||
| 起始地址			结束地址			大小		用途 | ||||
| ----------------------------------------------------------------------- | ||||
| @ -55,15 +55,42 @@ ffffffbc00000000	ffffffbdffffffff	   8GB		vmemmap | ||||
| 
 | ||||
| ffffffbe00000000	ffffffbffbbfffff	  ~8GB		[防护页,未来用于 vmmemap] | ||||
| 
 | ||||
| ffffffbffbc00000	ffffffbffbdfffff	   2MB		earlyprintk 设备 | ||||
| 
 | ||||
| ffffffbffbe00000	ffffffbffbe0ffff	  64KB		PCI I/O 空间 | ||||
| 
 | ||||
| ffffffbbffff0000	ffffffbcffffffff	  ~2MB		[防护页] | ||||
| ffffffbffbe10000	ffffffbcffffffff	  ~2MB		[防护页] | ||||
| 
 | ||||
| ffffffbffc000000	ffffffbfffffffff	  64MB		模块 | ||||
| 
 | ||||
| ffffffc000000000	ffffffffffffffff	 256GB		内核逻辑内存映射 | ||||
| 
 | ||||
| 
 | ||||
| AArch64 Linux 在页大小为 64KB 时的内存布局: | ||||
| 
 | ||||
| 起始地址			结束地址			大小		用途 | ||||
| ----------------------------------------------------------------------- | ||||
| 0000000000000000	000003ffffffffff	   4TB		用户空间 | ||||
| 
 | ||||
| fffffc0000000000	fffffdfbfffeffff	  ~2TB		vmalloc | ||||
| 
 | ||||
| fffffdfbffff0000	fffffdfbffffffff	  64KB		[防护页] | ||||
| 
 | ||||
| fffffdfc00000000	fffffdfdffffffff	   8GB		vmemmap | ||||
| 
 | ||||
| fffffdfe00000000	fffffdfffbbfffff	  ~8GB		[防护页,未来用于 vmmemap] | ||||
| 
 | ||||
| fffffdfffbc00000	fffffdfffbdfffff	   2MB		earlyprintk 设备 | ||||
| 
 | ||||
| fffffdfffbe00000	fffffdfffbe0ffff	  64KB		PCI I/O 空间 | ||||
| 
 | ||||
| fffffdfffbe10000	fffffdfffbffffff	  ~2MB		[防护页] | ||||
| 
 | ||||
| fffffdfffc000000	fffffdffffffffff	  64MB		模块 | ||||
| 
 | ||||
| fffffe0000000000	ffffffffffffffff	   2TB		内核逻辑内存映射 | ||||
| 
 | ||||
| 
 | ||||
| 4KB 页大小的转换表查找: | ||||
| 
 | ||||
| +--------+--------+--------+--------+--------+--------+--------+--------+ | ||||
| @ -91,3 +118,10 @@ ffffffc000000000	ffffffffffffffff	 256GB		内核逻辑内存映射 | ||||
|  |                 |    +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) | ||||
|  |                 +-------------------------------> [47:42] L1 索引 (未使用) | ||||
|  +-------------------------------------------------> [63] TTBR0/1 | ||||
| 
 | ||||
| 当使用 KVM 时, 管理程序(hypervisor)在 EL2 中通过相对内核虚拟地址的 | ||||
| 一个固定偏移来映射内核页(内核虚拟地址的高 24 位设为零): | ||||
| 
 | ||||
| 起始地址			结束地址			大小		用途 | ||||
| ----------------------------------------------------------------------- | ||||
| 0000004000000000	0000007fffffffff	 256GB		在 HYP 中映射的内核对象 | ||||
|  | ||||
							
								
								
									
										52
									
								
								Documentation/zh_CN/arm64/tagged-pointers.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								Documentation/zh_CN/arm64/tagged-pointers.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| Chinese translated version of Documentation/arm64/tagged-pointers.txt | ||||
| 
 | ||||
| If you have any comment or update to the content, please contact the | ||||
| original document maintainer directly.  However, if you have a problem | ||||
| communicating in English you can also ask the Chinese maintainer for | ||||
| help.  Contact the Chinese maintainer if this translation is outdated | ||||
| or if there is a problem with the translation. | ||||
| 
 | ||||
| Maintainer: Will Deacon <will.deacon@arm.com> | ||||
| Chinese maintainer: Fu Wei <wefu@redhat.com> | ||||
| --------------------------------------------------------------------- | ||||
| Documentation/arm64/tagged-pointers.txt 的中文翻译 | ||||
| 
 | ||||
| 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | ||||
| 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | ||||
| 译存在问题,请联系中文版维护者。 | ||||
| 
 | ||||
| 英文版维护者: Will Deacon <will.deacon@arm.com> | ||||
| 中文版维护者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版翻译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 中文版校译者: 傅炜  Fu Wei <wefu@redhat.com> | ||||
| 
 | ||||
| 以下为正文 | ||||
| --------------------------------------------------------------------- | ||||
| 		Linux 在 AArch64 中带标记的虚拟地址 | ||||
| 		================================= | ||||
| 
 | ||||
| 作者: Will Deacon <will.deacon@arm.com> | ||||
| 日期: 2013 年 06 月 12 日 | ||||
| 
 | ||||
| 本文档简述了在 AArch64 地址转换系统中提供的带标记的虚拟地址及其在 | ||||
| AArch64 Linux 中的潜在用途。 | ||||
| 
 | ||||
| 内核提供的地址转换表配置使通过 TTBR0 完成的虚拟地址转换(即用户空间 | ||||
| 映射),其虚拟地址的最高 8 位(63:56)会被转换硬件所忽略。这种机制 | ||||
| 让这些位可供应用程序自由使用,其注意事项如下: | ||||
| 
 | ||||
| 	(1) 内核要求所有传递到 EL1 的用户空间地址带有 0x00 标记。 | ||||
| 	    这意味着任何携带用户空间虚拟地址的系统调用(syscall) | ||||
| 	    参数 *必须* 在陷入内核前使它们的最高字节被清零。 | ||||
| 
 | ||||
| 	(2) 非零标记在传递信号时不被保存。这意味着在应用程序中利用了 | ||||
| 	    标记的信号处理函数无法依赖 siginfo_t 的用户空间虚拟 | ||||
| 	    地址所携带的包含其内部域信息的标记。此规则的一个例外是 | ||||
| 	    当信号是在调试观察点的异常处理程序中产生的,此时标记的 | ||||
| 	    信息将被保存。 | ||||
| 
 | ||||
| 	(3) 当使用带标记的指针时需特别留心,因为仅对两个虚拟地址 | ||||
| 	    的高字节,C 编译器很可能无法判断它们是不同的。 | ||||
| 
 | ||||
| 此构架会阻止对带标记的 PC 指针的利用,因此在异常返回时,其高字节 | ||||
| 将被设置成一个为 “55” 的扩展符。 | ||||
							
								
								
									
										21
									
								
								MAINTAINERS
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								MAINTAINERS
									
									
									
									
									
								
							| @ -1860,6 +1860,7 @@ F:	drivers/net/ethernet/broadcom/bnx2x/ | ||||
| 
 | ||||
| BROADCOM BCM281XX/BCM11XXX ARM ARCHITECTURE | ||||
| M:	Christian Daudt <bcm@fixthebug.org> | ||||
| M:	Matt Porter <mporter@linaro.org> | ||||
| L:	bcm-kernel-feedback-list@broadcom.com | ||||
| T:	git git://git.github.com/broadcom/bcm11351 | ||||
| S:	Maintained | ||||
| @ -2367,7 +2368,7 @@ F:	include/linux/cpufreq.h | ||||
| 
 | ||||
| CPU FREQUENCY DRIVERS - ARM BIG LITTLE | ||||
| M:	Viresh Kumar <viresh.kumar@linaro.org> | ||||
| M:	Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | ||||
| M:	Sudeep Holla <sudeep.holla@arm.com> | ||||
| L:	cpufreq@vger.kernel.org | ||||
| L:	linux-pm@vger.kernel.org | ||||
| W:	http://www.arm.com/products/processors/technologies/biglittleprocessing.php | ||||
| @ -2408,8 +2409,10 @@ F:	tools/power/cpupower/ | ||||
| 
 | ||||
| CPUSETS | ||||
| M:	Li Zefan <lizefan@huawei.com> | ||||
| L:	cgroups@vger.kernel.org | ||||
| W:	http://www.bullopensource.org/cpuset/ | ||||
| W:	http://oss.sgi.com/projects/cpusets/ | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git | ||||
| S:	Maintained | ||||
| F:	Documentation/cgroups/cpusets.txt | ||||
| F:	include/linux/cpuset.h | ||||
| @ -2857,7 +2860,7 @@ M:	Jani Nikula <jani.nikula@linux.intel.com> | ||||
| L:	intel-gfx@lists.freedesktop.org | ||||
| L:	dri-devel@lists.freedesktop.org | ||||
| Q:	http://patchwork.freedesktop.org/project/intel-gfx/ | ||||
| T:	git git://people.freedesktop.org/~danvet/drm-intel | ||||
| T:	git git://anongit.freedesktop.org/drm-intel | ||||
| S:	Supported | ||||
| F:	drivers/gpu/drm/i915/ | ||||
| F:	include/drm/i915* | ||||
| @ -3324,6 +3327,17 @@ S:	Maintained | ||||
| F:	include/linux/netfilter_bridge/ | ||||
| F:	net/bridge/ | ||||
| 
 | ||||
| ETHERNET PHY LIBRARY | ||||
| M:	Florian Fainelli <f.fainelli@gmail.com> | ||||
| L:	netdev@vger.kernel.org | ||||
| S:	Maintained | ||||
| F:	include/linux/phy.h | ||||
| F:	include/linux/phy_fixed.h | ||||
| F:	drivers/net/phy/ | ||||
| F:	Documentation/networking/phy.txt | ||||
| F:	drivers/of/of_mdio.c | ||||
| F:	drivers/of/of_net.c | ||||
| 
 | ||||
| EXT2 FILE SYSTEM | ||||
| M:	Jan Kara <jack@suse.cz> | ||||
| L:	linux-ext4@vger.kernel.org | ||||
| @ -7196,7 +7210,7 @@ S:	Maintained | ||||
| F:	drivers/net/ethernet/rdc/r6040.c | ||||
| 
 | ||||
| RDS - RELIABLE DATAGRAM SOCKETS | ||||
| M:	Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com> | ||||
| M:	Chien Yen <chien.yen@oracle.com> | ||||
| L:	rds-devel@oss.oracle.com (moderated for non-subscribers) | ||||
| S:	Supported | ||||
| F:	net/rds/ | ||||
| @ -9715,7 +9729,6 @@ F:	drivers/xen/*swiotlb* | ||||
| XFS FILESYSTEM | ||||
| P:	Silicon Graphics Inc | ||||
| M:	Dave Chinner <david@fromorbit.com> | ||||
| M:	Ben Myers <bpm@sgi.com> | ||||
| M:	xfs@oss.sgi.com | ||||
| L:	xfs@oss.sgi.com | ||||
| W:	http://oss.sgi.com/projects/xfs | ||||
|  | ||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| VERSION = 3 | ||||
| PATCHLEVEL = 14 | ||||
| SUBLEVEL = 0 | ||||
| EXTRAVERSION = -rc2 | ||||
| EXTRAVERSION = -rc4 | ||||
| NAME = Shuffling Zombie Juror | ||||
| 
 | ||||
| # *DOCUMENTATION*
 | ||||
|  | ||||
| @ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb | ||||
| dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb | ||||
| dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb | ||||
| # sama5d3
 | ||||
| dtb-$(CONFIG_ARCH_AT91)	+= at91-sama5d3_xplained.dtb | ||||
| dtb-$(CONFIG_ARCH_AT91)	+= sama5d31ek.dtb | ||||
| dtb-$(CONFIG_ARCH_AT91)	+= sama5d33ek.dtb | ||||
| dtb-$(CONFIG_ARCH_AT91)	+= sama5d34ek.dtb | ||||
| @ -208,7 +209,8 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | ||||
| 	omap3-n900.dtb \
 | ||||
| 	omap3-n9.dtb \
 | ||||
| 	omap3-n950.dtb \
 | ||||
| 	omap3-tobi.dtb \
 | ||||
| 	omap3-overo-tobi.dtb \
 | ||||
| 	omap3-overo-storm-tobi.dtb \
 | ||||
| 	omap3-gta04.dtb \
 | ||||
| 	omap3-igep0020.dtb \
 | ||||
| 	omap3-igep0030.dtb \
 | ||||
|  | ||||
| @ -121,7 +121,7 @@ | ||||
| 		ti,model = "AM335x-EVMSK"; | ||||
| 		ti,audio-codec = <&tlv320aic3106>; | ||||
| 		ti,mcasp-controller = <&mcasp1>; | ||||
| 		ti,codec-clock-rate = <24576000>; | ||||
| 		ti,codec-clock-rate = <24000000>; | ||||
| 		ti,audio-routing = | ||||
| 			"Headphone Jack",       "HPLOUT", | ||||
| 			"Headphone Jack",       "HPROUT"; | ||||
| @ -256,6 +256,12 @@ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc1_pins: pinmux_mmc1_pins { | ||||
| 		pinctrl-single,pins = < | ||||
| 			0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mcasp1_pins: mcasp1_pins { | ||||
| 		pinctrl-single,pins = < | ||||
| 			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */ | ||||
| @ -456,6 +462,9 @@ | ||||
| 	status = "okay"; | ||||
| 	vmmc-supply = <&vmmc_reg>; | ||||
| 	bus-width = <4>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc1_pins>; | ||||
| 	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; | ||||
| }; | ||||
| 
 | ||||
| &sham { | ||||
|  | ||||
| @ -23,6 +23,7 @@ | ||||
| 		gpio0 = &gpio0; | ||||
| 		gpio1 = &gpio1; | ||||
| 		gpio2 = &gpio2; | ||||
| 		eth3 = ð3; | ||||
| 	}; | ||||
| 
 | ||||
| 	cpus { | ||||
| @ -291,7 +292,7 @@ | ||||
| 				interrupts = <91>; | ||||
| 			}; | ||||
| 
 | ||||
| 			ethernet@34000 { | ||||
| 			eth3: ethernet@34000 { | ||||
| 				compatible = "marvell,armada-370-neta"; | ||||
| 				reg = <0x34000 0x4000>; | ||||
| 				interrupts = <14>; | ||||
|  | ||||
							
								
								
									
										229
									
								
								arch/arm/boot/dts/at91-sama5d3_xplained.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										229
									
								
								arch/arm/boot/dts/at91-sama5d3_xplained.dts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,229 @@ | ||||
| /* | ||||
|  * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board | ||||
|  * | ||||
|  *  Copyright (C) 2014 Atmel, | ||||
|  *		  2014 Nicolas Ferre <nicolas.ferre@atmel.com> | ||||
|  * | ||||
|  * Licensed under GPLv2 or later. | ||||
|  */ | ||||
| /dts-v1/; | ||||
| #include "sama5d36.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "SAMA5D3 Xplained"; | ||||
| 	compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5"; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyS0,115200"; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 		reg = <0x20000000 0x10000000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	ahb { | ||||
| 		apb { | ||||
| 			mmc0: mmc@f0000000 { | ||||
| 				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>; | ||||
| 				status = "okay"; | ||||
| 				slot@0 { | ||||
| 					reg = <0>; | ||||
| 					bus-width = <8>; | ||||
| 					cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi0: spi@f0004000 { | ||||
| 				cs-gpios = <&pioD 13 0>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			can0: can@f000c000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c0: i2c@f0014000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c1: i2c@f0018000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			macb0: ethernet@f0028000 { | ||||
| 				phy-mode = "rgmii"; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			usart0: serial@f001c000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			usart1: serial@f0020000 { | ||||
| 				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart0: serial@f0024000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			mmc1: mmc@f8000000 { | ||||
| 				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; | ||||
| 				status = "okay"; | ||||
| 				slot@0 { | ||||
| 					reg = <0>; | ||||
| 					bus-width = <4>; | ||||
| 					cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi1: spi@f8008000 { | ||||
| 				cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioD 16 0>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			adc0: adc@f8018000 { | ||||
| 				pinctrl-0 = < | ||||
| 					&pinctrl_adc0_adtrg | ||||
| 					&pinctrl_adc0_ad0 | ||||
| 					&pinctrl_adc0_ad1 | ||||
| 					&pinctrl_adc0_ad2 | ||||
| 					&pinctrl_adc0_ad3 | ||||
| 					&pinctrl_adc0_ad4 | ||||
| 					&pinctrl_adc0_ad5 | ||||
| 					&pinctrl_adc0_ad6 | ||||
| 					&pinctrl_adc0_ad7 | ||||
| 					&pinctrl_adc0_ad8 | ||||
| 					&pinctrl_adc0_ad9 | ||||
| 					>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c2: i2c@f801c000 { | ||||
| 				dmas = <0>, <0>;	/* Do not use DMA for i2c2 */ | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			macb1: ethernet@f802c000 { | ||||
| 				phy-mode = "rmii"; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			dbgu: serial@ffffee00 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
| 			pinctrl@fffff200 { | ||||
| 				board { | ||||
| 					pinctrl_mmc0_cd: mmc0_cd { | ||||
| 						atmel,pins = | ||||
| 							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | ||||
| 					}; | ||||
| 
 | ||||
| 					pinctrl_mmc1_cd: mmc1_cd { | ||||
| 						atmel,pins = | ||||
| 							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | ||||
| 					}; | ||||
| 
 | ||||
| 					pinctrl_usba_vbus: usba_vbus { | ||||
| 						atmel,pins = | ||||
| 							<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PE9, conflicts with A9 */ | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			pmc: pmc@fffffc00 { | ||||
| 				main: mainck { | ||||
| 					clock-frequency = <12000000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		nand0: nand@60000000 { | ||||
| 			nand-bus-width = <8>; | ||||
| 			nand-ecc-mode = "hw"; | ||||
| 			atmel,has-pmecc; | ||||
| 			atmel,pmecc-cap = <4>; | ||||
| 			atmel,pmecc-sector-size = <512>; | ||||
| 			nand-on-flash-bbt; | ||||
| 			status = "okay"; | ||||
| 
 | ||||
| 			at91bootstrap@0 { | ||||
| 				label = "at91bootstrap"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			bootloader@40000 { | ||||
| 				label = "bootloader"; | ||||
| 				reg = <0x40000 0x80000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			bootloaderenv@c0000 { | ||||
| 				label = "bootloader env"; | ||||
| 				reg = <0xc0000 0xc0000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			dtb@180000 { | ||||
| 				label = "device tree"; | ||||
| 				reg = <0x180000 0x80000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			kernel@200000 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x200000 0x600000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			rootfs@800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x800000 0x0f800000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb0: gadget@00500000 { | ||||
| 			atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;	/* PE9, conflicts with A9 */ | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&pinctrl_usba_vbus>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb1: ohci@00600000 { | ||||
| 			num-ports = <3>; | ||||
| 			atmel,vbus-gpio = <0 | ||||
| 					   &pioE 3 GPIO_ACTIVE_LOW | ||||
| 					   &pioE 4 GPIO_ACTIVE_LOW | ||||
| 					  >; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb2: ehci@00700000 { | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	gpio_keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 
 | ||||
| 		bp3 { | ||||
| 			label = "PB_USER"; | ||||
| 			gpios = <&pioE 29 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <0x104>; | ||||
| 			gpio-key,wakeup; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 
 | ||||
| 		d2 { | ||||
| 			label = "d2"; | ||||
| 			gpios = <&pioE 23 GPIO_ACTIVE_LOW>;	/* PE23, conflicts with A23, CTS2 */ | ||||
| 			linux,default-trigger = "heartbeat"; | ||||
| 		}; | ||||
| 
 | ||||
| 		d3 { | ||||
| 			label = "d3"; | ||||
| 			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -523,7 +523,7 @@ | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c0: i2c@fff88000 { | ||||
| 				compatible = "atmel,at91sam9263-i2c"; | ||||
| 				compatible = "atmel,at91sam9260-i2c"; | ||||
| 				reg = <0xfff88000 0x100>; | ||||
| 				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; | ||||
| 				#address-cells = <1>; | ||||
|  | ||||
| @ -124,6 +124,10 @@ | ||||
| 			nand-on-flash-bbt; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb0: ohci@00500000 { | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
|  | ||||
| @ -379,15 +379,6 @@ | ||||
| 				#clock-cells = <1>; | ||||
| 			}; | ||||
| 
 | ||||
| 			pmu_intc: pmu-interrupt-ctrl@d0050 { | ||||
| 				compatible = "marvell,dove-pmu-intc"; | ||||
| 				interrupt-controller; | ||||
| 				#interrupt-cells = <1>; | ||||
| 				reg = <0xd0050 0x8>; | ||||
| 				interrupts = <33>; | ||||
| 				marvell,#interrupts = <7>; | ||||
| 			}; | ||||
| 
 | ||||
| 			pinctrl: pin-ctrl@d0200 { | ||||
| 				compatible = "marvell,dove-pinctrl"; | ||||
| 				reg = <0xd0200 0x10>; | ||||
| @ -610,8 +601,6 @@ | ||||
| 			rtc: real-time-clock@d8500 { | ||||
| 				compatible = "marvell,orion-rtc"; | ||||
| 				reg = <0xd8500 0x20>; | ||||
| 				interrupt-parent = <&pmu_intc>; | ||||
| 				interrupts = <5>; | ||||
| 			}; | ||||
| 
 | ||||
| 			gpio2: gpio-ctrl@e8400 { | ||||
|  | ||||
| @ -52,12 +52,6 @@ | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	codec: spdif-transmitter { | ||||
| 		compatible = "linux,spdif-dit"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&pinctrl_hummingboard_spdif>; | ||||
| 	}; | ||||
| 
 | ||||
| 	sound-spdif { | ||||
| 		compatible = "fsl,imx-audio-spdif"; | ||||
| 		model = "imx-spdif"; | ||||
| @ -111,7 +105,7 @@ | ||||
| 		}; | ||||
| 
 | ||||
| 		pinctrl_hummingboard_spdif: hummingboard-spdif { | ||||
| 			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0>; | ||||
| 			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus { | ||||
| @ -142,6 +136,8 @@ | ||||
| }; | ||||
| 
 | ||||
| &spdif { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pinctrl_hummingboard_spdif>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -46,12 +46,6 @@ | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	codec: spdif-transmitter { | ||||
| 		compatible = "linux,spdif-dit"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&pinctrl_cubox_i_spdif>; | ||||
| 	}; | ||||
| 
 | ||||
| 	sound-spdif { | ||||
| 		compatible = "fsl,imx-audio-spdif"; | ||||
| 		model = "imx-spdif"; | ||||
| @ -89,7 +83,7 @@ | ||||
| 		}; | ||||
| 
 | ||||
| 		pinctrl_cubox_i_spdif: cubox-i-spdif { | ||||
| 			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0>; | ||||
| 			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pinctrl_cubox_i_usbh1_vbus: cubox-i-usbh1-vbus { | ||||
| @ -121,6 +115,8 @@ | ||||
| }; | ||||
| 
 | ||||
| &spdif { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pinctrl_cubox_i_spdif>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -32,7 +32,7 @@ | ||||
| 		aux-button { | ||||
| 			label = "aux"; | ||||
| 			linux,code = <169>; | ||||
| 			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; | ||||
| 			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; | ||||
| 			gpio-key,wakeup; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -92,6 +92,8 @@ | ||||
| 	bmp085@77 { | ||||
| 		compatible = "bosch,bmp085"; | ||||
| 		reg = <0x77>; | ||||
| 		interrupt-parent = <&gpio4>; | ||||
| 		interrupts = <17 IRQ_TYPE_EDGE_RISING>; | ||||
| 	}; | ||||
| 
 | ||||
| 	/* leds */ | ||||
| @ -141,8 +143,8 @@ | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc1_pins>; | ||||
| 	vmmc-supply = <&vmmc1>; | ||||
| 	vmmc_aux-supply = <&vsim>; | ||||
| 	bus-width = <4>; | ||||
| 	ti,non-removable; | ||||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
|  | ||||
| @ -14,5 +14,5 @@ | ||||
| 
 | ||||
| / { | ||||
| 	model = "Nokia N9"; | ||||
| 	compatible = "nokia,omap3-n9", "ti,omap3"; | ||||
| 	compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3"; | ||||
| }; | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| /* | ||||
|  * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz> | ||||
|  * Copyright 2013 Aaro Koskinen <aaro.koskinen@iki.fi> | ||||
|  * Copyright (C) 2013-2014 Aaro Koskinen <aaro.koskinen@iki.fi> | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2 (or later) as | ||||
| @ -13,7 +13,7 @@ | ||||
| 
 | ||||
| / { | ||||
| 	model = "Nokia N900"; | ||||
| 	compatible = "nokia,omap3-n900", "ti,omap3"; | ||||
| 	compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3"; | ||||
| 
 | ||||
| 	cpus { | ||||
| 		cpu@0 { | ||||
|  | ||||
| @ -14,5 +14,5 @@ | ||||
| 
 | ||||
| / { | ||||
| 	model = "Nokia N950"; | ||||
| 	compatible = "nokia,omap3-n950", "ti,omap3"; | ||||
| 	compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3"; | ||||
| }; | ||||
|  | ||||
							
								
								
									
										22
									
								
								arch/arm/boot/dts/omap3-overo-storm-tobi.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								arch/arm/boot/dts/omap3-overo-storm-tobi.dts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| /* | ||||
|  * Copyright (C) 2012 Florian Vaussard, EPFL Mobots group | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2 as | ||||
|  * published by the Free Software Foundation. | ||||
|  */ | ||||
| 
 | ||||
| /* | ||||
|  * Tobi expansion board is manufactured by Gumstix Inc. | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
| 
 | ||||
| #include "omap36xx.dtsi" | ||||
| #include "omap3-overo-tobi-common.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "OMAP36xx/AM37xx/DM37xx Gumstix Overo on Tobi"; | ||||
| 	compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap36xx", "ti,omap3"; | ||||
| }; | ||||
| 
 | ||||
| @ -13,9 +13,6 @@ | ||||
| #include "omap3-overo.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "TI OMAP3 Gumstix Overo on Tobi"; | ||||
| 	compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3"; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		heartbeat { | ||||
							
								
								
									
										22
									
								
								arch/arm/boot/dts/omap3-overo-tobi.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								arch/arm/boot/dts/omap3-overo-tobi.dts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| /* | ||||
|  * Copyright (C) 2012 Florian Vaussard, EPFL Mobots group | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2 as | ||||
|  * published by the Free Software Foundation. | ||||
|  */ | ||||
| 
 | ||||
| /* | ||||
|  * Tobi expansion board is manufactured by Gumstix Inc. | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
| 
 | ||||
| #include "omap34xx.dtsi" | ||||
| #include "omap3-overo-tobi-common.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "OMAP35xx Gumstix Overo on Tobi"; | ||||
| 	compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3430", "ti,omap3"; | ||||
| }; | ||||
| 
 | ||||
| @ -9,9 +9,6 @@ | ||||
| /* | ||||
|  * The Gumstix Overo must be combined with an expansion board. | ||||
|  */ | ||||
| /dts-v1/; | ||||
| 
 | ||||
| #include "omap34xx.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	pwmleds { | ||||
|  | ||||
| @ -1228,7 +1228,7 @@ | ||||
| 			compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | ||||
| 			reg = <0x00600000 0x100000>; | ||||
| 			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>; | ||||
| 			clocks = <&usb>, <&uhphs_clk>, <&udphs_clk>, | ||||
| 			clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, | ||||
| 				 <&uhpck>; | ||||
| 			clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | ||||
| 			status = "disabled"; | ||||
|  | ||||
| @ -188,7 +188,6 @@ | ||||
| 		msp2: msp@80117000 { | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&msp2_default_mode>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 
 | ||||
| 		msp3: msp@80125000 { | ||||
|  | ||||
| @ -315,7 +315,7 @@ | ||||
| 		ranges; | ||||
| 
 | ||||
| 		emac: ethernet@01c0b000 { | ||||
| 			compatible = "allwinner,sun4i-emac"; | ||||
| 			compatible = "allwinner,sun4i-a10-emac"; | ||||
| 			reg = <0x01c0b000 0x1000>; | ||||
| 			interrupts = <55>; | ||||
| 			clocks = <&ahb_gates 17>; | ||||
| @ -323,7 +323,7 @@ | ||||
| 		}; | ||||
| 
 | ||||
| 		mdio@01c0b080 { | ||||
| 			compatible = "allwinner,sun4i-mdio"; | ||||
| 			compatible = "allwinner,sun4i-a10-mdio"; | ||||
| 			reg = <0x01c0b080 0x14>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
|  | ||||
| @ -278,7 +278,7 @@ | ||||
| 		ranges; | ||||
| 
 | ||||
| 		emac: ethernet@01c0b000 { | ||||
| 			compatible = "allwinner,sun4i-emac"; | ||||
| 			compatible = "allwinner,sun4i-a10-emac"; | ||||
| 			reg = <0x01c0b000 0x1000>; | ||||
| 			interrupts = <55>; | ||||
| 			clocks = <&ahb_gates 17>; | ||||
| @ -286,7 +286,7 @@ | ||||
| 		}; | ||||
| 
 | ||||
| 		mdio@01c0b080 { | ||||
| 			compatible = "allwinner,sun4i-mdio"; | ||||
| 			compatible = "allwinner,sun4i-a10-mdio"; | ||||
| 			reg = <0x01c0b080 0x14>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
|  | ||||
| @ -340,7 +340,7 @@ | ||||
| 		ranges; | ||||
| 
 | ||||
| 		emac: ethernet@01c0b000 { | ||||
| 			compatible = "allwinner,sun4i-emac"; | ||||
| 			compatible = "allwinner,sun4i-a10-emac"; | ||||
| 			reg = <0x01c0b000 0x1000>; | ||||
| 			interrupts = <0 55 4>; | ||||
| 			clocks = <&ahb_gates 17>; | ||||
| @ -348,7 +348,7 @@ | ||||
| 		}; | ||||
| 
 | ||||
| 		mdio@01c0b080 { | ||||
| 			compatible = "allwinner,sun4i-mdio"; | ||||
| 			compatible = "allwinner,sun4i-a10-mdio"; | ||||
| 			reg = <0x01c0b080 0x14>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
|  | ||||
| @ -57,6 +57,8 @@ | ||||
| 			resets = <&tegra_car 27>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <0>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
| @ -72,6 +74,8 @@ | ||||
| 			resets = <&tegra_car 26>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <1>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
|  | ||||
| @ -94,6 +94,8 @@ | ||||
| 			resets = <&tegra_car 27>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <0>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
| @ -109,6 +111,8 @@ | ||||
| 			resets = <&tegra_car 26>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <1>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
|  | ||||
| @ -28,7 +28,7 @@ | ||||
| 	compatible = "nvidia,cardhu", "nvidia,tegra30"; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		rtc0 = "/i2c@7000d000/tps6586x@34"; | ||||
| 		rtc0 = "/i2c@7000d000/tps65911@2d"; | ||||
| 		rtc1 = "/rtc@7000e000"; | ||||
| 	}; | ||||
| 
 | ||||
|  | ||||
| @ -170,6 +170,8 @@ | ||||
| 			resets = <&tegra_car 27>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <0>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
| @ -185,6 +187,8 @@ | ||||
| 			resets = <&tegra_car 26>; | ||||
| 			reset-names = "dc"; | ||||
| 
 | ||||
| 			nvidia,head = <1>; | ||||
| 
 | ||||
| 			rgb { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
|  | ||||
| @ -1,2 +0,0 @@ | ||||
| /include/ "tests-phandle.dtsi" | ||||
| /include/ "tests-interrupts.dtsi" | ||||
| @ -1,4 +1,4 @@ | ||||
| /include/ "versatile-ab.dts" | ||||
| #include <versatile-ab.dts> | ||||
| 
 | ||||
| / { | ||||
| 	model = "ARM Versatile PB"; | ||||
| @ -47,4 +47,4 @@ | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| /include/ "testcases/tests.dtsi" | ||||
| #include <testcases.dtsi> | ||||
|  | ||||
| @ -29,6 +29,7 @@ CONFIG_ARCH_OMAP3=y | ||||
| CONFIG_ARCH_OMAP4=y | ||||
| CONFIG_SOC_OMAP5=y | ||||
| CONFIG_SOC_AM33XX=y | ||||
| CONFIG_SOC_DRA7XX=y | ||||
| CONFIG_SOC_AM43XX=y | ||||
| CONFIG_ARCH_ROCKCHIP=y | ||||
| CONFIG_ARCH_SOCFPGA=y | ||||
|  | ||||
| @ -212,6 +212,7 @@ extern void copy_to_user_page(struct vm_area_struct *, struct page *, | ||||
| static inline void __flush_icache_all(void) | ||||
| { | ||||
| 	__flush_icache_preferred(); | ||||
| 	dsb(); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -120,13 +120,16 @@ | ||||
| /*
 | ||||
|  * 2nd stage PTE definitions for LPAE. | ||||
|  */ | ||||
| #define L_PTE_S2_MT_UNCACHED	 (_AT(pteval_t, 0x5) << 2) /* MemAttr[3:0] */ | ||||
| #define L_PTE_S2_MT_WRITETHROUGH (_AT(pteval_t, 0xa) << 2) /* MemAttr[3:0] */ | ||||
| #define L_PTE_S2_MT_WRITEBACK	 (_AT(pteval_t, 0xf) << 2) /* MemAttr[3:0] */ | ||||
| #define L_PTE_S2_RDONLY		 (_AT(pteval_t, 1) << 6)   /* HAP[1]   */ | ||||
| #define L_PTE_S2_RDWR		 (_AT(pteval_t, 3) << 6)   /* HAP[2:1] */ | ||||
| #define L_PTE_S2_MT_UNCACHED		(_AT(pteval_t, 0x0) << 2) /* strongly ordered */ | ||||
| #define L_PTE_S2_MT_WRITETHROUGH	(_AT(pteval_t, 0xa) << 2) /* normal inner write-through */ | ||||
| #define L_PTE_S2_MT_WRITEBACK		(_AT(pteval_t, 0xf) << 2) /* normal inner write-back */ | ||||
| #define L_PTE_S2_MT_DEV_SHARED		(_AT(pteval_t, 0x1) << 2) /* device */ | ||||
| #define L_PTE_S2_MT_MASK		(_AT(pteval_t, 0xf) << 2) | ||||
| 
 | ||||
| #define L_PMD_S2_RDWR		 (_AT(pmdval_t, 3) << 6)   /* HAP[2:1] */ | ||||
| #define L_PTE_S2_RDONLY			(_AT(pteval_t, 1) << 6)   /* HAP[1]   */ | ||||
| #define L_PTE_S2_RDWR			(_AT(pteval_t, 3) << 6)   /* HAP[2:1] */ | ||||
| 
 | ||||
| #define L_PMD_S2_RDWR			(_AT(pmdval_t, 3) << 6)   /* HAP[2:1] */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Hyp-mode PL2 PTE definitions for LPAE. | ||||
|  | ||||
| @ -37,18 +37,9 @@ | ||||
| 
 | ||||
| static inline void dsb_sev(void) | ||||
| { | ||||
| #if __LINUX_ARM_ARCH__ >= 7 | ||||
| 	__asm__ __volatile__ ( | ||||
| 		"dsb ishst\n" | ||||
| 		SEV | ||||
| 	); | ||||
| #else | ||||
| 	__asm__ __volatile__ ( | ||||
| 		"mcr p15, 0, %0, c7, c10, 4\n" | ||||
| 		SEV | ||||
| 		: : "r" (0) | ||||
| 	); | ||||
| #endif | ||||
| 
 | ||||
| 	dsb(ishst); | ||||
| 	__asm__(SEV); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -731,7 +731,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc) | ||||
| 	kernel_data.end     = virt_to_phys(_end - 1); | ||||
| 
 | ||||
| 	for_each_memblock(memory, region) { | ||||
| 		res = memblock_virt_alloc_low(sizeof(*res), 0); | ||||
| 		res = memblock_virt_alloc(sizeof(*res), 0); | ||||
| 		res->name  = "System RAM"; | ||||
| 		res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); | ||||
| 		res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; | ||||
|  | ||||
| @ -8,7 +8,7 @@ config ARCH_HI3xxx | ||||
| 	select CLKSRC_OF | ||||
| 	select GENERIC_CLOCKEVENTS | ||||
| 	select HAVE_ARM_SCU | ||||
| 	select HAVE_ARM_TWD | ||||
| 	select HAVE_ARM_TWD if SMP | ||||
| 	select HAVE_SMP | ||||
| 	select PINCTRL | ||||
| 	select PINCTRL_SINGLE | ||||
|  | ||||
| @ -101,11 +101,9 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | ||||
| obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o | ||||
| obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o | ||||
| 
 | ||||
| ifeq ($(CONFIG_PM),y) | ||||
| obj-$(CONFIG_SOC_IMX6Q) += pm-imx6q.o headsmp.o | ||||
| # i.MX6SL reuses i.MX6Q code
 | ||||
| obj-$(CONFIG_SOC_IMX6SL) += pm-imx6q.o headsmp.o | ||||
| endif | ||||
| 
 | ||||
| # i.MX5 based machines
 | ||||
| obj-$(CONFIG_MACH_MX51_BABBAGE) += mach-mx51_babbage.o | ||||
|  | ||||
| @ -482,6 +482,9 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | ||||
| 	if (IS_ENABLED(CONFIG_PCI_IMX6)) | ||||
| 		clk_set_parent(clk[lvds1_sel], clk[sata_ref]); | ||||
| 
 | ||||
| 	/* Set initial power mode */ | ||||
| 	imx6q_set_lpm(WAIT_CLOCKED); | ||||
| 
 | ||||
| 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); | ||||
| 	base = of_iomap(np, 0); | ||||
| 	WARN_ON(!base); | ||||
|  | ||||
| @ -266,6 +266,9 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) | ||||
| 	/* Audio-related clocks configuration */ | ||||
| 	clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]); | ||||
| 
 | ||||
| 	/* Set initial power mode */ | ||||
| 	imx6q_set_lpm(WAIT_CLOCKED); | ||||
| 
 | ||||
| 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); | ||||
| 	base = of_iomap(np, 0); | ||||
| 	WARN_ON(!base); | ||||
|  | ||||
| @ -144,13 +144,11 @@ void imx6q_set_chicken_bit(void); | ||||
| void imx_cpu_die(unsigned int cpu); | ||||
| int imx_cpu_kill(unsigned int cpu); | ||||
| 
 | ||||
| #ifdef CONFIG_PM | ||||
| void imx6q_pm_init(void); | ||||
| void imx6q_pm_set_ccm_base(void __iomem *base); | ||||
| #ifdef CONFIG_PM | ||||
| void imx5_pm_init(void); | ||||
| #else | ||||
| static inline void imx6q_pm_init(void) {} | ||||
| static inline void imx6q_pm_set_ccm_base(void __iomem *base) {} | ||||
| static inline void imx5_pm_init(void) {} | ||||
| #endif | ||||
| 
 | ||||
|  | ||||
| @ -236,8 +236,6 @@ void __init imx6q_pm_init(void) | ||||
| 		regmap_update_bits(gpr, IOMUXC_GPR1, IMX6Q_GPR1_GINT, | ||||
| 				   IMX6Q_GPR1_GINT); | ||||
| 
 | ||||
| 	/* Set initial power mode */ | ||||
| 	imx6q_set_lpm(WAIT_CLOCKED); | ||||
| 
 | ||||
| 	suspend_set_ops(&imx6q_pm_ops); | ||||
| } | ||||
|  | ||||
| @ -2,7 +2,6 @@ config ARCH_MOXART | ||||
| 	bool "MOXA ART SoC" if ARCH_MULTI_V4T | ||||
| 	select CPU_FA526 | ||||
| 	select ARM_DMA_MEM_BUFFERABLE | ||||
| 	select DMA_OF | ||||
| 	select USE_OF | ||||
| 	select CLKSRC_OF | ||||
| 	select CLKSRC_MMIO | ||||
|  | ||||
| @ -156,6 +156,7 @@ static struct omap_usb_config nokia770_usb_config __initdata = { | ||||
| 	.register_dev	= 1, | ||||
| 	.hmc_mode	= 16, | ||||
| 	.pins[0]	= 6, | ||||
| 	.extcon		= "tahvo-usb", | ||||
| }; | ||||
| 
 | ||||
| #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) | ||||
|  | ||||
| @ -50,11 +50,12 @@ config SOC_OMAP5 | ||||
| 	bool "TI OMAP5" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_GIC | ||||
| 	select CPU_V7 | ||||
| 	select HAVE_ARM_SCU if SMP | ||||
| 	select HAVE_ARM_TWD if LOCAL_TIMERS | ||||
| 	select HAVE_ARM_TWD if SMP | ||||
| 	select HAVE_SMP | ||||
| 	select HAVE_ARM_ARCH_TIMER | ||||
| 	select ARM_ERRATA_798181 if SMP | ||||
| @ -63,6 +64,7 @@ config SOC_AM33XX | ||||
| 	bool "TI AM33XX" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select CPU_V7 | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| @ -72,6 +74,7 @@ config SOC_AM43XX | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select CPU_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select MULTI_IRQ_HANDLER | ||||
| 	select ARM_GIC | ||||
| 	select MACH_OMAP_GENERIC | ||||
| @ -80,6 +83,7 @@ config SOC_DRA7XX | ||||
| 	bool "TI DRA7XX" | ||||
| 	depends on ARCH_MULTI_V7 | ||||
| 	select ARCH_OMAP2PLUS | ||||
| 	select ARCH_HAS_OPP | ||||
| 	select ARM_CPU_SUSPEND if PM | ||||
| 	select ARM_GIC | ||||
| 	select CPU_V7 | ||||
| @ -268,9 +272,6 @@ config MACH_OMAP_3430SDP | ||||
| 	default y | ||||
| 	select OMAP_PACKAGE_CBB | ||||
| 
 | ||||
| config MACH_NOKIA_N800 | ||||
|        bool | ||||
| 
 | ||||
| config MACH_NOKIA_N810 | ||||
|        bool | ||||
| 
 | ||||
| @ -281,7 +282,6 @@ config MACH_NOKIA_N8X0 | ||||
| 	bool "Nokia N800/N810" | ||||
| 	depends on SOC_OMAP2420 | ||||
| 	default y | ||||
| 	select MACH_NOKIA_N800 | ||||
| 	select MACH_NOKIA_N810 | ||||
| 	select MACH_NOKIA_N810_WIMAX | ||||
| 	select OMAP_PACKAGE_ZAC | ||||
|  | ||||
| @ -35,7 +35,11 @@ static struct of_device_id omap_dt_match_table[] __initdata = { | ||||
| 
 | ||||
| static void __init omap_generic_init(void) | ||||
| { | ||||
| 	omapdss_early_init_of(); | ||||
| 
 | ||||
| 	pdata_quirks_init(omap_dt_match_table); | ||||
| 
 | ||||
| 	omapdss_init_of(); | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_SOC_OMAP2420 | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user