bcma: use chipcommon node from DT for SoC GPIO chip
This will allow us to define GPIO-attached devices (LEDs, buttons) in the the device tree. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
2101e533f4
commit
a0196d1117
@@ -9,6 +9,11 @@ Required properties:
|
|||||||
The cores on the AXI bus are automatically detected by bcma with the
|
The cores on the AXI bus are automatically detected by bcma with the
|
||||||
memory ranges they are using and they get registered afterwards.
|
memory ranges they are using and they get registered afterwards.
|
||||||
|
|
||||||
|
The top-level axi bus may contain children representing attached cores
|
||||||
|
(devices). This is needed since some hardware details can't be auto
|
||||||
|
detected (e.g. IRQ numbers). Also some of the cores may be responsible
|
||||||
|
for extra things, e.g. ChipCommon providing access to the GPIO chip.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
axi@18000000 {
|
axi@18000000 {
|
||||||
@@ -17,4 +22,11 @@ Example:
|
|||||||
ranges = <0x00000000 0x18000000 0x00100000>;
|
ranges = <0x00000000 0x18000000 0x00100000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
chipcommon {
|
||||||
|
reg = <0x00000000 0x1000>;
|
||||||
|
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -217,6 +217,10 @@ int bcma_gpio_init(struct bcma_drv_cc *cc)
|
|||||||
chip->direction_output = bcma_gpio_direction_output;
|
chip->direction_output = bcma_gpio_direction_output;
|
||||||
#if IS_BUILTIN(CONFIG_BCM47XX)
|
#if IS_BUILTIN(CONFIG_BCM47XX)
|
||||||
chip->to_irq = bcma_gpio_to_irq;
|
chip->to_irq = bcma_gpio_to_irq;
|
||||||
|
#endif
|
||||||
|
#if IS_BUILTIN(CONFIG_OF)
|
||||||
|
if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
|
||||||
|
chip->of_node = cc->core->dev.of_node;
|
||||||
#endif
|
#endif
|
||||||
switch (cc->core->bus->chipinfo.id) {
|
switch (cc->core->bus->chipinfo.id) {
|
||||||
case BCMA_CHIP_ID_BCM5357:
|
case BCMA_CHIP_ID_BCM5357:
|
||||||
|
Reference in New Issue
Block a user