Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0196d11 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

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: default avatarRafał Miłecki <zajec5@gmail.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 2101e533
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -9,6 +9,11 @@ Required properties:
The cores on the AXI bus are automatically detected by bcma with the
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:

	axi@18000000 {
@@ -17,4 +22,11 @@ Example:
		ranges = <0x00000000 0x18000000 0x00100000>;
		#address-cells = <1>;
		#size-cells = <1>;

		chipcommon {
			reg = <0x00000000 0x1000>;

			gpio-controller;
			#gpio-cells = <2>;
		};
	};
+4 −0
Original line number Diff line number Diff line
@@ -217,6 +217,10 @@ int bcma_gpio_init(struct bcma_drv_cc *cc)
	chip->direction_output	= bcma_gpio_direction_output;
#if IS_BUILTIN(CONFIG_BCM47XX)
	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
	switch (cc->core->bus->chipinfo.id) {
	case BCMA_CHIP_ID_BCM5357: