Loading arch/arm/boot/dts/omap4.dtsi +54 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,60 @@ gic: interrupt-controller@48241000 { <0x48240100 0x0100>; }; gpio1: gpio@4a310000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio1"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio2: gpio@48055000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio2"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio3: gpio@48057000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio3"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio4: gpio@48059000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio4"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio5: gpio@4805b000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio5"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio6: gpio@4805d000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio6"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; uart1: serial@4806a000 { compatible = "ti,omap4-uart"; ti,hwmods = "uart1"; Loading arch/arm/mach-omap2/gpio.c +6 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <linux/err.h> #include <linux/slab.h> #include <linux/interrupt.h> #include <linux/of.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h> Loading Loading @@ -122,7 +123,10 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) */ static int __init omap2_gpio_init(void) { return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL); /* If dtb is there, the devices will be created dynamically */ if (of_have_populated_dt()) return -ENODEV; return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL); } postcore_initcall(omap2_gpio_init); Loading
arch/arm/boot/dts/omap4.dtsi +54 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,60 @@ gic: interrupt-controller@48241000 { <0x48240100 0x0100>; }; gpio1: gpio@4a310000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio1"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio2: gpio@48055000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio2"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio3: gpio@48057000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio3"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio4: gpio@48059000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio4"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio5: gpio@4805b000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio5"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; gpio6: gpio@4805d000 { compatible = "ti,omap4-gpio"; ti,hwmods = "gpio6"; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <1>; }; uart1: serial@4806a000 { compatible = "ti,omap4-uart"; ti,hwmods = "uart1"; Loading
arch/arm/mach-omap2/gpio.c +6 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <linux/err.h> #include <linux/slab.h> #include <linux/interrupt.h> #include <linux/of.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h> Loading Loading @@ -122,7 +123,10 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) */ static int __init omap2_gpio_init(void) { return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL); /* If dtb is there, the devices will be created dynamically */ if (of_have_populated_dt()) return -ENODEV; return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL); } postcore_initcall(omap2_gpio_init);