Re: [PATCH 11/15] ARM: dts: Configure system timers for omap3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 29, 2020 at 4:54 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
>
> We can now init system timers using the dmtimer and 32k counter
> based on only devicetree data and drivers/clocksource timers.
> Let's configure the clocksource and clockevent, and drop the old
> unused platform data.
>
> As we're just dropping platform data, and the early platform data
> init is based on the custom ti,hwmods property, we want to drop
> both the platform data and ti,hwmods property in a single patch.
>
> Since the dmtimer can use both 32k clock and system clock as the
> source, let's also configure the SoC specific default values. The
> board specific dts files can reconfigure these with assigned-clocks
> and assigned-clock-parents as needed.
>
> Let's also update the dts file to use #include while at it.
>
> Cc: devicetree@xxxxxxxxxxxxxxx
> Cc: Adam Ford <aford173@xxxxxxxxx>
> Cc: Andreas Kemnade <andreas@xxxxxxxxxxxx>
> Cc: "H. Nikolaus Schaller" <hns@xxxxxxxxxxxxx>
> Cc: Keerthy <j-keerthy@xxxxxx>
> Cc: Lokesh Vutla <lokeshvutla@xxxxxx>
> Cc: Tero Kristo <t-kristo@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
>  arch/arm/boot/dts/am3517.dtsi              |  28 +++-

For the series on the am3517-evm,

Tested-by: Adam Ford <aford173@xxxxxxxxx>

