[PATCH 06/13] ARM: omap2: remove omap24xx support
Thomas Zimmermann
tzimmermann at suse.de
Wed Sep 9 01:06:52 PDT 2026
Am 08.09.26 um 17:27 schrieb Arnd Bergmann:
> drivers/video/fbdev/omap2/omapfb/Kconfig | 2 +-
Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de> # omapfb
> include/linux/clk/ti.h | 8 -
> 86 files changed, 60 insertions(+), 10696 deletions(-)
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-clocks.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-h4.dts
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-n800.dts
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-n810-wimax.dts
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-n810.dts
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420-n8x0-common.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2420.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2430-clocks.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2430-sdp.dts
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap2430.dtsi
> delete mode 100644 arch/arm/boot/dts/ti/omap/omap24xx-clocks.dtsi
> delete mode 100644 arch/arm/mach-omap2/board-n8x0.c
> delete mode 100644 arch/arm/mach-omap2/clkt2xxx_dpll.c
> delete mode 100644 arch/arm/mach-omap2/clkt2xxx_dpllcore.c
> delete mode 100644 arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> delete mode 100644 arch/arm/mach-omap2/clock2xxx.h
> delete mode 100644 arch/arm/mach-omap2/clockdomains2420_data.c
> delete mode 100644 arch/arm/mach-omap2/clockdomains2430_data.c
> delete mode 100644 arch/arm/mach-omap2/cm-regbits-24xx.h
> delete mode 100644 arch/arm/mach-omap2/cm2xxx.c
> delete mode 100644 arch/arm/mach-omap2/cm2xxx.h
> delete mode 100644 arch/arm/mach-omap2/common-board-devices.h
> delete mode 100644 arch/arm/mach-omap2/gpmc.h
> delete mode 100644 arch/arm/mach-omap2/l3_2xxx.h
> delete mode 100644 arch/arm/mach-omap2/l4_2xxx.h
> delete mode 100644 arch/arm/mach-omap2/mmc.h
> delete mode 100644 arch/arm/mach-omap2/msdi.c
> delete mode 100644 arch/arm/mach-omap2/omap2-restart.c
> delete mode 100644 arch/arm/mach-omap2/omap24xx.h
> delete mode 100644 arch/arm/mach-omap2/omap_hwmod_2420_data.c
> delete mode 100644 arch/arm/mach-omap2/omap_hwmod_2430_data.c
> delete mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> delete mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
> delete mode 100644 arch/arm/mach-omap2/opp2420_data.c
> delete mode 100644 arch/arm/mach-omap2/opp2430_data.c
> delete mode 100644 arch/arm/mach-omap2/opp2xxx.h
> delete mode 100644 arch/arm/mach-omap2/powerdomains2xxx_data.c
> delete mode 100644 arch/arm/mach-omap2/prm-regbits-24xx.h
> delete mode 100644 arch/arm/mach-omap2/prm2xxx.c
> delete mode 100644 arch/arm/mach-omap2/prm2xxx.h
> delete mode 100644 arch/arm/mach-omap2/sdrc2xxx.c
> delete mode 100644 arch/arm/mach-omap2/sleep24xx.S
> delete mode 100644 arch/arm/mach-omap2/sram242x.S
> delete mode 100644 arch/arm/mach-omap2/sram243x.S
> delete mode 100644 arch/arm/mach-omap2/usb-tusb6010.c
> delete mode 100644 arch/arm/mach-omap2/usb-tusb6010.h
> delete mode 100644 arch/arm/mach-omap2/voltagedomains2xxx_data.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 028db7ad15ad..0d10f778800d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19874,7 +19874,6 @@ M: Jarkko Nikula <jarkko.nikula at bitmer.com>
> L: linux-sound at vger.kernel.org
> L: linux-omap at vger.kernel.org
> S: Maintained
> -F: sound/soc/ti/n810.c
> F: sound/soc/ti/omap*
> F: sound/soc/ti/rx51.c
> F: sound/soc/ti/sdma-pcm.*
> @@ -20027,7 +20026,6 @@ F: drivers/gpio/gpio-tps65219.c
> F: drivers/i2c/busses/i2c-omap.c
> F: drivers/irqchip/irq-omap-intc.c
> F: drivers/mfd/*omap*.c
> -F: drivers/mfd/menelaus.c
> F: drivers/mfd/palmas.c
> F: drivers/mfd/tps65217.c
> F: drivers/mfd/tps65218.c
> diff --git a/arch/arm/boot/dts/ti/omap/Makefile b/arch/arm/boot/dts/ti/omap/Makefile
> index 498c36ccb5ea..3c5d378df6b9 100644
> --- a/arch/arm/boot/dts/ti/omap/Makefile
> +++ b/arch/arm/boot/dts/ti/omap/Makefile
> @@ -1,10 +1,4 @@
> # SPDX-License-Identifier: GPL-2.0
> -dtb-$(CONFIG_ARCH_OMAP2) += \
> - omap2420-h4.dtb \
> - omap2420-n800.dtb \
> - omap2420-n810.dtb \
> - omap2420-n810-wimax.dtb \
> - omap2430-sdp.dtb
> dtb-$(CONFIG_ARCH_OMAP3) += \
> am3517-craneboard.dtb \
> am3517-evm.dtb \
> diff --git a/arch/arm/boot/dts/ti/omap/omap2.dtsi b/arch/arm/boot/dts/ti/omap/omap2.dtsi
> deleted file mode 100644
> index fdc1790adf43..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2.dtsi
> +++ /dev/null
> @@ -1,338 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP2 SoC
> - *
> - * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
> - */
> -
> -#include <dt-bindings/bus/ti-sysc.h>
> -#include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/interrupt-controller/irq.h>
> -#include <dt-bindings/pinctrl/omap.h>
> -
> -/ {
> - compatible = "ti,omap2430", "ti,omap2420", "ti,omap2";
> - interrupt-parent = <&intc>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> - chosen { };
> -
> - aliases {
> - serial0 = &uart1;
> - serial1 = &uart2;
> - serial2 = &uart3;
> - i2c0 = &i2c1;
> - i2c1 = &i2c2;
> - };
> -
> - cpus {
> - #address-cells = <0>;
> - #size-cells = <0>;
> -
> - cpu {
> - compatible = "arm,arm1136jf-s";
> - device_type = "cpu";
> - };
> - };
> -
> - pmu {
> - compatible = "arm,arm1136-pmu";
> - interrupts = <3>;
> - };
> -
> - soc {
> - compatible = "ti,omap-infra";
> - mpu {
> - compatible = "ti,omap2-mpu";
> - ti,hwmods = "mpu";
> - };
> - };
> -
> - ocp {
> - compatible = "simple-bus";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges;
> - ti,hwmods = "l3_main";
> -
> - aes: aes at 480a6000 {
> - compatible = "ti,omap2-aes";
> - ti,hwmods = "aes";
> - reg = <0x480a6000 0x50>;
> - dmas = <&sdma 9 &sdma 10>;
> - dma-names = "tx", "rx";
> - };
> -
> - hdq1w: 1w at 480b2000 {
> - compatible = "ti,omap2420-1w";
> - ti,hwmods = "hdq1w";
> - reg = <0x480b2000 0x1000>;
> - interrupts = <58>;
> - };
> -
> - intc: interrupt-controller at 1 {
> - compatible = "ti,omap2-intc";
> - interrupt-controller;
> - #interrupt-cells = <1>;
> - reg = <0x480FE000 0x1000>;
> - };
> -
> - target-module at 48056000 {
> - compatible = "ti,sysc-omap2", "ti,sysc";
> - reg = <0x48056000 0x4>,
> - <0x4805602c 0x4>,
> - <0x48056028 0x4>;
> - reg-names = "rev", "sysc", "syss";
> - ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
> - SYSC_OMAP2_EMUFREE |
> - SYSC_OMAP2_SOFTRESET |
> - SYSC_OMAP2_AUTOIDLE)>;
> - ti,sysc-midle = <SYSC_IDLE_FORCE>,
> - <SYSC_IDLE_NO>,
> - <SYSC_IDLE_SMART>;
> - ti,syss-mask = <1>;
> - clocks = <&core_l3_ck>;
> - clock-names = "fck";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0 0x48056000 0x1000>;
> -
> - sdma: dma-controller at 0 {
> - compatible = "ti,omap2420-sdma", "ti,omap-sdma";
> - reg = <0 0x1000>;
> - interrupts = <12>,
> - <13>,
> - <14>,
> - <15>;
> - #dma-cells = <1>;
> - dma-channels = <32>;
> - dma-requests = <64>;
> - };
> - };
> -
> - i2c1: i2c at 48070000 {
> - compatible = "ti,omap2-i2c";
> - ti,hwmods = "i2c1";
> - reg = <0x48070000 0x80>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - interrupts = <56>;
> - };
> -
> - i2c2: i2c at 48072000 {
> - compatible = "ti,omap2-i2c";
> - ti,hwmods = "i2c2";
> - reg = <0x48072000 0x80>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - interrupts = <57>;
> - };
> -
> - mcspi1: spi at 48098000 {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "ti,omap2-mcspi";
> - ti,hwmods = "mcspi1";
> - reg = <0x48098000 0x100>;
> - interrupts = <65>;
> - dmas = <&sdma 35 &sdma 36 &sdma 37 &sdma 38
> - &sdma 39 &sdma 40 &sdma 41 &sdma 42>;
> - dma-names = "tx0", "rx0", "tx1", "rx1",
> - "tx2", "rx2", "tx3", "rx3";
> - };
> -
> - mcspi2: spi at 4809a000 {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - compatible = "ti,omap2-mcspi";
> - ti,hwmods = "mcspi2";
> - reg = <0x4809a000 0x100>;
> - interrupts = <66>;
> - dmas = <&sdma 43 &sdma 44 &sdma 45 &sdma 46>;
> - dma-names = "tx0", "rx0", "tx1", "rx1";
> - };
> -
> - rng: rng at 480a0000 {
> - compatible = "ti,omap2-rng";
> - ti,hwmods = "rng";
> - reg = <0x480a0000 0x50>;
> - interrupts = <52>;
> - };
> -
> - sham: sham at 480a4000 {
> - compatible = "ti,omap2-sham";
> - ti,hwmods = "sham";
> - reg = <0x480a4000 0x64>;
> - interrupts = <51>;
> - dmas = <&sdma 13>;
> - dma-names = "rx";
> - };
> -
> - uart1: serial at 4806a000 {
> - compatible = "ti,omap2-uart";
> - ti,hwmods = "uart1";
> - reg = <0x4806a000 0x2000>;
> - interrupts = <72>;
> - dmas = <&sdma 49 &sdma 50>;
> - dma-names = "tx", "rx";
> - clock-frequency = <48000000>;
> - };
> -
> - uart2: serial at 4806c000 {
> - compatible = "ti,omap2-uart";
> - ti,hwmods = "uart2";
> - reg = <0x4806c000 0x400>;
> - interrupts = <73>;
> - dmas = <&sdma 51 &sdma 52>;
> - dma-names = "tx", "rx";
> - clock-frequency = <48000000>;
> - };
> -
> - uart3: serial at 4806e000 {
> - compatible = "ti,omap2-uart";
> - ti,hwmods = "uart3";
> - reg = <0x4806e000 0x400>;
> - interrupts = <74>;
> - dmas = <&sdma 53 &sdma 54>;
> - dma-names = "tx", "rx";
> - clock-frequency = <48000000>;
> - };
> -
> - timer2_target: target-module at 4802a000 {
> - compatible = "ti,sysc-omap2-timer", "ti,sysc";
> - reg = <0x4802a000 0x4>,
> - <0x4802a010 0x4>,
> - <0x4802a014 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 0x4802a000 0x1000>;
> -
> - timer2: timer at 0 {
> - compatible = "ti,omap2420-timer";
> - reg = <0 0x400>;
> - interrupts = <38>;
> - };
> - };
> -
> - timer3: timer at 48078000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48078000 0x400>;
> - interrupts = <39>;
> - ti,hwmods = "timer3";
> - };
> -
> - timer4: timer at 4807a000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x4807a000 0x400>;
> - interrupts = <40>;
> - ti,hwmods = "timer4";
> - };
> -
> - timer5: timer at 4807c000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x4807c000 0x400>;
> - interrupts = <41>;
> - ti,hwmods = "timer5";
> - ti,timer-dsp;
> - };
> -
> - timer6: timer at 4807e000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x4807e000 0x400>;
> - interrupts = <42>;
> - ti,hwmods = "timer6";
> - ti,timer-dsp;
> - };
> -
> - timer7: timer at 48080000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48080000 0x400>;
> - interrupts = <43>;
> - ti,hwmods = "timer7";
> - ti,timer-dsp;
> - };
> -
> - timer8: timer at 48082000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48082000 0x400>;
> - interrupts = <44>;
> - ti,hwmods = "timer8";
> - ti,timer-dsp;
> - };
> -
> - timer9: timer at 48084000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48084000 0x400>;
> - interrupts = <45>;
> - ti,hwmods = "timer9";
> - ti,timer-pwm;
> - };
> -
> - timer10: timer at 48086000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48086000 0x400>;
> - interrupts = <46>;
> - ti,hwmods = "timer10";
> - ti,timer-pwm;
> - };
> -
> - timer11: timer at 48088000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x48088000 0x400>;
> - interrupts = <47>;
> - ti,hwmods = "timer11";
> - ti,timer-pwm;
> - };
> -
> - timer12: timer at 4808a000 {
> - compatible = "ti,omap2420-timer";
> - reg = <0x4808a000 0x400>;
> - interrupts = <48>;
> - ti,hwmods = "timer12";
> - ti,timer-pwm;
> - };
> -
> - dss: dss at 48050000 {
> - compatible = "ti,omap2-dss";
> - reg = <0x48050000 0x400>;
> - status = "disabled";
> - ti,hwmods = "dss_core";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges;
> -
> - dispc at 48050400 {
> - compatible = "ti,omap2-dispc";
> - reg = <0x48050400 0x400>;
> - interrupts = <25>;
> - ti,hwmods = "dss_dispc";
> - };
> -
> - rfbi: encoder at 48050800 {
> - compatible = "ti,omap2-rfbi";
> - reg = <0x48050800 0x400>;
> - status = "disabled";
> - ti,hwmods = "dss_rfbi";
> - };
> -
> - venc: encoder at 48050c00 {
> - compatible = "ti,omap2-venc";
> - reg = <0x48050c00 0x400>;
> - status = "disabled";
> - ti,hwmods = "dss_venc";
> - };
> - };
> - };
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-clocks.dtsi b/arch/arm/boot/dts/ti/omap/omap2420-clocks.dtsi
> deleted file mode 100644
> index 00a7a199a91c..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-clocks.dtsi
> +++ /dev/null
> @@ -1,267 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP2420 clock data
> - *
> - * Copyright (C) 2014 Texas Instruments, Inc.
> - */
> -
> -&prcm_clocks {
> - sys_clkout2_src_gate: sys_clkout2_src_gate at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-no-wait-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <15>;
> - reg = <0x0070>;
> - };
> -
> - sys_clkout2_src_mux: sys_clkout2_src_mux at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&core_ck>, <&sys_ck>, <&func_96m_ck>, <&func_54m_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0070>;
> - };
> -
> - sys_clkout2_src: sys_clkout2_src {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&sys_clkout2_src_gate>, <&sys_clkout2_src_mux>;
> - };
> -
> - sys_clkout2: sys_clkout2 at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&sys_clkout2_src>;
> - ti,bit-shift = <11>;
> - ti,max-div = <64>;
> - reg = <0x0070>;
> - ti,index-power-of-two;
> - };
> -
> - dsp_gate_ick: dsp_gate_ick at 810 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-interface-clock";
> - clocks = <&dsp_fck>;
> - ti,bit-shift = <1>;
> - reg = <0x0810>;
> - };
> -
> - dsp_div_ick: dsp_div_ick at 840 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&dsp_fck>;
> - ti,bit-shift = <5>;
> - ti,max-div = <3>;
> - reg = <0x0840>;
> - ti,index-starts-at-one;
> - };
> -
> - dsp_ick: dsp_ick {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&dsp_gate_ick>, <&dsp_div_ick>;
> - };
> -
> - iva1_gate_ifck: iva1_gate_ifck at 800 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0800>;
> - };
> -
> - iva1_div_ifck: iva1_div_ifck at 840 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0840>;
> - ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
> - };
> -
> - iva1_ifck: iva1_ifck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&iva1_gate_ifck>, <&iva1_div_ifck>;
> - };
> -
> - iva1_ifck_div: iva1_ifck_div {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&iva1_ifck>;
> - clock-mult = <1>;
> - clock-div = <2>;
> - };
> -
> - iva1_mpu_int_ifck: iva1_mpu_int_ifck at 800 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&iva1_ifck_div>;
> - ti,bit-shift = <8>;
> - reg = <0x0800>;
> - };
> -
> - wdt3_ick: wdt3_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <28>;
> - reg = <0x0210>;
> - };
> -
> - wdt3_fck: wdt3_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <28>;
> - reg = <0x0200>;
> - };
> -
> - mmc_ick: mmc_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <26>;
> - reg = <0x0210>;
> - };
> -
> - mmc_fck: mmc_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <26>;
> - reg = <0x0200>;
> - };
> -
> - eac_ick: eac_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <24>;
> - reg = <0x0210>;
> - };
> -
> - eac_fck: eac_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <24>;
> - reg = <0x0200>;
> - };
> -
> - i2c1_fck: i2c1_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_12m_ck>;
> - ti,bit-shift = <19>;
> - reg = <0x0200>;
> - };
> -
> - i2c2_fck: i2c2_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_12m_ck>;
> - ti,bit-shift = <20>;
> - reg = <0x0200>;
> - };
> -
> - vlynq_ick: vlynq_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0210>;
> - };
> -
> - vlynq_gate_fck: vlynq_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0200>;
> - };
> -
> - core_d18_ck: core_d18_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <18>;
> - };
> -
> - vlynq_mux_fck: vlynq_mux_fck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&core_ck>, <&core_d2_ck>, <&core_d3_ck>, <&core_d4_ck>, <&dummy_ck>, <&core_d6_ck>, <&dummy_ck>, <&core_d8_ck>, <&core_d9_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d12_ck>, <&dummy_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d16_ck>, <&dummy_ck>, <&core_d18_ck>;
> - ti,bit-shift = <15>;
> - reg = <0x0240>;
> - };
> -
> - vlynq_fck: vlynq_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&vlynq_gate_fck>, <&vlynq_mux_fck>;
> - };
> -};
> -
> -&prcm_clockdomains {
> - gfx_clkdm: gfx_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&gfx_ick>;
> - };
> -
> - core_l3_clkdm: core_l3_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&cam_fck>, <&vlynq_ick>, <&usb_fck>;
> - };
> -
> - wkup_clkdm: wkup_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&dpll_ck>, <&emul_ck>, <&gpt1_ick>, <&gpios_ick>,
> - <&gpios_fck>, <&mpu_wdt_ick>, <&mpu_wdt_fck>,
> - <&sync_32k_ick>, <&wdt1_ick>, <&omapctrl_ick>;
> - };
> -
> - iva1_clkdm: iva1_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&iva1_mpu_int_ifck>;
> - };
> -
> - dss_clkdm: dss_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&dss_ick>, <&dss_54m_fck>;
> - };
> -
> - core_l4_clkdm: core_l4_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&ssi_l4_ick>, <&gpt2_ick>, <&gpt3_ick>, <&gpt4_ick>,
> - <&gpt5_ick>, <&gpt6_ick>, <&gpt7_ick>, <&gpt8_ick>,
> - <&gpt9_ick>, <&gpt10_ick>, <&gpt11_ick>, <&gpt12_ick>,
> - <&mcbsp1_ick>, <&mcbsp2_ick>, <&mcspi1_ick>,
> - <&mcspi1_fck>, <&mcspi2_ick>, <&mcspi2_fck>,
> - <&uart1_ick>, <&uart1_fck>, <&uart2_ick>, <&uart2_fck>,
> - <&uart3_ick>, <&uart3_fck>, <&cam_ick>,
> - <&mailboxes_ick>, <&wdt4_ick>, <&wdt4_fck>,
> - <&wdt3_ick>, <&wdt3_fck>, <&mspro_ick>, <&mspro_fck>,
> - <&mmc_ick>, <&mmc_fck>, <&fac_ick>, <&fac_fck>,
> - <&eac_ick>, <&eac_fck>, <&hdq_ick>, <&hdq_fck>,
> - <&i2c1_ick>, <&i2c1_fck>, <&i2c2_ick>, <&i2c2_fck>,
> - <&des_ick>, <&sha_ick>, <&rng_ick>, <&aes_ick>,
> - <&pka_ick>;
> - };
> -};
> -
> -&func_96m_ck {
> - compatible = "fixed-factor-clock";
> - clocks = <&apll96_ck>;
> - clock-mult = <1>;
> - clock-div = <1>;
> -};
> -
> -&dsp_div_fck {
> - ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
> -};
> -
> -&ssi_ssr_sst_div_fck {
> - ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-h4.dts b/arch/arm/boot/dts/ti/omap/omap2420-h4.dts
> deleted file mode 100644
> index 5acf5dd87c59..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-h4.dts
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
> - */
> -/dts-v1/;
> -
> -#include "omap2420.dtsi"
> -
> -/ {
> - model = "TI OMAP2420 H4 board";
> - compatible = "ti,omap2420-h4", "ti,omap2420", "ti,omap2";
> -
> - memory at 80000000 {
> - device_type = "memory";
> - reg = <0x80000000 0x4000000>; /* 64 MB */
> - };
> -};
> -
> -&gpmc {
> - ranges = <0 0 0x08000000 0x04000000>;
> -
> - nor at 0,0 {
> - compatible = "cfi-flash";
> - linux,mtd-name = "intel,ge28f256l18b85";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - reg = <0 0 0x04000000>;
> - bank-width = <2>;
> -
> - gpmc,mux-add-data = <2>;
> - gpmc,cs-on-ns = <10>;
> - gpmc,cs-rd-off-ns = <160>;
> - gpmc,cs-wr-off-ns = <160>;
> - gpmc,adv-on-ns = <20>;
> - gpmc,adv-rd-off-ns = <50>;
> - gpmc,adv-wr-off-ns = <50>;
> - gpmc,oe-on-ns = <60>;
> - gpmc,oe-off-ns = <120>;
> - gpmc,we-on-ns = <60>;
> - gpmc,we-off-ns = <120>;
> - gpmc,rd-cycle-ns = <170>;
> - gpmc,wr-cycle-ns = <170>;
> - gpmc,access-ns = <150>;
> - gpmc,page-burst-access-ns = <10>;
> -
> - partition at 0 {
> - label = "bootloader";
> - reg = <0 0x20000>;
> - };
> - partition at 20000 {
> - label = "params";
> - reg = <0x20000 0x20000>;
> - };
> - partition at 40000 {
> - label = "kernel";
> - reg = <0x40000 0x200000>;
> - };
> - partition at 240000 {
> - label = "file-system";
> - reg = <0x240000 0x3dc0000>;
> - };
> - };
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-n800.dts b/arch/arm/boot/dts/ti/omap/omap2420-n800.dts
> deleted file mode 100644
> index f06d767e818b..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-n800.dts
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/dts-v1/;
> -
> -#include "omap2420-n8x0-common.dtsi"
> -
> -/ {
> - model = "Nokia N800";
> - compatible = "nokia,n800", "nokia,n8x0", "ti,omap2420", "ti,omap2";
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-n810-wimax.dts b/arch/arm/boot/dts/ti/omap/omap2420-n810-wimax.dts
> deleted file mode 100644
> index ac9acbd609b6..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-n810-wimax.dts
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/dts-v1/;
> -
> -#include "omap2420-n8x0-common.dtsi"
> -
> -/ {
> - model = "Nokia N810 WiMax";
> - compatible = "nokia,n810-wimax", "nokia,n8x0", "ti,omap2420", "ti,omap2";
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-n810.dts b/arch/arm/boot/dts/ti/omap/omap2420-n810.dts
> deleted file mode 100644
> index 3bf8175d85a8..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-n810.dts
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/dts-v1/;
> -
> -#include "omap2420-n8x0-common.dtsi"
> -
> -/ {
> - model = "Nokia N810";
> - compatible = "nokia,n810", "nokia,n8x0", "ti,omap2420", "ti,omap2";
> -
> - vio_ape: vio_ape {
> - compatible = "regulator-fixed";
> - regulator-name = "vio_ape";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - v28_aic: v28_aic {
> - compatible = "regulator-fixed";
> - regulator-name = "v28_aic";
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -};
> -
> -&omap2420_pmx {
> - mcbsp2_pins: mcbsp2-pins {
> - pinctrl-single,pins = <
> - OMAP2420_CORE_IOPAD(0x0124, PIN_INPUT | MUX_MODE1) /* eac_ac_sclk.mcbsp2_clkx */
> - OMAP2420_CORE_IOPAD(0x0125, PIN_INPUT | MUX_MODE1) /* eac_ac_fs.mcbsp2_fsx */
> - OMAP2420_CORE_IOPAD(0x0126, PIN_INPUT | MUX_MODE1) /* eac_ac_din.mcbsp2_dr */
> - OMAP2420_CORE_IOPAD(0x0127, PIN_OUTPUT | MUX_MODE1) /* eac_ac_dout.mcbsp2_dx */
> - >;
> - };
> -
> - aic33_pins: aic33-pins {
> - pinctrl-single,pins = <
> - OMAP2420_CORE_IOPAD(0x0129, PIN_OUTPUT | MUX_MODE3) /* eac_ac_rst.gpio118 */
> - OMAP2420_CORE_IOPAD(0x00e8, PIN_OUTPUT | MUX_MODE2) /* vlynq_tx1.sys_clkout2 */
> - >;
> - };
> -};
> -
> -&i2c2 {
> - aic33 at 18 {
> - compatible = "ti,tlv320aic33";
> - reg = <0x18>;
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&aic33_pins>;
> -
> - reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; /* gpio118 */
> -
> - ai3x-gpio-func = <
> - 10 /* AIC3X_GPIO1_FUNC_DIGITAL_MIC_MODCLK */
> - 5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
> - >;
> - ai3x-micbias-vg = <1>; /* 2V */
> -
> - AVDD-supply = <&v28_aic>;
> - DRVDD-supply = <&v28_aic>;
> - IOVDD-supply = <&vio_ape>;
> - DVDD-supply = <&vio_ape>;
> -
> - assigned-clocks = <&sys_clkout2_src>, <&sys_clkout2>;
> - assigned-clock-parents = <&func_96m_ck>;
> - assigned-clock-rates = <0>, <12000000>;
> - };
> -};
> -
> -&mcbsp2 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&mcbsp2_pins>;
> -
> - status = "okay";
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420-n8x0-common.dtsi b/arch/arm/boot/dts/ti/omap/omap2420-n8x0-common.dtsi
> deleted file mode 100644
> index fe9dd8bbfc85..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420-n8x0-common.dtsi
> +++ /dev/null
> @@ -1,123 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include "omap2420.dtsi"
> -
> -/ {
> - memory at 80000000 {
> - device_type = "memory";
> - reg = <0x80000000 0x8000000>; /* 128 MB */
> - };
> -
> - chosen {
> - stdout-path = &uart3;
> - };
> -
> - ocp {
> - i2c0 {
> - compatible = "i2c-cbus-gpio";
> - gpios = <&gpio3 2 GPIO_ACTIVE_HIGH /* gpio66 clk */
> - &gpio3 1 GPIO_ACTIVE_HIGH /* gpio65 dat */
> - &gpio3 0 GPIO_ACTIVE_HIGH /* gpio64 sel */
> - >;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - retu: retu at 1 {
> - compatible = "nokia,retu";
> - interrupt-parent = <&gpio4>;
> - interrupts = <12 IRQ_TYPE_EDGE_RISING>;
> - reg = <0x1>;
> - };
> - };
> - };
> -};
> -
> -&i2c1 {
> - clock-frequency = <400000>;
> -
> - pmic at 72 {
> - compatible = "menelaus";
> - reg = <0x72>;
> - interrupts = <7 IRQ_TYPE_EDGE_RISING>;
> - };
> -};
> -
> -&i2c2 {
> - clock-frequency = <400000>;
> -};
> -
> -&gpmc {
> - ranges = <0 0 0x04000000 0x1000000>; /* CS0: 16MB for OneNAND */
> -
> - /* gpio-irq for dma: 26 */
> -
> - onenand at 0,0 {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "ti,omap2-onenand";
> - reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */
> -
> - gpmc,sync-read;
> - gpmc,burst-length = <16>;
> - gpmc,burst-read;
> - gpmc,burst-wrap;
> - gpmc,device-width = <2>;
> - gpmc,mux-add-data = <2>;
> - gpmc,cs-on-ns = <0>;
> - gpmc,cs-rd-off-ns = <127>;
> - gpmc,cs-wr-off-ns = <109>;
> - gpmc,adv-on-ns = <0>;
> - gpmc,adv-rd-off-ns = <18>;
> - gpmc,adv-wr-off-ns = <18>;
> - gpmc,oe-on-ns = <27>;
> - gpmc,oe-off-ns = <127>;
> - gpmc,we-on-ns = <27>;
> - gpmc,we-off-ns = <72>;
> - gpmc,rd-cycle-ns = <145>;
> - gpmc,wr-cycle-ns = <136>;
> - gpmc,access-ns = <118>;
> - gpmc,page-burst-access-ns = <27>;
> - gpmc,bus-turnaround-ns = <0>;
> - gpmc,cycle2cycle-delay-ns = <0>;
> - gpmc,wait-monitoring-ns = <0>;
> - gpmc,clk-activation-ns = <9>;
> - gpmc,sync-clk-ps = <27000>;
> -
> - /* MTD partition table corresponding to old board-n8x0 file. */
> - partition at 0 {
> - label = "bootloader";
> - reg = <0x00000000 0x00020000>;
> - read-only;
> - };
> - partition at 1 {
> - label = "config";
> - reg = <0x00020000 0x00060000>;
> - };
> - partition at 2 {
> - label = "kernel";
> - reg = <0x00080000 0x00200000>;
> - };
> - partition at 3 {
> - label = "initfs";
> - reg = <0x00280000 0x00400000>;
> - };
> - partition at 4 {
> - label = "rootfs";
> - reg = <0x00680000 0x0f980000>;
> - };
> - partition at 5 {
> - label = "omap2-onenand";
> - reg = <0x00000000 0x10000000>;
> - };
> - };
> -};
> -
> -&mcspi2 {
> - status = "okay";
> -
> - wifi at 0 {
> - reg = <0>;
> - compatible = "st,stlc4560";
> - spi-max-frequency = <48000000>;
> - interrupts-extended = <&gpio3 23 IRQ_TYPE_EDGE_RISING>;
> - powerdown-gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* gpio 97 */
> - };
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2420.dtsi b/arch/arm/boot/dts/ti/omap/omap2420.dtsi
> deleted file mode 100644
> index 821da51cb870..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2420.dtsi
> +++ /dev/null
> @@ -1,262 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP2420 SoC
> - *
> - * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
> - */
> -
> -#include "omap2.dtsi"
> -
> -/ {
> - compatible = "ti,omap2420", "ti,omap2";
> -
> - ocp {
> - l4: l4 at 48000000 {
> - compatible = "ti,omap2-l4", "simple-bus";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0 0x48000000 0x100000>;
> -
> - prcm: prcm at 8000 {
> - compatible = "ti,omap2-prcm";
> - reg = <0x8000 0x1000>;
> -
> - prcm_clocks: clocks {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - prcm_clockdomains: clockdomains {
> - };
> - };
> -
> - scm: scm at 0 {
> - compatible = "ti,omap2-scm", "simple-bus";
> - reg = <0x0 0x1000>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> - #pinctrl-cells = <1>;
> - ranges = <0 0x0 0x1000>;
> -
> - omap2420_pmx: pinmux at 30 {
> - compatible = "ti,omap2420-padconf",
> - "pinctrl-single";
> - reg = <0x30 0x0113>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - #pinctrl-cells = <1>;
> - pinctrl-single,register-width = <8>;
> - pinctrl-single,function-mask = <0x3f>;
> - };
> -
> - scm_conf: scm_conf at 270 {
> - compatible = "syscon";
> - reg = <0x270 0x100>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> -
> - scm_clocks: clocks {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> - };
> -
> - scm_clockdomains: clockdomains {
> - };
> - };
> -
> - target-module at 4000 {
> - compatible = "ti,sysc-omap2", "ti,sysc";
> - reg = <0x4000 0x4>,
> - <0x4004 0x4>;
> - reg-names = "rev", "sysc";
> - ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> - <SYSC_IDLE_NO>;
> - clocks = <&func_32k_ck>;
> - clock-names = "fck";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0x0 0x4000 0x1000>;
> -
> - counter32k: counter at 0 {
> - compatible = "ti,omap-counter32k";
> - reg = <0 0x20>;
> - };
> - };
> - };
> -
> - gpio1: gpio at 48018000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x48018000 0x200>;
> - interrupts = <29>;
> - ti,hwmods = "gpio1";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio2: gpio at 4801a000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x4801a000 0x200>;
> - interrupts = <30>;
> - ti,hwmods = "gpio2";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio3: gpio at 4801c000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x4801c000 0x200>;
> - interrupts = <31>;
> - ti,hwmods = "gpio3";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio4: gpio at 4801e000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x4801e000 0x200>;
> - interrupts = <32>;
> - ti,hwmods = "gpio4";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpmc: gpmc at 6800a000 {
> - compatible = "ti,omap2420-gpmc";
> - reg = <0x6800a000 0x1000>;
> - #address-cells = <2>;
> - #size-cells = <1>;
> - interrupts = <20>;
> - gpmc,num-cs = <8>;
> - gpmc,num-waitpins = <4>;
> - ti,hwmods = "gpmc";
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - };
> -
> - mcbsp1: mcbsp at 48074000 {
> - compatible = "ti,omap2420-mcbsp";
> - reg = <0x48074000 0xff>;
> - reg-names = "mpu";
> - interrupts = <59>, /* TX interrupt */
> - <60>; /* RX interrupt */
> - interrupt-names = "tx", "rx";
> - ti,hwmods = "mcbsp1";
> - dmas = <&sdma 31>,
> - <&sdma 32>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mcbsp2: mcbsp at 48076000 {
> - compatible = "ti,omap2420-mcbsp";
> - reg = <0x48076000 0xff>;
> - reg-names = "mpu";
> - interrupts = <62>, /* TX interrupt */
> - <63>; /* RX interrupt */
> - interrupt-names = "tx", "rx";
> - ti,hwmods = "mcbsp2";
> - dmas = <&sdma 33>,
> - <&sdma 34>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - msdi1: mmc at 4809c000 {
> - compatible = "ti,omap2420-mmc";
> - ti,hwmods = "msdi1";
> - reg = <0x4809c000 0x80>;
> - interrupts = <83>;
> - dmas = <&sdma 61 &sdma 62>;
> - dma-names = "tx", "rx";
> - };
> -
> - mailbox: mailbox at 48094000 {
> - compatible = "ti,omap2-mailbox";
> - reg = <0x48094000 0x200>;
> - interrupts = <26>, <34>;
> - ti,hwmods = "mailbox";
> - #mbox-cells = <1>;
> - ti,mbox-num-users = <4>;
> - ti,mbox-num-fifos = <6>;
> - mbox_dsp: mbox-dsp {
> - ti,mbox-tx = <0 0 0>;
> - ti,mbox-rx = <1 0 0>;
> - };
> - mbox_iva: mbox-iva {
> - ti,mbox-tx = <2 1 3>;
> - ti,mbox-rx = <3 1 3>;
> - };
> - };
> -
> - timer1_target: target-module at 48028000 {
> - compatible = "ti,sysc-omap2-timer", "ti,sysc";
> - reg = <0x48028000 0x4>,
> - <0x48028010 0x4>,
> - <0x48028014 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 0x48028000 0x1000>;
> -
> - timer1: timer at 0 {
> - compatible = "ti,omap2420-timer";
> - reg = <0 0x400>;
> - interrupts = <37>;
> - ti,timer-alwon;
> - };
> - };
> -
> - wd_timer2: wdt at 48022000 {
> - compatible = "ti,omap2-wdt";
> - ti,hwmods = "wd_timer2";
> - reg = <0x48022000 0x80>;
> - };
> - };
> -};
> -
> -&i2c1 {
> - compatible = "ti,omap2420-i2c";
> -};
> -
> -&i2c2 {
> - compatible = "ti,omap2420-i2c";
> -};
> -
> -#include "omap24xx-clocks.dtsi"
> -#include "omap2420-clocks.dtsi"
> -
> -/* Preferred always-on timer for clockevent */
> -&timer1_target {
> - ti,no-reset-on-init;
> - ti,no-idle;
> - timer at 0 {
> - assigned-clocks = <&gpt1_fck>;
> - assigned-clock-parents = <&func_32k_ck>;
> - };
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2430-clocks.dtsi b/arch/arm/boot/dts/ti/omap/omap2430-clocks.dtsi
> deleted file mode 100644
> index 4e5ab5189476..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2430-clocks.dtsi
> +++ /dev/null
> @@ -1,341 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP2430 clock data
> - *
> - * Copyright (C) 2014 Texas Instruments, Inc.
> - */
> -
> -&scm_clocks {
> - mcbsp3_mux_fck: mcbsp3_mux_fck at 78 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&mcbsp_clks>;
> - reg = <0x78>;
> - };
> -
> - mcbsp3_fck: mcbsp3_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mcbsp3_gate_fck>, <&mcbsp3_mux_fck>;
> - };
> -
> - mcbsp4_mux_fck: mcbsp4_mux_fck at 78 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&mcbsp_clks>;
> - ti,bit-shift = <2>;
> - reg = <0x78>;
> - };
> -
> - mcbsp4_fck: mcbsp4_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mcbsp4_gate_fck>, <&mcbsp4_mux_fck>;
> - };
> -
> - mcbsp5_mux_fck: mcbsp5_mux_fck at 78 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&mcbsp_clks>;
> - ti,bit-shift = <4>;
> - reg = <0x78>;
> - };
> -
> - mcbsp5_fck: mcbsp5_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mcbsp5_gate_fck>, <&mcbsp5_mux_fck>;
> - };
> -};
> -
> -&prcm_clocks {
> - iva2_1_gate_ick: iva2_1_gate_ick at 800 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&dsp_fck>;
> - ti,bit-shift = <0>;
> - reg = <0x0800>;
> - };
> -
> - iva2_1_div_ick: iva2_1_div_ick at 840 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&dsp_fck>;
> - ti,bit-shift = <5>;
> - ti,max-div = <3>;
> - reg = <0x0840>;
> - ti,index-starts-at-one;
> - };
> -
> - iva2_1_ick: iva2_1_ick {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&iva2_1_gate_ick>, <&iva2_1_div_ick>;
> - };
> -
> - mdm_gate_ick: mdm_gate_ick at c10 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-interface-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0c10>;
> - };
> -
> - mdm_div_ick: mdm_div_ick at c40 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_ck>;
> - reg = <0x0c40>;
> - ti,dividers = <0>, <1>, <0>, <0>, <4>, <0>, <6>, <0>, <0>, <9>;
> - };
> -
> - mdm_ick: mdm_ick {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mdm_gate_ick>, <&mdm_div_ick>;
> - };
> -
> - mdm_osc_ck: mdm_osc_ck at c00 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&osc_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0c00>;
> - };
> -
> - mcbsp3_ick: mcbsp3_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0214>;
> - };
> -
> - mcbsp3_gate_fck: mcbsp3_gate_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&mcbsp_clks>;
> - ti,bit-shift = <3>;
> - reg = <0x0204>;
> - };
> -
> - mcbsp4_ick: mcbsp4_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0214>;
> - };
> -
> - mcbsp4_gate_fck: mcbsp4_gate_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&mcbsp_clks>;
> - ti,bit-shift = <4>;
> - reg = <0x0204>;
> - };
> -
> - mcbsp5_ick: mcbsp5_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <5>;
> - reg = <0x0214>;
> - };
> -
> - mcbsp5_gate_fck: mcbsp5_gate_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&mcbsp_clks>;
> - ti,bit-shift = <5>;
> - reg = <0x0204>;
> - };
> -
> - mcspi3_ick: mcspi3_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <9>;
> - reg = <0x0214>;
> - };
> -
> - mcspi3_fck: mcspi3_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <9>;
> - reg = <0x0204>;
> - };
> -
> - icr_ick: icr_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0410>;
> - };
> -
> - i2chs1_fck: i2chs1_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,omap2430-interface-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <19>;
> - reg = <0x0204>;
> - };
> -
> - i2chs2_fck: i2chs2_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,omap2430-interface-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <20>;
> - reg = <0x0204>;
> - };
> -
> - usbhs_ick: usbhs_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0214>;
> - };
> -
> - mmchs1_ick: mmchs1_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <7>;
> - reg = <0x0214>;
> - };
> -
> - mmchs1_fck: mmchs1_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <7>;
> - reg = <0x0204>;
> - };
> -
> - mmchs2_ick: mmchs2_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0214>;
> - };
> -
> - mmchs2_fck: mmchs2_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0204>;
> - };
> -
> - gpio5_ick: gpio5_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0214>;
> - };
> -
> - gpio5_fck: gpio5_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0204>;
> - };
> -
> - mdm_intc_ick: mdm_intc_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <11>;
> - reg = <0x0214>;
> - };
> -
> - mmchsdb1_fck: mmchsdb1_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <16>;
> - reg = <0x0204>;
> - };
> -
> - mmchsdb2_fck: mmchsdb2_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <17>;
> - reg = <0x0204>;
> - };
> -};
> -
> -&prcm_clockdomains {
> - gfx_clkdm: gfx_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&gfx_ick>;
> - };
> -
> - core_l3_clkdm: core_l3_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&cam_fck>, <&usb_fck>, <&usbhs_ick>;
> - };
> -
> - wkup_clkdm: wkup_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&dpll_ck>, <&emul_ck>, <&gpt1_ick>, <&gpios_ick>,
> - <&gpios_fck>, <&mpu_wdt_ick>, <&mpu_wdt_fck>,
> - <&sync_32k_ick>, <&wdt1_ick>, <&omapctrl_ick>,
> - <&icr_ick>;
> - };
> -
> - dss_clkdm: dss_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&dss_ick>, <&dss_54m_fck>;
> - };
> -
> - core_l4_clkdm: core_l4_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&ssi_l4_ick>, <&gpt2_ick>, <&gpt3_ick>, <&gpt4_ick>,
> - <&gpt5_ick>, <&gpt6_ick>, <&gpt7_ick>, <&gpt8_ick>,
> - <&gpt9_ick>, <&gpt10_ick>, <&gpt11_ick>, <&gpt12_ick>,
> - <&mcbsp1_ick>, <&mcbsp2_ick>, <&mcbsp3_ick>,
> - <&mcbsp4_ick>, <&mcbsp5_ick>, <&mcspi1_ick>,
> - <&mcspi1_fck>, <&mcspi2_ick>, <&mcspi2_fck>,
> - <&mcspi3_ick>, <&mcspi3_fck>, <&uart1_ick>,
> - <&uart1_fck>, <&uart2_ick>, <&uart2_fck>, <&uart3_ick>,
> - <&uart3_fck>, <&cam_ick>, <&mailboxes_ick>,
> - <&wdt4_ick>, <&wdt4_fck>, <&mspro_ick>, <&mspro_fck>,
> - <&fac_ick>, <&fac_fck>, <&hdq_ick>, <&hdq_fck>,
> - <&i2c1_ick>, <&i2chs1_fck>, <&i2c2_ick>, <&i2chs2_fck>,
> - <&des_ick>, <&sha_ick>, <&rng_ick>, <&aes_ick>,
> - <&pka_ick>, <&mmchs1_ick>, <&mmchs1_fck>,
> - <&mmchs2_ick>, <&mmchs2_fck>, <&gpio5_ick>,
> - <&gpio5_fck>, <&mdm_intc_ick>, <&mmchsdb1_fck>,
> - <&mmchsdb2_fck>;
> - };
> -
> - mdm_clkdm: mdm_clkdm {
> - compatible = "ti,clockdomain";
> - clocks = <&mdm_osc_ck>;
> - };
> -};
> -
> -&func_96m_ck {
> - compatible = "ti,mux-clock";
> - clocks = <&apll96_ck>, <&alt_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0540>;
> -};
> -
> -&dsp_div_fck {
> - ti,max-div = <4>;
> - ti,index-starts-at-one;
> -};
> -
> -&ssi_ssr_sst_div_fck {
> - ti,max-div = <5>;
> - ti,index-starts-at-one;
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap2430-sdp.dts b/arch/arm/boot/dts/ti/omap/omap2430-sdp.dts
> deleted file mode 100644
> index 207070677e3a..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2430-sdp.dts
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
> - */
> -/dts-v1/;
> -
> -#include "omap2430.dtsi"
> -
> -/ {
> - model = "TI OMAP2430 SDP";
> - compatible = "ti,omap2430-sdp", "ti,omap2430", "ti,omap2";
> -
> - memory at 80000000 {
> - device_type = "memory";
> - reg = <0x80000000 0x8000000>; /* 128 MB */
> - };
> -};
> -
> -&i2c2 {
> - clock-frequency = <100000>;
> -
> - twl: twl at 48 {
> - reg = <0x48>;
> - interrupts = <7>; /* SYS_NIRQ cascaded to intc */
> - };
> -};
> -
> -#include "twl4030.dtsi"
> -
> -&mmc1 {
> - vmmc-supply = <&vmmc1>;
> - bus-width = <4>;
> -};
> -
> -&gpmc {
> - ranges = <5 0 0x08000000 0x01000000>;
> - ethernet at gpmc {
> - compatible = "smsc,lan91c94";
> - interrupt-parent = <&gpio5>;
> - interrupts = <21 IRQ_TYPE_LEVEL_LOW>; /* gpio149 */
> - reg = <5 0x300 0xf>;
> - bank-width = <2>;
> - gpmc,sync-clk-ps = <0>;
> - gpmc,mux-add-data = <2>;
> - gpmc,device-width = <1>;
> - gpmc,cycle2cycle-samecsen;
> - gpmc,cycle2cycle-diffcsen;
> - gpmc,cs-on-ns = <6>;
> - gpmc,cs-rd-off-ns = <187>;
> - gpmc,cs-wr-off-ns = <187>;
> - gpmc,adv-on-ns = <18>;
> - gpmc,adv-rd-off-ns = <48>;
> - gpmc,adv-wr-off-ns = <48>;
> - gpmc,oe-on-ns = <60>;
> - gpmc,oe-off-ns = <169>;
> - gpmc,we-on-ns = <66>;
> - gpmc,we-off-ns = <169>;
> - gpmc,rd-cycle-ns = <187>;
> - gpmc,wr-cycle-ns = <187>;
> - gpmc,access-ns = <187>;
> - gpmc,page-burst-access-ns = <24>;
> - gpmc,bus-turnaround-ns = <24>;
> - gpmc,cycle2cycle-delay-ns = <24>;
> - gpmc,wait-monitoring-ns = <0>;
> - gpmc,clk-activation-ns = <0>;
> - gpmc,wr-data-mux-bus-ns = <0>;
> - gpmc,wr-access-ns = <0>;
> - };
> -};
> -
> diff --git a/arch/arm/boot/dts/ti/omap/omap2430.dtsi b/arch/arm/boot/dts/ti/omap/omap2430.dtsi
> deleted file mode 100644
> index 01bd471f9223..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap2430.dtsi
> +++ /dev/null
> @@ -1,366 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP243x SoC
> - *
> - * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
> - */
> -
> -#include "omap2.dtsi"
> -
> -/ {
> - compatible = "ti,omap2430", "ti,omap2";
> -
> - ocp {
> - l4_wkup: l4_wkup at 49000000 {
> - compatible = "ti,omap2-l4-wkup", "simple-bus";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0 0x49000000 0x31000>;
> -
> - prcm: prcm at 6000 {
> - compatible = "ti,omap2-prcm";
> - reg = <0x6000 0x1000>;
> -
> - prcm_clocks: clocks {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - prcm_clockdomains: clockdomains {
> - };
> - };
> -
> - scm: scm at 2000 {
> - compatible = "ti,omap2-scm", "simple-bus";
> - reg = <0x2000 0x1000>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> - #pinctrl-cells = <1>;
> - ranges = <0 0x2000 0x1000>;
> -
> - omap2430_pmx: pinmux at 30 {
> - compatible = "ti,omap2430-padconf",
> - "pinctrl-single";
> - reg = <0x30 0x0154>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> - #pinctrl-cells = <1>;
> - pinctrl-single,register-width = <8>;
> - pinctrl-single,function-mask = <0x3f>;
> - };
> -
> - scm_conf: scm_conf at 270 {
> - compatible = "ti,omap2-scm-conf", "syscon",
> - "simple-bus";
> - reg = <0x270 0x240>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0 0x270 0x240>;
> -
> - scm_clocks: clocks {
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - pbias_regulator: pbias_regulator at 230 {
> - compatible = "ti,pbias-omap2", "ti,pbias-omap";
> - reg = <0x230 0x4>;
> - syscon = <&scm_conf>;
> - pbias_mmc_reg: pbias_mmc_omap2430 {
> - regulator-name = "pbias_mmc_omap2430";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3000000>;
> - };
> - };
> - };
> -
> - scm_clockdomains: clockdomains {
> - };
> - };
> -
> - target-module at 20000 {
> - compatible = "ti,sysc-omap2", "ti,sysc";
> - reg = <0x20000 0x4>,
> - <0x20004 0x4>;
> - reg-names = "rev", "sysc";
> - ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> - <SYSC_IDLE_NO>;
> - clocks = <&func_32k_ck>;
> - clock-names = "fck";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0x0 0x20000 0x1000>;
> -
> - counter32k: counter at 0 {
> - compatible = "ti,omap-counter32k";
> - reg = <0 0x20>;
> - };
> - };
> - };
> -
> - gpio1: gpio at 4900c000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x4900c000 0x200>;
> - interrupts = <29>;
> - ti,hwmods = "gpio1";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio2: gpio at 4900e000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x4900e000 0x200>;
> - interrupts = <30>;
> - ti,hwmods = "gpio2";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio3: gpio at 49010000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x49010000 0x200>;
> - interrupts = <31>;
> - ti,hwmods = "gpio3";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio4: gpio at 49012000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x49012000 0x200>;
> - interrupts = <32>;
> - ti,hwmods = "gpio4";
> - ti,gpio-always-on;
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpio5: gpio at 480b6000 {
> - compatible = "ti,omap2-gpio";
> - reg = <0x480b6000 0x200>;
> - interrupts = <33>;
> - ti,hwmods = "gpio5";
> - #gpio-cells = <2>;
> - gpio-controller;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - };
> -
> - gpmc: gpmc at 6e000000 {
> - compatible = "ti,omap2430-gpmc";
> - reg = <0x6e000000 0x1000>;
> - #address-cells = <2>;
> - #size-cells = <1>;
> - interrupts = <20>;
> - gpmc,num-cs = <8>;
> - gpmc,num-waitpins = <4>;
> - ti,hwmods = "gpmc";
> - interrupt-controller;
> - #interrupt-cells = <2>;
> - gpio-controller;
> - #gpio-cells = <2>;
> - };
> -
> - mcbsp1: mcbsp at 48074000 {
> - compatible = "ti,omap2430-mcbsp";
> - reg = <0x48074000 0xff>;
> - reg-names = "mpu";
> - interrupts = <64>, /* OCP compliant interrupt */
> - <59>, /* TX interrupt */
> - <60>, /* RX interrupt */
> - <61>; /* RX overflow interrupt */
> - interrupt-names = "common", "tx", "rx", "rx_overflow";
> - ti,buffer-size = <128>;
> - ti,hwmods = "mcbsp1";
> - dmas = <&sdma 31>,
> - <&sdma 32>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mcbsp2: mcbsp at 48076000 {
> - compatible = "ti,omap2430-mcbsp";
> - reg = <0x48076000 0xff>;
> - reg-names = "mpu";
> - interrupts = <16>, /* OCP compliant interrupt */
> - <62>, /* TX interrupt */
> - <63>; /* RX interrupt */
> - interrupt-names = "common", "tx", "rx";
> - ti,buffer-size = <128>;
> - ti,hwmods = "mcbsp2";
> - dmas = <&sdma 33>,
> - <&sdma 34>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mcbsp3: mcbsp at 4808c000 {
> - compatible = "ti,omap2430-mcbsp";
> - reg = <0x4808c000 0xff>;
> - reg-names = "mpu";
> - interrupts = <17>, /* OCP compliant interrupt */
> - <89>, /* TX interrupt */
> - <90>; /* RX interrupt */
> - interrupt-names = "common", "tx", "rx";
> - ti,buffer-size = <128>;
> - ti,hwmods = "mcbsp3";
> - dmas = <&sdma 17>,
> - <&sdma 18>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mcbsp4: mcbsp at 4808e000 {
> - compatible = "ti,omap2430-mcbsp";
> - reg = <0x4808e000 0xff>;
> - reg-names = "mpu";
> - interrupts = <18>, /* OCP compliant interrupt */
> - <54>, /* TX interrupt */
> - <55>; /* RX interrupt */
> - interrupt-names = "common", "tx", "rx";
> - ti,buffer-size = <128>;
> - ti,hwmods = "mcbsp4";
> - dmas = <&sdma 19>,
> - <&sdma 20>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mcbsp5: mcbsp at 48096000 {
> - compatible = "ti,omap2430-mcbsp";
> - reg = <0x48096000 0xff>;
> - reg-names = "mpu";
> - interrupts = <19>, /* OCP compliant interrupt */
> - <81>, /* TX interrupt */
> - <82>; /* RX interrupt */
> - interrupt-names = "common", "tx", "rx";
> - ti,buffer-size = <128>;
> - ti,hwmods = "mcbsp5";
> - dmas = <&sdma 21>,
> - <&sdma 22>;
> - dma-names = "tx", "rx";
> - status = "disabled";
> - };
> -
> - mmc1: mmc at 4809c000 {
> - compatible = "ti,omap2-hsmmc";
> - reg = <0x4809c000 0x200>;
> - interrupts = <83>;
> - ti,hwmods = "mmc1";
> - ti,dual-volt;
> - dmas = <&sdma 61>, <&sdma 62>;
> - dma-names = "tx", "rx";
> - pbias-supply = <&pbias_mmc_reg>;
> - };
> -
> - mmc2: mmc at 480b4000 {
> - compatible = "ti,omap2-hsmmc";
> - reg = <0x480b4000 0x200>;
> - interrupts = <86>;
> - ti,hwmods = "mmc2";
> - dmas = <&sdma 47>, <&sdma 48>;
> - dma-names = "tx", "rx";
> - };
> -
> - mailbox: mailbox at 48094000 {
> - compatible = "ti,omap2-mailbox";
> - reg = <0x48094000 0x200>;
> - interrupts = <26>;
> - ti,hwmods = "mailbox";
> - #mbox-cells = <1>;
> - ti,mbox-num-users = <4>;
> - ti,mbox-num-fifos = <6>;
> - mbox_dsp: mbox-dsp {
> - ti,mbox-tx = <0 0 0>;
> - ti,mbox-rx = <1 0 0>;
> - };
> - };
> -
> - timer1_target: target-module at 49018000 {
> - compatible = "ti,sysc-omap2-timer", "ti,sysc";
> - reg = <0x49018000 0x4>,
> - <0x49018010 0x4>,
> - <0x49018014 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 0x49018000 0x1000>;
> -
> - timer1: timer at 0 {
> - compatible = "ti,omap2420-timer";
> - reg = <0 0x400>;
> - interrupts = <37>;
> - ti,timer-alwon;
> - };
> - };
> -
> - mcspi3: spi at 480b8000 {
> - compatible = "ti,omap2-mcspi";
> - ti,hwmods = "mcspi3";
> - reg = <0x480b8000 0x100>;
> - interrupts = <91>;
> - dmas = <&sdma 15 &sdma 16 &sdma 23 &sdma 24>;
> - dma-names = "tx0", "rx0", "tx1", "rx1";
> - };
> -
> - usb_otg_hs: usb_otg_hs at 480ac000 {
> - compatible = "ti,omap2-musb";
> - ti,hwmods = "usb_otg_hs";
> - reg = <0x480ac000 0x1000>;
> - interrupts = <93>;
> - };
> -
> - wd_timer2: watchdog at 49016000 {
> - compatible = "ti,omap2-wdt";
> - ti,hwmods = "wd_timer2";
> - reg = <0x49016000 0x80>;
> - };
> - };
> -};
> -
> -&sdma {
> - compatible = "ti,omap2430-sdma", "ti,omap-sdma";
> -};
> -
> -&i2c1 {
> - compatible = "ti,omap2430-i2c";
> -};
> -
> -&i2c2 {
> - compatible = "ti,omap2430-i2c";
> -};
> -
> -#include "omap24xx-clocks.dtsi"
> -#include "omap2430-clocks.dtsi"
> -
> -/* Preferred always-on timer for clockevent */
> -&timer1_target {
> - ti,no-reset-on-init;
> - ti,no-idle;
> - timer at 0 {
> - assigned-clocks = <&gpt1_fck>;
> - assigned-clock-parents = <&func_32k_ck>;
> - };
> -};
> diff --git a/arch/arm/boot/dts/ti/omap/omap24xx-clocks.dtsi b/arch/arm/boot/dts/ti/omap/omap24xx-clocks.dtsi
> deleted file mode 100644
> index 07af87edf0e2..000000000000
> --- a/arch/arm/boot/dts/ti/omap/omap24xx-clocks.dtsi
> +++ /dev/null
> @@ -1,1241 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Device Tree Source for OMAP24xx clock data
> - *
> - * Copyright (C) 2014 Texas Instruments, Inc.
> - */
> -&scm_clocks {
> - mcbsp1_mux_fck: mcbsp1_mux_fck at 4 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&mcbsp_clks>;
> - ti,bit-shift = <2>;
> - reg = <0x4>;
> - };
> -
> - mcbsp1_fck: mcbsp1_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mcbsp1_gate_fck>, <&mcbsp1_mux_fck>;
> - };
> -
> - mcbsp2_mux_fck: mcbsp2_mux_fck at 4 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_96m_ck>, <&mcbsp_clks>;
> - ti,bit-shift = <6>;
> - reg = <0x4>;
> - };
> -
> - mcbsp2_fck: mcbsp2_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&mcbsp2_gate_fck>, <&mcbsp2_mux_fck>;
> - };
> -};
> -
> -&prcm_clocks {
> - func_32k_ck: func_32k_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <32768>;
> - };
> -
> - secure_32k_ck: secure_32k_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <32768>;
> - };
> -
> - virt_12m_ck: virt_12m_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <12000000>;
> - };
> -
> - virt_13m_ck: virt_13m_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <13000000>;
> - };
> -
> - virt_19200000_ck: virt_19200000_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <19200000>;
> - };
> -
> - virt_26m_ck: virt_26m_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <26000000>;
> - };
> -
> - aplls_clkin_ck: aplls_clkin_ck at 540 {
> - #clock-cells = <0>;
> - compatible = "ti,mux-clock";
> - clocks = <&virt_19200000_ck>, <&virt_26m_ck>, <&virt_13m_ck>, <&virt_12m_ck>;
> - ti,bit-shift = <23>;
> - reg = <0x0540>;
> - };
> -
> - aplls_clkin_x2_ck: aplls_clkin_x2_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&aplls_clkin_ck>;
> - clock-mult = <2>;
> - clock-div = <1>;
> - };
> -
> - osc_ck: osc_ck at 60 {
> - #clock-cells = <0>;
> - compatible = "ti,mux-clock";
> - clocks = <&aplls_clkin_ck>, <&aplls_clkin_x2_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0060>;
> - ti,index-starts-at-one;
> - };
> -
> - sys_ck: sys_ck at 60 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&osc_ck>;
> - ti,bit-shift = <6>;
> - ti,max-div = <3>;
> - reg = <0x0060>;
> - ti,index-starts-at-one;
> - };
> -
> - alt_ck: alt_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <54000000>;
> - };
> -
> - mcbsp_clks: mcbsp_clks {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <0x0>;
> - };
> -
> - dpll_ck: dpll_ck at 500 {
> - #clock-cells = <0>;
> - compatible = "ti,omap2-dpll-core-clock";
> - clocks = <&sys_ck>, <&sys_ck>;
> - reg = <0x0500>, <0x0540>;
> - };
> -
> - apll96_ck: apll96_ck at 500 {
> - #clock-cells = <0>;
> - compatible = "ti,omap2-apll-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <2>;
> - ti,idlest-shift = <8>;
> - ti,clock-frequency = <96000000>;
> - reg = <0x0500>, <0x0530>, <0x0520>;
> - };
> -
> - apll54_ck: apll54_ck at 500 {
> - #clock-cells = <0>;
> - compatible = "ti,omap2-apll-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <6>;
> - ti,idlest-shift = <9>;
> - ti,clock-frequency = <54000000>;
> - reg = <0x0500>, <0x0530>, <0x0520>;
> - };
> -
> - func_54m_ck: func_54m_ck at 540 {
> - #clock-cells = <0>;
> - compatible = "ti,mux-clock";
> - clocks = <&apll54_ck>, <&alt_ck>;
> - ti,bit-shift = <5>;
> - reg = <0x0540>;
> - };
> -
> - core_ck: core_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&dpll_ck>;
> - clock-mult = <1>;
> - clock-div = <1>;
> - };
> -
> - func_96m_ck: func_96m_ck at 540 {
> - #clock-cells = <0>;
> - };
> -
> - apll96_d2_ck: apll96_d2_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&apll96_ck>;
> - clock-mult = <1>;
> - clock-div = <2>;
> - };
> -
> - func_48m_ck: func_48m_ck at 540 {
> - #clock-cells = <0>;
> - compatible = "ti,mux-clock";
> - clocks = <&apll96_d2_ck>, <&alt_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0540>;
> - };
> -
> - func_12m_ck: func_12m_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&func_48m_ck>;
> - clock-mult = <1>;
> - clock-div = <4>;
> - };
> -
> - sys_clkout_src_gate: sys_clkout_src_gate at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-no-wait-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <7>;
> - reg = <0x0070>;
> - };
> -
> - sys_clkout_src_mux: sys_clkout_src_mux at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&core_ck>, <&sys_ck>, <&func_96m_ck>, <&func_54m_ck>;
> - reg = <0x0070>;
> - };
> -
> - sys_clkout_src: sys_clkout_src {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&sys_clkout_src_gate>, <&sys_clkout_src_mux>;
> - };
> -
> - sys_clkout: sys_clkout at 70 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&sys_clkout_src>;
> - ti,bit-shift = <3>;
> - ti,max-div = <64>;
> - reg = <0x0070>;
> - ti,index-power-of-two;
> - };
> -
> - emul_ck: emul_ck at 78 {
> - #clock-cells = <0>;
> - compatible = "ti,gate-clock";
> - clocks = <&func_54m_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0078>;
> - };
> -
> - mpu_ck: mpu_ck at 140 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&core_ck>;
> - ti,max-div = <31>;
> - reg = <0x0140>;
> - ti,index-starts-at-one;
> - };
> -
> - dsp_gate_fck: dsp_gate_fck at 800 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0800>;
> - };
> -
> - dsp_div_fck: dsp_div_fck at 840 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_ck>;
> - reg = <0x0840>;
> - };
> -
> - dsp_fck: dsp_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&dsp_gate_fck>, <&dsp_div_fck>;
> - };
> -
> - core_l3_ck: core_l3_ck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&core_ck>;
> - ti,max-div = <31>;
> - reg = <0x0240>;
> - ti,index-starts-at-one;
> - };
> -
> - gfx_3d_gate_fck: gfx_3d_gate_fck at 300 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0300>;
> - };
> -
> - gfx_3d_div_fck: gfx_3d_div_fck at 340 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_l3_ck>;
> - ti,max-div = <4>;
> - reg = <0x0340>;
> - ti,index-starts-at-one;
> - };
> -
> - gfx_3d_fck: gfx_3d_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gfx_3d_gate_fck>, <&gfx_3d_div_fck>;
> - };
> -
> - gfx_2d_gate_fck: gfx_2d_gate_fck at 300 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0300>;
> - };
> -
> - gfx_2d_div_fck: gfx_2d_div_fck at 340 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_l3_ck>;
> - ti,max-div = <4>;
> - reg = <0x0340>;
> - ti,index-starts-at-one;
> - };
> -
> - gfx_2d_fck: gfx_2d_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gfx_2d_gate_fck>, <&gfx_2d_div_fck>;
> - };
> -
> - gfx_ick: gfx_ick at 310 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0310>;
> - };
> -
> - l4_ck: l4_ck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,divider-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <5>;
> - ti,max-div = <3>;
> - reg = <0x0240>;
> - ti,index-starts-at-one;
> - };
> -
> - dss_ick: dss_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-no-wait-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0210>;
> - };
> -
> - dss1_gate_fck: dss1_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-no-wait-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0200>;
> - };
> -
> - core_d2_ck: core_d2_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <2>;
> - };
> -
> - core_d3_ck: core_d3_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <3>;
> - };
> -
> - core_d4_ck: core_d4_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <4>;
> - };
> -
> - core_d5_ck: core_d5_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <5>;
> - };
> -
> - core_d6_ck: core_d6_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <6>;
> - };
> -
> - dummy_ck: dummy_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <0>;
> - };
> -
> - core_d8_ck: core_d8_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <8>;
> - };
> -
> - core_d9_ck: core_d9_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <9>;
> - };
> -
> - core_d12_ck: core_d12_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <12>;
> - };
> -
> - core_d16_ck: core_d16_ck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_ck>;
> - clock-mult = <1>;
> - clock-div = <16>;
> - };
> -
> - dss1_mux_fck: dss1_mux_fck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&sys_ck>, <&core_ck>, <&core_d2_ck>, <&core_d3_ck>, <&core_d4_ck>, <&core_d5_ck>, <&core_d6_ck>, <&core_d8_ck>, <&core_d9_ck>, <&core_d12_ck>, <&core_d16_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0240>;
> - };
> -
> - dss1_fck: dss1_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&dss1_gate_fck>, <&dss1_mux_fck>;
> - };
> -
> - dss2_gate_fck: dss2_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-no-wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0200>;
> - };
> -
> - dss2_mux_fck: dss2_mux_fck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&sys_ck>, <&func_48m_ck>;
> - ti,bit-shift = <13>;
> - reg = <0x0240>;
> - };
> -
> - dss2_fck: dss2_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&dss2_gate_fck>, <&dss2_mux_fck>;
> - };
> -
> - dss_54m_fck: dss_54m_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_54m_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0200>;
> - };
> -
> - ssi_ssr_sst_gate_fck: ssi_ssr_sst_gate_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0204>;
> - };
> -
> - ssi_ssr_sst_div_fck: ssi_ssr_sst_div_fck at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_ck>;
> - ti,bit-shift = <20>;
> - reg = <0x0240>;
> - };
> -
> - ssi_ssr_sst_fck: ssi_ssr_sst_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&ssi_ssr_sst_gate_fck>, <&ssi_ssr_sst_div_fck>;
> - };
> -
> - usb_l4_gate_ick: usb_l4_gate_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-interface-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0214>;
> - };
> -
> - usb_l4_div_ick: usb_l4_div_ick at 240 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-divider-clock";
> - clocks = <&core_l3_ck>;
> - ti,bit-shift = <25>;
> - reg = <0x0240>;
> - ti,dividers = <0>, <1>, <2>, <0>, <4>;
> - };
> -
> - usb_l4_ick: usb_l4_ick {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
> - };
> -
> - ssi_l4_ick: ssi_l4_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0214>;
> - };
> -
> - gpt1_ick: gpt1_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0410>;
> - };
> -
> - gpt1_gate_fck: gpt1_gate_fck at 400 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0400>;
> - };
> -
> - gpt1_mux_fck: gpt1_mux_fck at 440 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - reg = <0x0440>;
> - };
> -
> - gpt1_fck: gpt1_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt1_gate_fck>, <&gpt1_mux_fck>;
> - };
> -
> - gpt2_ick: gpt2_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0210>;
> - };
> -
> - gpt2_gate_fck: gpt2_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0200>;
> - };
> -
> - gpt2_mux_fck: gpt2_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0244>;
> - };
> -
> - gpt2_fck: gpt2_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt2_gate_fck>, <&gpt2_mux_fck>;
> - };
> -
> - gpt3_ick: gpt3_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <5>;
> - reg = <0x0210>;
> - };
> -
> - gpt3_gate_fck: gpt3_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <5>;
> - reg = <0x0200>;
> - };
> -
> - gpt3_mux_fck: gpt3_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0244>;
> - };
> -
> - gpt3_fck: gpt3_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt3_gate_fck>, <&gpt3_mux_fck>;
> - };
> -
> - gpt4_ick: gpt4_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0210>;
> - };
> -
> - gpt4_gate_fck: gpt4_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0200>;
> - };
> -
> - gpt4_mux_fck: gpt4_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <6>;
> - reg = <0x0244>;
> - };
> -
> - gpt4_fck: gpt4_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt4_gate_fck>, <&gpt4_mux_fck>;
> - };
> -
> - gpt5_ick: gpt5_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <7>;
> - reg = <0x0210>;
> - };
> -
> - gpt5_gate_fck: gpt5_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <7>;
> - reg = <0x0200>;
> - };
> -
> - gpt5_mux_fck: gpt5_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0244>;
> - };
> -
> - gpt5_fck: gpt5_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt5_gate_fck>, <&gpt5_mux_fck>;
> - };
> -
> - gpt6_ick: gpt6_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0210>;
> - };
> -
> - gpt6_gate_fck: gpt6_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <8>;
> - reg = <0x0200>;
> - };
> -
> - gpt6_mux_fck: gpt6_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0244>;
> - };
> -
> - gpt6_fck: gpt6_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt6_gate_fck>, <&gpt6_mux_fck>;
> - };
> -
> - gpt7_ick: gpt7_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <9>;
> - reg = <0x0210>;
> - };
> -
> - gpt7_gate_fck: gpt7_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <9>;
> - reg = <0x0200>;
> - };
> -
> - gpt7_mux_fck: gpt7_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <12>;
> - reg = <0x0244>;
> - };
> -
> - gpt7_fck: gpt7_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt7_gate_fck>, <&gpt7_mux_fck>;
> - };
> -
> - gpt8_ick: gpt8_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0210>;
> - };
> -
> - gpt8_gate_fck: gpt8_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <10>;
> - reg = <0x0200>;
> - };
> -
> - gpt8_mux_fck: gpt8_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <14>;
> - reg = <0x0244>;
> - };
> -
> - gpt8_fck: gpt8_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt8_gate_fck>, <&gpt8_mux_fck>;
> - };
> -
> - gpt9_ick: gpt9_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <11>;
> - reg = <0x0210>;
> - };
> -
> - gpt9_gate_fck: gpt9_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <11>;
> - reg = <0x0200>;
> - };
> -
> - gpt9_mux_fck: gpt9_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <16>;
> - reg = <0x0244>;
> - };
> -
> - gpt9_fck: gpt9_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt9_gate_fck>, <&gpt9_mux_fck>;
> - };
> -
> - gpt10_ick: gpt10_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <12>;
> - reg = <0x0210>;
> - };
> -
> - gpt10_gate_fck: gpt10_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <12>;
> - reg = <0x0200>;
> - };
> -
> - gpt10_mux_fck: gpt10_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <18>;
> - reg = <0x0244>;
> - };
> -
> - gpt10_fck: gpt10_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt10_gate_fck>, <&gpt10_mux_fck>;
> - };
> -
> - gpt11_ick: gpt11_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <13>;
> - reg = <0x0210>;
> - };
> -
> - gpt11_gate_fck: gpt11_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <13>;
> - reg = <0x0200>;
> - };
> -
> - gpt11_mux_fck: gpt11_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <20>;
> - reg = <0x0244>;
> - };
> -
> - gpt11_fck: gpt11_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt11_gate_fck>, <&gpt11_mux_fck>;
> - };
> -
> - gpt12_ick: gpt12_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <14>;
> - reg = <0x0210>;
> - };
> -
> - gpt12_gate_fck: gpt12_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <14>;
> - reg = <0x0200>;
> - };
> -
> - gpt12_mux_fck: gpt12_mux_fck at 244 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-mux-clock";
> - clocks = <&func_32k_ck>, <&sys_ck>, <&alt_ck>;
> - ti,bit-shift = <22>;
> - reg = <0x0244>;
> - };
> -
> - gpt12_fck: gpt12_fck {
> - #clock-cells = <0>;
> - compatible = "ti,composite-clock";
> - clocks = <&gpt12_gate_fck>, <&gpt12_mux_fck>;
> - };
> -
> - mcbsp1_ick: mcbsp1_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <15>;
> - reg = <0x0210>;
> - };
> -
> - mcbsp1_gate_fck: mcbsp1_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&mcbsp_clks>;
> - ti,bit-shift = <15>;
> - reg = <0x0200>;
> - };
> -
> - mcbsp2_ick: mcbsp2_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <16>;
> - reg = <0x0210>;
> - };
> -
> - mcbsp2_gate_fck: mcbsp2_gate_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,composite-gate-clock";
> - clocks = <&mcbsp_clks>;
> - ti,bit-shift = <16>;
> - reg = <0x0200>;
> - };
> -
> - mcspi1_ick: mcspi1_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <17>;
> - reg = <0x0210>;
> - };
> -
> - mcspi1_fck: mcspi1_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <17>;
> - reg = <0x0200>;
> - };
> -
> - mcspi2_ick: mcspi2_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <18>;
> - reg = <0x0210>;
> - };
> -
> - mcspi2_fck: mcspi2_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <18>;
> - reg = <0x0200>;
> - };
> -
> - uart1_ick: uart1_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <21>;
> - reg = <0x0210>;
> - };
> -
> - uart1_fck: uart1_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <21>;
> - reg = <0x0200>;
> - };
> -
> - uart2_ick: uart2_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <22>;
> - reg = <0x0210>;
> - };
> -
> - uart2_fck: uart2_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <22>;
> - reg = <0x0200>;
> - };
> -
> - uart3_ick: uart3_ick at 214 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0214>;
> - };
> -
> - uart3_fck: uart3_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0204>;
> - };
> -
> - gpios_ick: gpios_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0410>;
> - };
> -
> - gpios_fck: gpios_fck at 400 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x0400>;
> - };
> -
> - mpu_wdt_ick: mpu_wdt_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0410>;
> - };
> -
> - mpu_wdt_fck: mpu_wdt_fck at 400 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x0400>;
> - };
> -
> - sync_32k_ick: sync_32k_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x0410>;
> - };
> -
> - wdt1_ick: wdt1_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x0410>;
> - };
> -
> - omapctrl_ick: omapctrl_ick at 410 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&sys_ck>;
> - ti,bit-shift = <5>;
> - reg = <0x0410>;
> - };
> -
> - cam_fck: cam_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <31>;
> - reg = <0x0200>;
> - };
> -
> - cam_ick: cam_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-no-wait-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <31>;
> - reg = <0x0210>;
> - };
> -
> - mailboxes_ick: mailboxes_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <30>;
> - reg = <0x0210>;
> - };
> -
> - wdt4_ick: wdt4_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <29>;
> - reg = <0x0210>;
> - };
> -
> - wdt4_fck: wdt4_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_32k_ck>;
> - ti,bit-shift = <29>;
> - reg = <0x0200>;
> - };
> -
> - mspro_ick: mspro_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <27>;
> - reg = <0x0210>;
> - };
> -
> - mspro_fck: mspro_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_96m_ck>;
> - ti,bit-shift = <27>;
> - reg = <0x0200>;
> - };
> -
> - fac_ick: fac_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <25>;
> - reg = <0x0210>;
> - };
> -
> - fac_fck: fac_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_12m_ck>;
> - ti,bit-shift = <25>;
> - reg = <0x0200>;
> - };
> -
> - hdq_ick: hdq_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <23>;
> - reg = <0x0210>;
> - };
> -
> - hdq_fck: hdq_fck at 200 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_12m_ck>;
> - ti,bit-shift = <23>;
> - reg = <0x0200>;
> - };
> -
> - i2c1_ick: i2c1_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <19>;
> - reg = <0x0210>;
> - };
> -
> - i2c2_ick: i2c2_ick at 210 {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <20>;
> - reg = <0x0210>;
> - };
> -
> - gpmc_fck: gpmc_fck at 238 {
> - #clock-cells = <0>;
> - compatible = "ti,fixed-factor-clock";
> - clocks = <&core_l3_ck>;
> - ti,clock-div = <1>;
> - ti,autoidle-shift = <1>;
> - reg = <0x0238>;
> - ti,clock-mult = <1>;
> - };
> -
> - sdma_fck: sdma_fck {
> - #clock-cells = <0>;
> - compatible = "fixed-factor-clock";
> - clocks = <&core_l3_ck>;
> - clock-mult = <1>;
> - clock-div = <1>;
> - };
> -
> - sdma_ick: sdma_ick at 238 {
> - #clock-cells = <0>;
> - compatible = "ti,fixed-factor-clock";
> - clocks = <&core_l3_ck>;
> - ti,clock-div = <1>;
> - ti,autoidle-shift = <0>;
> - reg = <0x0238>;
> - ti,clock-mult = <1>;
> - };
> -
> - sdrc_ick: sdrc_ick at 238 {
> - #clock-cells = <0>;
> - compatible = "ti,fixed-factor-clock";
> - clocks = <&core_l3_ck>;
> - ti,clock-div = <1>;
> - ti,autoidle-shift = <2>;
> - reg = <0x0238>;
> - ti,clock-mult = <1>;
> - };
> -
> - des_ick: des_ick at 21c {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x021c>;
> - };
> -
> - sha_ick: sha_ick at 21c {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <1>;
> - reg = <0x021c>;
> - };
> -
> - rng_ick: rng_ick at 21c {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <2>;
> - reg = <0x021c>;
> - };
> -
> - aes_ick: aes_ick at 21c {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <3>;
> - reg = <0x021c>;
> - };
> -
> - pka_ick: pka_ick at 21c {
> - #clock-cells = <0>;
> - compatible = "ti,omap3-interface-clock";
> - clocks = <&l4_ck>;
> - ti,bit-shift = <4>;
> - reg = <0x021c>;
> - };
> -
> - usb_fck: usb_fck at 204 {
> - #clock-cells = <0>;
> - compatible = "ti,wait-gate-clock";
> - clocks = <&func_48m_ck>;
> - ti,bit-shift = <0>;
> - reg = <0x0204>;
> - };
> -};
> diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
> index f827f89567fd..2e9597f50c58 100644
> --- a/arch/arm/configs/omap2plus_defconfig
> +++ b/arch/arm/configs/omap2plus_defconfig
> @@ -22,9 +22,7 @@ CONFIG_NAMESPACES=y
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_EXPERT=y
> CONFIG_PROFILING=y
> -CONFIG_ARCH_MULTI_V6=y
> CONFIG_OMAP_RESET_CLOCKS=y
> -CONFIG_ARCH_OMAP2=y
> CONFIG_ARCH_OMAP3=y
> CONFIG_ARCH_OMAP4=y
> CONFIG_SOC_OMAP5=y
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 79f8afe3a6bf..37ecbfc0a19f 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -5,15 +5,6 @@ menu "TI OMAP/AM/DM/DRA Family"
> config OMAP_HWMOD
> bool
>
> -config ARCH_OMAP2
> - bool "TI OMAP2"
> - depends on ARCH_MULTI_V6
> - depends on !SMP
> - select ARCH_OMAP2PLUS
> - select CPU_ARM1136R0
> - select OMAP_HWMOD
> - select SOC_HAS_OMAP2_SDRC
> -
> config ARCH_OMAP3
> bool "TI OMAP3"
> depends on ARCH_MULTI_V7
> @@ -118,7 +109,7 @@ config ARCH_OMAP2PLUS
> select OMAP_IRQCHIP
> select CLKSRC_TI_32K
> help
> - Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
> + Systems based on OMAP3, OMAP4 or OMAP5
>
> config OMAP_INTERCONNECT_BARRIER
> bool
> @@ -129,7 +120,7 @@ config ARCH_OMAP
>
> if ARCH_OMAP2PLUS
>
> -menu "TI OMAP2/3/4 Specific Features"
> +menu "TI OMAP3/4 Specific Features"
>
> config ARCH_OMAP2PLUS_TYPICAL
> bool "Typical OMAP configuration"
> @@ -138,8 +129,7 @@ config ARCH_OMAP2PLUS_TYPICAL
> select HIGHMEM
> select I2C
> select I2C_OMAP
> - select MENELAUS if ARCH_OMAP2
> - select NEON if CPU_V7
> + select NEON
> select REGULATOR
> select REGULATOR_FIXED_VOLTAGE
> select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
> @@ -204,27 +194,7 @@ config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
> PPA routine service ID for setting L2 auxiliary control register.
>
> comment "OMAP Core Type"
> - depends on ARCH_OMAP2
> -
> -config SOC_OMAP2420
> - bool "OMAP2420 support (DEPRECATED)"
> - depends on ARCH_OMAP2
> - default y
> - select OMAP_DM_SYSTIMER
> - select OMAP_DM_TIMER
> - select SOC_HAS_OMAP2_SDRC
> - help
> - This SoC is scheduled for removal in early 2027,
> - since it uses the ARM1136r0 CPU revision.
> -
> -config SOC_OMAP2430
> - bool "OMAP2430 support (DEPRECATED)"
> - depends on ARCH_OMAP2
> - default y
> - select SOC_HAS_OMAP2_SDRC
> - help
> - This SoC is scheduled for removal in early 2027,
> - since it uses the ARM1136r0 CPU revision.
> + depends on ARCH_OMAP3
>
> config SOC_OMAP3430
> bool "OMAP3430 support"
> @@ -237,33 +207,9 @@ config SOC_TI81XX
> depends on ARCH_OMAP3
> default y
>
> -comment "OMAP Legacy Platform Data Board Type"
> - depends on ARCH_OMAP2PLUS
> -
> config MACH_OMAP_GENERIC
> bool
>
> -config MACH_OMAP2_TUSB6010
> - bool
> - depends on ARCH_OMAP2 && SOC_OMAP2420
> - default y if MACH_NOKIA_N8X0
> -
> -config MACH_NOKIA_N810
> - bool
> -
> -config MACH_NOKIA_N810_WIMAX
> - bool
> -
> -config MACH_NOKIA_N8X0
> - bool "Nokia N800/N810 (DEPRECATED)"
> - depends on SOC_OMAP2420
> - default y
> - select MACH_NOKIA_N810
> - select MACH_NOKIA_N810_WIMAX
> - help
> - This machine is scheduled for removal in early 2027,
> - since it uses the ARM1136r0 CPU revision.
> -
> endmenu
>
> endif
> diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
> index daf21127c82f..6c741442dc0d 100644
> --- a/arch/arm/mach-omap2/Makefile
> +++ b/arch/arm/mach-omap2/Makefile
> @@ -5,23 +5,17 @@
>
> # Common support
> obj-y := id.o io.o control.o devices.o fb.o pm.o \
> - common.o dma.o omap-headsmp.o sram.o
> + common.o dma.o omap-headsmp.o
>
> -hwmod-common = omap_hwmod.o \
> +# OMAP3 hwmod specific
> +obj-$(CONFIG_ARCH_OMAP3) += sram.o omap_hwmod.o \
> omap_hwmod_common_data.o \
> omap_hwmod_common_ipblock_data.o \
> omap_device.o display.o hdq1w.o \
> i2c.o wd_timer.o
> -clock-common = clock.o
> -secure-common = omap-smc.o omap-secure.o
>
> -obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
> -obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common)
> -obj-$(CONFIG_ARCH_OMAP4) += $(secure-common)
> -obj-$(CONFIG_SOC_AM33XX) += $(secure-common)
> -obj-$(CONFIG_SOC_OMAP5) += $(secure-common)
> -obj-$(CONFIG_SOC_AM43XX) += $(secure-common)
> -obj-$(CONFIG_SOC_DRA7XX) += $(secure-common)
> +# secure world
> +obj-y += omap-smc.o omap-secure.o
>
> ifneq ($(CONFIG_SND_SOC_OMAP_MCBSP),)
> obj-$(CONFIG_OMAP_HWMOD) += mcbsp.o
> @@ -49,13 +43,7 @@ omap5-dra7-common-$(CONFIG_SOC_HAS_REALTIME_COUNTER) = timer.o
> obj-$(CONFIG_SOC_OMAP5) += $(omap5-dra7-common-y)
> obj-$(CONFIG_SOC_DRA7XX) += $(omap5-dra7-common-y)
>
> -# Functions loaded to SRAM
> -obj-$(CONFIG_SOC_OMAP2420) += sram242x.o
> -obj-$(CONFIG_SOC_OMAP2430) += sram243x.o
> -
> # Restart code (OMAP4/5 currently in omap4-common.c)
> -obj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o
> -obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o
> obj-$(CONFIG_SOC_TI81XX) += ti81xx-restart.o
> obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o
> obj-$(CONFIG_SOC_AM43XX) += omap4-restart.o
> @@ -65,7 +53,6 @@ obj-$(CONFIG_SOC_OMAP5) += omap4-restart.o
> obj-$(CONFIG_SOC_DRA7XX) += omap4-restart.o
>
> # SMS/SDRC
> -obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o
> # obj-$(CONFIG_ARCH_OMAP3) += sdrc3xxx.o
>
> # OPP table initialization
> @@ -80,7 +67,6 @@ obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-pm-common)
> obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-pm-common)
>
> ifeq ($(CONFIG_PM),y)
> -obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
> obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
> omap-4-5-pm-common += pm44xx.o
> obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-pm-common)
> @@ -105,7 +91,6 @@ endif
>
> # PRCM
> obj-y += prm_common.o cm_common.o
> -obj-$(CONFIG_ARCH_OMAP2) += prm2xxx_3xxx.o prm2xxx.o cm2xxx.o
> obj-$(CONFIG_ARCH_OMAP3) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o
> obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o
> omap-prcm-4-5-common = cminst44xx.o prm44xx.o \
> @@ -122,8 +107,6 @@ obj-$(CONFIG_SOC_AM43XX) += $(omap-prcm-4-5-common) \
>
> # OMAP voltage domains
> voltagedomain-common := voltage.o vc.o vp.o
> -obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common)
> -obj-$(CONFIG_ARCH_OMAP2) += voltagedomains2xxx_data.o
> obj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common)
> obj-$(CONFIG_ARCH_OMAP3) += voltagedomains3xxx_data.o
> obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common)
> @@ -136,9 +119,6 @@ obj-$(CONFIG_SOC_DRA7XX) += $(voltagedomain-common)
>
> # OMAP powerdomain framework
> powerdomain-common += powerdomain.o powerdomain-common.o
> -obj-$(CONFIG_ARCH_OMAP2) += $(powerdomain-common)
> -obj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_data.o
> -obj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_3xxx_data.o
> obj-$(CONFIG_ARCH_OMAP3) += $(powerdomain-common)
> obj-$(CONFIG_ARCH_OMAP3) += powerdomains3xxx_data.o
> obj-$(CONFIG_ARCH_OMAP3) += powerdomains2xxx_3xxx_data.o
> @@ -155,10 +135,6 @@ obj-$(CONFIG_SOC_DRA7XX) += powerdomains7xx_data.o
>
> # PRCM clockdomain control
> clockdomain-common += clockdomain.o
> -obj-$(CONFIG_ARCH_OMAP2) += $(clockdomain-common)
> -obj-$(CONFIG_ARCH_OMAP2) += clockdomains2xxx_3xxx_data.o
> -obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o
> obj-$(CONFIG_ARCH_OMAP3) += $(clockdomain-common)
> obj-$(CONFIG_ARCH_OMAP3) += clockdomains2xxx_3xxx_data.o
> obj-$(CONFIG_ARCH_OMAP3) += clockdomains3xxx_data.o
> @@ -176,47 +152,20 @@ obj-$(CONFIG_SOC_DRA7XX) += $(clockdomain-common)
> obj-$(CONFIG_SOC_DRA7XX) += clockdomains7xx_data.o
>
> # Clock framework
> -obj-$(CONFIG_ARCH_OMAP2) += $(clock-common)
> -obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpllcore.o
> -obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_virt_prcm_set.o
> -obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpll.o
> -obj-$(CONFIG_ARCH_OMAP3) += $(clock-common)
> -obj-$(CONFIG_ARCH_OMAP4) += $(clock-common)
> -obj-$(CONFIG_SOC_AM33XX) += $(clock-common)
> -obj-$(CONFIG_SOC_OMAP5) += $(clock-common)
> -obj-$(CONFIG_SOC_DRA7XX) += $(clock-common)
> -obj-$(CONFIG_SOC_AM43XX) += $(clock-common)
> -
> -# OMAP2 clock rate set data (old "OPP" data)
> -obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o
> +obj-y += clock.o
>
> # hwmod data
> -obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_ipblock_data.o
> -obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_ipblock_data.o
> -obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_interconnect_data.o
> -obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2420_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_ipblock_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_3xxx_ipblock_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_interconnect_data.o
> -obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o
> obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_ipblock_data.o
> obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o
> obj-$(CONFIG_SOC_TI81XX) += omap_hwmod_81xx_data.o
>
> -# OMAP2420 MSDI controller integration support ("MMC")
> -obj-$(CONFIG_SOC_OMAP2420) += msdi.o
> -
> # Specific board support
> obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o pdata-quirks.o
> -obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
>
> # Platform specific device init code
>
> obj-y += omap_phy_internal.o
>
> -obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o
> -
> $(obj)/pm-asm-offsets.h: $(obj)/pm-asm-offsets.s FORCE
> $(call filechk,offsets,__TI_PM_ASM_OFFSETS_H__)
>
> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
> index bff673e932fe..972b8cf0547f 100644
> --- a/arch/arm/mach-omap2/board-generic.c
> +++ b/arch/arm/mach-omap2/board-generic.c
> @@ -45,40 +45,6 @@ void tick_broadcast(const struct cpumask *mask)
> }
> #endif
>
> -#ifdef CONFIG_SOC_OMAP2420
> -static const char *const omap242x_boards_compat[] __initconst = {
> - "ti,omap2420",
> - NULL,
> -};
> -
> -DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)")
> - .reserve = omap_reserve,
> - .map_io = omap242x_map_io,
> - .init_early = omap2420_init_early,
> - .init_machine = omap_generic_init,
> - .init_time = omap_init_time_of,
> - .dt_compat = omap242x_boards_compat,
> - .restart = omap2xxx_restart,
> -MACHINE_END
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -static const char *const omap243x_boards_compat[] __initconst = {
> - "ti,omap2430",
> - NULL,
> -};
> -
> -DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)")
> - .reserve = omap_reserve,
> - .map_io = omap243x_map_io,
> - .init_early = omap2430_init_early,
> - .init_machine = omap_generic_init,
> - .init_time = omap_init_time_of,
> - .dt_compat = omap243x_boards_compat,
> - .restart = omap2xxx_restart,
> -MACHINE_END
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> /* Some boards need board name for legacy userspace in /proc/cpuinfo */
> static const char *const n900_boards_compat[] __initconst = {
> diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
> deleted file mode 100644
> index d9acd32c5457..000000000000
> --- a/arch/arm/mach-omap2/board-n8x0.c
> +++ /dev/null
> @@ -1,512 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * linux/arch/arm/mach-omap2/board-n8x0.c
> - *
> - * Copyright (C) 2005-2009 Nokia Corporation
> - * Author: Juha Yrjola <juha.yrjola at nokia.com>
> - *
> - * Modified from mach-omap2/board-generic.c
> - */
> -
> -#include <linux/clk.h>
> -#include <linux/delay.h>
> -#include <linux/gpio/machine.h>
> -#include <linux/gpio/consumer.h>
> -#include <linux/init.h>
> -#include <linux/io.h>
> -#include <linux/irq.h>
> -#include <linux/stddef.h>
> -#include <linux/i2c.h>
> -#include <linux/spi/spi.h>
> -#include <linux/usb/musb.h>
> -#include <linux/mmc/host.h>
> -#include <linux/platform_data/mmc-omap.h>
> -#include <linux/mfd/menelaus.h>
> -
> -#include <asm/mach/arch.h>
> -#include <asm/mach-types.h>
> -
> -#include "common.h"
> -#include "mmc.h"
> -#include "usb-tusb6010.h"
> -#include "soc.h"
> -#include "common-board-devices.h"
> -
> -#define TUSB6010_ASYNC_CS 1
> -#define TUSB6010_SYNC_CS 4
> -#define TUSB6010_DMACHAN 0x3f
> -
> -#define NOKIA_N810_WIMAX (1 << 2)
> -#define NOKIA_N810 (1 << 1)
> -#define NOKIA_N800 (1 << 0)
> -
> -static u32 board_caps;
> -
> -#define board_is_n800() (board_caps & NOKIA_N800)
> -#define board_is_n810() (board_caps & NOKIA_N810)
> -#define board_is_n810_wimax() (board_caps & NOKIA_N810_WIMAX)
> -
> -static void board_check_revision(void)
> -{
> - if (of_machine_is_compatible("nokia,n800"))
> - board_caps = NOKIA_N800;
> - else if (of_machine_is_compatible("nokia,n810"))
> - board_caps = NOKIA_N810;
> - else if (of_machine_is_compatible("nokia,n810-wimax"))
> - board_caps = NOKIA_N810_WIMAX;
> -
> - if (!board_caps)
> - pr_err("Unknown board\n");
> -}
> -
> -#if IS_ENABLED(CONFIG_USB_MUSB_TUSB6010)
> -
> -static struct musb_hdrc_config musb_config = {
> - .multipoint = 1,
> - .dyn_fifo = 1,
> - .num_eps = 16,
> - .ram_bits = 12,
> -};
> -
> -static struct musb_hdrc_platform_data tusb_data = {
> - .mode = MUSB_OTG,
> - .min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */
> - .power = 100, /* Max 100 mA VBUS for host mode */
> - .config = &musb_config,
> -};
> -
> -static struct gpiod_lookup_table tusb_gpio_table = {
> - .dev_id = "musb-tusb",
> - .table = {
> - GPIO_LOOKUP("gpio-0-31", 0, "enable", GPIO_ACTIVE_HIGH),
> - GPIO_LOOKUP("gpio-32-63", 26, "int", GPIO_ACTIVE_HIGH),
> - { }
> - },
> -};
> -
> -static void __init n8x0_usb_init(void)
> -{
> - int ret = 0;
> -
> - gpiod_add_lookup_table(&tusb_gpio_table);
> - ret = tusb6010_setup_interface(&tusb_data, TUSB6010_REFCLK_19, 2,
> - TUSB6010_ASYNC_CS, TUSB6010_SYNC_CS,
> - TUSB6010_DMACHAN);
> - if (ret != 0)
> - return;
> -
> - pr_info("TUSB 6010\n");
> -
> - return;
> -}
> -#else
> -
> -static void __init n8x0_usb_init(void) {}
> -
> -#endif /*CONFIG_USB_MUSB_TUSB6010 */
> -
> -#if defined(CONFIG_MENELAUS) && IS_ENABLED(CONFIG_MMC_OMAP)
> -
> -/*
> - * On both N800 and N810, only the first of the two MMC controllers is in use.
> - * The two MMC slots are multiplexed via Menelaus companion chip over I2C.
> - * On N800, both slots are powered via Menelaus. On N810, only one of the
> - * slots is powered via Menelaus. The N810 EMMC is powered via GPIO.
> - *
> - * VMMC slot 1 on both N800 and N810
> - * VDCDC3_APE and VMCS2_APE slot 2 on N800
> - * GPIO23 and GPIO9 slot 2 EMMC on N810
> - *
> - */
> -static int slot1_cover_open;
> -static int slot2_cover_open;
> -static struct device *mmc_device;
> -
> -static struct gpiod_lookup_table nokia800_mmc_gpio_table = {
> - .dev_id = "mmci-omap.0",
> - .table = {
> - /* Slot switch, GPIO 96 */
> - GPIO_LOOKUP("gpio-96-127", 0, "switch", GPIO_ACTIVE_HIGH),
> - { }
> - },
> -};
> -
> -static struct gpiod_lookup_table nokia810_mmc_gpio_table = {
> - .dev_id = "mmci-omap.0",
> - .table = {
> - /* Slot switch, GPIO 96 */
> - GPIO_LOOKUP("gpio-96-127", 0, "switch", GPIO_ACTIVE_HIGH),
> - /* Slot index 1, VSD power, GPIO 23 */
> - GPIO_LOOKUP_IDX("gpio-0-31", 23, "vsd", 1, GPIO_ACTIVE_HIGH),
> - /* Slot index 1, VIO power, GPIO 9 */
> - GPIO_LOOKUP_IDX("gpio-0-31", 9, "vio", 1, GPIO_ACTIVE_HIGH),
> - { }
> - },
> -};
> -
> -static int n8x0_mmc_set_power_menelaus(struct device *dev, int slot,
> - int power_on, int vdd)
> -{
> - int mV;
> -
> -#ifdef CONFIG_MMC_DEBUG
> - dev_dbg(dev, "Set slot %d power: %s (vdd %d)\n", slot + 1,
> - str_on_off(power_on), vdd);
> -#endif
> - if (slot == 0) {
> - if (!power_on)
> - return menelaus_set_vmmc(0);
> - switch (1 << vdd) {
> - case MMC_VDD_33_34:
> - case MMC_VDD_32_33:
> - case MMC_VDD_31_32:
> - mV = 3100;
> - break;
> - case MMC_VDD_30_31:
> - mV = 3000;
> - break;
> - case MMC_VDD_28_29:
> - mV = 2800;
> - break;
> - case MMC_VDD_165_195:
> - mV = 1850;
> - break;
> - default:
> - BUG();
> - }
> - return menelaus_set_vmmc(mV);
> - } else {
> - if (!power_on)
> - return menelaus_set_vdcdc(3, 0);
> - switch (1 << vdd) {
> - case MMC_VDD_33_34:
> - case MMC_VDD_32_33:
> - mV = 3300;
> - break;
> - case MMC_VDD_30_31:
> - case MMC_VDD_29_30:
> - mV = 3000;
> - break;
> - case MMC_VDD_28_29:
> - case MMC_VDD_27_28:
> - mV = 2800;
> - break;
> - case MMC_VDD_24_25:
> - case MMC_VDD_23_24:
> - mV = 2400;
> - break;
> - case MMC_VDD_22_23:
> - case MMC_VDD_21_22:
> - mV = 2200;
> - break;
> - case MMC_VDD_20_21:
> - mV = 2000;
> - break;
> - case MMC_VDD_165_195:
> - mV = 1800;
> - break;
> - default:
> - BUG();
> - }
> - return menelaus_set_vdcdc(3, mV);
> - }
> - return 0;
> -}
> -
> -static int n8x0_mmc_set_power(struct device *dev, int slot, int power_on,
> - int vdd)
> -{
> - if (board_is_n800() || slot == 0)
> - return n8x0_mmc_set_power_menelaus(dev, slot, power_on, vdd);
> -
> - /* The n810 power will be handled by GPIO code in the driver */
> -
> - return 0;
> -}
> -
> -static int n8x0_mmc_set_bus_mode(struct device *dev, int slot, int bus_mode)
> -{
> - int r;
> -
> - dev_dbg(dev, "Set slot %d bus mode %s\n", slot + 1,
> - bus_mode == MMC_BUSMODE_OPENDRAIN ? "open-drain" : "push-pull");
> - BUG_ON(slot != 0 && slot != 1);
> - slot++;
> - switch (bus_mode) {
> - case MMC_BUSMODE_OPENDRAIN:
> - r = menelaus_set_mmc_opendrain(slot, 1);
> - break;
> - case MMC_BUSMODE_PUSHPULL:
> - r = menelaus_set_mmc_opendrain(slot, 0);
> - break;
> - default:
> - BUG();
> - }
> - if (r != 0 && printk_ratelimit())
> - dev_err(dev, "MMC: unable to set bus mode for slot %d\n",
> - slot);
> - return r;
> -}
> -
> -static int n8x0_mmc_get_cover_state(struct device *dev, int slot)
> -{
> - slot++;
> - BUG_ON(slot != 1 && slot != 2);
> - if (slot == 1)
> - return slot1_cover_open;
> - else
> - return slot2_cover_open;
> -}
> -
> -static void n8x0_mmc_callback(void *data, u8 card_mask)
> -{
> -#ifdef CONFIG_MMC_OMAP
> - int bit, *openp, index;
> -
> - if (board_is_n800()) {
> - bit = 1 << 1;
> - openp = &slot2_cover_open;
> - index = 1;
> - } else {
> - bit = 1;
> - openp = &slot1_cover_open;
> - index = 0;
> - }
> -
> - if (card_mask & bit)
> - *openp = 1;
> - else
> - *openp = 0;
> -
> - omap_mmc_notify_cover_event(mmc_device, index, *openp);
> -#else
> - pr_warn("MMC: notify cover event not available\n");
> -#endif
> -}
> -
> -static int n8x0_mmc_late_init(struct device *dev)
> -{
> - int r, bit, *openp;
> - int vs2sel;
> -
> - mmc_device = dev;
> -
> - r = menelaus_set_slot_sel(1);
> - if (r < 0)
> - return r;
> -
> - if (board_is_n800())
> - vs2sel = 0;
> - else
> - vs2sel = 2;
> -
> - r = menelaus_set_mmc_slot(2, 0, vs2sel, 1);
> - if (r < 0)
> - return r;
> -
> - n8x0_mmc_set_power(dev, 0, MMC_POWER_ON, 16); /* MMC_VDD_28_29 */
> - n8x0_mmc_set_power(dev, 1, MMC_POWER_ON, 16);
> -
> - r = menelaus_set_mmc_slot(1, 1, 0, 1);
> - if (r < 0)
> - return r;
> - r = menelaus_set_mmc_slot(2, 1, vs2sel, 1);
> - if (r < 0)
> - return r;
> -
> - r = menelaus_get_slot_pin_states();
> - if (r < 0)
> - return r;
> -
> - if (board_is_n800()) {
> - bit = 1 << 1;
> - openp = &slot2_cover_open;
> - } else {
> - bit = 1;
> - openp = &slot1_cover_open;
> - slot2_cover_open = 0;
> - }
> -
> - /* All slot pin bits seem to be inversed until first switch change */
> - if (r == 0xf || r == (0xf & ~bit))
> - r = ~r;
> -
> - if (r & bit)
> - *openp = 1;
> - else
> - *openp = 0;
> -
> - r = menelaus_register_mmc_callback(n8x0_mmc_callback, NULL);
> -
> - return r;
> -}
> -
> -static void n8x0_mmc_shutdown(struct device *dev)
> -{
> - int vs2sel;
> -
> - if (board_is_n800())
> - vs2sel = 0;
> - else
> - vs2sel = 2;
> -
> - menelaus_set_mmc_slot(1, 0, 0, 0);
> - menelaus_set_mmc_slot(2, 0, vs2sel, 0);
> -}
> -
> -static void n8x0_mmc_cleanup(struct device *dev)
> -{
> - menelaus_unregister_mmc_callback();
> -}
> -
> -/*
> - * MMC controller1 has two slots that are multiplexed via I2C.
> - * MMC controller2 is not in use.
> - */
> -static struct omap_mmc_platform_data mmc1_data = {
> - .nr_slots = 0,
> - .init = n8x0_mmc_late_init,
> - .cleanup = n8x0_mmc_cleanup,
> - .shutdown = n8x0_mmc_shutdown,
> - .max_freq = 24000000,
> - .slots[0] = {
> - .wires = 4,
> - .set_power = n8x0_mmc_set_power,
> - .set_bus_mode = n8x0_mmc_set_bus_mode,
> - .get_cover_state = n8x0_mmc_get_cover_state,
> - .ocr_mask = MMC_VDD_165_195 | MMC_VDD_30_31 |
> - MMC_VDD_32_33 | MMC_VDD_33_34,
> - .name = "internal",
> - },
> - .slots[1] = {
> - .set_power = n8x0_mmc_set_power,
> - .set_bus_mode = n8x0_mmc_set_bus_mode,
> - .get_cover_state = n8x0_mmc_get_cover_state,
> - .ocr_mask = MMC_VDD_165_195 | MMC_VDD_20_21 |
> - MMC_VDD_21_22 | MMC_VDD_22_23 |
> - MMC_VDD_23_24 | MMC_VDD_24_25 |
> - MMC_VDD_27_28 | MMC_VDD_28_29 |
> - MMC_VDD_29_30 | MMC_VDD_30_31 |
> - MMC_VDD_32_33 | MMC_VDD_33_34,
> - .name = "external",
> - },
> -};
> -
> -static struct omap_mmc_platform_data *mmc_data[OMAP24XX_NR_MMC];
> -
> -static void __init n8x0_mmc_init(void)
> -{
> - if (board_is_n810()) {
> - mmc1_data.slots[0].name = "external";
> -
> - /*
> - * Some Samsung Movinand chips do not like open-ended
> - * multi-block reads and fall to braind-dead state
> - * while doing so. Reducing the number of blocks in
> - * the transfer or delays in clock disable do not help
> - */
> - mmc1_data.slots[1].name = "internal";
> - mmc1_data.slots[1].ban_openended = 1;
> - gpiod_add_lookup_table(&nokia810_mmc_gpio_table);
> - } else {
> - gpiod_add_lookup_table(&nokia800_mmc_gpio_table);
> - }
> -
> - mmc1_data.nr_slots = 2;
> - mmc_data[0] = &mmc1_data;
> -}
> -#else
> -static struct omap_mmc_platform_data mmc1_data;
> -static void __init n8x0_mmc_init(void)
> -{
> -}
> -#endif /* CONFIG_MMC_OMAP */
> -
> -#ifdef CONFIG_MENELAUS
> -
> -static int n8x0_auto_sleep_regulators(void)
> -{
> - u32 val;
> - int ret;
> -
> - val = EN_VPLL_SLEEP | EN_VMMC_SLEEP \
> - | EN_VAUX_SLEEP | EN_VIO_SLEEP \
> - | EN_VMEM_SLEEP | EN_DC3_SLEEP \
> - | EN_VC_SLEEP | EN_DC2_SLEEP;
> -
> - ret = menelaus_set_regulator_sleep(1, val);
> - if (ret < 0) {
> - pr_err("Could not set regulators to sleep on menelaus: %u\n",
> - ret);
> - return ret;
> - }
> - return 0;
> -}
> -
> -static int n8x0_auto_voltage_scale(void)
> -{
> - int ret;
> -
> - ret = menelaus_set_vcore_hw(1400, 1050);
> - if (ret < 0) {
> - pr_err("Could not set VCORE voltage on menelaus: %u\n", ret);
> - return ret;
> - }
> - return 0;
> -}
> -
> -static int n8x0_menelaus_late_init(struct device *dev)
> -{
> - int ret;
> -
> - ret = n8x0_auto_voltage_scale();
> - if (ret < 0)
> - return ret;
> - ret = n8x0_auto_sleep_regulators();
> - if (ret < 0)
> - return ret;
> - return 0;
> -}
> -
> -#else
> -static int n8x0_menelaus_late_init(struct device *dev)
> -{
> - return 0;
> -}
> -#endif
> -
> -struct menelaus_platform_data n8x0_menelaus_platform_data = {
> - .late_init = n8x0_menelaus_late_init,
> -};
> -
> -static struct gpiod_lookup_table nokia810_asoc_gpio_table = {
> - .dev_id = "soc-audio",
> - .table = {
> - GPIO_LOOKUP("gpio-0-15", 10, "headset", GPIO_ACTIVE_HIGH),
> - GPIO_LOOKUP("gpio-80-111", 21, "speaker", GPIO_ACTIVE_HIGH),
> - { }
> - },
> -};
> -
> -static int __init n8x0_late_initcall(void)
> -{
> - if (!board_caps)
> - return -ENODEV;
> -
> - n8x0_mmc_init();
> - n8x0_usb_init();
> - gpiod_add_lookup_table(&nokia810_asoc_gpio_table);
> -
> - return 0;
> -}
> -omap_late_initcall(n8x0_late_initcall);
> -
> -/*
> - * Legacy init pdata init for n8x0. Note that we want to follow the
> - * I2C bus numbering starting at 0 for device tree like other omaps.
> - */
> -void * __init n8x0_legacy_init(void)
> -{
> - board_check_revision();
> - return &mmc1_data;
> -}
> diff --git a/arch/arm/mach-omap2/clkt2xxx_dpll.c b/arch/arm/mach-omap2/clkt2xxx_dpll.c
> deleted file mode 100644
> index 0edebf3355fa..000000000000
> --- a/arch/arm/mach-omap2/clkt2xxx_dpll.c
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP2-specific DPLL control functions
> - *
> - * Copyright (C) 2011 Nokia Corporation
> - * Paul Walmsley
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/errno.h>
> -#include <linux/clk.h>
> -#include <linux/io.h>
> -
> -#include "clock.h"
> -#include "cm2xxx.h"
> -#include "cm-regbits-24xx.h"
> -
> -/* Private functions */
> -
> -/**
> - * _allow_idle - enable DPLL autoidle bits
> - * @clk: struct clk * of the DPLL to operate on
> - *
> - * Enable DPLL automatic idle control. The DPLL will enter low-power
> - * stop when its downstream clocks are gated. No return value.
> - * REVISIT: DPLL can optionally enter low-power bypass by writing 0x1
> - * instead. Add some mechanism to optionally enter this mode.
> - */
> -static void _allow_idle(struct clk_hw_omap *clk)
> -{
> - if (!clk || !clk->dpll_data)
> - return;
> -
> - omap2xxx_cm_set_dpll_auto_low_power_stop();
> -}
> -
> -/**
> - * _deny_idle - prevent DPLL from automatically idling
> - * @clk: struct clk * of the DPLL to operate on
> - *
> - * Disable DPLL automatic idle control. No return value.
> - */
> -static void _deny_idle(struct clk_hw_omap *clk)
> -{
> - if (!clk || !clk->dpll_data)
> - return;
> -
> - omap2xxx_cm_set_dpll_disable_autoidle();
> -}
> -
> -
> -/* Public data */
> -const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll = {
> - .allow_idle = _allow_idle,
> - .deny_idle = _deny_idle,
> -};
> diff --git a/arch/arm/mach-omap2/clkt2xxx_dpllcore.c b/arch/arm/mach-omap2/clkt2xxx_dpllcore.c
> deleted file mode 100644
> index 93f6d3cd9525..000000000000
> --- a/arch/arm/mach-omap2/clkt2xxx_dpllcore.c
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * DPLL + CORE_CLK composite clock functions
> - *
> - * Copyright (C) 2005-2008 Texas Instruments, Inc.
> - * Copyright (C) 2004-2010 Nokia Corporation
> - *
> - * Contacts:
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - * Paul Walmsley
> - *
> - * Based on earlier work by Tuukka Tikkanen, Tony Lindgren,
> - * Gordon McNutt and RidgeRun, Inc.
> - *
> - * XXX The DPLL and CORE clocks should be split into two separate clock
> - * types.
> - */
> -#undef DEBUG
> -
> -#include <linux/kernel.h>
> -#include <linux/errno.h>
> -#include <linux/clk.h>
> -#include <linux/clk/ti.h>
> -#include <linux/io.h>
> -
> -#include "clock.h"
> -#include "clock2xxx.h"
> -#include "opp2xxx.h"
> -#include "cm2xxx.h"
> -#include "cm-regbits-24xx.h"
> -#include "sdrc.h"
> -#include "sram.h"
> -
> -/* #define DOWN_VARIABLE_DPLL 1 */ /* Experimental */
> -
> -/*
> - * dpll_core_ck: pointer to the combined dpll_ck + core_ck on OMAP2xxx
> - * (currently defined as "dpll_ck" in the OMAP2xxx clock tree). Set
> - * during dpll_ck init and used later by omap2xxx_clk_get_core_rate().
> - */
> -static struct clk_hw_omap *dpll_core_ck;
> -
> -/**
> - * omap2xxx_clk_get_core_rate - return the CORE_CLK rate
> - *
> - * Returns the CORE_CLK rate. CORE_CLK can have one of three rate
> - * sources on OMAP2xxx: the DPLL CLKOUT rate, DPLL CLKOUTX2, or 32KHz
> - * (the latter is unusual). This currently should be called with
> - * struct clk *dpll_ck, which is a composite clock of dpll_ck and
> - * core_ck.
> - */
> -unsigned long omap2xxx_clk_get_core_rate(void)
> -{
> - long long core_clk;
> - u32 v;
> -
> - WARN_ON(!dpll_core_ck);
> -
> - core_clk = omap2_get_dpll_rate(dpll_core_ck);
> -
> - v = omap2xxx_cm_get_core_clk_src();
> -
> - if (v == CORE_CLK_SRC_32K)
> - core_clk = 32768;
> - else
> - core_clk *= v;
> -
> - return core_clk;
> -}
> -
> -/*
> - * Uses the current prcm set to tell if a rate is valid.
> - * You can go slower, but not faster within a given rate set.
> - */
> -static long omap2_dpllcore_round_rate(unsigned long target_rate)
> -{
> - u32 high, low, core_clk_src;
> -
> - core_clk_src = omap2xxx_cm_get_core_clk_src();
> -
> - if (core_clk_src == CORE_CLK_SRC_DPLL) { /* DPLL clockout */
> - high = curr_prcm_set->dpll_speed * 2;
> - low = curr_prcm_set->dpll_speed;
> - } else { /* DPLL clockout x 2 */
> - high = curr_prcm_set->dpll_speed;
> - low = curr_prcm_set->dpll_speed / 2;
> - }
> -
> -#ifdef DOWN_VARIABLE_DPLL
> - if (target_rate > high)
> - return high;
> - else
> - return target_rate;
> -#else
> - if (target_rate > low)
> - return high;
> - else
> - return low;
> -#endif
> -
> -}
> -
> -unsigned long omap2_dpllcore_recalc(struct clk_hw *hw,
> - unsigned long parent_rate)
> -{
> - return omap2xxx_clk_get_core_rate();
> -}
> -
> -int omap2_reprogram_dpllcore(struct clk_hw *hw, unsigned long rate,
> - unsigned long parent_rate)
> -{
> - struct clk_hw_omap *clk = to_clk_hw_omap(hw);
> - u32 cur_rate, low, mult, div, valid_rate, done_rate;
> - u32 bypass = 0;
> - struct prcm_config tmpset;
> - const struct dpll_data *dd;
> -
> - cur_rate = omap2xxx_clk_get_core_rate();
> - mult = omap2xxx_cm_get_core_clk_src();
> -
> - if ((rate == (cur_rate / 2)) && (mult == 2)) {
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL, 1);
> - } else if ((rate == (cur_rate * 2)) && (mult == 1)) {
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL_X2, 1);
> - } else if (rate != cur_rate) {
> - valid_rate = omap2_dpllcore_round_rate(rate);
> - if (valid_rate != rate)
> - return -EINVAL;
> -
> - if (mult == 1)
> - low = curr_prcm_set->dpll_speed;
> - else
> - low = curr_prcm_set->dpll_speed / 2;
> -
> - dd = clk->dpll_data;
> - if (!dd)
> - return -EINVAL;
> -
> - tmpset.cm_clksel1_pll =
> - omap_clk_ll_ops.clk_readl(&dd->mult_div1_reg);
> - tmpset.cm_clksel1_pll &= ~(dd->mult_mask |
> - dd->div1_mask);
> - div = ((curr_prcm_set->xtal_speed / 1000000) - 1);
> - tmpset.cm_clksel2_pll = omap2xxx_cm_get_core_pll_config();
> - tmpset.cm_clksel2_pll &= ~OMAP24XX_CORE_CLK_SRC_MASK;
> - if (rate > low) {
> - tmpset.cm_clksel2_pll |= CORE_CLK_SRC_DPLL_X2;
> - mult = ((rate / 2) / 1000000);
> - done_rate = CORE_CLK_SRC_DPLL_X2;
> - } else {
> - tmpset.cm_clksel2_pll |= CORE_CLK_SRC_DPLL;
> - mult = (rate / 1000000);
> - done_rate = CORE_CLK_SRC_DPLL;
> - }
> - tmpset.cm_clksel1_pll |= (div << __ffs(dd->mult_mask));
> - tmpset.cm_clksel1_pll |= (mult << __ffs(dd->div1_mask));
> -
> - /* Worst case */
> - tmpset.base_sdrc_rfr = SDRC_RFR_CTRL_BYPASS;
> -
> - if (rate == curr_prcm_set->xtal_speed) /* If asking for 1-1 */
> - bypass = 1;
> -
> - /* For omap2xxx_sdrc_init_params() */
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL_X2, 1);
> -
> - /* Force dll lock mode */
> - omap2_set_prcm(tmpset.cm_clksel1_pll, tmpset.base_sdrc_rfr,
> - bypass);
> -
> - /* Errata: ret dll entry state */
> - omap2xxx_sdrc_init_params(omap2xxx_sdrc_dll_is_unlocked());
> - omap2xxx_sdrc_reprogram(done_rate, 0);
> - }
> -
> - return 0;
> -}
> -
> -/**
> - * omap2xxx_clkt_dpllcore_init - clk init function for dpll_ck
> - * @clk: struct clk *dpll_ck
> - *
> - * Store a local copy of @clk in dpll_core_ck so other code can query
> - * the core rate without having to clk_get(), which can sleep. Must
> - * only be called once. No return value. XXX If the clock
> - * registration process is ever changed such that dpll_ck is no longer
> - * statically defined, this code may need to change to increment some
> - * kind of use count on dpll_ck.
> - */
> -void omap2xxx_clkt_dpllcore_init(struct clk_hw *hw)
> -{
> - WARN(dpll_core_ck, "dpll_core_ck already set - should never happen");
> - dpll_core_ck = to_clk_hw_omap(hw);
> -}
> diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> deleted file mode 100644
> index 2b04e422b46c..000000000000
> --- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> +++ /dev/null
> @@ -1,259 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP2xxx DVFS virtual clock functions
> - *
> - * Copyright (C) 2005-2008, 2012 Texas Instruments, Inc.
> - * Copyright (C) 2004-2010 Nokia Corporation
> - *
> - * Contacts:
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - * Paul Walmsley
> - *
> - * Based on earlier work by Tuukka Tikkanen, Tony Lindgren,
> - * Gordon McNutt and RidgeRun, Inc.
> - *
> - * XXX Some of this code should be replaceable by the upcoming OPP layer
> - * code. However, some notion of "rate set" is probably still necessary
> - * for OMAP2xxx at least. Rate sets should be generalized so they can be
> - * used for any OMAP chip, not just OMAP2xxx. In particular, Richard Woodruff
> - * has in the past expressed a preference to use rate sets for OPP changes,
> - * rather than dynamically recalculating the clock tree, so if someone wants
> - * this badly enough to write the code to handle it, we should support it
> - * as an option.
> - */
> -#undef DEBUG
> -
> -#include <linux/kernel.h>
> -#include <linux/errno.h>
> -#include <linux/clk.h>
> -#include <linux/io.h>
> -#include <linux/cpufreq.h>
> -#include <linux/slab.h>
> -
> -#include "soc.h"
> -#include "clock.h"
> -#include "clock2xxx.h"
> -#include "opp2xxx.h"
> -#include "cm2xxx.h"
> -#include "cm-regbits-24xx.h"
> -#include "sdrc.h"
> -#include "sram.h"
> -
> -static u16 cpu_mask;
> -
> -const struct prcm_config *curr_prcm_set;
> -const struct prcm_config *rate_table;
> -
> -/*
> - * sys_ck_rate: the rate of the external high-frequency clock
> - * oscillator on the board. Set by the SoC-specific clock init code.
> - * Once set during a boot, will not change.
> - */
> -static unsigned long sys_ck_rate;
> -
> -/**
> - * omap2_table_mpu_recalc - just return the MPU speed
> - * @clk: virt_prcm_set struct clk
> - *
> - * Set virt_prcm_set's rate to the mpu_speed field of the current PRCM set.
> - */
> -static unsigned long omap2_table_mpu_recalc(struct clk_hw *clk,
> - unsigned long parent_rate)
> -{
> - return curr_prcm_set->mpu_speed;
> -}
> -
> -/*
> - * Look for a rate equal or less than the target rate given a configuration set.
> - *
> - * What's not entirely clear is "which" field represents the key field.
> - * Some might argue L3-DDR, others ARM, others IVA. This code is simple and
> - * just uses the ARM rates.
> - */
> -static int omap2_determine_rate_to_table(struct clk_hw *hw,
> - struct clk_rate_request *req)
> -{
> - const struct prcm_config *ptr;
> - long highest_rate;
> -
> - highest_rate = -EINVAL;
> -
> - for (ptr = rate_table; ptr->mpu_speed; ptr++) {
> - if (!(ptr->flags & cpu_mask))
> - continue;
> - if (ptr->xtal_speed != sys_ck_rate)
> - continue;
> -
> - highest_rate = ptr->mpu_speed;
> -
> - /* Can check only after xtal frequency check */
> - if (ptr->mpu_speed <= req->rate)
> - break;
> - }
> - req->rate = highest_rate;
> -
> - return 0;
> -}
> -
> -/* Sets basic clocks based on the specified rate */
> -static int omap2_select_table_rate(struct clk_hw *hw, unsigned long rate,
> - unsigned long parent_rate)
> -{
> - u32 cur_rate, done_rate, bypass = 0;
> - const struct prcm_config *prcm;
> - unsigned long found_speed = 0;
> - unsigned long flags;
> -
> - for (prcm = rate_table; prcm->mpu_speed; prcm++) {
> - if (!(prcm->flags & cpu_mask))
> - continue;
> -
> - if (prcm->xtal_speed != sys_ck_rate)
> - continue;
> -
> - if (prcm->mpu_speed <= rate) {
> - found_speed = prcm->mpu_speed;
> - break;
> - }
> - }
> -
> - if (!found_speed) {
> - printk(KERN_INFO "Could not set MPU rate to %luMHz\n",
> - rate / 1000000);
> - return -EINVAL;
> - }
> -
> - curr_prcm_set = prcm;
> - cur_rate = omap2xxx_clk_get_core_rate();
> -
> - if (prcm->dpll_speed == cur_rate / 2) {
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL, 1);
> - } else if (prcm->dpll_speed == cur_rate * 2) {
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL_X2, 1);
> - } else if (prcm->dpll_speed != cur_rate) {
> - local_irq_save(flags);
> -
> - if (prcm->dpll_speed == prcm->xtal_speed)
> - bypass = 1;
> -
> - if ((prcm->cm_clksel2_pll & OMAP24XX_CORE_CLK_SRC_MASK) ==
> - CORE_CLK_SRC_DPLL_X2)
> - done_rate = CORE_CLK_SRC_DPLL_X2;
> - else
> - done_rate = CORE_CLK_SRC_DPLL;
> -
> - omap2xxx_cm_set_mod_dividers(prcm->cm_clksel_mpu,
> - prcm->cm_clksel_dsp,
> - prcm->cm_clksel_gfx,
> - prcm->cm_clksel1_core,
> - prcm->cm_clksel_mdm);
> -
> - /* x2 to enter omap2xxx_sdrc_init_params() */
> - omap2xxx_sdrc_reprogram(CORE_CLK_SRC_DPLL_X2, 1);
> -
> - omap2_set_prcm(prcm->cm_clksel1_pll, prcm->base_sdrc_rfr,
> - bypass);
> -
> - omap2xxx_sdrc_init_params(omap2xxx_sdrc_dll_is_unlocked());
> - omap2xxx_sdrc_reprogram(done_rate, 0);
> -
> - local_irq_restore(flags);
> - }
> -
> - return 0;
> -}
> -
> -/**
> - * omap2xxx_clkt_vps_check_bootloader_rates - determine which of the rate
> - * table sets matches the current CORE DPLL hardware rate
> - *
> - * Check the MPU rate set by bootloader. Sets the 'curr_prcm_set'
> - * global to point to the active rate set when found; otherwise, sets
> - * it to NULL. No return value;
> - */
> -static void omap2xxx_clkt_vps_check_bootloader_rates(void)
> -{
> - const struct prcm_config *prcm = NULL;
> - unsigned long rate;
> -
> - rate = omap2xxx_clk_get_core_rate();
> - for (prcm = rate_table; prcm->mpu_speed; prcm++) {
> - if (!(prcm->flags & cpu_mask))
> - continue;
> - if (prcm->xtal_speed != sys_ck_rate)
> - continue;
> - if (prcm->dpll_speed <= rate)
> - break;
> - }
> - curr_prcm_set = prcm;
> -}
> -
> -/**
> - * omap2xxx_clkt_vps_late_init - store a copy of the sys_ck rate
> - *
> - * Store a copy of the sys_ck rate for later use by the OMAP2xxx DVFS
> - * code. (The sys_ck rate does not -- or rather, must not -- change
> - * during kernel runtime.) Must be called after we have a valid
> - * sys_ck rate, but before the virt_prcm_set clock rate is
> - * recalculated. No return value.
> - */
> -static void omap2xxx_clkt_vps_late_init(void)
> -{
> - struct clk *c;
> -
> - c = clk_get(NULL, "sys_ck");
> - if (IS_ERR(c)) {
> - WARN(1, "could not locate sys_ck\n");
> - } else {
> - sys_ck_rate = clk_get_rate(c);
> - clk_put(c);
> - }
> -}
> -
> -#ifdef CONFIG_OF
> -#include <linux/clk-provider.h>
> -#include <linux/clkdev.h>
> -
> -static const struct clk_ops virt_prcm_set_ops = {
> - .recalc_rate = &omap2_table_mpu_recalc,
> - .set_rate = &omap2_select_table_rate,
> - .determine_rate = &omap2_determine_rate_to_table,
> -};
> -
> -/**
> - * omap2xxx_clkt_vps_init - initialize virt_prcm_set clock
> - *
> - * Does a manual init for the virtual prcm DVFS clock for OMAP2. This
> - * function is called only from omap2 DT clock init, as the virtual
> - * node is not modelled in the DT clock data.
> - */
> -void omap2xxx_clkt_vps_init(void)
> -{
> - struct clk_init_data init = { NULL };
> - struct clk_hw_omap *hw = NULL;
> - struct clk *clk;
> - const char *parent_name = "mpu_ck";
> -
> - omap2xxx_clkt_vps_late_init();
> - omap2xxx_clkt_vps_check_bootloader_rates();
> -
> - hw = kzalloc_obj(*hw);
> - if (!hw)
> - return;
> - init.name = "virt_prcm_set";
> - init.ops = &virt_prcm_set_ops;
> - init.parent_names = &parent_name;
> - init.num_parents = 1;
> -
> - hw->hw.init = &init;
> -
> - clk = clk_register(NULL, &hw->hw);
> - if (IS_ERR(clk)) {
> - printk(KERN_ERR "Failed to register clock\n");
> - kfree(hw);
> - return;
> - }
> -
> - clkdev_create(clk, "cpufreq_ck", NULL);
> -}
> -#endif
> diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
> index 83fae51722a9..b73a80503da8 100644
> --- a/arch/arm/mach-omap2/clock.c
> +++ b/arch/arm/mach-omap2/clock.c
> @@ -30,9 +30,7 @@
> #include "clockdomain.h"
> #include "clock.h"
> #include "cm.h"
> -#include "cm2xxx.h"
> #include "cm3xxx.h"
> -#include "cm-regbits-24xx.h"
> #include "cm-regbits-34xx.h"
> #include "common.h"
>
> @@ -94,11 +92,7 @@ void __init ti_clk_init_features(void)
> }
>
> /* Bypass value setup for DPLLs */
> - if (cpu_is_omap24xx()) {
> - features.dpll_bypass_vals |=
> - (1 << OMAP2XXX_EN_DPLL_LPBYPASS) |
> - (1 << OMAP2XXX_EN_DPLL_FRBYPASS);
> - } else if (cpu_is_omap34xx()) {
> + if (cpu_is_omap34xx()) {
> features.dpll_bypass_vals |=
> (1 << OMAP3XXX_EN_DPLL_LPBYPASS) |
> (1 << OMAP3XXX_EN_DPLL_FRBYPASS);
> @@ -122,9 +116,7 @@ void __init ti_clk_init_features(void)
> * 34xx reverses this, just to keep us on our toes
> * AM35xx uses both, depending on the module.
> */
> - if (cpu_is_omap24xx())
> - features.cm_idlest_val = OMAP24XX_CM_IDLEST_VAL;
> - else if (cpu_is_omap34xx())
> + if (cpu_is_omap34xx())
> features.cm_idlest_val = OMAP34XX_CM_IDLEST_VAL;
>
> /* On OMAP3430 ES1.0, DPLL4 can't be re-programmed */
> diff --git a/arch/arm/mach-omap2/clock2xxx.h b/arch/arm/mach-omap2/clock2xxx.h
> deleted file mode 100644
> index 73c011dadfd2..000000000000
> --- a/arch/arm/mach-omap2/clock2xxx.h
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/*
> - * OMAP2 clock function prototypes and macros
> - *
> - * Copyright (C) 2005-2010 Texas Instruments, Inc.
> - * Copyright (C) 2004-2010 Nokia Corporation
> - */
> -
> -#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK2XXX_H
> -#define __ARCH_ARM_MACH_OMAP2_CLOCK2XXX_H
> -
> -#include <linux/clk-provider.h>
> -#include "clock.h"
> -
> -unsigned long omap2xxx_clk_get_core_rate(void);
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
> index 69dc5b839335..4b5ae1f40d50 100644
> --- a/arch/arm/mach-omap2/clockdomain.c
> +++ b/arch/arm/mach-omap2/clockdomain.c
> @@ -1213,7 +1213,7 @@ int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk)
> int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh)
> {
> /* The clkdm attribute does not exist yet prior OMAP4 */
> - if (cpu_is_omap24xx() || cpu_is_omap34xx())
> + if (cpu_is_omap34xx())
> return 0;
>
> /*
> @@ -1244,7 +1244,7 @@ int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh)
> int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh)
> {
> /* The clkdm attribute does not exist yet prior OMAP4 */
> - if (cpu_is_omap24xx() || cpu_is_omap34xx())
> + if (cpu_is_omap34xx())
> return 0;
>
> if (!oh)
> diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
> index 86a2f9e5d0ef..2d422b5f121f 100644
> --- a/arch/arm/mach-omap2/clockdomain.h
> +++ b/arch/arm/mach-omap2/clockdomain.h
> @@ -216,8 +216,6 @@ int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh);
> void clkdm_save_context(void);
> void clkdm_restore_context(void);
>
> -extern void __init omap242x_clockdomains_init(void);
> -extern void __init omap243x_clockdomains_init(void);
> extern void __init omap3xxx_clockdomains_init(void);
> extern void __init am33xx_clockdomains_init(void);
> extern void __init ti814x_clockdomains_init(void);
> @@ -230,14 +228,11 @@ void am43xx_clockdomains_init(void);
> extern void clkdm_add_autodeps(struct clockdomain *clkdm);
> extern void clkdm_del_autodeps(struct clockdomain *clkdm);
>
> -extern struct clkdm_ops omap2_clkdm_operations;
> extern struct clkdm_ops omap3_clkdm_operations;
> extern struct clkdm_ops omap4_clkdm_operations;
> extern struct clkdm_ops am33xx_clkdm_operations;
> extern struct clkdm_ops am43xx_clkdm_operations;
>
> -extern struct clkdm_dep gfx_24xx_wkdeps[];
> -extern struct clkdm_dep dsp_24xx_wkdeps[];
> extern struct clockdomain wkup_common_clkdm;
>
> #endif
> diff --git a/arch/arm/mach-omap2/clockdomains2420_data.c b/arch/arm/mach-omap2/clockdomains2420_data.c
> deleted file mode 100644
> index ac4ffb5d2ffc..000000000000
> --- a/arch/arm/mach-omap2/clockdomains2420_data.c
> +++ /dev/null
> @@ -1,154 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/*
> - * OMAP2420 clockdomains
> - *
> - * Copyright (C) 2008-2011 Texas Instruments, Inc.
> - * Copyright (C) 2008-2010 Nokia Corporation
> - *
> - * Paul Walmsley, Jouni Högander
> - *
> - * This file contains clockdomains and clockdomain wakeup dependencies
> - * for OMAP2420 chips. Some notes:
> - *
> - * A useful validation rule for struct clockdomain: Any clockdomain
> - * referenced by a wkdep_srcs must have a dep_bit assigned. So
> - * wkdep_srcs are really just software-controllable dependencies.
> - * Non-software-controllable dependencies do exist, but they are not
> - * encoded below (yet).
> - *
> - * 24xx does not support programmable sleep dependencies (SLEEPDEP)
> - *
> - * The overly-specific dep_bit names are due to a bit name collision
> - * with CM_FCLKEN_{DSP,IVA2}. The DSP/IVA2 PM_WKDEP and CM_SLEEPDEP shift
> - * value are the same for all powerdomains: 2
> - *
> - * XXX should dep_bit be a mask, so we can test to see if it is 0 as a
> - * sanity check?
> - * XXX encode hardware fixed wakeup dependencies -- esp. for 3430 CORE
> - */
> -
> -/*
> - * To-Do List
> - * -> Port the Sleep/Wakeup dependencies for the domains
> - * from the Power domain framework
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/io.h>
> -
> -#include "soc.h"
> -#include "clockdomain.h"
> -#include "prm2xxx_3xxx.h"
> -#include "cm2xxx_3xxx.h"
> -#include "cm-regbits-24xx.h"
> -#include "prm-regbits-24xx.h"
> -
> -/*
> - * Clockdomain dependencies for wkdeps
> - *
> - * XXX Hardware dependencies (e.g., dependencies that cannot be
> - * changed in software) are not included here yet, but should be.
> - */
> -
> -/* Wakeup dependency source arrays */
> -
> -/* 2420-specific possible wakeup dependencies */
> -
> -/* 2420 PM_WKDEP_MPU: CORE, DSP, WKUP */
> -static struct clkdm_dep mpu_2420_wkdeps[] = {
> - { .clkdm_name = "core_l3_clkdm" },
> - { .clkdm_name = "core_l4_clkdm" },
> - { .clkdm_name = "dsp_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { NULL },
> -};
> -
> -/* 2420 PM_WKDEP_CORE: DSP, GFX, MPU, WKUP */
> -static struct clkdm_dep core_2420_wkdeps[] = {
> - { .clkdm_name = "dsp_clkdm" },
> - { .clkdm_name = "gfx_clkdm" },
> - { .clkdm_name = "mpu_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { NULL },
> -};
> -
> -/*
> - * 2420-only clockdomains
> - */
> -
> -static struct clockdomain mpu_2420_clkdm = {
> - .name = "mpu_clkdm",
> - .pwrdm = { .name = "mpu_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .wkdep_srcs = mpu_2420_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_MPU_MASK,
> -};
> -
> -static struct clockdomain iva1_2420_clkdm = {
> - .name = "iva1_clkdm",
> - .pwrdm = { .name = "dsp_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .dep_bit = OMAP24XX_PM_WKDEP_MPU_EN_DSP_SHIFT,
> - .wkdep_srcs = dsp_24xx_wkdeps,
> - .clktrctrl_mask = OMAP2420_AUTOSTATE_IVA_MASK,
> -};
> -
> -static struct clockdomain dsp_2420_clkdm = {
> - .name = "dsp_clkdm",
> - .pwrdm = { .name = "dsp_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_DSP_MASK,
> -};
> -
> -static struct clockdomain gfx_2420_clkdm = {
> - .name = "gfx_clkdm",
> - .pwrdm = { .name = "gfx_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .wkdep_srcs = gfx_24xx_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_GFX_MASK,
> -};
> -
> -static struct clockdomain core_l3_2420_clkdm = {
> - .name = "core_l3_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .wkdep_srcs = core_2420_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_L3_MASK,
> -};
> -
> -static struct clockdomain core_l4_2420_clkdm = {
> - .name = "core_l4_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .wkdep_srcs = core_2420_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_L4_MASK,
> -};
> -
> -static struct clockdomain dss_2420_clkdm = {
> - .name = "dss_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_DSS_MASK,
> -};
> -
> -static struct clockdomain *clockdomains_omap242x[] __initdata = {
> - &wkup_common_clkdm,
> - &mpu_2420_clkdm,
> - &iva1_2420_clkdm,
> - &dsp_2420_clkdm,
> - &gfx_2420_clkdm,
> - &core_l3_2420_clkdm,
> - &core_l4_2420_clkdm,
> - &dss_2420_clkdm,
> - NULL,
> -};
> -
> -void __init omap242x_clockdomains_init(void)
> -{
> - if (!cpu_is_omap242x())
> - return;
> -
> - clkdm_register_platform_funcs(&omap2_clkdm_operations);
> - clkdm_register_clkdms(clockdomains_omap242x);
> - clkdm_complete_init();
> -}
> diff --git a/arch/arm/mach-omap2/clockdomains2430_data.c b/arch/arm/mach-omap2/clockdomains2430_data.c
> deleted file mode 100644
> index 0e97e178abaa..000000000000
> --- a/arch/arm/mach-omap2/clockdomains2430_data.c
> +++ /dev/null
> @@ -1,181 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/*
> - * OMAP2xxx clockdomains
> - *
> - * Copyright (C) 2008-2009 Texas Instruments, Inc.
> - * Copyright (C) 2008-2010 Nokia Corporation
> - *
> - * Paul Walmsley, Jouni Högander
> - *
> - * This file contains clockdomains and clockdomain wakeup dependencies
> - * for OMAP2xxx chips. Some notes:
> - *
> - * A useful validation rule for struct clockdomain: Any clockdomain
> - * referenced by a wkdep_srcs must have a dep_bit assigned. So
> - * wkdep_srcs are really just software-controllable dependencies.
> - * Non-software-controllable dependencies do exist, but they are not
> - * encoded below (yet).
> - *
> - * 24xx does not support programmable sleep dependencies (SLEEPDEP)
> - *
> - * The overly-specific dep_bit names are due to a bit name collision
> - * with CM_FCLKEN_{DSP,IVA2}. The DSP/IVA2 PM_WKDEP and CM_SLEEPDEP shift
> - * value are the same for all powerdomains: 2
> - *
> - * XXX should dep_bit be a mask, so we can test to see if it is 0 as a
> - * sanity check?
> - * XXX encode hardware fixed wakeup dependencies -- esp. for 3430 CORE
> - */
> -
> -/*
> - * To-Do List
> - * -> Port the Sleep/Wakeup dependencies for the domains
> - * from the Power domain framework
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/io.h>
> -
> -#include "soc.h"
> -#include "clockdomain.h"
> -#include "prm2xxx_3xxx.h"
> -#include "cm2xxx_3xxx.h"
> -#include "cm-regbits-24xx.h"
> -#include "prm-regbits-24xx.h"
> -
> -/*
> - * Clockdomain dependencies for wkdeps
> - *
> - * XXX Hardware dependencies (e.g., dependencies that cannot be
> - * changed in software) are not included here yet, but should be.
> - */
> -
> -/* Wakeup dependency source arrays */
> -
> -/* 2430-specific possible wakeup dependencies */
> -
> -/* 2430 PM_WKDEP_CORE: DSP, GFX, MPU, WKUP, MDM */
> -static struct clkdm_dep core_2430_wkdeps[] = {
> - { .clkdm_name = "dsp_clkdm" },
> - { .clkdm_name = "gfx_clkdm" },
> - { .clkdm_name = "mpu_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { .clkdm_name = "mdm_clkdm" },
> - { NULL },
> -};
> -
> -/* 2430 PM_WKDEP_MPU: CORE, DSP, WKUP, MDM */
> -static struct clkdm_dep mpu_2430_wkdeps[] = {
> - { .clkdm_name = "core_l3_clkdm" },
> - { .clkdm_name = "core_l4_clkdm" },
> - { .clkdm_name = "dsp_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { .clkdm_name = "mdm_clkdm" },
> - { NULL },
> -};
> -
> -/* 2430 PM_WKDEP_MDM: CORE, MPU, WKUP */
> -static struct clkdm_dep mdm_2430_wkdeps[] = {
> - { .clkdm_name = "core_l3_clkdm" },
> - { .clkdm_name = "core_l4_clkdm" },
> - { .clkdm_name = "mpu_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { NULL },
> -};
> -
> -/*
> - * 2430-only clockdomains
> - */
> -
> -static struct clockdomain mpu_2430_clkdm = {
> - .name = "mpu_clkdm",
> - .pwrdm = { .name = "mpu_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .wkdep_srcs = mpu_2430_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_MPU_MASK,
> -};
> -
> -/* Another case of bit name collisions between several registers: EN_MDM */
> -static struct clockdomain mdm_clkdm = {
> - .name = "mdm_clkdm",
> - .pwrdm = { .name = "mdm_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .dep_bit = OMAP2430_PM_WKDEP_MPU_EN_MDM_SHIFT,
> - .wkdep_srcs = mdm_2430_wkdeps,
> - .clktrctrl_mask = OMAP2430_AUTOSTATE_MDM_MASK,
> -};
> -
> -static struct clockdomain dsp_2430_clkdm = {
> - .name = "dsp_clkdm",
> - .pwrdm = { .name = "dsp_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .dep_bit = OMAP24XX_PM_WKDEP_MPU_EN_DSP_SHIFT,
> - .wkdep_srcs = dsp_24xx_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_DSP_MASK,
> -};
> -
> -static struct clockdomain gfx_2430_clkdm = {
> - .name = "gfx_clkdm",
> - .pwrdm = { .name = "gfx_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP_SWSUP,
> - .wkdep_srcs = gfx_24xx_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_GFX_MASK,
> -};
> -
> -/*
> - * XXX add usecounting for clkdm dependencies, otherwise the presence
> - * of a single dep bit for core_l3_24xx_clkdm and core_l4_24xx_clkdm
> - * could cause trouble
> - */
> -static struct clockdomain core_l3_2430_clkdm = {
> - .name = "core_l3_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .dep_bit = OMAP24XX_EN_CORE_SHIFT,
> - .wkdep_srcs = core_2430_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_L3_MASK,
> -};
> -
> -/*
> - * XXX add usecounting for clkdm dependencies, otherwise the presence
> - * of a single dep bit for core_l3_24xx_clkdm and core_l4_24xx_clkdm
> - * could cause trouble
> - */
> -static struct clockdomain core_l4_2430_clkdm = {
> - .name = "core_l4_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .dep_bit = OMAP24XX_EN_CORE_SHIFT,
> - .wkdep_srcs = core_2430_wkdeps,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_L4_MASK,
> -};
> -
> -static struct clockdomain dss_2430_clkdm = {
> - .name = "dss_clkdm",
> - .pwrdm = { .name = "core_pwrdm" },
> - .flags = CLKDM_CAN_HWSUP,
> - .clktrctrl_mask = OMAP24XX_AUTOSTATE_DSS_MASK,
> -};
> -
> -static struct clockdomain *clockdomains_omap243x[] __initdata = {
> - &wkup_common_clkdm,
> - &mpu_2430_clkdm,
> - &mdm_clkdm,
> - &dsp_2430_clkdm,
> - &gfx_2430_clkdm,
> - &core_l3_2430_clkdm,
> - &core_l4_2430_clkdm,
> - &dss_2430_clkdm,
> - NULL,
> -};
> -
> -void __init omap243x_clockdomains_init(void)
> -{
> - if (!cpu_is_omap243x())
> - return;
> -
> - clkdm_register_platform_funcs(&omap2_clkdm_operations);
> - clkdm_register_clkdms(clockdomains_omap243x);
> - clkdm_complete_init();
> -}
> -
> diff --git a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c
> index 220c22f5e0f5..4d20c2720660 100644
> --- a/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c
> +++ b/arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c
> @@ -8,7 +8,7 @@
> * Paul Walmsley, Jouni Högander
> *
> * This file contains clockdomains and clockdomain wakeup/sleep
> - * dependencies for the OMAP2/3 chips. Some notes:
> + * dependencies for the OMAP3 chips. Some notes:
> *
> * A useful validation rule for struct clockdomain: Any clockdomain
> * referenced by a wkdep_srcs or sleepdep_srcs array must have a
> @@ -16,8 +16,6 @@
> * software-controllable dependencies. Non-software-controllable
> * dependencies do exist, but they are not encoded below (yet).
> *
> - * 24xx does not support programmable sleep dependencies (SLEEPDEP)
> - *
> * The overly-specific dep_bit names are due to a bit name collision
> * with CM_FCLKEN_{DSP,IVA2}. The DSP/IVA2 PM_WKDEP and CM_SLEEPDEP shift
> * value are the same for all powerdomains: 2
> @@ -39,10 +37,8 @@
> #include "clockdomain.h"
> #include "prm2xxx_3xxx.h"
> #include "cm2xxx_3xxx.h"
> -#include "cm-regbits-24xx.h"
> #include "cm-regbits-34xx.h"
> #include "cm-regbits-44xx.h"
> -#include "prm-regbits-24xx.h"
> #include "prm-regbits-34xx.h"
>
> /*
> @@ -54,29 +50,8 @@
>
> /* Wakeup dependency source arrays */
>
> -/* 2xxx-specific possible dependencies */
> -
> -/* 2xxx PM_WKDEP_GFX: CORE, MPU, WKUP */
> -struct clkdm_dep gfx_24xx_wkdeps[] = {
> - { .clkdm_name = "core_l3_clkdm" },
> - { .clkdm_name = "core_l4_clkdm" },
> - { .clkdm_name = "mpu_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { NULL },
> -};
> -
> -/* 2xxx PM_WKDEP_DSP: CORE, MPU, WKUP */
> -struct clkdm_dep dsp_24xx_wkdeps[] = {
> - { .clkdm_name = "core_l3_clkdm" },
> - { .clkdm_name = "core_l4_clkdm" },
> - { .clkdm_name = "mpu_clkdm" },
> - { .clkdm_name = "wkup_clkdm" },
> - { NULL },
> -};
> -
> -
> /*
> - * OMAP2/3-common clockdomains
> + * OMAP3-common clockdomains
> *
> * Even though the 2420 has a single PRCM module from the
> * interconnect's perspective, internally it does appear to have
> diff --git a/arch/arm/mach-omap2/cm-regbits-24xx.h b/arch/arm/mach-omap2/cm-regbits-24xx.h
> deleted file mode 100644
> index 59c14dbb6f87..000000000000
> --- a/arch/arm/mach-omap2/cm-regbits-24xx.h
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_24XX_H
> -#define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_24XX_H
> -
> -/*
> - * OMAP24XX Clock Management register bits
> - *
> - * Copyright (C) 2007 Texas Instruments, Inc.
> - * Copyright (C) 2007 Nokia Corporation
> - *
> - * Written by Paul Walmsley
> - */
> -
> -#define OMAP24XX_AUTOSTATE_MPU_MASK (1 << 0)
> -#define OMAP24XX_EN_DSS1_MASK (1 << 0)
> -#define OMAP24XX_ST_MAILBOXES_SHIFT 30
> -#define OMAP24XX_ST_HDQ_SHIFT 23
> -#define OMAP2420_ST_I2C2_SHIFT 20
> -#define OMAP2430_ST_I2CHS1_SHIFT 19
> -#define OMAP2420_ST_I2C1_SHIFT 19
> -#define OMAP2430_ST_I2CHS2_SHIFT 20
> -#define OMAP24XX_ST_MCBSP2_SHIFT 16
> -#define OMAP24XX_ST_MCBSP1_SHIFT 15
> -#define OMAP2430_ST_MCBSP5_SHIFT 5
> -#define OMAP2430_ST_MCBSP4_SHIFT 4
> -#define OMAP2430_ST_MCBSP3_SHIFT 3
> -#define OMAP24XX_ST_AES_SHIFT 3
> -#define OMAP24XX_ST_RNG_SHIFT 2
> -#define OMAP24XX_ST_SHA_SHIFT 1
> -#define OMAP24XX_CLKSEL_DSS2_MASK (0x1 << 13)
> -#define OMAP24XX_AUTOSTATE_DSS_MASK (1 << 2)
> -#define OMAP24XX_AUTOSTATE_L4_MASK (1 << 1)
> -#define OMAP24XX_AUTOSTATE_L3_MASK (1 << 0)
> -#define OMAP24XX_AUTOSTATE_GFX_MASK (1 << 0)
> -#define OMAP24XX_ST_MPU_WDT_SHIFT 3
> -#define OMAP24XX_ST_32KSYNC_SHIFT 1
> -#define OMAP24XX_EN_54M_PLL_SHIFT 6
> -#define OMAP24XX_EN_96M_PLL_SHIFT 2
> -#define OMAP24XX_ST_54M_APLL_SHIFT 9
> -#define OMAP24XX_ST_96M_APLL_SHIFT 8
> -#define OMAP24XX_AUTO_54M_MASK (0x3 << 6)
> -#define OMAP24XX_AUTO_96M_MASK (0x3 << 2)
> -#define OMAP24XX_AUTO_DPLL_SHIFT 0
> -#define OMAP24XX_AUTO_DPLL_MASK (0x3 << 0)
> -#define OMAP24XX_CORE_CLK_SRC_MASK (0x3 << 0)
> -#define OMAP2420_AUTOSTATE_IVA_MASK (1 << 8)
> -#define OMAP24XX_AUTOSTATE_DSP_MASK (1 << 0)
> -#define OMAP2430_AUTOSTATE_MDM_MASK (1 << 0)
> -#define OMAP24XX_CLKSTCTRL_DISABLE_AUTO 0x0
> -#define OMAP24XX_CLKSTCTRL_ENABLE_AUTO 0x1
> -#endif
> diff --git a/arch/arm/mach-omap2/cm2xxx.c b/arch/arm/mach-omap2/cm2xxx.c
> deleted file mode 100644
> index 1c6d69f4bf49..000000000000
> --- a/arch/arm/mach-omap2/cm2xxx.c
> +++ /dev/null
> @@ -1,302 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP2xxx CM module functions
> - *
> - * Copyright (C) 2009 Nokia Corporation
> - * Copyright (C) 2008-2010, 2012 Texas Instruments, Inc.
> - * Paul Walmsley
> - * Rajendra Nayak <rnayak at ti.com>
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/types.h>
> -#include <linux/delay.h>
> -#include <linux/errno.h>
> -#include <linux/err.h>
> -#include <linux/io.h>
> -
> -#include "prm2xxx.h"
> -#include "cm.h"
> -#include "cm2xxx.h"
> -#include "cm-regbits-24xx.h"
> -#include "clockdomain.h"
> -
> -/* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */
> -#define DPLL_AUTOIDLE_DISABLE 0x0
> -#define OMAP2XXX_DPLL_AUTOIDLE_LOW_POWER_STOP 0x3
> -
> -/* CM_AUTOIDLE_PLL.AUTO_* bit values for APLLs (OMAP2xxx only) */
> -#define OMAP2XXX_APLL_AUTOIDLE_DISABLE 0x0
> -#define OMAP2XXX_APLL_AUTOIDLE_LOW_POWER_STOP 0x3
> -
> -/* CM_IDLEST_PLL bit value offset for APLLs (OMAP2xxx only) */
> -#define EN_APLL_LOCKED 3
> -
> -static const u8 omap2xxx_cm_idlest_offs[] = {
> - CM_IDLEST1, CM_IDLEST2, OMAP2430_CM_IDLEST3, OMAP24XX_CM_IDLEST4
> -};
> -
> -/*
> - *
> - */
> -
> -static void _write_clktrctrl(u8 c, s16 module, u32 mask)
> -{
> - u32 v;
> -
> - v = omap2_cm_read_mod_reg(module, OMAP2_CM_CLKSTCTRL);
> - v &= ~mask;
> - v |= c << __ffs(mask);
> - omap2_cm_write_mod_reg(v, module, OMAP2_CM_CLKSTCTRL);
> -}
> -
> -static bool omap2xxx_cm_is_clkdm_in_hwsup(s16 module, u32 mask)
> -{
> - u32 v;
> -
> - v = omap2_cm_read_mod_reg(module, OMAP2_CM_CLKSTCTRL);
> - v &= mask;
> - v >>= __ffs(mask);
> -
> - return (v == OMAP24XX_CLKSTCTRL_ENABLE_AUTO) ? 1 : 0;
> -}
> -
> -static void omap2xxx_cm_clkdm_enable_hwsup(s16 module, u32 mask)
> -{
> - _write_clktrctrl(OMAP24XX_CLKSTCTRL_ENABLE_AUTO, module, mask);
> -}
> -
> -static void omap2xxx_cm_clkdm_disable_hwsup(s16 module, u32 mask)
> -{
> - _write_clktrctrl(OMAP24XX_CLKSTCTRL_DISABLE_AUTO, module, mask);
> -}
> -
> -/*
> - * DPLL autoidle control
> - */
> -
> -static void _omap2xxx_set_dpll_autoidle(u8 m)
> -{
> - u32 v;
> -
> - v = omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE);
> - v &= ~OMAP24XX_AUTO_DPLL_MASK;
> - v |= m << OMAP24XX_AUTO_DPLL_SHIFT;
> - omap2_cm_write_mod_reg(v, PLL_MOD, CM_AUTOIDLE);
> -}
> -
> -void omap2xxx_cm_set_dpll_disable_autoidle(void)
> -{
> - _omap2xxx_set_dpll_autoidle(OMAP2XXX_DPLL_AUTOIDLE_LOW_POWER_STOP);
> -}
> -
> -void omap2xxx_cm_set_dpll_auto_low_power_stop(void)
> -{
> - _omap2xxx_set_dpll_autoidle(DPLL_AUTOIDLE_DISABLE);
> -}
> -
> -/**
> - * omap2xxx_cm_split_idlest_reg - split CM_IDLEST reg addr into its components
> - * @idlest_reg: CM_IDLEST* virtual address
> - * @prcm_inst: pointer to an s16 to return the PRCM instance offset
> - * @idlest_reg_id: pointer to a u8 to return the CM_IDLESTx register ID
> - *
> - * XXX This function is only needed until absolute register addresses are
> - * removed from the OMAP struct clk records.
> - */
> -static int omap2xxx_cm_split_idlest_reg(struct clk_omap_reg *idlest_reg,
> - s16 *prcm_inst,
> - u8 *idlest_reg_id)
> -{
> - unsigned long offs;
> - u8 idlest_offs;
> - int i;
> -
> - idlest_offs = idlest_reg->offset & 0xff;
> - for (i = 0; i < ARRAY_SIZE(omap2xxx_cm_idlest_offs); i++) {
> - if (idlest_offs == omap2xxx_cm_idlest_offs[i]) {
> - *idlest_reg_id = i + 1;
> - break;
> - }
> - }
> -
> - if (i == ARRAY_SIZE(omap2xxx_cm_idlest_offs))
> - return -EINVAL;
> -
> - offs = idlest_reg->offset;
> - offs &= 0xff00;
> - *prcm_inst = offs;
> -
> - return 0;
> -}
> -
> -/*
> - *
> - */
> -
> -/**
> - * omap2xxx_cm_wait_module_ready - wait for a module to leave idle or standby
> - * @part: PRCM partition, ignored for OMAP2
> - * @prcm_mod: PRCM module offset
> - * @idlest_id: CM_IDLESTx register ID (i.e., x = 1, 2, 3)
> - * @idlest_shift: shift of the bit in the CM_IDLEST* register to check
> - *
> - * Wait for the PRCM to indicate that the module identified by
> - * (@prcm_mod, @idlest_id, @idlest_shift) is clocked. Return 0 upon
> - * success or -EBUSY if the module doesn't enable in time.
> - */
> -static int omap2xxx_cm_wait_module_ready(u8 part, s16 prcm_mod, u16 idlest_id,
> - u8 idlest_shift)
> -{
> - int ena = 0, i = 0;
> - u8 cm_idlest_reg;
> - u32 mask;
> -
> - if (!idlest_id || (idlest_id > ARRAY_SIZE(omap2xxx_cm_idlest_offs)))
> - return -EINVAL;
> -
> - cm_idlest_reg = omap2xxx_cm_idlest_offs[idlest_id - 1];
> -
> - mask = 1 << idlest_shift;
> - ena = mask;
> -
> - omap_test_timeout(((omap2_cm_read_mod_reg(prcm_mod, cm_idlest_reg) &
> - mask) == ena), MAX_MODULE_READY_TIME, i);
> -
> - return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
> -}
> -
> -/* Clockdomain low-level functions */
> -
> -static void omap2xxx_clkdm_allow_idle(struct clockdomain *clkdm)
> -{
> - omap2xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
> - clkdm->clktrctrl_mask);
> -}
> -
> -static void omap2xxx_clkdm_deny_idle(struct clockdomain *clkdm)
> -{
> - omap2xxx_cm_clkdm_disable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
> - clkdm->clktrctrl_mask);
> -}
> -
> -static int omap2xxx_clkdm_clk_enable(struct clockdomain *clkdm)
> -{
> - bool hwsup = false;
> -
> - if (!clkdm->clktrctrl_mask)
> - return 0;
> -
> - hwsup = omap2xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
> - clkdm->clktrctrl_mask);
> - if (!hwsup && clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)
> - omap2xxx_clkdm_wakeup(clkdm);
> -
> - return 0;
> -}
> -
> -static int omap2xxx_clkdm_clk_disable(struct clockdomain *clkdm)
> -{
> - bool hwsup = false;
> -
> - if (!clkdm->clktrctrl_mask)
> - return 0;
> -
> - hwsup = omap2xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
> - clkdm->clktrctrl_mask);
> -
> - if (!hwsup && clkdm->flags & CLKDM_CAN_FORCE_SLEEP)
> - omap2xxx_clkdm_sleep(clkdm);
> -
> - return 0;
> -}
> -
> -struct clkdm_ops omap2_clkdm_operations = {
> - .clkdm_add_wkdep = omap2_clkdm_add_wkdep,
> - .clkdm_del_wkdep = omap2_clkdm_del_wkdep,
> - .clkdm_read_wkdep = omap2_clkdm_read_wkdep,
> - .clkdm_clear_all_wkdeps = omap2_clkdm_clear_all_wkdeps,
> - .clkdm_sleep = omap2xxx_clkdm_sleep,
> - .clkdm_wakeup = omap2xxx_clkdm_wakeup,
> - .clkdm_allow_idle = omap2xxx_clkdm_allow_idle,
> - .clkdm_deny_idle = omap2xxx_clkdm_deny_idle,
> - .clkdm_clk_enable = omap2xxx_clkdm_clk_enable,
> - .clkdm_clk_disable = omap2xxx_clkdm_clk_disable,
> -};
> -
> -int omap2xxx_cm_fclks_active(void)
> -{
> - u32 f1, f2;
> -
> - f1 = omap2_cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
> - f2 = omap2_cm_read_mod_reg(CORE_MOD, OMAP24XX_CM_FCLKEN2);
> -
> - return (f1 | f2) ? 1 : 0;
> -}
> -
> -int omap2xxx_cm_mpu_retention_allowed(void)
> -{
> - u32 l;
> -
> - /* Check for MMC, UART2, UART1, McSPI2, McSPI1 and DSS1. */
> - l = omap2_cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
> - if (l & (OMAP2420_EN_MMC_MASK | OMAP24XX_EN_UART2_MASK |
> - OMAP24XX_EN_UART1_MASK | OMAP24XX_EN_MCSPI2_MASK |
> - OMAP24XX_EN_MCSPI1_MASK | OMAP24XX_EN_DSS1_MASK))
> - return 0;
> - /* Check for UART3. */
> - l = omap2_cm_read_mod_reg(CORE_MOD, OMAP24XX_CM_FCLKEN2);
> - if (l & OMAP24XX_EN_UART3_MASK)
> - return 0;
> -
> - return 1;
> -}
> -
> -u32 omap2xxx_cm_get_core_clk_src(void)
> -{
> - u32 v;
> -
> - v = omap2_cm_read_mod_reg(PLL_MOD, CM_CLKSEL2);
> - v &= OMAP24XX_CORE_CLK_SRC_MASK;
> -
> - return v;
> -}
> -
> -u32 omap2xxx_cm_get_core_pll_config(void)
> -{
> - return omap2_cm_read_mod_reg(PLL_MOD, CM_CLKSEL2);
> -}
> -
> -void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core, u32 mdm)
> -{
> - u32 tmp;
> -
> - omap2_cm_write_mod_reg(mpu, MPU_MOD, CM_CLKSEL);
> - omap2_cm_write_mod_reg(dsp, OMAP24XX_DSP_MOD, CM_CLKSEL);
> - omap2_cm_write_mod_reg(gfx, GFX_MOD, CM_CLKSEL);
> - tmp = omap2_cm_read_mod_reg(CORE_MOD, CM_CLKSEL1) &
> - OMAP24XX_CLKSEL_DSS2_MASK;
> - omap2_cm_write_mod_reg(core | tmp, CORE_MOD, CM_CLKSEL1);
> - if (mdm)
> - omap2_cm_write_mod_reg(mdm, OMAP2430_MDM_MOD, CM_CLKSEL);
> -}
> -
> -/*
> - *
> - */
> -
> -static const struct cm_ll_data omap2xxx_cm_ll_data = {
> - .split_idlest_reg = &omap2xxx_cm_split_idlest_reg,
> - .wait_module_ready = &omap2xxx_cm_wait_module_ready,
> -};
> -
> -int __init omap2xxx_cm_init(const struct omap_prcm_init_data *data)
> -{
> - return cm_register(&omap2xxx_cm_ll_data);
> -}
> -
> -static void __exit omap2xxx_cm_exit(void)
> -{
> - cm_unregister(&omap2xxx_cm_ll_data);
> -}
> -__exitcall(omap2xxx_cm_exit);
> diff --git a/arch/arm/mach-omap2/cm2xxx.h b/arch/arm/mach-omap2/cm2xxx.h
> deleted file mode 100644
> index 7cbeff15ffb0..000000000000
> --- a/arch/arm/mach-omap2/cm2xxx.h
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * OMAP2xxx Clock Management (CM) register definitions
> - *
> - * Copyright (C) 2007-2009, 2012 Texas Instruments, Inc.
> - * Copyright (C) 2007-2010 Nokia Corporation
> - * Paul Walmsley
> - *
> - * The CM hardware modules on the OMAP2/3 are quite similar to each
> - * other. The CM modules/instances on OMAP4 are quite different, so
> - * they are handled in a separate file.
> - */
> -#ifndef __ARCH_ASM_MACH_OMAP2_CM2XXX_H
> -#define __ARCH_ASM_MACH_OMAP2_CM2XXX_H
> -
> -#include "prcm-common.h"
> -#include "cm2xxx_3xxx.h"
> -
> -#define OMAP2420_CM_REGADDR(module, reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE + (module) + (reg))
> -#define OMAP2430_CM_REGADDR(module, reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE + (module) + (reg))
> -
> -/*
> - * Module specific CM register offsets from CM_BASE + domain offset
> - * Use cm_{read,write}_mod_reg() with these registers.
> - * These register offsets generally appear in more than one PRCM submodule.
> - */
> -
> -/* OMAP2-specific register offsets */
> -
> -#define OMAP24XX_CM_FCLKEN2 0x0004
> -#define OMAP24XX_CM_ICLKEN4 0x001c
> -#define OMAP24XX_CM_AUTOIDLE4 0x003c
> -#define OMAP24XX_CM_IDLEST4 0x002c
> -
> -/* CM_IDLEST bit field values to indicate deasserted IdleReq */
> -
> -#define OMAP24XX_CM_IDLEST_VAL 0
> -
> -
> -/* Clock management domain register get/set */
> -
> -#ifndef __ASSEMBLER__
> -
> -extern void omap2xxx_cm_set_dpll_disable_autoidle(void);
> -extern void omap2xxx_cm_set_dpll_auto_low_power_stop(void);
> -
> -extern int omap2xxx_cm_fclks_active(void);
> -extern int omap2xxx_cm_mpu_retention_allowed(void);
> -extern u32 omap2xxx_cm_get_core_clk_src(void);
> -extern u32 omap2xxx_cm_get_core_pll_config(void);
> -extern void omap2xxx_cm_set_mod_dividers(u32 mpu, u32 dsp, u32 gfx, u32 core,
> - u32 mdm);
> -
> -int __init omap2xxx_cm_init(const struct omap_prcm_init_data *data);
> -
> -#endif
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/cm_common.c b/arch/arm/mach-omap2/cm_common.c
> index 87f2c2d2d754..fc16cd1fd2d5 100644
> --- a/arch/arm/mach-omap2/cm_common.c
> +++ b/arch/arm/mach-omap2/cm_common.c
> @@ -15,7 +15,6 @@
> #include <linux/of.h>
> #include <linux/of_address.h>
>
> -#include "cm2xxx.h"
> #include "cm3xxx.h"
> #include "cm33xx.h"
> #include "cm44xx.h"
> @@ -230,14 +229,6 @@ static struct omap_prcm_init_data cm2_data __initdata = {
> };
> #endif
>
> -#ifdef CONFIG_ARCH_OMAP2
> -static struct omap_prcm_init_data omap2_prcm_data __initdata = {
> - .index = TI_CLKM_CM,
> - .init = omap2xxx_cm_init,
> - .flags = CM_NO_CLOCKS | CM_SINGLE_INSTANCE,
> -};
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> static struct omap_prcm_init_data omap3_cm_data __initdata = {
> .index = TI_CLKM_CM,
> @@ -269,9 +260,6 @@ static struct omap_prcm_init_data am4_prcm_data __initdata = {
> #endif
>
> static const struct of_device_id omap_cm_dt_match_table[] __initconst = {
> -#ifdef CONFIG_ARCH_OMAP2
> - { .compatible = "ti,omap2-prcm", .data = &omap2_prcm_data },
> -#endif
> #ifdef CONFIG_ARCH_OMAP3
> { .compatible = "ti,omap3-cm", .data = &omap3_cm_data },
> #endif
> diff --git a/arch/arm/mach-omap2/common-board-devices.h b/arch/arm/mach-omap2/common-board-devices.h
> deleted file mode 100644
> index 69694af71475..000000000000
> --- a/arch/arm/mach-omap2/common-board-devices.h
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __OMAP_COMMON_BOARD_DEVICES__
> -#define __OMAP_COMMON_BOARD_DEVICES__
> -
> -#include <linux/mfd/menelaus.h>
> -
> -void *n8x0_legacy_init(void);
> -
> -extern struct menelaus_platform_data n8x0_menelaus_platform_data;
> -
> -#endif /* __OMAP_COMMON_BOARD_DEVICES__ */
> diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
> index 9d60799e9752..f8ed97044ade 100644
> --- a/arch/arm/mach-omap2/common.h
> +++ b/arch/arm/mach-omap2/common.h
> @@ -102,8 +102,6 @@ static inline void omap5_realtime_timer_init(void)
> }
> #endif
>
> -void omap2420_init_early(void);
> -void omap2430_init_early(void);
> void omap3430_init_early(void);
> void omap3630_init_early(void);
> void am33xx_init_early(void);
> @@ -130,14 +128,6 @@ static inline void omap_soc_device_init(void)
> }
> #endif
>
> -#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
> -void omap2xxx_restart(enum reboot_mode mode, const char *cmd);
> -#else
> -static inline void omap2xxx_restart(enum reboot_mode mode, const char *cmd)
> -{
> -}
> -#endif
> -
> #ifdef CONFIG_SOC_AM33XX
> void am33xx_restart(enum reboot_mode mode, const char *cmd);
> #else
> @@ -183,8 +173,6 @@ static inline void omap_barrier_reserve_memblock(void)
> /* This gets called from mach-omap2/io.c, do not call this */
> void __init omap2_set_globals_tap(u32 class, void __iomem *tap);
>
> -void __init omap242x_map_io(void);
> -void __init omap243x_map_io(void);
> void __init omap3_map_io(void);
> void __init am33xx_map_io(void);
> void __init omap4_map_io(void);
> diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
> index 7e7440533bf9..3ab1c6e6dde6 100644
> --- a/arch/arm/mach-omap2/control.h
> +++ b/arch/arm/mach-omap2/control.h
> @@ -19,19 +19,11 @@
> #include "am33xx.h"
>
> #ifndef __ASSEMBLY__
> -#define OMAP242X_CTRL_REGADDR(reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg))
> -#define OMAP243X_CTRL_REGADDR(reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg))
> #define OMAP343X_CTRL_REGADDR(reg) \
> OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
> #define AM33XX_CTRL_REGADDR(reg) \
> AM33XX_L4_WK_IO_ADDRESS(AM33XX_SCM_BASE + (reg))
> #else
> -#define OMAP242X_CTRL_REGADDR(reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg))
> -#define OMAP243X_CTRL_REGADDR(reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg))
> #define OMAP343X_CTRL_REGADDR(reg) \
> OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
> #define AM33XX_CTRL_REGADDR(reg) \
> @@ -74,52 +66,6 @@
> #define OMAP2_CONTROL_RPUB_KEY_H_2 (OMAP2_CONTROL_GENERAL + 0x0098)
> #define OMAP2_CONTROL_RPUB_KEY_H_3 (OMAP2_CONTROL_GENERAL + 0x009c)
>
> -/* 242x-only CONTROL_GENERAL register offsets */
> -#define OMAP242X_CONTROL_DEVCONF OMAP2_CONTROL_DEVCONF0 /* match TRM */
> -#define OMAP242X_CONTROL_OCM_RAM_PERM (OMAP2_CONTROL_GENERAL + 0x0068)
> -
> -/* 243x-only CONTROL_GENERAL register offsets */
> -/* CONTROL_IVA2_BOOT{ADDR,MOD} are at the same place on 343x - noted below */
> -#define OMAP243X_CONTROL_DEVCONF1 (OMAP2_CONTROL_GENERAL + 0x0078)
> -#define OMAP243X_CONTROL_CSIRXFE (OMAP2_CONTROL_GENERAL + 0x007c)
> -#define OMAP243X_CONTROL_IVA2_BOOTADDR (OMAP2_CONTROL_GENERAL + 0x0190)
> -#define OMAP243X_CONTROL_IVA2_BOOTMOD (OMAP2_CONTROL_GENERAL + 0x0194)
> -#define OMAP243X_CONTROL_IVA2_GEMCFG (OMAP2_CONTROL_GENERAL + 0x0198)
> -#define OMAP243X_CONTROL_PBIAS_LITE (OMAP2_CONTROL_GENERAL + 0x0230)
> -
> -/* 24xx-only CONTROL_GENERAL register offsets */
> -#define OMAP24XX_CONTROL_DEBOBS (OMAP2_CONTROL_GENERAL + 0x0000)
> -#define OMAP24XX_CONTROL_EMU_SUPPORT (OMAP2_CONTROL_GENERAL + 0x0008)
> -#define OMAP24XX_CONTROL_SEC_TEST (OMAP2_CONTROL_GENERAL + 0x0044)
> -#define OMAP24XX_CONTROL_PSA_CTRL (OMAP2_CONTROL_GENERAL + 0x0048)
> -#define OMAP24XX_CONTROL_PSA_CMD (OMAP2_CONTROL_GENERAL + 0x004c)
> -#define OMAP24XX_CONTROL_PSA_VALUE (OMAP2_CONTROL_GENERAL + 0x0050)
> -#define OMAP24XX_CONTROL_SEC_EMU (OMAP2_CONTROL_GENERAL + 0x0060)
> -#define OMAP24XX_CONTROL_SEC_TAP (OMAP2_CONTROL_GENERAL + 0x0064)
> -#define OMAP24XX_CONTROL_OCM_PUB_RAM_ADD (OMAP2_CONTROL_GENERAL + 0x006c)
> -#define OMAP24XX_CONTROL_EXT_SEC_RAM_START_ADD (OMAP2_CONTROL_GENERAL + 0x0070)
> -#define OMAP24XX_CONTROL_EXT_SEC_RAM_STOP_ADD (OMAP2_CONTROL_GENERAL + 0x0074)
> -#define OMAP24XX_CONTROL_SEC_STATUS (OMAP2_CONTROL_GENERAL + 0x0080)
> -#define OMAP24XX_CONTROL_SEC_ERR_STATUS (OMAP2_CONTROL_GENERAL + 0x0084)
> -#define OMAP24XX_CONTROL_STATUS (OMAP2_CONTROL_GENERAL + 0x0088)
> -#define OMAP24XX_CONTROL_GENERAL_PURPOSE_STATUS (OMAP2_CONTROL_GENERAL + 0x008c)
> -#define OMAP24XX_CONTROL_RAND_KEY_0 (OMAP2_CONTROL_GENERAL + 0x00a0)
> -#define OMAP24XX_CONTROL_RAND_KEY_1 (OMAP2_CONTROL_GENERAL + 0x00a4)
> -#define OMAP24XX_CONTROL_RAND_KEY_2 (OMAP2_CONTROL_GENERAL + 0x00a8)
> -#define OMAP24XX_CONTROL_RAND_KEY_3 (OMAP2_CONTROL_GENERAL + 0x00ac)
> -#define OMAP24XX_CONTROL_CUST_KEY_0 (OMAP2_CONTROL_GENERAL + 0x00b0)
> -#define OMAP24XX_CONTROL_CUST_KEY_1 (OMAP2_CONTROL_GENERAL + 0x00b4)
> -#define OMAP24XX_CONTROL_TEST_KEY_0 (OMAP2_CONTROL_GENERAL + 0x00c0)
> -#define OMAP24XX_CONTROL_TEST_KEY_1 (OMAP2_CONTROL_GENERAL + 0x00c4)
> -#define OMAP24XX_CONTROL_TEST_KEY_2 (OMAP2_CONTROL_GENERAL + 0x00c8)
> -#define OMAP24XX_CONTROL_TEST_KEY_3 (OMAP2_CONTROL_GENERAL + 0x00cc)
> -#define OMAP24XX_CONTROL_TEST_KEY_4 (OMAP2_CONTROL_GENERAL + 0x00d0)
> -#define OMAP24XX_CONTROL_TEST_KEY_5 (OMAP2_CONTROL_GENERAL + 0x00d4)
> -#define OMAP24XX_CONTROL_TEST_KEY_6 (OMAP2_CONTROL_GENERAL + 0x00d8)
> -#define OMAP24XX_CONTROL_TEST_KEY_7 (OMAP2_CONTROL_GENERAL + 0x00dc)
> -#define OMAP24XX_CONTROL_TEST_KEY_8 (OMAP2_CONTROL_GENERAL + 0x00e0)
> -#define OMAP24XX_CONTROL_TEST_KEY_9 (OMAP2_CONTROL_GENERAL + 0x00e4)
> -
> #define OMAP343X_CONTROL_PADCONF_SYSNIRQ (OMAP2_CONTROL_INTERFACE + 0x01b0)
>
> /* 34xx-only CONTROL_GENERAL register offsets */
> @@ -311,14 +257,12 @@
> */
> /* CONTROL_DEVCONF0 bits */
> #define OMAP2_MMCSDIO1ADPCLKISEL (1 << 24) /* MMC1 loop back clock */
> -#define OMAP24XX_USBSTANDBYCTRL (1 << 15)
> #define OMAP2_MCBSP2_CLKS_MASK (1 << 6)
> #define OMAP2_MCBSP1_FSR_MASK (1 << 4)
> #define OMAP2_MCBSP1_CLKR_MASK (1 << 3)
> #define OMAP2_MCBSP1_CLKS_MASK (1 << 2)
>
> /* CONTROL_DEVCONF1 bits */
> -#define OMAP243X_MMC1_ACTIVE_OVERWRITE (1 << 31)
> #define OMAP2_MMCSDIO2ADPCLKISEL (1 << 6) /* MMC2 loop back clock */
> #define OMAP2_MCBSP5_CLKS_MASK (1 << 4) /* > 242x */
> #define OMAP2_MCBSP4_CLKS_MASK (1 << 2) /* > 242x */
> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
> index dbec3bb9fbf4..addc14898bd5 100644
> --- a/arch/arm/mach-omap2/display.c
> +++ b/arch/arm/mach-omap2/display.c
> @@ -124,9 +124,7 @@ static void omap_dsi_disable_pads(int dsi_id, unsigned lane_mask)
>
> static enum omapdss_version __init omap_display_get_version(void)
> {
> - if (cpu_is_omap24xx())
> - return OMAPDSS_VER_OMAP24xx;
> - else if (cpu_is_omap3630())
> + if (cpu_is_omap3630())
> return OMAPDSS_VER_OMAP3630;
> else if (cpu_is_omap34xx()) {
> if (soc_is_am35xx()) {
> diff --git a/arch/arm/mach-omap2/dma.c b/arch/arm/mach-omap2/dma.c
> index 830cd4e7eb44..3a6b7b4620ca 100644
> --- a/arch/arm/mach-omap2/dma.c
> +++ b/arch/arm/mach-omap2/dma.c
> @@ -82,39 +82,6 @@ static unsigned configure_dma_errata(void)
> {
> unsigned errata = 0;
>
> - /*
> - * Errata applicable for OMAP2430ES1.0 and all omap2420
> - *
> - * I.
> - * Erratum ID: Not Available
> - * Inter Frame DMA buffering issue DMA will wrongly
> - * buffer elements if packing and bursting is enabled. This might
> - * result in data gets stalled in FIFO at the end of the block.
> - * Workaround: DMA channels must have BUFFERING_DISABLED bit set to
> - * guarantee no data will stay in the DMA FIFO in case inter frame
> - * buffering occurs
> - *
> - * II.
> - * Erratum ID: Not Available
> - * DMA may hang when several channels are used in parallel
> - * In the following configuration, DMA channel hanging can occur:
> - * a. Channel i, hardware synchronized, is enabled
> - * b. Another channel (Channel x), software synchronized, is enabled.
> - * c. Channel i is disabled before end of transfer
> - * d. Channel i is reenabled.
> - * e. Steps 1 to 4 are repeated a certain number of times.
> - * f. A third channel (Channel y), software synchronized, is enabled.
> - * Channel x and Channel y may hang immediately after step 'f'.
> - * Workaround:
> - * For any channel used - make sure NextLCH_ID is set to the value j.
> - */
> - if (cpu_is_omap2420() || (cpu_is_omap2430() &&
> - (omap_type() == OMAP2430_REV_ES1_0))) {
> -
> - SET_DMA_ERRATA(DMA_ERRATA_IFRAME_BUFFERING);
> - SET_DMA_ERRATA(DMA_ERRATA_PARALLEL_CHANNELS);
> - }
> -
> /*
> * Erratum ID: i378: OMAP2+: sDMA Channel is not disabled
> * after a transaction error.
> @@ -162,16 +129,6 @@ static unsigned configure_dma_errata(void)
> return errata;
> }
>
> -static const struct dma_slave_map omap24xx_sdma_dt_map[] = {
> - /* external DMA requests when tusb6010 is used */
> - { "musb-hdrc.1.auto", "dmareq0", SDMA_FILTER_PARAM(2) },
> - { "musb-hdrc.1.auto", "dmareq1", SDMA_FILTER_PARAM(3) },
> - { "musb-hdrc.1.auto", "dmareq2", SDMA_FILTER_PARAM(14) }, /* OMAP2420 only */
> - { "musb-hdrc.1.auto", "dmareq3", SDMA_FILTER_PARAM(15) }, /* OMAP2420 only */
> - { "musb-hdrc.1.auto", "dmareq4", SDMA_FILTER_PARAM(16) }, /* OMAP2420 only */
> - { "musb-hdrc.1.auto", "dmareq5", SDMA_FILTER_PARAM(64) }, /* OMAP2420 only */
> -};
> -
> static struct omap_dma_dev_attr dma_attr = {
> .dev_caps = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
> IS_CSSA_32 | IS_CDSA_32,
> @@ -188,15 +145,7 @@ struct omap_system_dma_plat_info dma_plat_info = {
> static int __init omap2_system_dma_init(void)
> {
> dma_plat_info.errata = configure_dma_errata();
> -
> - if (soc_is_omap24xx()) {
> - /* DMA slave map for drivers not yet converted to DT */
> - dma_plat_info.slave_map = omap24xx_sdma_dt_map;
> - dma_plat_info.slavecnt = ARRAY_SIZE(omap24xx_sdma_dt_map);
> - }
> -
> - if (!soc_is_omap242x())
> - dma_attr.dev_caps |= IS_RW_PRIORITY;
> + dma_attr.dev_caps |= IS_RW_PRIORITY;
>
> if (soc_is_omap34xx() && (omap_type() != OMAP2_DEVICE_TYPE_GP))
> dma_attr.dev_caps |= HS_CHANNELS_RESERVED;
> diff --git a/arch/arm/mach-omap2/fb.c b/arch/arm/mach-omap2/fb.c
> index 0f8c8efe3ae8..9a425c36f996 100644
> --- a/arch/arm/mach-omap2/fb.c
> +++ b/arch/arm/mach-omap2/fb.c
> @@ -27,15 +27,6 @@
> * The first memory resource is the register region for VRFB,
> * the rest are VRFB virtual memory areas for each VRFB context.
> */
> -
> -static const struct resource omap2_vrfb_resources[] = {
> - DEFINE_RES_MEM_NAMED(0x68008000u, 0x40, "vrfb-regs"),
> - DEFINE_RES_MEM_NAMED(0x70000000u, 0x4000000, "vrfb-area-0"),
> - DEFINE_RES_MEM_NAMED(0x74000000u, 0x4000000, "vrfb-area-1"),
> - DEFINE_RES_MEM_NAMED(0x78000000u, 0x4000000, "vrfb-area-2"),
> - DEFINE_RES_MEM_NAMED(0x7c000000u, 0x4000000, "vrfb-area-3"),
> -};
> -
> static const struct resource omap3_vrfb_resources[] = {
> DEFINE_RES_MEM_NAMED(0x6C000180u, 0xc0, "vrfb-regs"),
> DEFINE_RES_MEM_NAMED(0x70000000u, 0x4000000, "vrfb-area-0"),
> @@ -58,10 +49,7 @@ int __init omap_init_vrfb(void)
> const struct resource *res;
> unsigned int num_res;
>
> - if (cpu_is_omap24xx()) {
> - res = omap2_vrfb_resources;
> - num_res = ARRAY_SIZE(omap2_vrfb_resources);
> - } else if (cpu_is_omap34xx()) {
> + if (cpu_is_omap34xx()) {
> res = omap3_vrfb_resources;
> num_res = ARRAY_SIZE(omap3_vrfb_resources);
> } else {
> diff --git a/arch/arm/mach-omap2/gpmc.h b/arch/arm/mach-omap2/gpmc.h
> deleted file mode 100644
> index e060f1b5c27d..000000000000
> --- a/arch/arm/mach-omap2/gpmc.h
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * General-Purpose Memory Controller for OMAP2
> - *
> - * Copyright (C) 2005-2006 Nokia Corporation
> - *
> - * Do not include this file in any new code, this will get removed
> - * once omap3 boots in device tree only mode.
> - */
> -#include <linux/omap-gpmc.h>
> diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c
> index 3b4b9514f4fa..d956c70f8899 100644
> --- a/arch/arm/mach-omap2/i2c.c
> +++ b/arch/arm/mach-omap2/i2c.c
> @@ -39,7 +39,7 @@ int omap_i2c_reset(struct omap_hwmod *oh)
> u16 i2c_con;
> int c = 0;
>
> - if (soc_is_omap24xx() || soc_is_omap34xx() || soc_is_am35xx())
> + if (soc_is_omap34xx() || soc_is_am35xx())
> i2c_con = OMAP2_I2C_CON_OFFSET;
> else
> i2c_con = OMAP4_I2C_CON_OFFSET;
> diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> index cf2bfb447ee2..3e731dd21311 100644
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -55,9 +55,7 @@ int omap_type(void)
> if (val < OMAP2_DEVICETYPE_MASK)
> return val;
>
> - if (soc_is_omap24xx()) {
> - val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
> - } else if (soc_is_ti81xx()) {
> + if (soc_is_ti81xx()) {
> val = omap_ctrl_readl(TI81XX_CONTROL_STATUS);
> } else if (soc_is_am33xx() || soc_is_am43xx()) {
> val = omap_ctrl_readl(AM33XX_CONTROL_STATUS);
> @@ -99,22 +97,6 @@ EXPORT_SYMBOL(omap_type);
>
> #define read_tap_reg(reg) readl_relaxed(tap_base + (reg))
>
> -struct omap_id {
> - u16 hawkeye; /* Silicon type (Hawkeye id) */
> - u8 dev; /* Device type from production_id reg */
> - u32 type; /* Combined type id copied to omap_revision */
> -};
> -
> -/* Register values to detect the OMAP version */
> -static struct omap_id omap_ids[] __initdata = {
> - { .hawkeye = 0xb5d9, .dev = 0x0, .type = 0x24200024 },
> - { .hawkeye = 0xb5d9, .dev = 0x1, .type = 0x24201024 },
> - { .hawkeye = 0xb5d9, .dev = 0x2, .type = 0x24202024 },
> - { .hawkeye = 0xb5d9, .dev = 0x4, .type = 0x24220024 },
> - { .hawkeye = 0xb5d9, .dev = 0x8, .type = 0x24230024 },
> - { .hawkeye = 0xb68a, .dev = 0x0, .type = 0x24300024 },
> -};
> -
> static void __iomem *tap_base;
> static u16 tap_prod_id;
>
> @@ -145,62 +127,6 @@ static int __init omap_feed_randpool(void)
> }
> omap_device_initcall(omap_feed_randpool);
>
> -void __init omap2xxx_check_revision(void)
> -{
> - int i, j;
> - u32 idcode, prod_id;
> - u16 hawkeye;
> - u8 dev_type, rev;
> - struct omap_die_id odi;
> -
> - idcode = read_tap_reg(OMAP_TAP_IDCODE);
> - prod_id = read_tap_reg(tap_prod_id);
> - hawkeye = (idcode >> 12) & 0xffff;
> - rev = (idcode >> 28) & 0x0f;
> - dev_type = (prod_id >> 16) & 0x0f;
> - omap_get_die_id(&odi);
> -
> - pr_debug("OMAP_TAP_IDCODE 0x%08x REV %i HAWKEYE 0x%04x MANF %03x\n",
> - idcode, rev, hawkeye, (idcode >> 1) & 0x7ff);
> - pr_debug("OMAP_TAP_DIE_ID_0: 0x%08x\n", odi.id_0);
> - pr_debug("OMAP_TAP_DIE_ID_1: 0x%08x DEV_REV: %i\n",
> - odi.id_1, (odi.id_1 >> 28) & 0xf);
> - pr_debug("OMAP_TAP_DIE_ID_2: 0x%08x\n", odi.id_2);
> - pr_debug("OMAP_TAP_DIE_ID_3: 0x%08x\n", odi.id_3);
> - pr_debug("OMAP_TAP_PROD_ID_0: 0x%08x DEV_TYPE: %i\n",
> - prod_id, dev_type);
> -
> - /* Check hawkeye ids */
> - for (i = 0; i < ARRAY_SIZE(omap_ids); i++) {
> - if (hawkeye == omap_ids[i].hawkeye)
> - break;
> - }
> -
> - if (i == ARRAY_SIZE(omap_ids)) {
> - printk(KERN_ERR "Unknown OMAP CPU id\n");
> - return;
> - }
> -
> - for (j = i; j < ARRAY_SIZE(omap_ids); j++) {
> - if (dev_type == omap_ids[j].dev)
> - break;
> - }
> -
> - if (j == ARRAY_SIZE(omap_ids)) {
> - pr_err("Unknown OMAP device type. Handling it as OMAP%04x\n",
> - omap_ids[i].type >> 16);
> - j = i;
> - }
> -
> - sprintf(soc_name, "OMAP%04x", omap_rev() >> 16);
> - sprintf(soc_rev, "ES%x", (omap_rev() >> 12) & 0xf);
> -
> - pr_info("%s", soc_name);
> - if ((omap_rev() >> 8) & 0x0f)
> - pr_cont("%s", soc_rev);
> - pr_cont("\n");
> -}
> -
> #define OMAP3_SHOW_FEATURE(feat) \
> if (omap3_has_ ##feat()) \
> n += scnprintf(buf + n, sizeof(buf) - n, #feat " ");
> @@ -750,9 +676,7 @@ static const char * const omap_types[] = {
>
> static const char * __init omap_get_family(void)
> {
> - if (soc_is_omap24xx())
> - return kasprintf(GFP_KERNEL, "OMAP2");
> - else if (soc_is_omap34xx())
> + if (soc_is_omap34xx())
> return kasprintf(GFP_KERNEL, "OMAP3");
> else if (soc_is_omap44xx())
> return kasprintf(GFP_KERNEL, "OMAP4");
> diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
> index 14ec3f78000b..1c945be5e7cc 100644
> --- a/arch/arm/mach-omap2/io.c
> +++ b/arch/arm/mach-omap2/io.c
> @@ -35,7 +35,6 @@
> #include "sdrc.h"
> #include "control.h"
> #include "sram.h"
> -#include "cm2xxx.h"
> #include "cm3xxx.h"
> #include "cm33xx.h"
> #include "cm44xx.h"
> @@ -43,11 +42,9 @@
> #include "cm.h"
> #include "prcm_mpu44xx.h"
> #include "prminst44xx.h"
> -#include "prm2xxx.h"
> #include "prm3xxx.h"
> #include "prm33xx.h"
> #include "prm44xx.h"
> -#include "opp2xxx.h"
> #include "omap-secure.h"
>
> /*
> @@ -61,76 +58,6 @@ static int (*omap_clk_soc_init)(void);
> * default mapping provided here.
> */
>
> -#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
> -static struct map_desc omap24xx_io_desc[] __initdata = {
> - {
> - .virtual = L3_24XX_VIRT,
> - .pfn = __phys_to_pfn(L3_24XX_PHYS),
> - .length = L3_24XX_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = L4_24XX_VIRT,
> - .pfn = __phys_to_pfn(L4_24XX_PHYS),
> - .length = L4_24XX_SIZE,
> - .type = MT_DEVICE
> - },
> -};
> -
> -#ifdef CONFIG_SOC_OMAP2420
> -static struct map_desc omap242x_io_desc[] __initdata = {
> - {
> - .virtual = DSP_MEM_2420_VIRT,
> - .pfn = __phys_to_pfn(DSP_MEM_2420_PHYS),
> - .length = DSP_MEM_2420_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = DSP_IPI_2420_VIRT,
> - .pfn = __phys_to_pfn(DSP_IPI_2420_PHYS),
> - .length = DSP_IPI_2420_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = DSP_MMU_2420_VIRT,
> - .pfn = __phys_to_pfn(DSP_MMU_2420_PHYS),
> - .length = DSP_MMU_2420_SIZE,
> - .type = MT_DEVICE
> - },
> -};
> -
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -static struct map_desc omap243x_io_desc[] __initdata = {
> - {
> - .virtual = L4_WK_243X_VIRT,
> - .pfn = __phys_to_pfn(L4_WK_243X_PHYS),
> - .length = L4_WK_243X_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = OMAP243X_GPMC_VIRT,
> - .pfn = __phys_to_pfn(OMAP243X_GPMC_PHYS),
> - .length = OMAP243X_GPMC_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = OMAP243X_SDRC_VIRT,
> - .pfn = __phys_to_pfn(OMAP243X_SDRC_PHYS),
> - .length = OMAP243X_SDRC_SIZE,
> - .type = MT_DEVICE
> - },
> - {
> - .virtual = OMAP243X_SMS_VIRT,
> - .pfn = __phys_to_pfn(OMAP243X_SMS_PHYS),
> - .length = OMAP243X_SMS_SIZE,
> - .type = MT_DEVICE
> - },
> -};
> -#endif
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> static struct map_desc omap34xx_io_desc[] __initdata = {
> {
> @@ -305,22 +232,6 @@ static struct map_desc dra7xx_io_desc[] __initdata = {
> };
> #endif
>
> -#ifdef CONFIG_SOC_OMAP2420
> -void __init omap242x_map_io(void)
> -{
> - iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
> - iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc));
> -}
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -void __init omap243x_map_io(void)
> -{
> - iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
> - iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc));
> -}
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> void __init omap3_map_io(void)
> {
> @@ -365,6 +276,8 @@ void __init dra7xx_map_io(void)
> omap_barriers_init();
> }
> #endif
> +
> +#ifdef CONFIG_ARCH_OMAP3
> /*
> * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
> *
> @@ -399,7 +312,6 @@ static int __init _omap2_init_reprogram_sdrc(void)
> return v;
> }
>
> -#ifdef CONFIG_OMAP_HWMOD
> static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)
> {
> return omap_hwmod_set_postsetup_state(oh, *(u8 *)data);
> @@ -412,55 +324,11 @@ static void __init __maybe_unused omap_hwmod_init_postsetup(void)
> /* Set the default postsetup state for all hwmods */
> omap_hwmod_for_each(_set_hwmod_postsetup_state, &postsetup_state);
> }
> -#else
> -static inline void omap_hwmod_init_postsetup(void)
> -{
> -}
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2420
> -void __init omap2420_init_early(void)
> -{
> - omap2_set_globals_tap(OMAP242X_CLASS, OMAP2_L4_IO_ADDRESS(0x48014000));
> - omap2_set_globals_sdrc(OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE),
> - OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE));
> - omap2_control_base_init();
> - omap2xxx_check_revision();
> - omap2_prcm_base_init();
> - omap2xxx_voltagedomains_init();
> - omap242x_powerdomains_init();
> - omap242x_clockdomains_init();
> - omap2420_hwmod_init();
> - omap_hwmod_init_postsetup();
> - omap_clk_soc_init = omap2420_dt_clk_init;
> - rate_table = omap2420_rate_table;
> -}
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -void __init omap2430_init_early(void)
> -{
> - omap2_set_globals_tap(OMAP243X_CLASS, OMAP2_L4_IO_ADDRESS(0x4900a000));
> - omap2_set_globals_sdrc(OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE),
> - OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE));
> - omap2_control_base_init();
> - omap2xxx_check_revision();
> - omap2_prcm_base_init();
> - omap2xxx_voltagedomains_init();
> - omap243x_powerdomains_init();
> - omap243x_clockdomains_init();
> - omap2430_hwmod_init();
> - omap_hwmod_init_postsetup();
> - omap_clk_soc_init = omap2430_dt_clk_init;
> - rate_table = omap2430_rate_table;
> -}
> -#endif
>
> /*
> * Currently only board-omap3beagle.c should call this because of the
> * same machine_id for 34xx and 36xx beagle.. Will get fixed with DT.
> */
> -#ifdef CONFIG_ARCH_OMAP3
> static void __init omap3_init_early(void)
> {
> omap2_set_globals_tap(OMAP343X_CLASS, OMAP2_L4_IO_ADDRESS(0x4830A000));
> @@ -661,16 +529,18 @@ void __init dra7xx_init_late(void)
> #endif
>
>
> +#ifdef CONFIG_ARCH_OMAP3
> void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
> struct omap_sdrc_params *sdrc_cs1)
> {
> omap_sram_init();
>
> - if (cpu_is_omap24xx() || omap3_has_sdrc()) {
> + if (omap3_has_sdrc()) {
> omap2_sdrc_init(sdrc_cs0, sdrc_cs1);
> _omap2_init_reprogram_sdrc();
> }
> }
> +#endif
>
> int __init omap_clk_init(void)
> {
> diff --git a/arch/arm/mach-omap2/iomap.h b/arch/arm/mach-omap2/iomap.h
> index 6191d244438a..403444bb6924 100644
> --- a/arch/arm/mach-omap2/iomap.h
> +++ b/arch/arm/mach-omap2/iomap.h
> @@ -48,52 +48,6 @@
> #define OMAP2_EMU_IO_OFFSET 0xaa800000 /* Emulation */
> #define OMAP2_EMU_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_EMU_IO_OFFSET)
>
> -/*
> - * ----------------------------------------------------------------------------
> - * Omap2 specific IO mapping
> - * ----------------------------------------------------------------------------
> - */
> -
> -/* We map both L3 and L4 on OMAP2 */
> -#define L3_24XX_PHYS L3_24XX_BASE /* 0x68000000 --> 0xf8000000*/
> -#define L3_24XX_VIRT (L3_24XX_PHYS + OMAP2_L3_IO_OFFSET)
> -#define L3_24XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
> -#define L4_24XX_PHYS L4_24XX_BASE /* 0x48000000 --> 0xfa000000 */
> -#define L4_24XX_VIRT (L4_24XX_PHYS + OMAP2_L4_IO_OFFSET)
> -#define L4_24XX_SIZE SZ_1M /* 1MB of 128MB used, want 1MB sect */
> -
> -#define L4_WK_243X_PHYS L4_WK_243X_BASE /* 0x49000000 --> 0xfb000000 */
> -#define L4_WK_243X_VIRT (L4_WK_243X_PHYS + OMAP2_L4_IO_OFFSET)
> -#define L4_WK_243X_SIZE SZ_1M
> -#define OMAP243X_GPMC_PHYS OMAP243X_GPMC_BASE
> -#define OMAP243X_GPMC_VIRT (OMAP243X_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
> - /* 0x6e000000 --> 0xfe000000 */
> -#define OMAP243X_GPMC_SIZE SZ_1M
> -#define OMAP243X_SDRC_PHYS OMAP243X_SDRC_BASE
> - /* 0x6D000000 --> 0xfd000000 */
> -#define OMAP243X_SDRC_VIRT (OMAP243X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
> -#define OMAP243X_SDRC_SIZE SZ_1M
> -#define OMAP243X_SMS_PHYS OMAP243X_SMS_BASE
> - /* 0x6c000000 --> 0xfc000000 */
> -#define OMAP243X_SMS_VIRT (OMAP243X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
> -#define OMAP243X_SMS_SIZE SZ_1M
> -
> -/* 2420 IVA */
> -#define DSP_MEM_2420_PHYS OMAP2420_DSP_MEM_BASE
> - /* 0x58000000 --> 0xfc100000 */
> -#define DSP_MEM_2420_VIRT 0xfc100000
> -#define DSP_MEM_2420_SIZE 0x28000
> -#define DSP_IPI_2420_PHYS OMAP2420_DSP_IPI_BASE
> - /* 0x59000000 --> 0xfc128000 */
> -#define DSP_IPI_2420_VIRT 0xfc128000
> -#define DSP_IPI_2420_SIZE SZ_4K
> -#define DSP_MMU_2420_PHYS OMAP2420_DSP_MMU_BASE
> - /* 0x5a000000 --> 0xfc129000 */
> -#define DSP_MMU_2420_VIRT 0xfc129000
> -#define DSP_MMU_2420_SIZE SZ_4K
> -
> -/* 2430 IVA2.1 - currently unmapped */
> -
> /*
> * ----------------------------------------------------------------------------
> * Omap3 specific IO mapping
> diff --git a/arch/arm/mach-omap2/l3_2xxx.h b/arch/arm/mach-omap2/l3_2xxx.h
> deleted file mode 100644
> index 6297c62428ac..000000000000
> --- a/arch/arm/mach-omap2/l3_2xxx.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * arch/arm/plat-omap/include/plat/l3_2xxx.h - L3 firewall definitions
> - *
> - * Copyright (C) 2010 Texas Instruments Incorporated - https://www.ti.com/
> - * Sumit Semwal
> - */
> -#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L3_2XXX_H
> -#define __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L3_2XXX_H
> -
> -/* L3 CONNIDs */
> -/* Display Sub system (DSS) */
> -#define OMAP2_L3_CORE_FW_CONNID_DSS 8
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/l4_2xxx.h b/arch/arm/mach-omap2/l4_2xxx.h
> deleted file mode 100644
> index 418e1072d730..000000000000
> --- a/arch/arm/mach-omap2/l4_2xxx.h
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * arch/arm/plat-omap/include/plat/l4_2xxx.h - L4 firewall definitions
> - *
> - * Copyright (C) 2010 Texas Instruments Incorporated - https://www.ti.com/
> - * Sumit Semwal
> - */
> -#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L4_2XXX_H
> -#define __ARCH_ARM_PLAT_OMAP_INCLUDE_PLAT_L4_2XXX_H
> -
> -/* L4 CORE */
> -/* Display Sub system (DSS) */
> -#define OMAP2420_L4_CORE_FW_DSS_CORE_REGION 28
> -#define OMAP2420_L4_CORE_FW_DSS_DISPC_REGION 29
> -#define OMAP2420_L4_CORE_FW_DSS_RFBI_REGION 30
> -#define OMAP2420_L4_CORE_FW_DSS_VENC_REGION 31
> -#define OMAP2420_L4_CORE_FW_DSS_TA_REGION 32
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/mmc.h b/arch/arm/mach-omap2/mmc.h
> deleted file mode 100644
> index b5533e93cb63..000000000000
> --- a/arch/arm/mach-omap2/mmc.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -
> -#define OMAP24XX_NR_MMC 2
> -#define OMAP2420_MMC_SIZE OMAP1_MMC_SIZE
> -#define OMAP2_MMC1_BASE 0x4809c000
> -
> -#define OMAP4_MMC_REG_OFFSET 0x100
> -
> -struct omap_hwmod;
> -
> -#ifdef CONFIG_SOC_OMAP2420
> -int omap_msdi_reset(struct omap_hwmod *oh);
> -#else
> -static inline int omap_msdi_reset(struct omap_hwmod *oh)
> -{
> - return 0;
> -}
> -#endif
> diff --git a/arch/arm/mach-omap2/msdi.c b/arch/arm/mach-omap2/msdi.c
> deleted file mode 100644
> index 552b2fa4e4f1..000000000000
> --- a/arch/arm/mach-omap2/msdi.c
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * MSDI IP block reset
> - *
> - * Copyright (C) 2012 Texas Instruments, Inc.
> - * Paul Walmsley
> - *
> - * XXX What about pad muxing?
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/err.h>
> -
> -#include "prm.h"
> -#include "common.h"
> -#include "control.h"
> -#include "omap_hwmod.h"
> -#include "omap_device.h"
> -#include "mmc.h"
> -
> -/*
> - * MSDI_CON_OFFSET: offset in bytes of the MSDI IP block's CON register
> - * from the IP block's base address
> - */
> -#define MSDI_CON_OFFSET 0x0c
> -
> -/* Register bitfields in the CON register */
> -#define MSDI_CON_POW_MASK BIT(11)
> -#define MSDI_CON_CLKD_MASK (0x3f << 0)
> -#define MSDI_CON_CLKD_SHIFT 0
> -
> -/* MSDI_TARGET_RESET_CLKD: clock divisor to use throughout the reset */
> -#define MSDI_TARGET_RESET_CLKD 0x3ff
> -
> -/**
> - * omap_msdi_reset - reset the MSDI IP block
> - * @oh: struct omap_hwmod *
> - *
> - * The MSDI IP block on OMAP2420 has to have both the POW and CLKD
> - * fields set inside its CON register for a reset to complete
> - * successfully. This is not documented in the TRM. For CLKD, we use
> - * the value that results in the lowest possible clock rate, to attempt
> - * to avoid disturbing any cards.
> - */
> -int omap_msdi_reset(struct omap_hwmod *oh)
> -{
> - u16 v = 0;
> - int c = 0;
> -
> - /* Write to the SOFTRESET bit */
> - omap_hwmod_softreset(oh);
> -
> - /* Enable the MSDI core and internal clock */
> - v |= MSDI_CON_POW_MASK;
> - v |= MSDI_TARGET_RESET_CLKD << MSDI_CON_CLKD_SHIFT;
> - omap_hwmod_write(v, oh, MSDI_CON_OFFSET);
> -
> - /* Poll on RESETDONE bit */
> - omap_test_timeout((omap_hwmod_read(oh, oh->class->sysc->syss_offs)
> - & SYSS_RESETDONE_MASK),
> - MAX_MODULE_SOFTRESET_WAIT, c);
> -
> - if (c == MAX_MODULE_SOFTRESET_WAIT)
> - pr_warn("%s: %s: softreset failed (waited %d usec)\n",
> - __func__, oh->name, MAX_MODULE_SOFTRESET_WAIT);
> - else
> - pr_debug("%s: %s: softreset in %d usec\n", __func__,
> - oh->name, c);
> -
> - /* Disable the MSDI internal clock */
> - v &= ~MSDI_CON_CLKD_MASK;
> - omap_hwmod_write(v, oh, MSDI_CON_OFFSET);
> -
> - return 0;
> -}
> diff --git a/arch/arm/mach-omap2/omap2-restart.c b/arch/arm/mach-omap2/omap2-restart.c
> deleted file mode 100644
> index fdcc75c97d70..000000000000
> --- a/arch/arm/mach-omap2/omap2-restart.c
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * omap2-restart.c - code common to all OMAP2xxx machines.
> - *
> - * Copyright (C) 2012 Texas Instruments
> - * Paul Walmsley
> - */
> -#include <linux/kernel.h>
> -#include <linux/init.h>
> -#include <linux/clk.h>
> -#include <linux/io.h>
> -
> -#include "soc.h"
> -#include "common.h"
> -#include "prm.h"
> -
> -/*
> - * reset_virt_prcm_set_ck, reset_sys_ck: pointers to the virt_prcm_set
> - * clock and the sys_ck. Used during the reset process
> - */
> -static struct clk *reset_virt_prcm_set_ck, *reset_sys_ck;
> -
> -/* Reboot handling */
> -
> -/**
> - * omap2xxx_restart - Set DPLL to bypass mode for reboot to work
> - *
> - * Set the DPLL to bypass so that reboot completes successfully. No
> - * return value.
> - */
> -void omap2xxx_restart(enum reboot_mode mode, const char *cmd)
> -{
> - u32 rate;
> -
> - rate = clk_get_rate(reset_sys_ck);
> - clk_set_rate(reset_virt_prcm_set_ck, rate);
> -
> - /* XXX Should save the cmd argument for use after the reboot */
> -
> - omap_prm_reset_system();
> -}
> -
> -/**
> - * omap2xxx_common_look_up_clks_for_reset - look up clocks needed for restart
> - *
> - * Some clocks need to be looked up in advance for the SoC restart
> - * operation to work - see omap2xxx_restart(). Returns -EINVAL upon
> - * error or 0 upon success.
> - */
> -static int __init omap2xxx_common_look_up_clks_for_reset(void)
> -{
> - reset_virt_prcm_set_ck = clk_get(NULL, "virt_prcm_set");
> - if (IS_ERR(reset_virt_prcm_set_ck))
> - return -EINVAL;
> -
> - reset_sys_ck = clk_get(NULL, "sys_ck");
> - if (IS_ERR(reset_sys_ck))
> - return -EINVAL;
> -
> - return 0;
> -}
> -omap_postcore_initcall(omap2xxx_common_look_up_clks_for_reset);
> diff --git a/arch/arm/mach-omap2/omap24xx.h b/arch/arm/mach-omap2/omap24xx.h
> deleted file mode 100644
> index d9ecc0578292..000000000000
> --- a/arch/arm/mach-omap2/omap24xx.h
> +++ /dev/null
> @@ -1,73 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * This file contains the processor specific definitions
> - * of the TI OMAP24XX.
> - *
> - * Copyright (C) 2007 Texas Instruments.
> - * Copyright (C) 2007 Nokia Corporation.
> - */
> -
> -#ifndef __ASM_ARCH_OMAP2_H
> -#define __ASM_ARCH_OMAP2_H
> -
> -/*
> - * Please place only base defines here and put the rest in device
> - * specific headers. Note also that some of these defines are needed
> - * for omap1 to compile without adding ifdefs.
> - */
> -
> -#define L4_24XX_BASE 0x48000000
> -#define L4_WK_243X_BASE 0x49000000
> -#define L3_24XX_BASE 0x68000000
> -
> -/* interrupt controller */
> -#define OMAP24XX_IC_BASE (L4_24XX_BASE + 0xfe000)
> -#define OMAP24XX_IVA_INTC_BASE 0x40000000
> -
> -#define OMAP242X_CTRL_BASE L4_24XX_BASE
> -#define OMAP2420_32KSYNCT_BASE (L4_24XX_BASE + 0x4000)
> -#define OMAP2420_PRCM_BASE (L4_24XX_BASE + 0x8000)
> -#define OMAP2420_CM_BASE (L4_24XX_BASE + 0x8000)
> -#define OMAP2420_PRM_BASE OMAP2420_CM_BASE
> -#define OMAP2420_SDRC_BASE (L3_24XX_BASE + 0x9000)
> -#define OMAP2420_SMS_BASE 0x68008000
> -#define OMAP2420_GPMC_BASE 0x6800a000
> -
> -#define OMAP2430_32KSYNCT_BASE (L4_WK_243X_BASE + 0x20000)
> -#define OMAP2430_PRCM_BASE (L4_WK_243X_BASE + 0x6000)
> -#define OMAP2430_CM_BASE (L4_WK_243X_BASE + 0x6000)
> -#define OMAP2430_PRM_BASE OMAP2430_CM_BASE
> -
> -#define OMAP243X_SMS_BASE 0x6C000000
> -#define OMAP243X_SDRC_BASE 0x6D000000
> -#define OMAP243X_GPMC_BASE 0x6E000000
> -#define OMAP243X_SCM_BASE (L4_WK_243X_BASE + 0x2000)
> -#define OMAP243X_CTRL_BASE OMAP243X_SCM_BASE
> -#define OMAP243X_HS_BASE (L4_24XX_BASE + 0x000ac000)
> -
> -/* DSP SS */
> -#define OMAP2420_DSP_BASE 0x58000000
> -#define OMAP2420_DSP_MEM_BASE (OMAP2420_DSP_BASE + 0x0)
> -#define OMAP2420_DSP_IPI_BASE (OMAP2420_DSP_BASE + 0x1000000)
> -#define OMAP2420_DSP_MMU_BASE (OMAP2420_DSP_BASE + 0x2000000)
> -
> -#define OMAP243X_DSP_BASE 0x5C000000
> -#define OMAP243X_DSP_MEM_BASE (OMAP243X_DSP_BASE + 0x0)
> -#define OMAP243X_DSP_MMU_BASE (OMAP243X_DSP_BASE + 0x1000000)
> -
> -/* Mailbox */
> -#define OMAP24XX_MAILBOX_BASE (L4_24XX_BASE + 0x94000)
> -
> -/* Camera */
> -#define OMAP24XX_CAMERA_BASE (L4_24XX_BASE + 0x52000)
> -
> -/* Security */
> -#define OMAP24XX_SEC_BASE (L4_24XX_BASE + 0xA0000)
> -#define OMAP24XX_SEC_RNG_BASE (OMAP24XX_SEC_BASE + 0x0000)
> -#define OMAP24XX_SEC_DES_BASE (OMAP24XX_SEC_BASE + 0x2000)
> -#define OMAP24XX_SEC_SHA1MD5_BASE (OMAP24XX_SEC_BASE + 0x4000)
> -#define OMAP24XX_SEC_AES_BASE (OMAP24XX_SEC_BASE + 0x6000)
> -#define OMAP24XX_SEC_PKA_BASE (OMAP24XX_SEC_BASE + 0x8000)
> -
> -#endif /* __ASM_ARCH_OMAP2_H */
> -
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 03cd523dff87..c918399ea735 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -153,9 +153,7 @@
> #include "common.h"
> #include "clockdomain.h"
> #include "hdq1w.h"
> -#include "mmc.h"
> #include "powerdomain.h"
> -#include "cm2xxx.h"
> #include "cm3xxx.h"
> #include "cm33xx.h"
> #include "prm.h"
> @@ -3469,10 +3467,6 @@ static int omap_hwmod_allocate_module(struct device *dev, struct omap_hwmod *oh,
> return -ENOMEM;
> }
>
> -static const struct omap_hwmod_reset omap24xx_reset_quirks[] = {
> - { .match = "msdi", .len = 4, .reset = omap_msdi_reset, },
> -};
> -
> static const struct omap_hwmod_reset omap_reset_quirks[] = {
> { .match = "dss_core", .len = 8, .reset = omap_dss_reset, },
> { .match = "hdq1w", .len = 5, .reset = omap_hdq1w_reset, },
> @@ -3503,11 +3497,6 @@ static void
> omap_hwmod_init_reset_quirks(struct device *dev, struct omap_hwmod *oh,
> const struct ti_sysc_module_data *data)
> {
> - if (soc_is_omap24xx())
> - omap_hwmod_init_reset_quirk(dev, oh, data,
> - omap24xx_reset_quirks,
> - ARRAY_SIZE(omap24xx_reset_quirks));
> -
> omap_hwmod_init_reset_quirk(dev, oh, data, omap_reset_quirks,
> ARRAY_SIZE(omap_reset_quirks));
> }
> @@ -3914,12 +3903,7 @@ int omap_hwmod_set_postsetup_state(struct omap_hwmod *oh, u8 state)
> */
> void __init omap_hwmod_init(void)
> {
> - if (cpu_is_omap24xx()) {
> - soc_ops.wait_target_ready = _omap2xxx_3xxx_wait_target_ready;
> - soc_ops.assert_hardreset = _omap2_assert_hardreset;
> - soc_ops.deassert_hardreset = _omap2_deassert_hardreset;
> - soc_ops.is_hardreset_asserted = _omap2_is_hardreset_asserted;
> - } else if (cpu_is_omap34xx()) {
> + if (cpu_is_omap34xx()) {
> soc_ops.wait_target_ready = _omap2xxx_3xxx_wait_target_ready;
> soc_ops.assert_hardreset = _omap2_assert_hardreset;
> soc_ops.deassert_hardreset = _omap2_deassert_hardreset;
> diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
> index dcab7a01c10e..b60cd09c1997 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.h
> +++ b/arch/arm/mach-omap2/omap_hwmod.h
> @@ -663,8 +663,6 @@ omap_hwmod_for_each_by_class(const char *classname,
> * Chip variant-specific hwmod init routines - XXX should be converted
> * to use initcalls once the initial boot ordering is straightened out
> */
> -extern int omap2420_hwmod_init(void);
> -extern int omap2430_hwmod_init(void);
> extern int omap3xxx_hwmod_init(void);
> extern int dm814x_hwmod_init(void);
> extern int dm816x_hwmod_init(void);
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> deleted file mode 100644
> index dbd9dc9f0962..000000000000
> --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> +++ /dev/null
> @@ -1,402 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * omap_hwmod_2420_data.c - hardware modules present on the OMAP2420 chips
> - *
> - * Copyright (C) 2009-2011 Nokia Corporation
> - * Copyright (C) 2012 Texas Instruments, Inc.
> - * Paul Walmsley
> - *
> - * XXX handle crossbar/shared link difference for L3?
> - * XXX these should be marked initdata for multi-OMAP kernels
> - */
> -
> -#include <linux/platform_data/i2c-omap.h>
> -
> -#include "omap_hwmod.h"
> -#include "l3_2xxx.h"
> -#include "l4_2xxx.h"
> -
> -#include "omap_hwmod_common_data.h"
> -
> -#include "cm-regbits-24xx.h"
> -#include "prm-regbits-24xx.h"
> -#include "i2c.h"
> -#include "mmc.h"
> -#include "wd_timer.h"
> -
> -/*
> - * OMAP2420 hardware module integration data
> - *
> - * All of the data in this section should be autogeneratable from the
> - * TI hardware database or other technical documentation. Data that
> - * is driver-specific or driver-kernel integration-specific belongs
> - * elsewhere.
> - */
> -
> -/*
> - * IP blocks
> - */
> -
> -/* IVA1 (IVA1) */
> -static struct omap_hwmod_class iva1_hwmod_class = {
> - .name = "iva1",
> -};
> -
> -static struct omap_hwmod_rst_info omap2420_iva_resets[] = {
> - { .name = "iva", .rst_shift = 8 },
> -};
> -
> -static struct omap_hwmod omap2420_iva_hwmod = {
> - .name = "iva",
> - .class = &iva1_hwmod_class,
> - .clkdm_name = "iva1_clkdm",
> - .rst_lines = omap2420_iva_resets,
> - .rst_lines_cnt = ARRAY_SIZE(omap2420_iva_resets),
> - .main_clk = "iva1_ifck",
> -};
> -
> -/* DSP */
> -static struct omap_hwmod_class dsp_hwmod_class = {
> - .name = "dsp",
> -};
> -
> -static struct omap_hwmod_rst_info omap2420_dsp_resets[] = {
> - { .name = "logic", .rst_shift = 0 },
> - { .name = "mmu", .rst_shift = 1 },
> -};
> -
> -static struct omap_hwmod omap2420_dsp_hwmod = {
> - .name = "dsp",
> - .class = &dsp_hwmod_class,
> - .clkdm_name = "dsp_clkdm",
> - .rst_lines = omap2420_dsp_resets,
> - .rst_lines_cnt = ARRAY_SIZE(omap2420_dsp_resets),
> - .main_clk = "dsp_fck",
> -};
> -
> -/* I2C common */
> -static struct omap_hwmod_class_sysconfig i2c_sysc = {
> - .rev_offs = 0x00,
> - .sysc_offs = 0x20,
> - .syss_offs = 0x10,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class i2c_class = {
> - .name = "i2c",
> - .sysc = &i2c_sysc,
> - .reset = &omap_i2c_reset,
> -};
> -
> -/* I2C1 */
> -static struct omap_hwmod omap2420_i2c1_hwmod = {
> - .name = "i2c1",
> - .main_clk = "i2c1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2420_ST_I2C1_SHIFT,
> - },
> - },
> - .class = &i2c_class,
> - /*
> - * From mach-omap2/pm24xx.c: "Putting MPU into the WFI state
> - * while a transfer is active seems to cause the I2C block to
> - * timeout. Why? Good question."
> - */
> - .flags = (HWMOD_16BIT_REG | HWMOD_BLOCK_WFI),
> -};
> -
> -/* I2C2 */
> -static struct omap_hwmod omap2420_i2c2_hwmod = {
> - .name = "i2c2",
> - .main_clk = "i2c2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2420_ST_I2C2_SHIFT,
> - },
> - },
> - .class = &i2c_class,
> - .flags = HWMOD_16BIT_REG,
> -};
> -
> -/* mailbox */
> -static struct omap_hwmod omap2420_mailbox_hwmod = {
> - .name = "mailbox",
> - .class = &omap2xxx_mailbox_hwmod_class,
> - .main_clk = "mailboxes_ick",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
> - },
> - },
> -};
> -
> -/*
> - * 'mcbsp' class
> - * multi channel buffered serial port controller
> - */
> -
> -static struct omap_hwmod_class omap2420_mcbsp_hwmod_class = {
> - .name = "mcbsp",
> -};
> -
> -static struct omap_hwmod_opt_clk mcbsp_opt_clks[] = {
> - { .role = "pad_fck", .clk = "mcbsp_clks" },
> - { .role = "prcm_fck", .clk = "func_96m_ck" },
> -};
> -
> -/* mcbsp1 */
> -static struct omap_hwmod omap2420_mcbsp1_hwmod = {
> - .name = "mcbsp1",
> - .class = &omap2420_mcbsp_hwmod_class,
> - .main_clk = "mcbsp1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCBSP1_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* mcbsp2 */
> -static struct omap_hwmod omap2420_mcbsp2_hwmod = {
> - .name = "mcbsp2",
> - .class = &omap2420_mcbsp_hwmod_class,
> - .main_clk = "mcbsp2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCBSP2_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -static struct omap_hwmod_class_sysconfig omap2420_msdi_sysc = {
> - .rev_offs = 0x3c,
> - .sysc_offs = 0x64,
> - .syss_offs = 0x68,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2420_msdi_hwmod_class = {
> - .name = "msdi",
> - .sysc = &omap2420_msdi_sysc,
> - .reset = &omap_msdi_reset,
> -};
> -
> -/* msdi1 */
> -static struct omap_hwmod omap2420_msdi1_hwmod = {
> - .name = "msdi1",
> - .class = &omap2420_msdi_hwmod_class,
> - .main_clk = "mmc_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2420_ST_MMC_SHIFT,
> - },
> - },
> - .flags = HWMOD_16BIT_REG,
> -};
> -
> -/* HDQ1W/1-wire */
> -static struct omap_hwmod omap2420_hdq1w_hwmod = {
> - .name = "hdq1w",
> - .main_clk = "hdq_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_HDQ_SHIFT,
> - },
> - },
> - .class = &omap2_hdq1w_class,
> -};
> -
> -/*
> - * interfaces
> - */
> -
> -/* L4 CORE -> I2C1 interface */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__i2c1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_i2c1_hwmod,
> - .clk = "i2c1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 CORE -> I2C2 interface */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__i2c2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_i2c2_hwmod,
> - .clk = "i2c2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* IVA <- L3 interface */
> -static struct omap_hwmod_ocp_if omap2420_l3__iva = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2420_iva_hwmod,
> - .clk = "core_l3_ck",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* DSP <- L3 interface */
> -static struct omap_hwmod_ocp_if omap2420_l3__dsp = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2420_dsp_hwmod,
> - .clk = "dsp_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> wd_timer2 */
> -static struct omap_hwmod_ocp_if omap2420_l4_wkup__wd_timer2 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_wd_timer2_hwmod,
> - .clk = "mpu_wdt_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio1 */
> -static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio1 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio1_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio2 */
> -static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio2 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio2_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio3 */
> -static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio3 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio3_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio4 */
> -static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio4 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio4_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mailbox */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__mailbox = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_mailbox_hwmod,
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp1 */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_mcbsp1_hwmod,
> - .clk = "mcbsp1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp2 */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_mcbsp2_hwmod,
> - .clk = "mcbsp2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> msdi1 */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__msdi1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_msdi1_hwmod,
> - .clk = "mmc_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> hdq1w interface */
> -static struct omap_hwmod_ocp_if omap2420_l4_core__hdq1w = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2420_hdq1w_hwmod,
> - .clk = "hdq_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> - .flags = OMAP_FIREWALL_L4 | OCPIF_SWSUP_IDLE,
> -};
> -
> -static struct omap_hwmod_ocp_if omap2420_l3__gpmc = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2xxx_gpmc_hwmod,
> - .clk = "core_l3_ck",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -static struct omap_hwmod_ocp_if *omap2420_hwmod_ocp_ifs[] __initdata = {
> - &omap2xxx_l3_main__l4_core,
> - &omap2xxx_mpu__l3_main,
> - &omap2xxx_dss__l3,
> - &omap2xxx_l4_core__mcspi1,
> - &omap2xxx_l4_core__mcspi2,
> - &omap2xxx_l4_core__l4_wkup,
> - &omap2_l4_core__uart1,
> - &omap2_l4_core__uart2,
> - &omap2_l4_core__uart3,
> - &omap2420_l4_core__i2c1,
> - &omap2420_l4_core__i2c2,
> - &omap2420_l3__iva,
> - &omap2420_l3__dsp,
> - &omap2xxx_l4_core__timer3,
> - &omap2xxx_l4_core__timer4,
> - &omap2xxx_l4_core__timer5,
> - &omap2xxx_l4_core__timer6,
> - &omap2xxx_l4_core__timer7,
> - &omap2xxx_l4_core__timer8,
> - &omap2xxx_l4_core__timer9,
> - &omap2xxx_l4_core__timer10,
> - &omap2xxx_l4_core__timer11,
> - &omap2xxx_l4_core__timer12,
> - &omap2420_l4_wkup__wd_timer2,
> - &omap2xxx_l4_core__dss,
> - &omap2xxx_l4_core__dss_dispc,
> - &omap2xxx_l4_core__dss_rfbi,
> - &omap2xxx_l4_core__dss_venc,
> - &omap2420_l4_wkup__gpio1,
> - &omap2420_l4_wkup__gpio2,
> - &omap2420_l4_wkup__gpio3,
> - &omap2420_l4_wkup__gpio4,
> - &omap2420_l4_core__mailbox,
> - &omap2420_l4_core__mcbsp1,
> - &omap2420_l4_core__mcbsp2,
> - &omap2420_l4_core__msdi1,
> - &omap2xxx_l4_core__rng,
> - &omap2xxx_l4_core__sham,
> - &omap2xxx_l4_core__aes,
> - &omap2420_l4_core__hdq1w,
> - &omap2420_l3__gpmc,
> - NULL,
> -};
> -
> -int __init omap2420_hwmod_init(void)
> -{
> - omap_hwmod_init();
> - return omap_hwmod_register_links(omap2420_hwmod_ocp_ifs);
> -}
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> deleted file mode 100644
> index c93200801b34..000000000000
> --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> +++ /dev/null
> @@ -1,606 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * omap_hwmod_2430_data.c - hardware modules present on the OMAP2430 chips
> - *
> - * Copyright (C) 2009-2011 Nokia Corporation
> - * Copyright (C) 2012 Texas Instruments, Inc.
> - * Paul Walmsley
> - *
> - * XXX handle crossbar/shared link difference for L3?
> - * XXX these should be marked initdata for multi-OMAP kernels
> - */
> -
> -#include <linux/platform_data/i2c-omap.h>
> -#include <linux/platform_data/hsmmc-omap.h>
> -
> -#include "omap_hwmod.h"
> -#include "l3_2xxx.h"
> -
> -#include "soc.h"
> -#include "omap_hwmod_common_data.h"
> -#include "prm-regbits-24xx.h"
> -#include "cm-regbits-24xx.h"
> -#include "i2c.h"
> -#include "wd_timer.h"
> -
> -/*
> - * OMAP2430 hardware module integration data
> - *
> - * All of the data in this section should be autogeneratable from the
> - * TI hardware database or other technical documentation. Data that
> - * is driver-specific or driver-kernel integration-specific belongs
> - * elsewhere.
> - */
> -
> -/*
> - * IP blocks
> - */
> -
> -/* IVA2 (IVA2) */
> -static struct omap_hwmod_rst_info omap2430_iva_resets[] = {
> - { .name = "logic", .rst_shift = 0 },
> - { .name = "mmu", .rst_shift = 1 },
> -};
> -
> -static struct omap_hwmod omap2430_iva_hwmod = {
> - .name = "iva",
> - .class = &iva_hwmod_class,
> - .clkdm_name = "dsp_clkdm",
> - .rst_lines = omap2430_iva_resets,
> - .rst_lines_cnt = ARRAY_SIZE(omap2430_iva_resets),
> - .main_clk = "dsp_fck",
> -};
> -
> -/* I2C common */
> -static struct omap_hwmod_class_sysconfig i2c_sysc = {
> - .rev_offs = 0x00,
> - .sysc_offs = 0x20,
> - .syss_offs = 0x10,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
> - SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class i2c_class = {
> - .name = "i2c",
> - .sysc = &i2c_sysc,
> - .reset = &omap_i2c_reset,
> -};
> -
> -/* I2C1 */
> -static struct omap_hwmod omap2430_i2c1_hwmod = {
> - .name = "i2c1",
> - .flags = HWMOD_16BIT_REG,
> - .main_clk = "i2chs1_fck",
> - .prcm = {
> - .omap2 = {
> - /*
> - * NOTE: The CM_FCLKEN* and CM_ICLKEN* for
> - * I2CHS IP's do not follow the usual pattern.
> - * prcm_reg_id alone cannot be used to program
> - * the iclk and fclk. Needs to be handled using
> - * additional flags when clk handling is moved
> - * to hwmod framework.
> - */
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2430_ST_I2CHS1_SHIFT,
> - },
> - },
> - .class = &i2c_class,
> -};
> -
> -/* I2C2 */
> -static struct omap_hwmod omap2430_i2c2_hwmod = {
> - .name = "i2c2",
> - .flags = HWMOD_16BIT_REG,
> - .main_clk = "i2chs2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2430_ST_I2CHS2_SHIFT,
> - },
> - },
> - .class = &i2c_class,
> -};
> -
> -/* gpio5 */
> -static struct omap_hwmod omap2430_gpio5_hwmod = {
> - .name = "gpio5",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .main_clk = "gpio5_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_GPIO5_SHIFT,
> - },
> - },
> - .class = &omap2xxx_gpio_hwmod_class,
> -};
> -
> -/* mailbox */
> -static struct omap_hwmod omap2430_mailbox_hwmod = {
> - .name = "mailbox",
> - .class = &omap2xxx_mailbox_hwmod_class,
> - .main_clk = "mailboxes_ick",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
> - },
> - },
> -};
> -
> -/* mcspi3 */
> -static struct omap_hwmod omap2430_mcspi3_hwmod = {
> - .name = "mcspi3",
> - .main_clk = "mcspi3_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MCSPI3_SHIFT,
> - },
> - },
> - .class = &omap2xxx_mcspi_class,
> -};
> -
> -/* usbhsotg */
> -static struct omap_hwmod_class_sysconfig omap2430_usbhsotg_sysc = {
> - .rev_offs = 0x0400,
> - .sysc_offs = 0x0404,
> - .syss_offs = 0x0408,
> - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE|
> - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
> - SYSC_HAS_AUTOIDLE),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
> - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class usbotg_class = {
> - .name = "usbotg",
> - .sysc = &omap2430_usbhsotg_sysc,
> -};
> -
> -/* usb_otg_hs */
> -static struct omap_hwmod omap2430_usbhsotg_hwmod = {
> - .name = "usb_otg_hs",
> - .main_clk = "usbhs_ick",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP2430_ST_USBHS_SHIFT,
> - },
> - },
> - .class = &usbotg_class,
> - /*
> - * Erratum ID: i479 idle_req / idle_ack mechanism potentially
> - * broken when autoidle is enabled
> - * workaround is to disable the autoidle bit at module level.
> - */
> - .flags = HWMOD_NO_OCP_AUTOIDLE | HWMOD_SWSUP_SIDLE
> - | HWMOD_SWSUP_MSTANDBY,
> -};
> -
> -/*
> - * 'mcbsp' class
> - * multi channel buffered serial port controller
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2430_mcbsp_sysc = {
> - .rev_offs = 0x007C,
> - .sysc_offs = 0x008C,
> - .sysc_flags = (SYSC_HAS_SOFTRESET),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2430_mcbsp_hwmod_class = {
> - .name = "mcbsp",
> - .sysc = &omap2430_mcbsp_sysc,
> -};
> -
> -static struct omap_hwmod_opt_clk mcbsp_opt_clks[] = {
> - { .role = "pad_fck", .clk = "mcbsp_clks" },
> - { .role = "prcm_fck", .clk = "func_96m_ck" },
> -};
> -
> -/* mcbsp1 */
> -static struct omap_hwmod omap2430_mcbsp1_hwmod = {
> - .name = "mcbsp1",
> - .class = &omap2430_mcbsp_hwmod_class,
> - .main_clk = "mcbsp1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCBSP1_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* mcbsp2 */
> -static struct omap_hwmod omap2430_mcbsp2_hwmod = {
> - .name = "mcbsp2",
> - .class = &omap2430_mcbsp_hwmod_class,
> - .main_clk = "mcbsp2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCBSP2_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* mcbsp3 */
> -static struct omap_hwmod omap2430_mcbsp3_hwmod = {
> - .name = "mcbsp3",
> - .class = &omap2430_mcbsp_hwmod_class,
> - .main_clk = "mcbsp3_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MCBSP3_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* mcbsp4 */
> -static struct omap_hwmod omap2430_mcbsp4_hwmod = {
> - .name = "mcbsp4",
> - .class = &omap2430_mcbsp_hwmod_class,
> - .main_clk = "mcbsp4_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MCBSP4_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* mcbsp5 */
> -static struct omap_hwmod omap2430_mcbsp5_hwmod = {
> - .name = "mcbsp5",
> - .class = &omap2430_mcbsp_hwmod_class,
> - .main_clk = "mcbsp5_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MCBSP5_SHIFT,
> - },
> - },
> - .opt_clks = mcbsp_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(mcbsp_opt_clks),
> -};
> -
> -/* MMC/SD/SDIO common */
> -static struct omap_hwmod_class_sysconfig omap2430_mmc_sysc = {
> - .rev_offs = 0x1fc,
> - .sysc_offs = 0x10,
> - .syss_offs = 0x14,
> - .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
> - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
> - SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2430_mmc_class = {
> - .name = "mmc",
> - .sysc = &omap2430_mmc_sysc,
> -};
> -
> -/* MMC/SD/SDIO1 */
> -static struct omap_hwmod_opt_clk omap2430_mmc1_opt_clks[] = {
> - { .role = "dbck", .clk = "mmchsdb1_fck" },
> -};
> -
> -static struct omap_hsmmc_dev_attr mmc1_dev_attr = {
> - .flags = OMAP_HSMMC_SUPPORTS_DUAL_VOLT,
> -};
> -
> -static struct omap_hwmod omap2430_mmc1_hwmod = {
> - .name = "mmc1",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .opt_clks = omap2430_mmc1_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(omap2430_mmc1_opt_clks),
> - .main_clk = "mmchs1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MMCHS1_SHIFT,
> - },
> - },
> - .dev_attr = &mmc1_dev_attr,
> - .class = &omap2430_mmc_class,
> -};
> -
> -/* MMC/SD/SDIO2 */
> -static struct omap_hwmod_opt_clk omap2430_mmc2_opt_clks[] = {
> - { .role = "dbck", .clk = "mmchsdb2_fck" },
> -};
> -
> -static struct omap_hwmod omap2430_mmc2_hwmod = {
> - .name = "mmc2",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .opt_clks = omap2430_mmc2_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(omap2430_mmc2_opt_clks),
> - .main_clk = "mmchs2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP2430_ST_MMCHS2_SHIFT,
> - },
> - },
> - .class = &omap2430_mmc_class,
> -};
> -
> -/* HDQ1W/1-wire */
> -static struct omap_hwmod omap2430_hdq1w_hwmod = {
> - .name = "hdq1w",
> - .main_clk = "hdq_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_HDQ_SHIFT,
> - },
> - },
> - .class = &omap2_hdq1w_class,
> -};
> -
> -/*
> - * interfaces
> - */
> -
> -/* L3 -> L4_CORE interface */
> -/* l3_core -> usbhsotg interface */
> -static struct omap_hwmod_ocp_if omap2430_usbhsotg__l3 = {
> - .master = &omap2430_usbhsotg_hwmod,
> - .slave = &omap2xxx_l3_main_hwmod,
> - .clk = "core_l3_ck",
> - .user = OCP_USER_MPU,
> -};
> -
> -/* L4 CORE -> I2C1 interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__i2c1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_i2c1_hwmod,
> - .clk = "i2c1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 CORE -> I2C2 interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__i2c2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_i2c2_hwmod,
> - .clk = "i2c2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core ->usbhsotg interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__usbhsotg = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_usbhsotg_hwmod,
> - .clk = "usb_l4_ick",
> - .user = OCP_USER_MPU,
> -};
> -
> -/* L4 CORE -> MMC1 interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mmc1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mmc1_hwmod,
> - .clk = "mmchs1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 CORE -> MMC2 interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mmc2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mmc2_hwmod,
> - .clk = "mmchs2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4 core -> mcspi3 interface */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi3 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcspi3_hwmod,
> - .clk = "mcspi3_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* IVA2 <- L3 interface */
> -static struct omap_hwmod_ocp_if omap2430_l3__iva = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2430_iva_hwmod,
> - .clk = "core_l3_ck",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> wd_timer2 */
> -static struct omap_hwmod_ocp_if omap2430_l4_wkup__wd_timer2 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_wd_timer2_hwmod,
> - .clk = "mpu_wdt_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio1 */
> -static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio1 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio1_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio2 */
> -static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio2 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio2_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio3 */
> -static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio3 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio3_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_wkup -> gpio4 */
> -static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio4 = {
> - .master = &omap2xxx_l4_wkup_hwmod,
> - .slave = &omap2xxx_gpio4_hwmod,
> - .clk = "gpios_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> gpio5 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__gpio5 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_gpio5_hwmod,
> - .clk = "gpio5_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mailbox */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mailbox = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mailbox_hwmod,
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp1 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcbsp1_hwmod,
> - .clk = "mcbsp1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp2 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcbsp2_hwmod,
> - .clk = "mcbsp2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp3 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp3 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcbsp3_hwmod,
> - .clk = "mcbsp3_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp4 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp4 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcbsp4_hwmod,
> - .clk = "mcbsp4_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> mcbsp5 */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp5 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_mcbsp5_hwmod,
> - .clk = "mcbsp5_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> hdq1w */
> -static struct omap_hwmod_ocp_if omap2430_l4_core__hdq1w = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2430_hdq1w_hwmod,
> - .clk = "hdq_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> - .flags = OMAP_FIREWALL_L4 | OCPIF_SWSUP_IDLE,
> -};
> -
> -static struct omap_hwmod_ocp_if omap2430_l3__gpmc = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2xxx_gpmc_hwmod,
> - .clk = "core_l3_ck",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -static struct omap_hwmod_ocp_if *omap2430_hwmod_ocp_ifs[] __initdata = {
> - &omap2xxx_l3_main__l4_core,
> - &omap2xxx_mpu__l3_main,
> - &omap2xxx_dss__l3,
> - &omap2430_usbhsotg__l3,
> - &omap2430_l4_core__i2c1,
> - &omap2430_l4_core__i2c2,
> - &omap2xxx_l4_core__l4_wkup,
> - &omap2_l4_core__uart1,
> - &omap2_l4_core__uart2,
> - &omap2_l4_core__uart3,
> - &omap2430_l4_core__usbhsotg,
> - &omap2430_l4_core__mmc1,
> - &omap2430_l4_core__mmc2,
> - &omap2xxx_l4_core__mcspi1,
> - &omap2xxx_l4_core__mcspi2,
> - &omap2430_l4_core__mcspi3,
> - &omap2430_l3__iva,
> - &omap2xxx_l4_core__timer3,
> - &omap2xxx_l4_core__timer4,
> - &omap2xxx_l4_core__timer5,
> - &omap2xxx_l4_core__timer6,
> - &omap2xxx_l4_core__timer7,
> - &omap2xxx_l4_core__timer8,
> - &omap2xxx_l4_core__timer9,
> - &omap2xxx_l4_core__timer10,
> - &omap2xxx_l4_core__timer11,
> - &omap2xxx_l4_core__timer12,
> - &omap2430_l4_wkup__wd_timer2,
> - &omap2xxx_l4_core__dss,
> - &omap2xxx_l4_core__dss_dispc,
> - &omap2xxx_l4_core__dss_rfbi,
> - &omap2xxx_l4_core__dss_venc,
> - &omap2430_l4_wkup__gpio1,
> - &omap2430_l4_wkup__gpio2,
> - &omap2430_l4_wkup__gpio3,
> - &omap2430_l4_wkup__gpio4,
> - &omap2430_l4_core__gpio5,
> - &omap2430_l4_core__mailbox,
> - &omap2430_l4_core__mcbsp1,
> - &omap2430_l4_core__mcbsp2,
> - &omap2430_l4_core__mcbsp3,
> - &omap2430_l4_core__mcbsp4,
> - &omap2430_l4_core__mcbsp5,
> - &omap2430_l4_core__hdq1w,
> - &omap2xxx_l4_core__rng,
> - &omap2xxx_l4_core__sham,
> - &omap2xxx_l4_core__aes,
> - &omap2430_l3__gpmc,
> - NULL,
> -};
> -
> -int __init omap2430_hwmod_init(void)
> -{
> - omap_hwmod_init();
> - return omap_hwmod_register_links(omap2430_hwmod_ocp_ifs);
> -}
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> deleted file mode 100644
> index 761d34914ed9..000000000000
> --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> +++ /dev/null
> @@ -1,256 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * omap_hwmod_2xxx_interconnect_data.c - common interconnect data for OMAP2xxx
> - *
> - * Copyright (C) 2009-2011 Nokia Corporation
> - * Paul Walmsley
> - *
> - * XXX handle crossbar/shared link difference for L3?
> - * XXX these should be marked initdata for multi-OMAP kernels
> - */
> -#include <linux/sizes.h>
> -
> -#include "omap_hwmod.h"
> -#include "l3_2xxx.h"
> -#include "l4_2xxx.h"
> -
> -#include "omap_hwmod_common_data.h"
> -
> -/*
> - * Common interconnect data
> - */
> -
> -/* L3 -> L4_CORE interface */
> -struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core = {
> - .master = &omap2xxx_l3_main_hwmod,
> - .slave = &omap2xxx_l4_core_hwmod,
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* MPU -> L3 interface */
> -struct omap_hwmod_ocp_if omap2xxx_mpu__l3_main = {
> - .master = &omap2xxx_mpu_hwmod,
> - .slave = &omap2xxx_l3_main_hwmod,
> - .user = OCP_USER_MPU,
> -};
> -
> -/* DSS -> l3 */
> -struct omap_hwmod_ocp_if omap2xxx_dss__l3 = {
> - .master = &omap2xxx_dss_core_hwmod,
> - .slave = &omap2xxx_l3_main_hwmod,
> - .fw = {
> - .omap2 = {
> - .l3_perm_bit = OMAP2_L3_CORE_FW_CONNID_DSS,
> - .flags = OMAP_FIREWALL_L3,
> - },
> - },
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4_CORE -> L4_WKUP interface */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__l4_wkup = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_l4_wkup_hwmod,
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 CORE -> UART1 interface */
> -struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_uart1_hwmod,
> - .clk = "uart1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 CORE -> UART2 interface */
> -struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_uart2_hwmod,
> - .clk = "uart2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* L4 PER -> UART3 interface */
> -struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_uart3_hwmod,
> - .clk = "uart3_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4 core -> mcspi1 interface */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi1 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_mcspi1_hwmod,
> - .clk = "mcspi1_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4 core -> mcspi2 interface */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi2 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_mcspi2_hwmod,
> - .clk = "mcspi2_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer3 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer3 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer3_hwmod,
> - .clk = "gpt3_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer4 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer4 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer4_hwmod,
> - .clk = "gpt4_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer5 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer5 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer5_hwmod,
> - .clk = "gpt5_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer6 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer6 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer6_hwmod,
> - .clk = "gpt6_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer7 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer7 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer7_hwmod,
> - .clk = "gpt7_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer8 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer8 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer8_hwmod,
> - .clk = "gpt8_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer9 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer9 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer9_hwmod,
> - .clk = "gpt9_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer10 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer10 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer10_hwmod,
> - .clk = "gpt10_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer11 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer11 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer11_hwmod,
> - .clk = "gpt11_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> timer12 */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__timer12 = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_timer12_hwmod,
> - .clk = "gpt12_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> dss */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__dss = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_dss_core_hwmod,
> - .clk = "dss_ick",
> - .fw = {
> - .omap2 = {
> - .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
> - .flags = OMAP_FIREWALL_L4,
> - },
> - },
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> dss_dispc */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_dispc = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_dss_dispc_hwmod,
> - .clk = "dss_ick",
> - .fw = {
> - .omap2 = {
> - .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION,
> - .flags = OMAP_FIREWALL_L4,
> - },
> - },
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> dss_rfbi */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_dss_rfbi_hwmod,
> - .clk = "dss_ick",
> - .fw = {
> - .omap2 = {
> - .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
> - .flags = OMAP_FIREWALL_L4,
> - },
> - },
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> dss_venc */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_dss_venc_hwmod,
> - .clk = "dss_ick",
> - .fw = {
> - .omap2 = {
> - .l4_fw_region = OMAP2420_L4_CORE_FW_DSS_VENC_REGION,
> - .flags = OMAP_FIREWALL_L4,
> - },
> - },
> - .flags = OCPIF_SWSUP_IDLE,
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4_core -> rng */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__rng = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_rng_hwmod,
> - .clk = "rng_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4 core -> sham interface */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__sham = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_sham_hwmod,
> - .clk = "sha_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> -
> -/* l4 core -> aes interface */
> -struct omap_hwmod_ocp_if omap2xxx_l4_core__aes = {
> - .master = &omap2xxx_l4_core_hwmod,
> - .slave = &omap2xxx_aes_hwmod,
> - .clk = "aes_ick",
> - .user = OCP_USER_MPU | OCP_USER_SDMA,
> -};
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
> deleted file mode 100644
> index 4982e04ead53..000000000000
> --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
> +++ /dev/null
> @@ -1,668 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * omap_hwmod_2xxx_ipblock_data.c - common IP block data for OMAP2xxx
> - *
> - * Copyright (C) 2011 Nokia Corporation
> - * Paul Walmsley
> - */
> -
> -#include <linux/types.h>
> -
> -#include "omap_hwmod.h"
> -#include "omap_hwmod_common_data.h"
> -#include "cm-regbits-24xx.h"
> -#include "prm-regbits-24xx.h"
> -#include "wd_timer.h"
> -
> -/*
> - * 'dispc' class
> - * display controller
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2_dispc_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
> - SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
> - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2_dispc_hwmod_class = {
> - .name = "dispc",
> - .sysc = &omap2_dispc_sysc,
> -};
> -
> -/* OMAP2xxx Timer Common */
> -static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
> - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
> - SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2xxx_timer_hwmod_class = {
> - .name = "timer",
> - .sysc = &omap2xxx_timer_sysc,
> -};
> -
> -/*
> - * 'wd_timer' class
> - * 32-bit watchdog upward counter that generates a pulse on the reset pin on
> - * overflow condition
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2xxx_wd_timer_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
> - SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class = {
> - .name = "wd_timer",
> - .sysc = &omap2xxx_wd_timer_sysc,
> - .pre_shutdown = &omap2_wd_timer_disable,
> - .reset = &omap2_wd_timer_reset,
> -};
> -
> -/*
> - * 'gpio' class
> - * general purpose io module
> - */
> -static struct omap_hwmod_class_sysconfig omap2xxx_gpio_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
> - SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
> - SYSS_HAS_RESET_STATUS),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -struct omap_hwmod_class omap2xxx_gpio_hwmod_class = {
> - .name = "gpio",
> - .sysc = &omap2xxx_gpio_sysc,
> -};
> -
> -/*
> - * 'mailbox' class
> - * mailbox module allowing communication between the on-chip processors
> - * using a queued mailbox-interrupt mechanism.
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2xxx_mailbox_sysc = {
> - .rev_offs = 0x000,
> - .sysc_offs = 0x010,
> - .syss_offs = 0x014,
> - .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
> - SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -struct omap_hwmod_class omap2xxx_mailbox_hwmod_class = {
> - .name = "mailbox",
> - .sysc = &omap2xxx_mailbox_sysc,
> -};
> -
> -/*
> - * 'mcspi' class
> - * multichannel serial port interface (mcspi) / master/slave synchronous serial
> - * bus
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2xxx_mcspi_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
> - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
> - SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -struct omap_hwmod_class omap2xxx_mcspi_class = {
> - .name = "mcspi",
> - .sysc = &omap2xxx_mcspi_sysc,
> -};
> -
> -/*
> - * 'gpmc' class
> - * general purpose memory controller
> - */
> -
> -static struct omap_hwmod_class_sysconfig omap2xxx_gpmc_sysc = {
> - .rev_offs = 0x0000,
> - .sysc_offs = 0x0010,
> - .syss_offs = 0x0014,
> - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
> - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
> - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2xxx_gpmc_hwmod_class = {
> - .name = "gpmc",
> - .sysc = &omap2xxx_gpmc_sysc,
> -};
> -
> -/*
> - * IP blocks
> - */
> -
> -/* L3 */
> -struct omap_hwmod omap2xxx_l3_main_hwmod = {
> - .name = "l3_main",
> - .class = &l3_hwmod_class,
> - .flags = HWMOD_NO_IDLEST,
> -};
> -
> -/* L4 CORE */
> -struct omap_hwmod omap2xxx_l4_core_hwmod = {
> - .name = "l4_core",
> - .class = &l4_hwmod_class,
> - .flags = HWMOD_NO_IDLEST,
> -};
> -
> -/* L4 WKUP */
> -struct omap_hwmod omap2xxx_l4_wkup_hwmod = {
> - .name = "l4_wkup",
> - .class = &l4_hwmod_class,
> - .flags = HWMOD_NO_IDLEST,
> -};
> -
> -/* MPU */
> -struct omap_hwmod omap2xxx_mpu_hwmod = {
> - .name = "mpu",
> - .class = &mpu_hwmod_class,
> - .main_clk = "mpu_ck",
> -};
> -
> -/* timer3 */
> -struct omap_hwmod omap2xxx_timer3_hwmod = {
> - .name = "timer3",
> - .main_clk = "gpt3_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT3_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer4 */
> -struct omap_hwmod omap2xxx_timer4_hwmod = {
> - .name = "timer4",
> - .main_clk = "gpt4_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT4_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer5 */
> -struct omap_hwmod omap2xxx_timer5_hwmod = {
> - .name = "timer5",
> - .main_clk = "gpt5_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT5_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer6 */
> -struct omap_hwmod omap2xxx_timer6_hwmod = {
> - .name = "timer6",
> - .main_clk = "gpt6_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT6_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer7 */
> -struct omap_hwmod omap2xxx_timer7_hwmod = {
> - .name = "timer7",
> - .main_clk = "gpt7_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT7_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer8 */
> -struct omap_hwmod omap2xxx_timer8_hwmod = {
> - .name = "timer8",
> - .main_clk = "gpt8_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT8_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer9 */
> -struct omap_hwmod omap2xxx_timer9_hwmod = {
> - .name = "timer9",
> - .main_clk = "gpt9_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT9_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer10 */
> -struct omap_hwmod omap2xxx_timer10_hwmod = {
> - .name = "timer10",
> - .main_clk = "gpt10_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT10_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer11 */
> -struct omap_hwmod omap2xxx_timer11_hwmod = {
> - .name = "timer11",
> - .main_clk = "gpt11_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT11_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* timer12 */
> -struct omap_hwmod omap2xxx_timer12_hwmod = {
> - .name = "timer12",
> - .main_clk = "gpt12_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPT12_SHIFT,
> - },
> - },
> - .class = &omap2xxx_timer_hwmod_class,
> - .flags = HWMOD_SET_DEFAULT_CLOCKACT,
> -};
> -
> -/* wd_timer2 */
> -struct omap_hwmod omap2xxx_wd_timer2_hwmod = {
> - .name = "wd_timer2",
> - .class = &omap2xxx_wd_timer_hwmod_class,
> - .main_clk = "mpu_wdt_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = WKUP_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MPU_WDT_SHIFT,
> - },
> - },
> -};
> -
> -/* UART1 */
> -
> -struct omap_hwmod omap2xxx_uart1_hwmod = {
> - .name = "uart1",
> - .main_clk = "uart1_fck",
> - .flags = DEBUG_OMAP2UART1_FLAGS | HWMOD_SWSUP_SIDLE_ACT,
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_EN_UART1_SHIFT,
> - },
> - },
> - .class = &omap2_uart_class,
> -};
> -
> -/* UART2 */
> -
> -struct omap_hwmod omap2xxx_uart2_hwmod = {
> - .name = "uart2",
> - .main_clk = "uart2_fck",
> - .flags = DEBUG_OMAP2UART2_FLAGS | HWMOD_SWSUP_SIDLE_ACT,
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_EN_UART2_SHIFT,
> - },
> - },
> - .class = &omap2_uart_class,
> -};
> -
> -/* UART3 */
> -
> -struct omap_hwmod omap2xxx_uart3_hwmod = {
> - .name = "uart3",
> - .main_clk = "uart3_fck",
> - .flags = DEBUG_OMAP2UART3_FLAGS | HWMOD_SWSUP_SIDLE_ACT,
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 2,
> - .idlest_idle_bit = OMAP24XX_EN_UART3_SHIFT,
> - },
> - },
> - .class = &omap2_uart_class,
> -};
> -
> -/* dss */
> -
> -static struct omap_hwmod_opt_clk dss_opt_clks[] = {
> - /*
> - * The DSS HW needs all DSS clocks enabled during reset. The dss_core
> - * driver does not use these clocks.
> - */
> - { .role = "tv_clk", .clk = "dss_54m_fck" },
> - { .role = "sys_clk", .clk = "dss2_fck" },
> -};
> -
> -struct omap_hwmod omap2xxx_dss_core_hwmod = {
> - .name = "dss_core",
> - .class = &omap2_dss_hwmod_class,
> - .main_clk = "dss1_fck", /* instead of dss_fck */
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - },
> - },
> - .opt_clks = dss_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(dss_opt_clks),
> - .flags = HWMOD_NO_IDLEST | HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> -};
> -
> -struct omap_hwmod omap2xxx_dss_dispc_hwmod = {
> - .name = "dss_dispc",
> - .class = &omap2_dispc_hwmod_class,
> - .main_clk = "dss1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - },
> - },
> - .flags = HWMOD_NO_IDLEST,
> - .dev_attr = &omap2_3_dss_dispc_dev_attr,
> -};
> -
> -static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
> - { .role = "ick", .clk = "dss_ick" },
> -};
> -
> -struct omap_hwmod omap2xxx_dss_rfbi_hwmod = {
> - .name = "dss_rfbi",
> - .class = &omap2_rfbi_hwmod_class,
> - .main_clk = "dss1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - },
> - },
> - .opt_clks = dss_rfbi_opt_clks,
> - .opt_clks_cnt = ARRAY_SIZE(dss_rfbi_opt_clks),
> - .flags = HWMOD_NO_IDLEST,
> -};
> -
> -struct omap_hwmod omap2xxx_dss_venc_hwmod = {
> - .name = "dss_venc",
> - .class = &omap2_venc_hwmod_class,
> - .main_clk = "dss_54m_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - },
> - },
> - .flags = HWMOD_NO_IDLEST,
> -};
> -
> -/* gpio1 */
> -struct omap_hwmod omap2xxx_gpio1_hwmod = {
> - .name = "gpio1",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .main_clk = "gpios_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = WKUP_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPIOS_SHIFT,
> - },
> - },
> - .class = &omap2xxx_gpio_hwmod_class,
> -};
> -
> -/* gpio2 */
> -struct omap_hwmod omap2xxx_gpio2_hwmod = {
> - .name = "gpio2",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .main_clk = "gpios_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = WKUP_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPIOS_SHIFT,
> - },
> - },
> - .class = &omap2xxx_gpio_hwmod_class,
> -};
> -
> -/* gpio3 */
> -struct omap_hwmod omap2xxx_gpio3_hwmod = {
> - .name = "gpio3",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .main_clk = "gpios_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = WKUP_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPIOS_SHIFT,
> - },
> - },
> - .class = &omap2xxx_gpio_hwmod_class,
> -};
> -
> -/* gpio4 */
> -struct omap_hwmod omap2xxx_gpio4_hwmod = {
> - .name = "gpio4",
> - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
> - .main_clk = "gpios_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = WKUP_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_GPIOS_SHIFT,
> - },
> - },
> - .class = &omap2xxx_gpio_hwmod_class,
> -};
> -
> -/* mcspi1 */
> -struct omap_hwmod omap2xxx_mcspi1_hwmod = {
> - .name = "mcspi1",
> - .main_clk = "mcspi1_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCSPI1_SHIFT,
> - },
> - },
> - .class = &omap2xxx_mcspi_class,
> -};
> -
> -/* mcspi2 */
> -struct omap_hwmod omap2xxx_mcspi2_hwmod = {
> - .name = "mcspi2",
> - .main_clk = "mcspi2_fck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 1,
> - .idlest_idle_bit = OMAP24XX_ST_MCSPI2_SHIFT,
> - },
> - },
> - .class = &omap2xxx_mcspi_class,
> -};
> -
> -/* gpmc */
> -struct omap_hwmod omap2xxx_gpmc_hwmod = {
> - .name = "gpmc",
> - .class = &omap2xxx_gpmc_hwmod_class,
> - .main_clk = "gpmc_fck",
> - /* Skip reset for CONFIG_OMAP_GPMC_DEBUG for bootloader timings */
> - .flags = HWMOD_NO_IDLEST | DEBUG_OMAP_GPMC_HWMOD_FLAGS,
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - },
> - },
> -};
> -
> -/* RNG */
> -
> -static struct omap_hwmod_class_sysconfig omap2_rng_sysc = {
> - .rev_offs = 0x3c,
> - .sysc_offs = 0x40,
> - .syss_offs = 0x44,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
> - SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2_rng_hwmod_class = {
> - .name = "rng",
> - .sysc = &omap2_rng_sysc,
> -};
> -
> -struct omap_hwmod omap2xxx_rng_hwmod = {
> - .name = "rng",
> - .main_clk = "l4_ck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 4,
> - .idlest_idle_bit = OMAP24XX_ST_RNG_SHIFT,
> - },
> - },
> - /*
> - * XXX The first read from the SYSSTATUS register of the RNG
> - * after the SYSCONFIG SOFTRESET bit is set triggers an
> - * imprecise external abort. It's unclear why this happens.
> - * Until this is analyzed, skip the IP block reset.
> - */
> - .flags = HWMOD_INIT_NO_RESET,
> - .class = &omap2_rng_hwmod_class,
> -};
> -
> -/* SHAM */
> -
> -static struct omap_hwmod_class_sysconfig omap2_sham_sysc = {
> - .rev_offs = 0x5c,
> - .sysc_offs = 0x60,
> - .syss_offs = 0x64,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
> - SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2xxx_sham_class = {
> - .name = "sham",
> - .sysc = &omap2_sham_sysc,
> -};
> -
> -struct omap_hwmod omap2xxx_sham_hwmod = {
> - .name = "sham",
> - .main_clk = "l4_ck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 4,
> - .idlest_idle_bit = OMAP24XX_ST_SHA_SHIFT,
> - },
> - },
> - .class = &omap2xxx_sham_class,
> -};
> -
> -/* AES */
> -
> -static struct omap_hwmod_class_sysconfig omap2_aes_sysc = {
> - .rev_offs = 0x44,
> - .sysc_offs = 0x48,
> - .syss_offs = 0x4c,
> - .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
> - SYSS_HAS_RESET_STATUS),
> - .sysc_fields = &omap_hwmod_sysc_type1,
> -};
> -
> -static struct omap_hwmod_class omap2xxx_aes_class = {
> - .name = "aes",
> - .sysc = &omap2_aes_sysc,
> -};
> -
> -struct omap_hwmod omap2xxx_aes_hwmod = {
> - .name = "aes",
> - .main_clk = "l4_ck",
> - .prcm = {
> - .omap2 = {
> - .module_offs = CORE_MOD,
> - .idlest_reg_id = 4,
> - .idlest_idle_bit = OMAP24XX_ST_AES_SHIFT,
> - },
> - },
> - .class = &omap2xxx_aes_class,
> -};
> diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
> index 69dddc53e1d8..8b270cb3f64b 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
> +++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
> @@ -15,68 +15,6 @@
> #include "common.h"
> #include "display.h"
>
> -/* Common IP block data across OMAP2xxx */
> -extern struct omap_hwmod omap2xxx_l3_main_hwmod;
> -extern struct omap_hwmod omap2xxx_l4_core_hwmod;
> -extern struct omap_hwmod omap2xxx_l4_wkup_hwmod;
> -extern struct omap_hwmod omap2xxx_mpu_hwmod;
> -extern struct omap_hwmod omap2xxx_timer3_hwmod;
> -extern struct omap_hwmod omap2xxx_timer4_hwmod;
> -extern struct omap_hwmod omap2xxx_timer5_hwmod;
> -extern struct omap_hwmod omap2xxx_timer6_hwmod;
> -extern struct omap_hwmod omap2xxx_timer7_hwmod;
> -extern struct omap_hwmod omap2xxx_timer8_hwmod;
> -extern struct omap_hwmod omap2xxx_timer9_hwmod;
> -extern struct omap_hwmod omap2xxx_timer10_hwmod;
> -extern struct omap_hwmod omap2xxx_timer11_hwmod;
> -extern struct omap_hwmod omap2xxx_timer12_hwmod;
> -extern struct omap_hwmod omap2xxx_wd_timer2_hwmod;
> -extern struct omap_hwmod omap2xxx_uart1_hwmod;
> -extern struct omap_hwmod omap2xxx_uart2_hwmod;
> -extern struct omap_hwmod omap2xxx_uart3_hwmod;
> -extern struct omap_hwmod omap2xxx_dss_core_hwmod;
> -extern struct omap_hwmod omap2xxx_dss_dispc_hwmod;
> -extern struct omap_hwmod omap2xxx_dss_rfbi_hwmod;
> -extern struct omap_hwmod omap2xxx_dss_venc_hwmod;
> -extern struct omap_hwmod omap2xxx_gpio1_hwmod;
> -extern struct omap_hwmod omap2xxx_gpio2_hwmod;
> -extern struct omap_hwmod omap2xxx_gpio3_hwmod;
> -extern struct omap_hwmod omap2xxx_gpio4_hwmod;
> -extern struct omap_hwmod omap2xxx_mcspi1_hwmod;
> -extern struct omap_hwmod omap2xxx_mcspi2_hwmod;
> -extern struct omap_hwmod omap2xxx_gpmc_hwmod;
> -extern struct omap_hwmod omap2xxx_rng_hwmod;
> -extern struct omap_hwmod omap2xxx_sham_hwmod;
> -extern struct omap_hwmod omap2xxx_aes_hwmod;
> -
> -/* Common interface data across OMAP2xxx */
> -extern struct omap_hwmod_ocp_if omap2xxx_l3_main__l4_core;
> -extern struct omap_hwmod_ocp_if omap2xxx_mpu__l3_main;
> -extern struct omap_hwmod_ocp_if omap2xxx_dss__l3;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__l4_wkup;
> -extern struct omap_hwmod_ocp_if omap2_l4_core__uart1;
> -extern struct omap_hwmod_ocp_if omap2_l4_core__uart2;
> -extern struct omap_hwmod_ocp_if omap2_l4_core__uart3;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi1;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__mcspi2;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer3;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer4;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer5;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer6;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer7;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer8;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer9;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer10;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer11;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__timer12;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_dispc;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_rfbi;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__dss_venc;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__rng;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__sham;
> -extern struct omap_hwmod_ocp_if omap2xxx_l4_core__aes;
> -
> /* OMAP hwmod classes - forward declarations */
> extern struct omap_hwmod_class l3_hwmod_class;
> extern struct omap_hwmod_class l4_hwmod_class;
> @@ -88,10 +26,6 @@ extern struct omap_hwmod_class omap2_rfbi_hwmod_class;
> extern struct omap_hwmod_class omap2_venc_hwmod_class;
> extern struct omap_hwmod_class omap2_hdq1w_class;
>
> -extern struct omap_hwmod_class omap2xxx_gpio_hwmod_class;
> -extern struct omap_hwmod_class omap2xxx_mailbox_hwmod_class;
> -extern struct omap_hwmod_class omap2xxx_mcspi_class;
> -
> extern struct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr;
>
> #endif
> diff --git a/arch/arm/mach-omap2/opp2420_data.c b/arch/arm/mach-omap2/opp2420_data.c
> deleted file mode 100644
> index 18a448f938ea..000000000000
> --- a/arch/arm/mach-omap2/opp2420_data.c
> +++ /dev/null
> @@ -1,131 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/*
> - * opp2420_data.c - old-style "OPP" table for OMAP2420
> - *
> - * Copyright (C) 2005-2009 Texas Instruments, Inc.
> - * Copyright (C) 2004-2009 Nokia Corporation
> - *
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * The OMAP2 processor can be run at several discrete 'PRCM configurations'.
> - * These configurations are characterized by voltage and speed for clocks.
> - * The device is only validated for certain combinations. One way to express
> - * these combinations is via the 'ratios' which the clocks operate with
> - * respect to each other. These ratio sets are for a given voltage/DPLL
> - * setting. All configurations can be described by a DPLL setting and a ratio.
> - *
> - * XXX Missing voltage data.
> - * XXX Missing 19.2MHz sys_clk rate sets (needed for N800/N810)
> - *
> - * THe format described in this file is deprecated. Once a reasonable
> - * OPP API exists, the data in this file should be converted to use it.
> - *
> - * This is technically part of the OMAP2xxx clock code.
> - *
> - * Considerable work is still needed to fully support dynamic frequency
> - * changes on OMAP2xxx-series chips. Readers interested in such a
> - * project are encouraged to review the Maemo Diablo RX-34 and RX-44
> - * kernel source at:
> - * http://repository.maemo.org/pool/diablo/free/k/kernel-source-diablo/
> - */
> -
> -#include <linux/kernel.h>
> -
> -#include "opp2xxx.h"
> -#include "sdrc.h"
> -#include "clock.h"
> -
> -/*
> - * Key dividers which make up a PRCM set. Ratios for a PRCM are mandated.
> - * xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,
> - * CM_CLKSEL_DSP, CM_CLKSEL_GFX, CM_CLKSEL1_CORE, CM_CLKSEL1_PLL,
> - * CM_CLKSEL2_PLL, CM_CLKSEL_MDM
> - *
> - * Filling in table based on H4 boards available. There are quite a
> - * few more rate combinations which could be defined.
> - *
> - * When multiple values are defined the start up will try and choose
> - * the fastest one. If a 'fast' value is defined, then automatically,
> - * the /2 one should be included as it can be used. Generally having
> - * more than one fast set does not make sense, as static timings need
> - * to be changed to change the set. The exception is the bypass
> - * setting which is available for low power bypass.
> - *
> - * Note: This table needs to be sorted, fastest to slowest.
> - **/
> -const struct prcm_config omap2420_rate_table[] = {
> - /* PRCM I - FAST */
> - {S12M, S660M, S330M, RI_CM_CLKSEL_MPU_VAL, /* 330MHz ARM */
> - RI_CM_CLKSEL_DSP_VAL, RI_CM_CLKSEL_GFX_VAL,
> - RI_CM_CLKSEL1_CORE_VAL, MI_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_165MHz,
> - RATE_IN_242X},
> -
> - /* PRCM II - FAST */
> - {S12M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /* 300MHz ARM */
> - RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> - RII_CM_CLKSEL1_CORE_VAL, MII_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_100MHz,
> - RATE_IN_242X},
> -
> - {S13M, S600M, S300M, RII_CM_CLKSEL_MPU_VAL, /* 300MHz ARM */
> - RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> - RII_CM_CLKSEL1_CORE_VAL, MII_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_100MHz,
> - RATE_IN_242X},
> -
> - /* PRCM III - FAST */
> - {S12M, S532M, S266M, RIII_CM_CLKSEL_MPU_VAL, /* 266MHz ARM */
> - RIII_CM_CLKSEL_DSP_VAL, RIII_CM_CLKSEL_GFX_VAL,
> - RIII_CM_CLKSEL1_CORE_VAL, MIII_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_133MHz,
> - RATE_IN_242X},
> -
> - {S13M, S532M, S266M, RIII_CM_CLKSEL_MPU_VAL, /* 266MHz ARM */
> - RIII_CM_CLKSEL_DSP_VAL, RIII_CM_CLKSEL_GFX_VAL,
> - RIII_CM_CLKSEL1_CORE_VAL, MIII_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_133MHz,
> - RATE_IN_242X},
> -
> - /* PRCM II - SLOW */
> - {S12M, S300M, S150M, RII_CM_CLKSEL_MPU_VAL, /* 150MHz ARM */
> - RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> - RII_CM_CLKSEL1_CORE_VAL, MII_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_100MHz,
> - RATE_IN_242X},
> -
> - {S13M, S300M, S150M, RII_CM_CLKSEL_MPU_VAL, /* 150MHz ARM */
> - RII_CM_CLKSEL_DSP_VAL, RII_CM_CLKSEL_GFX_VAL,
> - RII_CM_CLKSEL1_CORE_VAL, MII_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_100MHz,
> - RATE_IN_242X},
> -
> - /* PRCM III - SLOW */
> - {S12M, S266M, S133M, RIII_CM_CLKSEL_MPU_VAL, /* 133MHz ARM */
> - RIII_CM_CLKSEL_DSP_VAL, RIII_CM_CLKSEL_GFX_VAL,
> - RIII_CM_CLKSEL1_CORE_VAL, MIII_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_133MHz,
> - RATE_IN_242X},
> -
> - {S13M, S266M, S133M, RIII_CM_CLKSEL_MPU_VAL, /* 133MHz ARM */
> - RIII_CM_CLKSEL_DSP_VAL, RIII_CM_CLKSEL_GFX_VAL,
> - RIII_CM_CLKSEL1_CORE_VAL, MIII_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_133MHz,
> - RATE_IN_242X},
> -
> - /* PRCM-VII (boot-bypass) */
> - {S12M, S12M, S12M, RVII_CM_CLKSEL_MPU_VAL, /* 12MHz ARM*/
> - RVII_CM_CLKSEL_DSP_VAL, RVII_CM_CLKSEL_GFX_VAL,
> - RVII_CM_CLKSEL1_CORE_VAL, MVII_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_BYPASS,
> - RATE_IN_242X},
> -
> - /* PRCM-VII (boot-bypass) */
> - {S13M, S13M, S13M, RVII_CM_CLKSEL_MPU_VAL, /* 13MHz ARM */
> - RVII_CM_CLKSEL_DSP_VAL, RVII_CM_CLKSEL_GFX_VAL,
> - RVII_CM_CLKSEL1_CORE_VAL, MVII_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, 0, SDRC_RFR_CTRL_BYPASS,
> - RATE_IN_242X},
> -
> - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
> -};
> diff --git a/arch/arm/mach-omap2/opp2430_data.c b/arch/arm/mach-omap2/opp2430_data.c
> deleted file mode 100644
> index ded8b566a23a..000000000000
> --- a/arch/arm/mach-omap2/opp2430_data.c
> +++ /dev/null
> @@ -1,136 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -/*
> - * opp2430_data.c - old-style "OPP" table for OMAP2430
> - *
> - * Copyright (C) 2005-2009 Texas Instruments, Inc.
> - * Copyright (C) 2004-2009 Nokia Corporation
> - *
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * The OMAP2 processor can be run at several discrete 'PRCM configurations'.
> - * These configurations are characterized by voltage and speed for clocks.
> - * The device is only validated for certain combinations. One way to express
> - * these combinations is via the 'ratios' which the clocks operate with
> - * respect to each other. These ratio sets are for a given voltage/DPLL
> - * setting. All configurations can be described by a DPLL setting and a ratio.
> - *
> - * 2430 differs from 2420 in that there are no more phase synchronizers used.
> - * They both have a slightly different clock domain setup. 2420(iva1,dsp) vs
> - * 2430 (iva2.1, NOdsp, mdm)
> - *
> - * XXX Missing voltage data.
> - * XXX Missing 19.2MHz sys_clk rate sets.
> - *
> - * THe format described in this file is deprecated. Once a reasonable
> - * OPP API exists, the data in this file should be converted to use it.
> - *
> - * This is technically part of the OMAP2xxx clock code.
> - */
> -
> -#include <linux/kernel.h>
> -
> -#include "opp2xxx.h"
> -#include "sdrc.h"
> -#include "clock.h"
> -
> -/*
> - * Key dividers which make up a PRCM set. Ratios for a PRCM are mandated.
> - * xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,
> - * CM_CLKSEL_DSP, CM_CLKSEL_GFX, CM_CLKSEL1_CORE, CM_CLKSEL1_PLL,
> - * CM_CLKSEL2_PLL, CM_CLKSEL_MDM
> - *
> - * Filling in table based on 2430-SDPs variants available. There are
> - * quite a few more rate combinations which could be defined.
> - *
> - * When multiple values are defined the start up will try and choose
> - * the fastest one. If a 'fast' value is defined, then automatically,
> - * the /2 one should be included as it can be used. Generally having
> - * more than one fast set does not make sense, as static timings need
> - * to be changed to change the set. The exception is the bypass
> - * setting which is available for low power bypass.
> - *
> - * Note: This table needs to be sorted, fastest to slowest.
> - */
> -const struct prcm_config omap2430_rate_table[] = {
> - /* PRCM #4 - ratio2 (ES2.1) - FAST */
> - {S13M, S798M, S399M, R2_CM_CLKSEL_MPU_VAL, /* 399MHz ARM */
> - R2_CM_CLKSEL_DSP_VAL, R2_CM_CLKSEL_GFX_VAL,
> - R2_CM_CLKSEL1_CORE_VAL, M4_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, R2_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_133MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #2 - ratio1 (ES2) - FAST */
> - {S13M, S658M, S329M, R1_CM_CLKSEL_MPU_VAL, /* 330MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M2_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_165MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #5a - ratio1 - FAST */
> - {S13M, S532M, S266M, R1_CM_CLKSEL_MPU_VAL, /* 266MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M5A_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_133MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #5b - ratio1 - FAST */
> - {S13M, S400M, S200M, R1_CM_CLKSEL_MPU_VAL, /* 200MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M5B_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_100MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #4 - ratio1 (ES2.1) - SLOW */
> - {S13M, S399M, S199M, R2_CM_CLKSEL_MPU_VAL, /* 200MHz ARM */
> - R2_CM_CLKSEL_DSP_VAL, R2_CM_CLKSEL_GFX_VAL,
> - R2_CM_CLKSEL1_CORE_VAL, M4_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_1x_VAL, R2_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_133MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #2 - ratio1 (ES2) - SLOW */
> - {S13M, S329M, S164M, R1_CM_CLKSEL_MPU_VAL, /* 165MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M2_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_1x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_165MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #5a - ratio1 - SLOW */
> - {S13M, S266M, S133M, R1_CM_CLKSEL_MPU_VAL, /* 133MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M5A_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_1x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_133MHz,
> - RATE_IN_243X},
> -
> - /* PRCM #5b - ratio1 - SLOW*/
> - {S13M, S200M, S100M, R1_CM_CLKSEL_MPU_VAL, /* 100MHz ARM */
> - R1_CM_CLKSEL_DSP_VAL, R1_CM_CLKSEL_GFX_VAL,
> - R1_CM_CLKSEL1_CORE_VAL, M5B_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_1x_VAL, R1_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_100MHz,
> - RATE_IN_243X},
> -
> - /* PRCM-boot/bypass */
> - {S13M, S13M, S13M, RB_CM_CLKSEL_MPU_VAL, /* 13MHz */
> - RB_CM_CLKSEL_DSP_VAL, RB_CM_CLKSEL_GFX_VAL,
> - RB_CM_CLKSEL1_CORE_VAL, MB_CM_CLKSEL1_PLL_13_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, RB_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_BYPASS,
> - RATE_IN_243X},
> -
> - /* PRCM-boot/bypass */
> - {S12M, S12M, S12M, RB_CM_CLKSEL_MPU_VAL, /* 12MHz */
> - RB_CM_CLKSEL_DSP_VAL, RB_CM_CLKSEL_GFX_VAL,
> - RB_CM_CLKSEL1_CORE_VAL, MB_CM_CLKSEL1_PLL_12_VAL,
> - MX_CLKSEL2_PLL_2x_VAL, RB_CM_CLKSEL_MDM_VAL,
> - SDRC_RFR_CTRL_BYPASS,
> - RATE_IN_243X},
> -
> - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
> -};
> diff --git a/arch/arm/mach-omap2/opp2xxx.h b/arch/arm/mach-omap2/opp2xxx.h
> deleted file mode 100644
> index a451182cdc02..000000000000
> --- a/arch/arm/mach-omap2/opp2xxx.h
> +++ /dev/null
> @@ -1,430 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/*
> - * opp2xxx.h - macros for old-style OMAP2xxx "OPP" definitions
> - *
> - * Copyright (C) 2005-2009 Texas Instruments, Inc.
> - * Copyright (C) 2004-2009 Nokia Corporation
> - *
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * The OMAP2 processor can be run at several discrete 'PRCM configurations'.
> - * These configurations are characterized by voltage and speed for clocks.
> - * The device is only validated for certain combinations. One way to express
> - * these combinations is via the 'ratio's' which the clocks operate with
> - * respect to each other. These ratio sets are for a given voltage/DPLL
> - * setting. All configurations can be described by a DPLL setting and a ratio
> - * There are 3 ratio sets for the 2430 and X ratio sets for 2420.
> - *
> - * 2430 differs from 2420 in that there are no more phase synchronizers used.
> - * They both have a slightly different clock domain setup. 2420(iva1,dsp) vs
> - * 2430 (iva2.1, NOdsp, mdm)
> - *
> - * XXX Missing voltage data.
> - *
> - * THe format described in this file is deprecated. Once a reasonable
> - * OPP API exists, the data in this file should be converted to use it.
> - *
> - * This is technically part of the OMAP2xxx clock code.
> - */
> -
> -#ifndef __ARCH_ARM_MACH_OMAP2_OPP2XXX_H
> -#define __ARCH_ARM_MACH_OMAP2_OPP2XXX_H
> -
> -/**
> - * struct prcm_config - define clock rates on a per-OPP basis (24xx)
> - *
> - * Key dividers which make up a PRCM set. Ratio's for a PRCM are mandated.
> - * xtal_speed, dpll_speed, mpu_speed, CM_CLKSEL_MPU,CM_CLKSEL_DSP
> - * CM_CLKSEL_GFX, CM_CLKSEL1_CORE, CM_CLKSEL1_PLL CM_CLKSEL2_PLL, CM_CLKSEL_MDM
> - *
> - * This is deprecated. As soon as we have a decent OPP API, we should
> - * move all this stuff to it.
> - */
> -struct prcm_config {
> - unsigned long xtal_speed; /* crystal rate */
> - unsigned long dpll_speed; /* dpll: out*xtal*M/(N-1)table_recalc */
> - unsigned long mpu_speed; /* speed of MPU */
> - unsigned long cm_clksel_mpu; /* mpu divider */
> - unsigned long cm_clksel_dsp; /* dsp+iva1 div(2420), iva2.1(2430) */
> - unsigned long cm_clksel_gfx; /* gfx dividers */
> - unsigned long cm_clksel1_core; /* major subsystem dividers */
> - unsigned long cm_clksel1_pll; /* m,n */
> - unsigned long cm_clksel2_pll; /* dpllx1 or x2 out */
> - unsigned long cm_clksel_mdm; /* modem dividers 2430 only */
> - unsigned long base_sdrc_rfr; /* base refresh timing for a set */
> - unsigned short flags;
> -};
> -
> -
> -/* Core fields for cm_clksel, not ratio governed */
> -#define RX_CLKSEL_DSS1 (0x10 << 8)
> -#define RX_CLKSEL_DSS2 (0x0 << 13)
> -#define RX_CLKSEL_SSI (0x5 << 20)
> -
> -/*-------------------------------------------------------------------------
> - * Voltage/DPLL ratios
> - *-------------------------------------------------------------------------*/
> -
> -/* 2430 Ratio's, 2430-Ratio Config 1 */
> -#define R1_CLKSEL_L3 (4 << 0)
> -#define R1_CLKSEL_L4 (2 << 5)
> -#define R1_CLKSEL_USB (4 << 25)
> -#define R1_CM_CLKSEL1_CORE_VAL (R1_CLKSEL_USB | RX_CLKSEL_SSI | \
> - RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
> - R1_CLKSEL_L4 | R1_CLKSEL_L3)
> -#define R1_CLKSEL_MPU (2 << 0)
> -#define R1_CM_CLKSEL_MPU_VAL R1_CLKSEL_MPU
> -#define R1_CLKSEL_DSP (2 << 0)
> -#define R1_CLKSEL_DSP_IF (2 << 5)
> -#define R1_CM_CLKSEL_DSP_VAL (R1_CLKSEL_DSP | R1_CLKSEL_DSP_IF)
> -#define R1_CLKSEL_GFX (2 << 0)
> -#define R1_CM_CLKSEL_GFX_VAL R1_CLKSEL_GFX
> -#define R1_CLKSEL_MDM (4 << 0)
> -#define R1_CM_CLKSEL_MDM_VAL R1_CLKSEL_MDM
> -
> -/* 2430-Ratio Config 2 */
> -#define R2_CLKSEL_L3 (6 << 0)
> -#define R2_CLKSEL_L4 (2 << 5)
> -#define R2_CLKSEL_USB (2 << 25)
> -#define R2_CM_CLKSEL1_CORE_VAL (R2_CLKSEL_USB | RX_CLKSEL_SSI | \
> - RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
> - R2_CLKSEL_L4 | R2_CLKSEL_L3)
> -#define R2_CLKSEL_MPU (2 << 0)
> -#define R2_CM_CLKSEL_MPU_VAL R2_CLKSEL_MPU
> -#define R2_CLKSEL_DSP (2 << 0)
> -#define R2_CLKSEL_DSP_IF (3 << 5)
> -#define R2_CM_CLKSEL_DSP_VAL (R2_CLKSEL_DSP | R2_CLKSEL_DSP_IF)
> -#define R2_CLKSEL_GFX (2 << 0)
> -#define R2_CM_CLKSEL_GFX_VAL R2_CLKSEL_GFX
> -#define R2_CLKSEL_MDM (6 << 0)
> -#define R2_CM_CLKSEL_MDM_VAL R2_CLKSEL_MDM
> -
> -/* 2430-Ratio Bootm (BYPASS) */
> -#define RB_CLKSEL_L3 (1 << 0)
> -#define RB_CLKSEL_L4 (1 << 5)
> -#define RB_CLKSEL_USB (1 << 25)
> -#define RB_CM_CLKSEL1_CORE_VAL (RB_CLKSEL_USB | RX_CLKSEL_SSI | \
> - RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
> - RB_CLKSEL_L4 | RB_CLKSEL_L3)
> -#define RB_CLKSEL_MPU (1 << 0)
> -#define RB_CM_CLKSEL_MPU_VAL RB_CLKSEL_MPU
> -#define RB_CLKSEL_DSP (1 << 0)
> -#define RB_CLKSEL_DSP_IF (1 << 5)
> -#define RB_CM_CLKSEL_DSP_VAL (RB_CLKSEL_DSP | RB_CLKSEL_DSP_IF)
> -#define RB_CLKSEL_GFX (1 << 0)
> -#define RB_CM_CLKSEL_GFX_VAL RB_CLKSEL_GFX
> -#define RB_CLKSEL_MDM (1 << 0)
> -#define RB_CM_CLKSEL_MDM_VAL RB_CLKSEL_MDM
> -
> -/* 2420 Ratio Equivalents */
> -#define RXX_CLKSEL_VLYNQ (0x12 << 15)
> -#define RXX_CLKSEL_SSI (0x8 << 20)
> -
> -/* 2420-PRCM III 532MHz core */
> -#define RIII_CLKSEL_L3 (4 << 0) /* 133MHz */
> -#define RIII_CLKSEL_L4 (2 << 5) /* 66.5MHz */
> -#define RIII_CLKSEL_USB (4 << 25) /* 33.25MHz */
> -#define RIII_CM_CLKSEL1_CORE_VAL (RIII_CLKSEL_USB | RXX_CLKSEL_SSI | \
> - RXX_CLKSEL_VLYNQ | RX_CLKSEL_DSS2 | \
> - RX_CLKSEL_DSS1 | RIII_CLKSEL_L4 | \
> - RIII_CLKSEL_L3)
> -#define RIII_CLKSEL_MPU (2 << 0) /* 266MHz */
> -#define RIII_CM_CLKSEL_MPU_VAL RIII_CLKSEL_MPU
> -#define RIII_CLKSEL_DSP (3 << 0) /* c5x - 177.3MHz */
> -#define RIII_CLKSEL_DSP_IF (2 << 5) /* c5x - 88.67MHz */
> -#define RIII_SYNC_DSP (1 << 7) /* Enable sync */
> -#define RIII_CLKSEL_IVA (6 << 8) /* iva1 - 88.67MHz */
> -#define RIII_SYNC_IVA (1 << 13) /* Enable sync */
> -#define RIII_CM_CLKSEL_DSP_VAL (RIII_SYNC_IVA | RIII_CLKSEL_IVA | \
> - RIII_SYNC_DSP | RIII_CLKSEL_DSP_IF | \
> - RIII_CLKSEL_DSP)
> -#define RIII_CLKSEL_GFX (2 << 0) /* 66.5MHz */
> -#define RIII_CM_CLKSEL_GFX_VAL RIII_CLKSEL_GFX
> -
> -/* 2420-PRCM II 600MHz core */
> -#define RII_CLKSEL_L3 (6 << 0) /* 100MHz */
> -#define RII_CLKSEL_L4 (2 << 5) /* 50MHz */
> -#define RII_CLKSEL_USB (2 << 25) /* 50MHz */
> -#define RII_CM_CLKSEL1_CORE_VAL (RII_CLKSEL_USB | RXX_CLKSEL_SSI | \
> - RXX_CLKSEL_VLYNQ | RX_CLKSEL_DSS2 | \
> - RX_CLKSEL_DSS1 | RII_CLKSEL_L4 | \
> - RII_CLKSEL_L3)
> -#define RII_CLKSEL_MPU (2 << 0) /* 300MHz */
> -#define RII_CM_CLKSEL_MPU_VAL RII_CLKSEL_MPU
> -#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz */
> -#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz */
> -#define RII_SYNC_DSP (0 << 7) /* Bypass sync */
> -#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz */
> -#define RII_SYNC_IVA (0 << 13) /* Bypass sync */
> -#define RII_CM_CLKSEL_DSP_VAL (RII_SYNC_IVA | RII_CLKSEL_IVA | \
> - RII_SYNC_DSP | RII_CLKSEL_DSP_IF | \
> - RII_CLKSEL_DSP)
> -#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
> -#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
> -
> -/* 2420-PRCM I 660MHz core */
> -#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
> -#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
> -#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
> -#define RI_CM_CLKSEL1_CORE_VAL (RI_CLKSEL_USB | \
> - RXX_CLKSEL_SSI | RXX_CLKSEL_VLYNQ | \
> - RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
> - RI_CLKSEL_L4 | RI_CLKSEL_L3)
> -#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
> -#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
> -#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz */
> -#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz */
> -#define RI_SYNC_DSP (1 << 7) /* Activate sync */
> -#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz */
> -#define RI_SYNC_IVA (0 << 13) /* Bypass sync */
> -#define RI_CM_CLKSEL_DSP_VAL (RI_SYNC_IVA | RI_CLKSEL_IVA | \
> - RI_SYNC_DSP | RI_CLKSEL_DSP_IF | \
> - RI_CLKSEL_DSP)
> -#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
> -#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
> -
> -/* 2420-PRCM VII (boot) */
> -#define RVII_CLKSEL_L3 (1 << 0)
> -#define RVII_CLKSEL_L4 (1 << 5)
> -#define RVII_CLKSEL_DSS1 (1 << 8)
> -#define RVII_CLKSEL_DSS2 (0 << 13)
> -#define RVII_CLKSEL_VLYNQ (1 << 15)
> -#define RVII_CLKSEL_SSI (1 << 20)
> -#define RVII_CLKSEL_USB (1 << 25)
> -
> -#define RVII_CM_CLKSEL1_CORE_VAL (RVII_CLKSEL_USB | RVII_CLKSEL_SSI | \
> - RVII_CLKSEL_VLYNQ | \
> - RVII_CLKSEL_DSS2 | RVII_CLKSEL_DSS1 | \
> - RVII_CLKSEL_L4 | RVII_CLKSEL_L3)
> -
> -#define RVII_CLKSEL_MPU (1 << 0) /* all divide by 1 */
> -#define RVII_CM_CLKSEL_MPU_VAL RVII_CLKSEL_MPU
> -
> -#define RVII_CLKSEL_DSP (1 << 0)
> -#define RVII_CLKSEL_DSP_IF (1 << 5)
> -#define RVII_SYNC_DSP (0 << 7)
> -#define RVII_CLKSEL_IVA (1 << 8)
> -#define RVII_SYNC_IVA (0 << 13)
> -#define RVII_CM_CLKSEL_DSP_VAL (RVII_SYNC_IVA | RVII_CLKSEL_IVA | \
> - RVII_SYNC_DSP | RVII_CLKSEL_DSP_IF | \
> - RVII_CLKSEL_DSP)
> -
> -#define RVII_CLKSEL_GFX (1 << 0)
> -#define RVII_CM_CLKSEL_GFX_VAL RVII_CLKSEL_GFX
> -
> -/*-------------------------------------------------------------------------
> - * 2430 Target modes: Along with each configuration the CPU has several
> - * modes which goes along with them. Modes mainly are the addition of
> - * describe DPLL combinations to go along with a ratio.
> - *-------------------------------------------------------------------------*/
> -
> -/* Hardware governed */
> -#define MX_48M_SRC (0 << 3)
> -#define MX_54M_SRC (0 << 5)
> -#define MX_APLLS_CLIKIN_12 (3 << 23)
> -#define MX_APLLS_CLIKIN_13 (2 << 23)
> -#define MX_APLLS_CLIKIN_19_2 (0 << 23)
> -
> -/*
> - * 2430 - standalone, 2*ref*M/(n+1), M/N is for exactness not relock speed
> - * #5a (ratio1) baseport-target, target DPLL = 266*2 = 532MHz
> - */
> -#define M5A_DPLL_MULT_12 (133 << 12)
> -#define M5A_DPLL_DIV_12 (5 << 8)
> -#define M5A_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5A_DPLL_DIV_12 | M5A_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -#define M5A_DPLL_MULT_13 (61 << 12)
> -#define M5A_DPLL_DIV_13 (2 << 8)
> -#define M5A_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5A_DPLL_DIV_13 | M5A_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -#define M5A_DPLL_MULT_19 (55 << 12)
> -#define M5A_DPLL_DIV_19 (3 << 8)
> -#define M5A_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5A_DPLL_DIV_19 | M5A_DPLL_MULT_19 | \
> - MX_APLLS_CLIKIN_19_2)
> -/* #5b (ratio1) target DPLL = 200*2 = 400MHz */
> -#define M5B_DPLL_MULT_12 (50 << 12)
> -#define M5B_DPLL_DIV_12 (2 << 8)
> -#define M5B_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5B_DPLL_DIV_12 | M5B_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -#define M5B_DPLL_MULT_13 (200 << 12)
> -#define M5B_DPLL_DIV_13 (12 << 8)
> -
> -#define M5B_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5B_DPLL_DIV_13 | M5B_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -#define M5B_DPLL_MULT_19 (125 << 12)
> -#define M5B_DPLL_DIV_19 (31 << 8)
> -#define M5B_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M5B_DPLL_DIV_19 | M5B_DPLL_MULT_19 | \
> - MX_APLLS_CLIKIN_19_2)
> -/*
> - * #4 (ratio2), DPLL = 399*2 = 798MHz, L3=133MHz
> - */
> -#define M4_DPLL_MULT_12 (133 << 12)
> -#define M4_DPLL_DIV_12 (3 << 8)
> -#define M4_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M4_DPLL_DIV_12 | M4_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -
> -#define M4_DPLL_MULT_13 (399 << 12)
> -#define M4_DPLL_DIV_13 (12 << 8)
> -#define M4_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M4_DPLL_DIV_13 | M4_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -
> -#define M4_DPLL_MULT_19 (145 << 12)
> -#define M4_DPLL_DIV_19 (6 << 8)
> -#define M4_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M4_DPLL_DIV_19 | M4_DPLL_MULT_19 | \
> - MX_APLLS_CLIKIN_19_2)
> -
> -/*
> - * #3 (ratio2) baseport-target, target DPLL = 330*2 = 660MHz
> - */
> -#define M3_DPLL_MULT_12 (55 << 12)
> -#define M3_DPLL_DIV_12 (1 << 8)
> -#define M3_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M3_DPLL_DIV_12 | M3_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -#define M3_DPLL_MULT_13 (76 << 12)
> -#define M3_DPLL_DIV_13 (2 << 8)
> -#define M3_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M3_DPLL_DIV_13 | M3_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -#define M3_DPLL_MULT_19 (17 << 12)
> -#define M3_DPLL_DIV_19 (0 << 8)
> -#define M3_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M3_DPLL_DIV_19 | M3_DPLL_MULT_19 | \
> - MX_APLLS_CLIKIN_19_2)
> -
> -/*
> - * #2 (ratio1) DPLL = 330*2 = 660MHz, L3=165MHz
> - */
> -#define M2_DPLL_MULT_12 (55 << 12)
> -#define M2_DPLL_DIV_12 (1 << 8)
> -#define M2_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M2_DPLL_DIV_12 | M2_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -
> -/* Speed changes - Used 658.7MHz instead of 660MHz for LP-Refresh M=76 N=2,
> - * relock time issue */
> -/* Core frequency changed from 330/165 to 329/164 MHz*/
> -#define M2_DPLL_MULT_13 (76 << 12)
> -#define M2_DPLL_DIV_13 (2 << 8)
> -#define M2_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M2_DPLL_DIV_13 | M2_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -
> -#define M2_DPLL_MULT_19 (17 << 12)
> -#define M2_DPLL_DIV_19 (0 << 8)
> -#define M2_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - M2_DPLL_DIV_19 | M2_DPLL_MULT_19 | \
> - MX_APLLS_CLIKIN_19_2)
> -
> -/* boot (boot) */
> -#define MB_DPLL_MULT (1 << 12)
> -#define MB_DPLL_DIV (0 << 8)
> -#define MB_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MB_DPLL_DIV | MB_DPLL_MULT | \
> - MX_APLLS_CLIKIN_12)
> -
> -#define MB_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MB_DPLL_DIV | MB_DPLL_MULT | \
> - MX_APLLS_CLIKIN_13)
> -
> -#define MB_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MB_DPLL_DIV | MB_DPLL_MULT | \
> - MX_APLLS_CLIKIN_19)
> -
> -/*
> - * 2430 - chassis (sedna)
> - * 165 (ratio1) same as above #2
> - * 150 (ratio1)
> - * 133 (ratio2) same as above #4
> - * 110 (ratio2) same as above #3
> - * 104 (ratio2)
> - * boot (boot)
> - */
> -
> -/* PRCM I target DPLL = 2*330MHz = 660MHz */
> -#define MI_DPLL_MULT_12 (55 << 12)
> -#define MI_DPLL_DIV_12 (1 << 8)
> -#define MI_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MI_DPLL_DIV_12 | MI_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -
> -/*
> - * 2420 Equivalent - mode registers
> - * PRCM II , target DPLL = 2*300MHz = 600MHz
> - */
> -#define MII_DPLL_MULT_12 (50 << 12)
> -#define MII_DPLL_DIV_12 (1 << 8)
> -#define MII_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MII_DPLL_DIV_12 | MII_DPLL_MULT_12 | \
> - MX_APLLS_CLIKIN_12)
> -#define MII_DPLL_MULT_13 (300 << 12)
> -#define MII_DPLL_DIV_13 (12 << 8)
> -#define MII_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MII_DPLL_DIV_13 | MII_DPLL_MULT_13 | \
> - MX_APLLS_CLIKIN_13)
> -
> -/* PRCM III target DPLL = 2*266 = 532MHz*/
> -#define MIII_DPLL_MULT_12 (133 << 12)
> -#define MIII_DPLL_DIV_12 (5 << 8)
> -#define MIII_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MIII_DPLL_DIV_12 | \
> - MIII_DPLL_MULT_12 | MX_APLLS_CLIKIN_12)
> -#define MIII_DPLL_MULT_13 (266 << 12)
> -#define MIII_DPLL_DIV_13 (12 << 8)
> -#define MIII_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
> - MIII_DPLL_DIV_13 | \
> - MIII_DPLL_MULT_13 | MX_APLLS_CLIKIN_13)
> -
> -/* PRCM VII (boot bypass) */
> -#define MVII_CM_CLKSEL1_PLL_12_VAL MB_CM_CLKSEL1_PLL_12_VAL
> -#define MVII_CM_CLKSEL1_PLL_13_VAL MB_CM_CLKSEL1_PLL_13_VAL
> -
> -/* High and low operation value */
> -#define MX_CLKSEL2_PLL_2x_VAL (2 << 0)
> -#define MX_CLKSEL2_PLL_1x_VAL (1 << 0)
> -
> -/* MPU speed defines */
> -#define S12M 12000000
> -#define S13M 13000000
> -#define S19M 19200000
> -#define S26M 26000000
> -#define S100M 100000000
> -#define S133M 133000000
> -#define S150M 150000000
> -#define S164M 164000000
> -#define S165M 165000000
> -#define S199M 199000000
> -#define S200M 200000000
> -#define S266M 266000000
> -#define S300M 300000000
> -#define S329M 329000000
> -#define S330M 330000000
> -#define S399M 399000000
> -#define S400M 400000000
> -#define S532M 532000000
> -#define S600M 600000000
> -#define S658M 658000000
> -#define S660M 660000000
> -#define S798M 798000000
> -
> -
> -extern const struct prcm_config omap2420_rate_table[];
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -extern const struct prcm_config omap2430_rate_table[];
> -#else
> -#define omap2430_rate_table NULL
> -#endif
> -extern const struct prcm_config *rate_table;
> -extern const struct prcm_config *curr_prcm_set;
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> index b947bacf23a3..8b8021b297aa 100644
> --- a/arch/arm/mach-omap2/pdata-quirks.c
> +++ b/arch/arm/mach-omap2/pdata-quirks.c
> @@ -27,7 +27,6 @@
>
> #include "clockdomain.h"
> #include "common.h"
> -#include "common-board-devices.h"
> #include "control.h"
> #include "omap_device.h"
> #include "omap-secure.h"
> @@ -42,15 +41,6 @@ struct pdata_init {
>
> static struct of_dev_auxdata omap_auxdata_lookup[];
>
> -#ifdef CONFIG_MACH_NOKIA_N8X0
> -static void __init omap2420_n8x0_legacy_init(void)
> -{
> - omap_auxdata_lookup[0].platform_data = n8x0_legacy_init();
> -}
> -#else
> -#define omap2420_n8x0_legacy_init NULL
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> /*
> * Configures GPIOs 126, 127 and 129 to 1.8V mode instead of 3.0V
> @@ -431,26 +421,9 @@ static void __init omap3_mcbsp_init(void)
> static void __init omap3_mcbsp_init(void) {}
> #endif
>
> -/*
> - * Few boards still need auxdata populated before we populate
> - * the dev entries in of_platform_populate().
> - */
> -static struct pdata_init auxdata_quirks[] __initdata = {
> -#ifdef CONFIG_SOC_OMAP2420
> - { "nokia,n800", omap2420_n8x0_legacy_init, },
> - { "nokia,n810", omap2420_n8x0_legacy_init, },
> - { "nokia,n810-wimax", omap2420_n8x0_legacy_init, },
> -#endif
> - { /* sentinel */ },
> -};
> -
> struct omap_sr_data __maybe_unused omap_sr_pdata[OMAP_SR_NR];
>
> static struct of_dev_auxdata omap_auxdata_lookup[] = {
> -#ifdef CONFIG_MACH_NOKIA_N8X0
> - OF_DEV_AUXDATA("ti,omap2420-mmc", 0x4809c000, "mmci-omap.0", NULL),
> - OF_DEV_AUXDATA("menelaus", 0x72, "1-0072", &n8x0_menelaus_platform_data),
> -#endif
> #ifdef CONFIG_ARCH_OMAP3
> OF_DEV_AUXDATA("ti,omap2-iommu", 0x5d000000, "5d000000.mmu",
> &omap3_iommu_pdata),
> @@ -560,13 +533,11 @@ void __init pdata_quirks_init(const struct of_device_id *omap_dt_match_table)
> * We still need this for omap2420 and omap3 PM to work, others are
> * using drivers/misc/sram.c already.
> */
> - if (of_machine_is_compatible("ti,omap2420") ||
> - of_machine_is_compatible("ti,omap3"))
> + if (IS_ENABLED(CONFIG_ARCH_OMAP3) &&
> + of_machine_is_compatible("ti,omap3")) {
> omap_sdrc_init(NULL, NULL);
> -
> - if (of_machine_is_compatible("ti,omap3"))
> omap3_mcbsp_init();
> - pdata_quirks_check(auxdata_quirks);
> + }
>
> pdata_quirks_init_clocks(omap_dt_match_table);
>
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index f97ff93f2fb4..5751b85e9ffb 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -43,11 +43,6 @@ extern void pm_dbg_update_time(struct powerdomain *pwrdm, int prev);
> #define pm_dbg_update_time(pwrdm, prev) do {} while (0);
> #endif /* CONFIG_PM_DEBUG */
>
> -/* 24xx */
> -extern void omap24xx_cpu_suspend(u32 dll_ctrl, void __iomem *sdrc_dlla_ctrl,
> - void __iomem *sdrc_power);
> -extern unsigned int omap24xx_cpu_suspend_sz;
> -
> /* 3xxx */
> extern void omap34xx_cpu_suspend(int save_state);
>
> diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h
> index fbc89999460b..eaf6d1104dc2 100644
> --- a/arch/arm/mach-omap2/powerdomain.h
> +++ b/arch/arm/mach-omap2/powerdomain.h
> @@ -244,8 +244,6 @@ int pwrdm_post_transition(struct powerdomain *pwrdm);
>
> extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u8 state);
>
> -extern void omap242x_powerdomains_init(void);
> -extern void omap243x_powerdomains_init(void);
> extern void omap3xxx_powerdomains_init(void);
> extern void am33xx_powerdomains_init(void);
> extern void omap44xx_powerdomains_init(void);
> @@ -253,7 +251,6 @@ extern void omap54xx_powerdomains_init(void);
> extern void dra7xx_powerdomains_init(void);
> void am43xx_powerdomains_init(void);
>
> -extern struct pwrdm_ops omap2_pwrdm_operations;
> extern struct pwrdm_ops omap3_pwrdm_operations;
> extern struct pwrdm_ops am33xx_pwrdm_operations;
> extern struct pwrdm_ops omap4_pwrdm_operations;
> diff --git a/arch/arm/mach-omap2/powerdomains2xxx_data.c b/arch/arm/mach-omap2/powerdomains2xxx_data.c
> deleted file mode 100644
> index fa259adbdc61..000000000000
> --- a/arch/arm/mach-omap2/powerdomains2xxx_data.c
> +++ /dev/null
> @@ -1,134 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP2XXX powerdomain definitions
> - *
> - * Copyright (C) 2007-2008, 2011 Texas Instruments, Inc.
> - * Copyright (C) 2007-2011 Nokia Corporation
> - *
> - * Paul Walmsley, Jouni Högander
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/init.h>
> -
> -#include "soc.h"
> -#include "powerdomain.h"
> -#include "powerdomains2xxx_3xxx_data.h"
> -
> -#include "prcm-common.h"
> -#include "prm2xxx_3xxx.h"
> -#include "prm-regbits-24xx.h"
> -
> -/* 24XX powerdomains and dependencies */
> -
> -/* Powerdomains */
> -
> -static struct powerdomain dsp_pwrdm = {
> - .name = "dsp_pwrdm",
> - .prcm_offs = OMAP24XX_DSP_MOD,
> - .pwrsts = PWRSTS_OFF_RET_ON,
> - .pwrsts_logic_ret = PWRSTS_RET,
> - .banks = 1,
> - .pwrsts_mem_ret = {
> - [0] = PWRSTS_RET,
> - },
> - .pwrsts_mem_on = {
> - [0] = PWRSTS_ON,
> - },
> - .voltdm = { .name = "core" },
> -};
> -
> -static struct powerdomain mpu_24xx_pwrdm = {
> - .name = "mpu_pwrdm",
> - .prcm_offs = MPU_MOD,
> - .pwrsts = PWRSTS_OFF_RET_ON,
> - .pwrsts_logic_ret = PWRSTS_OFF_RET,
> - .banks = 1,
> - .pwrsts_mem_ret = {
> - [0] = PWRSTS_RET,
> - },
> - .pwrsts_mem_on = {
> - [0] = PWRSTS_ON,
> - },
> - .voltdm = { .name = "core" },
> -};
> -
> -static struct powerdomain core_24xx_pwrdm = {
> - .name = "core_pwrdm",
> - .prcm_offs = CORE_MOD,
> - .pwrsts = PWRSTS_OFF_RET_ON,
> - .pwrsts_logic_ret = PWRSTS_RET,
> - .banks = 3,
> - .pwrsts_mem_ret = {
> - [0] = PWRSTS_OFF_RET, /* MEM1RETSTATE */
> - [1] = PWRSTS_OFF_RET, /* MEM2RETSTATE */
> - [2] = PWRSTS_OFF_RET, /* MEM3RETSTATE */
> - },
> - .pwrsts_mem_on = {
> - [0] = PWRSTS_OFF_RET_ON, /* MEM1ONSTATE */
> - [1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
> - [2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */
> - },
> - .voltdm = { .name = "core" },
> -};
> -
> -
> -/*
> - * 2430-specific powerdomains
> - */
> -
> -/* XXX 2430 KILLDOMAINWKUP bit? No current users apparently */
> -
> -static struct powerdomain mdm_pwrdm = {
> - .name = "mdm_pwrdm",
> - .prcm_offs = OMAP2430_MDM_MOD,
> - .pwrsts = PWRSTS_OFF_RET_ON,
> - .pwrsts_logic_ret = PWRSTS_RET,
> - .banks = 1,
> - .pwrsts_mem_ret = {
> - [0] = PWRSTS_RET, /* MEMRETSTATE */
> - },
> - .pwrsts_mem_on = {
> - [0] = PWRSTS_ON, /* MEMONSTATE */
> - },
> - .voltdm = { .name = "core" },
> -};
> -
> -/*
> - *
> - */
> -
> -static struct powerdomain *powerdomains_omap24xx[] __initdata = {
> - &wkup_omap2_pwrdm,
> - &gfx_omap2_pwrdm,
> - &dsp_pwrdm,
> - &mpu_24xx_pwrdm,
> - &core_24xx_pwrdm,
> - NULL
> -};
> -
> -static struct powerdomain *powerdomains_omap2430[] __initdata = {
> - &mdm_pwrdm,
> - NULL
> -};
> -
> -void __init omap242x_powerdomains_init(void)
> -{
> - if (!cpu_is_omap2420())
> - return;
> -
> - pwrdm_register_platform_funcs(&omap2_pwrdm_operations);
> - pwrdm_register_pwrdms(powerdomains_omap24xx);
> - pwrdm_complete_init();
> -}
> -
> -void __init omap243x_powerdomains_init(void)
> -{
> - if (!cpu_is_omap2430())
> - return;
> -
> - pwrdm_register_platform_funcs(&omap2_pwrdm_operations);
> - pwrdm_register_pwrdms(powerdomains_omap24xx);
> - pwrdm_register_pwrdms(powerdomains_omap2430);
> - pwrdm_complete_init();
> -}
> diff --git a/arch/arm/mach-omap2/prcm-common.h b/arch/arm/mach-omap2/prcm-common.h
> index 5e3544a63526..e326bb6a09db 100644
> --- a/arch/arm/mach-omap2/prcm-common.h
> +++ b/arch/arm/mach-omap2/prcm-common.h
> @@ -27,12 +27,6 @@
> #define PLL_MOD 0x500
>
>
> -/* Chip-specific module offsets */
> -#define OMAP24XX_GR_MOD OCP_MOD
> -#define OMAP24XX_DSP_MOD 0x800
> -
> -#define OMAP2430_MDM_MOD 0xc00
> -
> /* IVA2 module is < base on 3430 */
> #define OMAP3430_IVA2_MOD -0x800
> #define OMAP3430ES2_SGX_MOD GFX_MOD
> @@ -63,147 +57,6 @@
> #define TI816X_PRM_SGX_MOD 0x0f00
> #define TI81XX_PRM_ALWON_MOD 0x1800
>
> -/* 24XX register bits shared between CM & PRM registers */
> -
> -/* CM_FCLKEN1_CORE, CM_ICLKEN1_CORE, PM_WKEN1_CORE shared bits */
> -#define OMAP2420_EN_MMC_SHIFT 26
> -#define OMAP2420_EN_MMC_MASK (1 << 26)
> -#define OMAP24XX_EN_UART2_SHIFT 22
> -#define OMAP24XX_EN_UART2_MASK (1 << 22)
> -#define OMAP24XX_EN_UART1_SHIFT 21
> -#define OMAP24XX_EN_UART1_MASK (1 << 21)
> -#define OMAP24XX_EN_MCSPI2_SHIFT 18
> -#define OMAP24XX_EN_MCSPI2_MASK (1 << 18)
> -#define OMAP24XX_EN_MCSPI1_SHIFT 17
> -#define OMAP24XX_EN_MCSPI1_MASK (1 << 17)
> -#define OMAP24XX_EN_MCBSP2_SHIFT 16
> -#define OMAP24XX_EN_MCBSP2_MASK (1 << 16)
> -#define OMAP24XX_EN_MCBSP1_SHIFT 15
> -#define OMAP24XX_EN_MCBSP1_MASK (1 << 15)
> -#define OMAP24XX_EN_GPT12_SHIFT 14
> -#define OMAP24XX_EN_GPT12_MASK (1 << 14)
> -#define OMAP24XX_EN_GPT11_SHIFT 13
> -#define OMAP24XX_EN_GPT11_MASK (1 << 13)
> -#define OMAP24XX_EN_GPT10_SHIFT 12
> -#define OMAP24XX_EN_GPT10_MASK (1 << 12)
> -#define OMAP24XX_EN_GPT9_SHIFT 11
> -#define OMAP24XX_EN_GPT9_MASK (1 << 11)
> -#define OMAP24XX_EN_GPT8_SHIFT 10
> -#define OMAP24XX_EN_GPT8_MASK (1 << 10)
> -#define OMAP24XX_EN_GPT7_SHIFT 9
> -#define OMAP24XX_EN_GPT7_MASK (1 << 9)
> -#define OMAP24XX_EN_GPT6_SHIFT 8
> -#define OMAP24XX_EN_GPT6_MASK (1 << 8)
> -#define OMAP24XX_EN_GPT5_SHIFT 7
> -#define OMAP24XX_EN_GPT5_MASK (1 << 7)
> -#define OMAP24XX_EN_GPT4_SHIFT 6
> -#define OMAP24XX_EN_GPT4_MASK (1 << 6)
> -#define OMAP24XX_EN_GPT3_SHIFT 5
> -#define OMAP24XX_EN_GPT3_MASK (1 << 5)
> -#define OMAP24XX_EN_GPT2_SHIFT 4
> -#define OMAP24XX_EN_GPT2_MASK (1 << 4)
> -#define OMAP2420_EN_VLYNQ_SHIFT 3
> -#define OMAP2420_EN_VLYNQ_MASK (1 << 3)
> -
> -/* CM_FCLKEN2_CORE, CM_ICLKEN2_CORE, PM_WKEN2_CORE shared bits */
> -#define OMAP2430_EN_GPIO5_SHIFT 10
> -#define OMAP2430_EN_GPIO5_MASK (1 << 10)
> -#define OMAP2430_EN_MCSPI3_SHIFT 9
> -#define OMAP2430_EN_MCSPI3_MASK (1 << 9)
> -#define OMAP2430_EN_MMCHS2_SHIFT 8
> -#define OMAP2430_EN_MMCHS2_MASK (1 << 8)
> -#define OMAP2430_EN_MMCHS1_SHIFT 7
> -#define OMAP2430_EN_MMCHS1_MASK (1 << 7)
> -#define OMAP24XX_EN_UART3_SHIFT 2
> -#define OMAP24XX_EN_UART3_MASK (1 << 2)
> -#define OMAP24XX_EN_USB_SHIFT 0
> -#define OMAP24XX_EN_USB_MASK (1 << 0)
> -
> -/* CM_ICLKEN2_CORE, PM_WKEN2_CORE shared bits */
> -#define OMAP2430_EN_MDM_INTC_SHIFT 11
> -#define OMAP2430_EN_MDM_INTC_MASK (1 << 11)
> -#define OMAP2430_EN_USBHS_SHIFT 6
> -#define OMAP2430_EN_USBHS_MASK (1 << 6)
> -#define OMAP24XX_EN_GPMC_SHIFT 1
> -#define OMAP24XX_EN_GPMC_MASK (1 << 1)
> -
> -/* CM_IDLEST1_CORE, PM_WKST1_CORE shared bits */
> -#define OMAP2420_ST_MMC_SHIFT 26
> -#define OMAP2420_ST_MMC_MASK (1 << 26)
> -#define OMAP24XX_ST_UART2_SHIFT 22
> -#define OMAP24XX_ST_UART2_MASK (1 << 22)
> -#define OMAP24XX_ST_UART1_SHIFT 21
> -#define OMAP24XX_ST_UART1_MASK (1 << 21)
> -#define OMAP24XX_ST_MCSPI2_SHIFT 18
> -#define OMAP24XX_ST_MCSPI2_MASK (1 << 18)
> -#define OMAP24XX_ST_MCSPI1_SHIFT 17
> -#define OMAP24XX_ST_MCSPI1_MASK (1 << 17)
> -#define OMAP24XX_ST_MCBSP2_SHIFT 16
> -#define OMAP24XX_ST_MCBSP2_MASK (1 << 16)
> -#define OMAP24XX_ST_MCBSP1_SHIFT 15
> -#define OMAP24XX_ST_MCBSP1_MASK (1 << 15)
> -#define OMAP24XX_ST_GPT12_SHIFT 14
> -#define OMAP24XX_ST_GPT12_MASK (1 << 14)
> -#define OMAP24XX_ST_GPT11_SHIFT 13
> -#define OMAP24XX_ST_GPT11_MASK (1 << 13)
> -#define OMAP24XX_ST_GPT10_SHIFT 12
> -#define OMAP24XX_ST_GPT10_MASK (1 << 12)
> -#define OMAP24XX_ST_GPT9_SHIFT 11
> -#define OMAP24XX_ST_GPT9_MASK (1 << 11)
> -#define OMAP24XX_ST_GPT8_SHIFT 10
> -#define OMAP24XX_ST_GPT8_MASK (1 << 10)
> -#define OMAP24XX_ST_GPT7_SHIFT 9
> -#define OMAP24XX_ST_GPT7_MASK (1 << 9)
> -#define OMAP24XX_ST_GPT6_SHIFT 8
> -#define OMAP24XX_ST_GPT6_MASK (1 << 8)
> -#define OMAP24XX_ST_GPT5_SHIFT 7
> -#define OMAP24XX_ST_GPT5_MASK (1 << 7)
> -#define OMAP24XX_ST_GPT4_SHIFT 6
> -#define OMAP24XX_ST_GPT4_MASK (1 << 6)
> -#define OMAP24XX_ST_GPT3_SHIFT 5
> -#define OMAP24XX_ST_GPT3_MASK (1 << 5)
> -#define OMAP24XX_ST_GPT2_SHIFT 4
> -#define OMAP24XX_ST_GPT2_MASK (1 << 4)
> -#define OMAP2420_ST_VLYNQ_SHIFT 3
> -#define OMAP2420_ST_VLYNQ_MASK (1 << 3)
> -
> -/* CM_IDLEST2_CORE, PM_WKST2_CORE shared bits */
> -#define OMAP2430_ST_MDM_INTC_SHIFT 11
> -#define OMAP2430_ST_MDM_INTC_MASK (1 << 11)
> -#define OMAP2430_ST_GPIO5_SHIFT 10
> -#define OMAP2430_ST_GPIO5_MASK (1 << 10)
> -#define OMAP2430_ST_MCSPI3_SHIFT 9
> -#define OMAP2430_ST_MCSPI3_MASK (1 << 9)
> -#define OMAP2430_ST_MMCHS2_SHIFT 8
> -#define OMAP2430_ST_MMCHS2_MASK (1 << 8)
> -#define OMAP2430_ST_MMCHS1_SHIFT 7
> -#define OMAP2430_ST_MMCHS1_MASK (1 << 7)
> -#define OMAP2430_ST_USBHS_SHIFT 6
> -#define OMAP2430_ST_USBHS_MASK (1 << 6)
> -#define OMAP24XX_ST_UART3_SHIFT 2
> -#define OMAP24XX_ST_UART3_MASK (1 << 2)
> -#define OMAP24XX_ST_USB_SHIFT 0
> -#define OMAP24XX_ST_USB_MASK (1 << 0)
> -
> -/* CM_FCLKEN_WKUP, CM_ICLKEN_WKUP, PM_WKEN_WKUP shared bits */
> -#define OMAP24XX_EN_GPIOS_SHIFT 2
> -#define OMAP24XX_EN_GPIOS_MASK (1 << 2)
> -#define OMAP24XX_EN_GPT1_SHIFT 0
> -#define OMAP24XX_EN_GPT1_MASK (1 << 0)
> -
> -/* PM_WKST_WKUP, CM_IDLEST_WKUP shared bits */
> -#define OMAP24XX_ST_GPIOS_SHIFT 2
> -#define OMAP24XX_ST_GPIOS_MASK (1 << 2)
> -#define OMAP24XX_ST_32KSYNC_SHIFT 1
> -#define OMAP24XX_ST_32KSYNC_MASK (1 << 1)
> -#define OMAP24XX_ST_GPT1_SHIFT 0
> -#define OMAP24XX_ST_GPT1_MASK (1 << 0)
> -
> -/* CM_IDLEST_MDM and PM_WKST_MDM shared bits */
> -#define OMAP2430_ST_MDM_SHIFT 0
> -#define OMAP2430_ST_MDM_MASK (1 << 0)
> -
> -
> /* 3430 register bits shared between CM & PRM registers */
>
> /* CM_REVISION, PRM_REVISION shared bits */
> diff --git a/arch/arm/mach-omap2/prm-regbits-24xx.h b/arch/arm/mach-omap2/prm-regbits-24xx.h
> deleted file mode 100644
> index ff83801f6439..000000000000
> --- a/arch/arm/mach-omap2/prm-regbits-24xx.h
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_24XX_H
> -#define __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_24XX_H
> -
> -/*
> - * OMAP24XX Power/Reset Management register bits
> - *
> - * Copyright (C) 2007 Texas Instruments, Inc.
> - * Copyright (C) 2007 Nokia Corporation
> - *
> - * Written by Paul Walmsley
> - */
> -
> -#include "prm2xxx.h"
> -
> -#define OMAP24XX_EN_CORE_SHIFT 0
> -#define OMAP24XX_FORCESTATE_MASK (1 << 18)
> -#define OMAP24XX_AUTOIDLE_MASK (1 << 0)
> -#define OMAP24XX_AUTO_EXTVOLT_MASK (1 << 15)
> -#define OMAP24XX_SETOFF_LEVEL_SHIFT 12
> -#define OMAP24XX_MEMRETCTRL_MASK (1 << 8)
> -#define OMAP24XX_SETRET_LEVEL_SHIFT 6
> -#define OMAP24XX_VOLT_LEVEL_SHIFT 0
> -#define OMAP2420_CLKOUT2_EN_SHIFT 15
> -#define OMAP2420_CLKOUT2_DIV_SHIFT 11
> -#define OMAP2420_CLKOUT2_DIV_WIDTH 3
> -#define OMAP2420_CLKOUT2_SOURCE_MASK (0x3 << 8)
> -#define OMAP24XX_CLKOUT_EN_SHIFT 7
> -#define OMAP24XX_CLKOUT_DIV_SHIFT 3
> -#define OMAP24XX_CLKOUT_DIV_WIDTH 3
> -#define OMAP24XX_CLKOUT_SOURCE_MASK (0x3 << 0)
> -#define OMAP24XX_EMULATION_EN_SHIFT 0
> -#define OMAP2430_PM_WKDEP_MPU_EN_MDM_SHIFT 5
> -#define OMAP24XX_PM_WKDEP_MPU_EN_DSP_SHIFT 2
> -#define OMAP24XX_EXTWMPU_RST_SHIFT 6
> -#define OMAP24XX_SECU_WD_RST_SHIFT 5
> -#define OMAP24XX_MPU_WD_RST_SHIFT 4
> -#define OMAP24XX_SECU_VIOL_RST_SHIFT 3
> -#endif
> diff --git a/arch/arm/mach-omap2/prm2xxx.c b/arch/arm/mach-omap2/prm2xxx.c
> deleted file mode 100644
> index 35a58f54b528..000000000000
> --- a/arch/arm/mach-omap2/prm2xxx.c
> +++ /dev/null
> @@ -1,229 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP2xxx PRM module functions
> - *
> - * Copyright (C) 2010-2012 Texas Instruments, Inc.
> - * Copyright (C) 2010 Nokia Corporation
> - * Benoît Cousson
> - * Paul Walmsley
> - * Rajendra Nayak <rnayak at ti.com>
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/errno.h>
> -#include <linux/err.h>
> -#include <linux/io.h>
> -#include <linux/irq.h>
> -
> -#include "powerdomain.h"
> -#include "clockdomain.h"
> -#include "prm2xxx.h"
> -#include "cm2xxx_3xxx.h"
> -#include "prm-regbits-24xx.h"
> -
> -/*
> - * OMAP24xx PM_PWSTCTRL_*.POWERSTATE and PM_PWSTST_*.LASTSTATEENTERED bits -
> - * these are reversed from the bits used on OMAP3+
> - */
> -#define OMAP24XX_PWRDM_POWER_ON 0x0
> -#define OMAP24XX_PWRDM_POWER_RET 0x1
> -#define OMAP24XX_PWRDM_POWER_OFF 0x3
> -
> -/*
> - * omap2xxx_prm_reset_src_map - map from bits in the PRM_RSTST_WKUP
> - * hardware register (which are specific to the OMAP2xxx SoCs) to
> - * reset source ID bit shifts (which is an OMAP SoC-independent
> - * enumeration)
> - */
> -static struct prm_reset_src_map omap2xxx_prm_reset_src_map[] = {
> - { OMAP_GLOBALCOLD_RST_SHIFT, OMAP_GLOBAL_COLD_RST_SRC_ID_SHIFT },
> - { OMAP_GLOBALWARM_RST_SHIFT, OMAP_GLOBAL_WARM_RST_SRC_ID_SHIFT },
> - { OMAP24XX_SECU_VIOL_RST_SHIFT, OMAP_SECU_VIOL_RST_SRC_ID_SHIFT },
> - { OMAP24XX_MPU_WD_RST_SHIFT, OMAP_MPU_WD_RST_SRC_ID_SHIFT },
> - { OMAP24XX_SECU_WD_RST_SHIFT, OMAP_SECU_WD_RST_SRC_ID_SHIFT },
> - { OMAP24XX_EXTWMPU_RST_SHIFT, OMAP_EXTWARM_RST_SRC_ID_SHIFT },
> - { -1, -1 },
> -};
> -
> -/**
> - * omap2xxx_prm_read_reset_sources - return the last SoC reset source
> - *
> - * Return a u32 representing the last reset sources of the SoC. The
> - * returned reset source bits are standardized across OMAP SoCs.
> - */
> -static u32 omap2xxx_prm_read_reset_sources(void)
> -{
> - struct prm_reset_src_map *p;
> - u32 r = 0;
> - u32 v;
> -
> - v = omap2_prm_read_mod_reg(WKUP_MOD, OMAP2_RM_RSTST);
> -
> - p = omap2xxx_prm_reset_src_map;
> - while (p->reg_shift >= 0 && p->std_shift >= 0) {
> - if (v & (1 << p->reg_shift))
> - r |= 1 << p->std_shift;
> - p++;
> - }
> -
> - return r;
> -}
> -
> -/**
> - * omap2xxx_pwrst_to_common_pwrst - convert OMAP2xxx pwrst to common pwrst
> - * @omap2xxx_pwrst: OMAP2xxx hardware power state to convert
> - *
> - * Return the common power state bits corresponding to the OMAP2xxx
> - * hardware power state bits @omap2xxx_pwrst, or -EINVAL upon error.
> - */
> -static int omap2xxx_pwrst_to_common_pwrst(u8 omap2xxx_pwrst)
> -{
> - u8 pwrst;
> -
> - switch (omap2xxx_pwrst) {
> - case OMAP24XX_PWRDM_POWER_OFF:
> - pwrst = PWRDM_POWER_OFF;
> - break;
> - case OMAP24XX_PWRDM_POWER_RET:
> - pwrst = PWRDM_POWER_RET;
> - break;
> - case OMAP24XX_PWRDM_POWER_ON:
> - pwrst = PWRDM_POWER_ON;
> - break;
> - default:
> - return -EINVAL;
> - }
> -
> - return pwrst;
> -}
> -
> -/**
> - * omap2xxx_prm_dpll_reset - use DPLL reset to reboot the OMAP SoC
> - *
> - * Set the DPLL reset bit, which should reboot the SoC. This is the
> - * recommended way to restart the SoC. No return value.
> - */
> -static void omap2xxx_prm_dpll_reset(void)
> -{
> - omap2_prm_set_mod_reg_bits(OMAP_RST_DPLL3_MASK, WKUP_MOD,
> - OMAP2_RM_RSTCTRL);
> - /* OCP barrier */
> - omap2_prm_read_mod_reg(WKUP_MOD, OMAP2_RM_RSTCTRL);
> -}
> -
> -/**
> - * omap2xxx_prm_clear_mod_irqs - clear wakeup status bits for a module
> - * @module: PRM module to clear wakeups from
> - * @regs: register offset to clear
> - * @wkst_mask: wakeup status mask to clear
> - *
> - * Clears wakeup status bits for a given module, so that the device can
> - * re-enter idle.
> - */
> -static int omap2xxx_prm_clear_mod_irqs(s16 module, u8 regs, u32 wkst_mask)
> -{
> - u32 wkst;
> -
> - wkst = omap2_prm_read_mod_reg(module, regs);
> - wkst &= wkst_mask;
> - omap2_prm_write_mod_reg(wkst, module, regs);
> - return 0;
> -}
> -
> -int omap2xxx_clkdm_sleep(struct clockdomain *clkdm)
> -{
> - omap2_prm_set_mod_reg_bits(OMAP24XX_FORCESTATE_MASK,
> - clkdm->pwrdm.ptr->prcm_offs,
> - OMAP2_PM_PWSTCTRL);
> - return 0;
> -}
> -
> -int omap2xxx_clkdm_wakeup(struct clockdomain *clkdm)
> -{
> - omap2_prm_clear_mod_reg_bits(OMAP24XX_FORCESTATE_MASK,
> - clkdm->pwrdm.ptr->prcm_offs,
> - OMAP2_PM_PWSTCTRL);
> - return 0;
> -}
> -
> -static int omap2xxx_pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst)
> -{
> - u8 omap24xx_pwrst;
> -
> - switch (pwrst) {
> - case PWRDM_POWER_OFF:
> - omap24xx_pwrst = OMAP24XX_PWRDM_POWER_OFF;
> - break;
> - case PWRDM_POWER_RET:
> - omap24xx_pwrst = OMAP24XX_PWRDM_POWER_RET;
> - break;
> - case PWRDM_POWER_ON:
> - omap24xx_pwrst = OMAP24XX_PWRDM_POWER_ON;
> - break;
> - default:
> - return -EINVAL;
> - }
> -
> - omap2_prm_rmw_mod_reg_bits(OMAP_POWERSTATE_MASK,
> - (omap24xx_pwrst << OMAP_POWERSTATE_SHIFT),
> - pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL);
> - return 0;
> -}
> -
> -static int omap2xxx_pwrdm_read_next_pwrst(struct powerdomain *pwrdm)
> -{
> - u8 omap2xxx_pwrst;
> -
> - omap2xxx_pwrst = omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
> - OMAP2_PM_PWSTCTRL,
> - OMAP_POWERSTATE_MASK);
> -
> - return omap2xxx_pwrst_to_common_pwrst(omap2xxx_pwrst);
> -}
> -
> -static int omap2xxx_pwrdm_read_pwrst(struct powerdomain *pwrdm)
> -{
> - u8 omap2xxx_pwrst;
> -
> - omap2xxx_pwrst = omap2_prm_read_mod_bits_shift(pwrdm->prcm_offs,
> - OMAP2_PM_PWSTST,
> - OMAP_POWERSTATEST_MASK);
> -
> - return omap2xxx_pwrst_to_common_pwrst(omap2xxx_pwrst);
> -}
> -
> -struct pwrdm_ops omap2_pwrdm_operations = {
> - .pwrdm_set_next_pwrst = omap2xxx_pwrdm_set_next_pwrst,
> - .pwrdm_read_next_pwrst = omap2xxx_pwrdm_read_next_pwrst,
> - .pwrdm_read_pwrst = omap2xxx_pwrdm_read_pwrst,
> - .pwrdm_set_logic_retst = omap2_pwrdm_set_logic_retst,
> - .pwrdm_set_mem_onst = omap2_pwrdm_set_mem_onst,
> - .pwrdm_set_mem_retst = omap2_pwrdm_set_mem_retst,
> - .pwrdm_read_mem_pwrst = omap2_pwrdm_read_mem_pwrst,
> - .pwrdm_read_mem_retst = omap2_pwrdm_read_mem_retst,
> - .pwrdm_wait_transition = omap2_pwrdm_wait_transition,
> -};
> -
> -/*
> - *
> - */
> -
> -static struct prm_ll_data omap2xxx_prm_ll_data = {
> - .read_reset_sources = &omap2xxx_prm_read_reset_sources,
> - .assert_hardreset = &omap2_prm_assert_hardreset,
> - .deassert_hardreset = &omap2_prm_deassert_hardreset,
> - .is_hardreset_asserted = &omap2_prm_is_hardreset_asserted,
> - .reset_system = &omap2xxx_prm_dpll_reset,
> - .clear_mod_irqs = &omap2xxx_prm_clear_mod_irqs,
> -};
> -
> -int __init omap2xxx_prm_init(const struct omap_prcm_init_data *data)
> -{
> - return prm_register(&omap2xxx_prm_ll_data);
> -}
> -
> -static void __exit omap2xxx_prm_exit(void)
> -{
> - prm_unregister(&omap2xxx_prm_ll_data);
> -}
> -__exitcall(omap2xxx_prm_exit);
> diff --git a/arch/arm/mach-omap2/prm2xxx.h b/arch/arm/mach-omap2/prm2xxx.h
> deleted file mode 100644
> index 659b917348f8..000000000000
> --- a/arch/arm/mach-omap2/prm2xxx.h
> +++ /dev/null
> @@ -1,128 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * OMAP2xxx Power/Reset Management (PRM) register definitions
> - *
> - * Copyright (C) 2007-2009, 2011-2012 Texas Instruments, Inc.
> - * Copyright (C) 2008-2010 Nokia Corporation
> - * Paul Walmsley
> - *
> - * The PRM hardware modules on the OMAP2/3 are quite similar to each
> - * other. The PRM on OMAP4 has a new register layout, and is handled
> - * in a separate file.
> - */
> -#ifndef __ARCH_ARM_MACH_OMAP2_PRM2XXX_H
> -#define __ARCH_ARM_MACH_OMAP2_PRM2XXX_H
> -
> -#include "prcm-common.h"
> -#include "prm.h"
> -#include "prm2xxx_3xxx.h"
> -
> -#define OMAP2420_PRM_REGADDR(module, reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE + (module) + (reg))
> -#define OMAP2430_PRM_REGADDR(module, reg) \
> - OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE + (module) + (reg))
> -
> -/*
> - * OMAP2-specific global PRM registers
> - * Use {read,write}l_relaxed() with these registers.
> - *
> - * With a few exceptions, these are the register names beginning with
> - * PRCM_* on 24xx. (The exceptions are the IRQSTATUS and IRQENABLE
> - * bits.)
> - *
> - */
> -
> -#define OMAP2_PRCM_REVISION_OFFSET 0x0000
> -#define OMAP2420_PRCM_REVISION OMAP2420_PRM_REGADDR(OCP_MOD, 0x0000)
> -#define OMAP2_PRCM_SYSCONFIG_OFFSET 0x0010
> -#define OMAP2420_PRCM_SYSCONFIG OMAP2420_PRM_REGADDR(OCP_MOD, 0x0010)
> -
> -#define OMAP2_PRCM_IRQSTATUS_MPU_OFFSET 0x0018
> -#define OMAP2420_PRCM_IRQSTATUS_MPU OMAP2420_PRM_REGADDR(OCP_MOD, 0x0018)
> -#define OMAP2_PRCM_IRQENABLE_MPU_OFFSET 0x001c
> -#define OMAP2420_PRCM_IRQENABLE_MPU OMAP2420_PRM_REGADDR(OCP_MOD, 0x001c)
> -
> -#define OMAP2_PRCM_VOLTCTRL_OFFSET 0x0050
> -#define OMAP2420_PRCM_VOLTCTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0050)
> -#define OMAP2_PRCM_VOLTST_OFFSET 0x0054
> -#define OMAP2420_PRCM_VOLTST OMAP2420_PRM_REGADDR(OCP_MOD, 0x0054)
> -#define OMAP2_PRCM_CLKSRC_CTRL_OFFSET 0x0060
> -#define OMAP2420_PRCM_CLKSRC_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0060)
> -#define OMAP2_PRCM_CLKOUT_CTRL_OFFSET 0x0070
> -#define OMAP2420_PRCM_CLKOUT_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0070)
> -#define OMAP2_PRCM_CLKEMUL_CTRL_OFFSET 0x0078
> -#define OMAP2420_PRCM_CLKEMUL_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0078)
> -#define OMAP2_PRCM_CLKCFG_CTRL_OFFSET 0x0080
> -#define OMAP2420_PRCM_CLKCFG_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0080)
> -#define OMAP2_PRCM_CLKCFG_STATUS_OFFSET 0x0084
> -#define OMAP2420_PRCM_CLKCFG_STATUS OMAP2420_PRM_REGADDR(OCP_MOD, 0x0084)
> -#define OMAP2_PRCM_VOLTSETUP_OFFSET 0x0090
> -#define OMAP2420_PRCM_VOLTSETUP OMAP2420_PRM_REGADDR(OCP_MOD, 0x0090)
> -#define OMAP2_PRCM_CLKSSETUP_OFFSET 0x0094
> -#define OMAP2420_PRCM_CLKSSETUP OMAP2420_PRM_REGADDR(OCP_MOD, 0x0094)
> -#define OMAP2_PRCM_POLCTRL_OFFSET 0x0098
> -#define OMAP2420_PRCM_POLCTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0098)
> -
> -#define OMAP2430_PRCM_REVISION OMAP2430_PRM_REGADDR(OCP_MOD, 0x0000)
> -#define OMAP2430_PRCM_SYSCONFIG OMAP2430_PRM_REGADDR(OCP_MOD, 0x0010)
> -
> -#define OMAP2430_PRCM_IRQSTATUS_MPU OMAP2430_PRM_REGADDR(OCP_MOD, 0x0018)
> -#define OMAP2430_PRCM_IRQENABLE_MPU OMAP2430_PRM_REGADDR(OCP_MOD, 0x001c)
> -
> -#define OMAP2430_PRCM_VOLTCTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0050)
> -#define OMAP2430_PRCM_VOLTST OMAP2430_PRM_REGADDR(OCP_MOD, 0x0054)
> -#define OMAP2430_PRCM_CLKSRC_CTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0060)
> -#define OMAP2430_PRCM_CLKOUT_CTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0070)
> -#define OMAP2430_PRCM_CLKEMUL_CTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0078)
> -#define OMAP2430_PRCM_CLKCFG_CTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0080)
> -#define OMAP2430_PRCM_CLKCFG_STATUS OMAP2430_PRM_REGADDR(OCP_MOD, 0x0084)
> -#define OMAP2430_PRCM_VOLTSETUP OMAP2430_PRM_REGADDR(OCP_MOD, 0x0090)
> -#define OMAP2430_PRCM_CLKSSETUP OMAP2430_PRM_REGADDR(OCP_MOD, 0x0094)
> -#define OMAP2430_PRCM_POLCTRL OMAP2430_PRM_REGADDR(OCP_MOD, 0x0098)
> -
> -/*
> - * Module specific PRM register offsets from PRM_BASE + domain offset
> - *
> - * Use prm_{read,write}_mod_reg() with these registers.
> - *
> - * With a few exceptions, these are the register names beginning with
> - * {PM,RM}_* on both OMAP2/3 SoC families.. (The exceptions are the
> - * IRQSTATUS and IRQENABLE bits.)
> - */
> -
> -/* Register offsets appearing on both OMAP2 and OMAP3 */
> -
> -#define OMAP2_RM_RSTCTRL 0x0050
> -#define OMAP2_RM_RSTTIME 0x0054
> -#define OMAP2_RM_RSTST 0x0058
> -#define OMAP2_PM_PWSTCTRL 0x00e0
> -#define OMAP2_PM_PWSTST 0x00e4
> -
> -#define PM_WKEN 0x00a0
> -#define PM_WKEN1 PM_WKEN
> -#define PM_WKST 0x00b0
> -#define PM_WKST1 PM_WKST
> -#define PM_WKDEP 0x00c8
> -#define PM_EVGENCTRL 0x00d4
> -#define PM_EVGENONTIM 0x00d8
> -#define PM_EVGENOFFTIM 0x00dc
> -
> -/* OMAP2xxx specific register offsets */
> -#define OMAP24XX_PM_WKEN2 0x00a4
> -#define OMAP24XX_PM_WKST2 0x00b4
> -
> -#define OMAP24XX_PRCM_IRQSTATUS_DSP 0x00f0 /* IVA mod */
> -#define OMAP24XX_PRCM_IRQENABLE_DSP 0x00f4 /* IVA mod */
> -#define OMAP24XX_PRCM_IRQSTATUS_IVA 0x00f8
> -#define OMAP24XX_PRCM_IRQENABLE_IVA 0x00fc
> -
> -#ifndef __ASSEMBLER__
> -/* Function prototypes */
> -extern int omap2xxx_clkdm_sleep(struct clockdomain *clkdm);
> -extern int omap2xxx_clkdm_wakeup(struct clockdomain *clkdm);
> -
> -int __init omap2xxx_prm_init(const struct omap_prcm_init_data *data);
> -
> -#endif
> -
> -#endif
> diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> index d983efac6f4f..afaba7153ece 100644
> --- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
> +++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> @@ -15,7 +15,6 @@
>
> #include "powerdomain.h"
> #include "prm2xxx_3xxx.h"
> -#include "prm-regbits-24xx.h"
> #include "clockdomain.h"
>
> /**
> diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
> index ee4588acda50..3546e7292bfb 100644
> --- a/arch/arm/mach-omap2/prm_common.c
> +++ b/arch/arm/mach-omap2/prm_common.c
> @@ -26,7 +26,6 @@
>
> #include "soc.h"
> #include "prm2xxx_3xxx.h"
> -#include "prm2xxx.h"
> #include "prm3xxx.h"
> #include "prm33xx.h"
> #include "prm44xx.h"
> @@ -582,13 +581,6 @@ int prm_unregister(struct prm_ll_data *pld)
> return 0;
> }
>
> -#ifdef CONFIG_ARCH_OMAP2
> -static struct omap_prcm_init_data omap2_prm_data __initdata = {
> - .index = TI_CLKM_PRM,
> - .init = omap2xxx_prm_init,
> -};
> -#endif
> -
> #ifdef CONFIG_ARCH_OMAP3
> static struct omap_prcm_init_data omap3_prm_data __initdata = {
> .index = TI_CLKM_PRM,
> @@ -670,9 +662,6 @@ static const struct of_device_id omap_prcm_dt_match_table[] __initconst = {
> { .compatible = "ti,dm814-pllss", .data = &dm814_pllss_data },
> { .compatible = "ti,dm816-prcm", .data = &am3_prm_data },
> #endif
> -#ifdef CONFIG_ARCH_OMAP2
> - { .compatible = "ti,omap2-prcm", .data = &omap2_prm_data },
> -#endif
> #ifdef CONFIG_ARCH_OMAP3
> { .compatible = "ti,omap3-prm", .data = &omap3_prm_data },
> #endif
> diff --git a/arch/arm/mach-omap2/sdrc.h b/arch/arm/mach-omap2/sdrc.h
> index 45b35422b587..c34fba4d2f1a 100644
> --- a/arch/arm/mach-omap2/sdrc.h
> +++ b/arch/arm/mach-omap2/sdrc.h
> @@ -90,17 +90,7 @@ struct memory_timings {
> u32 base_cs; /* base chip select to use for calculations */
> };
>
> -extern void omap2xxx_sdrc_init_params(u32 force_lock_to_unlock_mode);
> -
> -u32 omap2xxx_sdrc_dll_is_unlocked(void);
> -u32 omap2xxx_sdrc_reprogram(u32 level, u32 force);
> -
> -
> #else
> -#define OMAP242X_SDRC_REGADDR(reg) \
> - OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE + (reg))
> -#define OMAP243X_SDRC_REGADDR(reg) \
> - OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE + (reg))
> #define OMAP34XX_SDRC_REGADDR(reg) \
> OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE + (reg))
>
> @@ -184,17 +174,6 @@ u32 omap2xxx_sdrc_reprogram(u32 level, u32 force);
> #define SDRC_RFR_CTRL_BYPASS (0x00005000 | 1) /* Need to calc */
>
>
> -/*
> - * SMS register access
> - */
> -
> -#define OMAP242X_SMS_REGADDR(reg) \
> - (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE + reg)
> -#define OMAP243X_SMS_REGADDR(reg) \
> - (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE + reg)
> -#define OMAP343X_SMS_REGADDR(reg) \
> - (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE + reg)
> -
> /* SMS register offsets - read/write with sms_{read,write}_reg() */
>
> #define SMS_SYSCONFIG 0x010
> diff --git a/arch/arm/mach-omap2/sdrc2xxx.c b/arch/arm/mach-omap2/sdrc2xxx.c
> deleted file mode 100644
> index 5a275b4fd404..000000000000
> --- a/arch/arm/mach-omap2/sdrc2xxx.c
> +++ /dev/null
> @@ -1,164 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * SDRAM timing related functions for OMAP2xxx
> - *
> - * Copyright (C) 2005, 2008 Texas Instruments Inc.
> - * Copyright (C) 2005, 2008 Nokia Corporation
> - *
> - * Tony Lindgren <tony at atomide.com>
> - * Paul Walmsley
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - */
> -
> -#include <linux/module.h>
> -#include <linux/kernel.h>
> -#include <linux/device.h>
> -#include <linux/list.h>
> -#include <linux/errno.h>
> -#include <linux/delay.h>
> -#include <linux/clk.h>
> -#include <linux/io.h>
> -
> -#include "soc.h"
> -#include "iomap.h"
> -#include "common.h"
> -#include "prm2xxx.h"
> -#include "clock.h"
> -#include "sdrc.h"
> -#include "sram.h"
> -
> -/* Memory timing, DLL mode flags */
> -#define M_DDR 1
> -#define M_LOCK_CTRL (1 << 2)
> -#define M_UNLOCK 0
> -#define M_LOCK 1
> -
> -
> -static struct memory_timings mem_timings;
> -static u32 curr_perf_level = CORE_CLK_SRC_DPLL_X2;
> -
> -static u32 omap2xxx_sdrc_get_slow_dll_ctrl(void)
> -{
> - return mem_timings.slow_dll_ctrl;
> -}
> -
> -static u32 omap2xxx_sdrc_get_fast_dll_ctrl(void)
> -{
> - return mem_timings.fast_dll_ctrl;
> -}
> -
> -static u32 omap2xxx_sdrc_get_type(void)
> -{
> - return mem_timings.m_type;
> -}
> -
> -/*
> - * Check the DLL lock state, and return tue if running in unlock mode.
> - * This is needed to compensate for the shifted DLL value in unlock mode.
> - */
> -u32 omap2xxx_sdrc_dll_is_unlocked(void)
> -{
> - /* dlla and dllb are a set */
> - u32 dll_state = sdrc_read_reg(SDRC_DLLA_CTRL);
> -
> - if ((dll_state & (1 << 2)) == (1 << 2))
> - return 1;
> - else
> - return 0;
> -}
> -
> -/*
> - * 'level' is the value to store to CM_CLKSEL2_PLL.CORE_CLK_SRC.
> - * Practical values are CORE_CLK_SRC_DPLL (for CORE_CLK = DPLL_CLK) or
> - * CORE_CLK_SRC_DPLL_X2 (for CORE_CLK = * DPLL_CLK * 2)
> - *
> - * Used by the clock framework during CORE DPLL changes
> - */
> -u32 omap2xxx_sdrc_reprogram(u32 level, u32 force)
> -{
> - u32 dll_ctrl, m_type;
> - u32 prev = curr_perf_level;
> - unsigned long flags;
> -
> - if ((curr_perf_level == level) && !force)
> - return prev;
> -
> - if (level == CORE_CLK_SRC_DPLL)
> - dll_ctrl = omap2xxx_sdrc_get_slow_dll_ctrl();
> - else if (level == CORE_CLK_SRC_DPLL_X2)
> - dll_ctrl = omap2xxx_sdrc_get_fast_dll_ctrl();
> - else
> - return prev;
> -
> - m_type = omap2xxx_sdrc_get_type();
> -
> - local_irq_save(flags);
> - /*
> - * XXX These calls should be abstracted out through a
> - * prm2xxx.c function
> - */
> - if (cpu_is_omap2420())
> - writel_relaxed(0xffff, OMAP2420_PRCM_VOLTSETUP);
> - else
> - writel_relaxed(0xffff, OMAP2430_PRCM_VOLTSETUP);
> - omap2_sram_reprogram_sdrc(level, dll_ctrl, m_type);
> - curr_perf_level = level;
> - local_irq_restore(flags);
> -
> - return prev;
> -}
> -
> -/* Used by the clock framework during CORE DPLL changes */
> -void omap2xxx_sdrc_init_params(u32 force_lock_to_unlock_mode)
> -{
> - unsigned long dll_cnt;
> - u32 fast_dll = 0;
> -
> - /* DDR = 1, SDR = 0 */
> - mem_timings.m_type = !((sdrc_read_reg(SDRC_MR_0) & 0x3) == 0x1);
> -
> - /* 2422 es2.05 and beyond has a single SIP DDR instead of 2 like others.
> - * In the case of 2422, its ok to use CS1 instead of CS0.
> - */
> - if (cpu_is_omap2422())
> - mem_timings.base_cs = 1;
> - else
> - mem_timings.base_cs = 0;
> -
> - if (mem_timings.m_type != M_DDR)
> - return;
> -
> - /* With DDR we need to determine the low frequency DLL value */
> - if (((mem_timings.fast_dll_ctrl & (1 << 2)) == M_LOCK_CTRL))
> - mem_timings.dll_mode = M_UNLOCK;
> - else
> - mem_timings.dll_mode = M_LOCK;
> -
> - if (mem_timings.base_cs == 0) {
> - fast_dll = sdrc_read_reg(SDRC_DLLA_CTRL);
> - dll_cnt = sdrc_read_reg(SDRC_DLLA_STATUS) & 0xff00;
> - } else {
> - fast_dll = sdrc_read_reg(SDRC_DLLB_CTRL);
> - dll_cnt = sdrc_read_reg(SDRC_DLLB_STATUS) & 0xff00;
> - }
> - if (force_lock_to_unlock_mode) {
> - fast_dll &= ~0xff00;
> - fast_dll |= dll_cnt; /* Current lock mode */
> - }
> - /* set fast timings with DLL filter disabled */
> - mem_timings.fast_dll_ctrl = (fast_dll | (3 << 8));
> -
> - /* No disruptions, DDR will be offline & C-ABI not followed */
> - omap2_sram_ddr_init(&mem_timings.slow_dll_ctrl,
> - mem_timings.fast_dll_ctrl,
> - mem_timings.base_cs,
> - force_lock_to_unlock_mode);
> - mem_timings.slow_dll_ctrl &= 0xff00; /* Keep lock value */
> -
> - /* Turn status into unlock ctrl */
> - mem_timings.slow_dll_ctrl |=
> - ((mem_timings.fast_dll_ctrl & 0xF) | (1 << 2));
> -
> - /* 90 degree phase for anything below 133MHz + disable DLL filter */
> - mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8));
> -}
> diff --git a/arch/arm/mach-omap2/sleep24xx.S b/arch/arm/mach-omap2/sleep24xx.S
> deleted file mode 100644
> index 84d8c43ad382..000000000000
> --- a/arch/arm/mach-omap2/sleep24xx.S
> +++ /dev/null
> @@ -1,91 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * linux/arch/arm/mach-omap2/sleep.S
> - *
> - * (C) Copyright 2004
> - * Texas Instruments, <www.ti.com>
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * (C) Copyright 2006 Nokia Corporation
> - * Fixed idle loop sleep
> - * Igor Stoppa <igor.stoppa at nokia.com>
> - */
> -
> -#include <linux/linkage.h>
> -#include <asm/assembler.h>
> -
> -#include "omap24xx.h"
> -#include "sdrc.h"
> -
> -/* First address of reserved address space? apparently valid for OMAP2 & 3 */
> -#define A_SDRC0_V (0xC0000000)
> -
> - .text
> -
> -/*
> - * omap24xx_cpu_suspend() - Forces OMAP into deep sleep state by completing
> - * SDRC shutdown then ARM shutdown. Upon wake MPU is back on so just restore
> - * SDRC.
> - *
> - * Input:
> - * R0 : DLL ctrl value pre-Sleep
> - * R1 : SDRC_DLLA_CTRL
> - * R2 : SDRC_POWER
> - *
> - * The if the DPLL is going to AutoIdle. It seems like the DPLL may be back on
> - * when we get called, but the DLL probably isn't. We will wait a bit more in
> - * case the DPLL isn't quite there yet. The code will wait on DLL for DDR even
> - * if in unlocked mode.
> - *
> - * For less than 242x-ES2.2 upon wake from a sleep mode where the external
> - * oscillator was stopped, a timing bug exists where a non-stabilized 12MHz
> - * clock can pass into the PRCM can cause problems at DSP and IVA.
> - * To work around this the code will switch to the 32kHz source prior to sleep.
> - * Post sleep we will shift back to using the DPLL. Apparently,
> - * CM_IDLEST_CLKGEN does not reflect the full clock change so you need to wait
> - * 3x12MHz + 3x32kHz clocks for a full switch.
> - *
> - * The DLL load value is not kept in RETENTION or OFF. It needs to be restored
> - * at wake
> - */
> - .align 3
> -ENTRY(omap24xx_cpu_suspend)
> - stmfd sp!, {r0 - r12, lr} @ save registers on stack
> - mov r3, #0x0 @ clear for mcr call
> - mcr p15, 0, r3, c7, c10, 4 @ memory barrier, hope SDR/DDR finished
> - nop
> - nop
> - ldr r4, [r2] @ read SDRC_POWER
> - orr r4, r4, #0x40 @ enable self refresh on idle req
> - mov r5, #0x2000 @ set delay (DPLL relock + DLL relock)
> - str r4, [r2] @ make it so
> - nop
> - mcr p15, 0, r3, c7, c0, 4 @ wait for interrupt
> - nop
> -loop:
> - subs r5, r5, #0x1 @ awake, wait just a bit
> - bne loop
> -
> - /* The DPLL has to be on before we take the DDR out of self refresh */
> - bic r4, r4, #0x40 @ now clear self refresh bit.
> - str r4, [r2] @ write to SDRC_POWER
> - ldr r4, A_SDRC0 @ make a clock happen
> - ldr r4, [r4] @ read A_SDRC0
> - nop @ start auto refresh only after clk ok
> - movs r0, r0 @ see if DDR or SDR
> - strne r0, [r1] @ rewrite DLLA to force DLL reload
> - addne r1, r1, #0x8 @ move to DLLB
> - strne r0, [r1] @ rewrite DLLB to force DLL reload
> -
> - mov r5, #0x1000
> -loop2:
> - subs r5, r5, #0x1
> - bne loop2
> - /* resume*/
> - ldmfd sp!, {r0 - r12, pc} @ restore regs and return
> -
> -A_SDRC0:
> - .word A_SDRC0_V
> -
> -ENTRY(omap24xx_cpu_suspend_sz)
> - .word . - omap24xx_cpu_suspend
> diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
> index 9e3dbb743e5c..9c9f56ca9142 100644
> --- a/arch/arm/mach-omap2/soc.h
> +++ b/arch/arm/mach-omap2/soc.h
> @@ -12,7 +12,6 @@
> * Added DRA7xxx specific defines - Sricharan R<r.sricharan at ti.com>
> */
>
> -#include "omap24xx.h"
> #include "omap34xx.h"
> #include "omap44xx.h"
> #include "ti81xx.h"
> @@ -62,9 +61,6 @@ static inline int soc_is_omap(void)
> /*
> * Macros to group OMAP into cpu classes.
> * These can be used in most places.
> - * soc_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430
> - * soc_is_omap242x(): True for OMAP2420, OMAP2422, OMAP2423
> - * soc_is_omap243x(): True for OMAP2430
> * soc_is_omap343x(): True for OMAP3430
> * soc_is_omap443x(): True for OMAP4430
> * soc_is_omap446x(): True for OMAP4460
> @@ -137,7 +133,6 @@ static inline int is_dra ##subclass ##_ ##package (void) \
> return (is_dra ##subclass () && GET_DRA_PACKAGE == id) ? 1 : 0; \
> }
>
> -IS_OMAP_CLASS(24xx, 0x24)
> IS_OMAP_CLASS(34xx, 0x34)
> IS_OMAP_CLASS(44xx, 0x44)
> IS_AM_CLASS(35xx, 0x35)
> @@ -148,8 +143,6 @@ IS_AM_CLASS(43xx, 0x43)
> IS_TI_CLASS(81xx, 0x81)
> IS_DRA_CLASS(7xx, 0x7)
>
> -IS_OMAP_SUBCLASS(242x, 0x242)
> -IS_OMAP_SUBCLASS(243x, 0x243)
> IS_OMAP_SUBCLASS(343x, 0x343)
> IS_OMAP_SUBCLASS(363x, 0x363)
> IS_OMAP_SUBCLASS(443x, 0x443)
> @@ -186,21 +179,6 @@ IS_DRA_SUBCLASS(72x, 0x72)
> #define soc_is_dra74x() 0
> #define soc_is_dra72x() 0
>
> -#if defined(CONFIG_ARCH_OMAP2)
> -# define soc_is_omap24xx() is_omap24xx()
> -#else
> -# define soc_is_omap24xx() 0
> -#endif
> -#if defined(CONFIG_SOC_OMAP2420)
> -# define soc_is_omap242x() is_omap242x()
> -#else
> -# define soc_is_omap242x() 0
> -#endif
> -#if defined(CONFIG_SOC_OMAP2430)
> -# define soc_is_omap243x() is_omap243x()
> -#else
> -# define soc_is_omap243x() 0
> -#endif
> #if defined(CONFIG_ARCH_OMAP3)
> # define soc_is_omap34xx() is_omap34xx()
> # define soc_is_omap343x() is_omap343x()
> @@ -212,10 +190,6 @@ IS_DRA_SUBCLASS(72x, 0x72)
> /*
> * Macros to detect individual cpu types.
> * These are only rarely needed.
> - * soc_is_omap2420(): True for OMAP2420
> - * soc_is_omap2422(): True for OMAP2422
> - * soc_is_omap2423(): True for OMAP2423
> - * soc_is_omap2430(): True for OMAP2430
> * soc_is_omap3430(): True for OMAP3430
> */
> #define GET_OMAP_TYPE ((omap_rev() >> 16) & 0xffff)
> @@ -226,16 +200,8 @@ static inline int is_omap ##type (void) \
> return (GET_OMAP_TYPE == (id)) ? 1 : 0; \
> }
>
> -IS_OMAP_TYPE(2420, 0x2420)
> -IS_OMAP_TYPE(2422, 0x2422)
> -IS_OMAP_TYPE(2423, 0x2423)
> -IS_OMAP_TYPE(2430, 0x2430)
> IS_OMAP_TYPE(3430, 0x3430)
>
> -#define soc_is_omap2420() 0
> -#define soc_is_omap2422() 0
> -#define soc_is_omap2423() 0
> -#define soc_is_omap2430() 0
> #define soc_is_omap3430() 0
> #define soc_is_omap3630() 0
> #define soc_is_omap5430() 0
> @@ -252,17 +218,6 @@ IS_OMAP_TYPE(3430, 0x3430)
> #define cpu_class_is_omap1() 0
> #define cpu_class_is_omap2() 1
>
> -#if defined(CONFIG_ARCH_OMAP2)
> -# undef soc_is_omap2420
> -# undef soc_is_omap2422
> -# undef soc_is_omap2423
> -# undef soc_is_omap2430
> -# define soc_is_omap2420() is_omap2420()
> -# define soc_is_omap2422() is_omap2422()
> -# define soc_is_omap2423() is_omap2423()
> -# define soc_is_omap2430() is_omap2430()
> -#endif
> -
> #if defined(CONFIG_ARCH_OMAP3)
> # undef soc_is_omap3430
> # undef soc_is_ti81xx
> @@ -326,13 +281,6 @@ IS_OMAP_TYPE(3430, 0x3430)
> #endif
>
> /* Various silicon revisions for omap2 */
> -#define OMAP242X_CLASS 0x24200024
> -#define OMAP2420_REV_ES1_0 OMAP242X_CLASS
> -#define OMAP2420_REV_ES2_0 (OMAP242X_CLASS | (0x1 << 8))
> -
> -#define OMAP243X_CLASS 0x24300024
> -#define OMAP2430_REV_ES1_0 OMAP243X_CLASS
> -
> #define OMAP343X_CLASS 0x34300034
> #define OMAP3430_REV_ES1_0 OMAP343X_CLASS
> #define OMAP3430_REV_ES2_0 (OMAP343X_CLASS | (0x1 << 8))
> @@ -400,7 +348,6 @@ IS_OMAP_TYPE(3430, 0x3430)
> #define DRA722_REV_ES2_0 (DRA7XX_CLASS | (0x22 << 16) | (0x20 << 8))
> #define DRA722_REV_ES2_1 (DRA7XX_CLASS | (0x22 << 16) | (0x21 << 8))
>
> -void omap2xxx_check_revision(void);
> void omap3xxx_check_revision(void);
> void omap4xxx_check_revision(void);
> void omap5xxx_check_revision(void);
> @@ -484,12 +431,6 @@ level(__##fn);
> #define omap_late_initcall_sync(fn) omap_initcall(late_initcall_sync, fn)
>
> /* Legacy defines, these can be removed when users are removed */
> -#define cpu_is_omap2420() soc_is_omap2420()
> -#define cpu_is_omap2422() soc_is_omap2422()
> -#define cpu_is_omap242x() soc_is_omap242x()
> -#define cpu_is_omap2430() soc_is_omap2430()
> -#define cpu_is_omap243x() soc_is_omap243x()
> -#define cpu_is_omap24xx() soc_is_omap24xx()
> #define cpu_is_omap3430() soc_is_omap3430()
> #define cpu_is_omap343x() soc_is_omap343x()
> #define cpu_is_omap34xx() soc_is_omap34xx()
> diff --git a/arch/arm/mach-omap2/sram.c b/arch/arm/mach-omap2/sram.c
> index 898b011ae8d9..8f980849f201 100644
> --- a/arch/arm/mach-omap2/sram.c
> +++ b/arch/arm/mach-omap2/sram.c
> @@ -28,15 +28,10 @@
> #include "sdrc.h"
> #include "sram.h"
>
> -#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800)
> #define OMAP3_SRAM_PUB_PA (OMAP3_SRAM_PA + 0x8000)
>
> #define SRAM_BOOTLOADER_SZ 0x00
>
> -#define OMAP24XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68005048)
> -#define OMAP24XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68005050)
> -#define OMAP24XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68005058)
> -
> #define OMAP34XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68012848)
> #define OMAP34XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68012850)
> #define OMAP34XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68012858)
> @@ -120,18 +115,11 @@ static int is_sram_locked(void)
> {
> if (omap_type() == OMAP2_DEVICE_TYPE_GP) {
> /* RAMFW: R/W access to all initiators for all qualifier sets */
> - if (cpu_is_omap242x()) {
> - writel_relaxed(0xFF, OMAP24XX_VA_REQINFOPERM0); /* all q-vects */
> - writel_relaxed(0xCFDE, OMAP24XX_VA_READPERM0); /* all i-read */
> - writel_relaxed(0xCFDE, OMAP24XX_VA_WRITEPERM0); /* all i-write */
> - }
> - if (cpu_is_omap34xx()) {
> - writel_relaxed(0xFFFF, OMAP34XX_VA_REQINFOPERM0); /* all q-vects */
> - writel_relaxed(0xFFFF, OMAP34XX_VA_READPERM0); /* all i-read */
> - writel_relaxed(0xFFFF, OMAP34XX_VA_WRITEPERM0); /* all i-write */
> - writel_relaxed(0x0, OMAP34XX_VA_ADDR_MATCH2);
> - writel_relaxed(0xFFFFFFFF, OMAP34XX_VA_SMS_RG_ATT0);
> - }
> + writel_relaxed(0xFFFF, OMAP34XX_VA_REQINFOPERM0); /* all q-vects */
> + writel_relaxed(0xFFFF, OMAP34XX_VA_READPERM0); /* all i-read */
> + writel_relaxed(0xFFFF, OMAP34XX_VA_WRITEPERM0); /* all i-write */
> + writel_relaxed(0x0, OMAP34XX_VA_ADDR_MATCH2);
> + writel_relaxed(0xFFFFFFFF, OMAP34XX_VA_SMS_RG_ATT0);
> return 0;
> } else
> return 1; /* assume locked with no PPA or security driver */
> @@ -147,30 +135,17 @@ static void __init omap_detect_sram(void)
> {
> omap_sram_skip = SRAM_BOOTLOADER_SZ;
> if (is_sram_locked()) {
> - if (cpu_is_omap34xx()) {
> - omap_sram_start = OMAP3_SRAM_PUB_PA;
> - if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) ||
> - (omap_type() == OMAP2_DEVICE_TYPE_SEC)) {
> - omap_sram_size = 0x7000; /* 28K */
> - omap_sram_skip += SZ_16K;
> - } else {
> - omap_sram_size = 0x8000; /* 32K */
> - }
> + omap_sram_start = OMAP3_SRAM_PUB_PA;
> + if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) ||
> + (omap_type() == OMAP2_DEVICE_TYPE_SEC)) {
> + omap_sram_size = 0x7000; /* 28K */
> + omap_sram_skip += SZ_16K;
> } else {
> - omap_sram_start = OMAP2_SRAM_PUB_PA;
> - omap_sram_size = 0x800; /* 2K */
> + omap_sram_size = 0x8000; /* 32K */
> }
> } else {
> - if (cpu_is_omap34xx()) {
> - omap_sram_start = OMAP3_SRAM_PA;
> - omap_sram_size = 0x10000; /* 64K */
> - } else {
> - omap_sram_start = OMAP2_SRAM_PA;
> - if (cpu_is_omap242x())
> - omap_sram_size = 0xa0000; /* 640K */
> - else if (cpu_is_omap243x())
> - omap_sram_size = 0x10000; /* 64K */
> - }
> + omap_sram_start = OMAP3_SRAM_PA;
> + omap_sram_size = 0x10000; /* 64K */
> }
> }
>
> @@ -181,24 +156,20 @@ static void __init omap2_map_sram(void)
> {
> unsigned long base;
> int pages;
> - int cached = 1;
> -
> - if (cpu_is_omap34xx()) {
> - /*
> - * SRAM must be marked as non-cached on OMAP3 since the
> - * CORE DPLL M2 divider change code (in SRAM) runs with the
> - * SDRAM controller disabled, and if it is marked cached,
> - * the ARM may attempt to write cache lines back to SDRAM
> - * which will cause the system to hang.
> - */
> - cached = 0;
> - }
>
> if (omap_sram_size == 0)
> return;
>
> omap_sram_start = ROUND_DOWN(omap_sram_start, PAGE_SIZE);
> - omap_sram_base = __arm_ioremap_exec(omap_sram_start, omap_sram_size, cached);
> + /*
> + * SRAM must be marked as non-cached on OMAP3 since the
> + * CORE DPLL M2 divider change code (in SRAM) runs with the
> + * SDRAM controller disabled, and if it is marked cached,
> + * the ARM may attempt to write cache lines back to SDRAM
> + * which will cause the system to hang.
> + */
> +
> + omap_sram_base = __arm_ioremap_exec(omap_sram_start, omap_sram_size, 0);
> if (!omap_sram_base) {
> pr_err("SRAM: Could not map\n");
> return;
> @@ -219,78 +190,6 @@ static void __init omap2_map_sram(void)
> set_memory_rox(base, pages);
> }
>
> -static void (*_omap2_sram_ddr_init)(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
> - u32 base_cs, u32 force_unlock);
> -
> -void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
> - u32 base_cs, u32 force_unlock)
> -{
> - BUG_ON(!_omap2_sram_ddr_init);
> - _omap2_sram_ddr_init(slow_dll_ctrl, fast_dll_ctrl,
> - base_cs, force_unlock);
> -}
> -
> -static void (*_omap2_sram_reprogram_sdrc)(u32 perf_level, u32 dll_val,
> - u32 mem_type);
> -
> -void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, u32 mem_type)
> -{
> - BUG_ON(!_omap2_sram_reprogram_sdrc);
> - _omap2_sram_reprogram_sdrc(perf_level, dll_val, mem_type);
> -}
> -
> -static u32 (*_omap2_set_prcm)(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass);
> -
> -u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass)
> -{
> - BUG_ON(!_omap2_set_prcm);
> - return _omap2_set_prcm(dpll_ctrl_val, sdrc_rfr_val, bypass);
> -}
> -
> -#ifdef CONFIG_SOC_OMAP2420
> -static int __init omap242x_sram_init(void)
> -{
> - _omap2_sram_ddr_init = omap_sram_push(omap242x_sram_ddr_init,
> - omap242x_sram_ddr_init_sz);
> -
> - _omap2_sram_reprogram_sdrc = omap_sram_push(omap242x_sram_reprogram_sdrc,
> - omap242x_sram_reprogram_sdrc_sz);
> -
> - _omap2_set_prcm = omap_sram_push(omap242x_sram_set_prcm,
> - omap242x_sram_set_prcm_sz);
> -
> - return 0;
> -}
> -#else
> -static inline int omap242x_sram_init(void)
> -{
> - return 0;
> -}
> -#endif
> -
> -#ifdef CONFIG_SOC_OMAP2430
> -static int __init omap243x_sram_init(void)
> -{
> - _omap2_sram_ddr_init = omap_sram_push(omap243x_sram_ddr_init,
> - omap243x_sram_ddr_init_sz);
> -
> - _omap2_sram_reprogram_sdrc = omap_sram_push(omap243x_sram_reprogram_sdrc,
> - omap243x_sram_reprogram_sdrc_sz);
> -
> - _omap2_set_prcm = omap_sram_push(omap243x_sram_set_prcm,
> - omap243x_sram_set_prcm_sz);
> -
> - return 0;
> -}
> -#else
> -static inline int omap243x_sram_init(void)
> -{
> - return 0;
> -}
> -#endif
> -
> -#ifdef CONFIG_ARCH_OMAP3
> -
> void omap3_sram_restore_context(void)
> {
> omap_sram_reset();
> @@ -303,24 +202,12 @@ static inline int omap34xx_sram_init(void)
> omap3_sram_restore_context();
> return 0;
> }
> -#else
> -static inline int omap34xx_sram_init(void)
> -{
> - return 0;
> -}
> -#endif /* CONFIG_ARCH_OMAP3 */
>
> int __init omap_sram_init(void)
> {
> omap_detect_sram();
> omap2_map_sram();
> -
> - if (cpu_is_omap242x())
> - omap242x_sram_init();
> - else if (cpu_is_omap2430())
> - omap243x_sram_init();
> - else if (cpu_is_omap34xx())
> - omap34xx_sram_init();
> + omap34xx_sram_init();
>
> return 0;
> }
> diff --git a/arch/arm/mach-omap2/sram.h b/arch/arm/mach-omap2/sram.h
> index 030cabc39821..2db2c4598cdb 100644
> --- a/arch/arm/mach-omap2/sram.h
> +++ b/arch/arm/mach-omap2/sram.h
> @@ -5,43 +5,12 @@
>
> #ifndef __ASSEMBLY__
>
> -extern void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
> - u32 base_cs, u32 force_unlock);
> -extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
> - u32 mem_type);
> -extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass);
> -
> extern void omap3_sram_restore_context(void);
>
> extern int __init omap_sram_init(void);
>
> extern void *omap_sram_push(void *funcp, unsigned long size);
>
> -extern void omap242x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
> - u32 base_cs, u32 force_unlock);
> -extern unsigned long omap242x_sram_ddr_init_sz;
> -
> -extern u32 omap242x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val,
> - int bypass);
> -extern unsigned long omap242x_sram_set_prcm_sz;
> -
> -extern void omap242x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
> - u32 mem_type);
> -extern unsigned long omap242x_sram_reprogram_sdrc_sz;
> -
> -
> -extern void omap243x_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
> - u32 base_cs, u32 force_unlock);
> -extern unsigned long omap243x_sram_ddr_init_sz;
> -
> -extern u32 omap243x_sram_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val,
> - int bypass);
> -extern unsigned long omap243x_sram_set_prcm_sz;
> -
> -extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
> - u32 mem_type);
> -extern unsigned long omap243x_sram_reprogram_sdrc_sz;
> -
> #ifdef CONFIG_PM
> extern void omap_push_sram_idle(void);
> #else
> @@ -54,5 +23,4 @@ static inline void omap_push_sram_idle(void) {}
> * OMAP2+: define the SRAM PA addresses.
> * Used by the SRAM management code and the idle sleep code.
> */
> -#define OMAP2_SRAM_PA 0x40200000
> #define OMAP3_SRAM_PA 0x40200000
> diff --git a/arch/arm/mach-omap2/sram242x.S b/arch/arm/mach-omap2/sram242x.S
> deleted file mode 100644
> index 92ef21ac2ac1..000000000000
> --- a/arch/arm/mach-omap2/sram242x.S
> +++ /dev/null
> @@ -1,317 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * linux/arch/arm/mach-omap2/sram242x.S
> - *
> - * Omap2 specific functions that need to be run in internal SRAM
> - *
> - * (C) Copyright 2004
> - * Texas Instruments, <www.ti.com>
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * Richard Woodruff notes that any changes to this code must be carefully
> - * audited and tested to ensure that they don't cause a TLB miss while
> - * the SDRAM is inaccessible. Such a situation will crash the system
> - * since it will cause the ARM MMU to attempt to walk the page tables.
> - * These crashes may be intermittent.
> - */
> -#include <linux/linkage.h>
> -
> -#include <asm/assembler.h>
> -
> -#include "soc.h"
> -#include "iomap.h"
> -#include "prm2xxx.h"
> -#include "cm2xxx.h"
> -#include "sdrc.h"
> -
> - .text
> -
> - .align 3
> -ENTRY(omap242x_sram_ddr_init)
> - stmfd sp!, {r0 - r12, lr} @ save registers on stack
> -
> - mov r12, r2 @ capture CS1 vs CS0
> - mov r8, r3 @ capture force parameter
> -
> - /* frequency shift down */
> - ldr r2, omap242x_sdi_cm_clksel2_pll @ get address of dpllout reg
> - mov r3, #0x1 @ value for 1x operation
> - str r3, [r2] @ go to L1-freq operation
> -
> - /* voltage shift down */
> - mov r9, #0x1 @ set up for L1 voltage call
> - bl voltage_shift @ go drop voltage
> -
> - /* dll lock mode */
> - ldr r11, omap242x_sdi_sdrc_dlla_ctrl @ addr of dlla ctrl
> - ldr r10, [r11] @ get current val
> - cmp r12, #0x1 @ cs1 base (2422 es2.05/1)
> - addeq r11, r11, #0x8 @ if cs1 base, move to DLLB
> - mvn r9, #0x4 @ mask to get clear bit2
> - and r10, r10, r9 @ clear bit2 for lock mode.
> - orr r10, r10, #0x8 @ make sure DLL on (es2 bit pos)
> - orr r10, r10, #0x2 @ 90 degree phase for all below 133MHz
> - str r10, [r11] @ commit to DLLA_CTRL
> - bl i_dll_wait @ wait for dll to lock
> -
> - /* get dll value */
> - add r11, r11, #0x4 @ get addr of status reg
> - ldr r10, [r11] @ get locked value
> -
> - /* voltage shift up */
> - mov r9, #0x0 @ shift back to L0-voltage
> - bl voltage_shift @ go raise voltage
> -
> - /* frequency shift up */
> - mov r3, #0x2 @ value for 2x operation
> - str r3, [r2] @ go to L0-freq operation
> -
> - /* reset entry mode for dllctrl */
> - sub r11, r11, #0x4 @ move from status to ctrl
> - cmp r12, #0x1 @ normalize if cs1 based
> - subeq r11, r11, #0x8 @ possibly back to DLLA
> - cmp r8, #0x1 @ if forced unlock exit
> - orreq r1, r1, #0x4 @ make sure exit with unlocked value
> - str r1, [r11] @ restore DLLA_CTRL high value
> - add r11, r11, #0x8 @ move to DLLB_CTRL addr
> - str r1, [r11] @ set value DLLB_CTRL
> - bl i_dll_wait @ wait for possible lock
> -
> - /* set up for return, DDR should be good */
> - str r10, [r0] @ write dll_status and return counter
> - ldmfd sp!, {r0 - r12, pc} @ restore regs and return
> -
> - /* ensure the DLL has relocked */
> -i_dll_wait:
> - mov r4, #0x800 @ delay DLL relock, min 0x400 L3 clocks
> -i_dll_delay:
> - subs r4, r4, #0x1
> - bne i_dll_delay
> - ret lr
> -
> - /*
> - * shift up or down voltage, use R9 as input to tell level.
> - * wait for it to finish, use 32k sync counter, 1tick=31uS.
> - */
> -voltage_shift:
> - ldr r4, omap242x_sdi_prcm_voltctrl @ get addr of volt ctrl.
> - ldr r5, [r4] @ get value.
> - ldr r6, prcm_mask_val @ get value of mask
> - and r5, r5, r6 @ apply mask to clear bits
> - orr r5, r5, r9 @ bulld value for L0/L1-volt operation.
> - str r5, [r4] @ set up for change.
> - mov r3, #0x4000 @ get val for force
> - orr r5, r5, r3 @ build value for force
> - str r5, [r4] @ Force transition to L1
> -
> - ldr r3, omap242x_sdi_timer_32ksynct_cr @ get addr of counter
> - ldr r5, [r3] @ get value
> - add r5, r5, #0x3 @ give it at most 93uS
> -volt_delay:
> - ldr r7, [r3] @ get timer value
> - cmp r5, r7 @ time up?
> - bhi volt_delay @ not yet->branch
> - ret lr @ back to caller.
> -
> -omap242x_sdi_cm_clksel2_pll:
> - .word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKSEL2)
> -omap242x_sdi_sdrc_dlla_ctrl:
> - .word OMAP242X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -omap242x_sdi_prcm_voltctrl:
> - .word OMAP2420_PRCM_VOLTCTRL
> -prcm_mask_val:
> - .word 0xFFFF3FFC
> -omap242x_sdi_timer_32ksynct_cr:
> - .word OMAP2_L4_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010)
> -ENTRY(omap242x_sram_ddr_init_sz)
> - .word . - omap242x_sram_ddr_init
> -
> -/*
> - * Reprograms memory timings.
> - * r0 = [PRCM_FULL | PRCM_HALF] r1 = SDRC_DLLA_CTRL value r2 = [DDR | SDR]
> - * PRCM_FULL = 2, PRCM_HALF = 1, DDR = 1, SDR = 0
> - */
> - .align 3
> -ENTRY(omap242x_sram_reprogram_sdrc)
> - stmfd sp!, {r0 - r10, lr} @ save registers on stack
> - mov r3, #0x0 @ clear for mrc call
> - mcr p15, 0, r3, c7, c10, 4 @ memory barrier, finish ARM SDR/DDR
> - nop
> - nop
> - ldr r6, omap242x_srs_sdrc_rfr_ctrl @ get addr of refresh reg
> - ldr r5, [r6] @ get value
> - mov r5, r5, lsr #8 @ isolate rfr field and drop burst
> -
> - cmp r0, #0x1 @ going to half speed?
> - movne r9, #0x0 @ if up set flag up for pre up, hi volt
> -
> - blne voltage_shift_c @ adjust voltage
> -
> - cmp r0, #0x1 @ going to half speed (post branch link)
> - moveq r5, r5, lsr #1 @ divide by 2 if to half
> - movne r5, r5, lsl #1 @ mult by 2 if to full
> - mov r5, r5, lsl #8 @ put rfr field back into place
> - add r5, r5, #0x1 @ turn on burst of 1
> - ldr r4, omap242x_srs_cm_clksel2_pll @ get address of out reg
> - ldr r3, [r4] @ get curr value
> - orr r3, r3, #0x3
> - bic r3, r3, #0x3 @ clear lower bits
> - orr r3, r3, r0 @ new state value
> - str r3, [r4] @ set new state (pll/x, x=1 or 2)
> - nop
> - nop
> -
> - moveq r9, #0x1 @ if speed down, post down, drop volt
> - bleq voltage_shift_c
> -
> - mcr p15, 0, r3, c7, c10, 4 @ memory barrier
> - str r5, [r6] @ set new RFR_1 value
> - add r6, r6, #0x30 @ get RFR_2 addr
> - str r5, [r6] @ set RFR_2
> - nop
> - cmp r2, #0x1 @ (SDR or DDR) do we need to adjust DLL
> - bne freq_out @ leave if SDR, no DLL function
> -
> - /* With DDR, we need to take care of the DLL for the frequency change */
> - ldr r2, omap242x_srs_sdrc_dlla_ctrl @ addr of dlla ctrl
> - str r1, [r2] @ write out new SDRC_DLLA_CTRL
> - add r2, r2, #0x8 @ addr to SDRC_DLLB_CTRL
> - str r1, [r2] @ commit to SDRC_DLLB_CTRL
> - mov r1, #0x2000 @ wait DLL relock, min 0x400 L3 clocks
> -dll_wait:
> - subs r1, r1, #0x1
> - bne dll_wait
> -freq_out:
> - ldmfd sp!, {r0 - r10, pc} @ restore regs and return
> -
> - /*
> - * shift up or down voltage, use R9 as input to tell level.
> - * wait for it to finish, use 32k sync counter, 1tick=31uS.
> - */
> -voltage_shift_c:
> - ldr r10, omap242x_srs_prcm_voltctrl @ get addr of volt ctrl
> - ldr r8, [r10] @ get value
> - ldr r7, ddr_prcm_mask_val @ get value of mask
> - and r8, r8, r7 @ apply mask to clear bits
> - orr r8, r8, r9 @ bulld value for L0/L1-volt operation.
> - str r8, [r10] @ set up for change.
> - mov r7, #0x4000 @ get val for force
> - orr r8, r8, r7 @ build value for force
> - str r8, [r10] @ Force transition to L1
> -
> - ldr r10, omap242x_srs_timer_32ksynct @ get addr of counter
> - ldr r8, [r10] @ get value
> - add r8, r8, #0x2 @ give it at most 62uS (min 31+)
> -volt_delay_c:
> - ldr r7, [r10] @ get timer value
> - cmp r8, r7 @ time up?
> - bhi volt_delay_c @ not yet->branch
> - ret lr @ back to caller
> -
> -omap242x_srs_cm_clksel2_pll:
> - .word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKSEL2)
> -omap242x_srs_sdrc_dlla_ctrl:
> - .word OMAP242X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -omap242x_srs_sdrc_rfr_ctrl:
> - .word OMAP242X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
> -omap242x_srs_prcm_voltctrl:
> - .word OMAP2420_PRCM_VOLTCTRL
> -ddr_prcm_mask_val:
> - .word 0xFFFF3FFC
> -omap242x_srs_timer_32ksynct:
> - .word OMAP2_L4_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010)
> -
> -ENTRY(omap242x_sram_reprogram_sdrc_sz)
> - .word . - omap242x_sram_reprogram_sdrc
> -
> -/*
> - * Set dividers and pll. Also recalculate DLL value for DDR and unlock mode.
> - */
> - .align 3
> -ENTRY(omap242x_sram_set_prcm)
> - stmfd sp!, {r0-r12, lr} @ regs to stack
> - adr r4, pbegin @ addr of preload start
> - adr r8, pend @ addr of preload end
> - mcrr p15, 1, r8, r4, c12 @ preload into icache
> -pbegin:
> - /* move into fast relock bypass */
> - ldr r8, omap242x_ssp_pll_ctl @ get addr
> - ldr r5, [r8] @ get val
> - mvn r6, #0x3 @ clear mask
> - and r5, r5, r6 @ clear field
> - orr r7, r5, #0x2 @ fast relock val
> - str r7, [r8] @ go to fast relock
> - ldr r4, omap242x_ssp_pll_stat @ addr of stat
> -block:
> - /* wait for bypass */
> - ldr r8, [r4] @ stat value
> - and r8, r8, #0x3 @ mask for stat
> - cmp r8, #0x1 @ there yet
> - bne block @ loop if not
> -
> - /* set new dpll dividers _after_ in bypass */
> - ldr r4, omap242x_ssp_pll_div @ get addr
> - str r0, [r4] @ set dpll ctrl val
> -
> - ldr r4, omap242x_ssp_set_config @ get addr
> - mov r8, #1 @ valid cfg msk
> - str r8, [r4] @ make dividers take
> -
> - mov r4, #100 @ dead spin a bit
> -wait_a_bit:
> - subs r4, r4, #1 @ dec loop
> - bne wait_a_bit @ delay done?
> -
> - /* check if staying in bypass */
> - cmp r2, #0x1 @ stay in bypass?
> - beq pend @ jump over dpll relock
> -
> - /* relock DPLL with new vals */
> - ldr r5, omap242x_ssp_pll_stat @ get addr
> - ldr r4, omap242x_ssp_pll_ctl @ get addr
> - orr r8, r7, #0x3 @ val for lock dpll
> - str r8, [r4] @ set val
> - mov r0, #1000 @ dead spin a bit
> -wait_more:
> - subs r0, r0, #1 @ dec loop
> - bne wait_more @ delay done?
> -wait_lock:
> - ldr r8, [r5] @ get lock val
> - and r8, r8, #3 @ isolate field
> - cmp r8, #2 @ locked?
> - bne wait_lock @ wait if not
> -pend:
> - /* update memory timings & briefly lock dll */
> - ldr r4, omap242x_ssp_sdrc_rfr @ get addr
> - str r1, [r4] @ update refresh timing
> - ldr r11, omap242x_ssp_dlla_ctrl @ get addr of DLLA ctrl
> - ldr r10, [r11] @ get current val
> - mvn r9, #0x4 @ mask to get clear bit2
> - and r10, r10, r9 @ clear bit2 for lock mode
> - orr r10, r10, #0x8 @ make sure DLL on (es2 bit pos)
> - str r10, [r11] @ commit to DLLA_CTRL
> - add r11, r11, #0x8 @ move to dllb
> - str r10, [r11] @ hit DLLB also
> -
> - mov r4, #0x800 @ relock time (min 0x400 L3 clocks)
> -wait_dll_lock:
> - subs r4, r4, #0x1
> - bne wait_dll_lock
> - nop
> - ldmfd sp!, {r0-r12, pc} @ restore regs and return
> -
> -omap242x_ssp_set_config:
> - .word OMAP2420_PRCM_CLKCFG_CTRL
> -omap242x_ssp_pll_ctl:
> - .word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKEN)
> -omap242x_ssp_pll_stat:
> - .word OMAP2420_CM_REGADDR(PLL_MOD, CM_IDLEST)
> -omap242x_ssp_pll_div:
> - .word OMAP2420_CM_REGADDR(PLL_MOD, CM_CLKSEL1)
> -omap242x_ssp_sdrc_rfr:
> - .word OMAP242X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
> -omap242x_ssp_dlla_ctrl:
> - .word OMAP242X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -
> -ENTRY(omap242x_sram_set_prcm_sz)
> - .word . - omap242x_sram_set_prcm
> diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S
> deleted file mode 100644
> index faf03b7f08f5..000000000000
> --- a/arch/arm/mach-omap2/sram243x.S
> +++ /dev/null
> @@ -1,317 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> -/*
> - * linux/arch/arm/mach-omap2/sram243x.S
> - *
> - * Omap2 specific functions that need to be run in internal SRAM
> - *
> - * (C) Copyright 2004
> - * Texas Instruments, <www.ti.com>
> - * Richard Woodruff <r-woodruff2 at ti.com>
> - *
> - * Richard Woodruff notes that any changes to this code must be carefully
> - * audited and tested to ensure that they don't cause a TLB miss while
> - * the SDRAM is inaccessible. Such a situation will crash the system
> - * since it will cause the ARM MMU to attempt to walk the page tables.
> - * These crashes may be intermittent.
> - */
> -#include <linux/linkage.h>
> -
> -#include <asm/assembler.h>
> -
> -#include "soc.h"
> -#include "iomap.h"
> -#include "prm2xxx.h"
> -#include "cm2xxx.h"
> -#include "sdrc.h"
> -
> - .text
> -
> - .align 3
> -ENTRY(omap243x_sram_ddr_init)
> - stmfd sp!, {r0 - r12, lr} @ save registers on stack
> -
> - mov r12, r2 @ capture CS1 vs CS0
> - mov r8, r3 @ capture force parameter
> -
> - /* frequency shift down */
> - ldr r2, omap243x_sdi_cm_clksel2_pll @ get address of dpllout reg
> - mov r3, #0x1 @ value for 1x operation
> - str r3, [r2] @ go to L1-freq operation
> -
> - /* voltage shift down */
> - mov r9, #0x1 @ set up for L1 voltage call
> - bl voltage_shift @ go drop voltage
> -
> - /* dll lock mode */
> - ldr r11, omap243x_sdi_sdrc_dlla_ctrl @ addr of dlla ctrl
> - ldr r10, [r11] @ get current val
> - cmp r12, #0x1 @ cs1 base (2422 es2.05/1)
> - addeq r11, r11, #0x8 @ if cs1 base, move to DLLB
> - mvn r9, #0x4 @ mask to get clear bit2
> - and r10, r10, r9 @ clear bit2 for lock mode.
> - orr r10, r10, #0x8 @ make sure DLL on (es2 bit pos)
> - orr r10, r10, #0x2 @ 90 degree phase for all below 133MHz
> - str r10, [r11] @ commit to DLLA_CTRL
> - bl i_dll_wait @ wait for dll to lock
> -
> - /* get dll value */
> - add r11, r11, #0x4 @ get addr of status reg
> - ldr r10, [r11] @ get locked value
> -
> - /* voltage shift up */
> - mov r9, #0x0 @ shift back to L0-voltage
> - bl voltage_shift @ go raise voltage
> -
> - /* frequency shift up */
> - mov r3, #0x2 @ value for 2x operation
> - str r3, [r2] @ go to L0-freq operation
> -
> - /* reset entry mode for dllctrl */
> - sub r11, r11, #0x4 @ move from status to ctrl
> - cmp r12, #0x1 @ normalize if cs1 based
> - subeq r11, r11, #0x8 @ possibly back to DLLA
> - cmp r8, #0x1 @ if forced unlock exit
> - orreq r1, r1, #0x4 @ make sure exit with unlocked value
> - str r1, [r11] @ restore DLLA_CTRL high value
> - add r11, r11, #0x8 @ move to DLLB_CTRL addr
> - str r1, [r11] @ set value DLLB_CTRL
> - bl i_dll_wait @ wait for possible lock
> -
> - /* set up for return, DDR should be good */
> - str r10, [r0] @ write dll_status and return counter
> - ldmfd sp!, {r0 - r12, pc} @ restore regs and return
> -
> - /* ensure the DLL has relocked */
> -i_dll_wait:
> - mov r4, #0x800 @ delay DLL relock, min 0x400 L3 clocks
> -i_dll_delay:
> - subs r4, r4, #0x1
> - bne i_dll_delay
> - ret lr
> -
> - /*
> - * shift up or down voltage, use R9 as input to tell level.
> - * wait for it to finish, use 32k sync counter, 1tick=31uS.
> - */
> -voltage_shift:
> - ldr r4, omap243x_sdi_prcm_voltctrl @ get addr of volt ctrl.
> - ldr r5, [r4] @ get value.
> - ldr r6, prcm_mask_val @ get value of mask
> - and r5, r5, r6 @ apply mask to clear bits
> - orr r5, r5, r9 @ bulld value for L0/L1-volt operation.
> - str r5, [r4] @ set up for change.
> - mov r3, #0x4000 @ get val for force
> - orr r5, r5, r3 @ build value for force
> - str r5, [r4] @ Force transition to L1
> -
> - ldr r3, omap243x_sdi_timer_32ksynct_cr @ get addr of counter
> - ldr r5, [r3] @ get value
> - add r5, r5, #0x3 @ give it at most 93uS
> -volt_delay:
> - ldr r7, [r3] @ get timer value
> - cmp r5, r7 @ time up?
> - bhi volt_delay @ not yet->branch
> - ret lr @ back to caller.
> -
> -omap243x_sdi_cm_clksel2_pll:
> - .word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKSEL2)
> -omap243x_sdi_sdrc_dlla_ctrl:
> - .word OMAP243X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -omap243x_sdi_prcm_voltctrl:
> - .word OMAP2430_PRCM_VOLTCTRL
> -prcm_mask_val:
> - .word 0xFFFF3FFC
> -omap243x_sdi_timer_32ksynct_cr:
> - .word OMAP2_L4_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010)
> -ENTRY(omap243x_sram_ddr_init_sz)
> - .word . - omap243x_sram_ddr_init
> -
> -/*
> - * Reprograms memory timings.
> - * r0 = [PRCM_FULL | PRCM_HALF] r1 = SDRC_DLLA_CTRL value r2 = [DDR | SDR]
> - * PRCM_FULL = 2, PRCM_HALF = 1, DDR = 1, SDR = 0
> - */
> - .align 3
> -ENTRY(omap243x_sram_reprogram_sdrc)
> - stmfd sp!, {r0 - r10, lr} @ save registers on stack
> - mov r3, #0x0 @ clear for mrc call
> - mcr p15, 0, r3, c7, c10, 4 @ memory barrier, finish ARM SDR/DDR
> - nop
> - nop
> - ldr r6, omap243x_srs_sdrc_rfr_ctrl @ get addr of refresh reg
> - ldr r5, [r6] @ get value
> - mov r5, r5, lsr #8 @ isolate rfr field and drop burst
> -
> - cmp r0, #0x1 @ going to half speed?
> - movne r9, #0x0 @ if up set flag up for pre up, hi volt
> -
> - blne voltage_shift_c @ adjust voltage
> -
> - cmp r0, #0x1 @ going to half speed (post branch link)
> - moveq r5, r5, lsr #1 @ divide by 2 if to half
> - movne r5, r5, lsl #1 @ mult by 2 if to full
> - mov r5, r5, lsl #8 @ put rfr field back into place
> - add r5, r5, #0x1 @ turn on burst of 1
> - ldr r4, omap243x_srs_cm_clksel2_pll @ get address of out reg
> - ldr r3, [r4] @ get curr value
> - orr r3, r3, #0x3
> - bic r3, r3, #0x3 @ clear lower bits
> - orr r3, r3, r0 @ new state value
> - str r3, [r4] @ set new state (pll/x, x=1 or 2)
> - nop
> - nop
> -
> - moveq r9, #0x1 @ if speed down, post down, drop volt
> - bleq voltage_shift_c
> -
> - mcr p15, 0, r3, c7, c10, 4 @ memory barrier
> - str r5, [r6] @ set new RFR_1 value
> - add r6, r6, #0x30 @ get RFR_2 addr
> - str r5, [r6] @ set RFR_2
> - nop
> - cmp r2, #0x1 @ (SDR or DDR) do we need to adjust DLL
> - bne freq_out @ leave if SDR, no DLL function
> -
> - /* With DDR, we need to take care of the DLL for the frequency change */
> - ldr r2, omap243x_srs_sdrc_dlla_ctrl @ addr of dlla ctrl
> - str r1, [r2] @ write out new SDRC_DLLA_CTRL
> - add r2, r2, #0x8 @ addr to SDRC_DLLB_CTRL
> - str r1, [r2] @ commit to SDRC_DLLB_CTRL
> - mov r1, #0x2000 @ wait DLL relock, min 0x400 L3 clocks
> -dll_wait:
> - subs r1, r1, #0x1
> - bne dll_wait
> -freq_out:
> - ldmfd sp!, {r0 - r10, pc} @ restore regs and return
> -
> - /*
> - * shift up or down voltage, use R9 as input to tell level.
> - * wait for it to finish, use 32k sync counter, 1tick=31uS.
> - */
> -voltage_shift_c:
> - ldr r10, omap243x_srs_prcm_voltctrl @ get addr of volt ctrl
> - ldr r8, [r10] @ get value
> - ldr r7, ddr_prcm_mask_val @ get value of mask
> - and r8, r8, r7 @ apply mask to clear bits
> - orr r8, r8, r9 @ bulld value for L0/L1-volt operation.
> - str r8, [r10] @ set up for change.
> - mov r7, #0x4000 @ get val for force
> - orr r8, r8, r7 @ build value for force
> - str r8, [r10] @ Force transition to L1
> -
> - ldr r10, omap243x_srs_timer_32ksynct @ get addr of counter
> - ldr r8, [r10] @ get value
> - add r8, r8, #0x2 @ give it at most 62uS (min 31+)
> -volt_delay_c:
> - ldr r7, [r10] @ get timer value
> - cmp r8, r7 @ time up?
> - bhi volt_delay_c @ not yet->branch
> - ret lr @ back to caller
> -
> -omap243x_srs_cm_clksel2_pll:
> - .word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKSEL2)
> -omap243x_srs_sdrc_dlla_ctrl:
> - .word OMAP243X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -omap243x_srs_sdrc_rfr_ctrl:
> - .word OMAP243X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
> -omap243x_srs_prcm_voltctrl:
> - .word OMAP2430_PRCM_VOLTCTRL
> -ddr_prcm_mask_val:
> - .word 0xFFFF3FFC
> -omap243x_srs_timer_32ksynct:
> - .word OMAP2_L4_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010)
> -
> -ENTRY(omap243x_sram_reprogram_sdrc_sz)
> - .word . - omap243x_sram_reprogram_sdrc
> -
> -/*
> - * Set dividers and pll. Also recalculate DLL value for DDR and unlock mode.
> - */
> - .align 3
> -ENTRY(omap243x_sram_set_prcm)
> - stmfd sp!, {r0-r12, lr} @ regs to stack
> - adr r4, pbegin @ addr of preload start
> - adr r8, pend @ addr of preload end
> - mcrr p15, 1, r8, r4, c12 @ preload into icache
> -pbegin:
> - /* move into fast relock bypass */
> - ldr r8, omap243x_ssp_pll_ctl @ get addr
> - ldr r5, [r8] @ get val
> - mvn r6, #0x3 @ clear mask
> - and r5, r5, r6 @ clear field
> - orr r7, r5, #0x2 @ fast relock val
> - str r7, [r8] @ go to fast relock
> - ldr r4, omap243x_ssp_pll_stat @ addr of stat
> -block:
> - /* wait for bypass */
> - ldr r8, [r4] @ stat value
> - and r8, r8, #0x3 @ mask for stat
> - cmp r8, #0x1 @ there yet
> - bne block @ loop if not
> -
> - /* set new dpll dividers _after_ in bypass */
> - ldr r4, omap243x_ssp_pll_div @ get addr
> - str r0, [r4] @ set dpll ctrl val
> -
> - ldr r4, omap243x_ssp_set_config @ get addr
> - mov r8, #1 @ valid cfg msk
> - str r8, [r4] @ make dividers take
> -
> - mov r4, #100 @ dead spin a bit
> -wait_a_bit:
> - subs r4, r4, #1 @ dec loop
> - bne wait_a_bit @ delay done?
> -
> - /* check if staying in bypass */
> - cmp r2, #0x1 @ stay in bypass?
> - beq pend @ jump over dpll relock
> -
> - /* relock DPLL with new vals */
> - ldr r5, omap243x_ssp_pll_stat @ get addr
> - ldr r4, omap243x_ssp_pll_ctl @ get addr
> - orr r8, r7, #0x3 @ val for lock dpll
> - str r8, [r4] @ set val
> - mov r0, #1000 @ dead spin a bit
> -wait_more:
> - subs r0, r0, #1 @ dec loop
> - bne wait_more @ delay done?
> -wait_lock:
> - ldr r8, [r5] @ get lock val
> - and r8, r8, #3 @ isolate field
> - cmp r8, #2 @ locked?
> - bne wait_lock @ wait if not
> -pend:
> - /* update memory timings & briefly lock dll */
> - ldr r4, omap243x_ssp_sdrc_rfr @ get addr
> - str r1, [r4] @ update refresh timing
> - ldr r11, omap243x_ssp_dlla_ctrl @ get addr of DLLA ctrl
> - ldr r10, [r11] @ get current val
> - mvn r9, #0x4 @ mask to get clear bit2
> - and r10, r10, r9 @ clear bit2 for lock mode
> - orr r10, r10, #0x8 @ make sure DLL on (es2 bit pos)
> - str r10, [r11] @ commit to DLLA_CTRL
> - add r11, r11, #0x8 @ move to dllb
> - str r10, [r11] @ hit DLLB also
> -
> - mov r4, #0x800 @ relock time (min 0x400 L3 clocks)
> -wait_dll_lock:
> - subs r4, r4, #0x1
> - bne wait_dll_lock
> - nop
> - ldmfd sp!, {r0-r12, pc} @ restore regs and return
> -
> -omap243x_ssp_set_config:
> - .word OMAP2430_PRCM_CLKCFG_CTRL
> -omap243x_ssp_pll_ctl:
> - .word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKEN)
> -omap243x_ssp_pll_stat:
> - .word OMAP2430_CM_REGADDR(PLL_MOD, CM_IDLEST)
> -omap243x_ssp_pll_div:
> - .word OMAP2430_CM_REGADDR(PLL_MOD, CM_CLKSEL1)
> -omap243x_ssp_sdrc_rfr:
> - .word OMAP243X_SDRC_REGADDR(SDRC_RFR_CTRL_0)
> -omap243x_ssp_dlla_ctrl:
> - .word OMAP243X_SDRC_REGADDR(SDRC_DLLA_CTRL)
> -
> -ENTRY(omap243x_sram_set_prcm_sz)
> - .word . - omap243x_sram_set_prcm
> diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c
> deleted file mode 100644
> index b46c254c2bc4..000000000000
> --- a/arch/arm/mach-omap2/usb-tusb6010.c
> +++ /dev/null
> @@ -1,217 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * linux/arch/arm/mach-omap2/usb-tusb6010.c
> - *
> - * Copyright (C) 2006 Nokia Corporation
> - */
> -
> -#include <linux/err.h>
> -#include <linux/string.h>
> -#include <linux/types.h>
> -#include <linux/errno.h>
> -#include <linux/delay.h>
> -#include <linux/platform_device.h>
> -#include <linux/export.h>
> -#include <linux/platform_data/usb-omap.h>
> -
> -#include <linux/usb/musb.h>
> -
> -#include "usb-tusb6010.h"
> -#include "gpmc.h"
> -
> -static u8 async_cs, sync_cs;
> -static unsigned refclk_psec;
> -
> -static struct gpmc_settings tusb_async = {
> - .wait_on_read = true,
> - .wait_on_write = true,
> - .device_width = GPMC_DEVWIDTH_16BIT,
> - .mux_add_data = GPMC_MUX_AD,
> -};
> -
> -static struct gpmc_settings tusb_sync = {
> - .burst_read = true,
> - .burst_write = true,
> - .sync_read = true,
> - .sync_write = true,
> - .wait_on_read = true,
> - .wait_on_write = true,
> - .burst_len = GPMC_BURST_16,
> - .device_width = GPMC_DEVWIDTH_16BIT,
> - .mux_add_data = GPMC_MUX_AD,
> -};
> -
> -/* NOTE: timings are from tusb 6010 datasheet Rev 1.8, 12-Sept 2006 */
> -
> -static int tusb_set_async_mode(unsigned sysclk_ps)
> -{
> - struct gpmc_device_timings dev_t;
> - struct gpmc_timings t;
> - unsigned t_acsnh_advnh = sysclk_ps + 3000;
> -
> - memset(&dev_t, 0, sizeof(dev_t));
> -
> - dev_t.t_ceasu = 8 * 1000;
> - dev_t.t_avdasu = t_acsnh_advnh - 7000;
> - dev_t.t_ce_avd = 1000;
> - dev_t.t_avdp_r = t_acsnh_advnh;
> - dev_t.t_oeasu = t_acsnh_advnh + 1000;
> - dev_t.t_oe = 300;
> - dev_t.t_cez_r = 7000;
> - dev_t.t_cez_w = dev_t.t_cez_r;
> - dev_t.t_avdp_w = t_acsnh_advnh;
> - dev_t.t_weasu = t_acsnh_advnh + 1000;
> - dev_t.t_wpl = 300;
> - dev_t.cyc_aavdh_we = 1;
> -
> - gpmc_calc_timings(&t, &tusb_async, &dev_t);
> -
> - return gpmc_cs_set_timings(async_cs, &t, &tusb_async);
> -}
> -
> -static int tusb_set_sync_mode(unsigned sysclk_ps)
> -{
> - struct gpmc_device_timings dev_t;
> - struct gpmc_timings t;
> - unsigned t_scsnh_advnh = sysclk_ps + 3000;
> -
> - memset(&dev_t, 0, sizeof(dev_t));
> -
> - dev_t.clk = 11100;
> - dev_t.t_bacc = 1000;
> - dev_t.t_ces = 1000;
> - dev_t.t_ceasu = 8 * 1000;
> - dev_t.t_avdasu = t_scsnh_advnh - 7000;
> - dev_t.t_ce_avd = 1000;
> - dev_t.t_avdp_r = t_scsnh_advnh;
> - dev_t.cyc_aavdh_oe = 3;
> - dev_t.cyc_oe = 5;
> - dev_t.t_ce_rdyz = 7000;
> - dev_t.t_avdp_w = t_scsnh_advnh;
> - dev_t.cyc_aavdh_we = 3;
> - dev_t.cyc_wpl = 6;
> -
> - gpmc_calc_timings(&t, &tusb_sync, &dev_t);
> -
> - return gpmc_cs_set_timings(sync_cs, &t, &tusb_sync);
> -}
> -
> -/* tusb driver calls this when it changes the chip's clocking */
> -static int tusb6010_platform_retime(unsigned is_refclk)
> -{
> - static const char error[] =
> - KERN_ERR "tusb6010 %s retime error %d\n";
> -
> - unsigned sysclk_ps;
> - int status;
> -
> - if (!refclk_psec)
> - return -ENODEV;
> -
> - sysclk_ps = is_refclk ? refclk_psec : TUSB6010_OSCCLK_60;
> -
> - status = tusb_set_async_mode(sysclk_ps);
> - if (status < 0) {
> - printk(error, "async", status);
> - goto done;
> - }
> - status = tusb_set_sync_mode(sysclk_ps);
> - if (status < 0)
> - printk(error, "sync", status);
> -done:
> - return status;
> -}
> -
> -static struct resource tusb_resources[] = {
> - /* Order is significant! The start/end fields
> - * are updated during setup..
> - */
> - { /* Asynchronous access */
> - .flags = IORESOURCE_MEM,
> - },
> - { /* Synchronous access */
> - .flags = IORESOURCE_MEM,
> - },
> -};
> -
> -static u64 tusb_dmamask = ~(u32)0;
> -
> -static struct platform_device tusb_device = {
> - .name = "musb-tusb",
> - .id = -1,
> - .dev = {
> - .dma_mask = &tusb_dmamask,
> - .coherent_dma_mask = 0xffffffff,
> - },
> - .num_resources = ARRAY_SIZE(tusb_resources),
> - .resource = tusb_resources,
> -};
> -
> -
> -/* this may be called only from board-*.c setup code */
> -int __init tusb6010_setup_interface(struct musb_hdrc_platform_data *data,
> - unsigned int ps_refclk, unsigned int waitpin,
> - unsigned int async, unsigned int sync,
> - unsigned int dmachan)
> -{
> - int status;
> - static char error[] __initdata =
> - KERN_ERR "tusb6010 init error %d, %d\n";
> -
> - /* ASYNC region, primarily for PIO */
> - status = gpmc_cs_request(async, SZ_16M, (unsigned long *)
> - &tusb_resources[0].start);
> - if (status < 0) {
> - printk(error, 1, status);
> - return status;
> - }
> - tusb_resources[0].end = tusb_resources[0].start + 0x9ff;
> - tusb_async.wait_pin = waitpin;
> - async_cs = async;
> -
> - status = gpmc_cs_program_settings(async_cs, &tusb_async);
> - if (status < 0)
> - return status;
> -
> - /* SYNC region, primarily for DMA */
> - status = gpmc_cs_request(sync, SZ_16M, (unsigned long *)
> - &tusb_resources[1].start);
> - if (status < 0) {
> - printk(error, 2, status);
> - return status;
> - }
> - tusb_resources[1].end = tusb_resources[1].start + 0x9ff;
> - tusb_sync.wait_pin = waitpin;
> - sync_cs = sync;
> -
> - status = gpmc_cs_program_settings(sync_cs, &tusb_sync);
> - if (status < 0)
> - return status;
> -
> - /* set up memory timings ... can speed them up later */
> - if (!ps_refclk) {
> - printk(error, 4, status);
> - return -ENODEV;
> - }
> - refclk_psec = ps_refclk;
> - status = tusb6010_platform_retime(1);
> - if (status < 0) {
> - printk(error, 5, status);
> - return status;
> - }
> -
> - /* finish device setup ... */
> - if (!data) {
> - printk(error, 6, status);
> - return -ENODEV;
> - }
> - tusb_device.dev.platform_data = data;
> -
> - /* so far so good ... register the device */
> - status = platform_device_register(&tusb_device);
> - if (status < 0) {
> - printk(error, 7, status);
> - return status;
> - }
> - return 0;
> -}
> diff --git a/arch/arm/mach-omap2/usb-tusb6010.h b/arch/arm/mach-omap2/usb-tusb6010.h
> deleted file mode 100644
> index d210ff6238c2..000000000000
> --- a/arch/arm/mach-omap2/usb-tusb6010.h
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifndef __USB_TUSB6010_H
> -#define __USB_TUSB6010_H
> -
> -extern int __init tusb6010_setup_interface(
> - struct musb_hdrc_platform_data *data,
> - unsigned int ps_refclk, unsigned int waitpin,
> - unsigned int async_cs, unsigned int sync_cs,
> - unsigned int dmachan);
> -
> -#endif /* __USB_TUSB6010_H */
> diff --git a/arch/arm/mach-omap2/voltagedomains2xxx_data.c b/arch/arm/mach-omap2/voltagedomains2xxx_data.c
> deleted file mode 100644
> index 9bc116fe3ba9..000000000000
> --- a/arch/arm/mach-omap2/voltagedomains2xxx_data.c
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * OMAP3 voltage domain data
> - *
> - * Copyright (C) 2011 Texas Instruments, Inc.
> - */
> -#include <linux/kernel.h>
> -#include <linux/init.h>
> -
> -#include "voltage.h"
> -
> -static struct voltagedomain omap2_voltdm_core = {
> - .name = "core",
> -};
> -
> -static struct voltagedomain omap2_voltdm_wkup = {
> - .name = "wakeup",
> -};
> -
> -static struct voltagedomain *voltagedomains_omap2[] __initdata = {
> - &omap2_voltdm_core,
> - &omap2_voltdm_wkup,
> - NULL,
> -};
> -
> -void __init omap2xxx_voltagedomains_init(void)
> -{
> - voltdm_init(voltagedomains_omap2);
> -}
> diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
> index 0189dfdcbbe1..a383ff8f446c 100644
> --- a/drivers/crypto/Kconfig
> +++ b/drivers/crypto/Kconfig
> @@ -337,7 +337,7 @@ config CRYPTO_DEV_OMAP_SHAM
>
> config CRYPTO_DEV_OMAP_AES
> tristate "Support for OMAP AES hw engine"
> - depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS
> + depends on ARCH_OMAP3 || ARCH_OMAP2PLUS
> select CRYPTO_AES
> select CRYPTO_SKCIPHER
> select CRYPTO_ENGINE
> diff --git a/drivers/media/platform/ti/omap/Kconfig b/drivers/media/platform/ti/omap/Kconfig
> index a9dbe1097775..c41812b324ad 100644
> --- a/drivers/media/platform/ti/omap/Kconfig
> +++ b/drivers/media/platform/ti/omap/Kconfig
> @@ -9,9 +9,9 @@ config VIDEO_OMAP2_VOUT
> depends on V4L_PLATFORM_DRIVERS
> depends on MMU
> depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
> - depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
> + depends on ARCH_OMAP3 || COMPILE_TEST
> depends on VIDEO_DEV
> select VIDEOBUF2_DMA_CONTIG
> - select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3
> + select OMAP2_VRFB if ARCH_OMAP3
> help
> V4L2 Display driver support for OMAP2/3 based boards.
> diff --git a/drivers/mtd/nand/onenand/Kconfig b/drivers/mtd/nand/onenand/Kconfig
> index 7d57836bf32f..8a362fd5bfc4 100644
> --- a/drivers/mtd/nand/onenand/Kconfig
> +++ b/drivers/mtd/nand/onenand/Kconfig
> @@ -23,8 +23,8 @@ config MTD_ONENAND_GENERIC
> Support for OneNAND flash via platform device driver.
>
> config MTD_ONENAND_OMAP2
> - tristate "OneNAND on OMAP2/OMAP3 support"
> - depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM)
> + tristate "OneNAND on OMAP3 support"
> + depends on ARCH_OMAP3 || (COMPILE_TEST && ARM)
> depends on OF
> depends on OMAP_GPMC
> help
> diff --git a/drivers/video/fbdev/omap2/omapfb/Kconfig b/drivers/video/fbdev/omap2/omapfb/Kconfig
> index 2d20e79adefc..d8227f4326bd 100644
> --- a/drivers/video/fbdev/omap2/omapfb/Kconfig
> +++ b/drivers/video/fbdev/omap2/omapfb/Kconfig
> @@ -8,7 +8,7 @@ menuconfig FB_OMAP2
> depends on DRM_OMAP = n
> depends on GPIOLIB
> select FB_OMAP2_DSS
> - select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3
> + select OMAP2_VRFB if ARCH_OMAP3
> select FB_IOMEM_HELPERS
> help
> Frame buffer driver for OMAP2+ based boards.
> diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h
> index 54a3fa370004..ca151152da19 100644
> --- a/include/linux/clk/ti.h
> +++ b/include/linux/clk/ti.h
> @@ -265,12 +265,6 @@ int omap2_clk_disable_autoidle_all(void);
> int omap2_clk_enable_autoidle_all(void);
> int omap2_clk_allow_idle(struct clk *clk);
> int omap2_clk_deny_idle(struct clk *clk);
> -unsigned long omap2_dpllcore_recalc(struct clk_hw *hw,
> - unsigned long parent_rate);
> -int omap2_reprogram_dpllcore(struct clk_hw *clk, unsigned long rate,
> - unsigned long parent_rate);
> -void omap2xxx_clkt_dpllcore_init(struct clk_hw *hw);
> -void omap2xxx_clkt_vps_init(void);
> unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk);
>
> void ti_dt_clk_init_retry_clks(void);
> @@ -322,8 +316,6 @@ void omap3_noncore_dpll_restore_context(struct clk_hw *hw);
> int omap3_core_dpll_save_context(struct clk_hw *hw);
> void omap3_core_dpll_restore_context(struct clk_hw *hw);
>
> -extern const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll;
> -
> #ifdef CONFIG_ATAGS
> int omap3430_clk_legacy_init(void);
> int omap3430es1_clk_legacy_init(void);
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)
More information about the linux-mtd
mailing list