mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
2nd set of device tree changes for v3.3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJPERbzAAoJEEFnBt12D9kBmDIP/R9Vspc6yhjSAEvdp/VET2gi
TgAQfdp4VuYjjIt4cUPO5UQU9kw478GjTuP2blZEC9DlG1jSf/L8U+A7FHJIVVzU
QfjwV1Lqaqk+sQQ1bsp2ixbesKECmqU9IweOIFmn0U2ZD+xlPFIpE2iTKEqymejf
PVZsFlkVmhQZgudPNieyZMjQpQ9hEb6UcSfXT//nmoRRxCL/PiMHGRx3UdS3eRe7
FApSW0Mty/PD07QXPsDjg1GvK59Gf6R1/4Bd31+rXEz9yaxf4I4I02fL553NDVIt
tAPfo/4YKW1rLMWQRkAUqCaMk9v/DWxeWYbbiJNZ2R3kys9o8k26XXxvcuYnecS2
G8DDJpmOikbN3Gvlskh40Tn3TJb5Wlgc7o/10L/fq6FovS4Uk7yUeFMqXUYfl8TU
ziIlrlt9IGabXBN4JKJl3OabgkeO+Oz9DKhTQFJLY4/121LAtFVk3xd316mY+wpX
mI83VmWMlp3sK+OLr+UdMTCXZvSIpu3KlGKMpAssHKUKxIV20NHLFNbm94/ywXBn
Zb8arjcv7+WzwhSqQJj851cq4/sEYx5HB4wU5Nm5SXBwcO3ixiij6lHCoHU+NudR
eyPIFLfrzwnUu3yTRgUfAnkgOce+2I+vUsU4pXUR6FyK73wSmm0+4WXQfB+OBlwD
2O1RjZedZCb6zzf17H2k
=mup8
-----END PGP SIGNATURE-----
mergetag object 14c173eb63
type commit
tag spi-for-linus
tagger Grant Likely <grant.likely@secretlab.ca> 1326520366 -0700
SPI bug fixes for v3.3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJPERgyAAoJEEFnBt12D9kBRMsP/RBv6kWIb/qD7yJhrdbzJ4Tv
1f7coSytuHupZVpxJstELKPugRmp2R6YeFbKw8P4P/12233Q0FcdKTF6ZE2h3cBp
bfCtyyzlFeY/nMfJKkwh37x2fHxNHynCCJEjHhecLday7NKQoTmmafivTfVmolWK
/MGjDarTAzC1FaP1xpBnuiI8eCr5WIgb4WmtvOmxIntVT077xggdJLL/Co7fBCqn
iibz3U/VyC68kQTGw6ELhnW1d7doHp7H3DJ2gPsh6lzpbv8JAnOMPpD+3Me1DVHE
Ay0kxPHV4bqnDyB+uEGppUiNoaTd5InrMAw+udDad60TMwOZzIvMkgxo0PIVM9Mm
k6mCcE2+TSnJetueX3cfrS5bRTPxUX7KRDC/WSp67/QPmelbYeRDLR7hrrQVqOPq
5hIKMfz/kTBXcaXk643TEveaZlMuOZxHBYAvsbu5BX/3SQqYFS4POdxdeZVnUf54
ITHhftBtrXacCsjKujp0xmKCIpF+8v3yKRxGEQssByv8v+CaymNrEls2vTF8tn5P
sAIjPFJYG+IHtDMIsTHOvSPA7uwWYsOVHFEYsbC1758esiBD8+qtfvFS3jAH99z+
v2/aGsfMnjYEIsRtSm7PVTybJAo22Gr62yE/Q+rP//O0JaDahgdm009MjUo6BSgg
XNhZjQRYAYEExMTjJ2TK
=q39P
-----END PGP SIGNATURE-----
Merge tags 'devicetree-for-linus' and 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6
2nd set of device tree changes and SPI bug fixes for v3.3
* tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
of/irq: Add interrupts-names property to name an irq resource
of/address: Add reg-names property to name an iomem resource
* tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
spi/tegra: depend instead of select TEGRA_SYSTEM_DMA
This commit is contained in:
commit
81d48f0aee
54
Documentation/devicetree/bindings/resource-names.txt
Normal file
54
Documentation/devicetree/bindings/resource-names.txt
Normal file
@ -0,0 +1,54 @@
|
||||
Some properties contain an ordered list of 1 or more datum which are
|
||||
normally accessed by index. However, some devices will have multiple
|
||||
values which are more naturally accessed by name. Device nodes can
|
||||
include a supplemental property for assigning names to each of the list
|
||||
items. The names property consists of a list of strings in the same
|
||||
order as the data in the resource property.
|
||||
|
||||
The following supplemental names properties are defined.
|
||||
|
||||
Resource Property Supplemental Names Property
|
||||
----------------- ---------------------------
|
||||
reg reg-names
|
||||
clocks clock-names
|
||||
interrupts interrupt-names
|
||||
|
||||
Usage:
|
||||
|
||||
The -names property must be used in conjunction with the normal resource
|
||||
property. If not it will be ignored.
|
||||
|
||||
Examples:
|
||||
|
||||
l4-abe {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0x48000000 0x00001000>, /* MPU path */
|
||||
<1 0 0x49000000 0x00001000>; /* L3 path */
|
||||
mcasp {
|
||||
compatible = "ti,mcasp";
|
||||
reg = <0 0x10 0x10>, <0 0x20 0x10>,
|
||||
<1 0x10 0x10>, <1 0x20 0x10>;
|
||||
reg-names = "mpu", "dat",
|
||||
"dma", "dma_dat";
|
||||
interrupts = <11>, <12>;
|
||||
interrupt-names = "rx", "tx";
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "ti,timer";
|
||||
reg = <0 0x40 0x10>, <1 0x40 0x10>;
|
||||
reg-names = "mpu", "dma";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
usb {
|
||||
compatible = "ti,usb-host";
|
||||
reg = <0x4a064000 0x800>, <0x4a064800 0x200>,
|
||||
<0x4a064c00 0x200>;
|
||||
reg-names = "config", "ohci", "ehci";
|
||||
interrupts = <14>, <15>;
|
||||
interrupt-names = "ohci", "ehci";
|
||||
};
|
@ -14,7 +14,7 @@
|
||||
static struct of_bus *of_match_bus(struct device_node *np);
|
||||
static int __of_address_to_resource(struct device_node *dev,
|
||||
const __be32 *addrp, u64 size, unsigned int flags,
|
||||
struct resource *r);
|
||||
const char *name, struct resource *r);
|
||||
|
||||
/* Debug utility */
|
||||
#ifdef DEBUG
|
||||
@ -215,7 +215,7 @@ int of_pci_address_to_resource(struct device_node *dev, int bar,
|
||||
addrp = of_get_pci_address(dev, bar, &size, &flags);
|
||||
if (addrp == NULL)
|
||||
return -EINVAL;
|
||||
return __of_address_to_resource(dev, addrp, size, flags, r);
|
||||
return __of_address_to_resource(dev, addrp, size, flags, NULL, r);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_pci_address_to_resource);
|
||||
#endif /* CONFIG_PCI */
|
||||
@ -529,7 +529,7 @@ EXPORT_SYMBOL(of_get_address);
|
||||
|
||||
static int __of_address_to_resource(struct device_node *dev,
|
||||
const __be32 *addrp, u64 size, unsigned int flags,
|
||||
struct resource *r)
|
||||
const char *name, struct resource *r)
|
||||
{
|
||||
u64 taddr;
|
||||
|
||||
@ -551,7 +551,8 @@ static int __of_address_to_resource(struct device_node *dev,
|
||||
r->end = taddr + size - 1;
|
||||
}
|
||||
r->flags = flags;
|
||||
r->name = dev->full_name;
|
||||
r->name = name ? name : dev->full_name;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -569,11 +570,16 @@ int of_address_to_resource(struct device_node *dev, int index,
|
||||
const __be32 *addrp;
|
||||
u64 size;
|
||||
unsigned int flags;
|
||||
const char *name = NULL;
|
||||
|
||||
addrp = of_get_address(dev, index, &size, &flags);
|
||||
if (addrp == NULL)
|
||||
return -EINVAL;
|
||||
return __of_address_to_resource(dev, addrp, size, flags, r);
|
||||
|
||||
/* Get optional "reg-names" property to add a name to a resource */
|
||||
of_property_read_string_index(dev, "reg-names", index, &name);
|
||||
|
||||
return __of_address_to_resource(dev, addrp, size, flags, name, r);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_address_to_resource);
|
||||
|
||||
|
@ -341,9 +341,18 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
|
||||
/* Only dereference the resource if both the
|
||||
* resource and the irq are valid. */
|
||||
if (r && irq) {
|
||||
const char *name = NULL;
|
||||
|
||||
/*
|
||||
* Get optional "interrupts-names" property to add a name
|
||||
* to the resource.
|
||||
*/
|
||||
of_property_read_string_index(dev, "interrupt-names", index,
|
||||
&name);
|
||||
|
||||
r->start = r->end = irq;
|
||||
r->flags = IORESOURCE_IRQ;
|
||||
r->name = dev->full_name;
|
||||
r->name = name ? name : dev->full_name;
|
||||
}
|
||||
|
||||
return irq;
|
||||
|
@ -332,8 +332,7 @@ config SPI_STMP3XXX
|
||||
|
||||
config SPI_TEGRA
|
||||
tristate "Nvidia Tegra SPI controller"
|
||||
depends on ARCH_TEGRA
|
||||
select TEGRA_SYSTEM_DMA
|
||||
depends on ARCH_TEGRA && TEGRA_SYSTEM_DMA
|
||||
help
|
||||
SPI driver for NVidia Tegra SoCs
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user