>  arch/arm/boot/dts/omap3-beagle.dts         |  33 +++++
>  arch/arm/boot/dts/omap3-devkit8000.dts     |  33 +++++
>  arch/arm/boot/dts/omap3.dtsi               | 135 +++++++++++++++----
>  arch/arm/mach-omap2/board-generic.c        |  10 +-
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 146 +--------------------
>  6 files changed, 210 insertions(+), 175 deletions(-)
>
> diff --git a/arch/arm/boot/dts/am3517.dtsi b/arch/arm/boot/dts/am3517.dtsi
> --- a/arch/arm/boot/dts/am3517.dtsi
> +++ b/arch/arm/boot/dts/am3517.dtsi
> @@ -169,5 +169,29 @@ &mmu_isp {
>         status = "disabled";
>  };
>
> -/include/ "am35xx-clocks.dtsi"
> -/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
> +#include "am35xx-clocks.dtsi"
> +#include "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
> +
> +/* Timer for clocksource, configured without interrupts */
> +&timer1_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               /delete-property/interrupts;
> +               /delete-property/interrupts-extended;
> +               assigned-clocks = <&gpt1_fck>;
> +               assigned-clock-parents = <&sys_ck>;
> +       };
> +};
> +
> +/* Timer for clockevent */
> +&timer2_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               assigned-clocks = <&gpt2_fck>;
> +               assigned-clock-parents = <&sys_ck>;
> +       };
> +};
> diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
> --- a/arch/arm/boot/dts/omap3-beagle.dts
> +++ b/arch/arm/boot/dts/omap3-beagle.dts
> @@ -304,6 +304,39 @@ &usbhsehci {
>         phys = <0 &hsusb2_phy>;
>  };
>
> +/* Unusable as clockevent, allow to idle */
> +&timer1_target {
> +       /delete-property/ti,no-reset-on-init;
> +       /delete-property/ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,omap3430-timer";
> +               interrupts = <37>;
> +       };
> +};
> +
> +/* Timer for clocksource, configured without interrupts */
> +&timer12_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               /delete-property/interrupts;
> +               /delete-property/interrupts-extended;
> +               /* Always clocked by secure_32k_fck */
> +       };
> +};
> +
> +/* Timer for clockevent */
> +&timer2_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               assigned-clocks = <&gpt2_fck>;
> +               assigned-clock-parents = <&sys_ck>;
> +       };
> +};
> +
>  &twl_gpio {
>         ti,use-leds;
>         /* pullups: BIT(1) */
> diff --git a/arch/arm/boot/dts/omap3-devkit8000.dts b/arch/arm/boot/dts/omap3-devkit8000.dts
> --- a/arch/arm/boot/dts/omap3-devkit8000.dts
> +++ b/arch/arm/boot/dts/omap3-devkit8000.dts
> @@ -14,3 +14,36 @@ aliases {
>                 display2 = &tv0;
>         };
>  };
> +
> +/* Unusable as clockevent, allow to idle */
> +&timer1_target {
> +       /delete-property/ti,no-reset-on-init;
> +       /delete-property/ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,omap3430-timer";
> +               interrupts = <37>;
> +       };
> +};
> +
> +/* Timer for clocksource, configured without interrupts */
> +&timer12_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               /delete-property/interrupts;
> +               /delete-property/interrupts-extended;
> +               /* Always clocked by secure_32k_fck */
> +       };
> +};
> +
> +/* Timer for clockevent */
> +&timer2_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               assigned-clocks = <&gpt2_fck>;
> +               assigned-clock-parents = <&sys_ck>;
> +       };
> +};
> diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> --- a/arch/arm/boot/dts/omap3.dtsi
> +++ b/arch/arm/boot/dts/omap3.dtsi
> @@ -193,10 +193,23 @@ cm_clockdomains: clockdomains {
>                         };
>                 };
>
> -               counter32k: counter@48320000 {
> -                       compatible = "ti,omap-counter32k";
> -                       reg = <0x48320000 0x20>;
> -                       ti,hwmods = "counter_32k";
> +               target-module@48320000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x48320000 0x4>,
> +                             <0x48320004 0x4>;
> +                       reg-names = "rev", "sysc";
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                       <SYSC_IDLE_NO>;
> +                       clocks = <&wkup_32k_fck>, <&omap_32ksync_ick>;
> +                       clock-names = "fck", "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0x0 0x48320000 0x1000>;
> +
> +                       counter32k: counter@0 {
> +                               compatible = "ti,omap-counter32k";
> +                               reg = <0x0 0x20>;
> +                       };
>                 };
>
>                 intc: interrupt-controller@48200000 {
> @@ -637,19 +650,63 @@ sham: sham@480c3000 {
>                         dma-names = "rx";
>                 };
>
> -               timer1: timer@48318000 {
> -                       compatible = "ti,omap3430-timer";
> -                       reg = <0x48318000 0x400>;
> -                       interrupts = <37>;
> -                       ti,hwmods = "timer1";
> -                       ti,timer-alwon;
> +               timer1_target: target-module@48318000 {
> +                       compatible = "ti,sysc-omap2-timer", "ti,sysc";
> +                       reg = <0x48318000 0x4>,
> +                             <0x48318010 0x4>,
> +                             <0x48318014 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
> +                                        SYSC_OMAP2_EMUFREE |
> +                                        SYSC_OMAP2_ENAWAKEUP |
> +                                        SYSC_OMAP2_SOFTRESET |
> +                                        SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                       <SYSC_IDLE_NO>,
> +                                       <SYSC_IDLE_SMART>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&gpt1_fck>, <&gpt1_ick>;
> +                       clock-names = "fck", "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0x0 0x48318000 0x1000>;
> +
> +                       timer1: timer@0 {
> +                               compatible = "ti,omap3430-timer";
> +                               reg = <0x0 0x80>;
> +                               clocks = <&gpt1_fck>;
> +                               clock-names = "fck";
> +                               interrupts = <37>;
> +                               ti,timer-alwon;
> +                       };
>                 };
>
> -               timer2: timer@49032000 {
> -                       compatible = "ti,omap3430-timer";
> -                       reg = <0x49032000 0x400>;
> -                       interrupts = <38>;
> -                       ti,hwmods = "timer2";
> +               timer2_target: target-module@49032000 {
> +                       compatible = "ti,sysc-omap2-timer", "ti,sysc";
> +                       reg = <0x49032000 0x4>,
> +                             <0x49032010 0x4>,
> +                             <0x49032014 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
> +                                        SYSC_OMAP2_EMUFREE |
> +                                        SYSC_OMAP2_ENAWAKEUP |
> +                                        SYSC_OMAP2_SOFTRESET |
> +                                        SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                       <SYSC_IDLE_NO>,
> +                                       <SYSC_IDLE_SMART>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&gpt2_fck>, <&gpt2_ick>;
> +                       clock-names = "fck", "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0x0 0x49032000 0x1000>;
> +
> +                       timer2: timer@0 {
> +                               compatible = "ti,omap3430-timer";
> +                               reg = <0 0x400>;
> +                               interrupts = <38>;
> +                       };
>                 };
>
>                 timer3: timer@49034000 {
> @@ -723,13 +780,34 @@ timer11: timer@48088000 {
>                         ti,timer-pwm;
>                 };
>
> -               timer12: timer@48304000 {
> -                       compatible = "ti,omap3430-timer";
> -                       reg = <0x48304000 0x400>;
> -                       interrupts = <95>;
> -                       ti,hwmods = "timer12";
> -                       ti,timer-alwon;
> -                       ti,timer-secure;
> +               timer12_target: target-module@48304000 {
> +                       compatible = "ti,sysc-omap2-timer", "ti,sysc";
> +                       reg = <0x48304000 0x4>,
> +                             <0x48304010 0x4>,
> +                             <0x48304014 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
> +                                        SYSC_OMAP2_EMUFREE |
> +                                        SYSC_OMAP2_ENAWAKEUP |
> +                                        SYSC_OMAP2_SOFTRESET |
> +                                        SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                       <SYSC_IDLE_NO>,
> +                                       <SYSC_IDLE_SMART>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&gpt12_fck>, <&gpt12_ick>;
> +                       clock-names = "fck", "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0x0 0x48304000 0x1000>;
> +
> +                       timer12: timer@0 {
> +                               compatible = "ti,omap3430-timer";
> +                               reg = <0 0x400>;
> +                               interrupts = <95>;
> +                               ti,timer-alwon;
> +                               ti,timer-secure;
> +                       };
>                 };
>
>                 usbhstll: usbhstll@48062000 {
> @@ -886,4 +964,15 @@ ssi_port2: ssi-port@4805b000 {
>         };
>  };
>
> -/include/ "omap3xxx-clocks.dtsi"
> +#include "omap3xxx-clocks.dtsi"
> +
> +/* Timer for clockevent */
> +&timer1_target {
> +       ti,no-reset-on-init;
> +       ti,no-idle;
> +       timer@0 {
> +               compatible = "ti,dmtimer";
> +               assigned-clocks = <&gpt1_fck>;
> +               assigned-clock-parents = <&omap_32k_fck>;
> +       };
> +};
> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
> --- a/arch/arm/mach-omap2/board-generic.c
> +++ b/arch/arm/mach-omap2/board-generic.c
> @@ -114,7 +114,7 @@ DT_MACHINE_START(OMAP3_N900_DT, "Nokia RX-51 board")
>         .init_early     = omap3430_init_early,
>         .init_machine   = omap_generic_init,
>         .init_late      = omap3_init_late,
> -       .init_time      = omap_init_time,
> +       .init_time      = omap_init_time_of,
>         .dt_compat      = n900_boards_compat,
>         .restart        = omap3xxx_restart,
>  MACHINE_END
> @@ -132,7 +132,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
>         .init_early     = omap3430_init_early,
>         .init_machine   = omap_generic_init,
>         .init_late      = omap3_init_late,
> -       .init_time      = omap_init_time,
> +       .init_time      = omap_init_time_of,
>         .dt_compat      = omap3_boards_compat,
>         .restart        = omap3xxx_restart,
>  MACHINE_END
> @@ -149,7 +149,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)")
>         .init_early     = omap3630_init_early,
>         .init_machine   = omap_generic_init,
>         .init_late      = omap3_init_late,
> -       .init_time      = omap_init_time,
> +       .init_time      = omap_init_time_of,
>         .dt_compat      = omap36xx_boards_compat,
>         .restart        = omap3xxx_restart,
>  MACHINE_END
> @@ -166,7 +166,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
>         .init_early     = omap3430_init_early,
>         .init_machine   = omap_generic_init,
>         .init_late      = omap3_init_late,
> -       .init_time      = omap3_secure_sync32k_timer_init,
> +       .init_time      = omap_init_time_of,
>         .dt_compat      = omap3_gp_boards_compat,
>         .restart        = omap3xxx_restart,
>  MACHINE_END
> @@ -182,7 +182,7 @@ DT_MACHINE_START(AM3517_DT, "Generic AM3517 (Flattened Device Tree)")
>         .init_early     = am35xx_init_early,
>         .init_machine   = omap_generic_init,
>         .init_late      = omap3_init_late,
> -       .init_time      = omap3_gptimer_timer_init,
> +       .init_time      = omap_init_time_of,
>         .dt_compat      = am3517_boards_compat,
>         .restart        = omap3xxx_restart,
>  MACHINE_END
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -147,36 +147,6 @@ static struct omap_hwmod_class omap3xxx_timer_hwmod_class = {
>         .sysc = &omap3xxx_timer_sysc,
>  };
>
> -/* timer1 */
> -static struct omap_hwmod omap3xxx_timer1_hwmod = {
> -       .name           = "timer1",
> -       .main_clk       = "gpt1_fck",
> -       .prcm           = {
> -               .omap2 = {
> -                       .module_offs = WKUP_MOD,
> -                       .idlest_reg_id = 1,
> -                       .idlest_idle_bit = OMAP3430_ST_GPT1_SHIFT,
> -               },
> -       },
> -       .class          = &omap3xxx_timer_hwmod_class,
> -       .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer2 */
> -static struct omap_hwmod omap3xxx_timer2_hwmod = {
> -       .name           = "timer2",
> -       .main_clk       = "gpt2_fck",
> -       .prcm           = {
> -               .omap2 = {
> -                       .module_offs = OMAP3430_PER_MOD,
> -                       .idlest_reg_id = 1,
> -                       .idlest_idle_bit = OMAP3430_ST_GPT2_SHIFT,
> -               },
> -       },
> -       .class          = &omap3xxx_timer_hwmod_class,
> -       .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
>  /* timer3 */
>  static struct omap_hwmod omap3xxx_timer3_hwmod = {
>         .name           = "timer3",
> @@ -312,21 +282,6 @@ static struct omap_hwmod omap3xxx_timer11_hwmod = {
>         .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
>  };
>
> -/* timer12 */
> -static struct omap_hwmod omap3xxx_timer12_hwmod = {
> -       .name           = "timer12",
> -       .main_clk       = "gpt12_fck",
> -       .prcm           = {
> -               .omap2 = {
> -                       .module_offs = WKUP_MOD,
> -                       .idlest_reg_id = 1,
> -                       .idlest_idle_bit = OMAP3430_ST_GPT12_SHIFT,
> -               },
> -       },
> -       .class          = &omap3xxx_timer_hwmod_class,
> -       .flags          = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
>  /*
>   * 'wd_timer' class
>   * 32-bit watchdog upward counter that generates a pulse on the reset pin on
> @@ -1524,38 +1479,6 @@ static struct omap_hwmod omap3xxx_sad2d_hwmod = {
>         .class          = &omap3xxx_sad2d_class,
>  };
>
> -/*
> - * '32K sync counter' class
> - * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock
> - */
> -static struct omap_hwmod_class_sysconfig omap3xxx_counter_sysc = {
> -       .rev_offs       = 0x0000,
> -       .sysc_offs      = 0x0004,
> -       .sysc_flags     = SYSC_HAS_SIDLEMODE,
> -       .idlemodes      = (SIDLE_FORCE | SIDLE_NO),
> -       .sysc_fields    = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap3xxx_counter_hwmod_class = {
> -       .name   = "counter",
> -       .sysc   = &omap3xxx_counter_sysc,
> -};
> -
> -static struct omap_hwmod omap3xxx_counter_32k_hwmod = {
> -       .name           = "counter_32k",
> -       .class          = &omap3xxx_counter_hwmod_class,
> -       .clkdm_name     = "wkup_clkdm",
> -       .flags          = HWMOD_SWSUP_SIDLE,
> -       .main_clk       = "wkup_32k_fck",
> -       .prcm           = {
> -               .omap2  = {
> -                       .module_offs = WKUP_MOD,
> -                       .idlest_reg_id = 1,
> -                       .idlest_idle_bit = OMAP3430_ST_32KSYNC_SHIFT,
> -               },
> -       },
> -};
> -
>  /*
>   * 'gpmc' class
>   * general purpose memory controller
> @@ -1868,25 +1791,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l3__iva = {
>         .user           = OCP_USER_MPU | OCP_USER_SDMA,
>  };
>
> -
> -/* l4_wkup -> timer1 */
> -static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__timer1 = {
> -       .master         = &omap3xxx_l4_wkup_hwmod,
> -       .slave          = &omap3xxx_timer1_hwmod,
> -       .clk            = "gpt1_ick",
> -       .user           = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -
> -/* l4_per -> timer2 */
> -static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer2 = {
> -       .master         = &omap3xxx_l4_per_hwmod,
> -       .slave          = &omap3xxx_timer2_hwmod,
> -       .clk            = "gpt2_ick",
> -       .user           = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -
>  /* l4_per -> timer3 */
>  static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer3 = {
>         .master         = &omap3xxx_l4_per_hwmod,
> @@ -1965,15 +1869,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer11 = {
>         .user           = OCP_USER_MPU | OCP_USER_SDMA,
>  };
>
> -
> -/* l4_core -> timer12 */
> -static struct omap_hwmod_ocp_if omap3xxx_l4_sec__timer12 = {
> -       .master         = &omap3xxx_l4_sec_hwmod,
> -       .slave          = &omap3xxx_timer12_hwmod,
> -       .clk            = "gpt12_ick",
> -       .user           = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
>  /* l4_wkup -> wd_timer2 */
>
>  static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__wd_timer2 = {
> @@ -2325,16 +2220,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__hdq1w = {
>         .flags          = OMAP_FIREWALL_L4 | OCPIF_SWSUP_IDLE,
>  };
>
> -/* l4_wkup -> 32ksync_counter */
> -
> -
> -static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__counter_32k = {
> -       .master         = &omap3xxx_l4_wkup_hwmod,
> -       .slave          = &omap3xxx_counter_32k_hwmod,
> -       .clk            = "omap_32ksync_ick",
> -       .user           = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
>  /* am35xx has Davinci MDIO & EMAC */
>  static struct omap_hwmod_class am35xx_mdio_class = {
>         .name = "davinci_mdio",
> @@ -2551,8 +2436,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = {
>         &omap3_l4_core__i2c2,
>         &omap3_l4_core__i2c3,
>         &omap3xxx_l4_wkup__l4_sec,
> -       &omap3xxx_l4_wkup__timer1,
> -       &omap3xxx_l4_per__timer2,
>         &omap3xxx_l4_per__timer3,
>         &omap3xxx_l4_per__timer4,
>         &omap3xxx_l4_per__timer5,
> @@ -2580,27 +2463,10 @@ static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = {
>         &omap34xx_l4_core__mcspi2,
>         &omap34xx_l4_core__mcspi3,
>         &omap34xx_l4_core__mcspi4,
> -       &omap3xxx_l4_wkup__counter_32k,
>         &omap3xxx_l3_main__gpmc,
>         NULL,
>  };
>
> -/* GP-only hwmod links */
> -static struct omap_hwmod_ocp_if *omap34xx_gp_hwmod_ocp_ifs[] __initdata = {
> -       &omap3xxx_l4_sec__timer12,
> -       NULL,
> -};
> -
> -static struct omap_hwmod_ocp_if *omap36xx_gp_hwmod_ocp_ifs[] __initdata = {
> -       &omap3xxx_l4_sec__timer12,
> -       NULL,
> -};
> -
> -static struct omap_hwmod_ocp_if *am35xx_gp_hwmod_ocp_ifs[] __initdata = {
> -       &omap3xxx_l4_sec__timer12,
> -       NULL,
> -};
> -
>  /* crypto hwmod links */
>  static struct omap_hwmod_ocp_if *omap34xx_sham_hwmod_ocp_ifs[] __initdata = {
>         &omap3xxx_l4_core__sham,
> @@ -2774,7 +2640,7 @@ static bool __init omap3xxx_hwmod_is_hs_ip_block_usable(struct device_node *bus,
>  int __init omap3xxx_hwmod_init(void)
>  {
>         int r;
> -       struct omap_hwmod_ocp_if **h = NULL, **h_gp = NULL, **h_sham = NULL;
> +       struct omap_hwmod_ocp_if **h = NULL, **h_sham = NULL;
>         struct omap_hwmod_ocp_if **h_aes = NULL;
>         struct device_node *bus;
>         unsigned int rev;
> @@ -2797,18 +2663,15 @@ int __init omap3xxx_hwmod_init(void)
>             rev == OMAP3430_REV_ES2_1 || rev == OMAP3430_REV_ES3_0 ||
>             rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2) {
>                 h = omap34xx_hwmod_ocp_ifs;
> -               h_gp = omap34xx_gp_hwmod_ocp_ifs;
>                 h_sham = omap34xx_sham_hwmod_ocp_ifs;
>                 h_aes = omap34xx_aes_hwmod_ocp_ifs;
>         } else if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) {
>                 h = am35xx_hwmod_ocp_ifs;
> -               h_gp = am35xx_gp_hwmod_ocp_ifs;
>                 h_sham = am35xx_sham_hwmod_ocp_ifs;
>                 h_aes = am35xx_aes_hwmod_ocp_ifs;
>         } else if (rev == OMAP3630_REV_ES1_0 || rev == OMAP3630_REV_ES1_1 ||
>                    rev == OMAP3630_REV_ES1_2) {
>                 h = omap36xx_hwmod_ocp_ifs;
> -               h_gp = omap36xx_gp_hwmod_ocp_ifs;
>                 h_sham = omap36xx_sham_hwmod_ocp_ifs;
>                 h_aes = omap36xx_aes_hwmod_ocp_ifs;
>         } else {
> @@ -2820,13 +2683,6 @@ int __init omap3xxx_hwmod_init(void)
>         if (r < 0)
>                 return r;
>
> -       /* Register GP-only hwmod links. */
> -       if (h_gp && omap_type() == OMAP2_DEVICE_TYPE_GP) {
> -               r = omap_hwmod_register_links(h_gp);
> -               if (r < 0)
> -                       return r;
> -       }
> -
>         /*
>          * Register crypto hwmod links only if they are not disabled in DT.
>          * If DT information is missing, enable them only for GP devices.
> --
> 2.26.2



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux