From fff70fcc73e09e86d46f87dd44459870f15423b2 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 Subject: [PATCH 051/114] BCM2708: use pinctrl-bcm2835 Use pinctrl-bcm2835 instead of the pinctrl-bcm2708 and bcm2708_gpio combination. Signed-off-by: Noralf Tronnes --- arch/arm/boot/dts/bcm2708.dtsi | 12 ++++++++++++ arch/arm/mach-bcm2708/Kconfig | 3 +++ arch/arm/mach-bcm2708/bcm2708.c | 2 +- drivers/pinctrl/pinctrl-bcm2835.c | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) --- a/arch/arm/boot/dts/bcm2708.dtsi +++ b/arch/arm/boot/dts/bcm2708.dtsi @@ -26,6 +26,18 @@ interrupt-controller; #interrupt-cells = <2>; }; + + gpio: gpio { + compatible = "brcm,bcm2835-gpio"; + reg = <0x7e200000 0xb4>; + interrupts = <2 17>, <2 18>; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; }; clocks { --- a/arch/arm/mach-bcm2708/Kconfig +++ b/arch/arm/mach-bcm2708/Kconfig @@ -14,6 +14,9 @@ config BCM2708_DT depends on MACH_BCM2708 default n select USE_OF + select ARCH_REQUIRE_GPIOLIB + select PINCTRL + select PINCTRL_BCM2835 help Enable Device Tree support for BCM2708 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -767,7 +767,7 @@ void __init bcm2708_init(void) bcm_register_device(&bcm2708_dmaman_device); bcm_register_device(&bcm2708_vcio_device); #ifdef CONFIG_BCM2708_GPIO - bcm_register_device(&bcm2708_gpio_device); + bcm_register_device_dt(&bcm2708_gpio_device); #endif #if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE) w1_gpio_pdata.pin = w1_gpio_pin; --- a/drivers/pinctrl/pinctrl-bcm2835.c +++ b/drivers/pinctrl/pinctrl-bcm2835.c @@ -382,7 +382,7 @@ static struct gpio_chip bcm2835_gpio_chi .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .to_irq = bcm2835_gpio_to_irq, - .base = -1, + .base = 0, .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, };