[PATCH 03/22] remove arch/sh

Christoph Hellwig hch at lst.de
Thu Jan 12 22:23:20 PST 2023


The Linux SH port has been mostly abandoned for years, with the last
minor maintainer updated being in November 2021.  Drop it as it drags
maintainance of the rest of the kernel down.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 Documentation/arch.rst                        |    1 -
 Documentation/sh/booting.rst                  |   12 -
 Documentation/sh/features.rst                 |    3 -
 Documentation/sh/index.rst                    |   56 -
 Documentation/sh/new-machine.rst              |  277 ---
 Documentation/sh/register-banks.rst           |   40 -
 MAINTAINERS                                   |   10 -
 arch/sh/Kbuild                                |    7 -
 arch/sh/Kconfig                               |  793 --------
 arch/sh/Kconfig.cpu                           |  100 -
 arch/sh/Kconfig.debug                         |   78 -
 arch/sh/Makefile                              |  215 ---
 arch/sh/boards/Kconfig                        |  400 ----
 arch/sh/boards/Makefile                       |   20 -
 arch/sh/boards/board-apsh4a3a.c               |  182 --
 arch/sh/boards/board-apsh4ad0a.c              |  132 --
 arch/sh/boards/board-edosk7705.c              |   79 -
 arch/sh/boards/board-edosk7760.c              |  178 --
 arch/sh/boards/board-espt.c                   |  105 --
 arch/sh/boards/board-magicpanelr2.c           |  390 ----
 arch/sh/boards/board-polaris.c                |  156 --
 arch/sh/boards/board-secureedge5410.c         |   75 -
 arch/sh/boards/board-sh2007.c                 |  146 --
 arch/sh/boards/board-sh7757lcr.c              |  604 -------
 arch/sh/boards/board-sh7785lcr.c              |  384 ----
 arch/sh/boards/board-shmin.c                  |   35 -
 arch/sh/boards/board-titan.c                  |   21 -
 arch/sh/boards/board-urquell.c                |  218 ---
 arch/sh/boards/mach-ap325rxa/Makefile         |    3 -
 arch/sh/boards/mach-ap325rxa/sdram.S          |   66 -
 arch/sh/boards/mach-ap325rxa/setup.c          |  573 ------
 arch/sh/boards/mach-dreamcast/Makefile        |    7 -
 arch/sh/boards/mach-dreamcast/irq.c           |  155 --
 arch/sh/boards/mach-dreamcast/rtc.c           |   96 -
 arch/sh/boards/mach-dreamcast/setup.c         |   39 -
 arch/sh/boards/mach-ecovec24/Makefile         |   10 -
 arch/sh/boards/mach-ecovec24/sdram.S          |  108 --
 arch/sh/boards/mach-ecovec24/setup.c          | 1521 ----------------
 arch/sh/boards/mach-highlander/Kconfig        |   26 -
 arch/sh/boards/mach-highlander/Makefile       |   12 -
 arch/sh/boards/mach-highlander/irq-r7780mp.c  |   71 -
 arch/sh/boards/mach-highlander/irq-r7780rp.c  |   64 -
 arch/sh/boards/mach-highlander/irq-r7785rp.c  |   83 -
 .../boards/mach-highlander/pinmux-r7785rp.c   |   17 -
 arch/sh/boards/mach-highlander/psw.c          |  119 --
 arch/sh/boards/mach-highlander/setup.c        |  416 -----
 arch/sh/boards/mach-hp6xx/Makefile            |    8 -
 arch/sh/boards/mach-hp6xx/hp6xx_apm.c         |  109 --
 arch/sh/boards/mach-hp6xx/pm.c                |  156 --
 arch/sh/boards/mach-hp6xx/pm_wakeup.S         |   39 -
 arch/sh/boards/mach-hp6xx/setup.c             |  172 --
 arch/sh/boards/mach-kfr2r09/Makefile          |    5 -
 arch/sh/boards/mach-kfr2r09/lcd_wqvga.c       |  275 ---
 arch/sh/boards/mach-kfr2r09/sdram.S           |   77 -
 arch/sh/boards/mach-kfr2r09/setup.c           |  649 -------
 arch/sh/boards/mach-landisk/Makefile          |    6 -
 arch/sh/boards/mach-landisk/gio.c             |  164 --
 arch/sh/boards/mach-landisk/irq.c             |   63 -
 arch/sh/boards/mach-landisk/psw.c             |  140 --
 arch/sh/boards/mach-landisk/setup.c           |  102 --
 arch/sh/boards/mach-lboxre2/Makefile          |    6 -
 arch/sh/boards/mach-lboxre2/irq.c             |   27 -
 arch/sh/boards/mach-lboxre2/setup.c           |   79 -
 arch/sh/boards/mach-microdev/Makefile         |    6 -
 arch/sh/boards/mach-microdev/fdc37c93xapm.c   |  157 --
 arch/sh/boards/mach-microdev/io.c             |  123 --
 arch/sh/boards/mach-microdev/irq.c            |  150 --
 arch/sh/boards/mach-microdev/setup.c          |  197 --
 arch/sh/boards/mach-migor/Kconfig             |   16 -
 arch/sh/boards/mach-migor/Makefile            |    3 -
 arch/sh/boards/mach-migor/lcd_qvga.c          |  163 --
 arch/sh/boards/mach-migor/sdram.S             |   66 -
 arch/sh/boards/mach-migor/setup.c             |  649 -------
 arch/sh/boards/mach-r2d/Kconfig               |   24 -
 arch/sh/boards/mach-r2d/Makefile              |    6 -
 arch/sh/boards/mach-r2d/irq.c                 |  156 --
 arch/sh/boards/mach-r2d/setup.c               |  305 ----
 arch/sh/boards/mach-rsk/Kconfig               |   29 -
 arch/sh/boards/mach-rsk/Makefile              |    5 -
 arch/sh/boards/mach-rsk/devices-rsk7203.c     |  137 --
 arch/sh/boards/mach-rsk/devices-rsk7264.c     |   55 -
 arch/sh/boards/mach-rsk/devices-rsk7269.c     |   57 -
 arch/sh/boards/mach-rsk/setup.c               |   84 -
 arch/sh/boards/mach-sdk7780/Kconfig           |   17 -
 arch/sh/boards/mach-sdk7780/Makefile          |    6 -
 arch/sh/boards/mach-sdk7780/irq.c             |   43 -
 arch/sh/boards/mach-sdk7780/setup.c           |   96 -
 arch/sh/boards/mach-sdk7786/Makefile          |    5 -
 arch/sh/boards/mach-sdk7786/fpga.c            |   69 -
 arch/sh/boards/mach-sdk7786/gpio.c            |   46 -
 arch/sh/boards/mach-sdk7786/irq.c             |   45 -
 arch/sh/boards/mach-sdk7786/nmi.c             |   80 -
 arch/sh/boards/mach-sdk7786/setup.c           |  266 ---
 arch/sh/boards/mach-sdk7786/sram.c            |   69 -
 arch/sh/boards/mach-se/7206/Makefile          |    6 -
 arch/sh/boards/mach-se/7206/irq.c             |  151 --
 arch/sh/boards/mach-se/7206/setup.c           |   96 -
 arch/sh/boards/mach-se/7343/Makefile          |    6 -
 arch/sh/boards/mach-se/7343/irq.c             |  123 --
 arch/sh/boards/mach-se/7343/setup.c           |  182 --
 arch/sh/boards/mach-se/770x/Makefile          |    6 -
 arch/sh/boards/mach-se/770x/irq.c             |  109 --
 arch/sh/boards/mach-se/770x/setup.c           |  205 ---
 arch/sh/boards/mach-se/7721/Makefile          |    2 -
 arch/sh/boards/mach-se/7721/irq.c             |   42 -
 arch/sh/boards/mach-se/7721/setup.c           |   92 -
 arch/sh/boards/mach-se/7722/Makefile          |   11 -
 arch/sh/boards/mach-se/7722/irq.c             |  116 --
 arch/sh/boards/mach-se/7722/setup.c           |  190 --
 arch/sh/boards/mach-se/7724/Makefile          |   11 -
 arch/sh/boards/mach-se/7724/irq.c             |  143 --
 arch/sh/boards/mach-se/7724/sdram.S           |  128 --
 arch/sh/boards/mach-se/7724/setup.c           |  986 ----------
 arch/sh/boards/mach-se/7751/Makefile          |    6 -
 arch/sh/boards/mach-se/7751/irq.c             |   51 -
 arch/sh/boards/mach-se/7751/setup.c           |   60 -
 arch/sh/boards/mach-se/7780/Makefile          |   11 -
 arch/sh/boards/mach-se/7780/irq.c             |   65 -
 arch/sh/boards/mach-se/7780/setup.c           |  111 --
 arch/sh/boards/mach-se/Makefile               |   11 -
 arch/sh/boards/mach-se/board-se7619.c         |   27 -
 arch/sh/boards/mach-sh03/Makefile             |    7 -
 arch/sh/boards/mach-sh03/rtc.c                |  143 --
 arch/sh/boards/mach-sh03/setup.c              |   97 -
 arch/sh/boards/mach-sh7763rdp/Makefile        |    2 -
 arch/sh/boards/mach-sh7763rdp/irq.c           |   42 -
 arch/sh/boards/mach-sh7763rdp/setup.c         |  213 ---
 arch/sh/boards/mach-x3proto/Makefile          |    4 -
 arch/sh/boards/mach-x3proto/gpio.c            |  136 --
 arch/sh/boards/mach-x3proto/ilsel.c           |  156 --
 arch/sh/boards/mach-x3proto/setup.c           |  270 ---
 arch/sh/boards/of-generic.c                   |  172 --
 arch/sh/boot/.gitignore                       |    5 -
 arch/sh/boot/Makefile                         |  115 --
 arch/sh/boot/compressed/.gitignore            |    2 -
 arch/sh/boot/compressed/Makefile              |   66 -
 arch/sh/boot/compressed/ashiftrt.S            |    2 -
 arch/sh/boot/compressed/ashldi3.c             |    2 -
 arch/sh/boot/compressed/ashlsi3.S             |    2 -
 arch/sh/boot/compressed/ashrsi3.S             |    2 -
 arch/sh/boot/compressed/cache.c               |   13 -
 arch/sh/boot/compressed/head_32.S             |  126 --
 arch/sh/boot/compressed/head_64.S             |  159 --
 arch/sh/boot/compressed/lshrsi3.S             |    2 -
 arch/sh/boot/compressed/misc.c                |  146 --
 arch/sh/boot/compressed/vmlinux.scr           |   10 -
 arch/sh/boot/dts/Makefile                     |    2 -
 arch/sh/boot/dts/j2_mimas_v2.dts              |   99 -
 arch/sh/boot/romimage/Makefile                |   30 -
 arch/sh/boot/romimage/head.S                  |   85 -
 arch/sh/boot/romimage/mmcif-sh7724.c          |   78 -
 arch/sh/boot/romimage/vmlinux.scr             |    8 -
 arch/sh/cchips/Kconfig                        |   46 -
 arch/sh/cchips/hd6446x/Makefile               |    4 -
 arch/sh/cchips/hd6446x/hd64461.c              |  112 --
 arch/sh/configs/ap325rxa_defconfig            |  103 --
 arch/sh/configs/apsh4a3a_defconfig            |   91 -
 arch/sh/configs/apsh4ad0a_defconfig           |  122 --
 arch/sh/configs/dreamcast_defconfig           |   72 -
 arch/sh/configs/ecovec24-romimage_defconfig   |   58 -
 arch/sh/configs/ecovec24_defconfig            |  132 --
 arch/sh/configs/edosk7705_defconfig           |   35 -
 arch/sh/configs/edosk7760_defconfig           |  114 --
 arch/sh/configs/espt_defconfig                |  114 --
 arch/sh/configs/hp6xx_defconfig               |   60 -
 arch/sh/configs/j2_defconfig                  |   42 -
 arch/sh/configs/kfr2r09-romimage_defconfig    |   53 -
 arch/sh/configs/kfr2r09_defconfig             |   84 -
 arch/sh/configs/landisk_defconfig             |  115 --
 arch/sh/configs/lboxre2_defconfig             |   62 -
 arch/sh/configs/magicpanelr2_defconfig        |   90 -
 arch/sh/configs/microdev_defconfig            |   43 -
 arch/sh/configs/migor_defconfig               |   94 -
 arch/sh/configs/polaris_defconfig             |   83 -
 arch/sh/configs/r7780mp_defconfig             |  109 --
 arch/sh/configs/r7785rp_defconfig             |  107 --
 arch/sh/configs/rsk7201_defconfig             |   63 -
 arch/sh/configs/rsk7203_defconfig             |  121 --
 arch/sh/configs/rsk7264_defconfig             |   71 -
 arch/sh/configs/rsk7269_defconfig             |   56 -
 arch/sh/configs/rts7751r2d1_defconfig         |   91 -
 arch/sh/configs/rts7751r2dplus_defconfig      |   96 -
 arch/sh/configs/sdk7780_defconfig             |  139 --
 arch/sh/configs/sdk7786_defconfig             |  217 ---
 arch/sh/configs/se7206_defconfig              |  108 --
 arch/sh/configs/se7343_defconfig              |   96 -
 arch/sh/configs/se7619_defconfig              |   43 -
 arch/sh/configs/se7705_defconfig              |   54 -
 arch/sh/configs/se7712_defconfig              |  101 --
 arch/sh/configs/se7721_defconfig              |  127 --
 arch/sh/configs/se7722_defconfig              |   56 -
 arch/sh/configs/se7724_defconfig              |  132 --
 arch/sh/configs/se7750_defconfig              |   55 -
 arch/sh/configs/se7751_defconfig              |   46 -
 arch/sh/configs/se7780_defconfig              |  106 --
 arch/sh/configs/secureedge5410_defconfig      |   53 -
 arch/sh/configs/sh03_defconfig                |  126 --
 arch/sh/configs/sh2007_defconfig              |  199 --
 arch/sh/configs/sh7710voipgw_defconfig        |   55 -
 arch/sh/configs/sh7724_generic_defconfig      |   41 -
 arch/sh/configs/sh7757lcr_defconfig           |   85 -
 arch/sh/configs/sh7763rdp_defconfig           |  116 --
 arch/sh/configs/sh7770_generic_defconfig      |   43 -
 arch/sh/configs/sh7785lcr_32bit_defconfig     |  149 --
 arch/sh/configs/sh7785lcr_defconfig           |  117 --
 arch/sh/configs/shmin_defconfig               |   52 -
 arch/sh/configs/shx3_defconfig                |  103 --
 arch/sh/configs/titan_defconfig               |  272 ---
 arch/sh/configs/ul2_defconfig                 |   84 -
 arch/sh/configs/urquell_defconfig             |  147 --
 arch/sh/drivers/Kconfig                       |   20 -
 arch/sh/drivers/Makefile                      |   11 -
 arch/sh/drivers/dma/Kconfig                   |   74 -
 arch/sh/drivers/dma/Makefile                  |    9 -
 arch/sh/drivers/dma/dma-api.c                 |  417 -----
 arch/sh/drivers/dma/dma-g2.c                  |  197 --
 arch/sh/drivers/dma/dma-pvr2.c                |  102 --
 arch/sh/drivers/dma/dma-sh.c                  |  414 -----
 arch/sh/drivers/dma/dma-sysfs.c               |  164 --
 arch/sh/drivers/dma/dmabrg.c                  |  196 --
 arch/sh/drivers/heartbeat.c                   |  152 --
 arch/sh/drivers/pci/Makefile                  |   27 -
 arch/sh/drivers/pci/common.c                  |  159 --
 arch/sh/drivers/pci/fixups-dreamcast.c        |   84 -
 arch/sh/drivers/pci/fixups-landisk.c          |   57 -
 arch/sh/drivers/pci/fixups-r7780rp.c          |   18 -
 arch/sh/drivers/pci/fixups-rts7751r2d.c       |   64 -
 arch/sh/drivers/pci/fixups-sdk7780.c          |   40 -
 arch/sh/drivers/pci/fixups-sdk7786.c          |   64 -
 arch/sh/drivers/pci/fixups-se7751.c           |  113 --
 arch/sh/drivers/pci/fixups-sh03.c             |   33 -
 arch/sh/drivers/pci/fixups-snapgear.c         |   37 -
 arch/sh/drivers/pci/fixups-titan.c            |   36 -
 arch/sh/drivers/pci/ops-dreamcast.c           |   79 -
 arch/sh/drivers/pci/ops-sh4.c                 |  105 --
 arch/sh/drivers/pci/ops-sh7786.c              |  168 --
 arch/sh/drivers/pci/pci-dreamcast.c           |   97 -
 arch/sh/drivers/pci/pci-sh4.h                 |  182 --
 arch/sh/drivers/pci/pci-sh7751.c              |  179 --
 arch/sh/drivers/pci/pci-sh7751.h              |  126 --
 arch/sh/drivers/pci/pci-sh7780.c              |  407 -----
 arch/sh/drivers/pci/pci-sh7780.h              |   43 -
 arch/sh/drivers/pci/pci.c                     |  298 ---
 arch/sh/drivers/pci/pcie-sh7786.c             |  609 -------
 arch/sh/drivers/pci/pcie-sh7786.h             |  577 ------
 arch/sh/drivers/platform_early.c              |  340 ----
 arch/sh/drivers/push-switch.c                 |  136 --
 arch/sh/drivers/superhyway/Makefile           |    7 -
 arch/sh/drivers/superhyway/ops-sh4-202.c      |  168 --
 arch/sh/include/asm/Kbuild                    |    5 -
 arch/sh/include/asm/adc.h                     |   12 -
 arch/sh/include/asm/addrspace.h               |   63 -
 arch/sh/include/asm/alignment.h               |   22 -
 arch/sh/include/asm/asm-offsets.h             |    2 -
 arch/sh/include/asm/atomic-grb.h              |   86 -
 arch/sh/include/asm/atomic-irq.h              |   72 -
 arch/sh/include/asm/atomic-llsc.h             |   88 -
 arch/sh/include/asm/atomic.h                  |   38 -
 arch/sh/include/asm/barrier.h                 |   45 -
 arch/sh/include/asm/bitops-cas.h              |   94 -
 arch/sh/include/asm/bitops-grb.h              |  173 --
 arch/sh/include/asm/bitops-llsc.h             |  147 --
 arch/sh/include/asm/bitops-op32.h             |  143 --
 arch/sh/include/asm/bitops.h                  |   72 -
 arch/sh/include/asm/bl_bit.h                  |    2 -
 arch/sh/include/asm/bl_bit_32.h               |   34 -
 arch/sh/include/asm/bug.h                     |  121 --
 arch/sh/include/asm/bugs.h                    |   74 -
 arch/sh/include/asm/cache.h                   |   46 -
 arch/sh/include/asm/cache_insns.h             |    2 -
 arch/sh/include/asm/cache_insns_32.h          |   22 -
 arch/sh/include/asm/cacheflush.h              |  106 --
 arch/sh/include/asm/checksum.h                |    2 -
 arch/sh/include/asm/checksum_32.h             |  203 ---
 arch/sh/include/asm/clock.h                   |   17 -
 arch/sh/include/asm/cmpxchg-cas.h             |   25 -
 arch/sh/include/asm/cmpxchg-grb.h             |   95 -
 arch/sh/include/asm/cmpxchg-irq.h             |   54 -
 arch/sh/include/asm/cmpxchg-llsc.h            |   53 -
 arch/sh/include/asm/cmpxchg-xchg.h            |   50 -
 arch/sh/include/asm/cmpxchg.h                 |   74 -
 arch/sh/include/asm/device.h                  |   17 -
 arch/sh/include/asm/dma-register.h            |   50 -
 arch/sh/include/asm/dma.h                     |  140 --
 arch/sh/include/asm/dmabrg.h                  |   24 -
 arch/sh/include/asm/dwarf.h                   |  417 -----
 arch/sh/include/asm/elf.h                     |  211 ---
 arch/sh/include/asm/entry-macros.S            |  123 --
 arch/sh/include/asm/extable.h                 |    7 -
 arch/sh/include/asm/fb.h                      |   20 -
 arch/sh/include/asm/fixmap.h                  |   86 -
 arch/sh/include/asm/flat.h                    |   33 -
 arch/sh/include/asm/fpu.h                     |   69 -
 arch/sh/include/asm/freq.h                    |   12 -
 arch/sh/include/asm/ftrace.h                  |   48 -
 arch/sh/include/asm/futex-cas.h               |   35 -
 arch/sh/include/asm/futex-irq.h               |   25 -
 arch/sh/include/asm/futex-llsc.h              |   42 -
 arch/sh/include/asm/futex.h                   |   72 -
 arch/sh/include/asm/gpio.h                    |   50 -
 arch/sh/include/asm/hardirq.h                 |   11 -
 arch/sh/include/asm/hd64461.h                 |  252 ---
 arch/sh/include/asm/heartbeat.h               |   19 -
 arch/sh/include/asm/hugetlb.h                 |   38 -
 arch/sh/include/asm/hw_breakpoint.h           |   70 -
 arch/sh/include/asm/hw_irq.h                  |   36 -
 arch/sh/include/asm/i2c-sh7760.h              |   21 -
 arch/sh/include/asm/io.h                      |  294 ---
 arch/sh/include/asm/io_generic.h              |   19 -
 arch/sh/include/asm/io_noioport.h             |   86 -
 arch/sh/include/asm/io_trapped.h              |   59 -
 arch/sh/include/asm/irq.h                     |   58 -
 arch/sh/include/asm/irqflags.h                |   10 -
 arch/sh/include/asm/kdebug.h                  |   19 -
 arch/sh/include/asm/kexec.h                   |   72 -
 arch/sh/include/asm/kgdb.h                    |   38 -
 arch/sh/include/asm/kprobes.h                 |   57 -
 arch/sh/include/asm/linkage.h                 |    8 -
 arch/sh/include/asm/machvec.h                 |   41 -
 arch/sh/include/asm/mmiowb.h                  |   12 -
 arch/sh/include/asm/mmu.h                     |  107 --
 arch/sh/include/asm/mmu_context.h             |  178 --
 arch/sh/include/asm/mmu_context_32.h          |   51 -
 arch/sh/include/asm/mmzone.h                  |   45 -
 arch/sh/include/asm/module.h                  |   14 -
 arch/sh/include/asm/page.h                    |  186 --
 arch/sh/include/asm/pci.h                     |   91 -
 arch/sh/include/asm/perf_event.h              |   30 -
 arch/sh/include/asm/pgalloc.h                 |   40 -
 arch/sh/include/asm/pgtable-2level.h          |   24 -
 arch/sh/include/asm/pgtable-3level.h          |   59 -
 arch/sh/include/asm/pgtable.h                 |  150 --
 arch/sh/include/asm/pgtable_32.h              |  462 -----
 arch/sh/include/asm/platform_early.h          |   61 -
 arch/sh/include/asm/posix_types.h             |    2 -
 arch/sh/include/asm/processor.h               |  173 --
 arch/sh/include/asm/processor_32.h            |  202 ---
 arch/sh/include/asm/ptrace.h                  |  139 --
 arch/sh/include/asm/ptrace_32.h               |   14 -
 arch/sh/include/asm/push-switch.h             |   32 -
 arch/sh/include/asm/reboot.h                  |   22 -
 arch/sh/include/asm/romimage-macros.h         |   74 -
 arch/sh/include/asm/rtc.h                     |   15 -
 arch/sh/include/asm/seccomp.h                 |   21 -
 arch/sh/include/asm/sections.h                |   12 -
 arch/sh/include/asm/setup.h                   |   25 -
 arch/sh/include/asm/sfp-machine.h             |   80 -
 arch/sh/include/asm/sh7760fb.h                |  198 --
 arch/sh/include/asm/sh_bios.h                 |   28 -
 arch/sh/include/asm/shmparam.h                |   19 -
 arch/sh/include/asm/siu.h                     |   20 -
 arch/sh/include/asm/smc37c93x.h               |  191 --
 arch/sh/include/asm/smp-ops.h                 |   52 -
 arch/sh/include/asm/smp.h                     |   83 -
 arch/sh/include/asm/sparsemem.h               |   12 -
 arch/sh/include/asm/spi.h                     |   14 -
 arch/sh/include/asm/spinlock-cas.h            |   89 -
 arch/sh/include/asm/spinlock-llsc.h           |  198 --
 arch/sh/include/asm/spinlock.h                |   19 -
 arch/sh/include/asm/spinlock_types.h          |   22 -
 arch/sh/include/asm/sram.h                    |   39 -
 arch/sh/include/asm/stackprotector.h          |   21 -
 arch/sh/include/asm/stacktrace.h              |   21 -
 arch/sh/include/asm/string.h                  |    2 -
 arch/sh/include/asm/string_32.h               |  102 --
 arch/sh/include/asm/suspend.h                 |   97 -
 arch/sh/include/asm/switch_to.h               |    7 -
 arch/sh/include/asm/switch_to_32.h            |  131 --
 arch/sh/include/asm/syscall.h                 |    9 -
 arch/sh/include/asm/syscall_32.h              |   69 -
 arch/sh/include/asm/syscalls.h                |   14 -
 arch/sh/include/asm/syscalls_32.h             |   27 -
 arch/sh/include/asm/thread_info.h             |  171 --
 arch/sh/include/asm/timex.h                   |   24 -
 arch/sh/include/asm/tlb.h                     |   29 -
 arch/sh/include/asm/tlbflush.h                |   52 -
 arch/sh/include/asm/topology.h                |   28 -
 arch/sh/include/asm/traps.h                   |   18 -
 arch/sh/include/asm/traps_32.h                |   61 -
 arch/sh/include/asm/types.h                   |   16 -
 arch/sh/include/asm/uaccess.h                 |  133 --
 arch/sh/include/asm/uaccess_32.h              |  227 ---
 arch/sh/include/asm/uncached.h                |   59 -
 arch/sh/include/asm/unistd.h                  |   31 -
 arch/sh/include/asm/unwinder.h                |   32 -
 arch/sh/include/asm/user.h                    |   55 -
 arch/sh/include/asm/vermagic.h                |   30 -
 arch/sh/include/asm/vga.h                     |    7 -
 arch/sh/include/asm/vmalloc.h                 |    4 -
 arch/sh/include/asm/vmlinux.lds.h             |   18 -
 arch/sh/include/asm/watchdog.h                |  159 --
 arch/sh/include/asm/word-at-a-time.h          |   54 -
 arch/sh/include/cpu-common/cpu/addrspace.h    |   16 -
 arch/sh/include/cpu-common/cpu/mmu_context.h  |   13 -
 arch/sh/include/cpu-common/cpu/pfc.h          |   18 -
 arch/sh/include/cpu-common/cpu/rtc.h          |    9 -
 arch/sh/include/cpu-common/cpu/sigcontext.h   |   18 -
 arch/sh/include/cpu-common/cpu/timer.h        |    7 -
 arch/sh/include/cpu-sh2/cpu/cache.h           |   40 -
 arch/sh/include/cpu-sh2/cpu/freq.h            |   15 -
 arch/sh/include/cpu-sh2/cpu/watchdog.h        |   66 -
 arch/sh/include/cpu-sh2a/cpu/addrspace.h      |   11 -
 arch/sh/include/cpu-sh2a/cpu/cache.h          |   40 -
 arch/sh/include/cpu-sh2a/cpu/freq.h           |   13 -
 arch/sh/include/cpu-sh2a/cpu/rtc.h            |    9 -
 arch/sh/include/cpu-sh2a/cpu/sh7203.h         |  144 --
 arch/sh/include/cpu-sh2a/cpu/sh7264.h         |  169 --
 arch/sh/include/cpu-sh2a/cpu/sh7269.h         |  213 ---
 arch/sh/include/cpu-sh2a/cpu/watchdog.h       |    2 -
 arch/sh/include/cpu-sh3/cpu/adc.h             |   29 -
 arch/sh/include/cpu-sh3/cpu/cache.h           |   40 -
 arch/sh/include/cpu-sh3/cpu/dac.h             |   42 -
 arch/sh/include/cpu-sh3/cpu/dma-register.h    |   38 -
 arch/sh/include/cpu-sh3/cpu/dma.h             |   19 -
 arch/sh/include/cpu-sh3/cpu/freq.h            |   24 -
 arch/sh/include/cpu-sh3/cpu/gpio.h            |   78 -
 arch/sh/include/cpu-sh3/cpu/mmu_context.h     |   42 -
 arch/sh/include/cpu-sh3/cpu/serial.h          |   11 -
 arch/sh/include/cpu-sh3/cpu/sh7720.h          |  175 --
 arch/sh/include/cpu-sh3/cpu/watchdog.h        |   22 -
 arch/sh/include/cpu-sh4/cpu/addrspace.h       |   41 -
 arch/sh/include/cpu-sh4/cpu/cache.h           |   41 -
 arch/sh/include/cpu-sh4/cpu/dma-register.h    |   98 -
 arch/sh/include/cpu-sh4/cpu/dma.h             |   18 -
 arch/sh/include/cpu-sh4/cpu/fpu.h             |   30 -
 arch/sh/include/cpu-sh4/cpu/freq.h            |   74 -
 arch/sh/include/cpu-sh4/cpu/mmu_context.h     |   79 -
 arch/sh/include/cpu-sh4/cpu/rtc.h             |   14 -
 arch/sh/include/cpu-sh4/cpu/sh7722.h          |  252 ---
 arch/sh/include/cpu-sh4/cpu/sh7723.h          |  285 ---
 arch/sh/include/cpu-sh4/cpu/sh7724.h          |  319 ----
 arch/sh/include/cpu-sh4/cpu/sh7734.h          |  307 ----
 arch/sh/include/cpu-sh4/cpu/sh7757.h          |  290 ---
 arch/sh/include/cpu-sh4/cpu/sh7785.h          |  260 ---
 arch/sh/include/cpu-sh4/cpu/sh7786.h          |  138 --
 arch/sh/include/cpu-sh4/cpu/shx3.h            |   65 -
 arch/sh/include/cpu-sh4/cpu/sigcontext.h      |   25 -
 arch/sh/include/cpu-sh4/cpu/sq.h              |   33 -
 arch/sh/include/cpu-sh4/cpu/watchdog.h        |   41 -
 arch/sh/include/cpu-sh4a/cpu/dma.h            |   72 -
 arch/sh/include/cpu-sh4a/cpu/serial.h         |    8 -
 arch/sh/include/mach-common/mach/highlander.h |  208 ---
 arch/sh/include/mach-common/mach/hp6xx.h      |   59 -
 arch/sh/include/mach-common/mach/lboxre2.h    |   24 -
 .../include/mach-common/mach/magicpanelr2.h   |   64 -
 .../sh/include/mach-common/mach/mangle-port.h |   46 -
 arch/sh/include/mach-common/mach/microdev.h   |   69 -
 arch/sh/include/mach-common/mach/r2d.h        |   71 -
 arch/sh/include/mach-common/mach/romimage.h   |   12 -
 arch/sh/include/mach-common/mach/sdk7780.h    |   79 -
 .../include/mach-common/mach/secureedge5410.h |   47 -
 arch/sh/include/mach-common/mach/sh2007.h     |  118 --
 arch/sh/include/mach-common/mach/sh7763rdp.h  |   50 -
 arch/sh/include/mach-common/mach/sh7785lcr.h  |   58 -
 arch/sh/include/mach-common/mach/shmin.h      |   10 -
 arch/sh/include/mach-common/mach/titan.h      |   20 -
 arch/sh/include/mach-common/mach/urquell.h    |   69 -
 arch/sh/include/mach-dreamcast/mach/dma.h     |   29 -
 arch/sh/include/mach-dreamcast/mach/maple.h   |   38 -
 arch/sh/include/mach-dreamcast/mach/pci.h     |   24 -
 arch/sh/include/mach-dreamcast/mach/sysasic.h |   46 -
 .../mach-ecovec24/mach/partner-jet-setup.txt  |   82 -
 arch/sh/include/mach-ecovec24/mach/romimage.h |   48 -
 arch/sh/include/mach-kfr2r09/mach/kfr2r09.h   |   24 -
 .../mach-kfr2r09/mach/partner-jet-setup.txt   |  144 --
 arch/sh/include/mach-kfr2r09/mach/romimage.h  |   31 -
 arch/sh/include/mach-landisk/mach/gio.h       |   38 -
 .../mach-landisk/mach/iodata_landisk.h        |   46 -
 arch/sh/include/mach-migor/mach/migor.h       |   16 -
 arch/sh/include/mach-sdk7786/mach/fpga.h      |  156 --
 arch/sh/include/mach-sdk7786/mach/irq.h       |    8 -
 arch/sh/include/mach-se/mach/mrshpc.h         |   53 -
 arch/sh/include/mach-se/mach/se.h             |  120 --
 arch/sh/include/mach-se/mach/se7206.h         |   14 -
 arch/sh/include/mach-se/mach/se7343.h         |  143 --
 arch/sh/include/mach-se/mach/se7721.h         |   68 -
 arch/sh/include/mach-se/mach/se7722.h         |   98 -
 arch/sh/include/mach-se/mach/se7724.h         |   69 -
 arch/sh/include/mach-se/mach/se7751.h         |   75 -
 arch/sh/include/mach-se/mach/se7780.h         |  106 --
 arch/sh/include/mach-sh03/mach/io.h           |   26 -
 arch/sh/include/mach-sh03/mach/sh03.h         |   19 -
 arch/sh/include/mach-x3proto/mach/hardware.h  |   13 -
 arch/sh/include/mach-x3proto/mach/ilsel.h     |   46 -
 arch/sh/include/uapi/asm/Kbuild               |    4 -
 arch/sh/include/uapi/asm/auxvec.h             |   39 -
 arch/sh/include/uapi/asm/byteorder.h          |   11 -
 arch/sh/include/uapi/asm/cachectl.h           |   20 -
 arch/sh/include/uapi/asm/cpu-features.h       |   28 -
 arch/sh/include/uapi/asm/hw_breakpoint.h      |    5 -
 arch/sh/include/uapi/asm/ioctls.h             |  116 --
 arch/sh/include/uapi/asm/posix_types.h        |    2 -
 arch/sh/include/uapi/asm/posix_types_32.h     |   23 -
 arch/sh/include/uapi/asm/ptrace.h             |   30 -
 arch/sh/include/uapi/asm/ptrace_32.h          |   78 -
 arch/sh/include/uapi/asm/sigcontext.h         |   25 -
 arch/sh/include/uapi/asm/signal.h             |   18 -
 arch/sh/include/uapi/asm/sockios.h            |   18 -
 arch/sh/include/uapi/asm/stat.h               |   78 -
 arch/sh/include/uapi/asm/swab.h               |   50 -
 arch/sh/include/uapi/asm/unistd.h             |    2 -
 arch/sh/kernel/.gitignore                     |    2 -
 arch/sh/kernel/Makefile                       |   49 -
 arch/sh/kernel/asm-offsets.c                  |   60 -
 arch/sh/kernel/cpu/Makefile                   |   21 -
 arch/sh/kernel/cpu/adc.c                      |   37 -
 arch/sh/kernel/cpu/clock-cpg.c                |   78 -
 arch/sh/kernel/cpu/clock.c                    |   52 -
 arch/sh/kernel/cpu/fpu.c                      |   92 -
 arch/sh/kernel/cpu/init.c                     |  366 ----
 arch/sh/kernel/cpu/irq/Makefile               |    6 -
 arch/sh/kernel/cpu/irq/imask.c                |   85 -
 arch/sh/kernel/cpu/irq/ipr.c                  |   80 -
 arch/sh/kernel/cpu/pfc.c                      |   25 -
 arch/sh/kernel/cpu/proc.c                     |  151 --
 arch/sh/kernel/cpu/sh2/Makefile               |   12 -
 arch/sh/kernel/cpu/sh2/clock-sh7619.c         |   74 -
 arch/sh/kernel/cpu/sh2/entry.S                |  373 ----
 arch/sh/kernel/cpu/sh2/ex.S                   |   44 -
 arch/sh/kernel/cpu/sh2/probe.c                |   71 -
 arch/sh/kernel/cpu/sh2/setup-sh7619.c         |  205 ---
 arch/sh/kernel/cpu/sh2/smp-j2.c               |  136 --
 arch/sh/kernel/cpu/sh2a/Makefile              |   25 -
 arch/sh/kernel/cpu/sh2a/clock-sh7201.c        |   82 -
 arch/sh/kernel/cpu/sh2a/clock-sh7203.c        |   78 -
 arch/sh/kernel/cpu/sh2a/clock-sh7206.c        |   80 -
 arch/sh/kernel/cpu/sh2a/clock-sh7264.c        |  157 --
 arch/sh/kernel/cpu/sh2a/clock-sh7269.c        |  181 --
 arch/sh/kernel/cpu/sh2a/entry.S               |  247 ---
 arch/sh/kernel/cpu/sh2a/ex.S                  |   70 -
 arch/sh/kernel/cpu/sh2a/fpu.c                 |  572 ------
 arch/sh/kernel/cpu/sh2a/opcode_helper.c       |   51 -
 arch/sh/kernel/cpu/sh2a/pinmux-sh7203.c       |   27 -
 arch/sh/kernel/cpu/sh2a/pinmux-sh7264.c       |   27 -
 arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c       |   28 -
 arch/sh/kernel/cpu/sh2a/probe.c               |   57 -
 arch/sh/kernel/cpu/sh2a/setup-mxg.c           |  175 --
 arch/sh/kernel/cpu/sh2a/setup-sh7201.c        |  418 -----
 arch/sh/kernel/cpu/sh2a/setup-sh7203.c        |  355 ----
 arch/sh/kernel/cpu/sh2a/setup-sh7206.c        |  291 ---
 arch/sh/kernel/cpu/sh2a/setup-sh7264.c        |  552 ------
 arch/sh/kernel/cpu/sh2a/setup-sh7269.c        |  568 ------
 arch/sh/kernel/cpu/sh3/Makefile               |   34 -
 arch/sh/kernel/cpu/sh3/clock-sh3.c            |   86 -
 arch/sh/kernel/cpu/sh3/clock-sh7705.c         |   81 -
 arch/sh/kernel/cpu/sh3/clock-sh7706.c         |   81 -
 arch/sh/kernel/cpu/sh3/clock-sh7709.c         |   82 -
 arch/sh/kernel/cpu/sh3/clock-sh7710.c         |   75 -
 arch/sh/kernel/cpu/sh3/clock-sh7712.c         |   68 -
 arch/sh/kernel/cpu/sh3/entry.S                |  509 ------
 arch/sh/kernel/cpu/sh3/ex.S                   |   56 -
 arch/sh/kernel/cpu/sh3/pinmux-sh7720.c        |   27 -
 arch/sh/kernel/cpu/sh3/probe.c                |  108 --
 arch/sh/kernel/cpu/sh3/serial-sh770x.c        |   34 -
 arch/sh/kernel/cpu/sh3/serial-sh7710.c        |   21 -
 arch/sh/kernel/cpu/sh3/serial-sh7720.c        |   38 -
 arch/sh/kernel/cpu/sh3/setup-sh3.c            |   69 -
 arch/sh/kernel/cpu/sh3/setup-sh7705.c         |  190 --
 arch/sh/kernel/cpu/sh3/setup-sh770x.c         |  246 ---
 arch/sh/kernel/cpu/sh3/setup-sh7710.c         |  189 --
 arch/sh/kernel/cpu/sh3/setup-sh7720.c         |  286 ---
 arch/sh/kernel/cpu/sh3/swsusp.S               |  144 --
 arch/sh/kernel/cpu/sh4/Makefile               |   37 -
 arch/sh/kernel/cpu/sh4/clock-sh4-202.c        |  174 --
 arch/sh/kernel/cpu/sh4/clock-sh4.c            |   77 -
 arch/sh/kernel/cpu/sh4/fpu.c                  |  425 -----
 arch/sh/kernel/cpu/sh4/perf_event.c           |  265 ---
 arch/sh/kernel/cpu/sh4/probe.c                |  260 ---
 arch/sh/kernel/cpu/sh4/setup-sh4-202.c        |  139 --
 arch/sh/kernel/cpu/sh4/setup-sh7750.c         |  359 ----
 arch/sh/kernel/cpu/sh4/setup-sh7760.c         |  297 ---
 arch/sh/kernel/cpu/sh4/softfloat.c            |  930 ----------
 arch/sh/kernel/cpu/sh4/sq.c                   |  414 -----
 arch/sh/kernel/cpu/sh4a/Makefile              |   53 -
 arch/sh/kernel/cpu/sh4a/clock-sh7343.c        |  277 ---
 arch/sh/kernel/cpu/sh4a/clock-sh7366.c        |  270 ---
 arch/sh/kernel/cpu/sh4a/clock-sh7722.c        |  253 ---
 arch/sh/kernel/cpu/sh4a/clock-sh7723.c        |  301 ----
 arch/sh/kernel/cpu/sh4a/clock-sh7724.c        |  367 ----
 arch/sh/kernel/cpu/sh4a/clock-sh7734.c        |  256 ---
 arch/sh/kernel/cpu/sh4a/clock-sh7757.c        |  152 --
 arch/sh/kernel/cpu/sh4a/clock-sh7763.c        |  116 --
 arch/sh/kernel/cpu/sh4a/clock-sh7770.c        |   70 -
 arch/sh/kernel/cpu/sh4a/clock-sh7780.c        |  122 --
 arch/sh/kernel/cpu/sh4a/clock-sh7785.c        |  174 --
 arch/sh/kernel/cpu/sh4a/clock-sh7786.c        |  189 --
 arch/sh/kernel/cpu/sh4a/clock-shx3.c          |  148 --
 arch/sh/kernel/cpu/sh4a/intc-shx3.c           |   31 -
 arch/sh/kernel/cpu/sh4a/perf_event.c          |  299 ---
 arch/sh/kernel/cpu/sh4a/pinmux-sh7722.c       |   21 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7723.c       |   27 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7724.c       |   32 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7734.c       |   32 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7757.c       |   32 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7785.c       |   27 -
 arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c       |   32 -
 arch/sh/kernel/cpu/sh4a/pinmux-shx3.c         |   26 -
 arch/sh/kernel/cpu/sh4a/serial-sh7722.c       |   24 -
 arch/sh/kernel/cpu/sh4a/setup-sh7343.c        |  444 -----
 arch/sh/kernel/cpu/sh4a/setup-sh7366.c        |  388 ----
 arch/sh/kernel/cpu/sh4a/setup-sh7722.c        |  666 -------
 arch/sh/kernel/cpu/sh4a/setup-sh7723.c        |  644 -------
 arch/sh/kernel/cpu/sh4a/setup-sh7724.c        | 1288 -------------
 arch/sh/kernel/cpu/sh4a/setup-sh7734.c        |  621 -------
 arch/sh/kernel/cpu/sh4a/setup-sh7757.c        | 1242 -------------
 arch/sh/kernel/cpu/sh4a/setup-sh7763.c        |  455 -----
 arch/sh/kernel/cpu/sh4a/setup-sh7770.c        |  571 ------
 arch/sh/kernel/cpu/sh4a/setup-sh7780.c        |  505 ------
 arch/sh/kernel/cpu/sh4a/setup-sh7785.c        |  608 -------
 arch/sh/kernel/cpu/sh4a/setup-sh7786.c        |  841 ---------
 arch/sh/kernel/cpu/sh4a/setup-shx3.c          |  396 ----
 arch/sh/kernel/cpu/sh4a/smp-shx3.c            |  146 --
 arch/sh/kernel/cpu/sh4a/ubc.c                 |  130 --
 arch/sh/kernel/cpu/shmobile/Makefile          |    8 -
 arch/sh/kernel/cpu/shmobile/cpuidle.c         |   95 -
 arch/sh/kernel/cpu/shmobile/pm.c              |  153 --
 arch/sh/kernel/cpu/shmobile/sleep.S           |  402 -----
 arch/sh/kernel/crash_dump.c                   |   27 -
 arch/sh/kernel/debugtraps.S                   |   38 -
 arch/sh/kernel/disassemble.c                  |  572 ------
 arch/sh/kernel/dma-coherent.c                 |   33 -
 arch/sh/kernel/dumpstack.c                    |  156 --
 arch/sh/kernel/dwarf.c                        | 1206 -------------
 arch/sh/kernel/entry-common.S                 |  400 ----
 arch/sh/kernel/ftrace.c                       |  365 ----
 arch/sh/kernel/head_32.S                      |  365 ----
 arch/sh/kernel/hw_breakpoint.c                |  408 -----
 arch/sh/kernel/idle.c                         |   57 -
 arch/sh/kernel/io.c                           |  111 --
 arch/sh/kernel/io_trapped.c                   |  291 ---
 arch/sh/kernel/iomap.c                        |  162 --
 arch/sh/kernel/ioport.c                       |   41 -
 arch/sh/kernel/irq.c                          |  249 ---
 arch/sh/kernel/irq_32.c                       |   54 -
 arch/sh/kernel/kdebugfs.c                     |   14 -
 arch/sh/kernel/kgdb.c                         |  378 ----
 arch/sh/kernel/kprobes.c                      |  452 -----
 arch/sh/kernel/machine_kexec.c                |  204 ---
 arch/sh/kernel/machvec.c                      |  122 --
 arch/sh/kernel/module.c                       |  104 --
 arch/sh/kernel/nmi_debug.c                    |   75 -
 arch/sh/kernel/perf_callchain.c               |   32 -
 arch/sh/kernel/perf_event.c                   |  363 ----
 arch/sh/kernel/process.c                      |   77 -
 arch/sh/kernel/process_32.c                   |  197 --
 arch/sh/kernel/ptrace.c                       |   34 -
 arch/sh/kernel/ptrace_32.c                    |  487 -----
 arch/sh/kernel/reboot.c                       |   96 -
 arch/sh/kernel/relocate_kernel.S              |  230 ---
 arch/sh/kernel/return_address.c               |   56 -
 arch/sh/kernel/setup.c                        |  356 ----
 arch/sh/kernel/sh_bios.c                      |  169 --
 arch/sh/kernel/sh_ksyms_32.c                  |  118 --
 arch/sh/kernel/signal_32.c                    |  507 ------
 arch/sh/kernel/smp.c                          |  471 -----
 arch/sh/kernel/stacktrace.c                   |   79 -
 arch/sh/kernel/swsusp.c                       |   35 -
 arch/sh/kernel/sys_sh.c                       |   96 -
 arch/sh/kernel/sys_sh32.c                     |   61 -
 arch/sh/kernel/syscalls/Makefile              |   32 -
 arch/sh/kernel/syscalls/syscall.tbl           |  455 -----
 arch/sh/kernel/syscalls_32.S                  |   17 -
 arch/sh/kernel/time.c                         |   45 -
 arch/sh/kernel/topology.c                     |   74 -
 arch/sh/kernel/traps.c                        |  204 ---
 arch/sh/kernel/traps_32.c                     |  795 --------
 arch/sh/kernel/unwinder.c                     |  165 --
 arch/sh/kernel/vmlinux.lds.S                  |   82 -
 arch/sh/kernel/vsyscall/.gitignore            |    2 -
 arch/sh/kernel/vsyscall/Makefile              |   36 -
 arch/sh/kernel/vsyscall/vsyscall-note.S       |   26 -
 arch/sh/kernel/vsyscall/vsyscall-sigreturn.S  |   75 -
 arch/sh/kernel/vsyscall/vsyscall-syscall.S    |   11 -
 arch/sh/kernel/vsyscall/vsyscall-trapa.S      |   40 -
 arch/sh/kernel/vsyscall/vsyscall.c            |   93 -
 arch/sh/kernel/vsyscall/vsyscall.lds.S        |   85 -
 arch/sh/lib/Makefile                          |   32 -
 arch/sh/lib/__clear_user.S                    |  109 --
 arch/sh/lib/ashiftrt.S                        |  128 --
 arch/sh/lib/ashldi3.c                         |   30 -
 arch/sh/lib/ashlsi3.S                         |  189 --
 arch/sh/lib/ashrdi3.c                         |   32 -
 arch/sh/lib/ashrsi3.S                         |  179 --
 arch/sh/lib/checksum.S                        |  365 ----
 arch/sh/lib/copy_page.S                       |  390 ----
 arch/sh/lib/delay.c                           |   54 -
 arch/sh/lib/div64-generic.c                   |   20 -
 arch/sh/lib/div64.S                           |   47 -
 arch/sh/lib/io.c                              |   79 -
 arch/sh/lib/libgcc.h                          |   27 -
 arch/sh/lib/lshrdi3.c                         |   30 -
 arch/sh/lib/lshrsi3.S                         |  188 --
 arch/sh/lib/mcount.S                          |  287 ---
 arch/sh/lib/memchr.S                          |   27 -
 arch/sh/lib/memcpy-sh4.S                      |  800 --------
 arch/sh/lib/memcpy.S                          |  228 ---
 arch/sh/lib/memmove.S                         |  255 ---
 arch/sh/lib/memset-sh4.S                      |  108 --
 arch/sh/lib/memset.S                          |   59 -
 arch/sh/lib/movmem.S                          |  217 ---
 arch/sh/lib/strlen.S                          |   71 -
 arch/sh/lib/udiv_qrnnd.S                      |   60 -
 arch/sh/lib/udivsi3.S                         |   66 -
 arch/sh/lib/udivsi3_i4i-Os.S                  |  128 --
 arch/sh/lib/udivsi3_i4i.S                     |  645 -------
 arch/sh/math-emu/Makefile                     |    2 -
 arch/sh/math-emu/math.c                       |  506 ------
 arch/sh/math-emu/sfp-util.h                   |   73 -
 arch/sh/mm/Kconfig                            |  254 ---
 arch/sh/mm/Makefile                           |   45 -
 arch/sh/mm/alignment.c                        |  189 --
 arch/sh/mm/asids-debugfs.c                    |   59 -
 arch/sh/mm/cache-debugfs.c                    |  109 --
 arch/sh/mm/cache-j2.c                         |   64 -
 arch/sh/mm/cache-sh2.c                        |   90 -
 arch/sh/mm/cache-sh2a.c                       |  188 --
 arch/sh/mm/cache-sh3.c                        |  102 --
 arch/sh/mm/cache-sh4.c                        |  390 ----
 arch/sh/mm/cache-sh7705.c                     |  194 --
 arch/sh/mm/cache-shx3.c                       |   44 -
 arch/sh/mm/cache.c                            |  360 ----
 arch/sh/mm/consistent.c                       |   65 -
 arch/sh/mm/extable_32.c                       |   24 -
 arch/sh/mm/fault.c                            |  504 ------
 arch/sh/mm/flush-sh4.c                        |  111 --
 arch/sh/mm/hugetlbpage.c                      |   82 -
 arch/sh/mm/init.c                             |  424 -----
 arch/sh/mm/ioremap.c                          |  192 --
 arch/sh/mm/ioremap.h                          |   23 -
 arch/sh/mm/ioremap_fixed.c                    |  135 --
 arch/sh/mm/kmap.c                             |   65 -
 arch/sh/mm/mmap.c                             |  184 --
 arch/sh/mm/nommu.c                            |   98 -
 arch/sh/mm/numa.c                             |   56 -
 arch/sh/mm/pgtable.c                          |   57 -
 arch/sh/mm/pmb.c                              |  887 ---------
 arch/sh/mm/sram.c                             |   35 -
 arch/sh/mm/tlb-debugfs.c                      |  160 --
 arch/sh/mm/tlb-pteaex.c                       |  106 --
 arch/sh/mm/tlb-sh3.c                          |   95 -
 arch/sh/mm/tlb-sh4.c                          |  108 --
 arch/sh/mm/tlb-urb.c                          |   93 -
 arch/sh/mm/tlbex_32.c                         |   82 -
 arch/sh/mm/tlbflush_32.c                      |  137 --
 arch/sh/mm/uncached.c                         |   44 -
 arch/sh/tools/Makefile                        |   16 -
 arch/sh/tools/gen-mach-types                  |   48 -
 arch/sh/tools/mach-types                      |   67 -
 drivers/clocksource/sh_cmt.c                  |    8 -
 drivers/clocksource/sh_mtu2.c                 |    8 -
 drivers/clocksource/sh_tmu.c                  |    8 -
 drivers/i2c/busses/Kconfig                    |    4 +-
 drivers/media/platform/renesas/Kconfig        |    2 +-
 drivers/mmc/host/Kconfig                      |    6 +-
 drivers/mmc/host/sh_mmcif.c                   |   21 +-
 drivers/net/ethernet/8390/Kconfig             |    2 +-
 drivers/net/ethernet/renesas/Kconfig          |    2 +-
 drivers/net/ethernet/smsc/Kconfig             |    4 +-
 drivers/rtc/Kconfig                           |    4 +-
 drivers/rtc/rtc-sh.c                          |   18 +-
 drivers/spi/Kconfig                           |    4 +-
 drivers/tty/serial/Kconfig                    |    3 +-
 drivers/tty/serial/sh-sci.c                   |   57 -
 drivers/tty/vt/keyboard.c                     |    2 +-
 drivers/usb/renesas_usbhs/Kconfig             |    2 +-
 drivers/video/console/Kconfig                 |    2 +-
 drivers/video/logo/Kconfig                    |   15 -
 drivers/video/logo/Makefile                   |    3 -
 drivers/video/logo/logo.c                     |   12 -
 drivers/video/logo/logo_superh_clut224.ppm    | 1604 -----------------
 drivers/video/logo/logo_superh_vga16.ppm      | 1604 -----------------
 fs/Kconfig.binfmt                             |    2 +-
 fs/minix/Kconfig                              |    2 +-
 include/linux/cpuhotplug.h                    |    1 -
 include/linux/sh_intc.h                       |    4 -
 init/Kconfig                                  |    2 +-
 kernel/sysctl.c                               |    3 +-
 lib/Kconfig.debug                             |    2 +-
 lib/math/div64.c                              |    4 +-
 lib/test_user_copy.c                          |    3 +-
 scripts/coccinelle/misc/cond_no_effect.cocci  |   13 +-
 scripts/head-object-list.txt                  |    1 -
 sound/soc/sh/Kconfig                          |    4 +-
 tools/include/asm/barrier.h                   |    2 -
 tools/perf/util/dwarf-regs.c                  |    1 -
 785 files changed, 36 insertions(+), 97715 deletions(-)
 delete mode 100644 Documentation/sh/booting.rst
 delete mode 100644 Documentation/sh/features.rst
 delete mode 100644 Documentation/sh/index.rst
 delete mode 100644 Documentation/sh/new-machine.rst
 delete mode 100644 Documentation/sh/register-banks.rst
 delete mode 100644 arch/sh/Kbuild
 delete mode 100644 arch/sh/Kconfig
 delete mode 100644 arch/sh/Kconfig.cpu
 delete mode 100644 arch/sh/Kconfig.debug
 delete mode 100644 arch/sh/Makefile
 delete mode 100644 arch/sh/boards/Kconfig
 delete mode 100644 arch/sh/boards/Makefile
 delete mode 100644 arch/sh/boards/board-apsh4a3a.c
 delete mode 100644 arch/sh/boards/board-apsh4ad0a.c
 delete mode 100644 arch/sh/boards/board-edosk7705.c
 delete mode 100644 arch/sh/boards/board-edosk7760.c
 delete mode 100644 arch/sh/boards/board-espt.c
 delete mode 100644 arch/sh/boards/board-magicpanelr2.c
 delete mode 100644 arch/sh/boards/board-polaris.c
 delete mode 100644 arch/sh/boards/board-secureedge5410.c
 delete mode 100644 arch/sh/boards/board-sh2007.c
 delete mode 100644 arch/sh/boards/board-sh7757lcr.c
 delete mode 100644 arch/sh/boards/board-sh7785lcr.c
 delete mode 100644 arch/sh/boards/board-shmin.c
 delete mode 100644 arch/sh/boards/board-titan.c
 delete mode 100644 arch/sh/boards/board-urquell.c
 delete mode 100644 arch/sh/boards/mach-ap325rxa/Makefile
 delete mode 100644 arch/sh/boards/mach-ap325rxa/sdram.S
 delete mode 100644 arch/sh/boards/mach-ap325rxa/setup.c
 delete mode 100644 arch/sh/boards/mach-dreamcast/Makefile
 delete mode 100644 arch/sh/boards/mach-dreamcast/irq.c
 delete mode 100644 arch/sh/boards/mach-dreamcast/rtc.c
 delete mode 100644 arch/sh/boards/mach-dreamcast/setup.c
 delete mode 100644 arch/sh/boards/mach-ecovec24/Makefile
 delete mode 100644 arch/sh/boards/mach-ecovec24/sdram.S
 delete mode 100644 arch/sh/boards/mach-ecovec24/setup.c
 delete mode 100644 arch/sh/boards/mach-highlander/Kconfig
 delete mode 100644 arch/sh/boards/mach-highlander/Makefile
 delete mode 100644 arch/sh/boards/mach-highlander/irq-r7780mp.c
 delete mode 100644 arch/sh/boards/mach-highlander/irq-r7780rp.c
 delete mode 100644 arch/sh/boards/mach-highlander/irq-r7785rp.c
 delete mode 100644 arch/sh/boards/mach-highlander/pinmux-r7785rp.c
 delete mode 100644 arch/sh/boards/mach-highlander/psw.c
 delete mode 100644 arch/sh/boards/mach-highlander/setup.c
 delete mode 100644 arch/sh/boards/mach-hp6xx/Makefile
 delete mode 100644 arch/sh/boards/mach-hp6xx/hp6xx_apm.c
 delete mode 100644 arch/sh/boards/mach-hp6xx/pm.c
 delete mode 100644 arch/sh/boards/mach-hp6xx/pm_wakeup.S
 delete mode 100644 arch/sh/boards/mach-hp6xx/setup.c
 delete mode 100644 arch/sh/boards/mach-kfr2r09/Makefile
 delete mode 100644 arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
 delete mode 100644 arch/sh/boards/mach-kfr2r09/sdram.S
 delete mode 100644 arch/sh/boards/mach-kfr2r09/setup.c
 delete mode 100644 arch/sh/boards/mach-landisk/Makefile
 delete mode 100644 arch/sh/boards/mach-landisk/gio.c
 delete mode 100644 arch/sh/boards/mach-landisk/irq.c
 delete mode 100644 arch/sh/boards/mach-landisk/psw.c
 delete mode 100644 arch/sh/boards/mach-landisk/setup.c
 delete mode 100644 arch/sh/boards/mach-lboxre2/Makefile
 delete mode 100644 arch/sh/boards/mach-lboxre2/irq.c
 delete mode 100644 arch/sh/boards/mach-lboxre2/setup.c
 delete mode 100644 arch/sh/boards/mach-microdev/Makefile
 delete mode 100644 arch/sh/boards/mach-microdev/fdc37c93xapm.c
 delete mode 100644 arch/sh/boards/mach-microdev/io.c
 delete mode 100644 arch/sh/boards/mach-microdev/irq.c
 delete mode 100644 arch/sh/boards/mach-microdev/setup.c
 delete mode 100644 arch/sh/boards/mach-migor/Kconfig
 delete mode 100644 arch/sh/boards/mach-migor/Makefile
 delete mode 100644 arch/sh/boards/mach-migor/lcd_qvga.c
 delete mode 100644 arch/sh/boards/mach-migor/sdram.S
 delete mode 100644 arch/sh/boards/mach-migor/setup.c
 delete mode 100644 arch/sh/boards/mach-r2d/Kconfig
 delete mode 100644 arch/sh/boards/mach-r2d/Makefile
 delete mode 100644 arch/sh/boards/mach-r2d/irq.c
 delete mode 100644 arch/sh/boards/mach-r2d/setup.c
 delete mode 100644 arch/sh/boards/mach-rsk/Kconfig
 delete mode 100644 arch/sh/boards/mach-rsk/Makefile
 delete mode 100644 arch/sh/boards/mach-rsk/devices-rsk7203.c
 delete mode 100644 arch/sh/boards/mach-rsk/devices-rsk7264.c
 delete mode 100644 arch/sh/boards/mach-rsk/devices-rsk7269.c
 delete mode 100644 arch/sh/boards/mach-rsk/setup.c
 delete mode 100644 arch/sh/boards/mach-sdk7780/Kconfig
 delete mode 100644 arch/sh/boards/mach-sdk7780/Makefile
 delete mode 100644 arch/sh/boards/mach-sdk7780/irq.c
 delete mode 100644 arch/sh/boards/mach-sdk7780/setup.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/Makefile
 delete mode 100644 arch/sh/boards/mach-sdk7786/fpga.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/gpio.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/irq.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/nmi.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/setup.c
 delete mode 100644 arch/sh/boards/mach-sdk7786/sram.c
 delete mode 100644 arch/sh/boards/mach-se/7206/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7206/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7206/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7343/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7343/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7343/setup.c
 delete mode 100644 arch/sh/boards/mach-se/770x/Makefile
 delete mode 100644 arch/sh/boards/mach-se/770x/irq.c
 delete mode 100644 arch/sh/boards/mach-se/770x/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7721/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7721/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7721/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7722/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7722/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7722/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7724/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7724/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7724/sdram.S
 delete mode 100644 arch/sh/boards/mach-se/7724/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7751/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7751/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7751/setup.c
 delete mode 100644 arch/sh/boards/mach-se/7780/Makefile
 delete mode 100644 arch/sh/boards/mach-se/7780/irq.c
 delete mode 100644 arch/sh/boards/mach-se/7780/setup.c
 delete mode 100644 arch/sh/boards/mach-se/Makefile
 delete mode 100644 arch/sh/boards/mach-se/board-se7619.c
 delete mode 100644 arch/sh/boards/mach-sh03/Makefile
 delete mode 100644 arch/sh/boards/mach-sh03/rtc.c
 delete mode 100644 arch/sh/boards/mach-sh03/setup.c
 delete mode 100644 arch/sh/boards/mach-sh7763rdp/Makefile
 delete mode 100644 arch/sh/boards/mach-sh7763rdp/irq.c
 delete mode 100644 arch/sh/boards/mach-sh7763rdp/setup.c
 delete mode 100644 arch/sh/boards/mach-x3proto/Makefile
 delete mode 100644 arch/sh/boards/mach-x3proto/gpio.c
 delete mode 100644 arch/sh/boards/mach-x3proto/ilsel.c
 delete mode 100644 arch/sh/boards/mach-x3proto/setup.c
 delete mode 100644 arch/sh/boards/of-generic.c
 delete mode 100644 arch/sh/boot/.gitignore
 delete mode 100644 arch/sh/boot/Makefile
 delete mode 100644 arch/sh/boot/compressed/.gitignore
 delete mode 100644 arch/sh/boot/compressed/Makefile
 delete mode 100644 arch/sh/boot/compressed/ashiftrt.S
 delete mode 100644 arch/sh/boot/compressed/ashldi3.c
 delete mode 100644 arch/sh/boot/compressed/ashlsi3.S
 delete mode 100644 arch/sh/boot/compressed/ashrsi3.S
 delete mode 100644 arch/sh/boot/compressed/cache.c
 delete mode 100644 arch/sh/boot/compressed/head_32.S
 delete mode 100644 arch/sh/boot/compressed/head_64.S
 delete mode 100644 arch/sh/boot/compressed/lshrsi3.S
 delete mode 100644 arch/sh/boot/compressed/misc.c
 delete mode 100644 arch/sh/boot/compressed/vmlinux.scr
 delete mode 100644 arch/sh/boot/dts/Makefile
 delete mode 100644 arch/sh/boot/dts/j2_mimas_v2.dts
 delete mode 100644 arch/sh/boot/romimage/Makefile
 delete mode 100644 arch/sh/boot/romimage/head.S
 delete mode 100644 arch/sh/boot/romimage/mmcif-sh7724.c
 delete mode 100644 arch/sh/boot/romimage/vmlinux.scr
 delete mode 100644 arch/sh/cchips/Kconfig
 delete mode 100644 arch/sh/cchips/hd6446x/Makefile
 delete mode 100644 arch/sh/cchips/hd6446x/hd64461.c
 delete mode 100644 arch/sh/configs/ap325rxa_defconfig
 delete mode 100644 arch/sh/configs/apsh4a3a_defconfig
 delete mode 100644 arch/sh/configs/apsh4ad0a_defconfig
 delete mode 100644 arch/sh/configs/dreamcast_defconfig
 delete mode 100644 arch/sh/configs/ecovec24-romimage_defconfig
 delete mode 100644 arch/sh/configs/ecovec24_defconfig
 delete mode 100644 arch/sh/configs/edosk7705_defconfig
 delete mode 100644 arch/sh/configs/edosk7760_defconfig
 delete mode 100644 arch/sh/configs/espt_defconfig
 delete mode 100644 arch/sh/configs/hp6xx_defconfig
 delete mode 100644 arch/sh/configs/j2_defconfig
 delete mode 100644 arch/sh/configs/kfr2r09-romimage_defconfig
 delete mode 100644 arch/sh/configs/kfr2r09_defconfig
 delete mode 100644 arch/sh/configs/landisk_defconfig
 delete mode 100644 arch/sh/configs/lboxre2_defconfig
 delete mode 100644 arch/sh/configs/magicpanelr2_defconfig
 delete mode 100644 arch/sh/configs/microdev_defconfig
 delete mode 100644 arch/sh/configs/migor_defconfig
 delete mode 100644 arch/sh/configs/polaris_defconfig
 delete mode 100644 arch/sh/configs/r7780mp_defconfig
 delete mode 100644 arch/sh/configs/r7785rp_defconfig
 delete mode 100644 arch/sh/configs/rsk7201_defconfig
 delete mode 100644 arch/sh/configs/rsk7203_defconfig
 delete mode 100644 arch/sh/configs/rsk7264_defconfig
 delete mode 100644 arch/sh/configs/rsk7269_defconfig
 delete mode 100644 arch/sh/configs/rts7751r2d1_defconfig
 delete mode 100644 arch/sh/configs/rts7751r2dplus_defconfig
 delete mode 100644 arch/sh/configs/sdk7780_defconfig
 delete mode 100644 arch/sh/configs/sdk7786_defconfig
 delete mode 100644 arch/sh/configs/se7206_defconfig
 delete mode 100644 arch/sh/configs/se7343_defconfig
 delete mode 100644 arch/sh/configs/se7619_defconfig
 delete mode 100644 arch/sh/configs/se7705_defconfig
 delete mode 100644 arch/sh/configs/se7712_defconfig
 delete mode 100644 arch/sh/configs/se7721_defconfig
 delete mode 100644 arch/sh/configs/se7722_defconfig
 delete mode 100644 arch/sh/configs/se7724_defconfig
 delete mode 100644 arch/sh/configs/se7750_defconfig
 delete mode 100644 arch/sh/configs/se7751_defconfig
 delete mode 100644 arch/sh/configs/se7780_defconfig
 delete mode 100644 arch/sh/configs/secureedge5410_defconfig
 delete mode 100644 arch/sh/configs/sh03_defconfig
 delete mode 100644 arch/sh/configs/sh2007_defconfig
 delete mode 100644 arch/sh/configs/sh7710voipgw_defconfig
 delete mode 100644 arch/sh/configs/sh7724_generic_defconfig
 delete mode 100644 arch/sh/configs/sh7757lcr_defconfig
 delete mode 100644 arch/sh/configs/sh7763rdp_defconfig
 delete mode 100644 arch/sh/configs/sh7770_generic_defconfig
 delete mode 100644 arch/sh/configs/sh7785lcr_32bit_defconfig
 delete mode 100644 arch/sh/configs/sh7785lcr_defconfig
 delete mode 100644 arch/sh/configs/shmin_defconfig
 delete mode 100644 arch/sh/configs/shx3_defconfig
 delete mode 100644 arch/sh/configs/titan_defconfig
 delete mode 100644 arch/sh/configs/ul2_defconfig
 delete mode 100644 arch/sh/configs/urquell_defconfig
 delete mode 100644 arch/sh/drivers/Kconfig
 delete mode 100644 arch/sh/drivers/Makefile
 delete mode 100644 arch/sh/drivers/dma/Kconfig
 delete mode 100644 arch/sh/drivers/dma/Makefile
 delete mode 100644 arch/sh/drivers/dma/dma-api.c
 delete mode 100644 arch/sh/drivers/dma/dma-g2.c
 delete mode 100644 arch/sh/drivers/dma/dma-pvr2.c
 delete mode 100644 arch/sh/drivers/dma/dma-sh.c
 delete mode 100644 arch/sh/drivers/dma/dma-sysfs.c
 delete mode 100644 arch/sh/drivers/dma/dmabrg.c
 delete mode 100644 arch/sh/drivers/heartbeat.c
 delete mode 100644 arch/sh/drivers/pci/Makefile
 delete mode 100644 arch/sh/drivers/pci/common.c
 delete mode 100644 arch/sh/drivers/pci/fixups-dreamcast.c
 delete mode 100644 arch/sh/drivers/pci/fixups-landisk.c
 delete mode 100644 arch/sh/drivers/pci/fixups-r7780rp.c
 delete mode 100644 arch/sh/drivers/pci/fixups-rts7751r2d.c
 delete mode 100644 arch/sh/drivers/pci/fixups-sdk7780.c
 delete mode 100644 arch/sh/drivers/pci/fixups-sdk7786.c
 delete mode 100644 arch/sh/drivers/pci/fixups-se7751.c
 delete mode 100644 arch/sh/drivers/pci/fixups-sh03.c
 delete mode 100644 arch/sh/drivers/pci/fixups-snapgear.c
 delete mode 100644 arch/sh/drivers/pci/fixups-titan.c
 delete mode 100644 arch/sh/drivers/pci/ops-dreamcast.c
 delete mode 100644 arch/sh/drivers/pci/ops-sh4.c
 delete mode 100644 arch/sh/drivers/pci/ops-sh7786.c
 delete mode 100644 arch/sh/drivers/pci/pci-dreamcast.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh4.h
 delete mode 100644 arch/sh/drivers/pci/pci-sh7751.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh7751.h
 delete mode 100644 arch/sh/drivers/pci/pci-sh7780.c
 delete mode 100644 arch/sh/drivers/pci/pci-sh7780.h
 delete mode 100644 arch/sh/drivers/pci/pci.c
 delete mode 100644 arch/sh/drivers/pci/pcie-sh7786.c
 delete mode 100644 arch/sh/drivers/pci/pcie-sh7786.h
 delete mode 100644 arch/sh/drivers/platform_early.c
 delete mode 100644 arch/sh/drivers/push-switch.c
 delete mode 100644 arch/sh/drivers/superhyway/Makefile
 delete mode 100644 arch/sh/drivers/superhyway/ops-sh4-202.c
 delete mode 100644 arch/sh/include/asm/Kbuild
 delete mode 100644 arch/sh/include/asm/adc.h
 delete mode 100644 arch/sh/include/asm/addrspace.h
 delete mode 100644 arch/sh/include/asm/alignment.h
 delete mode 100644 arch/sh/include/asm/asm-offsets.h
 delete mode 100644 arch/sh/include/asm/atomic-grb.h
 delete mode 100644 arch/sh/include/asm/atomic-irq.h
 delete mode 100644 arch/sh/include/asm/atomic-llsc.h
 delete mode 100644 arch/sh/include/asm/atomic.h
 delete mode 100644 arch/sh/include/asm/barrier.h
 delete mode 100644 arch/sh/include/asm/bitops-cas.h
 delete mode 100644 arch/sh/include/asm/bitops-grb.h
 delete mode 100644 arch/sh/include/asm/bitops-llsc.h
 delete mode 100644 arch/sh/include/asm/bitops-op32.h
 delete mode 100644 arch/sh/include/asm/bitops.h
 delete mode 100644 arch/sh/include/asm/bl_bit.h
 delete mode 100644 arch/sh/include/asm/bl_bit_32.h
 delete mode 100644 arch/sh/include/asm/bug.h
 delete mode 100644 arch/sh/include/asm/bugs.h
 delete mode 100644 arch/sh/include/asm/cache.h
 delete mode 100644 arch/sh/include/asm/cache_insns.h
 delete mode 100644 arch/sh/include/asm/cache_insns_32.h
 delete mode 100644 arch/sh/include/asm/cacheflush.h
 delete mode 100644 arch/sh/include/asm/checksum.h
 delete mode 100644 arch/sh/include/asm/checksum_32.h
 delete mode 100644 arch/sh/include/asm/clock.h
 delete mode 100644 arch/sh/include/asm/cmpxchg-cas.h
 delete mode 100644 arch/sh/include/asm/cmpxchg-grb.h
 delete mode 100644 arch/sh/include/asm/cmpxchg-irq.h
 delete mode 100644 arch/sh/include/asm/cmpxchg-llsc.h
 delete mode 100644 arch/sh/include/asm/cmpxchg-xchg.h
 delete mode 100644 arch/sh/include/asm/cmpxchg.h
 delete mode 100644 arch/sh/include/asm/device.h
 delete mode 100644 arch/sh/include/asm/dma-register.h
 delete mode 100644 arch/sh/include/asm/dma.h
 delete mode 100644 arch/sh/include/asm/dmabrg.h
 delete mode 100644 arch/sh/include/asm/dwarf.h
 delete mode 100644 arch/sh/include/asm/elf.h
 delete mode 100644 arch/sh/include/asm/entry-macros.S
 delete mode 100644 arch/sh/include/asm/extable.h
 delete mode 100644 arch/sh/include/asm/fb.h
 delete mode 100644 arch/sh/include/asm/fixmap.h
 delete mode 100644 arch/sh/include/asm/flat.h
 delete mode 100644 arch/sh/include/asm/fpu.h
 delete mode 100644 arch/sh/include/asm/freq.h
 delete mode 100644 arch/sh/include/asm/ftrace.h
 delete mode 100644 arch/sh/include/asm/futex-cas.h
 delete mode 100644 arch/sh/include/asm/futex-irq.h
 delete mode 100644 arch/sh/include/asm/futex-llsc.h
 delete mode 100644 arch/sh/include/asm/futex.h
 delete mode 100644 arch/sh/include/asm/gpio.h
 delete mode 100644 arch/sh/include/asm/hardirq.h
 delete mode 100644 arch/sh/include/asm/hd64461.h
 delete mode 100644 arch/sh/include/asm/heartbeat.h
 delete mode 100644 arch/sh/include/asm/hugetlb.h
 delete mode 100644 arch/sh/include/asm/hw_breakpoint.h
 delete mode 100644 arch/sh/include/asm/hw_irq.h
 delete mode 100644 arch/sh/include/asm/i2c-sh7760.h
 delete mode 100644 arch/sh/include/asm/io.h
 delete mode 100644 arch/sh/include/asm/io_generic.h
 delete mode 100644 arch/sh/include/asm/io_noioport.h
 delete mode 100644 arch/sh/include/asm/io_trapped.h
 delete mode 100644 arch/sh/include/asm/irq.h
 delete mode 100644 arch/sh/include/asm/irqflags.h
 delete mode 100644 arch/sh/include/asm/kdebug.h
 delete mode 100644 arch/sh/include/asm/kexec.h
 delete mode 100644 arch/sh/include/asm/kgdb.h
 delete mode 100644 arch/sh/include/asm/kprobes.h
 delete mode 100644 arch/sh/include/asm/linkage.h
 delete mode 100644 arch/sh/include/asm/machvec.h
 delete mode 100644 arch/sh/include/asm/mmiowb.h
 delete mode 100644 arch/sh/include/asm/mmu.h
 delete mode 100644 arch/sh/include/asm/mmu_context.h
 delete mode 100644 arch/sh/include/asm/mmu_context_32.h
 delete mode 100644 arch/sh/include/asm/mmzone.h
 delete mode 100644 arch/sh/include/asm/module.h
 delete mode 100644 arch/sh/include/asm/page.h
 delete mode 100644 arch/sh/include/asm/pci.h
 delete mode 100644 arch/sh/include/asm/perf_event.h
 delete mode 100644 arch/sh/include/asm/pgalloc.h
 delete mode 100644 arch/sh/include/asm/pgtable-2level.h
 delete mode 100644 arch/sh/include/asm/pgtable-3level.h
 delete mode 100644 arch/sh/include/asm/pgtable.h
 delete mode 100644 arch/sh/include/asm/pgtable_32.h
 delete mode 100644 arch/sh/include/asm/platform_early.h
 delete mode 100644 arch/sh/include/asm/posix_types.h
 delete mode 100644 arch/sh/include/asm/processor.h
 delete mode 100644 arch/sh/include/asm/processor_32.h
 delete mode 100644 arch/sh/include/asm/ptrace.h
 delete mode 100644 arch/sh/include/asm/ptrace_32.h
 delete mode 100644 arch/sh/include/asm/push-switch.h
 delete mode 100644 arch/sh/include/asm/reboot.h
 delete mode 100644 arch/sh/include/asm/romimage-macros.h
 delete mode 100644 arch/sh/include/asm/rtc.h
 delete mode 100644 arch/sh/include/asm/seccomp.h
 delete mode 100644 arch/sh/include/asm/sections.h
 delete mode 100644 arch/sh/include/asm/setup.h
 delete mode 100644 arch/sh/include/asm/sfp-machine.h
 delete mode 100644 arch/sh/include/asm/sh7760fb.h
 delete mode 100644 arch/sh/include/asm/sh_bios.h
 delete mode 100644 arch/sh/include/asm/shmparam.h
 delete mode 100644 arch/sh/include/asm/siu.h
 delete mode 100644 arch/sh/include/asm/smc37c93x.h
 delete mode 100644 arch/sh/include/asm/smp-ops.h
 delete mode 100644 arch/sh/include/asm/smp.h
 delete mode 100644 arch/sh/include/asm/sparsemem.h
 delete mode 100644 arch/sh/include/asm/spi.h
 delete mode 100644 arch/sh/include/asm/spinlock-cas.h
 delete mode 100644 arch/sh/include/asm/spinlock-llsc.h
 delete mode 100644 arch/sh/include/asm/spinlock.h
 delete mode 100644 arch/sh/include/asm/spinlock_types.h
 delete mode 100644 arch/sh/include/asm/sram.h
 delete mode 100644 arch/sh/include/asm/stackprotector.h
 delete mode 100644 arch/sh/include/asm/stacktrace.h
 delete mode 100644 arch/sh/include/asm/string.h
 delete mode 100644 arch/sh/include/asm/string_32.h
 delete mode 100644 arch/sh/include/asm/suspend.h
 delete mode 100644 arch/sh/include/asm/switch_to.h
 delete mode 100644 arch/sh/include/asm/switch_to_32.h
 delete mode 100644 arch/sh/include/asm/syscall.h
 delete mode 100644 arch/sh/include/asm/syscall_32.h
 delete mode 100644 arch/sh/include/asm/syscalls.h
 delete mode 100644 arch/sh/include/asm/syscalls_32.h
 delete mode 100644 arch/sh/include/asm/thread_info.h
 delete mode 100644 arch/sh/include/asm/timex.h
 delete mode 100644 arch/sh/include/asm/tlb.h
 delete mode 100644 arch/sh/include/asm/tlbflush.h
 delete mode 100644 arch/sh/include/asm/topology.h
 delete mode 100644 arch/sh/include/asm/traps.h
 delete mode 100644 arch/sh/include/asm/traps_32.h
 delete mode 100644 arch/sh/include/asm/types.h
 delete mode 100644 arch/sh/include/asm/uaccess.h
 delete mode 100644 arch/sh/include/asm/uaccess_32.h
 delete mode 100644 arch/sh/include/asm/uncached.h
 delete mode 100644 arch/sh/include/asm/unistd.h
 delete mode 100644 arch/sh/include/asm/unwinder.h
 delete mode 100644 arch/sh/include/asm/user.h
 delete mode 100644 arch/sh/include/asm/vermagic.h
 delete mode 100644 arch/sh/include/asm/vga.h
 delete mode 100644 arch/sh/include/asm/vmalloc.h
 delete mode 100644 arch/sh/include/asm/vmlinux.lds.h
 delete mode 100644 arch/sh/include/asm/watchdog.h
 delete mode 100644 arch/sh/include/asm/word-at-a-time.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/addrspace.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/mmu_context.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/pfc.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/rtc.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/sigcontext.h
 delete mode 100644 arch/sh/include/cpu-common/cpu/timer.h
 delete mode 100644 arch/sh/include/cpu-sh2/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh2/cpu/freq.h
 delete mode 100644 arch/sh/include/cpu-sh2/cpu/watchdog.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/addrspace.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/freq.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/rtc.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/sh7203.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/sh7264.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/sh7269.h
 delete mode 100644 arch/sh/include/cpu-sh2a/cpu/watchdog.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/adc.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/dac.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/dma-register.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/dma.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/freq.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/gpio.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/mmu_context.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/serial.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/sh7720.h
 delete mode 100644 arch/sh/include/cpu-sh3/cpu/watchdog.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/addrspace.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/cache.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/dma-register.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/dma.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/fpu.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/freq.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/mmu_context.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/rtc.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7722.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7723.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7724.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7734.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7757.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7785.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sh7786.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/shx3.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sigcontext.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/sq.h
 delete mode 100644 arch/sh/include/cpu-sh4/cpu/watchdog.h
 delete mode 100644 arch/sh/include/cpu-sh4a/cpu/dma.h
 delete mode 100644 arch/sh/include/cpu-sh4a/cpu/serial.h
 delete mode 100644 arch/sh/include/mach-common/mach/highlander.h
 delete mode 100644 arch/sh/include/mach-common/mach/hp6xx.h
 delete mode 100644 arch/sh/include/mach-common/mach/lboxre2.h
 delete mode 100644 arch/sh/include/mach-common/mach/magicpanelr2.h
 delete mode 100644 arch/sh/include/mach-common/mach/mangle-port.h
 delete mode 100644 arch/sh/include/mach-common/mach/microdev.h
 delete mode 100644 arch/sh/include/mach-common/mach/r2d.h
 delete mode 100644 arch/sh/include/mach-common/mach/romimage.h
 delete mode 100644 arch/sh/include/mach-common/mach/sdk7780.h
 delete mode 100644 arch/sh/include/mach-common/mach/secureedge5410.h
 delete mode 100644 arch/sh/include/mach-common/mach/sh2007.h
 delete mode 100644 arch/sh/include/mach-common/mach/sh7763rdp.h
 delete mode 100644 arch/sh/include/mach-common/mach/sh7785lcr.h
 delete mode 100644 arch/sh/include/mach-common/mach/shmin.h
 delete mode 100644 arch/sh/include/mach-common/mach/titan.h
 delete mode 100644 arch/sh/include/mach-common/mach/urquell.h
 delete mode 100644 arch/sh/include/mach-dreamcast/mach/dma.h
 delete mode 100644 arch/sh/include/mach-dreamcast/mach/maple.h
 delete mode 100644 arch/sh/include/mach-dreamcast/mach/pci.h
 delete mode 100644 arch/sh/include/mach-dreamcast/mach/sysasic.h
 delete mode 100644 arch/sh/include/mach-ecovec24/mach/partner-jet-setup.txt
 delete mode 100644 arch/sh/include/mach-ecovec24/mach/romimage.h
 delete mode 100644 arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
 delete mode 100644 arch/sh/include/mach-kfr2r09/mach/partner-jet-setup.txt
 delete mode 100644 arch/sh/include/mach-kfr2r09/mach/romimage.h
 delete mode 100644 arch/sh/include/mach-landisk/mach/gio.h
 delete mode 100644 arch/sh/include/mach-landisk/mach/iodata_landisk.h
 delete mode 100644 arch/sh/include/mach-migor/mach/migor.h
 delete mode 100644 arch/sh/include/mach-sdk7786/mach/fpga.h
 delete mode 100644 arch/sh/include/mach-sdk7786/mach/irq.h
 delete mode 100644 arch/sh/include/mach-se/mach/mrshpc.h
 delete mode 100644 arch/sh/include/mach-se/mach/se.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7206.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7343.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7721.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7722.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7724.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7751.h
 delete mode 100644 arch/sh/include/mach-se/mach/se7780.h
 delete mode 100644 arch/sh/include/mach-sh03/mach/io.h
 delete mode 100644 arch/sh/include/mach-sh03/mach/sh03.h
 delete mode 100644 arch/sh/include/mach-x3proto/mach/hardware.h
 delete mode 100644 arch/sh/include/mach-x3proto/mach/ilsel.h
 delete mode 100644 arch/sh/include/uapi/asm/Kbuild
 delete mode 100644 arch/sh/include/uapi/asm/auxvec.h
 delete mode 100644 arch/sh/include/uapi/asm/byteorder.h
 delete mode 100644 arch/sh/include/uapi/asm/cachectl.h
 delete mode 100644 arch/sh/include/uapi/asm/cpu-features.h
 delete mode 100644 arch/sh/include/uapi/asm/hw_breakpoint.h
 delete mode 100644 arch/sh/include/uapi/asm/ioctls.h
 delete mode 100644 arch/sh/include/uapi/asm/posix_types.h
 delete mode 100644 arch/sh/include/uapi/asm/posix_types_32.h
 delete mode 100644 arch/sh/include/uapi/asm/ptrace.h
 delete mode 100644 arch/sh/include/uapi/asm/ptrace_32.h
 delete mode 100644 arch/sh/include/uapi/asm/sigcontext.h
 delete mode 100644 arch/sh/include/uapi/asm/signal.h
 delete mode 100644 arch/sh/include/uapi/asm/sockios.h
 delete mode 100644 arch/sh/include/uapi/asm/stat.h
 delete mode 100644 arch/sh/include/uapi/asm/swab.h
 delete mode 100644 arch/sh/include/uapi/asm/unistd.h
 delete mode 100644 arch/sh/kernel/.gitignore
 delete mode 100644 arch/sh/kernel/Makefile
 delete mode 100644 arch/sh/kernel/asm-offsets.c
 delete mode 100644 arch/sh/kernel/cpu/Makefile
 delete mode 100644 arch/sh/kernel/cpu/adc.c
 delete mode 100644 arch/sh/kernel/cpu/clock-cpg.c
 delete mode 100644 arch/sh/kernel/cpu/clock.c
 delete mode 100644 arch/sh/kernel/cpu/fpu.c
 delete mode 100644 arch/sh/kernel/cpu/init.c
 delete mode 100644 arch/sh/kernel/cpu/irq/Makefile
 delete mode 100644 arch/sh/kernel/cpu/irq/imask.c
 delete mode 100644 arch/sh/kernel/cpu/irq/ipr.c
 delete mode 100644 arch/sh/kernel/cpu/pfc.c
 delete mode 100644 arch/sh/kernel/cpu/proc.c
 delete mode 100644 arch/sh/kernel/cpu/sh2/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh2/clock-sh7619.c
 delete mode 100644 arch/sh/kernel/cpu/sh2/entry.S
 delete mode 100644 arch/sh/kernel/cpu/sh2/ex.S
 delete mode 100644 arch/sh/kernel/cpu/sh2/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh2/setup-sh7619.c
 delete mode 100644 arch/sh/kernel/cpu/sh2/smp-j2.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh2a/clock-sh7201.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/clock-sh7203.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/clock-sh7206.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/clock-sh7264.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/clock-sh7269.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/entry.S
 delete mode 100644 arch/sh/kernel/cpu/sh2a/ex.S
 delete mode 100644 arch/sh/kernel/cpu/sh2a/fpu.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/opcode_helper.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/pinmux-sh7203.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/pinmux-sh7264.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-mxg.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-sh7201.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-sh7203.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-sh7206.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-sh7264.c
 delete mode 100644 arch/sh/kernel/cpu/sh2a/setup-sh7269.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh3.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh7705.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh7706.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh7709.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh7710.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/clock-sh7712.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/entry.S
 delete mode 100644 arch/sh/kernel/cpu/sh3/ex.S
 delete mode 100644 arch/sh/kernel/cpu/sh3/pinmux-sh7720.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/serial-sh770x.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/serial-sh7710.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/serial-sh7720.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/setup-sh3.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/setup-sh7705.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/setup-sh770x.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/setup-sh7710.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/setup-sh7720.c
 delete mode 100644 arch/sh/kernel/cpu/sh3/swsusp.S
 delete mode 100644 arch/sh/kernel/cpu/sh4/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh4/clock-sh4-202.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/clock-sh4.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/fpu.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/perf_event.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/probe.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/setup-sh4-202.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/setup-sh7750.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/setup-sh7760.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/softfloat.c
 delete mode 100644 arch/sh/kernel/cpu/sh4/sq.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/Makefile
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7343.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7366.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7722.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7723.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7724.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7734.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7757.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7763.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7770.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7780.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7785.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-sh7786.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/clock-shx3.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/intc-shx3.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/perf_event.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7722.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7723.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7724.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7734.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7757.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7785.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/pinmux-shx3.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/serial-sh7722.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7343.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7366.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7722.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7723.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7724.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7734.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7757.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7763.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7770.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7780.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7785.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-sh7786.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/setup-shx3.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/smp-shx3.c
 delete mode 100644 arch/sh/kernel/cpu/sh4a/ubc.c
 delete mode 100644 arch/sh/kernel/cpu/shmobile/Makefile
 delete mode 100644 arch/sh/kernel/cpu/shmobile/cpuidle.c
 delete mode 100644 arch/sh/kernel/cpu/shmobile/pm.c
 delete mode 100644 arch/sh/kernel/cpu/shmobile/sleep.S
 delete mode 100644 arch/sh/kernel/crash_dump.c
 delete mode 100644 arch/sh/kernel/debugtraps.S
 delete mode 100644 arch/sh/kernel/disassemble.c
 delete mode 100644 arch/sh/kernel/dma-coherent.c
 delete mode 100644 arch/sh/kernel/dumpstack.c
 delete mode 100644 arch/sh/kernel/dwarf.c
 delete mode 100644 arch/sh/kernel/entry-common.S
 delete mode 100644 arch/sh/kernel/ftrace.c
 delete mode 100644 arch/sh/kernel/head_32.S
 delete mode 100644 arch/sh/kernel/hw_breakpoint.c
 delete mode 100644 arch/sh/kernel/idle.c
 delete mode 100644 arch/sh/kernel/io.c
 delete mode 100644 arch/sh/kernel/io_trapped.c
 delete mode 100644 arch/sh/kernel/iomap.c
 delete mode 100644 arch/sh/kernel/ioport.c
 delete mode 100644 arch/sh/kernel/irq.c
 delete mode 100644 arch/sh/kernel/irq_32.c
 delete mode 100644 arch/sh/kernel/kdebugfs.c
 delete mode 100644 arch/sh/kernel/kgdb.c
 delete mode 100644 arch/sh/kernel/kprobes.c
 delete mode 100644 arch/sh/kernel/machine_kexec.c
 delete mode 100644 arch/sh/kernel/machvec.c
 delete mode 100644 arch/sh/kernel/module.c
 delete mode 100644 arch/sh/kernel/nmi_debug.c
 delete mode 100644 arch/sh/kernel/perf_callchain.c
 delete mode 100644 arch/sh/kernel/perf_event.c
 delete mode 100644 arch/sh/kernel/process.c
 delete mode 100644 arch/sh/kernel/process_32.c
 delete mode 100644 arch/sh/kernel/ptrace.c
 delete mode 100644 arch/sh/kernel/ptrace_32.c
 delete mode 100644 arch/sh/kernel/reboot.c
 delete mode 100644 arch/sh/kernel/relocate_kernel.S
 delete mode 100644 arch/sh/kernel/return_address.c
 delete mode 100644 arch/sh/kernel/setup.c
 delete mode 100644 arch/sh/kernel/sh_bios.c
 delete mode 100644 arch/sh/kernel/sh_ksyms_32.c
 delete mode 100644 arch/sh/kernel/signal_32.c
 delete mode 100644 arch/sh/kernel/smp.c
 delete mode 100644 arch/sh/kernel/stacktrace.c
 delete mode 100644 arch/sh/kernel/swsusp.c
 delete mode 100644 arch/sh/kernel/sys_sh.c
 delete mode 100644 arch/sh/kernel/sys_sh32.c
 delete mode 100644 arch/sh/kernel/syscalls/Makefile
 delete mode 100644 arch/sh/kernel/syscalls/syscall.tbl
 delete mode 100644 arch/sh/kernel/syscalls_32.S
 delete mode 100644 arch/sh/kernel/time.c
 delete mode 100644 arch/sh/kernel/topology.c
 delete mode 100644 arch/sh/kernel/traps.c
 delete mode 100644 arch/sh/kernel/traps_32.c
 delete mode 100644 arch/sh/kernel/unwinder.c
 delete mode 100644 arch/sh/kernel/vmlinux.lds.S
 delete mode 100644 arch/sh/kernel/vsyscall/.gitignore
 delete mode 100644 arch/sh/kernel/vsyscall/Makefile
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall-note.S
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall-sigreturn.S
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall-syscall.S
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall-trapa.S
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall.c
 delete mode 100644 arch/sh/kernel/vsyscall/vsyscall.lds.S
 delete mode 100644 arch/sh/lib/Makefile
 delete mode 100644 arch/sh/lib/__clear_user.S
 delete mode 100644 arch/sh/lib/ashiftrt.S
 delete mode 100644 arch/sh/lib/ashldi3.c
 delete mode 100644 arch/sh/lib/ashlsi3.S
 delete mode 100644 arch/sh/lib/ashrdi3.c
 delete mode 100644 arch/sh/lib/ashrsi3.S
 delete mode 100644 arch/sh/lib/checksum.S
 delete mode 100644 arch/sh/lib/copy_page.S
 delete mode 100644 arch/sh/lib/delay.c
 delete mode 100644 arch/sh/lib/div64-generic.c
 delete mode 100644 arch/sh/lib/div64.S
 delete mode 100644 arch/sh/lib/io.c
 delete mode 100644 arch/sh/lib/libgcc.h
 delete mode 100644 arch/sh/lib/lshrdi3.c
 delete mode 100644 arch/sh/lib/lshrsi3.S
 delete mode 100644 arch/sh/lib/mcount.S
 delete mode 100644 arch/sh/lib/memchr.S
 delete mode 100644 arch/sh/lib/memcpy-sh4.S
 delete mode 100644 arch/sh/lib/memcpy.S
 delete mode 100644 arch/sh/lib/memmove.S
 delete mode 100644 arch/sh/lib/memset-sh4.S
 delete mode 100644 arch/sh/lib/memset.S
 delete mode 100644 arch/sh/lib/movmem.S
 delete mode 100644 arch/sh/lib/strlen.S
 delete mode 100644 arch/sh/lib/udiv_qrnnd.S
 delete mode 100644 arch/sh/lib/udivsi3.S
 delete mode 100644 arch/sh/lib/udivsi3_i4i-Os.S
 delete mode 100644 arch/sh/lib/udivsi3_i4i.S
 delete mode 100644 arch/sh/math-emu/Makefile
 delete mode 100644 arch/sh/math-emu/math.c
 delete mode 100644 arch/sh/math-emu/sfp-util.h
 delete mode 100644 arch/sh/mm/Kconfig
 delete mode 100644 arch/sh/mm/Makefile
 delete mode 100644 arch/sh/mm/alignment.c
 delete mode 100644 arch/sh/mm/asids-debugfs.c
 delete mode 100644 arch/sh/mm/cache-debugfs.c
 delete mode 100644 arch/sh/mm/cache-j2.c
 delete mode 100644 arch/sh/mm/cache-sh2.c
 delete mode 100644 arch/sh/mm/cache-sh2a.c
 delete mode 100644 arch/sh/mm/cache-sh3.c
 delete mode 100644 arch/sh/mm/cache-sh4.c
 delete mode 100644 arch/sh/mm/cache-sh7705.c
 delete mode 100644 arch/sh/mm/cache-shx3.c
 delete mode 100644 arch/sh/mm/cache.c
 delete mode 100644 arch/sh/mm/consistent.c
 delete mode 100644 arch/sh/mm/extable_32.c
 delete mode 100644 arch/sh/mm/fault.c
 delete mode 100644 arch/sh/mm/flush-sh4.c
 delete mode 100644 arch/sh/mm/hugetlbpage.c
 delete mode 100644 arch/sh/mm/init.c
 delete mode 100644 arch/sh/mm/ioremap.c
 delete mode 100644 arch/sh/mm/ioremap.h
 delete mode 100644 arch/sh/mm/ioremap_fixed.c
 delete mode 100644 arch/sh/mm/kmap.c
 delete mode 100644 arch/sh/mm/mmap.c
 delete mode 100644 arch/sh/mm/nommu.c
 delete mode 100644 arch/sh/mm/numa.c
 delete mode 100644 arch/sh/mm/pgtable.c
 delete mode 100644 arch/sh/mm/pmb.c
 delete mode 100644 arch/sh/mm/sram.c
 delete mode 100644 arch/sh/mm/tlb-debugfs.c
 delete mode 100644 arch/sh/mm/tlb-pteaex.c
 delete mode 100644 arch/sh/mm/tlb-sh3.c
 delete mode 100644 arch/sh/mm/tlb-sh4.c
 delete mode 100644 arch/sh/mm/tlb-urb.c
 delete mode 100644 arch/sh/mm/tlbex_32.c
 delete mode 100644 arch/sh/mm/tlbflush_32.c
 delete mode 100644 arch/sh/mm/uncached.c
 delete mode 100644 arch/sh/tools/Makefile
 delete mode 100644 arch/sh/tools/gen-mach-types
 delete mode 100644 arch/sh/tools/mach-types
 delete mode 100644 drivers/video/logo/logo_superh_clut224.ppm
 delete mode 100644 drivers/video/logo/logo_superh_vga16.ppm

diff --git a/Documentation/arch.rst b/Documentation/arch.rst
index 41a66a8b38e424..18669458eec4dd 100644
--- a/Documentation/arch.rst
+++ b/Documentation/arch.rst
@@ -22,7 +22,6 @@ implementation.
    powerpc/index
    riscv/index
    s390/index
-   sh/index
    sparc/index
    x86/index
    xtensa/index
diff --git a/Documentation/sh/booting.rst b/Documentation/sh/booting.rst
deleted file mode 100644
index d851c49a01bf07..00000000000000
--- a/Documentation/sh/booting.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-DeviceTree Booting
-------------------
-
-  Device-tree compatible SH bootloaders are expected to provide the physical
-  address of the device tree blob in r4. Since legacy bootloaders did not
-  guarantee any particular initial register state, kernels built to
-  inter-operate with old bootloaders must either use a builtin DTB or
-  select a legacy board option (something other than CONFIG_SH_DEVICE_TREE)
-  that does not use device tree. Support for the latter is being phased out
-  in favor of device tree.
diff --git a/Documentation/sh/features.rst b/Documentation/sh/features.rst
deleted file mode 100644
index f722af3b6c9934..00000000000000
--- a/Documentation/sh/features.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-.. kernel-feat:: $srctree/Documentation/features sh
diff --git a/Documentation/sh/index.rst b/Documentation/sh/index.rst
deleted file mode 100644
index c64776738cf6b2..00000000000000
--- a/Documentation/sh/index.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-=======================
-SuperH Interfaces Guide
-=======================
-
-:Author: Paul Mundt
-
-.. toctree::
-    :maxdepth: 1
-
-    booting
-    new-machine
-    register-banks
-
-    features
-
-Memory Management
-=================
-
-SH-4
-----
-
-Store Queue API
-~~~~~~~~~~~~~~~
-
-.. kernel-doc:: arch/sh/kernel/cpu/sh4/sq.c
-   :export:
-
-Machine Specific Interfaces
-===========================
-
-mach-dreamcast
---------------
-
-.. kernel-doc:: arch/sh/boards/mach-dreamcast/rtc.c
-   :internal:
-
-mach-x3proto
-------------
-
-.. kernel-doc:: arch/sh/boards/mach-x3proto/ilsel.c
-   :export:
-
-Busses
-======
-
-SuperHyway
-----------
-
-.. kernel-doc:: drivers/sh/superhyway/superhyway.c
-   :export:
-
-Maple
------
-
-.. kernel-doc:: drivers/sh/maple/maple.c
-   :export:
diff --git a/Documentation/sh/new-machine.rst b/Documentation/sh/new-machine.rst
deleted file mode 100644
index e501c52b3b30d2..00000000000000
--- a/Documentation/sh/new-machine.rst
+++ /dev/null
@@ -1,277 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-=============================
-Adding a new board to LinuxSH
-=============================
-
-               Paul Mundt <lethal at linux-sh.org>
-
-This document attempts to outline what steps are necessary to add support
-for new boards to the LinuxSH port under the new 2.5 and 2.6 kernels. This
-also attempts to outline some of the noticeable changes between the 2.4
-and the 2.5/2.6 SH backend.
-
-1. New Directory Structure
-==========================
-
-The first thing to note is the new directory structure. Under 2.4, most
-of the board-specific code (with the exception of stboards) ended up
-in arch/sh/kernel/ directly, with board-specific headers ending up in
-include/asm-sh/. For the new kernel, things are broken out by board type,
-companion chip type, and CPU type. Looking at a tree view of this directory
-hierarchy looks like the following:
-
-Board-specific code::
-
-    .
-    |-- arch
-    |   `-- sh
-    |       `-- boards
-    |           |-- adx
-    |           |   `-- board-specific files
-    |           |-- bigsur
-    |           |   `-- board-specific files
-    |           |
-    |           ... more boards here ...
-    |
-    `-- include
-	`-- asm-sh
-	    |-- adx
-	    |   `-- board-specific headers
-	    |-- bigsur
-	    |   `-- board-specific headers
-	    |
-	    .. more boards here ...
-
-Next, for companion chips::
-
-    .
-    `-- arch
-	`-- sh
-	    `-- cchips
-		`-- hd6446x
-		    `-- hd64461
-			`-- cchip-specific files
-
-... and so on. Headers for the companion chips are treated the same way as
-board-specific headers. Thus, include/asm-sh/hd64461 is home to all of the
-hd64461-specific headers.
-
-Finally, CPU family support is also abstracted::
-
-    .
-    |-- arch
-    |   `-- sh
-    |       |-- kernel
-    |       |   `-- cpu
-    |       |       |-- sh2
-    |       |       |   `-- SH-2 generic files
-    |       |       |-- sh3
-    |       |       |   `-- SH-3 generic files
-    |       |       `-- sh4
-    |       |           `-- SH-4 generic files
-    |       `-- mm
-    |           `-- This is also broken out per CPU family, so each family can
-    |               have their own set of cache/tlb functions.
-    |
-    `-- include
-	`-- asm-sh
-	    |-- cpu-sh2
-	    |   `-- SH-2 specific headers
-	    |-- cpu-sh3
-	    |   `-- SH-3 specific headers
-	    `-- cpu-sh4
-		`-- SH-4 specific headers
-
-It should be noted that CPU subtypes are _not_ abstracted. Thus, these still
-need to be dealt with by the CPU family specific code.
-
-2. Adding a New Board
-=====================
-
-The first thing to determine is whether the board you are adding will be
-isolated, or whether it will be part of a family of boards that can mostly
-share the same board-specific code with minor differences.
-
-In the first case, this is just a matter of making a directory for your
-board in arch/sh/boards/ and adding rules to hook your board in with the
-build system (more on this in the next section). However, for board families
-it makes more sense to have a common top-level arch/sh/boards/ directory
-and then populate that with sub-directories for each member of the family.
-Both the Solution Engine and the hp6xx boards are an example of this.
-
-After you have setup your new arch/sh/boards/ directory, remember that you
-should also add a directory in include/asm-sh for headers localized to this
-board (if there are going to be more than one). In order to interoperate
-seamlessly with the build system, it's best to have this directory the same
-as the arch/sh/boards/ directory name, though if your board is again part of
-a family, the build system has ways of dealing with this (via incdir-y
-overloading), and you can feel free to name the directory after the family
-member itself.
-
-There are a few things that each board is required to have, both in the
-arch/sh/boards and the include/asm-sh/ hierarchy. In order to better
-explain this, we use some examples for adding an imaginary board. For
-setup code, we're required at the very least to provide definitions for
-get_system_type() and platform_setup(). For our imaginary board, this
-might look something like::
-
-    /*
-    * arch/sh/boards/vapor/setup.c - Setup code for imaginary board
-    */
-    #include <linux/init.h>
-
-    const char *get_system_type(void)
-    {
-	    return "FooTech Vaporboard";
-    }
-
-    int __init platform_setup(void)
-    {
-	    /*
-	    * If our hardware actually existed, we would do real
-	    * setup here. Though it's also sane to leave this empty
-	    * if there's no real init work that has to be done for
-	    * this board.
-	    */
-
-	    /* Start-up imaginary PCI ... */
-
-	    /* And whatever else ... */
-
-	    return 0;
-    }
-
-Our new imaginary board will also have to tie into the machvec in order for it
-to be of any use.
-
-machvec functions fall into a number of categories:
-
- - I/O functions to IO memory (inb etc) and PCI/main memory (readb etc).
- - I/O mapping functions (ioport_map, ioport_unmap, etc).
- - a 'heartbeat' function.
- - PCI and IRQ initialization routines.
- - Consistent allocators (for boards that need special allocators,
-   particularly for allocating out of some board-specific SRAM for DMA
-   handles).
-
-There are machvec functions added and removed over time, so always be sure to
-consult include/asm-sh/machvec.h for the current state of the machvec.
-
-The kernel will automatically wrap in generic routines for undefined function
-pointers in the machvec at boot time, as machvec functions are referenced
-unconditionally throughout most of the tree. Some boards have incredibly
-sparse machvecs (such as the dreamcast and sh03), whereas others must define
-virtually everything (rts7751r2d).
-
-Adding a new machine is relatively trivial (using vapor as an example):
-
-If the board-specific definitions are quite minimalistic, as is the case for
-the vast majority of boards, simply having a single board-specific header is
-sufficient.
-
- - add a new file include/asm-sh/vapor.h which contains prototypes for
-   any machine specific IO functions prefixed with the machine name, for
-   example vapor_inb. These will be needed when filling out the machine
-   vector.
-
-   Note that these prototypes are generated automatically by setting
-   __IO_PREFIX to something sensible. A typical example would be::
-
-	#define __IO_PREFIX vapor
-	#include <asm/io_generic.h>
-
-   somewhere in the board-specific header. Any boards being ported that still
-   have a legacy io.h should remove it entirely and switch to the new model.
-
- - Add machine vector definitions to the board's setup.c. At a bare minimum,
-   this must be defined as something like::
-
-	struct sh_machine_vector mv_vapor __initmv = {
-		.mv_name = "vapor",
-	};
-	ALIAS_MV(vapor)
-
- - finally add a file arch/sh/boards/vapor/io.c, which contains definitions of
-   the machine specific io functions (if there are enough to warrant it).
-
-3. Hooking into the Build System
-================================
-
-Now that we have the corresponding directories setup, and all of the
-board-specific code is in place, it's time to look at how to get the
-whole mess to fit into the build system.
-
-Large portions of the build system are now entirely dynamic, and merely
-require the proper entry here and there in order to get things done.
-
-The first thing to do is to add an entry to arch/sh/Kconfig, under the
-"System type" menu::
-
-    config SH_VAPOR
-	    bool "Vapor"
-	    help
-	    select Vapor if configuring for a FooTech Vaporboard.
-
-next, this has to be added into arch/sh/Makefile. All boards require a
-machdir-y entry in order to be built. This entry needs to be the name of
-the board directory as it appears in arch/sh/boards, even if it is in a
-sub-directory (in which case, all parent directories below arch/sh/boards/
-need to be listed). For our new board, this entry can look like::
-
-    machdir-$(CONFIG_SH_VAPOR)	+= vapor
-
-provided that we've placed everything in the arch/sh/boards/vapor/ directory.
-
-Next, the build system assumes that your include/asm-sh directory will also
-be named the same. If this is not the case (as is the case with multiple
-boards belonging to a common family), then the directory name needs to be
-implicitly appended to incdir-y. The existing code manages this for the
-Solution Engine and hp6xx boards, so see these for an example.
-
-Once that is taken care of, it's time to add an entry for the mach type.
-This is done by adding an entry to the end of the arch/sh/tools/mach-types
-list. The method for doing this is self explanatory, and so we won't waste
-space restating it here. After this is done, you will be able to use
-implicit checks for your board if you need this somewhere throughout the
-common code, such as::
-
-	/* Make sure we're on the FooTech Vaporboard */
-	if (!mach_is_vapor())
-		return -ENODEV;
-
-also note that the mach_is_boardname() check will be implicitly forced to
-lowercase, regardless of the fact that the mach-types entries are all
-uppercase. You can read the script if you really care, but it's pretty ugly,
-so you probably don't want to do that.
-
-Now all that's left to do is providing a defconfig for your new board. This
-way, other people who end up with this board can simply use this config
-for reference instead of trying to guess what settings are supposed to be
-used on it.
-
-Also, as soon as you have copied over a sample .config for your new board
-(assume arch/sh/configs/vapor_defconfig), you can also use this directly as a
-build target, and it will be implicitly listed as such in the help text.
-
-Looking at the 'make help' output, you should now see something like:
-
-Architecture specific targets (sh):
-
-  =======================   =============================================
-  zImage                    Compressed kernel image (arch/sh/boot/zImage)
-  adx_defconfig             Build for adx
-  cqreek_defconfig          Build for cqreek
-  dreamcast_defconfig       Build for dreamcast
-  ...
-  vapor_defconfig           Build for vapor
-  =======================   =============================================
-
-which then allows you to do::
-
-    $ make ARCH=sh CROSS_COMPILE=sh4-linux- vapor_defconfig vmlinux
-
-which will in turn copy the defconfig for this board, run it through
-oldconfig (prompting you for any new options since the time of creation),
-and start you on your way to having a functional kernel for your new
-board.
diff --git a/Documentation/sh/register-banks.rst b/Documentation/sh/register-banks.rst
deleted file mode 100644
index 2bef5c8fcbbc06..00000000000000
--- a/Documentation/sh/register-banks.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-==========================================
-Notes on register bank usage in the kernel
-==========================================
-
-Introduction
-------------
-
-The SH-3 and SH-4 CPU families traditionally include a single partial register
-bank (selected by SR.RB, only r0 ... r7 are banked), whereas other families
-may have more full-featured banking or simply no such capabilities at all.
-
-SR.RB banking
--------------
-
-In the case of this type of banking, banked registers are mapped directly to
-r0 ... r7 if SR.RB is set to the bank we are interested in, otherwise ldc/stc
-can still be used to reference the banked registers (as r0_bank ... r7_bank)
-when in the context of another bank. The developer must keep the SR.RB value
-in mind when writing code that utilizes these banked registers, for obvious
-reasons. Userspace is also not able to poke at the bank1 values, so these can
-be used rather effectively as scratch registers by the kernel.
-
-Presently the kernel uses several of these registers.
-
-	- r0_bank, r1_bank (referenced as k0 and k1, used for scratch
-	  registers when doing exception handling).
-
-	- r2_bank (used to track the EXPEVT/INTEVT code)
-
-		- Used by do_IRQ() and friends for doing irq mapping based off
-		  of the interrupt exception vector jump table offset
-
-	- r6_bank (global interrupt mask)
-
-		- The SR.IMASK interrupt handler makes use of this to set the
-		  interrupt priority level (used by local_irq_enable())
-
-	- r7_bank (current)
diff --git a/MAINTAINERS b/MAINTAINERS
index e278cd5d0de00e..5899ff135e3deb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20067,16 +20067,6 @@ S:	Maintained
 F:	Documentation/devicetree/bindings/watchdog/sunplus,sp7021-wdt.yaml
 F:	drivers/watchdog/sunplus_wdt.c
 
-SUPERH
-M:	Yoshinori Sato <ysato at users.sourceforge.jp>
-M:	Rich Felker <dalias at libc.org>
-L:	linux-sh at vger.kernel.org
-S:	Maintained
-Q:	http://patchwork.kernel.org/project/linux-sh/list/
-F:	Documentation/sh/
-F:	arch/sh/
-F:	drivers/sh/
-
 SUSPEND TO RAM
 M:	"Rafael J. Wysocki" <rafael at kernel.org>
 M:	Len Brown <len.brown at intel.com>
diff --git a/arch/sh/Kbuild b/arch/sh/Kbuild
deleted file mode 100644
index be171880977e5d..00000000000000
--- a/arch/sh/Kbuild
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-obj-y				+= kernel/ mm/ boards/
-obj-$(CONFIG_SH_FPU_EMU)	+= math-emu/
-obj-$(CONFIG_USE_BUILTIN_DTB)	+= boot/dts/
-
-# for cleaning
-subdir- += boot
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
deleted file mode 100644
index 0665ac0add0b49..00000000000000
--- a/arch/sh/Kconfig
+++ /dev/null
@@ -1,793 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-config SUPERH
-	def_bool y
-	select ARCH_32BIT_OFF_T
-	select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
-	select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
-	select ARCH_HAVE_CUSTOM_GPIO_H
-	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
-	select ARCH_HAS_BINFMT_FLAT if !MMU
-	select ARCH_HAS_CURRENT_STACK_POINTER
-	select ARCH_HAS_GIGANTIC_PAGE
-	select ARCH_HAS_GCOV_PROFILE_ALL
-	select ARCH_HAS_PTE_SPECIAL
-	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
-	select ARCH_HIBERNATION_POSSIBLE if MMU
-	select ARCH_MIGHT_HAVE_PC_PARPORT
-	select ARCH_WANT_IPC_PARSE_VERSION
-	select CPU_NO_EFFICIENT_FFS
-	select DMA_DECLARE_COHERENT
-	select GENERIC_ATOMIC64
-	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
-	select GENERIC_IDLE_POLL_SETUP
-	select GENERIC_IRQ_SHOW
-	select GENERIC_PCI_IOMAP if PCI
-	select GENERIC_SCHED_CLOCK
-	select GENERIC_SMP_IDLE_THREAD
-	select GUP_GET_PXX_LOW_HIGH if X2TLB
-	select HAVE_ARCH_AUDITSYSCALL
-	select HAVE_ARCH_KGDB
-	select HAVE_ARCH_SECCOMP_FILTER
-	select HAVE_ARCH_TRACEHOOK
-	select HAVE_DEBUG_BUGVERBOSE
-	select HAVE_DEBUG_KMEMLEAK
-	select HAVE_DYNAMIC_FTRACE
-	select HAVE_FAST_GUP if MMU
-	select HAVE_FUNCTION_GRAPH_TRACER
-	select HAVE_FUNCTION_TRACER
-	select HAVE_FTRACE_MCOUNT_RECORD
-	select HAVE_HW_BREAKPOINT
-	select HAVE_IOREMAP_PROT if MMU && !X2TLB
-	select HAVE_KERNEL_BZIP2
-	select HAVE_KERNEL_GZIP
-	select HAVE_KERNEL_LZMA
-	select HAVE_KERNEL_LZO
-	select HAVE_KERNEL_XZ
-	select HAVE_KPROBES
-	select HAVE_KRETPROBES
-	select HAVE_MIXED_BREAKPOINTS_REGS
-	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
-	select HAVE_NMI
-	select HAVE_PATA_PLATFORM
-	select HAVE_PERF_EVENTS
-	select HAVE_REGS_AND_STACK_ACCESS_API
-	select HAVE_UID16
-	select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
-	select HAVE_STACKPROTECTOR
-	select HAVE_SYSCALL_TRACEPOINTS
-	select IRQ_FORCED_THREADING
-	select MODULES_USE_ELF_RELA
-	select NEED_SG_DMA_LENGTH
-	select NO_DMA if !MMU && !DMA_COHERENT
-	select NO_GENERIC_PCI_IOPORT_MAP if PCI
-	select OLD_SIGACTION
-	select OLD_SIGSUSPEND
-	select PCI_DOMAINS if PCI
-	select PERF_EVENTS
-	select PERF_USE_VMALLOC
-	select RTC_LIB
-	select SPARSE_IRQ
-	select TRACE_IRQFLAGS_SUPPORT
-	help
-	  The SuperH is a RISC processor targeted for use in embedded systems
-	  and consumer electronics; it was also used in the Sega Dreamcast
-	  gaming console.  The SuperH port has a home page at
-	  <http://www.linux-sh.org/>.
-
-config GENERIC_BUG
-	def_bool y
-	depends on BUG
-
-config GENERIC_HWEIGHT
-	def_bool y
-
-config GENERIC_CALIBRATE_DELAY
-	bool
-
-config GENERIC_LOCKBREAK
-	def_bool y
-	depends on SMP && PREEMPTION
-
-config ARCH_SUSPEND_POSSIBLE
-	def_bool n
-
-config ARCH_HIBERNATION_POSSIBLE
-	def_bool n
-
-config SYS_SUPPORTS_APM_EMULATION
-	bool
-	select ARCH_SUSPEND_POSSIBLE
-
-config SYS_SUPPORTS_SMP
-	bool
-
-config SYS_SUPPORTS_NUMA
-	bool
-
-config STACKTRACE_SUPPORT
-	def_bool y
-
-config LOCKDEP_SUPPORT
-	def_bool y
-
-config ARCH_HAS_ILOG2_U32
-	def_bool n
-
-config ARCH_HAS_ILOG2_U64
-	def_bool n
-
-config NO_IOPORT_MAP
-	def_bool !PCI
-	depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
-		   !SH_SOLUTION_ENGINE
-
-config IO_TRAPPED
-	bool
-
-config SWAP_IO_SPACE
-	bool
-
-config DMA_COHERENT
-	bool
-
-config DMA_NONCOHERENT
-	def_bool !NO_DMA && !DMA_COHERENT
-	select ARCH_HAS_DMA_PREP_COHERENT
-	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
-	select DMA_DIRECT_REMAP
-
-config PGTABLE_LEVELS
-	default 3 if X2TLB
-	default 2
-
-menu "System type"
-
-#
-# Processor families
-#
-config CPU_SH2
-	bool
-	select SH_INTC
-
-config CPU_SH2A
-	bool
-	select CPU_SH2
-	select UNCACHED_MAPPING
-
-config CPU_J2
-	bool
-	select CPU_SH2
-	select OF
-	select OF_EARLY_FLATTREE
-
-config CPU_SH3
-	bool
-	select CPU_HAS_INTEVT
-	select CPU_HAS_SR_RB
-	select SH_INTC
-	select SYS_SUPPORTS_SH_TMU
-
-config CPU_SH4
-	bool
-	select ARCH_SUPPORTS_HUGETLBFS if MMU
-	select CPU_HAS_INTEVT
-	select CPU_HAS_SR_RB
-	select CPU_HAS_FPU if !CPU_SH4AL_DSP
-	select SH_INTC
-	select SYS_SUPPORTS_SH_TMU
-
-config CPU_SH4A
-	bool
-	select CPU_SH4
-
-config CPU_SH4AL_DSP
-	bool
-	select CPU_SH4A
-	select CPU_HAS_DSP
-
-config CPU_SHX2
-	bool
-
-config CPU_SHX3
-	bool
-	select DMA_COHERENT
-	select SYS_SUPPORTS_SMP
-	select SYS_SUPPORTS_NUMA
-
-config ARCH_SHMOBILE
-	bool
-	select ARCH_SUSPEND_POSSIBLE
-	select PM
-
-config CPU_HAS_PMU
-       depends on CPU_SH4 || CPU_SH4A
-       default y
-       bool
-
-choice
-	prompt "Processor sub-type selection"
-
-#
-# Processor subtypes
-#
-
-# SH-2 Processor Support
-
-config CPU_SUBTYPE_SH7619
-	bool "Support SH7619 processor"
-	select CPU_SH2
-	select SYS_SUPPORTS_SH_CMT
-
-config CPU_SUBTYPE_J2
-	bool "Support J2 processor"
-	select CPU_J2
-	select SYS_SUPPORTS_SMP
-	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
-
-# SH-2A Processor Support
-
-config CPU_SUBTYPE_SH7201
-	bool "Support SH7201 processor"
-	select CPU_SH2A
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_MTU2
- 
-config CPU_SUBTYPE_SH7203
-	bool "Support SH7203 processor"
-	select CPU_SH2A
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_CMT
-	select SYS_SUPPORTS_SH_MTU2
-	select PINCTRL
-
-config CPU_SUBTYPE_SH7206
-	bool "Support SH7206 processor"
-	select CPU_SH2A
-	select SYS_SUPPORTS_SH_CMT
-	select SYS_SUPPORTS_SH_MTU2
-
-config CPU_SUBTYPE_SH7263
-	bool "Support SH7263 processor"
-	select CPU_SH2A
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_CMT
-	select SYS_SUPPORTS_SH_MTU2
-
-config CPU_SUBTYPE_SH7264
-	bool "Support SH7264 processor"
-	select CPU_SH2A
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_CMT
-	select SYS_SUPPORTS_SH_MTU2
-	select PINCTRL
-
-config CPU_SUBTYPE_SH7269
-	bool "Support SH7269 processor"
-	select CPU_SH2A
-	select CPU_HAS_FPU
-	select SYS_SUPPORTS_SH_CMT
-	select SYS_SUPPORTS_SH_MTU2
-	select PINCTRL
-
-config CPU_SUBTYPE_MXG
-	bool "Support MX-G processor"
-	select CPU_SH2A
-	select SYS_SUPPORTS_SH_MTU2
-	help
-	  Select MX-G if running on an R8A03022BG part.
-
-# SH-3 Processor Support
-
-config CPU_SUBTYPE_SH7705
-	bool "Support SH7705 processor"
-	select CPU_SH3
-
-config CPU_SUBTYPE_SH7706
-	bool "Support SH7706 processor"
-	select CPU_SH3
-	help
-	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
-
-config CPU_SUBTYPE_SH7707
-	bool "Support SH7707 processor"
-	select CPU_SH3
-	help
-	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
-
-config CPU_SUBTYPE_SH7708
-	bool "Support SH7708 processor"
-	select CPU_SH3
-	help
-	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
-	  if you have a 100 Mhz SH-3 HD6417708R CPU.
-
-config CPU_SUBTYPE_SH7709
-	bool "Support SH7709 processor"
-	select CPU_SH3
-	help
-	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
-
-config CPU_SUBTYPE_SH7710
-	bool "Support SH7710 processor"
-	select CPU_SH3
-	select CPU_HAS_DSP
-	help
-	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
-
-config CPU_SUBTYPE_SH7712
-	bool "Support SH7712 processor"
-	select CPU_SH3
-	select CPU_HAS_DSP
-	help
-	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
-
-config CPU_SUBTYPE_SH7720
-	bool "Support SH7720 processor"
-	select CPU_SH3
-	select CPU_HAS_DSP
-	select SYS_SUPPORTS_SH_CMT
-	select USB_OHCI_SH if USB_OHCI_HCD
-	select PINCTRL
-	help
-	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
-
-config CPU_SUBTYPE_SH7721
-	bool "Support SH7721 processor"
-	select CPU_SH3
-	select CPU_HAS_DSP
-	select SYS_SUPPORTS_SH_CMT
-	select USB_OHCI_SH if USB_OHCI_HCD
-	help
-	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
-
-# SH-4 Processor Support
-
-config CPU_SUBTYPE_SH7750
-	bool "Support SH7750 processor"
-	select CPU_SH4
-	help
-	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
-
-config CPU_SUBTYPE_SH7091
-	bool "Support SH7091 processor"
-	select CPU_SH4
-	help
-	  Select SH7091 if you have an SH-4 based Sega device (such as
-	  the Dreamcast, Naomi, and Naomi 2).
-
-config CPU_SUBTYPE_SH7750R
-	bool "Support SH7750R processor"
-	select CPU_SH4
-
-config CPU_SUBTYPE_SH7750S
-	bool "Support SH7750S processor"
-	select CPU_SH4
-
-config CPU_SUBTYPE_SH7751
-	bool "Support SH7751 processor"
-	select CPU_SH4
-	help
-	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
-	  or if you have a HD6417751R CPU.
-
-config CPU_SUBTYPE_SH7751R
-	bool "Support SH7751R processor"
-	select CPU_SH4
-
-config CPU_SUBTYPE_SH7760
-	bool "Support SH7760 processor"
-	select CPU_SH4
-
-config CPU_SUBTYPE_SH4_202
-	bool "Support SH4-202 processor"
-	select CPU_SH4
-
-# SH-4A Processor Support
-
-config CPU_SUBTYPE_SH7723
-	bool "Support SH7723 processor"
-	select CPU_SH4A
-	select CPU_SHX2
-	select ARCH_SHMOBILE
-	select ARCH_SPARSEMEM_ENABLE
-	select SYS_SUPPORTS_SH_CMT
-	select PINCTRL
-	help
-	  Select SH7723 if you have an SH-MobileR2 CPU.
-
-config CPU_SUBTYPE_SH7724
-	bool "Support SH7724 processor"
-	select CPU_SH4A
-	select CPU_SHX2
-	select ARCH_SHMOBILE
-	select ARCH_SPARSEMEM_ENABLE
-	select SYS_SUPPORTS_SH_CMT
-	select PINCTRL
-	help
-	  Select SH7724 if you have an SH-MobileR2R CPU.
-
-config CPU_SUBTYPE_SH7734
-	bool "Support SH7734 processor"
-	select CPU_SH4A
-	select CPU_SHX2
-	select PINCTRL
-	help
-	  Select SH7734 if you have a SH4A SH7734 CPU.
-
-config CPU_SUBTYPE_SH7757
-	bool "Support SH7757 processor"
-	select CPU_SH4A
-	select CPU_SHX2
-	select PINCTRL
-	help
-	  Select SH7757 if you have a SH4A SH7757 CPU.
-
-config CPU_SUBTYPE_SH7763
-	bool "Support SH7763 processor"
-	select CPU_SH4A
-	select USB_OHCI_SH if USB_OHCI_HCD
-	help
-	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
-
-config CPU_SUBTYPE_SH7770
-	bool "Support SH7770 processor"
-	select CPU_SH4A
-
-config CPU_SUBTYPE_SH7780
-	bool "Support SH7780 processor"
-	select CPU_SH4A
-
-config CPU_SUBTYPE_SH7785
-	bool "Support SH7785 processor"
-	select CPU_SH4A
-	select CPU_SHX2
-	select ARCH_SPARSEMEM_ENABLE
-	select SYS_SUPPORTS_NUMA
-	select PINCTRL
-
-config CPU_SUBTYPE_SH7786
-	bool "Support SH7786 processor"
-	select CPU_SH4A
-	select CPU_SHX3
-	select CPU_HAS_PTEAEX
-	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
-	select USB_OHCI_SH if USB_OHCI_HCD
-	select USB_EHCI_SH if USB_EHCI_HCD
-	select PINCTRL
-
-config CPU_SUBTYPE_SHX3
-	bool "Support SH-X3 processor"
-	select CPU_SH4A
-	select CPU_SHX3
-	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
-	select GPIOLIB
-	select PINCTRL
-
-# SH4AL-DSP Processor Support
-
-config CPU_SUBTYPE_SH7343
-	bool "Support SH7343 processor"
-	select CPU_SH4AL_DSP
-	select ARCH_SHMOBILE
-	select SYS_SUPPORTS_SH_CMT
-
-config CPU_SUBTYPE_SH7722
-	bool "Support SH7722 processor"
-	select CPU_SH4AL_DSP
-	select CPU_SHX2
-	select ARCH_SHMOBILE
-	select ARCH_SPARSEMEM_ENABLE
-	select SYS_SUPPORTS_NUMA
-	select SYS_SUPPORTS_SH_CMT
-	select PINCTRL
-
-config CPU_SUBTYPE_SH7366
-	bool "Support SH7366 processor"
-	select CPU_SH4AL_DSP
-	select CPU_SHX2
-	select ARCH_SHMOBILE
-	select ARCH_SPARSEMEM_ENABLE
-	select SYS_SUPPORTS_NUMA
-	select SYS_SUPPORTS_SH_CMT
-
-endchoice
-
-source "arch/sh/mm/Kconfig"
- 
-source "arch/sh/Kconfig.cpu"
-
-source "arch/sh/boards/Kconfig"
-
-menu "Timer and clock configuration"
-
-config SH_PCLK_FREQ
-	int "Peripheral clock frequency (in Hz)"
-	depends on SH_CLK_CPG_LEGACY
-	default "31250000" if CPU_SUBTYPE_SH7619
-	default "33333333" if CPU_SUBTYPE_SH7770 || \
-			      CPU_SUBTYPE_SH7760 || \
-			      CPU_SUBTYPE_SH7705 || \
-			      CPU_SUBTYPE_SH7203 || \
-			      CPU_SUBTYPE_SH7206 || \
-			      CPU_SUBTYPE_SH7263 || \
-			      CPU_SUBTYPE_MXG
-	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
-	default "66000000" if CPU_SUBTYPE_SH4_202
-	default "50000000"
-	help
-	  This option is used to specify the peripheral clock frequency.
-	  This is necessary for determining the reference clock value on
-	  platforms lacking an RTC.
-
-config SH_CLK_CPG
-	def_bool y
-
-config SH_CLK_CPG_LEGACY
-	depends on SH_CLK_CPG
-	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
-		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
-		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
-		      !CPU_SUBTYPE_SH7269
-
-endmenu
-
-menu "CPU Frequency scaling"
-source "drivers/cpufreq/Kconfig"
-endmenu
-
-source "arch/sh/drivers/Kconfig"
-
-endmenu
-
-menu "Kernel features"
-
-source "kernel/Kconfig.hz"
-
-config KEXEC
-	bool "kexec system call (EXPERIMENTAL)"
-	depends on MMU
-	select KEXEC_CORE
-	help
-	  kexec is a system call that implements the ability to shutdown your
-	  current kernel, and to start another kernel.  It is like a reboot
-	  but it is independent of the system firmware.  And like a reboot
-	  you can start any kernel with it, not just Linux.
-
-	  The name comes from the similarity to the exec system call.
-
-	  It is an ongoing process to be certain the hardware in a machine
-	  is properly shutdown, so do not be surprised if this code does not
-	  initially work for you.  As of this writing the exact hardware
-	  interface is strongly in flux, so no good recommendation can be
-	  made.
-
-config CRASH_DUMP
-	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on BROKEN_ON_SMP
-	help
-	  Generate crash dump after being started by kexec.
-	  This should be normally only set in special crash dump kernels
-	  which are loaded in the main kernel with kexec-tools into
-	  a specially reserved region and then later executed after
-	  a crash by kdump/kexec. The crash dump kernel must be compiled
-	  to a memory address not used by the main kernel using
-	  PHYSICAL_START.
-
-	  For more details see Documentation/admin-guide/kdump/kdump.rst
-
-config KEXEC_JUMP
-	bool "kexec jump (EXPERIMENTAL)"
-	depends on KEXEC && HIBERNATION
-	help
-	  Jump between original kernel and kexeced kernel and invoke
-	  code via KEXEC
-
-config PHYSICAL_START
-	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
-	default MEMORY_START
-	help
-	  This gives the physical address where the kernel is loaded
-	  and is ordinarily the same as MEMORY_START.
-
-	  Different values are primarily used in the case of kexec on panic
-	  where the fail safe kernel needs to run at a different address
-	  than the panic-ed kernel.
-
-config SMP
-	bool "Symmetric multi-processing support"
-	depends on SYS_SUPPORTS_SMP
-	help
-	  This enables support for systems with more than one CPU. If you have
-	  a system with only one CPU, say N. If you have a system with more
-	  than one CPU, say Y.
-
-	  If you say N here, the kernel will run on uni- and multiprocessor
-	  machines, but will use only one CPU of a multiprocessor machine. If
-	  you say Y here, the kernel will run on many, but not all,
-	  uniprocessor machines. On a uniprocessor machine, the kernel
-	  will run faster if you say N here.
-
-	  People using multiprocessor machines who say Y here should also say
-	  Y to "Enhanced Real Time Clock Support", below.
-
-	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
-	  available at <https://www.tldp.org/docs.html#howto>.
-
-	  If you don't know what to do here, say N.
-
-config NR_CPUS
-	int "Maximum number of CPUs (2-32)"
-	range 2 32
-	depends on SMP
-	default "4" if CPU_SUBTYPE_SHX3
-	default "2"
-	help
-	  This allows you to specify the maximum number of CPUs which this
-	  kernel will support.  The maximum supported value is 32 and the
-	  minimum value which makes sense is 2.
-
-	  This is purely to save memory - each supported CPU adds
-	  approximately eight kilobytes to the kernel image.
-
-config HOTPLUG_CPU
-	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
-	depends on SMP
-	help
-	  Say Y here to experiment with turning CPUs off and on.  CPUs
-	  can be controlled through /sys/devices/system/cpu.
-
-config GUSA
-	def_bool y
-	depends on !SMP
-	help
-	  This enables support for gUSA (general UserSpace Atomicity).
-	  This is the default implementation for both UP and non-ll/sc
-	  CPUs, and is used by the libc, amongst others.
-
-	  For additional information, design information can be found 
-	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
-
-	  This should only be disabled for special cases where alternate
-	  atomicity implementations exist.
-
-config GUSA_RB
-	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
-	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
-	help
-	  Enabling this option will allow the kernel to implement some
-	  atomic operations using a software implementation of load-locked/
-	  store-conditional (LLSC). On machines which do not have hardware
-	  LLSC, this should be more efficient than the other alternative of
-	  disabling interrupts around the atomic sequence.
-
-config HW_PERF_EVENTS
-	bool "Enable hardware performance counter support for perf events"
-	depends on PERF_EVENTS && CPU_HAS_PMU
-	default y
-	help
-	  Enable hardware performance counter support for perf events. If
-	  disabled, perf events will use software events only.
-
-source "drivers/sh/Kconfig"
-
-endmenu
-
-menu "Boot options"
-
-config USE_BUILTIN_DTB
-	bool "Use builtin DTB"
-	default n
-	depends on SH_DEVICE_TREE
-	help
-	  Link a device tree blob for particular hardware into the kernel,
-	  suppressing use of the DTB pointer provided by the bootloader.
-	  This option should only be used with legacy bootloaders that are
-	  not capable of providing a DTB to the kernel, or for experimental
-	  hardware without stable device tree bindings.
-
-config BUILTIN_DTB_SOURCE
-	string "Source file for builtin DTB"
-	default ""
-	depends on USE_BUILTIN_DTB
-	help
-	  Base name (without suffix, relative to arch/sh/boot/dts) for the
-	  a DTS file that will be used to produce the DTB linked into the
-	  kernel.
-
-config ZERO_PAGE_OFFSET
-	hex
-	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
-				SH_7751_SOLUTION_ENGINE
-	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
-	default "0x00002000" if PAGE_SIZE_8KB
-	default "0x00001000"
-	help
-	  This sets the default offset of zero page.
-
-config BOOT_LINK_OFFSET
-	hex
-	default "0x00210000" if SH_SHMIN
-	default "0x00810000" if SH_7780_SOLUTION_ENGINE
-	default "0x009e0000" if SH_TITAN
-	default "0x01800000" if SH_SDK7780
-	default "0x02000000" if SH_EDOSK7760
-	default "0x00800000"
-	help
-	  This option allows you to set the link address offset of the zImage.
-	  This can be useful if you are on a board which has a small amount of
-	  memory.
-
-config ENTRY_OFFSET
-	hex
-	default "0x00001000" if PAGE_SIZE_4KB
-	default "0x00002000" if PAGE_SIZE_8KB
-	default "0x00004000" if PAGE_SIZE_16KB
-	default "0x00010000" if PAGE_SIZE_64KB
-	default "0x00000000"
-
-config ROMIMAGE_MMCIF
-	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
-	depends on CPU_SUBTYPE_SH7724
-	help
-	  Say Y here to include experimental MMCIF loading code in
-	  romImage. With this enabled it is possible to write the romImage
-	  kernel image to an MMC card and boot the kernel straight from
-	  the reset vector. At reset the processor Mask ROM will load the
-	  first part of the romImage which in turn loads the rest the kernel
-	  image to RAM using the MMCIF hardware block.
-
-choice
-	prompt "Kernel command line"
-	optional
-	default CMDLINE_OVERWRITE
-	help
-	  Setting this option allows the kernel command line arguments
-	  to be set.
-
-config CMDLINE_OVERWRITE
-	bool "Overwrite bootloader kernel arguments"
-	help
-	  Given string will overwrite any arguments passed in by
-	  a bootloader.
-
-config CMDLINE_EXTEND
-	bool "Extend bootloader kernel arguments"
-	help
-	  Given string will be concatenated with arguments passed in
-	  by a bootloader.
-
-endchoice
-
-config CMDLINE
-	string "Kernel command line arguments string"
-	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
-	default "console=ttySC1,115200"
-
-endmenu
-
-menu "Bus options"
-
-config SUPERHYWAY
-	tristate "SuperHyway Bus support"
-	depends on CPU_SUBTYPE_SH4_202
-
-config MAPLE
-	bool "Maple Bus support"
-	depends on SH_DREAMCAST
-	help
-	 The Maple Bus is SEGA's serial communication bus for peripherals
-	 on the Dreamcast. Without this bus support you won't be able to
-	 get your Dreamcast keyboard etc to work, so most users
-	 probably want to say 'Y' here, unless you are only using the
-	 Dreamcast with a serial line terminal or a remote network
-	 connection.
-
-endmenu
-
-menu "Power management options (EXPERIMENTAL)"
-
-source "kernel/power/Kconfig"
-
-source "drivers/cpuidle/Kconfig"
-
-endmenu
diff --git a/arch/sh/Kconfig.cpu b/arch/sh/Kconfig.cpu
deleted file mode 100644
index fff419f3d7574c..00000000000000
--- a/arch/sh/Kconfig.cpu
+++ /dev/null
@@ -1,100 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-menu "Processor features"
-
-choice
-	prompt "Endianness selection" 
-	default CPU_LITTLE_ENDIAN
-	help
-	  Some SuperH machines can be configured for either little or big
-	  endian byte order. These modes require different kernels.
-
-config CPU_LITTLE_ENDIAN
-	bool "Little Endian"
-
-config CPU_BIG_ENDIAN
-	bool "Big Endian"
-
-endchoice
-
-config SH_FPU
-	def_bool y
-	prompt "FPU support"
-	depends on CPU_HAS_FPU
-	help
-	  Selecting this option will enable support for SH processors that
-	  have FPU units (ie, SH77xx).
-
-	  This option must be set in order to enable the FPU.
-
-config SH_FPU_EMU
-	def_bool n
-	prompt "FPU emulation support"
-	depends on !SH_FPU
-	help
-	  Selecting this option will enable support for software FPU emulation.
-	  Most SH-3 users will want to say Y here, whereas most SH-4 users will
-	  want to say N.
-
-config SH_DSP
-	def_bool y
-	prompt "DSP support"
-	depends on CPU_HAS_DSP
-	help
-	  Selecting this option will enable support for SH processors that
-	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
-
-	  This option must be set in order to enable the DSP.
-
-config SH_ADC
-	def_bool y
-	prompt "ADC support"
-	depends on CPU_SH3
-	help
-	  Selecting this option will allow the Linux kernel to use SH3 on-chip
-	  ADC module.
-
-	  If unsure, say N.
-
-config SH_STORE_QUEUES
-	bool "Support for Store Queues"
-	depends on CPU_SH4
-	help
-	  Selecting this option will enable an in-kernel API for manipulating
-	  the store queues integrated in the SH-4 processors.
-
-config SPECULATIVE_EXECUTION
-	bool "Speculative subroutine return"
-	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || CPU_SUBTYPE_SH7786
-	help
-	  This enables support for a speculative instruction fetch for
-	  subroutine return. There are various pitfalls associated with
-	  this, as outlined in the SH7780 hardware manual.
-
-	  If unsure, say N.
-
-config CPU_HAS_INTEVT
-	bool
-
-config CPU_HAS_IPR_IRQ
-	bool
-
-config CPU_HAS_SR_RB
-	bool
-	help
-	  This will enable the use of SR.RB register bank usage. Processors
-	  that are lacking this bit must have another method in place for
-	  accomplishing what is taken care of by the banked registers.
-
-	  See <file:Documentation/sh/register-banks.rst> for further
-	  information on SR.RB and register banking in the kernel in general.
-
-config CPU_HAS_PTEAEX
-	bool
-
-config CPU_HAS_DSP
-	bool
-
-config CPU_HAS_FPU
-	bool
-
-endmenu
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
deleted file mode 100644
index 10290e5c1f4387..00000000000000
--- a/arch/sh/Kconfig.debug
+++ /dev/null
@@ -1,78 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-
-config SH_STANDARD_BIOS
-	bool "Use LinuxSH standard BIOS"
-	help
-	  Say Y here if your target has the gdb-sh-stub
-	  package from www.m17n.org (or any conforming standard LinuxSH BIOS)
-	  in FLASH or EPROM.  The kernel will use standard BIOS calls during
-	  boot for various housekeeping tasks (including calls to read and
-	  write characters to a system console, get a MAC address from an
-	  on-board Ethernet interface, and shut down the hardware).  Note this
-	  does not work with machines with an existing operating system in
-	  mask ROM and no flash (WindowsCE machines fall in this category).
-	  If unsure, say N.
-
-config STACK_DEBUG
-	bool "Check for stack overflows"
-	depends on DEBUG_KERNEL
-	help
-	  This option will cause messages to be printed if free stack space
-	  drops below a certain limit. Saying Y here will add overhead to
-	  every function call and will therefore incur a major
-	  performance hit. Most users should say N.
-
-config 4KSTACKS
-	bool "Use 4Kb for kernel stacks instead of 8Kb"
-	depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
-	help
-	  If you say Y here the kernel will use a 4Kb stacksize for the
-	  kernel stack attached to each process/thread. This facilitates
-	  running more threads on a system and also reduces the pressure
-	  on the VM subsystem for higher order allocations. This option
-	  will also use IRQ stacks to compensate for the reduced stackspace.
-
-config IRQSTACKS
-	bool "Use separate kernel stacks when processing interrupts"
-	depends on DEBUG_KERNEL && BROKEN
-	help
-	  If you say Y here the kernel will use separate kernel stacks
-	  for handling hard and soft interrupts.  This can help avoid
-	  overflowing the process kernel stacks.
-
-config DUMP_CODE
-	bool "Show disassembly of nearby code in register dumps"
-	depends on DEBUG_KERNEL
-	default y if DEBUG_BUGVERBOSE
-	default n
-	help
-	  This prints out a code trace of the instructions leading up to
-	  the faulting instruction as a debugging aid. As this does grow
-	  the kernel in size a bit, most users will want to say N here.
-
-	  Those looking for more verbose debugging output should say Y.
-
-config DWARF_UNWINDER
-	bool "Enable the DWARF unwinder for stacktraces"
-	depends on DEBUG_KERNEL
-	select FRAME_POINTER
-	default n
-	help
-	  Enabling this option will make stacktraces more accurate, at
-	  the cost of an increase in overall kernel size.
-
-config SH_NO_BSS_INIT
-	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
-	depends on DEBUG_KERNEL
-	default n
-	help
-	  If running in painfully slow environments, such as an RTL
-	  simulation or from remote memory via SHdebug, where the memory
-	  can already be guaranteed to ber zeroed on boot, say Y.
-
-	  For all other cases, say N. If this option seems perplexing, or
-	  you aren't sure, say N.
-
-config MCOUNT
-	def_bool y
-	depends on STACK_DEBUG || FUNCTION_TRACER
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
deleted file mode 100644
index 5c8776482530c3..00000000000000
--- a/arch/sh/Makefile
+++ /dev/null
@@ -1,215 +0,0 @@
-#
-# arch/sh/Makefile
-#
-# Copyright (C) 1999  Kaz Kojima
-# Copyright (C) 2002 - 2008  Paul Mundt
-# Copyright (C) 2002  M. R. Brown
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-ifdef cross_compiling
-  ifeq ($(CROSS_COMPILE),)
-    CROSS_COMPILE := $(call cc-cross-prefix, sh-linux- sh-linux-gnu- sh-unknown-linux-gnu-)
-  endif
-endif
-
-KBUILD_DEFCONFIG	:= shx3_defconfig
-
-isa-y					:= any
-isa-$(CONFIG_SH_DSP)			:= sh
-isa-$(CONFIG_CPU_SH2)			:= sh2
-isa-$(CONFIG_CPU_SH2A)			:= sh2a
-isa-$(CONFIG_CPU_SH3)			:= sh3
-isa-$(CONFIG_CPU_SH4)			:= sh4
-isa-$(CONFIG_CPU_SH4A)			:= sh4a
-isa-$(CONFIG_CPU_SH4AL_DSP)		:= sh4al
-
-isa-$(CONFIG_SH_DSP)			:= $(isa-y)-dsp
-isa-y					:= $(isa-y)-up
-
-cflags-$(CONFIG_CPU_SH2)		:= $(call cc-option,-m2,)
-cflags-$(CONFIG_CPU_J2)			+= $(call cc-option,-mj2,)
-cflags-$(CONFIG_CPU_SH2A)		+= $(call cc-option,-m2a,) \
-					   $(call cc-option,-m2a-nofpu,) \
-					   $(call cc-option,-m4-nofpu,)
-cflags-$(CONFIG_CPU_SH3)		:= $(call cc-option,-m3,)
-cflags-$(CONFIG_CPU_SH4)		:= $(call cc-option,-m4,) \
-	$(call cc-option,-mno-implicit-fp,-m4-nofpu)
-cflags-$(CONFIG_CPU_SH4A)		+= $(call cc-option,-m4a,) \
-					   $(call cc-option,-m4a-nofpu,)
-cflags-$(CONFIG_CPU_SH4AL_DSP)		+= $(call cc-option,-m4al,)
-
-ifeq ($(cflags-y),)
-#
-# In the case where we are stuck with a compiler that has been uselessly
-# restricted to a particular ISA, a favourite default of newer GCCs when
-# extensive multilib targets are not provided, ensure we get the best fit
-# regarding FP generation. This is intentionally stupid (albeit many
-# orders of magnitude less than GCC's default behaviour), as anything
-# with a large number of multilib targets better have been built
-# correctly for the target in mind.
-#
-cflags-y	+= $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \
-		     grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//')
-# At this point, anything goes.
-isaflags-y	:= $(call as-option,-Wa$(comma)-isa=any,)
-else
-#
-# -Wa,-isa= tuning implies -Wa,-dsp for the versions of binutils that
-# support it, while -Wa,-dsp by itself limits the range of usable opcodes
-# on certain CPU subtypes. Try the ISA variant first, and if that fails,
-# fall back on -Wa,-dsp for the old binutils versions. Even without DSP
-# opcodes, we always want the best ISA tuning the version of binutils
-# will provide.
-#
-isaflags-y	:= $(call as-option,-Wa$(comma)-isa=$(isa-y),)
-
-isaflags-$(CONFIG_SH_DSP)		:= \
-	$(call as-option,-Wa$(comma)-isa=$(isa-y),-Wa$(comma)-dsp)
-endif
-
-cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= -mb
-cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -ml
-
-cflags-y	+= $(call cc-option,-mno-fdpic)
-cflags-y	+= $(isaflags-y) -ffreestanding
-
-OBJCOPYFLAGS	:= -O binary -R .note -R .note.gnu.build-id -R .comment \
-		   -R .stab -R .stabstr -S
-
-# Give the various platforms the opportunity to set default image types
-defaultimage-y					:= zImage
-defaultimage-$(CONFIG_SH_SH7785LCR)		:= uImage
-defaultimage-$(CONFIG_SH_RSK)			:= uImage
-defaultimage-$(CONFIG_SH_URQUELL)		:= uImage
-defaultimage-$(CONFIG_SH_MIGOR)			:= uImage
-defaultimage-$(CONFIG_SH_AP325RXA)		:= uImage
-defaultimage-$(CONFIG_SH_SH7757LCR)		:= uImage
-defaultimage-$(CONFIG_SH_7724_SOLUTION_ENGINE)	:= uImage
-defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE)	:= vmlinux
-defaultimage-$(CONFIG_SH_7619_SOLUTION_ENGINE)	:= vmlinux
-
-# Set some sensible Kbuild defaults
-boot := arch/sh/boot
-KBUILD_IMAGE		:= $(boot)/$(defaultimage-y)
-
-#
-# Choosing incompatible machines durings configuration will result in
-# error messages during linking.
-#
-UTS_MACHINE		:= sh
-LDFLAGS_vmlinux		+= -e _stext
-
-ifdef CONFIG_CPU_LITTLE_ENDIAN
-ld-bfd			:= elf32-sh-linux
-LDFLAGS_vmlinux		+= --defsym jiffies=jiffies_64 --oformat $(ld-bfd)
-KBUILD_LDFLAGS		+= -EL
-else
-ld-bfd			:= elf32-shbig-linux
-LDFLAGS_vmlinux		+= --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd)
-KBUILD_LDFLAGS		+= -EB
-endif
-
-export ld-bfd
-
-# Mach groups
-machdir-$(CONFIG_SOLUTION_ENGINE)		+= mach-se
-machdir-$(CONFIG_SH_HP6XX)			+= mach-hp6xx
-machdir-$(CONFIG_SH_DREAMCAST)			+= mach-dreamcast
-machdir-$(CONFIG_SH_SH03)			+= mach-sh03
-machdir-$(CONFIG_SH_RTS7751R2D)			+= mach-r2d
-machdir-$(CONFIG_SH_HIGHLANDER)			+= mach-highlander
-machdir-$(CONFIG_SH_MIGOR)			+= mach-migor
-machdir-$(CONFIG_SH_AP325RXA)			+= mach-ap325rxa
-machdir-$(CONFIG_SH_KFR2R09)			+= mach-kfr2r09
-machdir-$(CONFIG_SH_ECOVEC)			+= mach-ecovec24
-machdir-$(CONFIG_SH_SDK7780)			+= mach-sdk7780
-machdir-$(CONFIG_SH_SDK7786)			+= mach-sdk7786
-machdir-$(CONFIG_SH_X3PROTO)			+= mach-x3proto
-machdir-$(CONFIG_SH_SH7763RDP)			+= mach-sh7763rdp
-machdir-$(CONFIG_SH_SH4202_MICRODEV)		+= mach-microdev
-machdir-$(CONFIG_SH_LANDISK)			+= mach-landisk
-machdir-$(CONFIG_SH_LBOX_RE2)			+= mach-lboxre2
-machdir-$(CONFIG_SH_RSK)			+= mach-rsk
-
-ifneq ($(machdir-y),)
-core-y	+= $(addprefix arch/sh/boards/, \
-	     $(filter-out ., $(patsubst %,%/,$(machdir-y))))
-endif
-
-# Common machine type headers. Not part of the arch/sh/boards/ hierarchy.
-machdir-y	+= mach-common
-
-# Companion chips
-core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
-
-#
-# CPU header paths
-#
-# These are ordered by optimization level. A CPU family that is a subset
-# of another (ie, SH-2A / SH-2), is picked up first, with increasing
-# levels of genericness if nothing more suitable is situated in the
-# hierarchy.
-#
-# As an example, in order of preference, SH-2A > SH-2 > common definitions.
-#
-cpuincdir-$(CONFIG_CPU_SH2A)	+= cpu-sh2a
-cpuincdir-$(CONFIG_CPU_SH2)	+= cpu-sh2
-cpuincdir-$(CONFIG_CPU_SH3)	+= cpu-sh3
-cpuincdir-$(CONFIG_CPU_SH4A)	+= cpu-sh4a
-cpuincdir-$(CONFIG_CPU_SH4)	+= cpu-sh4
-cpuincdir-y			+= cpu-common	# Must be last
-
-drivers-y			+= arch/sh/drivers/
-
-cflags-y	+= $(foreach d, $(cpuincdir-y), -I $(srctree)/arch/sh/include/$(d)) \
-		   $(foreach d, $(machdir-y), -I $(srctree)/arch/sh/include/$(d))
-
-KBUILD_CFLAGS		+= -pipe $(cflags-y)
-KBUILD_CPPFLAGS		+= $(cflags-y)
-KBUILD_AFLAGS		+= $(cflags-y)
-
-ifeq ($(CONFIG_MCOUNT),y)
-  KBUILD_CFLAGS += -pg
-endif
-
-ifeq ($(CONFIG_DWARF_UNWINDER),y)
-  KBUILD_CFLAGS += -fasynchronous-unwind-tables
-endif
-
-libs-y			:= arch/sh/lib/	$(libs-y)
-
-BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.xz uImage.lzo \
-	       uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \
-	       romImage
-PHONY += $(BOOT_TARGETS)
-
-all: $(notdir $(KBUILD_IMAGE))
-
-$(BOOT_TARGETS): vmlinux
-	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
-
-compressed: zImage
-
-archprepare:
-	$(Q)$(MAKE) $(build)=arch/sh/tools include/generated/machtypes.h
-
-archheaders:
-	$(Q)$(MAKE) $(build)=arch/sh/kernel/syscalls all
-
-define archhelp
-	@echo '  zImage 	           - Compressed kernel image'
-	@echo '  romImage	           - Compressed ROM image, if supported'
-	@echo '  vmlinux.srec	           - Create an ELF S-record'
-	@echo '  vmlinux.bin	           - Create an uncompressed binary image'
-	@echo '* uImage  	           - Alias to bootable U-Boot image'
-	@echo '  uImage.srec	           - Create an S-record for U-Boot'
-	@echo '  uImage.bin	           - Kernel-only image for U-Boot (bin)'
-	@echo '* uImage.gz	           - Kernel-only image for U-Boot (gzip)'
-	@echo '  uImage.bz2	           - Kernel-only image for U-Boot (bzip2)'
-	@echo '  uImage.lzma	           - Kernel-only image for U-Boot (lzma)'
-	@echo '  uImage.xz	           - Kernel-only image for U-Boot (xz)'
-	@echo '  uImage.lzo	           - Kernel-only image for U-Boot (lzo)'
-endef
diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
deleted file mode 100644
index 83bcb6d2dacadd..00000000000000
--- a/arch/sh/boards/Kconfig
+++ /dev/null
@@ -1,400 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-menu "Board support"
-
-config SOLUTION_ENGINE
-	bool
-
-config SH_ALPHA_BOARD
-	bool
-
-config SH_CUSTOM_CLK
-	def_bool y
-	depends on !SH_DEVICE_TREE
-	select HAVE_LEGACY_CLK
-
-config SH_DEVICE_TREE
-	bool
-	select OF
-	select OF_EARLY_FLATTREE
-	select TIMER_OF
-	select COMMON_CLK
-	select GENERIC_CALIBRATE_DELAY
-
-config SH_JCORE_SOC
-	bool "J-Core SoC"
-	select SH_DEVICE_TREE
-	select CLKSRC_JCORE_PIT
-	select JCORE_AIC
-	depends on CPU_J2
-	help
-	  Select this option to include drivers core components of the
-	  J-Core SoC, including interrupt controllers and timers.
-
-config SH_SOLUTION_ENGINE
-	bool "SolutionEngine"
-	select SOLUTION_ENGINE
-	select CPU_HAS_IPR_IRQ
-	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
-	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
-	  CPU_SUBTYPE_SH7750R 
-	help
-	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
-	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
-
-config SH_7206_SOLUTION_ENGINE
-	bool "SolutionEngine7206"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7206
-	help
-	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
-	  evaluation board.
-
-config SH_7619_SOLUTION_ENGINE
-	bool "SolutionEngine7619"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7619
-	help
-	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
-	  evaluation board.
-	
-config SH_7721_SOLUTION_ENGINE
-	bool "SolutionEngine7721"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7721
-	help
-	  Select 7721 SolutionEngine if configuring for a Hitachi SH7721
-	  evaluation board.
-
-config SH_7722_SOLUTION_ENGINE
-	bool "SolutionEngine7722"
-	select SOLUTION_ENGINE
-	select GENERIC_IRQ_CHIP
-	select IRQ_DOMAIN
-	depends on CPU_SUBTYPE_SH7722
-	help
-	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
-	  evaluation board.
-
-config SH_7724_SOLUTION_ENGINE
-	bool "SolutionEngine7724"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7724
-	select GPIOLIB
-	select SND_SOC_AK4642 if SND_SIMPLE_CARD
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Select 7724 SolutionEngine if configuring for a Hitachi SH7724
-	  evaluation board.
-
-config SH_7751_SOLUTION_ENGINE
-	bool "SolutionEngine7751"
-	select SOLUTION_ENGINE
-	select CPU_HAS_IPR_IRQ
-	depends on CPU_SUBTYPE_SH7751
-	help
-	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
-	  evaluation board.
-	  
-config SH_7780_SOLUTION_ENGINE
-	bool "SolutionEngine7780"
-	select SOLUTION_ENGINE
-	select HAVE_PCI
-	depends on CPU_SUBTYPE_SH7780
-	help
-	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
-	  evaluation board.
-
-config SH_7343_SOLUTION_ENGINE
-	bool "SolutionEngine7343"
-	select SOLUTION_ENGINE
-	select GENERIC_IRQ_CHIP
-	select IRQ_DOMAIN
-	depends on CPU_SUBTYPE_SH7343
-	help
-	  Select 7343 SolutionEngine if configuring for a Hitachi
-	  SH7343 (SH-Mobile 3AS) evaluation board.
-
-config SH_HP6XX
-	bool "HP6XX"
-	select SYS_SUPPORTS_APM_EMULATION
-	select HD6446X_SERIES
-	depends on CPU_SUBTYPE_SH7709
-	help
-	  Select HP6XX if configuring for a HP jornada HP6xx.
-	  More information (hardware only) at
-	  <http://www.hp.com/jornada/>.
-
-config SH_DREAMCAST
-	bool "Dreamcast"
-	select HAVE_PCI
-	depends on CPU_SUBTYPE_SH7091
-	help
-	  Select Dreamcast if configuring for a SEGA Dreamcast.
-	  More information at <http://www.linux-sh.org>
-
-config SH_SH03
-	bool "Interface CTP/PCI-SH03"
-	depends on CPU_SUBTYPE_SH7751
-	select CPU_HAS_IPR_IRQ
-	select HAVE_PCI
-	help
-	  CTP/PCI-SH03 is a CPU module computer that is produced
-	  by Interface Corporation.
-	  More information at <http://www.interface.co.jp>
-
-config SH_SECUREEDGE5410
-	bool "SecureEdge5410"
-	depends on CPU_SUBTYPE_SH7751R
-	select CPU_HAS_IPR_IRQ
-	select HAVE_PCI
-	help
-	  Select SecureEdge5410 if configuring for a SnapGear SH board.
-	  This includes both the OEM SecureEdge products as well as the
-	  SME product line.
-
-config SH_RTS7751R2D
-	bool "RTS7751R2D"
-	depends on CPU_SUBTYPE_SH7751R
-	select HAVE_PCI
-	select IO_TRAPPED if MMU
-	help
-	  Select RTS7751R2D if configuring for a Renesas Technology
-	  Sales SH-Graphics board.
-
-config SH_RSK
-	bool "Renesas Starter Kit"
-	depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203 || \
-	  CPU_SUBTYPE_SH7264 || CPU_SUBTYPE_SH7269
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	 Select this option if configuring for any of the RSK+ MCU
-	 evaluation platforms.
-
-config SH_SDK7780
-	bool "SDK7780R3"
-	depends on CPU_SUBTYPE_SH7780
-	select HAVE_PCI
-	help
-	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
-	  evaluation board.
-
-config SH_SDK7786
-	bool "SDK7786"
-	depends on CPU_SUBTYPE_SH7786
-	select HAVE_PCI
-	select NO_IOPORT_MAP if !PCI
-	select HAVE_SRAM_POOL
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Select SDK7786 if configuring for a Renesas Technology Europe
-	  SH7786-65nm board.
-
-config SH_HIGHLANDER
-	bool "Highlander"
-	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
-	select HAVE_PCI
-	select IO_TRAPPED if MMU
-
-config SH_SH7757LCR
-	bool "SH7757LCR"
-	depends on CPU_SUBTYPE_SH7757
-	select GPIOLIB
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-
-config SH_SH7785LCR
-	bool "SH7785LCR"
-	depends on CPU_SUBTYPE_SH7785
-	select HAVE_PCI
-
-config SH_SH7785LCR_29BIT_PHYSMAPS
-	bool "SH7785LCR 29bit physmaps"
-	depends on SH_SH7785LCR && 29BIT
-	default y
-	help
-	  This board has 2 physical memory maps. It can be changed with
-	  DIP switch(S2-5). If you set the DIP switch for S2-5 = ON,
-	  you can access all on-board device in 29bit address mode.
-
-config SH_SH7785LCR_PT
-	bool "SH7785LCR prototype board on 32-bit MMU mode"
-	depends on SH_SH7785LCR && 32BIT
-	default n
-	help
-	  If you use prototype board, this option is enabled.
-
-config SH_URQUELL
-	bool "Urquell"
-	depends on CPU_SUBTYPE_SH7786
-	select GPIOLIB
-	select HAVE_PCI
-	select NO_IOPORT_MAP if !PCI
-
-config SH_MIGOR
-	bool "Migo-R"
-	depends on CPU_SUBTYPE_SH7722
-	select GPIOLIB
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Select Migo-R if configuring for the SH7722 Migo-R platform
-          by Renesas System Solutions Asia Pte. Ltd.
-
-config SH_AP325RXA
-	bool "AP-325RXA"
-	depends on CPU_SUBTYPE_SH7723
-	select GPIOLIB
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Renesas "AP-325RXA" support.
-	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"
-
-config SH_KFR2R09
-	bool "KFR2R09"
-	depends on CPU_SUBTYPE_SH7724
-	select GPIOLIB
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  "Kit For R2R for 2009" support.
-
-config SH_ECOVEC
-	bool "EcoVec"
-	depends on CPU_SUBTYPE_SH7724
-	select GPIOLIB
-	select SND_SOC_DA7210 if SND_SIMPLE_CARD
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Renesas "R0P7724LC0011/21RL (EcoVec)" support.
-
-config SH_SH7763RDP
-	bool "SH7763RDP"
-	depends on CPU_SUBTYPE_SH7763
-	help
-	  Select SH7763RDP if configuring for a Renesas SH7763
-	  evaluation board.
-
-config SH_ESPT
-	bool "ESPT"
-	depends on CPU_SUBTYPE_SH7763
-	help
-	  Select ESPT if configuring for a Renesas SH7763
-	  with gigabit ether evaluation board.
-
-config SH_EDOSK7705
-	bool "EDOSK7705"
-	depends on CPU_SUBTYPE_SH7705
-
-config SH_EDOSK7760
-	bool "EDOSK7760"
-	depends on CPU_SUBTYPE_SH7760
-	help
-	  Select if configuring for a Renesas EDOSK7760
-	  evaluation board.
-
-config SH_SH4202_MICRODEV
-	bool "SH4-202 MicroDev"
-	depends on CPU_SUBTYPE_SH4_202
-	help
-	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
-	  with an SH4-202 CPU.
-
-config SH_LANDISK
-	bool "LANDISK"
-	depends on CPU_SUBTYPE_SH7751R
-	select HAVE_PCI
-	help
-	  I-O DATA DEVICE, INC. "LANDISK Series" support.
-
-config SH_TITAN
-	bool "TITAN"
-	depends on CPU_SUBTYPE_SH7751R
-	select CPU_HAS_IPR_IRQ
-	select HAVE_PCI
-	help
-	  Select Titan if you are configuring for a Nimble Microsystems
-	  NetEngine NP51R.
-
-config SH_SHMIN
-	bool "SHMIN"
-	depends on CPU_SUBTYPE_SH7706
-	select CPU_HAS_IPR_IRQ
-	help
-	  Select SHMIN if configuring for the SHMIN board.
-
-config SH_LBOX_RE2
-	bool "L-BOX RE2"
-	depends on CPU_SUBTYPE_SH7751R
-	select HAVE_PCI
-	help
-	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
-
-config SH_X3PROTO
-	bool "SH-X3 Prototype board"
-	depends on CPU_SUBTYPE_SHX3
-	select NO_IOPORT_MAP if !PCI
-	select IRQ_DOMAIN
-
-config SH_MAGIC_PANEL_R2
-	bool "Magic Panel R2"
-	depends on CPU_SUBTYPE_SH7720
-	select GPIOLIB
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  Select Magic Panel R2 if configuring for Magic Panel R2.
-
-config SH_POLARIS
-	bool "SMSC Polaris"
-	select CPU_HAS_IPR_IRQ
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	depends on CPU_SUBTYPE_SH7709
-	help
-	  Select if configuring for an SMSC Polaris development board
-
-config SH_SH2007
-	bool "SH-2007 board"
-	select NO_IOPORT_MAP
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	depends on CPU_SUBTYPE_SH7780
-	help
-	  SH-2007 is a single-board computer based around SH7780 chip
-	  intended for embedded applications.
-	  It has an Ethernet interface (SMC9118), direct connected
-	  Compact Flash socket, two serial ports and PC-104 bus.
-	  More information at <http://sh2000.sh-linux.org>.
-
-config SH_APSH4A3A
-	bool "AP-SH4A-3A"
-	select SH_ALPHA_BOARD
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	depends on CPU_SUBTYPE_SH7785
-	help
-	  Select AP-SH4A-3A if configuring for an ALPHAPROJECT AP-SH4A-3A.
-
-config SH_APSH4AD0A
-	bool "AP-SH4AD-0A"
-	select SH_ALPHA_BOARD
-	select HAVE_PCI
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	depends on CPU_SUBTYPE_SH7786
-	help
-	  Select AP-SH4AD-0A if configuring for an ALPHAPROJECT AP-SH4AD-0A.
-
-source "arch/sh/boards/mach-r2d/Kconfig"
-source "arch/sh/boards/mach-highlander/Kconfig"
-source "arch/sh/boards/mach-sdk7780/Kconfig"
-source "arch/sh/boards/mach-migor/Kconfig"
-source "arch/sh/boards/mach-rsk/Kconfig"
-
-if SH_MAGIC_PANEL_R2
-
-menu "Magic Panel R2 options"
-
-config SH_MAGIC_PANEL_R2_VERSION
-	int "Magic Panel R2 Version"
-	default "3"
-	help
-	  Set the version of the Magic Panel R2
-
-endmenu
-
-endif
-
-endmenu
diff --git a/arch/sh/boards/Makefile b/arch/sh/boards/Makefile
deleted file mode 100644
index 4002a22a7c409b..00000000000000
--- a/arch/sh/boards/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Specific board support, not covered by a mach group.
-#
-obj-$(CONFIG_SH_MAGIC_PANEL_R2)	+= board-magicpanelr2.o
-obj-$(CONFIG_SH_SECUREEDGE5410)	+= board-secureedge5410.o
-obj-$(CONFIG_SH_SH2007)		+= board-sh2007.o
-obj-$(CONFIG_SH_SH7785LCR)	+= board-sh7785lcr.o
-obj-$(CONFIG_SH_URQUELL)	+= board-urquell.o
-obj-$(CONFIG_SH_SHMIN)		+= board-shmin.o
-obj-$(CONFIG_SH_EDOSK7705)	+= board-edosk7705.o
-obj-$(CONFIG_SH_EDOSK7760)	+= board-edosk7760.o
-obj-$(CONFIG_SH_ESPT)		+= board-espt.o
-obj-$(CONFIG_SH_POLARIS)	+= board-polaris.o
-obj-$(CONFIG_SH_TITAN)		+= board-titan.o
-obj-$(CONFIG_SH_SH7757LCR)	+= board-sh7757lcr.o
-obj-$(CONFIG_SH_APSH4A3A)	+= board-apsh4a3a.o
-obj-$(CONFIG_SH_APSH4AD0A)	+= board-apsh4ad0a.o
-
-obj-$(CONFIG_SH_DEVICE_TREE)	+= of-generic.o
diff --git a/arch/sh/boards/board-apsh4a3a.c b/arch/sh/boards/board-apsh4a3a.c
deleted file mode 100644
index abf19a947df354..00000000000000
--- a/arch/sh/boards/board-apsh4a3a.c
+++ /dev/null
@@ -1,182 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * ALPHAPROJECT AP-SH4A-3A Support.
- *
- * Copyright (C) 2010 ALPHAPROJECT Co.,Ltd.
- * Copyright (C) 2008  Yoshihiro Shimoda
- * Copyright (C) 2009  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/io.h>
-#include <linux/mtd/physmap.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/irq.h>
-#include <linux/clk.h>
-#include <asm/machvec.h>
-#include <linux/sizes.h>
-#include <asm/clock.h>
-
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name		= "loader",
-		.offset		= 0x00000000,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "bootenv",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "kernel",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 4 * 1024 * 1024,
-	},
-	{
-		.name		= "data",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 4,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0]	= {
-		.start	= 0x00000000,
-		.end	= 0x01000000 - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.dev		= {
-		.platform_data	= &nor_flash_data,
-	},
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.resource	= nor_flash_resources,
-};
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.name		= "smsc911x-memory",
-		.start		= 0xA4000000,
-		.end		= 0xA4000000 + SZ_256 - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name		= "smsc911x-irq",
-		.start		= evt2irq(0x200),
-		.end		= evt2irq(0x200),
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_16BIT,
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev = {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct platform_device *apsh4a3a_devices[] __initdata = {
-	&nor_flash_device,
-	&smsc911x_device,
-};
-
-static int __init apsh4a3a_devices_setup(void)
-{
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	return platform_add_devices(apsh4a3a_devices,
-				    ARRAY_SIZE(apsh4a3a_devices));
-}
-device_initcall(apsh4a3a_devices_setup);
-
-static int apsh4a3a_clk_init(void)
-{
-	struct clk *clk;
-	int ret;
-
-	clk = clk_get(NULL, "extal");
-	if (IS_ERR(clk))
-		return PTR_ERR(clk);
-	ret = clk_set_rate(clk, 33333000);
-	clk_put(clk);
-
-	return ret;
-}
-
-/* Initialize the board */
-static void __init apsh4a3a_setup(char **cmdline_p)
-{
-	printk(KERN_INFO "Alpha Project AP-SH4A-3A support:\n");
-}
-
-static void __init apsh4a3a_init_irq(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ7654);
-}
-
-/* Return the board specific boot mode pin configuration */
-static int apsh4a3a_mode_pins(void)
-{
-	int value = 0;
-
-	/* These are the factory default settings of SW1 and SW2.
-	 * If you change these dip switches then you will need to
-	 * adjust the values below as well.
-	 */
-	value &= ~MODE_PIN0;  /* Clock Mode 16 */
-	value &= ~MODE_PIN1;
-	value &= ~MODE_PIN2;
-	value &= ~MODE_PIN3;
-	value |=  MODE_PIN4;
-	value &= ~MODE_PIN5;  /* 16-bit Area0 bus width */
-	value |=  MODE_PIN6;  /* Area 0 SRAM interface */
-	value |=  MODE_PIN7;
-	value |=  MODE_PIN8;  /* Little Endian */
-	value |=  MODE_PIN9;  /* Master Mode */
-	value |=  MODE_PIN10; /* Crystal resonator */
-	value |=  MODE_PIN11; /* Display Unit */
-	value |=  MODE_PIN12;
-	value &= ~MODE_PIN13; /* 29-bit address mode */
-	value |=  MODE_PIN14; /* No PLL step-up */
-
-	return value;
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_apsh4a3a __initmv = {
-	.mv_name		= "AP-SH4A-3A",
-	.mv_setup		= apsh4a3a_setup,
-	.mv_clk_init		= apsh4a3a_clk_init,
-	.mv_init_irq		= apsh4a3a_init_irq,
-	.mv_mode_pins		= apsh4a3a_mode_pins,
-};
diff --git a/arch/sh/boards/board-apsh4ad0a.c b/arch/sh/boards/board-apsh4ad0a.c
deleted file mode 100644
index fa031a16c9b5c7..00000000000000
--- a/arch/sh/boards/board-apsh4ad0a.c
+++ /dev/null
@@ -1,132 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * ALPHAPROJECT AP-SH4AD-0A Support.
- *
- * Copyright (C) 2010 ALPHAPROJECT Co.,Ltd.
- * Copyright (C) 2010  Matt Fleming
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/io.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/irq.h>
-#include <linux/clk.h>
-#include <asm/machvec.h>
-#include <linux/sizes.h>
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.name		= "smsc911x-memory",
-		.start		= 0xA4000000,
-		.end		= 0xA4000000 + SZ_256 - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name		= "smsc911x-irq",
-		.start		= evt2irq(0x200),
-		.end		= evt2irq(0x200),
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_16BIT,
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev = {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct platform_device *apsh4ad0a_devices[] __initdata = {
-	&smsc911x_device,
-};
-
-static int __init apsh4ad0a_devices_setup(void)
-{
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	return platform_add_devices(apsh4ad0a_devices,
-				    ARRAY_SIZE(apsh4ad0a_devices));
-}
-device_initcall(apsh4ad0a_devices_setup);
-
-static int apsh4ad0a_mode_pins(void)
-{
-	int value = 0;
-
-	/* These are the factory default settings of SW1 and SW2.
-	 * If you change these dip switches then you will need to
-	 * adjust the values below as well.
-	 */
-	value |=  MODE_PIN0;  /* Clock Mode 3 */
-	value |=  MODE_PIN1;
-	value &= ~MODE_PIN2;
-	value &= ~MODE_PIN3;
-	value &= ~MODE_PIN4;  /* 16-bit Area0 bus width  */
-	value |=  MODE_PIN5;
-	value |=  MODE_PIN6;
-	value |=  MODE_PIN7;  /* Normal mode */
-	value |=  MODE_PIN8;  /* Little Endian */
-	value |=  MODE_PIN9;  /* Crystal resonator */
-	value &= ~MODE_PIN10; /* 29-bit address mode */
-	value &= ~MODE_PIN11; /* PCI-E Root port */
-	value &= ~MODE_PIN12; /* 4 lane + 1 lane */
-	value |=  MODE_PIN13; /* AUD Enable */
-	value &= ~MODE_PIN14; /* Normal Operation */
-
-	return value;
-}
-
-static int apsh4ad0a_clk_init(void)
-{
-	struct clk *clk;
-	int ret;
-
-	clk = clk_get(NULL, "extal");
-	if (IS_ERR(clk))
-		return PTR_ERR(clk);
-	ret = clk_set_rate(clk, 33333000);
-	clk_put(clk);
-
-	return ret;
-}
-
-/* Initialize the board */
-static void __init apsh4ad0a_setup(char **cmdline_p)
-{
-	pr_info("Alpha Project AP-SH4AD-0A support:\n");
-}
-
-static void __init apsh4ad0a_init_irq(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ3210);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_apsh4ad0a __initmv = {
-	.mv_name		= "AP-SH4AD-0A",
-	.mv_setup		= apsh4ad0a_setup,
-	.mv_mode_pins		= apsh4ad0a_mode_pins,
-	.mv_clk_init		= apsh4ad0a_clk_init,
-	.mv_init_irq		= apsh4ad0a_init_irq,
-};
diff --git a/arch/sh/boards/board-edosk7705.c b/arch/sh/boards/board-edosk7705.c
deleted file mode 100644
index 0de7d603da2d8c..00000000000000
--- a/arch/sh/boards/board-edosk7705.c
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/renesas/edosk7705/setup.c
- *
- * Copyright (C) 2000  Kazumoto Kojima
- *
- * Hitachi SolutionEngine Support.
- *
- * Modified for edosk7705 development
- * board by S. Dunn, 2003.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/smc91x.h>
-#include <linux/sh_intc.h>
-#include <asm/machvec.h>
-#include <linux/sizes.h>
-
-#define SMC_IOBASE	0xA2000000
-#define SMC_IO_OFFSET	0x300
-#define SMC_IOADDR	(SMC_IOBASE + SMC_IO_OFFSET)
-
-#define ETHERNET_IRQ	evt2irq(0x320)
-
-static void __init sh_edosk7705_init_irq(void)
-{
-	make_imask_irq(ETHERNET_IRQ);
-}
-
-/* eth initialization functions */
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT | SMC91X_IO_SHIFT_1 | IORESOURCE_IRQ_LOWLEVEL,
-};
-
-static struct resource smc91x_res[] = {
-	[0] = {
-		.start	= SMC_IOADDR,
-		.end	= SMC_IOADDR + SZ_32 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= ETHERNET_IRQ,
-		.end	= ETHERNET_IRQ,
-		.flags	= IORESOURCE_IRQ ,
-	}
-};
-
-static struct platform_device smc91x_dev = {
-	.name		= "smc91x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smc91x_res),
-	.resource	= smc91x_res,
-
-	.dev	= {
-		.platform_data	= &smc91x_info,
-	},
-};
-
-/* platform init code */
-static struct platform_device *edosk7705_devices[] __initdata = {
-	&smc91x_dev,
-};
-
-static int __init init_edosk7705_devices(void)
-{
-	return platform_add_devices(edosk7705_devices,
-				    ARRAY_SIZE(edosk7705_devices));
-}
-device_initcall(init_edosk7705_devices);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_edosk7705 __initmv = {
-	.mv_name		= "EDOSK7705",
-	.mv_init_irq		= sh_edosk7705_init_irq,
-};
diff --git a/arch/sh/boards/board-edosk7760.c b/arch/sh/boards/board-edosk7760.c
deleted file mode 100644
index 7569d85c5ff5a8..00000000000000
--- a/arch/sh/boards/board-edosk7760.c
+++ /dev/null
@@ -1,178 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Renesas Europe EDOSK7760 Board Support
- *
- * Copyright (C) 2008 SPES Societa' Progettazione Elettronica e Software Ltd.
- * Author: Luca Santini <luca.santini at spesonline.com>
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/smc91x.h>
-#include <linux/interrupt.h>
-#include <linux/sh_intc.h>
-#include <linux/i2c.h>
-#include <linux/mtd/physmap.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <asm/addrspace.h>
-#include <asm/delay.h>
-#include <asm/i2c-sh7760.h>
-#include <linux/sizes.h>
-
-/* Bus state controller registers for CS4 area */
-#define BSC_CS4BCR	0xA4FD0010
-#define BSC_CS4WCR	0xA4FD0030
-
-#define SMC_IOBASE	0xA2000000
-#define SMC_IO_OFFSET	0x300
-#define SMC_IOADDR	(SMC_IOBASE + SMC_IO_OFFSET)
-
-/* NOR flash */
-static struct mtd_partition edosk7760_nor_flash_partitions[] = {
-	{
-		.name = "bootloader",
-		.offset = 0,
-		.size = SZ_256K,
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	}, {
-		.name = "kernel",
-		.offset = MTDPART_OFS_APPEND,
-		.size = SZ_2M,
-	}, {
-		.name = "fs",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (26 << 20),
-	}, {
-		.name = "other",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data edosk7760_nor_flash_data = {
-	.width		= 4,
-	.parts		= edosk7760_nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(edosk7760_nor_flash_partitions),
-};
-
-static struct resource edosk7760_nor_flash_resources[] = {
-	[0] = {
-		.name	= "NOR Flash",
-		.start	= 0x00000000,
-		.end	= 0x00000000 + SZ_32M - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device edosk7760_nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= edosk7760_nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(edosk7760_nor_flash_resources),
-	.dev		= {
-		.platform_data = &edosk7760_nor_flash_data,
-	},
-};
-
-/* i2c initialization functions */
-static struct sh7760_i2c_platdata i2c_pd = {
-	.speed_khz	= 400,
-};
-
-static struct resource sh7760_i2c1_res[] = {
-	{
-		.start	= SH7760_I2C1_MMIO,
-		.end	= SH7760_I2C1_MMIOEND,
-		.flags	= IORESOURCE_MEM,
-	},{
-		.start	= evt2irq(0x9e0),
-		.end	= evt2irq(0x9e0),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh7760_i2c1_dev = {
-	.dev    = {
-		.platform_data	= &i2c_pd,
-	},
-
-	.name		= SH7760_I2C_DEVNAME,
-	.id		= 1,
-	.resource	= sh7760_i2c1_res,
-	.num_resources	= ARRAY_SIZE(sh7760_i2c1_res),
-};
-
-static struct resource sh7760_i2c0_res[] = {
-	{
-		.start	= SH7760_I2C0_MMIO,
-		.end	= SH7760_I2C0_MMIOEND,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.start	= evt2irq(0x9c0),
-		.end	= evt2irq(0x9c0),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh7760_i2c0_dev = {
-	.dev    = {
-		.platform_data	= &i2c_pd,
-	},
-	.name		= SH7760_I2C_DEVNAME,
-	.id		= 0,
-	.resource	= sh7760_i2c0_res,
-	.num_resources	= ARRAY_SIZE(sh7760_i2c0_res),
-};
-
-/* eth initialization functions */
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT | SMC91X_IO_SHIFT_1 | IORESOURCE_IRQ_LOWLEVEL,
-};
-
-static struct resource smc91x_res[] = {
-	[0] = {
-		.start	= SMC_IOADDR,
-		.end	= SMC_IOADDR + SZ_32 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x2a0),
-		.end	= evt2irq(0x2a0),
-		.flags	= IORESOURCE_IRQ ,
-	}
-};
-
-static struct platform_device smc91x_dev = {
-	.name		= "smc91x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smc91x_res),
-	.resource	= smc91x_res,
-
-	.dev	= {
-		.platform_data	= &smc91x_info,
-	},
-};
-
-/* platform init code */
-static struct platform_device *edosk7760_devices[] __initdata = {
-	&smc91x_dev,
-	&edosk7760_nor_flash_device,
-	&sh7760_i2c0_dev,
-	&sh7760_i2c1_dev,
-};
-
-static int __init init_edosk7760_devices(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-
-	return platform_add_devices(edosk7760_devices,
-				    ARRAY_SIZE(edosk7760_devices));
-}
-device_initcall(init_edosk7760_devices);
-
-/*
- * The Machine Vector
- */
-struct sh_machine_vector mv_edosk7760 __initmv = {
-	.mv_name	= "EDOSK7760",
-};
diff --git a/arch/sh/boards/board-espt.c b/arch/sh/boards/board-espt.c
deleted file mode 100644
index 6e784b5cf5a0b2..00000000000000
--- a/arch/sh/boards/board-espt.c
+++ /dev/null
@@ -1,105 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Data Technology Inc. ESPT-GIGA board support
- *
- * Copyright (C) 2008, 2009 Renesas Solutions Corp.
- * Copyright (C) 2008, 2009 Nobuhiro Iwamatsu <iwamatsu.nobuhiro at renesas.com>
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/mtd/physmap.h>
-#include <linux/io.h>
-#include <linux/sh_eth.h>
-#include <linux/sh_intc.h>
-#include <asm/machvec.h>
-#include <linux/sizes.h>
-
-/* NOR Flash */
-static struct mtd_partition espt_nor_flash_partitions[] = {
-	{
-		.name = "U-Boot",
-		.offset = 0,
-		.size = (2 * SZ_128K),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	}, {
-		.name = "Linux-Kernel",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (20 * SZ_128K),
-	}, {
-		.name = "Root Filesystem",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data espt_nor_flash_data = {
-	.width = 2,
-	.parts = espt_nor_flash_partitions,
-	.nr_parts = ARRAY_SIZE(espt_nor_flash_partitions),
-};
-
-static struct resource espt_nor_flash_resources[] = {
-	[0] = {
-		.name = "NOR Flash",
-		.start = 0,
-		.end = SZ_8M - 1,
-		.flags = IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device espt_nor_flash_device = {
-	.name = "physmap-flash",
-	.resource = espt_nor_flash_resources,
-	.num_resources = ARRAY_SIZE(espt_nor_flash_resources),
-	.dev = {
-		.platform_data = &espt_nor_flash_data,
-	},
-};
-
-/* SH-Ether */
-static struct resource sh_eth_resources[] = {
-	{
-		.start  = 0xFEE00800,   /* use eth1 */
-		.end    = 0xFEE00F7C - 1,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = 0xFEE01800,   /* TSU */
-		.end    = 0xFEE01FFF,
-		.flags  = IORESOURCE_MEM,
-	}, {
-
-		.start  = evt2irq(0x920),   /* irq number */
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7763_eth_pdata = {
-	.phy = 0,
-	.phy_interface = PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device espt_eth_device = {
-	.name       = "sh7763-gether",
-	.resource   = sh_eth_resources,
-	.num_resources  = ARRAY_SIZE(sh_eth_resources),
-	.dev        = {
-		.platform_data = &sh7763_eth_pdata,
-	},
-};
-
-static struct platform_device *espt_devices[] __initdata = {
-	&espt_nor_flash_device,
-	&espt_eth_device,
-};
-
-static int __init espt_devices_setup(void)
-{
-	return platform_add_devices(espt_devices,
-				    ARRAY_SIZE(espt_devices));
-}
-device_initcall(espt_devices_setup);
-
-static struct sh_machine_vector mv_espt __initmv = {
-	.mv_name = "ESPT-GIGA",
-};
diff --git a/arch/sh/boards/board-magicpanelr2.c b/arch/sh/boards/board-magicpanelr2.c
deleted file mode 100644
index 56bd386ff3b043..00000000000000
--- a/arch/sh/boards/board-magicpanelr2.c
+++ /dev/null
@@ -1,390 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/magicpanel/setup.c
- *
- *  Copyright (C) 2007  Markus Brunner, Mark Jonas
- *
- *  Magic Panel Release 2 board setup
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/platform_device.h>
-#include <linux/delay.h>
-#include <linux/gpio.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/map.h>
-#include <linux/sh_intc.h>
-#include <mach/magicpanelr2.h>
-#include <asm/heartbeat.h>
-#include <cpu/sh7720.h>
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-#define LAN9115_READY	(__raw_readl(0xA8000084UL) & 0x00000001UL)
-
-/* Wait until reset finished. Timeout is 100ms. */
-static int __init ethernet_reset_finished(void)
-{
-	int i;
-
-	if (LAN9115_READY)
-		return 1;
-
-	for (i = 0; i < 10; ++i) {
-		mdelay(10);
-		if (LAN9115_READY)
-			return 1;
-	}
-
-	return 0;
-}
-
-static void __init reset_ethernet(void)
-{
-	/* PMDR: LAN_RESET=on */
-	CLRBITS_OUTB(0x10, PORT_PMDR);
-
-	udelay(200);
-
-	/* PMDR: LAN_RESET=off */
-	SETBITS_OUTB(0x10, PORT_PMDR);
-}
-
-static void __init setup_chip_select(void)
-{
-	/* CS2: LAN (0x08000000 - 0x0bffffff) */
-	/* no idle cycles, normal space, 8 bit data bus */
-	__raw_writel(0x36db0400, CS2BCR);
-	/* (SW:1.5 WR:3 HW:1.5), ext. wait */
-	__raw_writel(0x000003c0, CS2WCR);
-
-	/* CS4: CAN1 (0xb0000000 - 0xb3ffffff) */
-	/* no idle cycles, normal space, 8 bit data bus */
-	__raw_writel(0x00000200, CS4BCR);
-	/* (SW:1.5 WR:3 HW:1.5), ext. wait */
-	__raw_writel(0x00100981, CS4WCR);
-
-	/* CS5a: CAN2 (0xb4000000 - 0xb5ffffff) */
-	/* no idle cycles, normal space, 8 bit data bus */
-	__raw_writel(0x00000200, CS5ABCR);
-	/* (SW:1.5 WR:3 HW:1.5), ext. wait */
-	__raw_writel(0x00100981, CS5AWCR);
-
-	/* CS5b: CAN3 (0xb6000000 - 0xb7ffffff) */
-	/* no idle cycles, normal space, 8 bit data bus */
-	__raw_writel(0x00000200, CS5BBCR);
-	/* (SW:1.5 WR:3 HW:1.5), ext. wait */
-	__raw_writel(0x00100981, CS5BWCR);
-
-	/* CS6a: Rotary (0xb8000000 - 0xb9ffffff) */
-	/* no idle cycles, normal space, 8 bit data bus */
-	__raw_writel(0x00000200, CS6ABCR);
-	/* (SW:1.5 WR:3 HW:1.5), no ext. wait */
-	__raw_writel(0x001009C1, CS6AWCR);
-}
-
-static void __init setup_port_multiplexing(void)
-{
-	/* A7 GPO(LED8);     A6 GPO(LED7);     A5 GPO(LED6);	  A4 GPO(LED5);
-	 * A3 GPO(LED4);     A2 GPO(LED3);     A1 GPO(LED2);	  A0 GPO(LED1);
-	 */
-	__raw_writew(0x5555, PORT_PACR);	/* 01 01 01 01 01 01 01 01 */
-
-	/* B7 GPO(RST4);   B6 GPO(RST3);  B5 GPO(RST2);    B4 GPO(RST1);
-	 * B3 GPO(PB3);	   B2 GPO(PB2);	  B1 GPO(PB1);	   B0 GPO(PB0);
-	 */
-	__raw_writew(0x5555, PORT_PBCR);	/* 01 01 01 01 01 01 01 01 */
-
-	/* C7 GPO(PC7);	  C6 GPO(PC6);	  C5 GPO(PC5);	   C4 GPO(PC4);
-	 * C3 LCD_DATA3;  C2 LCD_DATA2;   C1 LCD_DATA1;	   C0 LCD_DATA0;
-	 */
-	__raw_writew(0x5500, PORT_PCCR);	/* 01 01 01 01 00 00 00 00 */
-
-	/* D7 GPO(PD7);	D6 GPO(PD6);	D5 GPO(PD5);	   D4 GPO(PD4);
-	 * D3 GPO(PD3);	D2 GPO(PD2);	D1 GPO(PD1);	   D0 GPO(PD0);
-	 */
-	__raw_writew(0x5555, PORT_PDCR);	/* 01 01 01 01 01 01 01 01 */
-
-	/* E7 (x);	  E6 GPI(nu);	 E5 GPI(nu);	  E4 LCD_M_DISP;
-	 * E3 LCD_CL1;	  E2 LCD_CL2;	 E1 LCD_DON;	  E0 LCD_FLM;
-	 */
-	__raw_writew(0x3C00, PORT_PECR);	/* 00 11 11 00 00 00 00 00 */
-
-	/* F7 (x);	     F6 DA1(VLCD);     F5 DA0(nc);	  F4 AN3;
-	 * F3 AN2(MID_AD);   F2 AN1(EARTH_AD); F1 AN0(TEMP);	  F0 GPI+(nc);
-	 */
-	__raw_writew(0x0002, PORT_PFCR);	/* 00 00 00 00 00 00 00 10 */
-
-	/* G7 (x);	  G6 IRQ5(TOUCH_BUSY); G5 IRQ4(TOUCH_IRQ); G4 GPI(KEY2);
-	 * G3 GPI(KEY1);  G2 GPO(LED11);	G1 GPO(LED10);     G0 GPO(LED9);
-	 */
-	__raw_writew(0x03D5, PORT_PGCR);	/* 00 00 00 11 11 01 01 01 */
-
-	/* H7 (x);	      H6 /RAS(BRAS);	  H5 /CAS(BCAS); H4 CKE(BCKE);
-	 * H3 GPO(EARTH_OFF); H2 GPO(EARTH_TEST); H1 USB2_PWR;	 H0 USB1_PWR;
-	 */
-	__raw_writew(0x0050, PORT_PHCR);	/* 00 00 00 00 01 01 00 00 */
-
-	/* J7 (x);	  J6 AUDCK;	   J5 ASEBRKAK;	    J4 AUDATA3;
-	 * J3 AUDATA2;	  J2 AUDATA1;	   J1 AUDATA0;	    J0 AUDSYNC;
-	 */
-	__raw_writew(0x0000, PORT_PJCR);	/* 00 00 00 00 00 00 00 00 */
-
-	/* K7 (x);	    K6 (x);	     K5 (x);	   K4 (x);
-	 * K3 PINT7(/PWR2); K2 PINT6(/PWR1); K1 PINT5(nu); K0 PINT4(FLASH_READY)
-	 */
-	__raw_writew(0x00FF, PORT_PKCR);	/* 00 00 00 00 11 11 11 11 */
-
-	/* L7 TRST;	   L6 TMS;	     L5 TDO;		  L4 TDI;
-	 * L3 TCK;	   L2 (x);	     L1 (x);		  L0 (x);
-	 */
-	__raw_writew(0x0000, PORT_PLCR);	/* 00 00 00 00 00 00 00 00 */
-
-	/* M7 GPO(CURRENT_SINK);    M6 GPO(PWR_SWITCH);     M5 GPO(LAN_SPEED);
-	 * M4 GPO(LAN_RESET);       M3 GPO(BUZZER);	    M2 GPO(LCD_BL);
-	 * M1 CS5B(CAN3_CS);	    M0 GPI+(nc);
-	 */
-	__raw_writew(0x5552, PORT_PMCR);	   /* 01 01 01 01 01 01 00 10 */
-
-	/* CURRENT_SINK=off,	PWR_SWITCH=off, LAN_SPEED=100MBit,
-	 * LAN_RESET=off,	BUZZER=off,	LCD_BL=off
-	 */
-#if CONFIG_SH_MAGIC_PANEL_R2_VERSION == 2
-	__raw_writeb(0x30, PORT_PMDR);
-#elif CONFIG_SH_MAGIC_PANEL_R2_VERSION == 3
-	__raw_writeb(0xF0, PORT_PMDR);
-#else
-#error Unknown revision of PLATFORM_MP_R2
-#endif
-
-	/* P7 (x);	       P6 (x);		  P5 (x);
-	 * P4 GPO(nu);	       P3 IRQ3(LAN_IRQ);  P2 IRQ2(CAN3_IRQ);
-	 * P1 IRQ1(CAN2_IRQ);  P0 IRQ0(CAN1_IRQ)
-	 */
-	__raw_writew(0x0100, PORT_PPCR);	/* 00 00 00 01 00 00 00 00 */
-	__raw_writeb(0x10, PORT_PPDR);
-
-	/* R7 A25;	     R6 A24;	     R5 A23;		  R4 A22;
-	 * R3 A21;	     R2 A20;	     R1 A19;		  R0 A0;
-	 */
-	gpio_request(GPIO_FN_A25, NULL);
-	gpio_request(GPIO_FN_A24, NULL);
-	gpio_request(GPIO_FN_A23, NULL);
-	gpio_request(GPIO_FN_A22, NULL);
-	gpio_request(GPIO_FN_A21, NULL);
-	gpio_request(GPIO_FN_A20, NULL);
-	gpio_request(GPIO_FN_A19, NULL);
-	gpio_request(GPIO_FN_A0, NULL);
-
-	/* S7 (x);		S6 (x);        S5 (x);	     S4 GPO(EEPROM_CS2);
-	 * S3 GPO(EEPROM_CS1);  S2 SIOF0_TXD;  S1 SIOF0_RXD; S0 SIOF0_SCK;
-	 */
-	__raw_writew(0x0140, PORT_PSCR);	/* 00 00 00 01 01 00 00 00 */
-
-	/* T7 (x);	   T6 (x);	  T5 (x);	  T4 COM1_CTS;
-	 * T3 COM1_RTS;	   T2 COM1_TXD;	  T1 COM1_RXD;	  T0 GPO(WDOG)
-	 */
-	__raw_writew(0x0001, PORT_PTCR);	/* 00 00 00 00 00 00 00 01 */
-
-	/* U7 (x);	     U6 (x);	   U5 (x);	  U4 GPI+(/AC_FAULT);
-	 * U3 GPO(TOUCH_CS); U2 TOUCH_TXD; U1 TOUCH_RXD;  U0 TOUCH_SCK;
-	 */
-	__raw_writew(0x0240, PORT_PUCR);	/* 00 00 00 10 01 00 00 00 */
-
-	/* V7 (x);	  V6 (x);	V5 (x);		  V4 GPO(MID2);
-	 * V3 GPO(MID1);  V2 CARD_TxD;	V1 CARD_RxD;	  V0 GPI+(/BAT_FAULT);
-	 */
-	__raw_writew(0x0142, PORT_PVCR);	/* 00 00 00 01 01 00 00 10 */
-}
-
-static void __init mpr2_setup(char **cmdline_p)
-{
-	/* set Pin Select Register A:
-	 * /PCC_CD1, /PCC_CD2,  PCC_BVD1, PCC_BVD2,
-	 * /IOIS16,  IRQ4,	IRQ5,	  USB1d_SUSPEND
-	 */
-	__raw_writew(0xAABC, PORT_PSELA);
-	/* set Pin Select Register B:
-	 * /SCIF0_RTS, /SCIF0_CTS, LCD_VCPWC,
-	 * LCD_VEPWC,  IIC_SDA,    IIC_SCL, Reserved
-	 */
-	__raw_writew(0x3C00, PORT_PSELB);
-	/* set Pin Select Register C:
-	 * SIOF1_SCK, SIOF1_RxD, SCIF1_RxD, SCIF1_TxD, Reserved
-	 */
-	__raw_writew(0x0000, PORT_PSELC);
-	/* set Pin Select Register D: Reserved, SIOF1_TxD, Reserved, SIOF1_MCLK,
-	 * Reserved, SIOF1_SYNC, Reserved, SCIF1_SCK, Reserved
-	 */
-	__raw_writew(0x0000, PORT_PSELD);
-	/* set USB TxRx Control: Reserved, DRV, Reserved, USB_TRANS, USB_SEL */
-	__raw_writew(0x0101, PORT_UTRCTL);
-	/* set USB Clock Control: USSCS, USSTB, Reserved (HighByte always A5) */
-	__raw_writew(0xA5C0, PORT_UCLKCR_W);
-
-	setup_chip_select();
-
-	setup_port_multiplexing();
-
-	reset_ethernet();
-
-	printk(KERN_INFO "Magic Panel Release 2 A.%i\n",
-				CONFIG_SH_MAGIC_PANEL_R2_VERSION);
-
-	if (ethernet_reset_finished() == 0)
-		printk(KERN_WARNING "Ethernet not ready\n");
-}
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.start		= 0xa8000000,
-		.end		= 0xabffffff,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= evt2irq(0x660),
-		.end		= evt2irq(0x660),
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_32BIT,
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev = {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= PA_LED,
-		.end	= PA_LED,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct heartbeat_data heartbeat_data = {
-	.flags		= HEARTBEAT_INVERTED,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct mtd_partition mpr2_partitions[] = {
-	/* Reserved for bootloader, read-only */
-	{
-		.name = "Bootloader",
-		.offset = 0x00000000UL,
-		.size = MPR2_MTD_BOOTLOADER_SIZE,
-		.mask_flags = MTD_WRITEABLE,
-	},
-	/* Reserved for kernel image */
-	{
-		.name = "Kernel",
-		.offset = MTDPART_OFS_NXTBLK,
-		.size = MPR2_MTD_KERNEL_SIZE,
-	},
-	/* Rest is used for Flash FS */
-	{
-		.name = "Flash_FS",
-		.offset = MTDPART_OFS_NXTBLK,
-		.size = MTDPART_SIZ_FULL,
-	}
-};
-
-static struct physmap_flash_data flash_data = {
-	.parts		= mpr2_partitions,
-	.nr_parts	= ARRAY_SIZE(mpr2_partitions),
-	.width		= 2,
-};
-
-static struct resource flash_resource = {
-	.start		= 0x00000000,
-	.end		= 0x2000000UL,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device flash_device = {
-	.name		= "physmap-flash",
-	.id		= -1,
-	.resource	= &flash_resource,
-	.num_resources	= 1,
-	.dev		= {
-		.platform_data = &flash_data,
-	},
-};
-
-/*
- * Add all resources to the platform_device
- */
-
-static struct platform_device *mpr2_devices[] __initdata = {
-	&heartbeat_device,
-	&smsc911x_device,
-	&flash_device,
-};
-
-
-static int __init mpr2_devices_setup(void)
-{
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	return platform_add_devices(mpr2_devices, ARRAY_SIZE(mpr2_devices));
-}
-device_initcall(mpr2_devices_setup);
-
-/*
- * Initialize IRQ setting
- */
-static void __init init_mpr2_IRQ(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ); /* install handlers for IRQ0-5 */
-
-	irq_set_irq_type(evt2irq(0x600), IRQ_TYPE_LEVEL_LOW);    /* IRQ0 CAN1 */
-	irq_set_irq_type(evt2irq(0x620), IRQ_TYPE_LEVEL_LOW);    /* IRQ1 CAN2 */
-	irq_set_irq_type(evt2irq(0x640), IRQ_TYPE_LEVEL_LOW);    /* IRQ2 CAN3 */
-	irq_set_irq_type(evt2irq(0x660), IRQ_TYPE_LEVEL_LOW);    /* IRQ3 SMSC9115 */
-	irq_set_irq_type(evt2irq(0x680), IRQ_TYPE_EDGE_RISING);  /* IRQ4 touchscreen */
-	irq_set_irq_type(evt2irq(0x6a0), IRQ_TYPE_EDGE_FALLING); /* IRQ5 touchscreen */
-
-	intc_set_priority(evt2irq(0x600), 13);		/* IRQ0 CAN1 */
-	intc_set_priority(evt2irq(0x620), 13);		/* IRQ0 CAN2 */
-	intc_set_priority(evt2irq(0x640), 13);		/* IRQ0 CAN3 */
-	intc_set_priority(evt2irq(0x660), 6);		/* IRQ3 SMSC9115 */
-}
-
-/*
- * The Machine Vector
- */
-
-static struct sh_machine_vector mv_mpr2 __initmv = {
-	.mv_name		= "mpr2",
-	.mv_setup		= mpr2_setup,
-	.mv_init_irq		= init_mpr2_IRQ,
-};
diff --git a/arch/sh/boards/board-polaris.c b/arch/sh/boards/board-polaris.c
deleted file mode 100644
index 3de7bac0190392..00000000000000
--- a/arch/sh/boards/board-polaris.c
+++ /dev/null
@@ -1,156 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * June 2006 Steve Glendinning <steve.glendinning at shawell.net>
- *
- * Polaris-specific resource declaration
- *
- */
-
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/platform_device.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/io.h>
-#include <asm/irq.h>
-#include <asm/machvec.h>
-#include <asm/heartbeat.h>
-#include <cpu/gpio.h>
-#include <mach-se/mach/se.h>
-
-#define BCR2		(0xFFFFFF62)
-#define WCR2		(0xFFFFFF66)
-#define AREA5_WAIT_CTRL	(0x1C00)
-#define WAIT_STATES_10	(0x7)
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.name		= "smsc911x-memory",
-		.start		= PA_EXT5,
-		.end		= PA_EXT5 + 0x1fff,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name		= "smsc911x-irq",
-		.start		= IRQ0_IRQ,
-		.end		= IRQ0_IRQ,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_32BIT,
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev = {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static unsigned char heartbeat_bit_pos[] = { 0, 1, 2, 3 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-
-static struct resource heartbeat_resource = {
-	.start	= PORT_PCDR,
-	.end	= PORT_PCDR,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-static struct platform_device *polaris_devices[] __initdata = {
-	&smsc911x_device,
-	&heartbeat_device,
-};
-
-static int __init polaris_initialise(void)
-{
-	u16 wcr, bcr_mask;
-
-	printk(KERN_INFO "Configuring Polaris external bus\n");
-
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	/* Configure area 5 with 2 wait states */
-	wcr = __raw_readw(WCR2);
-	wcr &= (~AREA5_WAIT_CTRL);
-	wcr |= (WAIT_STATES_10 << 10);
-	__raw_writew(wcr, WCR2);
-
-	/* Configure area 5 for 32-bit access */
-	bcr_mask = __raw_readw(BCR2);
-	bcr_mask |= 1 << 10;
-	__raw_writew(bcr_mask, BCR2);
-
-	return platform_add_devices(polaris_devices,
-				    ARRAY_SIZE(polaris_devices));
-}
-arch_initcall(polaris_initialise);
-
-static struct ipr_data ipr_irq_table[] = {
-	/* External IRQs */
-	{ IRQ0_IRQ, 0,  0,  1, },	/* IRQ0 */
-	{ IRQ1_IRQ, 0,  4,  1, },	/* IRQ1 */
-};
-
-static unsigned long ipr_offsets[] = {
-	INTC_IPRC
-};
-
-static struct ipr_desc ipr_irq_desc = {
-	.ipr_offsets	= ipr_offsets,
-	.nr_offsets	= ARRAY_SIZE(ipr_offsets),
-
-	.ipr_data	= ipr_irq_table,
-	.nr_irqs	= ARRAY_SIZE(ipr_irq_table),
-	.chip = {
-		.name	= "sh7709-ext",
-	},
-};
-
-static void __init init_polaris_irq(void)
-{
-	/* Disable all interrupts */
-	__raw_writew(0, BCR_ILCRA);
-	__raw_writew(0, BCR_ILCRB);
-	__raw_writew(0, BCR_ILCRC);
-	__raw_writew(0, BCR_ILCRD);
-	__raw_writew(0, BCR_ILCRE);
-	__raw_writew(0, BCR_ILCRF);
-	__raw_writew(0, BCR_ILCRG);
-
-	register_ipr_controller(&ipr_irq_desc);
-}
-
-static struct sh_machine_vector mv_polaris __initmv = {
-	.mv_name		= "Polaris",
-	.mv_init_irq		= init_polaris_irq,
-};
diff --git a/arch/sh/boards/board-secureedge5410.c b/arch/sh/boards/board-secureedge5410.c
deleted file mode 100644
index 603a82325c65f0..00000000000000
--- a/arch/sh/boards/board-secureedge5410.c
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2002  David McCullough <davidm at snapgear.com>
- * Copyright (C) 2003  Paul Mundt <lethal at linux-sh.org>
- *
- * Based on files with the following comments:
- *
- *           Copyright (C) 2000  Kazumoto Kojima
- *
- *           Modified for 7751 Solution Engine by
- *           Ian da Silva and Jeremy Siegel, 2001.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/timer.h>
-#include <linux/delay.h>
-#include <linux/sched.h>
-#include <asm/machvec.h>
-#include <mach/secureedge5410.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-#include <cpu/timer.h>
-
-unsigned short secureedge5410_ioport;
-
-/*
- * EraseConfig handling functions
- */
-static irqreturn_t eraseconfig_interrupt(int irq, void *dev_id)
-{
-	printk("SnapGear: erase switch interrupt!\n");
-
-	return IRQ_HANDLED;
-}
-
-static int __init eraseconfig_init(void)
-{
-	unsigned int irq = evt2irq(0x240);
-
-	printk("SnapGear: EraseConfig init\n");
-
-	/* Setup "EraseConfig" switch on external IRQ 0 */
-	if (request_irq(irq, eraseconfig_interrupt, 0, "Erase Config", NULL))
-		printk("SnapGear: failed to register IRQ%d for Reset witch\n",
-				irq);
-	else
-		printk("SnapGear: registered EraseConfig switch on IRQ%d\n",
-				irq);
-	return 0;
-}
-device_initcall(eraseconfig_init);
-
-/*
- * Initialize IRQ setting
- *
- * IRL0 = erase switch
- * IRL1 = eth0
- * IRL2 = eth1
- * IRL3 = crypto
- */
-static void __init init_snapgear_IRQ(void)
-{
-	printk("Setup SnapGear IRQ/IPR ...\n");
-	/* enable individual interrupt mode for externals */
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_snapgear __initmv = {
-	.mv_name		= "SnapGear SecureEdge5410",
-	.mv_init_irq		= init_snapgear_IRQ,
-};
diff --git a/arch/sh/boards/board-sh2007.c b/arch/sh/boards/board-sh2007.c
deleted file mode 100644
index 6ea85e4808512f..00000000000000
--- a/arch/sh/boards/board-sh2007.c
+++ /dev/null
@@ -1,146 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SH-2007 board support.
- *
- * Copyright (C) 2003, 2004  SUGIOKA Toshinobu
- * Copyright (C) 2010  Hitoshi Mitake <mitake at dcl.info.waseda.ac.jp>
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <linux/io.h>
-#include <asm/machvec.h>
-#include <mach/sh2007.h>
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
-	REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
-};
-
-struct smsc911x_platform_config smc911x_info = {
-	.flags		= SMSC911X_USE_32BIT,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_PUSH_PULL,
-};
-
-static struct resource smsc9118_0_resources[] = {
-	[0] = {
-		.start	= SMC0_BASE,
-		.end	= SMC0_BASE + 0xff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x240),
-		.end	= evt2irq(0x240),
-		.flags	= IORESOURCE_IRQ,
-	}
-};
-
-static struct resource smsc9118_1_resources[] = {
-	[0] = {
-		.start	= SMC1_BASE,
-		.end	= SMC1_BASE + 0xff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x280),
-		.end	= evt2irq(0x280),
-		.flags	= IORESOURCE_IRQ,
-	}
-};
-
-static struct platform_device smsc9118_0_device = {
-	.name		= "smsc911x",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(smsc9118_0_resources),
-	.resource	= smsc9118_0_resources,
-	.dev = {
-		.platform_data = &smc911x_info,
-	},
-};
-
-static struct platform_device smsc9118_1_device = {
-	.name		= "smsc911x",
-	.id		= 1,
-	.num_resources	= ARRAY_SIZE(smsc9118_1_resources),
-	.resource	= smsc9118_1_resources,
-	.dev = {
-		.platform_data = &smc911x_info,
-	},
-};
-
-static struct resource cf_resources[] = {
-	[0] = {
-		.start	= CF_BASE + CF_OFFSET,
-		.end	= CF_BASE + CF_OFFSET + 0x0f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= CF_BASE + CF_OFFSET + 0x206,
-		.end	= CF_BASE + CF_OFFSET + 0x20f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[2] = {
-		.start	= evt2irq(0x2c0),
-		.end	= evt2irq(0x2c0),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_device  = {
-	.name		= "pata_platform",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(cf_resources),
-	.resource	= cf_resources,
-};
-
-static struct platform_device *sh2007_devices[] __initdata = {
-	&smsc9118_0_device,
-	&smsc9118_1_device,
-	&cf_device,
-};
-
-static int __init sh2007_io_init(void)
-{
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	platform_add_devices(sh2007_devices, ARRAY_SIZE(sh2007_devices));
-	return 0;
-}
-subsys_initcall(sh2007_io_init);
-
-static void __init sh2007_init_irq(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-/*
- * Initialize the board
- */
-static void __init sh2007_setup(char **cmdline_p)
-{
-	pr_info("SH-2007 Setup...");
-
-	/* setup wait control registers for area 5 */
-	__raw_writel(CS5BCR_D, CS5BCR);
-	__raw_writel(CS5WCR_D, CS5WCR);
-	__raw_writel(CS5PCR_D, CS5PCR);
-
-	pr_cont(" done.\n");
-}
-
-/*
- * The Machine Vector
- */
-struct sh_machine_vector mv_sh2007 __initmv = {
-	.mv_setup		= sh2007_setup,
-	.mv_name		= "sh2007",
-	.mv_init_irq		= sh2007_init_irq,
-};
diff --git a/arch/sh/boards/board-sh7757lcr.c b/arch/sh/boards/board-sh7757lcr.c
deleted file mode 100644
index f39c8196efdfd1..00000000000000
--- a/arch/sh/boards/board-sh7757lcr.c
+++ /dev/null
@@ -1,604 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas R0P7757LC0012RL Support.
- *
- * Copyright (C) 2009 - 2010  Renesas Solutions Corp.
- */
-
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/gpio.h>
-#include <linux/irq.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/flash.h>
-#include <linux/io.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mmc/host.h>
-#include <linux/platform_data/sh_mmcif.h>
-#include <linux/sh_eth.h>
-#include <linux/sh_intc.h>
-#include <linux/usb/renesas_usbhs.h>
-#include <cpu/sh7757.h>
-#include <asm/heartbeat.h>
-
-static struct resource heartbeat_resource = {
-	.start	= 0xffec005c,	/* PUDR */
-	.end	= 0xffec005c,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-};
-
-static unsigned char heartbeat_bit_pos[] = { 0, 1, 2, 3 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-	.flags		= HEARTBEAT_INVERTED,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-/* Fast Ethernet */
-#define GBECONT		0xffc10100
-#define GBECONT_RMII1	BIT(17)
-#define GBECONT_RMII0	BIT(16)
-static void sh7757_eth_set_mdio_gate(void *addr)
-{
-	if (((unsigned long)addr & 0x00000fff) < 0x0800)
-		writel(readl(GBECONT) | GBECONT_RMII0, GBECONT);
-	else
-		writel(readl(GBECONT) | GBECONT_RMII1, GBECONT);
-}
-
-static struct resource sh_eth0_resources[] = {
-	{
-		.start  = 0xfef00000,
-		.end    = 0xfef001ff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = evt2irq(0xc80),
-		.end    = evt2irq(0xc80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7757_eth0_pdata = {
-	.phy = 1,
-	.set_mdio_gate = sh7757_eth_set_mdio_gate,
-};
-
-static struct platform_device sh7757_eth0_device = {
-	.name		= "sh7757-ether",
-	.resource	= sh_eth0_resources,
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(sh_eth0_resources),
-	.dev		= {
-		.platform_data = &sh7757_eth0_pdata,
-	},
-};
-
-static struct resource sh_eth1_resources[] = {
-	{
-		.start  = 0xfef00800,
-		.end    = 0xfef009ff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = evt2irq(0xc80),
-		.end    = evt2irq(0xc80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7757_eth1_pdata = {
-	.phy = 1,
-	.set_mdio_gate = sh7757_eth_set_mdio_gate,
-};
-
-static struct platform_device sh7757_eth1_device = {
-	.name		= "sh7757-ether",
-	.resource	= sh_eth1_resources,
-	.id		= 1,
-	.num_resources	= ARRAY_SIZE(sh_eth1_resources),
-	.dev		= {
-		.platform_data = &sh7757_eth1_pdata,
-	},
-};
-
-static void sh7757_eth_giga_set_mdio_gate(void *addr)
-{
-	if (((unsigned long)addr & 0x00000fff) < 0x0800) {
-		gpio_set_value(GPIO_PTT4, 1);
-		writel(readl(GBECONT) & ~GBECONT_RMII0, GBECONT);
-	} else {
-		gpio_set_value(GPIO_PTT4, 0);
-		writel(readl(GBECONT) & ~GBECONT_RMII1, GBECONT);
-	}
-}
-
-static struct resource sh_eth_giga0_resources[] = {
-	{
-		.start  = 0xfee00000,
-		.end    = 0xfee007ff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		/* TSU */
-		.start  = 0xfee01800,
-		.end    = 0xfee01fff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = evt2irq(0x2960),
-		.end    = evt2irq(0x2960),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7757_eth_giga0_pdata = {
-	.phy = 18,
-	.set_mdio_gate = sh7757_eth_giga_set_mdio_gate,
-	.phy_interface = PHY_INTERFACE_MODE_RGMII_ID,
-};
-
-static struct platform_device sh7757_eth_giga0_device = {
-	.name		= "sh7757-gether",
-	.resource	= sh_eth_giga0_resources,
-	.id		= 2,
-	.num_resources	= ARRAY_SIZE(sh_eth_giga0_resources),
-	.dev		= {
-		.platform_data = &sh7757_eth_giga0_pdata,
-	},
-};
-
-static struct resource sh_eth_giga1_resources[] = {
-	{
-		.start  = 0xfee00800,
-		.end    = 0xfee00fff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		/* TSU */
-		.start  = 0xfee01800,
-		.end    = 0xfee01fff,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = evt2irq(0x2980),
-		.end    = evt2irq(0x2980),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7757_eth_giga1_pdata = {
-	.phy = 19,
-	.set_mdio_gate = sh7757_eth_giga_set_mdio_gate,
-	.phy_interface = PHY_INTERFACE_MODE_RGMII_ID,
-};
-
-static struct platform_device sh7757_eth_giga1_device = {
-	.name		= "sh7757-gether",
-	.resource	= sh_eth_giga1_resources,
-	.id		= 3,
-	.num_resources	= ARRAY_SIZE(sh_eth_giga1_resources),
-	.dev		= {
-		.platform_data = &sh7757_eth_giga1_pdata,
-	},
-};
-
-/* Fixed 3.3V regulator to be used by SDHI0, MMCIF */
-static struct regulator_consumer_supply fixed3v3_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mmcif.0"),
-};
-
-/* SH_MMCIF */
-static struct resource sh_mmcif_resources[] = {
-	[0] = {
-		.start	= 0xffcb0000,
-		.end	= 0xffcb00ff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x1c60),
-		.flags	= IORESOURCE_IRQ,
-	},
-	[2] = {
-		.start	= evt2irq(0x1c80),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_mmcif_plat_data sh_mmcif_plat = {
-	.sup_pclk	= 0x0f,
-	.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA |
-			  MMC_CAP_NONREMOVABLE,
-	.ocr		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.slave_id_tx	= SHDMA_SLAVE_MMCIF_TX,
-	.slave_id_rx	= SHDMA_SLAVE_MMCIF_RX,
-};
-
-static struct platform_device sh_mmcif_device = {
-	.name		= "sh_mmcif",
-	.id		= 0,
-	.dev		= {
-		.platform_data		= &sh_mmcif_plat,
-	},
-	.num_resources	= ARRAY_SIZE(sh_mmcif_resources),
-	.resource	= sh_mmcif_resources,
-};
-
-/* SDHI0 */
-static struct tmio_mmc_data sdhi_info = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI_RX,
-	.capabilities	= MMC_CAP_SD_HIGHSPEED,
-};
-
-static struct resource sdhi_resources[] = {
-	[0] = {
-		.start  = 0xffe50000,
-		.end    = 0xffe500ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x480),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sdhi_device = {
-	.name           = "sh_mobile_sdhi",
-	.num_resources  = ARRAY_SIZE(sdhi_resources),
-	.resource       = sdhi_resources,
-	.id             = 0,
-	.dev	= {
-		.platform_data	= &sdhi_info,
-	},
-};
-
-static int usbhs0_get_id(struct platform_device *pdev)
-{
-	return USBHS_GADGET;
-}
-
-static struct renesas_usbhs_platform_info usb0_data = {
-	.platform_callback = {
-		.get_id = usbhs0_get_id,
-	},
-	.driver_param = {
-		.buswait_bwait = 5,
-	}
-};
-
-static struct resource usb0_resources[] = {
-	[0] = {
-		.start	= 0xfe450000,
-		.end	= 0xfe4501ff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x840),
-		.end	= evt2irq(0x840),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device usb0_device = {
-	.name		= "renesas_usbhs",
-	.id		= 0,
-	.dev = {
-		.platform_data		= &usb0_data,
-	},
-	.num_resources	= ARRAY_SIZE(usb0_resources),
-	.resource	= usb0_resources,
-};
-
-static struct platform_device *sh7757lcr_devices[] __initdata = {
-	&heartbeat_device,
-	&sh7757_eth0_device,
-	&sh7757_eth1_device,
-	&sh7757_eth_giga0_device,
-	&sh7757_eth_giga1_device,
-	&sh_mmcif_device,
-	&sdhi_device,
-	&usb0_device,
-};
-
-static struct flash_platform_data spi_flash_data = {
-	.name = "m25p80",
-	.type = "m25px64",
-};
-
-static struct spi_board_info spi_board_info[] = {
-	{
-		.modalias = "m25p80",
-		.max_speed_hz = 25000000,
-		.bus_num = 0,
-		.chip_select = 1,
-		.platform_data = &spi_flash_data,
-	},
-};
-
-static int __init sh7757lcr_devices_setup(void)
-{
-	regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
-				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
-
-	/* RGMII (PTA) */
-	gpio_request(GPIO_FN_ET0_MDC, NULL);
-	gpio_request(GPIO_FN_ET0_MDIO, NULL);
-	gpio_request(GPIO_FN_ET1_MDC, NULL);
-	gpio_request(GPIO_FN_ET1_MDIO, NULL);
-
-	/* ONFI (PTB, PTZ) */
-	gpio_request(GPIO_FN_ON_NRE, NULL);
-	gpio_request(GPIO_FN_ON_NWE, NULL);
-	gpio_request(GPIO_FN_ON_NWP, NULL);
-	gpio_request(GPIO_FN_ON_NCE0, NULL);
-	gpio_request(GPIO_FN_ON_R_B0, NULL);
-	gpio_request(GPIO_FN_ON_ALE, NULL);
-	gpio_request(GPIO_FN_ON_CLE, NULL);
-
-	gpio_request(GPIO_FN_ON_DQ7, NULL);
-	gpio_request(GPIO_FN_ON_DQ6, NULL);
-	gpio_request(GPIO_FN_ON_DQ5, NULL);
-	gpio_request(GPIO_FN_ON_DQ4, NULL);
-	gpio_request(GPIO_FN_ON_DQ3, NULL);
-	gpio_request(GPIO_FN_ON_DQ2, NULL);
-	gpio_request(GPIO_FN_ON_DQ1, NULL);
-	gpio_request(GPIO_FN_ON_DQ0, NULL);
-
-	/* IRQ8 to 0 (PTB, PTC) */
-	gpio_request(GPIO_FN_IRQ8, NULL);
-	gpio_request(GPIO_FN_IRQ7, NULL);
-	gpio_request(GPIO_FN_IRQ6, NULL);
-	gpio_request(GPIO_FN_IRQ5, NULL);
-	gpio_request(GPIO_FN_IRQ4, NULL);
-	gpio_request(GPIO_FN_IRQ3, NULL);
-	gpio_request(GPIO_FN_IRQ2, NULL);
-	gpio_request(GPIO_FN_IRQ1, NULL);
-	gpio_request(GPIO_FN_IRQ0, NULL);
-
-	/* SPI0 (PTD) */
-	gpio_request(GPIO_FN_SP0_MOSI, NULL);
-	gpio_request(GPIO_FN_SP0_MISO, NULL);
-	gpio_request(GPIO_FN_SP0_SCK, NULL);
-	gpio_request(GPIO_FN_SP0_SCK_FB, NULL);
-	gpio_request(GPIO_FN_SP0_SS0, NULL);
-	gpio_request(GPIO_FN_SP0_SS1, NULL);
-	gpio_request(GPIO_FN_SP0_SS2, NULL);
-	gpio_request(GPIO_FN_SP0_SS3, NULL);
-
-	/* RMII 0/1 (PTE, PTF) */
-	gpio_request(GPIO_FN_RMII0_CRS_DV, NULL);
-	gpio_request(GPIO_FN_RMII0_TXD1, NULL);
-	gpio_request(GPIO_FN_RMII0_TXD0, NULL);
-	gpio_request(GPIO_FN_RMII0_TXEN, NULL);
-	gpio_request(GPIO_FN_RMII0_REFCLK, NULL);
-	gpio_request(GPIO_FN_RMII0_RXD1, NULL);
-	gpio_request(GPIO_FN_RMII0_RXD0, NULL);
-	gpio_request(GPIO_FN_RMII0_RX_ER, NULL);
-	gpio_request(GPIO_FN_RMII1_CRS_DV, NULL);
-	gpio_request(GPIO_FN_RMII1_TXD1, NULL);
-	gpio_request(GPIO_FN_RMII1_TXD0, NULL);
-	gpio_request(GPIO_FN_RMII1_TXEN, NULL);
-	gpio_request(GPIO_FN_RMII1_REFCLK, NULL);
-	gpio_request(GPIO_FN_RMII1_RXD1, NULL);
-	gpio_request(GPIO_FN_RMII1_RXD0, NULL);
-	gpio_request(GPIO_FN_RMII1_RX_ER, NULL);
-
-	/* eMMC (PTG) */
-	gpio_request(GPIO_FN_MMCCLK, NULL);
-	gpio_request(GPIO_FN_MMCCMD, NULL);
-	gpio_request(GPIO_FN_MMCDAT7, NULL);
-	gpio_request(GPIO_FN_MMCDAT6, NULL);
-	gpio_request(GPIO_FN_MMCDAT5, NULL);
-	gpio_request(GPIO_FN_MMCDAT4, NULL);
-	gpio_request(GPIO_FN_MMCDAT3, NULL);
-	gpio_request(GPIO_FN_MMCDAT2, NULL);
-	gpio_request(GPIO_FN_MMCDAT1, NULL);
-	gpio_request(GPIO_FN_MMCDAT0, NULL);
-
-	/* LPC (PTG, PTH, PTQ, PTU) */
-	gpio_request(GPIO_FN_SERIRQ, NULL);
-	gpio_request(GPIO_FN_LPCPD, NULL);
-	gpio_request(GPIO_FN_LDRQ, NULL);
-	gpio_request(GPIO_FN_WP, NULL);
-	gpio_request(GPIO_FN_FMS0, NULL);
-	gpio_request(GPIO_FN_LAD3, NULL);
-	gpio_request(GPIO_FN_LAD2, NULL);
-	gpio_request(GPIO_FN_LAD1, NULL);
-	gpio_request(GPIO_FN_LAD0, NULL);
-	gpio_request(GPIO_FN_LFRAME, NULL);
-	gpio_request(GPIO_FN_LRESET, NULL);
-	gpio_request(GPIO_FN_LCLK, NULL);
-	gpio_request(GPIO_FN_LGPIO7, NULL);
-	gpio_request(GPIO_FN_LGPIO6, NULL);
-	gpio_request(GPIO_FN_LGPIO5, NULL);
-	gpio_request(GPIO_FN_LGPIO4, NULL);
-
-	/* SPI1 (PTH) */
-	gpio_request(GPIO_FN_SP1_MOSI, NULL);
-	gpio_request(GPIO_FN_SP1_MISO, NULL);
-	gpio_request(GPIO_FN_SP1_SCK, NULL);
-	gpio_request(GPIO_FN_SP1_SCK_FB, NULL);
-	gpio_request(GPIO_FN_SP1_SS0, NULL);
-	gpio_request(GPIO_FN_SP1_SS1, NULL);
-
-	/* SDHI (PTI) */
-	gpio_request(GPIO_FN_SD_WP, NULL);
-	gpio_request(GPIO_FN_SD_CD, NULL);
-	gpio_request(GPIO_FN_SD_CLK, NULL);
-	gpio_request(GPIO_FN_SD_CMD, NULL);
-	gpio_request(GPIO_FN_SD_D3, NULL);
-	gpio_request(GPIO_FN_SD_D2, NULL);
-	gpio_request(GPIO_FN_SD_D1, NULL);
-	gpio_request(GPIO_FN_SD_D0, NULL);
-
-	/* SCIF3/4 (PTJ, PTW) */
-	gpio_request(GPIO_FN_RTS3, NULL);
-	gpio_request(GPIO_FN_CTS3, NULL);
-	gpio_request(GPIO_FN_TXD3, NULL);
-	gpio_request(GPIO_FN_RXD3, NULL);
-	gpio_request(GPIO_FN_RTS4, NULL);
-	gpio_request(GPIO_FN_RXD4, NULL);
-	gpio_request(GPIO_FN_TXD4, NULL);
-	gpio_request(GPIO_FN_CTS4, NULL);
-
-	/* SERMUX (PTK, PTL, PTO, PTV) */
-	gpio_request(GPIO_FN_COM2_TXD, NULL);
-	gpio_request(GPIO_FN_COM2_RXD, NULL);
-	gpio_request(GPIO_FN_COM2_RTS, NULL);
-	gpio_request(GPIO_FN_COM2_CTS, NULL);
-	gpio_request(GPIO_FN_COM2_DTR, NULL);
-	gpio_request(GPIO_FN_COM2_DSR, NULL);
-	gpio_request(GPIO_FN_COM2_DCD, NULL);
-	gpio_request(GPIO_FN_COM2_RI, NULL);
-	gpio_request(GPIO_FN_RAC_RXD, NULL);
-	gpio_request(GPIO_FN_RAC_RTS, NULL);
-	gpio_request(GPIO_FN_RAC_CTS, NULL);
-	gpio_request(GPIO_FN_RAC_DTR, NULL);
-	gpio_request(GPIO_FN_RAC_DSR, NULL);
-	gpio_request(GPIO_FN_RAC_DCD, NULL);
-	gpio_request(GPIO_FN_RAC_TXD, NULL);
-	gpio_request(GPIO_FN_COM1_TXD, NULL);
-	gpio_request(GPIO_FN_COM1_RXD, NULL);
-	gpio_request(GPIO_FN_COM1_RTS, NULL);
-	gpio_request(GPIO_FN_COM1_CTS, NULL);
-
-	writeb(0x10, 0xfe470000);	/* SMR0: SerMux mode 0 */
-
-	/* IIC (PTM, PTR, PTS) */
-	gpio_request(GPIO_FN_SDA7, NULL);
-	gpio_request(GPIO_FN_SCL7, NULL);
-	gpio_request(GPIO_FN_SDA6, NULL);
-	gpio_request(GPIO_FN_SCL6, NULL);
-	gpio_request(GPIO_FN_SDA5, NULL);
-	gpio_request(GPIO_FN_SCL5, NULL);
-	gpio_request(GPIO_FN_SDA4, NULL);
-	gpio_request(GPIO_FN_SCL4, NULL);
-	gpio_request(GPIO_FN_SDA3, NULL);
-	gpio_request(GPIO_FN_SCL3, NULL);
-	gpio_request(GPIO_FN_SDA2, NULL);
-	gpio_request(GPIO_FN_SCL2, NULL);
-	gpio_request(GPIO_FN_SDA1, NULL);
-	gpio_request(GPIO_FN_SCL1, NULL);
-	gpio_request(GPIO_FN_SDA0, NULL);
-	gpio_request(GPIO_FN_SCL0, NULL);
-
-	/* USB (PTN) */
-	gpio_request(GPIO_FN_VBUS_EN, NULL);
-	gpio_request(GPIO_FN_VBUS_OC, NULL);
-
-	/* SGPIO1/0 (PTN, PTO) */
-	gpio_request(GPIO_FN_SGPIO1_CLK, NULL);
-	gpio_request(GPIO_FN_SGPIO1_LOAD, NULL);
-	gpio_request(GPIO_FN_SGPIO1_DI, NULL);
-	gpio_request(GPIO_FN_SGPIO1_DO, NULL);
-	gpio_request(GPIO_FN_SGPIO0_CLK, NULL);
-	gpio_request(GPIO_FN_SGPIO0_LOAD, NULL);
-	gpio_request(GPIO_FN_SGPIO0_DI, NULL);
-	gpio_request(GPIO_FN_SGPIO0_DO, NULL);
-
-	/* WDT (PTN) */
-	gpio_request(GPIO_FN_SUB_CLKIN, NULL);
-
-	/* System (PTT) */
-	gpio_request(GPIO_FN_STATUS1, NULL);
-	gpio_request(GPIO_FN_STATUS0, NULL);
-
-	/* PWMX (PTT) */
-	gpio_request(GPIO_FN_PWMX1, NULL);
-	gpio_request(GPIO_FN_PWMX0, NULL);
-
-	/* R-SPI (PTV) */
-	gpio_request(GPIO_FN_R_SPI_MOSI, NULL);
-	gpio_request(GPIO_FN_R_SPI_MISO, NULL);
-	gpio_request(GPIO_FN_R_SPI_RSPCK, NULL);
-	gpio_request(GPIO_FN_R_SPI_SSL0, NULL);
-	gpio_request(GPIO_FN_R_SPI_SSL1, NULL);
-
-	/* EVC (PTV, PTW) */
-	gpio_request(GPIO_FN_EVENT7, NULL);
-	gpio_request(GPIO_FN_EVENT6, NULL);
-	gpio_request(GPIO_FN_EVENT5, NULL);
-	gpio_request(GPIO_FN_EVENT4, NULL);
-	gpio_request(GPIO_FN_EVENT3, NULL);
-	gpio_request(GPIO_FN_EVENT2, NULL);
-	gpio_request(GPIO_FN_EVENT1, NULL);
-	gpio_request(GPIO_FN_EVENT0, NULL);
-
-	/* LED for heartbeat */
-	gpio_request(GPIO_PTU3, NULL);
-	gpio_direction_output(GPIO_PTU3, 1);
-	gpio_request(GPIO_PTU2, NULL);
-	gpio_direction_output(GPIO_PTU2, 1);
-	gpio_request(GPIO_PTU1, NULL);
-	gpio_direction_output(GPIO_PTU1, 1);
-	gpio_request(GPIO_PTU0, NULL);
-	gpio_direction_output(GPIO_PTU0, 1);
-
-	/* control for MDIO of Gigabit Ethernet */
-	gpio_request(GPIO_PTT4, NULL);
-	gpio_direction_output(GPIO_PTT4, 1);
-
-	/* control for eMMC */
-	gpio_request(GPIO_PTT7, NULL);		/* eMMC_RST# */
-	gpio_direction_output(GPIO_PTT7, 0);
-	gpio_request(GPIO_PTT6, NULL);		/* eMMC_INDEX# */
-	gpio_direction_output(GPIO_PTT6, 0);
-	gpio_request(GPIO_PTT5, NULL);		/* eMMC_PRST# */
-	gpio_direction_output(GPIO_PTT5, 1);
-
-	/* register SPI device information */
-	spi_register_board_info(spi_board_info,
-				ARRAY_SIZE(spi_board_info));
-
-	/* General platform */
-	return platform_add_devices(sh7757lcr_devices,
-				    ARRAY_SIZE(sh7757lcr_devices));
-}
-arch_initcall(sh7757lcr_devices_setup);
-
-/* Initialize IRQ setting */
-void __init init_sh7757lcr_IRQ(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ7654);
-	plat_irq_setup_pins(IRQ_MODE_IRQ3210);
-}
-
-/* Initialize the board */
-static void __init sh7757lcr_setup(char **cmdline_p)
-{
-	printk(KERN_INFO "Renesas R0P7757LC0012RL support.\n");
-}
-
-static int sh7757lcr_mode_pins(void)
-{
-	int value = 0;
-
-	/* These are the factory default settings of S3 (Low active).
-	 * If you change these dip switches then you will need to
-	 * adjust the values below as well.
-	 */
-	value |= MODE_PIN0;	/* Clock Mode: 1 */
-
-	return value;
-}
-
-/* The Machine Vector */
-static struct sh_machine_vector mv_sh7757lcr __initmv = {
-	.mv_name		= "SH7757LCR",
-	.mv_setup		= sh7757lcr_setup,
-	.mv_init_irq		= init_sh7757lcr_IRQ,
-	.mv_mode_pins		= sh7757lcr_mode_pins,
-};
-
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c
deleted file mode 100644
index 77dad1e511b465..00000000000000
--- a/arch/sh/boards/board-sh7785lcr.c
+++ /dev/null
@@ -1,384 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Corp. R0P7785LC0011RL Support.
- *
- * Copyright (C) 2008  Yoshihiro Shimoda
- * Copyright (C) 2009  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/sm501.h>
-#include <linux/sm501-regs.h>
-#include <linux/fb.h>
-#include <linux/mtd/physmap.h>
-#include <linux/delay.h>
-#include <linux/interrupt.h>
-#include <linux/i2c.h>
-#include <linux/platform_data/i2c-pca-platform.h>
-#include <linux/i2c-algo-pca.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/sh_intc.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <linux/clk.h>
-#include <linux/errno.h>
-#include <linux/gpio/machine.h>
-#include <mach/sh7785lcr.h>
-#include <cpu/sh7785.h>
-#include <asm/heartbeat.h>
-#include <asm/clock.h>
-#include <asm/bl_bit.h>
-
-/*
- * NOTE: This board has 2 physical memory maps.
- *	 Please look at include/asm-sh/sh7785lcr.h or hardware manual.
- */
-static struct resource heartbeat_resource = {
-	.start	= PLD_LEDCR,
-	.end	= PLD_LEDCR,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name		= "loader",
-		.offset		= 0x00000000,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "bootenv",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "kernel",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 4 * 1024 * 1024,
-	},
-	{
-		.name		= "data",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 4,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0]	= {
-		.start	= NOR_FLASH_ADDR,
-		.end	= NOR_FLASH_ADDR + NOR_FLASH_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.dev		= {
-		.platform_data	= &nor_flash_data,
-	},
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.resource	= nor_flash_resources,
-};
-
-static struct r8a66597_platdata r8a66597_data = {
-	.xtal = R8A66597_PLATDATA_XTAL_12MHZ,
-	.vif = 1,
-};
-
-static struct resource r8a66597_usb_host_resources[] = {
-	[0] = {
-		.start	= R8A66597_ADDR,
-		.end	= R8A66597_ADDR + R8A66597_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x240),
-		.end	= evt2irq(0x240),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device r8a66597_usb_host_device = {
-	.name		= "r8a66597_hcd",
-	.id		= -1,
-	.dev = {
-		.dma_mask		= NULL,
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &r8a66597_data,
-	},
-	.num_resources	= ARRAY_SIZE(r8a66597_usb_host_resources),
-	.resource	= r8a66597_usb_host_resources,
-};
-
-static struct resource sm501_resources[] = {
-	[0]	= {
-		.start	= SM107_MEM_ADDR,
-		.end	= SM107_MEM_ADDR + SM107_MEM_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1]	= {
-		.start	= SM107_REG_ADDR,
-		.end	= SM107_REG_ADDR + SM107_REG_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[2]	= {
-		.start	= evt2irq(0x340),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct fb_videomode sm501_default_mode_crt = {
-	.pixclock	= 35714,	/* 28MHz */
-	.xres		= 640,
-	.yres		= 480,
-	.left_margin	= 105,
-	.right_margin	= 16,
-	.upper_margin	= 33,
-	.lower_margin	= 10,
-	.hsync_len	= 39,
-	.vsync_len	= 2,
-	.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-};
-
-static struct fb_videomode sm501_default_mode_pnl = {
-	.pixclock	= 40000,	/* 25MHz */
-	.xres		= 640,
-	.yres		= 480,
-	.left_margin	= 2,
-	.right_margin	= 16,
-	.upper_margin	= 33,
-	.lower_margin	= 10,
-	.hsync_len	= 39,
-	.vsync_len	= 2,
-	.sync		= 0,
-};
-
-static struct sm501_platdata_fbsub sm501_pdata_fbsub_pnl = {
-	.def_bpp	= 16,
-	.def_mode	= &sm501_default_mode_pnl,
-	.flags		= SM501FB_FLAG_USE_INIT_MODE |
-			  SM501FB_FLAG_USE_HWCURSOR |
-			  SM501FB_FLAG_USE_HWACCEL |
-			  SM501FB_FLAG_DISABLE_AT_EXIT |
-			  SM501FB_FLAG_PANEL_NO_VBIASEN,
-};
-
-static struct sm501_platdata_fbsub sm501_pdata_fbsub_crt = {
-	.def_bpp	= 16,
-	.def_mode	= &sm501_default_mode_crt,
-	.flags		= SM501FB_FLAG_USE_INIT_MODE |
-			  SM501FB_FLAG_USE_HWCURSOR |
-			  SM501FB_FLAG_USE_HWACCEL |
-			  SM501FB_FLAG_DISABLE_AT_EXIT,
-};
-
-static struct sm501_platdata_fb sm501_fb_pdata = {
-	.fb_route	= SM501_FB_OWN,
-	.fb_crt		= &sm501_pdata_fbsub_crt,
-	.fb_pnl		= &sm501_pdata_fbsub_pnl,
-};
-
-static struct sm501_initdata sm501_initdata = {
-	.gpio_high	= {
-		.set	= 0x00001fe0,
-		.mask	= 0x0,
-	},
-	.devices	= 0,
-	.mclk		= 84 * 1000000,
-	.m1xclk		= 112 * 1000000,
-};
-
-static struct sm501_platdata sm501_platform_data = {
-	.init		= &sm501_initdata,
-	.fb		= &sm501_fb_pdata,
-};
-
-static struct platform_device sm501_device = {
-	.name		= "sm501",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &sm501_platform_data,
-	},
-	.num_resources	= ARRAY_SIZE(sm501_resources),
-	.resource	= sm501_resources,
-};
-
-static struct resource i2c_proto_resources[] = {
-	[0] = {
-		.start	= PCA9564_PROTO_32BIT_ADDR,
-		.end	= PCA9564_PROTO_32BIT_ADDR + PCA9564_SIZE - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-	},
-	[1] = {
-		.start	= evt2irq(0x380),
-		.end	= evt2irq(0x380),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct resource i2c_resources[] = {
-	[0] = {
-		.start	= PCA9564_ADDR,
-		.end	= PCA9564_ADDR + PCA9564_SIZE - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-	},
-	[1] = {
-		.start	= evt2irq(0x380),
-		.end	= evt2irq(0x380),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct gpiod_lookup_table i2c_gpio_table = {
-	.dev_id = "i2c.0",
-	.table = {
-		GPIO_LOOKUP("pfc-sh7757", 0, "reset-gpios", GPIO_ACTIVE_LOW),
-		{ },
-	},
-};
-
-static struct i2c_pca9564_pf_platform_data i2c_platform_data = {
-	.i2c_clock_speed	= I2C_PCA_CON_330kHz,
-	.timeout		= HZ,
-};
-
-static struct platform_device i2c_device = {
-	.name		= "i2c-pca-platform",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &i2c_platform_data,
-	},
-	.num_resources	= ARRAY_SIZE(i2c_resources),
-	.resource	= i2c_resources,
-};
-
-static struct platform_device *sh7785lcr_devices[] __initdata = {
-	&heartbeat_device,
-	&nor_flash_device,
-	&r8a66597_usb_host_device,
-	&sm501_device,
-	&i2c_device,
-};
-
-static struct i2c_board_info __initdata sh7785lcr_i2c_devices[] = {
-	{
-		I2C_BOARD_INFO("r2025sd", 0x32),
-	},
-};
-
-static int __init sh7785lcr_devices_setup(void)
-{
-	i2c_register_board_info(0, sh7785lcr_i2c_devices,
-				ARRAY_SIZE(sh7785lcr_i2c_devices));
-
-	if (mach_is_sh7785lcr_pt()) {
-		i2c_device.resource = i2c_proto_resources;
-		i2c_device.num_resources = ARRAY_SIZE(i2c_proto_resources);
-	}
-
-	gpiod_add_lookup_table(&i2c_gpio_table);
-	return platform_add_devices(sh7785lcr_devices,
-				    ARRAY_SIZE(sh7785lcr_devices));
-}
-device_initcall(sh7785lcr_devices_setup);
-
-/* Initialize IRQ setting */
-void __init init_sh7785lcr_IRQ(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ7654);
-	plat_irq_setup_pins(IRQ_MODE_IRQ3210);
-}
-
-static int sh7785lcr_clk_init(void)
-{
-	struct clk *clk;
-	int ret;
-
-	clk = clk_get(NULL, "extal");
-	if (IS_ERR(clk))
-		return PTR_ERR(clk);
-	ret = clk_set_rate(clk, 33333333);
-	clk_put(clk);
-
-	return ret;
-}
-
-static void sh7785lcr_power_off(void)
-{
-	unsigned char *p;
-
-	p = ioremap(PLD_POFCR, PLD_POFCR + 1);
-	if (!p) {
-		printk(KERN_ERR "%s: ioremap error.\n", __func__);
-		return;
-	}
-	*p = 0x01;
-	iounmap(p);
-	set_bl_bit();
-	while (1)
-		cpu_relax();
-}
-
-/* Initialize the board */
-static void __init sh7785lcr_setup(char **cmdline_p)
-{
-	void __iomem *sm501_reg;
-
-	printk(KERN_INFO "Renesas Technology Corp. R0P7785LC0011RL support.\n");
-
-	pm_power_off = sh7785lcr_power_off;
-
-	/* sm501 DRAM configuration */
-	sm501_reg = ioremap(SM107_REG_ADDR, SM501_DRAM_CONTROL);
-	if (!sm501_reg) {
-		printk(KERN_ERR "%s: ioremap error.\n", __func__);
-		return;
-	}
-
-	writel(0x000307c2, sm501_reg + SM501_DRAM_CONTROL);
-	iounmap(sm501_reg);
-}
-
-/* Return the board specific boot mode pin configuration */
-static int sh7785lcr_mode_pins(void)
-{
-	int value = 0;
-
-	/* These are the factory default settings of S1 and S2.
-	 * If you change these dip switches then you will need to
-	 * adjust the values below as well.
-	 */
-	value |= MODE_PIN4; /* Clock Mode 16 */
-	value |= MODE_PIN5; /* 32-bit Area0 bus width */
-	value |= MODE_PIN6; /* 32-bit Area0 bus width */
-	value |= MODE_PIN7; /* Area 0 SRAM interface [fixed] */
-	value |= MODE_PIN8; /* Little Endian */
-	value |= MODE_PIN9; /* Master Mode */
-	value |= MODE_PIN14; /* No PLL step-up */
-
-	return value;
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_sh7785lcr __initmv = {
-	.mv_name		= "SH7785LCR",
-	.mv_setup		= sh7785lcr_setup,
-	.mv_clk_init		= sh7785lcr_clk_init,
-	.mv_init_irq		= init_sh7785lcr_IRQ,
-	.mv_mode_pins		= sh7785lcr_mode_pins,
-};
-
diff --git a/arch/sh/boards/board-shmin.c b/arch/sh/boards/board-shmin.c
deleted file mode 100644
index 83296c0b75c45d..00000000000000
--- a/arch/sh/boards/board-shmin.c
+++ /dev/null
@@ -1,35 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/shmin/setup.c
- *
- * Copyright (C) 2006 Takashi YOSHII
- *
- * SHMIN Support.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <asm/machvec.h>
-#include <mach/shmin.h>
-#include <asm/clock.h>
-#include <asm/io.h>
-
-#define PFC_PHCR	0xa400010eUL
-#define INTC_ICR1	0xa4000010UL
-
-static void __init init_shmin_irq(void)
-{
-	__raw_writew(0x2a00, PFC_PHCR);	// IRQ0-3=IRQ
-	__raw_writew(0x0aaa, INTC_ICR1);	// IRQ0-3=IRQ-mode,Low-active.
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-static void __init shmin_setup(char **cmdline_p)
-{
-	__set_io_port_base(SHMIN_IO_BASE);
-}
-
-static struct sh_machine_vector mv_shmin __initmv = {
-	.mv_name	= "SHMIN",
-	.mv_setup	= shmin_setup,
-	.mv_init_irq	= init_shmin_irq,
-};
diff --git a/arch/sh/boards/board-titan.c b/arch/sh/boards/board-titan.c
deleted file mode 100644
index 074a848d8b564d..00000000000000
--- a/arch/sh/boards/board-titan.c
+++ /dev/null
@@ -1,21 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/titan/setup.c - Setup for Titan
- *
- *  Copyright (C) 2006  Jamie Lenehan
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <mach/titan.h>
-#include <asm/io.h>
-
-static void __init init_titan_irq(void)
-{
-	/* enable individual interrupt mode for externals */
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-static struct sh_machine_vector mv_titan __initmv = {
-	.mv_name	= "Titan",
-	.mv_init_irq	= init_titan_irq,
-};
diff --git a/arch/sh/boards/board-urquell.c b/arch/sh/boards/board-urquell.c
deleted file mode 100644
index dad2b3b40735cb..00000000000000
--- a/arch/sh/boards/board-urquell.c
+++ /dev/null
@@ -1,218 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Corp. SH7786 Urquell Support.
- *
- * Copyright (C) 2008  Kuninori Morimoto <morimoto.kuninori at renesas.com>
- * Copyright (C) 2009, 2010  Paul Mundt
- *
- * Based on board-sh7785lcr.c
- * Copyright (C) 2008  Yoshihiro Shimoda
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/fb.h>
-#include <linux/smc91x.h>
-#include <linux/mtd/physmap.h>
-#include <linux/delay.h>
-#include <linux/gpio.h>
-#include <linux/irq.h>
-#include <linux/clk.h>
-#include <linux/sh_intc.h>
-#include <mach/urquell.h>
-#include <cpu/sh7786.h>
-#include <asm/heartbeat.h>
-#include <linux/sizes.h>
-#include <asm/smp-ops.h>
-
-/*
- * bit  1234 5678
- *----------------------------
- * SW1  0101 0010  -> Pck 33MHz version
- *     (1101 0010)    Pck 66MHz version
- * SW2  0x1x xxxx  -> little endian
- *                    29bit mode
- * SW47 0001 1000  -> CS0 : on-board flash
- *                    CS1 : SRAM, registers, LAN, PCMCIA
- *                    38400 bps for SCIF1
- *
- * Address
- * 0x00000000 - 0x04000000  (CS0)     Nor Flash
- * 0x04000000 - 0x04200000  (CS1)     SRAM
- * 0x05000000 - 0x05800000  (CS1)     on board register
- * 0x05800000 - 0x06000000  (CS1)     LAN91C111
- * 0x06000000 - 0x06400000  (CS1)     PCMCIA
- * 0x08000000 - 0x10000000  (CS2-CS3) DDR3
- * 0x10000000 - 0x14000000  (CS4)     PCIe
- * 0x14000000 - 0x14800000  (CS5)     Core0 LRAM/URAM
- * 0x14800000 - 0x15000000  (CS5)     Core1 LRAM/URAM
- * 0x18000000 - 0x1C000000  (CS6)     ATA/NAND-Flash
- * 0x1C000000 -             (CS7)     SH7786 Control register
- */
-
-/* HeartBeat */
-static struct resource heartbeat_resource = {
-	.start	= BOARDREG(SLEDR),
-	.end	= BOARDREG(SLEDR),
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-/* LAN91C111 */
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
-};
-
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "SMC91C111" ,
-		.start  = 0x05800300,
-		.end    = 0x0580030f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x360),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name           = "smc91x",
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-	.dev	= {
-		.platform_data	= &smc91x_info,
-	},
-};
-
-/* Nor Flash */
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name		= "loader",
-		.offset		= 0x00000000,
-		.size		= SZ_512K,
-		.mask_flags	= MTD_WRITEABLE,	/* Read-only */
-	},
-	{
-		.name		= "bootenv",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= SZ_512K,
-		.mask_flags	= MTD_WRITEABLE,	/* Read-only */
-	},
-	{
-		.name		= "kernel",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= SZ_4M,
-	},
-	{
-		.name		= "data",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 2,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0] = {
-		.start	= NOR_FLASH_ADDR,
-		.end	= NOR_FLASH_ADDR + NOR_FLASH_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.dev		= {
-		.platform_data	= &nor_flash_data,
-	},
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.resource	= nor_flash_resources,
-};
-
-static struct platform_device *urquell_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_eth_device,
-	&nor_flash_device,
-};
-
-static int __init urquell_devices_setup(void)
-{
-	/* USB */
-	gpio_request(GPIO_FN_USB_OVC0,  NULL);
-	gpio_request(GPIO_FN_USB_PENC0, NULL);
-
-	/* enable LAN */
-	__raw_writew(__raw_readw(UBOARDREG(IRL2MSKR)) & ~0x00000001,
-		  UBOARDREG(IRL2MSKR));
-
-	return platform_add_devices(urquell_devices,
-				    ARRAY_SIZE(urquell_devices));
-}
-device_initcall(urquell_devices_setup);
-
-static void urquell_power_off(void)
-{
-	__raw_writew(0xa5a5, UBOARDREG(SRSTR));
-}
-
-static void __init urquell_init_irq(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK);
-}
-
-static int urquell_mode_pins(void)
-{
-	return __raw_readw(UBOARDREG(MDSWMR));
-}
-
-static int urquell_clk_init(void)
-{
-	struct clk *clk;
-	int ret;
-
-	/*
-	 * Only handle the EXTAL case, anyone interfacing a crystal
-	 * resonator will need to provide their own input clock.
-	 */
-	if (test_mode_pin(MODE_PIN9))
-		return -EINVAL;
-
-	clk = clk_get(NULL, "extal");
-	if (IS_ERR(clk))
-		return PTR_ERR(clk);
-	ret = clk_set_rate(clk, 33333333);
-	clk_put(clk);
-
-	return ret;
-}
-
-/* Initialize the board */
-static void __init urquell_setup(char **cmdline_p)
-{
-	printk(KERN_INFO "Renesas Technology Corp. Urquell support.\n");
-
-	pm_power_off = urquell_power_off;
-
-	register_smp_ops(&shx3_smp_ops);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_urquell __initmv = {
-	.mv_name	= "Urquell",
-	.mv_setup	= urquell_setup,
-	.mv_init_irq	= urquell_init_irq,
-	.mv_mode_pins	= urquell_mode_pins,
-	.mv_clk_init	= urquell_clk_init,
-};
diff --git a/arch/sh/boards/mach-ap325rxa/Makefile b/arch/sh/boards/mach-ap325rxa/Makefile
deleted file mode 100644
index dba5d0c202615a..00000000000000
--- a/arch/sh/boards/mach-ap325rxa/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	 := setup.o sdram.o
-
diff --git a/arch/sh/boards/mach-ap325rxa/sdram.S b/arch/sh/boards/mach-ap325rxa/sdram.S
deleted file mode 100644
index 541c82cc30b112..00000000000000
--- a/arch/sh/boards/mach-ap325rxa/sdram.S
+++ /dev/null
@@ -1,66 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * AP325RXA sdram self/auto-refresh setup code
- *
- *  Copyright (C) 2009 Magnus Damm
- */
-
-#include <linux/sys.h>
-#include <linux/errno.h>
-#include <linux/linkage.h>
-#include <asm/asm-offsets.h>
-#include <asm/suspend.h>
-#include <asm/romimage-macros.h>
-
-/* code to enter and leave self-refresh. must be self-contained.
- * this code will be copied to on-chip memory and executed from there.
- */
-	.balign 4
-ENTRY(ap325rxa_sdram_enter_start)
-
-	/* SBSC: disable power down and put in self-refresh mode */
-	mov.l	1f, r4
-	mov.l	2f, r1
-	mov.l	@r4, r2
-	or	r1, r2
-	mov.l   3f, r3
-	and	r3, r2
-	mov.l	r2, @r4
-
-	rts
-	 nop
-
-	.balign 4
-1:	.long	0xfe400008 /* SDCR0 */
-2:	.long	0x00000400
-3:	.long	0xffff7fff
-ENTRY(ap325rxa_sdram_enter_end)
-
-	.balign 4
-ENTRY(ap325rxa_sdram_leave_start)
-
-	/* SBSC: set auto-refresh mode */
-	mov.l	1f, r4
-	mov.l	@r4, r0
-	mov.l   4f, r1
-	and	r1, r0
-	mov.l	r0, @r4
-	mov.l	6f, r4
-	mov.l	8f, r0
-	mov.l	@r4, r1
-	mov	#-1, r4
-	add	r4, r1
-	or	r1, r0
-	mov.l	7f, r1
-	mov.l	r0, @r1
-
-	rts
-	 nop
-
-	.balign 4
-1:	.long	0xfe400008 /* SDCR0 */
-4:	.long	0xfffffbff
-6:	.long   0xfe40001c /* RTCOR */
-7:	.long   0xfe400018 /* RTCNT */
-8:	.long   0xa55a0000
-ENTRY(ap325rxa_sdram_leave_end)
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c
deleted file mode 100644
index c77b5f00a66a3d..00000000000000
--- a/arch/sh/boards/mach-ap325rxa/setup.c
+++ /dev/null
@@ -1,573 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas - AP-325RXA
- * (Compatible with Algo System ., LTD. - AP-320A)
- *
- * Copyright (C) 2008 Renesas Solutions Corp.
- * Author : Yusuke Goda <goda.yuske at renesas.com>
- */
-
-#include <asm/clock.h>
-#include <asm/io.h>
-#include <asm/suspend.h>
-
-#include <cpu/sh7723.h>
-
-#include <linux/dma-map-ops.h>
-#include <linux/clkdev.h>
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/gpio.h>
-#include <linux/gpio/machine.h>
-#include <linux/i2c.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/memblock.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mmc/host.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/sh_flctl.h>
-#include <linux/platform_device.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/sh_intc.h>
-#include <linux/smsc911x.h>
-#include <linux/videodev2.h>
-
-#include <media/drv-intf/renesas-ceu.h>
-#include <media/i2c/ov772x.h>
-
-#include <video/sh_mobile_lcdc.h>
-
-#define CEU_BUFFER_MEMORY_SIZE		(4 << 20)
-static phys_addr_t ceu_dma_membase;
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_32BIT,
-};
-
-static struct resource smsc9118_resources[] = {
-	[0] = {
-		.start	= 0xb6080000,
-		.end	= 0xb60fffff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x660),
-		.end	= evt2irq(0x660),
-		.flags	= IORESOURCE_IRQ,
-	}
-};
-
-static struct platform_device smsc9118_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc9118_resources),
-	.resource	= smsc9118_resources,
-	.dev		= {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-/*
- * AP320 and AP325RXA has CPLD data in NOR Flash(0xA80000-0xABFFFF).
- * If this area erased, this board can not boot.
- */
-static struct mtd_partition ap325rxa_nor_flash_partitions[] = {
-	{
-		.name = "uboot",
-		.offset = 0,
-		.size = (1 * 1024 * 1024),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	}, {
-		.name = "kernel",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (2 * 1024 * 1024),
-	}, {
-		.name = "free-area0",
-		.offset = MTDPART_OFS_APPEND,
-		.size = ((7 * 1024 * 1024) + (512 * 1024)),
-	}, {
-		.name = "CPLD-Data",
-		.offset = MTDPART_OFS_APPEND,
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-		.size = (1024 * 128 * 2),
-	}, {
-		.name = "free-area1",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data ap325rxa_nor_flash_data = {
-	.width		= 2,
-	.parts		= ap325rxa_nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(ap325rxa_nor_flash_partitions),
-};
-
-static struct resource ap325rxa_nor_flash_resources[] = {
-	[0] = {
-		.name	= "NOR Flash",
-		.start	= 0x00000000,
-		.end	= 0x00ffffff,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device ap325rxa_nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= ap325rxa_nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(ap325rxa_nor_flash_resources),
-	.dev		= {
-		.platform_data = &ap325rxa_nor_flash_data,
-	},
-};
-
-static struct mtd_partition nand_partition_info[] = {
-	{
-		.name	= "nand_data",
-		.offset	= 0,
-		.size	= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct resource nand_flash_resources[] = {
-	[0] = {
-		.start	= 0xa4530000,
-		.end	= 0xa45300ff,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct sh_flctl_platform_data nand_flash_data = {
-	.parts		= nand_partition_info,
-	.nr_parts	= ARRAY_SIZE(nand_partition_info),
-	.flcmncr_val	= FCKSEL_E | TYPESEL_SET | NANWF_E,
-	.has_hwecc	= 1,
-};
-
-static struct platform_device nand_flash_device = {
-	.name		= "sh_flctl",
-	.resource	= nand_flash_resources,
-	.num_resources	= ARRAY_SIZE(nand_flash_resources),
-	.dev		= {
-		.platform_data = &nand_flash_data,
-	},
-};
-
-#define FPGA_LCDREG	0xB4100180
-#define FPGA_BKLREG	0xB4100212
-#define FPGA_LCDREG_VAL	0x0018
-#define PORT_MSELCRB	0xA4050182
-#define PORT_HIZCRC	0xA405015C
-#define PORT_DRVCRA	0xA405018A
-#define PORT_DRVCRB	0xA405018C
-
-static int ap320_wvga_set_brightness(int brightness)
-{
-	if (brightness) {
-		gpio_set_value(GPIO_PTS3, 0);
-		__raw_writew(0x100, FPGA_BKLREG);
-	} else {
-		__raw_writew(0, FPGA_BKLREG);
-		gpio_set_value(GPIO_PTS3, 1);
-	}
-
-	return 0;
-}
-
-static void ap320_wvga_power_on(void)
-{
-	msleep(100);
-
-	/* ASD AP-320/325 LCD ON */
-	__raw_writew(FPGA_LCDREG_VAL, FPGA_LCDREG);
-}
-
-static void ap320_wvga_power_off(void)
-{
-	/* ASD AP-320/325 LCD OFF */
-	__raw_writew(0, FPGA_LCDREG);
-}
-
-static const struct fb_videomode ap325rxa_lcdc_modes[] = {
-	{
-		.name = "LB070WV1",
-		.xres = 800,
-		.yres = 480,
-		.left_margin = 32,
-		.right_margin = 160,
-		.hsync_len = 8,
-		.upper_margin = 63,
-		.lower_margin = 80,
-		.vsync_len = 1,
-		.sync = 0, /* hsync and vsync are active low */
-	},
-};
-
-static struct sh_mobile_lcdc_info lcdc_info = {
-	.clock_source = LCDC_CLK_EXTERNAL,
-	.ch[0] = {
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.interface_type = RGB18,
-		.clock_divider = 1,
-		.lcd_modes = ap325rxa_lcdc_modes,
-		.num_modes = ARRAY_SIZE(ap325rxa_lcdc_modes),
-		.panel_cfg = {
-			.width = 152,	/* 7.0 inch */
-			.height = 91,
-			.display_on = ap320_wvga_power_on,
-			.display_off = ap320_wvga_power_off,
-		},
-		.bl_info = {
-			.name = "sh_mobile_lcdc_bl",
-			.max_brightness = 1,
-			.set_brightness = ap320_wvga_set_brightness,
-		},
-	}
-};
-
-static struct resource lcdc_resources[] = {
-	[0] = {
-		.name	= "LCDC",
-		.start	= 0xfe940000, /* P4-only space */
-		.end	= 0xfe942fff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x580),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device lcdc_device = {
-	.name		= "sh_mobile_lcdc_fb",
-	.num_resources	= ARRAY_SIZE(lcdc_resources),
-	.resource	= lcdc_resources,
-	.dev		= {
-		.platform_data	= &lcdc_info,
-	},
-};
-
-/* Powerdown/reset gpios for CEU image sensors */
-static struct gpiod_lookup_table ov7725_gpios = {
-	.dev_id		= "0-0021",
-	.table		= {
-		GPIO_LOOKUP("sh7723_pfc", GPIO_PTZ5, "reset", GPIO_ACTIVE_LOW),
-	},
-};
-
-static struct ceu_platform_data ceu0_pdata = {
-	.num_subdevs			= 1,
-	.subdevs = {
-		{ /* [0] = ov7725  */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 0,
-			.i2c_address	= 0x21,
-		},
-	},
-};
-
-static struct resource ceu_resources[] = {
-	[0] = {
-		.name	= "CEU",
-		.start	= 0xfe910000,
-		.end	= 0xfe91009f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x880),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ap325rxa_ceu_device = {
-	.name		= "renesas-ceu",
-	.id             = 0, /* "ceu.0" clock */
-	.num_resources	= ARRAY_SIZE(ceu_resources),
-	.resource	= ceu_resources,
-	.dev		= {
-		.platform_data	= &ceu0_pdata,
-	},
-};
-
-/* Fixed 3.3V regulators to be used by SDHI0, SDHI1 */
-static struct regulator_consumer_supply fixed3v3_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.1"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.1"),
-};
-
-static struct resource sdhi0_cn3_resources[] = {
-	[0] = {
-		.name	= "SDHI0",
-		.start	= 0x04ce0000,
-		.end	= 0x04ce00ff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xe80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sdhi0_cn3_data = {
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-};
-
-static struct platform_device sdhi0_cn3_device = {
-	.name		= "sh_mobile_sdhi",
-	.id             = 0, /* "sdhi0" clock */
-	.num_resources	= ARRAY_SIZE(sdhi0_cn3_resources),
-	.resource	= sdhi0_cn3_resources,
-	.dev = {
-		.platform_data = &sdhi0_cn3_data,
-	},
-};
-
-static struct resource sdhi1_cn7_resources[] = {
-	[0] = {
-		.name	= "SDHI1",
-		.start	= 0x04cf0000,
-		.end	= 0x04cf00ff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x4e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sdhi1_cn7_data = {
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-};
-
-static struct platform_device sdhi1_cn7_device = {
-	.name		= "sh_mobile_sdhi",
-	.id             = 1, /* "sdhi1" clock */
-	.num_resources	= ARRAY_SIZE(sdhi1_cn7_resources),
-	.resource	= sdhi1_cn7_resources,
-	.dev = {
-		.platform_data = &sdhi1_cn7_data,
-	},
-};
-
-static struct ov772x_camera_info ov7725_info = {
-	.flags		= OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP,
-	.edgectrl	= OV772X_AUTO_EDGECTRL(0xf, 0),
-};
-
-static struct i2c_board_info ap325rxa_i2c_devices[] __initdata = {
-	{
-		I2C_BOARD_INFO("pcf8563", 0x51),
-	},
-	{
-		I2C_BOARD_INFO("ov772x", 0x21),
-		.platform_data = &ov7725_info,
-	},
-};
-
-static struct platform_device *ap325rxa_devices[] __initdata = {
-	&smsc9118_device,
-	&ap325rxa_nor_flash_device,
-	&lcdc_device,
-	&nand_flash_device,
-	&sdhi0_cn3_device,
-	&sdhi1_cn7_device,
-};
-
-extern char ap325rxa_sdram_enter_start;
-extern char ap325rxa_sdram_enter_end;
-extern char ap325rxa_sdram_leave_start;
-extern char ap325rxa_sdram_leave_end;
-
-static int __init ap325rxa_devices_setup(void)
-{
-	/* register board specific self-refresh code */
-	sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF,
-					&ap325rxa_sdram_enter_start,
-					&ap325rxa_sdram_enter_end,
-					&ap325rxa_sdram_leave_start,
-					&ap325rxa_sdram_leave_end);
-
-	regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
-				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
-	regulator_register_fixed(1, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	/* LD3 and LD4 LEDs */
-	gpio_request(GPIO_PTX5, NULL); /* RUN */
-	gpio_direction_output(GPIO_PTX5, 1);
-	gpio_export(GPIO_PTX5, 0);
-
-	gpio_request(GPIO_PTX4, NULL); /* INDICATOR */
-	gpio_direction_output(GPIO_PTX4, 0);
-	gpio_export(GPIO_PTX4, 0);
-
-	/* SW1 input */
-	gpio_request(GPIO_PTF7, NULL); /* MODE */
-	gpio_direction_input(GPIO_PTF7);
-	gpio_export(GPIO_PTF7, 0);
-
-	/* LCDC */
-	gpio_request(GPIO_FN_LCDD15, NULL);
-	gpio_request(GPIO_FN_LCDD14, NULL);
-	gpio_request(GPIO_FN_LCDD13, NULL);
-	gpio_request(GPIO_FN_LCDD12, NULL);
-	gpio_request(GPIO_FN_LCDD11, NULL);
-	gpio_request(GPIO_FN_LCDD10, NULL);
-	gpio_request(GPIO_FN_LCDD9, NULL);
-	gpio_request(GPIO_FN_LCDD8, NULL);
-	gpio_request(GPIO_FN_LCDD7, NULL);
-	gpio_request(GPIO_FN_LCDD6, NULL);
-	gpio_request(GPIO_FN_LCDD5, NULL);
-	gpio_request(GPIO_FN_LCDD4, NULL);
-	gpio_request(GPIO_FN_LCDD3, NULL);
-	gpio_request(GPIO_FN_LCDD2, NULL);
-	gpio_request(GPIO_FN_LCDD1, NULL);
-	gpio_request(GPIO_FN_LCDD0, NULL);
-	gpio_request(GPIO_FN_LCDLCLK_PTR, NULL);
-	gpio_request(GPIO_FN_LCDDCK, NULL);
-	gpio_request(GPIO_FN_LCDVEPWC, NULL);
-	gpio_request(GPIO_FN_LCDVCPWC, NULL);
-	gpio_request(GPIO_FN_LCDVSYN, NULL);
-	gpio_request(GPIO_FN_LCDHSYN, NULL);
-	gpio_request(GPIO_FN_LCDDISP, NULL);
-	gpio_request(GPIO_FN_LCDDON, NULL);
-
-	/* LCD backlight */
-	gpio_request(GPIO_PTS3, NULL);
-	gpio_direction_output(GPIO_PTS3, 1);
-
-	/* CEU */
-	gpio_request(GPIO_FN_VIO_CLK2, NULL);
-	gpio_request(GPIO_FN_VIO_VD2, NULL);
-	gpio_request(GPIO_FN_VIO_HD2, NULL);
-	gpio_request(GPIO_FN_VIO_FLD, NULL);
-	gpio_request(GPIO_FN_VIO_CKO, NULL);
-	gpio_request(GPIO_FN_VIO_D15, NULL);
-	gpio_request(GPIO_FN_VIO_D14, NULL);
-	gpio_request(GPIO_FN_VIO_D13, NULL);
-	gpio_request(GPIO_FN_VIO_D12, NULL);
-	gpio_request(GPIO_FN_VIO_D11, NULL);
-	gpio_request(GPIO_FN_VIO_D10, NULL);
-	gpio_request(GPIO_FN_VIO_D9, NULL);
-	gpio_request(GPIO_FN_VIO_D8, NULL);
-
-	gpio_request(GPIO_PTZ7, NULL);
-	gpio_direction_output(GPIO_PTZ7, 0); /* OE_CAM */
-	gpio_request(GPIO_PTZ6, NULL);
-	gpio_direction_output(GPIO_PTZ6, 0); /* STBY_CAM */
-	gpio_request(GPIO_PTZ5, NULL);
-	gpio_direction_output(GPIO_PTZ5, 0); /* RST_CAM */
-	gpio_request(GPIO_PTZ4, NULL);
-	gpio_direction_output(GPIO_PTZ4, 0); /* SADDR */
-
-	__raw_writew(__raw_readw(PORT_MSELCRB) & ~0x0001, PORT_MSELCRB);
-
-	/* FLCTL */
-	gpio_request(GPIO_FN_FCE, NULL);
-	gpio_request(GPIO_FN_NAF7, NULL);
-	gpio_request(GPIO_FN_NAF6, NULL);
-	gpio_request(GPIO_FN_NAF5, NULL);
-	gpio_request(GPIO_FN_NAF4, NULL);
-	gpio_request(GPIO_FN_NAF3, NULL);
-	gpio_request(GPIO_FN_NAF2, NULL);
-	gpio_request(GPIO_FN_NAF1, NULL);
-	gpio_request(GPIO_FN_NAF0, NULL);
-	gpio_request(GPIO_FN_FCDE, NULL);
-	gpio_request(GPIO_FN_FOE, NULL);
-	gpio_request(GPIO_FN_FSC, NULL);
-	gpio_request(GPIO_FN_FWE, NULL);
-	gpio_request(GPIO_FN_FRB, NULL);
-
-	__raw_writew(0, PORT_HIZCRC);
-	__raw_writew(0xFFFF, PORT_DRVCRA);
-	__raw_writew(0xFFFF, PORT_DRVCRB);
-
-	/* SDHI0 - CN3 - SD CARD */
-	gpio_request(GPIO_FN_SDHI0CD_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0WP_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0D3_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0D2_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0D1_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0D0_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0CMD_PTD, NULL);
-	gpio_request(GPIO_FN_SDHI0CLK_PTD, NULL);
-
-	/* SDHI1 - CN7 - MICRO SD CARD */
-	gpio_request(GPIO_FN_SDHI1CD, NULL);
-	gpio_request(GPIO_FN_SDHI1D3, NULL);
-	gpio_request(GPIO_FN_SDHI1D2, NULL);
-	gpio_request(GPIO_FN_SDHI1D1, NULL);
-	gpio_request(GPIO_FN_SDHI1D0, NULL);
-	gpio_request(GPIO_FN_SDHI1CMD, NULL);
-	gpio_request(GPIO_FN_SDHI1CLK, NULL);
-
-	/* Add a clock alias for ov7725 xclk source. */
-	clk_add_alias(NULL, "0-0021", "video_clk", NULL);
-
-	/* Register RSTB gpio for ov7725 camera sensor. */
-	gpiod_add_lookup_table(&ov7725_gpios);
-
-	i2c_register_board_info(0, ap325rxa_i2c_devices,
-				ARRAY_SIZE(ap325rxa_i2c_devices));
-
-	/* Initialize CEU platform device separately to map memory first */
-	device_initialize(&ap325rxa_ceu_device.dev);
-	dma_declare_coherent_memory(&ap325rxa_ceu_device.dev,
-			ceu_dma_membase, ceu_dma_membase,
-			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
-
-	platform_device_add(&ap325rxa_ceu_device);
-
-	return platform_add_devices(ap325rxa_devices,
-				ARRAY_SIZE(ap325rxa_devices));
-}
-arch_initcall(ap325rxa_devices_setup);
-
-/* Return the board specific boot mode pin configuration */
-static int ap325rxa_mode_pins(void)
-{
-	/* MD0=0, MD1=0, MD2=0: Clock Mode 0
-	 * MD3=0: 16-bit Area0 Bus Width
-	 * MD5=1: Little Endian
-	 * TSTMD=1, MD8=1: Test Mode Disabled
-	 */
-	return MODE_PIN5 | MODE_PIN8;
-}
-
-/* Reserve a portion of memory for CEU buffers */
-static void __init ap325rxa_mv_mem_reserve(void)
-{
-	phys_addr_t phys;
-	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-
-	ceu_dma_membase = phys;
-}
-
-static struct sh_machine_vector mv_ap325rxa __initmv = {
-	.mv_name = "AP-325RXA",
-	.mv_mode_pins = ap325rxa_mode_pins,
-	.mv_mem_reserve	= ap325rxa_mv_mem_reserve,
-};
diff --git a/arch/sh/boards/mach-dreamcast/Makefile b/arch/sh/boards/mach-dreamcast/Makefile
deleted file mode 100644
index 37b2452206aa21..00000000000000
--- a/arch/sh/boards/mach-dreamcast/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the Sega Dreamcast specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
-obj-$(CONFIG_RTC_DRV_GENERIC) += rtc.o
diff --git a/arch/sh/boards/mach-dreamcast/irq.c b/arch/sh/boards/mach-dreamcast/irq.c
deleted file mode 100644
index cc06e4cdb4cdf9..00000000000000
--- a/arch/sh/boards/mach-dreamcast/irq.c
+++ /dev/null
@@ -1,155 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/dreamcast/irq.c
- *
- * Holly IRQ support for the Sega Dreamcast.
- *
- * Copyright (c) 2001, 2002 M. R. Brown <mrbrown at 0xd6.org>
- *
- * This file is part of the LinuxDC project (www.linuxdc.org)
- */
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <linux/export.h>
-#include <linux/err.h>
-#include <mach/sysasic.h>
-
-/*
- * Dreamcast System ASIC Hardware Events -
- *
- * The Dreamcast's System ASIC (a.k.a. Holly) is responsible for receiving
- * hardware events from system peripherals and triggering an SH7750 IRQ.
- * Hardware events can trigger IRQs 13, 11, or 9 depending on which bits are
- * set in the Event Mask Registers (EMRs).  When a hardware event is
- * triggered, its corresponding bit in the Event Status Registers (ESRs)
- * is set, and that bit should be rewritten to the ESR to acknowledge that
- * event.
- *
- * There are three 32-bit ESRs located at 0xa05f6900 - 0xa05f6908.  Event
- * types can be found in arch/sh/include/mach-dreamcast/mach/sysasic.h.
- * There are three groups of EMRs that parallel the ESRs.  Each EMR group
- * corresponds to an IRQ, so 0xa05f6910 - 0xa05f6918 triggers IRQ 13,
- * 0xa05f6920 - 0xa05f6928 triggers IRQ 11, and 0xa05f6930 - 0xa05f6938
- * triggers IRQ 9.
- *
- * In the kernel, these events are mapped to virtual IRQs so that drivers can
- * respond to them as they would a normal interrupt.  In order to keep this
- * mapping simple, the events are mapped as:
- *
- * 6900/6910 - Events  0-31, IRQ 13
- * 6904/6924 - Events 32-63, IRQ 11
- * 6908/6938 - Events 64-95, IRQ  9
- *
- */
-
-#define ESR_BASE 0x005f6900    /* Base event status register */
-#define EMR_BASE 0x005f6910    /* Base event mask register */
-
-/*
- * Helps us determine the EMR group that this event belongs to: 0 = 0x6910,
- * 1 = 0x6920, 2 = 0x6930; also determine the event offset.
- */
-#define LEVEL(event) (((event) - HW_EVENT_IRQ_BASE) / 32)
-
-/* Return the hardware event's bit position within the EMR/ESR */
-#define EVENT_BIT(event) (((event) - HW_EVENT_IRQ_BASE) & 31)
-
-/*
- * For each of these *_irq routines, the IRQ passed in is the virtual IRQ
- * (logically mapped to the corresponding bit for the hardware event).
- */
-
-/* Disable the hardware event by masking its bit in its EMR */
-static inline void disable_systemasic_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	__u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2);
-	__u32 mask;
-
-	mask = inl(emr);
-	mask &= ~(1 << EVENT_BIT(irq));
-	outl(mask, emr);
-}
-
-/* Enable the hardware event by setting its bit in its EMR */
-static inline void enable_systemasic_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	__u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2);
-	__u32 mask;
-
-	mask = inl(emr);
-	mask |= (1 << EVENT_BIT(irq));
-	outl(mask, emr);
-}
-
-/* Acknowledge a hardware event by writing its bit back to its ESR */
-static void mask_ack_systemasic_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	__u32 esr = ESR_BASE + (LEVEL(irq) << 2);
-	disable_systemasic_irq(data);
-	outl((1 << EVENT_BIT(irq)), esr);
-}
-
-struct irq_chip systemasic_int = {
-	.name		= "System ASIC",
-	.irq_mask	= disable_systemasic_irq,
-	.irq_mask_ack	= mask_ack_systemasic_irq,
-	.irq_unmask	= enable_systemasic_irq,
-};
-
-/*
- * Map the hardware event indicated by the processor IRQ to a virtual IRQ.
- */
-int systemasic_irq_demux(int irq)
-{
-	__u32 emr, esr, status, level;
-	__u32 j, bit;
-
-	switch (irq) {
-	case 13:
-		level = 0;
-		break;
-	case 11:
-		level = 1;
-		break;
-	case  9:
-		level = 2;
-		break;
-	default:
-		return irq;
-	}
-	emr = EMR_BASE + (level << 4) + (level << 2);
-	esr = ESR_BASE + (level << 2);
-
-	/* Mask the ESR to filter any spurious, unwanted interrupts */
-	status = inl(esr);
-	status &= inl(emr);
-
-	/* Now scan and find the first set bit as the event to map */
-	for (bit = 1, j = 0; j < 32; bit <<= 1, j++) {
-		if (status & bit) {
-			irq = HW_EVENT_IRQ_BASE + j + (level << 5);
-			return irq;
-		}
-	}
-
-	/* Not reached */
-	return irq;
-}
-
-void systemasic_irq_init(void)
-{
-	int irq_base, i;
-
-	irq_base = irq_alloc_descs(HW_EVENT_IRQ_BASE, HW_EVENT_IRQ_BASE,
-				   HW_EVENT_IRQ_MAX - HW_EVENT_IRQ_BASE, -1);
-	if (IS_ERR_VALUE(irq_base)) {
-		pr_err("%s: failed hooking irqs\n", __func__);
-		return;
-	}
-
-	for (i = HW_EVENT_IRQ_BASE; i < HW_EVENT_IRQ_MAX; i++)
-		irq_set_chip_and_handler(i, &systemasic_int, handle_level_irq);
-}
diff --git a/arch/sh/boards/mach-dreamcast/rtc.c b/arch/sh/boards/mach-dreamcast/rtc.c
deleted file mode 100644
index 7873cd27e4e008..00000000000000
--- a/arch/sh/boards/mach-dreamcast/rtc.c
+++ /dev/null
@@ -1,96 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/dreamcast/rtc.c
- *
- * Dreamcast AICA RTC routines.
- *
- * Copyright (c) 2001, 2002 M. R. Brown <mrbrown at 0xd6.org>
- * Copyright (c) 2002 Paul Mundt <lethal at chaoticdreams.org>
- */
-
-#include <linux/time.h>
-#include <linux/rtc.h>
-#include <linux/io.h>
-#include <linux/platform_device.h>
-
-/* The AICA RTC has an Epoch of 1/1/1950, so we must subtract 20 years (in
-   seconds) to get the standard Unix Epoch when getting the time, and add
-   20 years when setting the time. */
-#define TWENTY_YEARS ((20 * 365LU + 5) * 86400)
-
-/* The AICA RTC is represented by a 32-bit seconds counter stored in 2 16-bit
-   registers.*/
-#define AICA_RTC_SECS_H		0xa0710000
-#define AICA_RTC_SECS_L		0xa0710004
-
-/**
- * aica_rtc_gettimeofday - Get the time from the AICA RTC
- * @dev: the RTC device (ignored)
- * @tm: pointer to resulting RTC time structure
- *
- * Grabs the current RTC seconds counter and adjusts it to the Unix Epoch.
- */
-static int aica_rtc_gettimeofday(struct device *dev, struct rtc_time *tm)
-{
-	unsigned long val1, val2;
-	time64_t t;
-
-	do {
-		val1 = ((__raw_readl(AICA_RTC_SECS_H) & 0xffff) << 16) |
-			(__raw_readl(AICA_RTC_SECS_L) & 0xffff);
-
-		val2 = ((__raw_readl(AICA_RTC_SECS_H) & 0xffff) << 16) |
-			(__raw_readl(AICA_RTC_SECS_L) & 0xffff);
-	} while (val1 != val2);
-
-	/* normalize to 1970..2106 time range */
-	t = (u32)(val1 - TWENTY_YEARS);
-
-	rtc_time64_to_tm(t, tm);
-
-	return 0;
-}
-
-/**
- * aica_rtc_settimeofday - Set the AICA RTC to the current time
- * @dev: the RTC device (ignored)
- * @tm: pointer to new RTC time structure
- *
- * Adjusts the given @tv to the AICA Epoch and sets the RTC seconds counter.
- */
-static int aica_rtc_settimeofday(struct device *dev, struct rtc_time *tm)
-{
-	unsigned long val1, val2;
-	time64_t secs = rtc_tm_to_time64(tm);
-	u32 adj = secs + TWENTY_YEARS;
-
-	do {
-		__raw_writel((adj & 0xffff0000) >> 16, AICA_RTC_SECS_H);
-		__raw_writel((adj & 0xffff), AICA_RTC_SECS_L);
-
-		val1 = ((__raw_readl(AICA_RTC_SECS_H) & 0xffff) << 16) |
-			(__raw_readl(AICA_RTC_SECS_L) & 0xffff);
-
-		val2 = ((__raw_readl(AICA_RTC_SECS_H) & 0xffff) << 16) |
-			(__raw_readl(AICA_RTC_SECS_L) & 0xffff);
-	} while (val1 != val2);
-
-	return 0;
-}
-
-static const struct rtc_class_ops rtc_generic_ops = {
-	.read_time = aica_rtc_gettimeofday,
-	.set_time = aica_rtc_settimeofday,
-};
-
-static int __init aica_time_init(void)
-{
-	struct platform_device *pdev;
-
-	pdev = platform_device_register_data(NULL, "rtc-generic", -1,
-					     &rtc_generic_ops,
-					     sizeof(rtc_generic_ops));
-
-	return PTR_ERR_OR_ZERO(pdev);
-}
-arch_initcall(aica_time_init);
diff --git a/arch/sh/boards/mach-dreamcast/setup.c b/arch/sh/boards/mach-dreamcast/setup.c
deleted file mode 100644
index 2d966c1c2cc188..00000000000000
--- a/arch/sh/boards/mach-dreamcast/setup.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/dreamcast/setup.c
- *
- * Hardware support for the Sega Dreamcast.
- *
- * Copyright (c) 2001, 2002 M. R. Brown <mrbrown at linuxdc.org>
- * Copyright (c) 2002, 2003, 2004 Paul Mundt <lethal at linux-sh.org>
- *
- * This file is part of the LinuxDC project (www.linuxdc.org)
- *
- * This file originally bore the message (with enclosed-$):
- *	Id: setup_dc.c,v 1.5 2001/05/24 05:09:16 mrbrown Exp
- *	SEGA Dreamcast support
- */
-
-#include <linux/sched.h>
-#include <linux/kernel.h>
-#include <linux/param.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/device.h>
-#include <asm/io.h>
-#include <asm/irq.h>
-#include <asm/rtc.h>
-#include <asm/machvec.h>
-#include <mach/sysasic.h>
-
-static void __init dreamcast_setup(char **cmdline_p)
-{
-}
-
-static struct sh_machine_vector mv_dreamcast __initmv = {
-	.mv_name		= "Sega Dreamcast",
-	.mv_setup		= dreamcast_setup,
-	.mv_irq_demux		= systemasic_irq_demux,
-	.mv_init_irq		= systemasic_irq_init,
-};
diff --git a/arch/sh/boards/mach-ecovec24/Makefile b/arch/sh/boards/mach-ecovec24/Makefile
deleted file mode 100644
index d78d4904ddee32..00000000000000
--- a/arch/sh/boards/mach-ecovec24/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the R0P7724LC0011/21RL (EcoVec)
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-
-obj-y	 := setup.o sdram.o
diff --git a/arch/sh/boards/mach-ecovec24/sdram.S b/arch/sh/boards/mach-ecovec24/sdram.S
deleted file mode 100644
index d2f269169abb94..00000000000000
--- a/arch/sh/boards/mach-ecovec24/sdram.S
+++ /dev/null
@@ -1,108 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Ecovec24 sdram self/auto-refresh setup code
- *
- *  Copyright (C) 2009 Magnus Damm
- */
-
-#include <linux/sys.h>
-#include <linux/errno.h>
-#include <linux/linkage.h>
-#include <asm/asm-offsets.h>
-#include <asm/suspend.h>
-#include <asm/romimage-macros.h>
-
-/* code to enter and leave self-refresh. must be self-contained.
- * this code will be copied to on-chip memory and executed from there.
- */
-	.balign 4
-ENTRY(ecovec24_sdram_enter_start)
-
-	/* DBSC: put memory in self-refresh mode */
-
-	ED 0xFD000010, 0x00000000 /* DBEN */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-ENTRY(ecovec24_sdram_enter_end)
-
-	.balign 4
-ENTRY(ecovec24_sdram_leave_start)
-
-	mov.l	@(SH_SLEEP_MODE, r5), r0
-	tst	#SUSP_SH_RSTANDBY, r0
-	bf	resume_rstandby
-
-	/* DBSC: put memory in auto-refresh mode */
-
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	WAIT 1
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-resume_rstandby:
-
-	/* DBSC: re-initialize and put in auto-refresh */
-
-	ED 0xFD000108, 0x00000181 /* DBPDCNT0 */
-	ED 0xFD000020, 0x015B0002 /* DBCONF */
-	ED 0xFD000030, 0x03071502 /* DBTR0 */
-	ED 0xFD000034, 0x02020102 /* DBTR1 */
-	ED 0xFD000038, 0x01090405 /* DBTR2 */
-	ED 0xFD00003C, 0x00000002 /* DBTR3 */
-	ED 0xFD000008, 0x00000005 /* DBKIND */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000018, 0x00000001 /* DBCKECNT */
-
-	mov	#100,r0
-WAIT_400NS:
-	dt	r0
-	bf	WAIT_400NS
-
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000060, 0x00020000 /* DBMRCNT (EMR2) */
-	ED 0xFD000060, 0x00030000 /* DBMRCNT (EMR3) */
-	ED 0xFD000060, 0x00010004 /* DBMRCNT (EMR) */
-	ED 0xFD000060, 0x00000532 /* DBMRCNT (MRS) */
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000060, 0x00000432 /* DBMRCNT (MRS) */
-	ED 0xFD000060, 0x000103c0 /* DBMRCNT (EMR) */
-	ED 0xFD000060, 0x00010040 /* DBMRCNT (EMR) */
-
-	mov	#100,r0
-WAIT_400NS_2:
-	dt	r0
-	bf	WAIT_400NS_2
-
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000044, 0x0000050f /* DBRFPDN1 */
-	ED 0xFD000048, 0x236800e6 /* DBRFPDN2 */
-
-	mov.l	DUMMY,r0
-	mov.l	@r0, r1 /* force single dummy read */
-
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000108, 0x00000080 /* DBPDCNT0 */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-	.balign 4
-DUMMY:	.long	0xac400000
-
-ENTRY(ecovec24_sdram_leave_end)
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
deleted file mode 100644
index 674da7ebd8b7f5..00000000000000
--- a/arch/sh/boards/mach-ecovec24/setup.c
+++ /dev/null
@@ -1,1521 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2009 Renesas Solutions Corp.
- *
- * Kuninori Morimoto <morimoto.kuninori at renesas.com>
- */
-#include <asm/clock.h>
-#include <asm/heartbeat.h>
-#include <asm/suspend.h>
-#include <cpu/sh7724.h>
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/i2c.h>
-#include <linux/io.h>
-#include <linux/init.h>
-#include <linux/input.h>
-#include <linux/input/sh_keysc.h>
-#include <linux/interrupt.h>
-#include <linux/memblock.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mmc/host.h>
-#include <linux/platform_data/sh_mmcif.h>
-#include <linux/mtd/physmap.h>
-#include <linux/gpio.h>
-#include <linux/gpio/machine.h>
-#include <linux/platform_data/gpio_backlight.h>
-#include <linux/platform_data/tsc2007.h>
-#include <linux/platform_device.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/sh_eth.h>
-#include <linux/sh_intc.h>
-#include <linux/spi/mmc_spi.h>
-#include <linux/spi/sh_msiof.h>
-#include <linux/spi/spi.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/usb/renesas_usbhs.h>
-#include <linux/videodev2.h>
-#include <linux/dma-map-ops.h>
-
-#include <media/drv-intf/renesas-ceu.h>
-#include <media/i2c/mt9t112.h>
-#include <media/i2c/tw9910.h>
-
-#include <sound/sh_fsi.h>
-#include <sound/simple_card.h>
-
-#include <video/sh_mobile_lcdc.h>
-
-/*
- *  Address      Interface        BusWidth
- *-----------------------------------------
- *  0x0000_0000  uboot            16bit
- *  0x0004_0000  Linux romImage   16bit
- *  0x0014_0000  MTD for Linux    16bit
- *  0x0400_0000  Internal I/O     16/32bit
- *  0x0800_0000  DRAM             32bit
- *  0x1800_0000  MFI              16bit
- */
-
-/* SWITCH
- *------------------------------
- * DS2[1] = FlashROM write protect  ON     : write protect
- *                                  OFF    : No write protect
- * DS2[2] = RMII / TS, SCIF         ON     : RMII
- *                                  OFF    : TS, SCIF3
- * DS2[3] = Camera / Video          ON     : Camera
- *                                  OFF    : NTSC/PAL (IN)
- * DS2[5] = NTSC_OUT Clock          ON     : On board OSC
- *                                  OFF    : SH7724 DV_CLK
- * DS2[6-7] = MMC / SD              ON-OFF : SD
- *                                  OFF-ON : MMC
- */
-
-/*
- * FSI - DA7210
- *
- * it needs amixer settings for playing
- *
- * amixer set 'HeadPhone' 80
- * amixer set 'Out Mixer Left DAC Left' on
- * amixer set 'Out Mixer Right DAC Right' on
- */
-
-#define CEU_BUFFER_MEMORY_SIZE		(4 << 20)
-static phys_addr_t ceu0_dma_membase;
-static phys_addr_t ceu1_dma_membase;
-
-/* Heartbeat */
-static unsigned char led_pos[] = { 0, 1, 2, 3 };
-
-static struct heartbeat_data heartbeat_data = {
-	.nr_bits = 4,
-	.bit_pos = led_pos,
-};
-
-static struct resource heartbeat_resource = {
-	.start  = 0xA405012C, /* PTG */
-	.end    = 0xA405012E - 1,
-	.flags  = IORESOURCE_MEM | IORESOURCE_MEM_8BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name           = "heartbeat",
-	.id             = -1,
-	.dev = {
-		.platform_data = &heartbeat_data,
-	},
-	.num_resources  = 1,
-	.resource       = &heartbeat_resource,
-};
-
-/* MTD */
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name = "boot loader",
-		.offset = 0,
-		.size = (5 * 1024 * 1024),
-		.mask_flags = MTD_WRITEABLE,  /* force read-only */
-	}, {
-		.name = "free-area",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 2,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0] = {
-		.name	= "NOR Flash",
-		.start	= 0x00000000,
-		.end	= 0x03ffffff,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.dev		= {
-		.platform_data = &nor_flash_data,
-	},
-};
-
-/* SH Eth */
-#define SH_ETH_ADDR	(0xA4600000)
-static struct resource sh_eth_resources[] = {
-	[0] = {
-		.start = SH_ETH_ADDR,
-		.end   = SH_ETH_ADDR + 0x1FC,
-		.flags = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start = evt2irq(0xd60),
-		.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
-	},
-};
-
-static struct sh_eth_plat_data sh_eth_plat = {
-	.phy = 0x1f, /* SMSC LAN8700 */
-	.phy_interface = PHY_INTERFACE_MODE_MII,
-	.ether_link_active_low = 1
-};
-
-static struct platform_device sh_eth_device = {
-	.name = "sh7724-ether",
-	.id = 0,
-	.dev = {
-		.platform_data = &sh_eth_plat,
-	},
-	.num_resources = ARRAY_SIZE(sh_eth_resources),
-	.resource = sh_eth_resources,
-};
-
-/* USB0 host */
-static void usb0_port_power(int port, int power)
-{
-	gpio_set_value(GPIO_PTB4, power);
-}
-
-static struct r8a66597_platdata usb0_host_data = {
-	.on_chip = 1,
-	.port_power = usb0_port_power,
-};
-
-static struct resource usb0_host_resources[] = {
-	[0] = {
-		.start	= 0xa4d80000,
-		.end	= 0xa4d80124 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa20),
-		.end	= evt2irq(0xa20),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device usb0_host_device = {
-	.name		= "r8a66597_hcd",
-	.id		= 0,
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &usb0_host_data,
-	},
-	.num_resources	= ARRAY_SIZE(usb0_host_resources),
-	.resource	= usb0_host_resources,
-};
-
-/* USB1 host/function */
-static void usb1_port_power(int port, int power)
-{
-	gpio_set_value(GPIO_PTB5, power);
-}
-
-static struct r8a66597_platdata usb1_common_data = {
-	.on_chip = 1,
-	.port_power = usb1_port_power,
-};
-
-static struct resource usb1_common_resources[] = {
-	[0] = {
-		.start	= 0xa4d90000,
-		.end	= 0xa4d90124 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa40),
-		.end	= evt2irq(0xa40),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device usb1_common_device = {
-	/* .name will be added in arch_setup */
-	.id		= 1,
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &usb1_common_data,
-	},
-	.num_resources	= ARRAY_SIZE(usb1_common_resources),
-	.resource	= usb1_common_resources,
-};
-
-/*
- * USBHS
- */
-static int usbhs_get_id(struct platform_device *pdev)
-{
-	return gpio_get_value(GPIO_PTB3);
-}
-
-static int usbhs_phy_reset(struct platform_device *pdev)
-{
-	/* enable vbus if HOST */
-	if (!gpio_get_value(GPIO_PTB3))
-		gpio_set_value(GPIO_PTB5, 1);
-
-	return 0;
-}
-
-static struct renesas_usbhs_platform_info usbhs_info = {
-	.platform_callback = {
-		.get_id		= usbhs_get_id,
-		.phy_reset	= usbhs_phy_reset,
-	},
-	.driver_param = {
-		.buswait_bwait		= 4,
-		.detection_delay	= 5,
-		.d0_tx_id = SHDMA_SLAVE_USB1D0_TX,
-		.d0_rx_id = SHDMA_SLAVE_USB1D0_RX,
-		.d1_tx_id = SHDMA_SLAVE_USB1D1_TX,
-		.d1_rx_id = SHDMA_SLAVE_USB1D1_RX,
-	},
-};
-
-static struct resource usbhs_resources[] = {
-	[0] = {
-		.start	= 0xa4d90000,
-		.end	= 0xa4d90124 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa40),
-		.end	= evt2irq(0xa40),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device usbhs_device = {
-	.name	= "renesas_usbhs",
-	.id	= 1,
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &usbhs_info,
-	},
-	.num_resources	= ARRAY_SIZE(usbhs_resources),
-	.resource	= usbhs_resources,
-};
-
-/* LCDC and backlight */
-static const struct fb_videomode ecovec_lcd_modes[] = {
-	{
-		.name		= "Panel",
-		.xres		= 800,
-		.yres		= 480,
-		.left_margin	= 220,
-		.right_margin	= 110,
-		.hsync_len	= 70,
-		.upper_margin	= 20,
-		.lower_margin	= 5,
-		.vsync_len	= 5,
-		.sync		= 0, /* hsync and vsync are active low */
-	},
-};
-
-static const struct fb_videomode ecovec_dvi_modes[] = {
-	{
-		.name		= "DVI",
-		.xres		= 1280,
-		.yres		= 720,
-		.left_margin	= 220,
-		.right_margin	= 110,
-		.hsync_len	= 40,
-		.upper_margin	= 20,
-		.lower_margin	= 5,
-		.vsync_len	= 5,
-		.sync = 0, /* hsync and vsync are active low */
-	},
-};
-
-static struct sh_mobile_lcdc_info lcdc_info = {
-	.ch[0] = {
-		.interface_type = RGB18,
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.panel_cfg = { /* 7.0 inch */
-			.width = 152,
-			.height = 91,
-		},
-	}
-};
-
-static struct resource lcdc_resources[] = {
-	[0] = {
-		.name	= "LCDC",
-		.start	= 0xfe940000,
-		.end	= 0xfe942fff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xf40),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device lcdc_device = {
-	.name		= "sh_mobile_lcdc_fb",
-	.num_resources	= ARRAY_SIZE(lcdc_resources),
-	.resource	= lcdc_resources,
-	.dev		= {
-		.platform_data	= &lcdc_info,
-	},
-};
-
-static struct gpiod_lookup_table gpio_backlight_lookup = {
-	.dev_id		= "gpio-backlight.0",
-	.table = {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTR1, NULL, GPIO_ACTIVE_HIGH),
-		{ }
-	},
-};
-
-static struct property_entry gpio_backlight_props[] = {
-	PROPERTY_ENTRY_BOOL("default-on"),
-	{ }
-};
-
-static struct gpio_backlight_platform_data gpio_backlight_data = {
-	.fbdev = &lcdc_device.dev,
-};
-
-static const struct platform_device_info gpio_backlight_device_info = {
-	.name = "gpio-backlight",
-	.data = &gpio_backlight_data,
-	.size_data = sizeof(gpio_backlight_data),
-	.properties = gpio_backlight_props,
-};
-
-static struct platform_device *gpio_backlight_device;
-
-/* CEU0 */
-static struct ceu_platform_data ceu0_pdata = {
-	.num_subdevs			= 2,
-	.subdevs = {
-		{ /* [0] = mt9t112  */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 0,
-			.i2c_address	= 0x3c,
-		},
-		{ /* [1] = tw9910  */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 0,
-			.i2c_address	= 0x45,
-		},
-	},
-};
-
-static struct resource ceu0_resources[] = {
-	[0] = {
-		.name	= "CEU0",
-		.start	= 0xfe910000,
-		.end	= 0xfe91009f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x880),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ceu0_device = {
-	.name		= "renesas-ceu",
-	.id             = 0, /* ceu.0 */
-	.num_resources	= ARRAY_SIZE(ceu0_resources),
-	.resource	= ceu0_resources,
-	.dev	= {
-		.platform_data	= &ceu0_pdata,
-	},
-};
-
-/* CEU1 */
-static struct ceu_platform_data ceu1_pdata = {
-	.num_subdevs			= 1,
-	.subdevs = {
-		{ /* [0] = mt9t112  */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 1,
-			.i2c_address	= 0x3c,
-		},
-	},
-};
-
-static struct resource ceu1_resources[] = {
-	[0] = {
-		.name	= "CEU1",
-		.start	= 0xfe914000,
-		.end	= 0xfe91409f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x9e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ceu1_device = {
-	.name		= "renesas-ceu",
-	.id             = 1, /* ceu.1 */
-	.num_resources	= ARRAY_SIZE(ceu1_resources),
-	.resource	= ceu1_resources,
-	.dev	= {
-		.platform_data	= &ceu1_pdata,
-	},
-};
-
-/* Power up/down GPIOs for camera devices and video decoder */
-static struct gpiod_lookup_table tw9910_gpios = {
-	.dev_id		= "0-0045",
-	.table		= {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTU2, "pdn", GPIO_ACTIVE_HIGH),
-	},
-};
-
-static struct gpiod_lookup_table mt9t112_0_gpios = {
-	.dev_id		= "0-003c",
-	.table		= {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTA3, "standby",
-			    GPIO_ACTIVE_HIGH),
-	},
-};
-
-static struct gpiod_lookup_table mt9t112_1_gpios = {
-	.dev_id		= "1-003c",
-	.table		= {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTA4, "standby",
-			    GPIO_ACTIVE_HIGH),
-	},
-};
-
-/* I2C device */
-static struct tw9910_video_info tw9910_info = {
-	.buswidth	= 8,
-	.mpout		= TW9910_MPO_FIELD,
-};
-
-static struct mt9t112_platform_data mt9t112_0_pdata = {
-	.flags = MT9T112_FLAG_PCLK_RISING_EDGE,
-	.divider = { 0x49, 0x6, 0, 6, 0, 9, 9, 6, 0 }, /* for 24MHz */
-};
-
-static struct mt9t112_platform_data mt9t112_1_pdata = {
-	.flags = MT9T112_FLAG_PCLK_RISING_EDGE,
-	.divider = { 0x49, 0x6, 0, 6, 0, 9, 9, 6, 0 }, /* for 24MHz */
-};
-
-static struct i2c_board_info i2c0_devices[] = {
-	{
-		I2C_BOARD_INFO("da7210", 0x1a),
-	},
-	{
-		I2C_BOARD_INFO("tw9910", 0x45),
-		.platform_data = &tw9910_info,
-	},
-	{
-		/* 1st camera */
-		I2C_BOARD_INFO("mt9t112", 0x3c),
-		.platform_data = &mt9t112_0_pdata,
-	},
-};
-
-static struct i2c_board_info i2c1_devices[] = {
-	{
-		I2C_BOARD_INFO("r2025sd", 0x32),
-	},
-	{
-		I2C_BOARD_INFO("lis3lv02d", 0x1c),
-		.irq = evt2irq(0x620),
-	},
-	{
-		/* 2nd camera */
-		I2C_BOARD_INFO("mt9t112", 0x3c),
-		.platform_data = &mt9t112_1_pdata,
-	},
-};
-
-/* KEYSC */
-static struct sh_keysc_info keysc_info = {
-	.mode		= SH_KEYSC_MODE_1,
-	.scan_timing	= 3,
-	.delay		= 50,
-	.kycr2_delay	= 100,
-	.keycodes	= { KEY_1, 0, 0, 0, 0,
-			    KEY_2, 0, 0, 0, 0,
-			    KEY_3, 0, 0, 0, 0,
-			    KEY_4, 0, 0, 0, 0,
-			    KEY_5, 0, 0, 0, 0,
-			    KEY_6, 0, 0, 0, 0, },
-};
-
-static struct resource keysc_resources[] = {
-	[0] = {
-		.name	= "KEYSC",
-		.start  = 0x044b0000,
-		.end    = 0x044b000f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xbe0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device keysc_device = {
-	.name           = "sh_keysc",
-	.id             = 0, /* keysc0 clock */
-	.num_resources  = ARRAY_SIZE(keysc_resources),
-	.resource       = keysc_resources,
-	.dev	= {
-		.platform_data	= &keysc_info,
-	},
-};
-
-/* TouchScreen */
-#define IRQ0 evt2irq(0x600)
-
-static int ts_get_pendown_state(struct device *dev)
-{
-	int val = 0;
-	gpio_free(GPIO_FN_INTC_IRQ0);
-	gpio_request(GPIO_PTZ0, NULL);
-	gpio_direction_input(GPIO_PTZ0);
-
-	val = gpio_get_value(GPIO_PTZ0);
-
-	gpio_free(GPIO_PTZ0);
-	gpio_request(GPIO_FN_INTC_IRQ0, NULL);
-
-	return val ? 0 : 1;
-}
-
-static int ts_init(void)
-{
-	gpio_request(GPIO_FN_INTC_IRQ0, NULL);
-	return 0;
-}
-
-static struct tsc2007_platform_data tsc2007_info = {
-	.model			= 2007,
-	.x_plate_ohms		= 180,
-	.get_pendown_state	= ts_get_pendown_state,
-	.init_platform_hw	= ts_init,
-};
-
-static struct i2c_board_info ts_i2c_clients = {
-	I2C_BOARD_INFO("tsc2007", 0x48),
-	.type		= "tsc2007",
-	.platform_data	= &tsc2007_info,
-	.irq		= IRQ0,
-};
-
-static struct regulator_consumer_supply cn12_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mmcif.0"),
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.1"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.1"),
-};
-
-static struct regulator_init_data cn12_power_init_data = {
-	.constraints = {
-		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
-	},
-	.num_consumer_supplies  = ARRAY_SIZE(cn12_power_consumers),
-	.consumer_supplies      = cn12_power_consumers,
-};
-
-static struct fixed_voltage_config cn12_power_info = {
-	.supply_name = "CN12 SD/MMC Vdd",
-	.microvolts = 3300000,
-	.init_data = &cn12_power_init_data,
-};
-
-static struct platform_device cn12_power = {
-	.name = "reg-fixed-voltage",
-	.id   = 0,
-	.dev  = {
-		.platform_data = &cn12_power_info,
-	},
-};
-
-static struct gpiod_lookup_table cn12_power_gpiod_table = {
-	.dev_id = "reg-fixed-voltage.0",
-	.table = {
-		/* Offset 7 on port B */
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTB7,
-			    NULL, GPIO_ACTIVE_HIGH),
-		{ },
-	},
-};
-
-#if defined(CONFIG_MMC_SDHI) || defined(CONFIG_MMC_SDHI_MODULE)
-/* SDHI0 */
-static struct regulator_consumer_supply sdhi0_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-};
-
-static struct regulator_init_data sdhi0_power_init_data = {
-	.constraints = {
-		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
-	},
-	.num_consumer_supplies  = ARRAY_SIZE(sdhi0_power_consumers),
-	.consumer_supplies      = sdhi0_power_consumers,
-};
-
-static struct fixed_voltage_config sdhi0_power_info = {
-	.supply_name = "CN11 SD/MMC Vdd",
-	.microvolts = 3300000,
-	.init_data = &sdhi0_power_init_data,
-};
-
-static struct platform_device sdhi0_power = {
-	.name = "reg-fixed-voltage",
-	.id   = 1,
-	.dev  = {
-		.platform_data = &sdhi0_power_info,
-	},
-};
-
-static struct gpiod_lookup_table sdhi0_power_gpiod_table = {
-	.dev_id = "reg-fixed-voltage.1",
-	.table = {
-		/* Offset 6 on port B */
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTB6,
-			    NULL, GPIO_ACTIVE_HIGH),
-		{ },
-	},
-};
-
-static struct gpiod_lookup_table sdhi0_gpio_table = {
-	.dev_id = "sh_mobile_sdhi.0",
-	.table = {
-		/* Card detect */
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTY7, "cd", GPIO_ACTIVE_LOW),
-		{ },
-	},
-};
-
-static struct tmio_mmc_data sdhi0_info = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
-			  MMC_CAP_NEEDS_POLL,
-};
-
-static struct resource sdhi0_resources[] = {
-	[0] = {
-		.name	= "SDHI0",
-		.start  = 0x04ce0000,
-		.end    = 0x04ce00ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xe80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sdhi0_device = {
-	.name           = "sh_mobile_sdhi",
-	.num_resources  = ARRAY_SIZE(sdhi0_resources),
-	.resource       = sdhi0_resources,
-	.id             = 0,
-	.dev	= {
-		.platform_data	= &sdhi0_info,
-	},
-};
-
-#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
-/* SDHI1 */
-static struct tmio_mmc_data sdhi1_info = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI1_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI1_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
-			  MMC_CAP_NEEDS_POLL,
-};
-
-static struct gpiod_lookup_table sdhi1_gpio_table = {
-	.dev_id = "sh_mobile_sdhi.1",
-	.table = {
-		/* Card detect */
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTW7, "cd", GPIO_ACTIVE_LOW),
-		{ },
-	},
-};
-
-static struct resource sdhi1_resources[] = {
-	[0] = {
-		.name	= "SDHI1",
-		.start  = 0x04cf0000,
-		.end    = 0x04cf00ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x4e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sdhi1_device = {
-	.name           = "sh_mobile_sdhi",
-	.num_resources  = ARRAY_SIZE(sdhi1_resources),
-	.resource       = sdhi1_resources,
-	.id             = 1,
-	.dev	= {
-		.platform_data	= &sdhi1_info,
-	},
-};
-#endif /* CONFIG_MMC_SH_MMCIF */
-
-#else
-
-/* MMC SPI */
-static void mmc_spi_setpower(struct device *dev, unsigned int maskval)
-{
-	gpio_set_value(GPIO_PTB6, maskval ? 1 : 0);
-}
-
-static struct mmc_spi_platform_data mmc_spi_info = {
-	.caps = MMC_CAP_NEEDS_POLL,
-	.caps2 = MMC_CAP2_RO_ACTIVE_HIGH,
-	.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34, /* 3.3V only */
-	.setpower = mmc_spi_setpower,
-};
-
-static struct gpiod_lookup_table mmc_spi_gpio_table = {
-	.dev_id = "mmc_spi.0", /* device "mmc_spi" @ CS0 */
-	.table = {
-		/* Card detect */
-		GPIO_LOOKUP_IDX("sh7724_pfc", GPIO_PTY7, NULL, 0,
-				GPIO_ACTIVE_LOW),
-		/* Write protect */
-		GPIO_LOOKUP_IDX("sh7724_pfc", GPIO_PTY6, NULL, 1,
-				GPIO_ACTIVE_HIGH),
-		{ },
-	},
-};
-
-static struct spi_board_info spi_bus[] = {
-	{
-		.modalias	= "mmc_spi",
-		.platform_data	= &mmc_spi_info,
-		.max_speed_hz	= 5000000,
-		.mode		= SPI_MODE_0,
-	},
-};
-
-/* MSIOF0 */
-static struct sh_msiof_spi_info msiof0_data = {
-	.num_chipselect = 1,
-};
-
-static struct resource msiof0_resources[] = {
-	[0] = {
-		.name	= "MSIOF0",
-		.start	= 0xa4c40000,
-		.end	= 0xa4c40063,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xc80),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device msiof0_device = {
-	.name		= "spi_sh_msiof",
-	.id		= 0, /* MSIOF0 */
-	.dev = {
-		.platform_data = &msiof0_data,
-	},
-	.num_resources	= ARRAY_SIZE(msiof0_resources),
-	.resource	= msiof0_resources,
-};
-
-static struct gpiod_lookup_table msiof_gpio_table = {
-	.dev_id = "spi_sh_msiof.0",
-	.table = {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTM4, "cs", GPIO_ACTIVE_HIGH),
-		{ },
-	},
-};
-
-#endif
-
-/* FSI */
-static struct resource fsi_resources[] = {
-	[0] = {
-		.name	= "FSI",
-		.start	= 0xFE3C0000,
-		.end	= 0xFE3C021d,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xf80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device fsi_device = {
-	.name		= "sh_fsi",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(fsi_resources),
-	.resource	= fsi_resources,
-};
-
-static struct asoc_simple_card_info fsi_da7210_info = {
-	.name		= "DA7210",
-	.card		= "FSIB-DA7210",
-	.codec		= "da7210.0-001a",
-	.platform	= "sh_fsi.0",
-	.daifmt		= SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBP_CFP,
-	.cpu_dai = {
-		.name	= "fsib-dai",
-	},
-	.codec_dai = {
-		.name	= "da7210-hifi",
-	},
-};
-
-static struct platform_device fsi_da7210_device = {
-	.name	= "asoc-simple-card",
-	.dev	= {
-		.platform_data	= &fsi_da7210_info,
-		.coherent_dma_mask = DMA_BIT_MASK(32),
-		.dma_mask = &fsi_da7210_device.dev.coherent_dma_mask,
-	},
-};
-
-
-/* IrDA */
-static struct resource irda_resources[] = {
-	[0] = {
-		.name	= "IrDA",
-		.start  = 0xA45D0000,
-		.end    = 0xA45D0049,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x480),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device irda_device = {
-	.name           = "sh_sir",
-	.num_resources  = ARRAY_SIZE(irda_resources),
-	.resource       = irda_resources,
-};
-
-#include <media/i2c/ak881x.h>
-#include <media/drv-intf/sh_vou.h>
-
-static struct ak881x_pdata ak881x_pdata = {
-	.flags = AK881X_IF_MODE_SLAVE,
-};
-
-static struct i2c_board_info ak8813 = {
-	I2C_BOARD_INFO("ak8813", 0x20),
-	.platform_data = &ak881x_pdata,
-};
-
-static struct sh_vou_pdata sh_vou_pdata = {
-	.bus_fmt	= SH_VOU_BUS_8BIT,
-	.flags		= SH_VOU_HSYNC_LOW | SH_VOU_VSYNC_LOW,
-	.board_info	= &ak8813,
-	.i2c_adap	= 0,
-};
-
-static struct resource sh_vou_resources[] = {
-	[0] = {
-		.start  = 0xfe960000,
-		.end    = 0xfe962043,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x8e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device vou_device = {
-	.name           = "sh-vou",
-	.id		= -1,
-	.num_resources  = ARRAY_SIZE(sh_vou_resources),
-	.resource       = sh_vou_resources,
-	.dev		= {
-		.platform_data	= &sh_vou_pdata,
-	},
-};
-
-#if defined(CONFIG_MMC_SH_MMCIF) || defined(CONFIG_MMC_SH_MMCIF_MODULE)
-/* SH_MMCIF */
-static struct resource sh_mmcif_resources[] = {
-	[0] = {
-		.name	= "SH_MMCIF",
-		.start	= 0xA4CA0000,
-		.end	= 0xA4CA00FF,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		/* MMC2I */
-		.start	= evt2irq(0x5a0),
-		.flags	= IORESOURCE_IRQ,
-	},
-	[2] = {
-		/* MMC3I */
-		.start	= evt2irq(0x5c0),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_mmcif_plat_data sh_mmcif_plat = {
-	.sup_pclk	= 0, /* SH7724: Max Pclk/2 */
-	.caps		= MMC_CAP_4_BIT_DATA |
-			  MMC_CAP_8_BIT_DATA |
-			  MMC_CAP_NEEDS_POLL,
-	.ocr		= MMC_VDD_32_33 | MMC_VDD_33_34,
-};
-
-static struct platform_device sh_mmcif_device = {
-	.name		= "sh_mmcif",
-	.id		= 0,
-	.dev		= {
-		.platform_data		= &sh_mmcif_plat,
-	},
-	.num_resources	= ARRAY_SIZE(sh_mmcif_resources),
-	.resource	= sh_mmcif_resources,
-};
-#endif
-
-static struct platform_device *ecovec_ceu_devices[] __initdata = {
-	&ceu0_device,
-	&ceu1_device,
-};
-
-static struct platform_device *ecovec_devices[] __initdata = {
-	&heartbeat_device,
-	&nor_flash_device,
-	&sh_eth_device,
-	&usb0_host_device,
-	&usb1_common_device,
-	&usbhs_device,
-	&lcdc_device,
-	&keysc_device,
-	&cn12_power,
-#if defined(CONFIG_MMC_SDHI) || defined(CONFIG_MMC_SDHI_MODULE)
-	&sdhi0_power,
-	&sdhi0_device,
-#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
-	&sdhi1_device,
-#endif
-#else
-	&msiof0_device,
-#endif
-	&fsi_device,
-	&fsi_da7210_device,
-	&irda_device,
-	&vou_device,
-#if defined(CONFIG_MMC_SH_MMCIF) || defined(CONFIG_MMC_SH_MMCIF_MODULE)
-	&sh_mmcif_device,
-#endif
-};
-
-#ifdef CONFIG_I2C
-#define EEPROM_ADDR 0x50
-static u8 mac_read(struct i2c_adapter *a, u8 command)
-{
-	struct i2c_msg msg[2];
-	u8 buf;
-	int ret;
-
-	msg[0].addr  = EEPROM_ADDR;
-	msg[0].flags = 0;
-	msg[0].len   = 1;
-	msg[0].buf   = &command;
-
-	msg[1].addr  = EEPROM_ADDR;
-	msg[1].flags = I2C_M_RD;
-	msg[1].len   = 1;
-	msg[1].buf   = &buf;
-
-	ret = i2c_transfer(a, msg, 2);
-	if (ret < 0) {
-		printk(KERN_ERR "error %d\n", ret);
-		buf = 0xff;
-	}
-
-	return buf;
-}
-
-static void __init sh_eth_init(struct sh_eth_plat_data *pd)
-{
-	struct i2c_adapter *a = i2c_get_adapter(1);
-	int i;
-
-	if (!a) {
-		pr_err("can not get I2C 1\n");
-		return;
-	}
-
-	/* read MAC address from EEPROM */
-	for (i = 0; i < sizeof(pd->mac_addr); i++) {
-		pd->mac_addr[i] = mac_read(a, 0x10 + i);
-		msleep(10);
-	}
-
-	i2c_put_adapter(a);
-}
-#else
-static void __init sh_eth_init(struct sh_eth_plat_data *pd)
-{
-	pr_err("unable to read sh_eth MAC address\n");
-}
-#endif
-
-#define PORT_HIZA 0xA4050158
-#define IODRIVEA  0xA405018A
-
-extern char ecovec24_sdram_enter_start;
-extern char ecovec24_sdram_enter_end;
-extern char ecovec24_sdram_leave_start;
-extern char ecovec24_sdram_leave_end;
-
-static int __init arch_setup(void)
-{
-	struct clk *clk;
-	bool cn12_enabled = false;
-
-	/* register board specific self-refresh code */
-	sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF |
-					SUSP_SH_RSTANDBY,
-					&ecovec24_sdram_enter_start,
-					&ecovec24_sdram_enter_end,
-					&ecovec24_sdram_leave_start,
-					&ecovec24_sdram_leave_end);
-
-	/* enable STATUS0, STATUS2 and PDSTATUS */
-	gpio_request(GPIO_FN_STATUS0, NULL);
-	gpio_request(GPIO_FN_STATUS2, NULL);
-	gpio_request(GPIO_FN_PDSTATUS, NULL);
-
-	/* enable SCIFA0 */
-	gpio_request(GPIO_FN_SCIF0_TXD, NULL);
-	gpio_request(GPIO_FN_SCIF0_RXD, NULL);
-
-	/* enable debug LED */
-	gpio_request(GPIO_PTG0, NULL);
-	gpio_request(GPIO_PTG1, NULL);
-	gpio_request(GPIO_PTG2, NULL);
-	gpio_request(GPIO_PTG3, NULL);
-	gpio_direction_output(GPIO_PTG0, 0);
-	gpio_direction_output(GPIO_PTG1, 0);
-	gpio_direction_output(GPIO_PTG2, 0);
-	gpio_direction_output(GPIO_PTG3, 0);
-	__raw_writew((__raw_readw(PORT_HIZA) & ~(0x1 << 1)) , PORT_HIZA);
-
-	/* enable SH-Eth */
-	gpio_request(GPIO_PTA1, NULL);
-	gpio_direction_output(GPIO_PTA1, 1);
-	mdelay(20);
-
-	gpio_request(GPIO_FN_RMII_RXD0,    NULL);
-	gpio_request(GPIO_FN_RMII_RXD1,    NULL);
-	gpio_request(GPIO_FN_RMII_TXD0,    NULL);
-	gpio_request(GPIO_FN_RMII_TXD1,    NULL);
-	gpio_request(GPIO_FN_RMII_REF_CLK, NULL);
-	gpio_request(GPIO_FN_RMII_TX_EN,   NULL);
-	gpio_request(GPIO_FN_RMII_RX_ER,   NULL);
-	gpio_request(GPIO_FN_RMII_CRS_DV,  NULL);
-	gpio_request(GPIO_FN_MDIO,         NULL);
-	gpio_request(GPIO_FN_MDC,          NULL);
-	gpio_request(GPIO_FN_LNKSTA,       NULL);
-
-	/* enable USB */
-	__raw_writew(0x0000, 0xA4D80000);
-	__raw_writew(0x0000, 0xA4D90000);
-	gpio_request(GPIO_PTB3,  NULL);
-	gpio_request(GPIO_PTB4,  NULL);
-	gpio_request(GPIO_PTB5,  NULL);
-	gpio_direction_input(GPIO_PTB3);
-	gpio_direction_output(GPIO_PTB4, 0);
-	gpio_direction_output(GPIO_PTB5, 0);
-	__raw_writew(0x0600, 0xa40501d4);
-	__raw_writew(0x0600, 0xa4050192);
-
-	if (gpio_get_value(GPIO_PTB3)) {
-		printk(KERN_INFO "USB1 function is selected\n");
-		usb1_common_device.name = "r8a66597_udc";
-	} else {
-		printk(KERN_INFO "USB1 host is selected\n");
-		usb1_common_device.name = "r8a66597_hcd";
-	}
-
-	/* enable LCDC */
-	gpio_request(GPIO_FN_LCDD23,   NULL);
-	gpio_request(GPIO_FN_LCDD22,   NULL);
-	gpio_request(GPIO_FN_LCDD21,   NULL);
-	gpio_request(GPIO_FN_LCDD20,   NULL);
-	gpio_request(GPIO_FN_LCDD19,   NULL);
-	gpio_request(GPIO_FN_LCDD18,   NULL);
-	gpio_request(GPIO_FN_LCDD17,   NULL);
-	gpio_request(GPIO_FN_LCDD16,   NULL);
-	gpio_request(GPIO_FN_LCDD15,   NULL);
-	gpio_request(GPIO_FN_LCDD14,   NULL);
-	gpio_request(GPIO_FN_LCDD13,   NULL);
-	gpio_request(GPIO_FN_LCDD12,   NULL);
-	gpio_request(GPIO_FN_LCDD11,   NULL);
-	gpio_request(GPIO_FN_LCDD10,   NULL);
-	gpio_request(GPIO_FN_LCDD9,    NULL);
-	gpio_request(GPIO_FN_LCDD8,    NULL);
-	gpio_request(GPIO_FN_LCDD7,    NULL);
-	gpio_request(GPIO_FN_LCDD6,    NULL);
-	gpio_request(GPIO_FN_LCDD5,    NULL);
-	gpio_request(GPIO_FN_LCDD4,    NULL);
-	gpio_request(GPIO_FN_LCDD3,    NULL);
-	gpio_request(GPIO_FN_LCDD2,    NULL);
-	gpio_request(GPIO_FN_LCDD1,    NULL);
-	gpio_request(GPIO_FN_LCDD0,    NULL);
-	gpio_request(GPIO_FN_LCDDISP,  NULL);
-	gpio_request(GPIO_FN_LCDHSYN,  NULL);
-	gpio_request(GPIO_FN_LCDDCK,   NULL);
-	gpio_request(GPIO_FN_LCDVSYN,  NULL);
-	gpio_request(GPIO_FN_LCDDON,   NULL);
-	gpio_request(GPIO_FN_LCDLCLK,  NULL);
-	__raw_writew((__raw_readw(PORT_HIZA) & ~0x0001), PORT_HIZA);
-
-	gpio_request(GPIO_PTE6, NULL);
-	gpio_request(GPIO_PTU1, NULL);
-	gpio_request(GPIO_PTA2, NULL);
-	gpio_direction_input(GPIO_PTE6);
-	gpio_direction_output(GPIO_PTU1, 0);
-	gpio_direction_output(GPIO_PTA2, 0);
-
-	/* I/O buffer drive ability is high */
-	__raw_writew((__raw_readw(IODRIVEA) & ~0x00c0) | 0x0080 , IODRIVEA);
-
-	if (gpio_get_value(GPIO_PTE6)) {
-		/* DVI */
-		lcdc_info.clock_source			= LCDC_CLK_EXTERNAL;
-		lcdc_info.ch[0].clock_divider		= 1;
-		lcdc_info.ch[0].lcd_modes		= ecovec_dvi_modes;
-		lcdc_info.ch[0].num_modes		= ARRAY_SIZE(ecovec_dvi_modes);
-
-		/* No backlight */
-		gpio_backlight_data.fbdev = NULL;
-
-		gpio_set_value(GPIO_PTA2, 1);
-		gpio_set_value(GPIO_PTU1, 1);
-	} else {
-		/* Panel */
-		lcdc_info.clock_source			= LCDC_CLK_PERIPHERAL;
-		lcdc_info.ch[0].clock_divider		= 2;
-		lcdc_info.ch[0].lcd_modes		= ecovec_lcd_modes;
-		lcdc_info.ch[0].num_modes		= ARRAY_SIZE(ecovec_lcd_modes);
-
-		/* FIXME
-		 *
-		 * LCDDON control is needed for Panel,
-		 * but current sh_mobile_lcdc driver doesn't control it.
-		 * It is temporary correspondence
-		 */
-		gpio_request(GPIO_PTF4, NULL);
-		gpio_direction_output(GPIO_PTF4, 1);
-
-		/* enable TouchScreen */
-		i2c_register_board_info(0, &ts_i2c_clients, 1);
-		irq_set_irq_type(IRQ0, IRQ_TYPE_LEVEL_LOW);
-	}
-
-	/* enable CEU0 */
-	gpio_request(GPIO_FN_VIO0_D15, NULL);
-	gpio_request(GPIO_FN_VIO0_D14, NULL);
-	gpio_request(GPIO_FN_VIO0_D13, NULL);
-	gpio_request(GPIO_FN_VIO0_D12, NULL);
-	gpio_request(GPIO_FN_VIO0_D11, NULL);
-	gpio_request(GPIO_FN_VIO0_D10, NULL);
-	gpio_request(GPIO_FN_VIO0_D9,  NULL);
-	gpio_request(GPIO_FN_VIO0_D8,  NULL);
-	gpio_request(GPIO_FN_VIO0_D7,  NULL);
-	gpio_request(GPIO_FN_VIO0_D6,  NULL);
-	gpio_request(GPIO_FN_VIO0_D5,  NULL);
-	gpio_request(GPIO_FN_VIO0_D4,  NULL);
-	gpio_request(GPIO_FN_VIO0_D3,  NULL);
-	gpio_request(GPIO_FN_VIO0_D2,  NULL);
-	gpio_request(GPIO_FN_VIO0_D1,  NULL);
-	gpio_request(GPIO_FN_VIO0_D0,  NULL);
-	gpio_request(GPIO_FN_VIO0_VD,  NULL);
-	gpio_request(GPIO_FN_VIO0_CLK, NULL);
-	gpio_request(GPIO_FN_VIO0_FLD, NULL);
-	gpio_request(GPIO_FN_VIO0_HD,  NULL);
-
-	/* enable CEU1 */
-	gpio_request(GPIO_FN_VIO1_D7,  NULL);
-	gpio_request(GPIO_FN_VIO1_D6,  NULL);
-	gpio_request(GPIO_FN_VIO1_D5,  NULL);
-	gpio_request(GPIO_FN_VIO1_D4,  NULL);
-	gpio_request(GPIO_FN_VIO1_D3,  NULL);
-	gpio_request(GPIO_FN_VIO1_D2,  NULL);
-	gpio_request(GPIO_FN_VIO1_D1,  NULL);
-	gpio_request(GPIO_FN_VIO1_D0,  NULL);
-	gpio_request(GPIO_FN_VIO1_FLD, NULL);
-	gpio_request(GPIO_FN_VIO1_HD,  NULL);
-	gpio_request(GPIO_FN_VIO1_VD,  NULL);
-	gpio_request(GPIO_FN_VIO1_CLK, NULL);
-
-	/* enable KEYSC */
-	gpio_request(GPIO_FN_KEYOUT5_IN5, NULL);
-	gpio_request(GPIO_FN_KEYOUT4_IN6, NULL);
-	gpio_request(GPIO_FN_KEYOUT3,     NULL);
-	gpio_request(GPIO_FN_KEYOUT2,     NULL);
-	gpio_request(GPIO_FN_KEYOUT1,     NULL);
-	gpio_request(GPIO_FN_KEYOUT0,     NULL);
-	gpio_request(GPIO_FN_KEYIN0,      NULL);
-
-	/* enable user debug switch */
-	gpio_request(GPIO_PTR0, NULL);
-	gpio_request(GPIO_PTR4, NULL);
-	gpio_request(GPIO_PTR5, NULL);
-	gpio_request(GPIO_PTR6, NULL);
-	gpio_direction_input(GPIO_PTR0);
-	gpio_direction_input(GPIO_PTR4);
-	gpio_direction_input(GPIO_PTR5);
-	gpio_direction_input(GPIO_PTR6);
-
-	/* SD-card slot CN11 */
-#if defined(CONFIG_MMC_SDHI) || defined(CONFIG_MMC_SDHI_MODULE)
-	/* enable SDHI0 on CN11 (needs DS2.4 set to ON) */
-	gpio_request(GPIO_FN_SDHI0WP,  NULL);
-	gpio_request(GPIO_FN_SDHI0CMD, NULL);
-	gpio_request(GPIO_FN_SDHI0CLK, NULL);
-	gpio_request(GPIO_FN_SDHI0D3,  NULL);
-	gpio_request(GPIO_FN_SDHI0D2,  NULL);
-	gpio_request(GPIO_FN_SDHI0D1,  NULL);
-	gpio_request(GPIO_FN_SDHI0D0,  NULL);
-#else
-	/* enable MSIOF0 on CN11 (needs DS2.4 set to OFF) */
-	gpio_request(GPIO_FN_MSIOF0_TXD, NULL);
-	gpio_request(GPIO_FN_MSIOF0_RXD, NULL);
-	gpio_request(GPIO_FN_MSIOF0_TSCK, NULL);
-	gpio_request(GPIO_PTB6, NULL); /* 3.3V power control */
-	gpio_direction_output(GPIO_PTB6, 0); /* disable power by default */
-
-	gpiod_add_lookup_table(&mmc_spi_gpio_table);
-	gpiod_add_lookup_table(&msiof_gpio_table);
-	spi_register_board_info(spi_bus, ARRAY_SIZE(spi_bus));
-#endif
-
-	/* MMC/SD-card slot CN12 */
-#if defined(CONFIG_MMC_SH_MMCIF) || defined(CONFIG_MMC_SH_MMCIF_MODULE)
-	/* enable MMCIF (needs DS2.6,7 set to OFF,ON) */
-	gpio_request(GPIO_FN_MMC_D7, NULL);
-	gpio_request(GPIO_FN_MMC_D6, NULL);
-	gpio_request(GPIO_FN_MMC_D5, NULL);
-	gpio_request(GPIO_FN_MMC_D4, NULL);
-	gpio_request(GPIO_FN_MMC_D3, NULL);
-	gpio_request(GPIO_FN_MMC_D2, NULL);
-	gpio_request(GPIO_FN_MMC_D1, NULL);
-	gpio_request(GPIO_FN_MMC_D0, NULL);
-	gpio_request(GPIO_FN_MMC_CLK, NULL);
-	gpio_request(GPIO_FN_MMC_CMD, NULL);
-
-	cn12_enabled = true;
-#elif defined(CONFIG_MMC_SDHI) || defined(CONFIG_MMC_SDHI_MODULE)
-	/* enable SDHI1 on CN12 (needs DS2.6,7 set to ON,OFF) */
-	gpio_request(GPIO_FN_SDHI1WP,  NULL);
-	gpio_request(GPIO_FN_SDHI1CMD, NULL);
-	gpio_request(GPIO_FN_SDHI1CLK, NULL);
-	gpio_request(GPIO_FN_SDHI1D3,  NULL);
-	gpio_request(GPIO_FN_SDHI1D2,  NULL);
-	gpio_request(GPIO_FN_SDHI1D1,  NULL);
-	gpio_request(GPIO_FN_SDHI1D0,  NULL);
-
-	cn12_enabled = true;
-#endif
-
-	if (cn12_enabled)
-		/* I/O buffer drive ability is high for CN12 */
-		__raw_writew((__raw_readw(IODRIVEA) & ~0x3000) | 0x2000,
-			     IODRIVEA);
-
-	/* enable FSI */
-	gpio_request(GPIO_FN_FSIMCKB,    NULL);
-	gpio_request(GPIO_FN_FSIIBSD,    NULL);
-	gpio_request(GPIO_FN_FSIOBSD,    NULL);
-	gpio_request(GPIO_FN_FSIIBBCK,   NULL);
-	gpio_request(GPIO_FN_FSIIBLRCK,  NULL);
-	gpio_request(GPIO_FN_FSIOBBCK,   NULL);
-	gpio_request(GPIO_FN_FSIOBLRCK,  NULL);
-	gpio_request(GPIO_FN_CLKAUDIOBO, NULL);
-
-	/* set SPU2 clock to 83.4 MHz */
-	clk = clk_get(NULL, "spu_clk");
-	if (!IS_ERR(clk)) {
-		clk_set_rate(clk, clk_round_rate(clk, 83333333));
-		clk_put(clk);
-	}
-
-	/* change parent of FSI B */
-	clk = clk_get(NULL, "fsib_clk");
-	if (!IS_ERR(clk)) {
-		/* 48kHz dummy clock was used to make sure 1/1 divide */
-		clk_set_rate(&sh7724_fsimckb_clk, 48000);
-		clk_set_parent(clk, &sh7724_fsimckb_clk);
-		clk_set_rate(clk, 48000);
-		clk_put(clk);
-	}
-
-	gpio_request(GPIO_PTU0, NULL);
-	gpio_direction_output(GPIO_PTU0, 0);
-	mdelay(20);
-
-	/* enable motion sensor */
-	gpio_request(GPIO_FN_INTC_IRQ1, NULL);
-	gpio_direction_input(GPIO_FN_INTC_IRQ1);
-
-	/* set VPU clock to 166 MHz */
-	clk = clk_get(NULL, "vpu_clk");
-	if (!IS_ERR(clk)) {
-		clk_set_rate(clk, clk_round_rate(clk, 166000000));
-		clk_put(clk);
-	}
-
-	/* enable IrDA */
-	gpio_request(GPIO_FN_IRDA_OUT, NULL);
-	gpio_request(GPIO_FN_IRDA_IN,  NULL);
-	gpio_request(GPIO_PTU5, NULL);
-	gpio_direction_output(GPIO_PTU5, 0);
-
-	/* Register gpio lookup tables for cameras and video decoder */
-	gpiod_add_lookup_table(&tw9910_gpios);
-	gpiod_add_lookup_table(&mt9t112_0_gpios);
-	gpiod_add_lookup_table(&mt9t112_1_gpios);
-
-	/* enable I2C device */
-	i2c_register_board_info(0, i2c0_devices,
-				ARRAY_SIZE(i2c0_devices));
-
-	i2c_register_board_info(1, i2c1_devices,
-				ARRAY_SIZE(i2c1_devices));
-
-#if defined(CONFIG_VIDEO_SH_VOU) || defined(CONFIG_VIDEO_SH_VOU_MODULE)
-	/* VOU */
-	gpio_request(GPIO_FN_DV_D15, NULL);
-	gpio_request(GPIO_FN_DV_D14, NULL);
-	gpio_request(GPIO_FN_DV_D13, NULL);
-	gpio_request(GPIO_FN_DV_D12, NULL);
-	gpio_request(GPIO_FN_DV_D11, NULL);
-	gpio_request(GPIO_FN_DV_D10, NULL);
-	gpio_request(GPIO_FN_DV_D9, NULL);
-	gpio_request(GPIO_FN_DV_D8, NULL);
-	gpio_request(GPIO_FN_DV_CLKI, NULL);
-	gpio_request(GPIO_FN_DV_CLK, NULL);
-	gpio_request(GPIO_FN_DV_VSYNC, NULL);
-	gpio_request(GPIO_FN_DV_HSYNC, NULL);
-
-	/* AK8813 power / reset sequence */
-	gpio_request(GPIO_PTG4, NULL);
-	gpio_request(GPIO_PTU3, NULL);
-	/* Reset */
-	gpio_direction_output(GPIO_PTG4, 0);
-	/* Power down */
-	gpio_direction_output(GPIO_PTU3, 1);
-
-	udelay(10);
-
-	/* Power up, reset */
-	gpio_set_value(GPIO_PTU3, 0);
-
-	udelay(10);
-
-	/* Remove reset */
-	gpio_set_value(GPIO_PTG4, 1);
-#endif
-
-	/* Initialize CEU platform devices separately to map memory first */
-	device_initialize(&ecovec_ceu_devices[0]->dev);
-	dma_declare_coherent_memory(&ecovec_ceu_devices[0]->dev,
-				    ceu0_dma_membase, ceu0_dma_membase,
-				    ceu0_dma_membase +
-				    CEU_BUFFER_MEMORY_SIZE - 1);
-	platform_device_add(ecovec_ceu_devices[0]);
-
-	device_initialize(&ecovec_ceu_devices[1]->dev);
-	dma_declare_coherent_memory(&ecovec_ceu_devices[1]->dev,
-				    ceu1_dma_membase, ceu1_dma_membase,
-				    ceu1_dma_membase +
-				    CEU_BUFFER_MEMORY_SIZE - 1);
-	platform_device_add(ecovec_ceu_devices[1]);
-
-	gpiod_add_lookup_table(&cn12_power_gpiod_table);
-#if defined(CONFIG_MMC_SDHI) || defined(CONFIG_MMC_SDHI_MODULE)
-	gpiod_add_lookup_table(&sdhi0_power_gpiod_table);
-	gpiod_add_lookup_table(&sdhi0_gpio_table);
-#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
-	gpiod_add_lookup_table(&sdhi1_gpio_table);
-#endif
-#endif
-
-	gpiod_add_lookup_table(&gpio_backlight_lookup);
-	gpio_backlight_device = platform_device_register_full(
-					&gpio_backlight_device_info);
-	if (IS_ERR(gpio_backlight_device))
-		return PTR_ERR(gpio_backlight_device);
-
-	return platform_add_devices(ecovec_devices,
-				    ARRAY_SIZE(ecovec_devices));
-}
-arch_initcall(arch_setup);
-
-static int __init devices_setup(void)
-{
-	sh_eth_init(&sh_eth_plat);
-	return 0;
-}
-device_initcall(devices_setup);
-
-/* Reserve a portion of memory for CEU 0 and CEU 1 buffers */
-static void __init ecovec_mv_mem_reserve(void)
-{
-	phys_addr_t phys;
-	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU0 memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-	ceu0_dma_membase = phys;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU1 memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-	ceu1_dma_membase = phys;
-}
-
-static struct sh_machine_vector mv_ecovec __initmv = {
-	.mv_name	= "R0P7724 (EcoVec)",
-	.mv_mem_reserve	= ecovec_mv_mem_reserve,
-};
diff --git a/arch/sh/boards/mach-highlander/Kconfig b/arch/sh/boards/mach-highlander/Kconfig
deleted file mode 100644
index b0abd03cac4e57..00000000000000
--- a/arch/sh/boards/mach-highlander/Kconfig
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-if SH_HIGHLANDER
-
-choice
-	prompt "Highlander options"
-	default SH_R7780MP
-
-config SH_R7780RP
-	bool "R7780RP-1 board support"
-	depends on CPU_SUBTYPE_SH7780
-
-config SH_R7780MP
-	bool "R7780MP board support"
-	depends on CPU_SUBTYPE_SH7780
-	help
-	  Selecting this option will enable support for the mass-production
-	  version of the R7780RP. If in doubt, say Y.
-
-config SH_R7785RP
-	bool "R7785RP board support"
-	depends on CPU_SUBTYPE_SH7785
-	select GPIOLIB
-
-endchoice
-
-endif
diff --git a/arch/sh/boards/mach-highlander/Makefile b/arch/sh/boards/mach-highlander/Makefile
deleted file mode 100644
index 880ed68138b00f..00000000000000
--- a/arch/sh/boards/mach-highlander/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the Highlander specific parts of the kernel
-#
-obj-y				:= setup.o
-obj-$(CONFIG_SH_R7780RP)	+= irq-r7780rp.o
-obj-$(CONFIG_SH_R7780MP)	+= irq-r7780mp.o
-obj-$(CONFIG_SH_R7785RP)	+= irq-r7785rp.o pinmux-r7785rp.o
-
-ifneq ($(CONFIG_SH_R7785RP),y)
-obj-$(CONFIG_PUSH_SWITCH)	+= psw.o
-endif
diff --git a/arch/sh/boards/mach-highlander/irq-r7780mp.c b/arch/sh/boards/mach-highlander/irq-r7780mp.c
deleted file mode 100644
index f46637377b6a18..00000000000000
--- a/arch/sh/boards/mach-highlander/irq-r7780mp.c
+++ /dev/null
@@ -1,71 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Solutions Highlander R7780MP Support.
- *
- * Copyright (C) 2002  Atom Create Engineering Co., Ltd.
- * Copyright (C) 2006  Paul Mundt
- * Copyright (C) 2007  Magnus Damm
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <mach/highlander.h>
-
-enum {
-	UNUSED = 0,
-
-	/* board specific interrupt sources */
-	CF,		/* Compact Flash */
-	TP,		/* Touch panel */
-	SCIF1,		/* FPGA SCIF1 */
-	SCIF0,		/* FPGA SCIF0 */
-	SMBUS,		/* SMBUS */
-	RTC,		/* RTC Alarm */
-	AX88796,	/* Ethernet controller */
-	PSW,		/* Push Switch */
-
-	/* external bus connector */
-	EXT1, EXT2, EXT4, EXT5, EXT6,
-};
-
-static struct intc_vect vectors[] __initdata = {
-	INTC_IRQ(CF, IRQ_CF),
-	INTC_IRQ(TP, IRQ_TP),
-	INTC_IRQ(SCIF1, IRQ_SCIF1),
-	INTC_IRQ(SCIF0, IRQ_SCIF0),
-	INTC_IRQ(SMBUS, IRQ_SMBUS),
-	INTC_IRQ(RTC, IRQ_RTC),
-	INTC_IRQ(AX88796, IRQ_AX88796),
-	INTC_IRQ(PSW, IRQ_PSW),
-
-	INTC_IRQ(EXT1, IRQ_EXT1), INTC_IRQ(EXT2, IRQ_EXT2),
-	INTC_IRQ(EXT4, IRQ_EXT4), INTC_IRQ(EXT5, IRQ_EXT5),
-	INTC_IRQ(EXT6, IRQ_EXT6),
-};
-
-static struct intc_mask_reg mask_registers[] __initdata = {
-	{ 0xa4000000, 0, 16, /* IRLMSK */
-	  { SCIF0, SCIF1, RTC, 0, CF, 0, TP, SMBUS,
-	    0, EXT6, EXT5, EXT4, EXT2, EXT1, PSW, AX88796 } },
-};
-
-static unsigned char irl2irq[HL_NR_IRL] __initdata = {
-	0, IRQ_CF, IRQ_TP, IRQ_SCIF1,
-	IRQ_SCIF0, IRQ_SMBUS, IRQ_RTC, IRQ_EXT6,
-	IRQ_EXT5, IRQ_EXT4, IRQ_EXT2, IRQ_EXT1,
-	0, IRQ_AX88796, IRQ_PSW,
-};
-
-static DECLARE_INTC_DESC(intc_desc, "r7780mp", vectors,
-			 NULL, mask_registers, NULL, NULL);
-
-unsigned char * __init highlander_plat_irq_setup(void)
-{
-	if ((__raw_readw(0xa4000700) & 0xf000) == 0x2000) {
-		printk(KERN_INFO "Using r7780mp interrupt controller.\n");
-		register_intc_controller(&intc_desc);
-		return irl2irq;
-	}
-
-	return NULL;
-}
diff --git a/arch/sh/boards/mach-highlander/irq-r7780rp.c b/arch/sh/boards/mach-highlander/irq-r7780rp.c
deleted file mode 100644
index c61177e8724ba7..00000000000000
--- a/arch/sh/boards/mach-highlander/irq-r7780rp.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Solutions Highlander R7780RP-1 Support.
- *
- * Copyright (C) 2002  Atom Create Engineering Co., Ltd.
- * Copyright (C) 2006  Paul Mundt
- * Copyright (C) 2008  Magnus Damm
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <mach/highlander.h>
-
-enum {
-	UNUSED = 0,
-
-	/* board specific interrupt sources */
-
-	AX88796,          /* Ethernet controller */
-	PSW,              /* Push Switch */
-	CF,               /* Compact Flash */
-
-	PCI_A,
-	PCI_B,
-	PCI_C,
-	PCI_D,
-};
-
-static struct intc_vect vectors[] __initdata = {
-	INTC_IRQ(PCI_A, 65), /* dirty: overwrite cpu vectors for pci */
-	INTC_IRQ(PCI_B, 66),
-	INTC_IRQ(PCI_C, 67),
-	INTC_IRQ(PCI_D, 68),
-	INTC_IRQ(CF, IRQ_CF),
-	INTC_IRQ(PSW, IRQ_PSW),
-	INTC_IRQ(AX88796, IRQ_AX88796),
-};
-
-static struct intc_mask_reg mask_registers[] __initdata = {
-	{ 0xa5000000, 0, 16, /* IRLMSK */
-	  { PCI_A, PCI_B, PCI_C, PCI_D, CF, 0, 0, 0,
-	    0, 0, 0, 0, 0, 0, PSW, AX88796 } },
-};
-
-static unsigned char irl2irq[HL_NR_IRL] __initdata = {
-	65, 66, 67, 68,
-	IRQ_CF, 0, 0, 0,
-	0, 0, 0, 0,
-	IRQ_AX88796, IRQ_PSW
-};
-
-static DECLARE_INTC_DESC(intc_desc, "r7780rp", vectors,
-			 NULL, mask_registers, NULL, NULL);
-
-unsigned char * __init highlander_plat_irq_setup(void)
-{
-	if (__raw_readw(0xa5000600)) {
-		printk(KERN_INFO "Using r7780rp interrupt controller.\n");
-		register_intc_controller(&intc_desc);
-		return irl2irq;
-	}
-
-	return NULL;
-}
diff --git a/arch/sh/boards/mach-highlander/irq-r7785rp.c b/arch/sh/boards/mach-highlander/irq-r7785rp.c
deleted file mode 100644
index 0ebebbed0d63fb..00000000000000
--- a/arch/sh/boards/mach-highlander/irq-r7785rp.c
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Solutions Highlander R7785RP Support.
- *
- * Copyright (C) 2002  Atom Create Engineering Co., Ltd.
- * Copyright (C) 2006 - 2008  Paul Mundt
- * Copyright (C) 2007  Magnus Damm
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <mach/highlander.h>
-
-enum {
-	UNUSED = 0,
-
-	/* FPGA specific interrupt sources */
-	CF,		/* Compact Flash */
-	SMBUS,		/* SMBUS */
-	TP,		/* Touch panel */
-	RTC,		/* RTC Alarm */
-	TH_ALERT,	/* Temperature sensor */
-	AX88796,	/* Ethernet controller */
-
-	/* external bus connector */
-	EXT0, EXT1, EXT2, EXT3, EXT4, EXT5, EXT6, EXT7,
-};
-
-static struct intc_vect vectors[] __initdata = {
-	INTC_IRQ(CF, IRQ_CF),
-	INTC_IRQ(SMBUS, IRQ_SMBUS),
-	INTC_IRQ(TP, IRQ_TP),
-	INTC_IRQ(RTC, IRQ_RTC),
-	INTC_IRQ(TH_ALERT, IRQ_TH_ALERT),
-
-	INTC_IRQ(EXT0, IRQ_EXT0), INTC_IRQ(EXT1, IRQ_EXT1),
-	INTC_IRQ(EXT2, IRQ_EXT2), INTC_IRQ(EXT3, IRQ_EXT3),
-
-	INTC_IRQ(EXT4, IRQ_EXT4), INTC_IRQ(EXT5, IRQ_EXT5),
-	INTC_IRQ(EXT6, IRQ_EXT6), INTC_IRQ(EXT7, IRQ_EXT7),
-
-	INTC_IRQ(AX88796, IRQ_AX88796),
-};
-
-static struct intc_mask_reg mask_registers[] __initdata = {
-	{ 0xa4000010, 0, 16, /* IRLMCR1 */
-	  { 0, 0, 0, 0, CF, AX88796, SMBUS, TP,
-	    RTC, 0, TH_ALERT, 0, 0, 0, 0, 0 } },
-	{ 0xa4000012, 0, 16, /* IRLMCR2 */
-	  { 0, 0, 0, 0, 0, 0, 0, 0,
-	    EXT7, EXT6, EXT5, EXT4, EXT3, EXT2, EXT1, EXT0 } },
-};
-
-static unsigned char irl2irq[HL_NR_IRL] __initdata = {
-	0, IRQ_CF, IRQ_EXT4, IRQ_EXT5,
-	IRQ_EXT6, IRQ_EXT7, IRQ_SMBUS, IRQ_TP,
-	IRQ_RTC, IRQ_TH_ALERT, IRQ_AX88796, IRQ_EXT0,
-	IRQ_EXT1, IRQ_EXT2, IRQ_EXT3,
-};
-
-static DECLARE_INTC_DESC(intc_desc, "r7785rp", vectors,
-			 NULL, mask_registers, NULL, NULL);
-
-unsigned char * __init highlander_plat_irq_setup(void)
-{
-	if ((__raw_readw(0xa4000158) & 0xf000) != 0x1000)
-		return NULL;
-
-	printk(KERN_INFO "Using r7785rp interrupt controller.\n");
-
-	__raw_writew(0x0000, PA_IRLSSR1);	/* FPGA IRLSSR1(CF_CD clear) */
-
-	/* Setup the FPGA IRL */
-	__raw_writew(0x0000, PA_IRLPRA);	/* FPGA IRLA */
-	__raw_writew(0xe598, PA_IRLPRB);	/* FPGA IRLB */
-	__raw_writew(0x7060, PA_IRLPRC);	/* FPGA IRLC */
-	__raw_writew(0x0000, PA_IRLPRD);	/* FPGA IRLD */
-	__raw_writew(0x4321, PA_IRLPRE);	/* FPGA IRLE */
-	__raw_writew(0xdcba, PA_IRLPRF);	/* FPGA IRLF */
-
-	register_intc_controller(&intc_desc);
-	return irl2irq;
-}
diff --git a/arch/sh/boards/mach-highlander/pinmux-r7785rp.c b/arch/sh/boards/mach-highlander/pinmux-r7785rp.c
deleted file mode 100644
index 703179faf652b2..00000000000000
--- a/arch/sh/boards/mach-highlander/pinmux-r7785rp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2008 Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/gpio.h>
-#include <cpu/sh7785.h>
-
-void __init highlander_plat_pinmux_setup(void)
-{
-	/* SCIF0 */
-	gpio_request(GPIO_FN_SCIF0_CTS, NULL);
-	gpio_request(GPIO_FN_SCIF0_RTS, NULL);
-	gpio_request(GPIO_FN_SCIF0_SCK, NULL);
-	gpio_request(GPIO_FN_SCIF0_RXD, NULL);
-	gpio_request(GPIO_FN_SCIF0_TXD, NULL);
-}
diff --git a/arch/sh/boards/mach-highlander/psw.c b/arch/sh/boards/mach-highlander/psw.c
deleted file mode 100644
index d445c54f74e440..00000000000000
--- a/arch/sh/boards/mach-highlander/psw.c
+++ /dev/null
@@ -1,119 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/renesas/r7780rp/psw.c
- *
- * push switch support for RDBRP-1/RDBREVRP-1 debug boards.
- *
- * Copyright (C) 2006  Paul Mundt
- */
-#include <linux/io.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <linux/platform_device.h>
-#include <mach/highlander.h>
-#include <asm/push-switch.h>
-
-static irqreturn_t psw_irq_handler(int irq, void *arg)
-{
-	struct platform_device *pdev = arg;
-	struct push_switch *psw = platform_get_drvdata(pdev);
-	struct push_switch_platform_info *psw_info = pdev->dev.platform_data;
-	unsigned int l, mask;
-	int ret = 0;
-
-	l = __raw_readw(PA_DBSW);
-
-	/* Nothing to do if there's no state change */
-	if (psw->state) {
-		ret = 1;
-		goto out;
-	}
-
-	mask = l & 0x70;
-	/* Figure out who raised it */
-	if (mask & (1 << psw_info->bit)) {
-		psw->state = !!(mask & (1 << psw_info->bit));
-		if (psw->state)	/* debounce */
-			mod_timer(&psw->debounce, jiffies + 50);
-
-		ret = 1;
-	}
-
-out:
-	/* Clear the switch IRQs */
-	l |= (0x7 << 12);
-	__raw_writew(l, PA_DBSW);
-
-	return IRQ_RETVAL(ret);
-}
-
-static struct resource psw_resources[] = {
-	[0] = {
-		.start	= IRQ_PSW,
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct push_switch_platform_info s2_platform_data = {
-	.name		= "s2",
-	.bit		= 6,
-	.irq_flags	= IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			  IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct platform_device s2_switch_device = {
-	.name		= "push-switch",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(psw_resources),
-	.resource	= psw_resources,
-	.dev		= {
-		.platform_data = &s2_platform_data,
-	},
-};
-
-static struct push_switch_platform_info s3_platform_data = {
-	.name		= "s3",
-	.bit		= 5,
-	.irq_flags	= IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			  IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct platform_device s3_switch_device = {
-	.name		= "push-switch",
-	.id		= 1,
-	.num_resources	= ARRAY_SIZE(psw_resources),
-	.resource	= psw_resources,
-	.dev		= {
-		.platform_data = &s3_platform_data,
-	},
-};
-
-static struct push_switch_platform_info s4_platform_data = {
-	.name		= "s4",
-	.bit		= 4,
-	.irq_flags	= IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
-			  IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct platform_device s4_switch_device = {
-	.name		= "push-switch",
-	.id		= 2,
-	.num_resources	= ARRAY_SIZE(psw_resources),
-	.resource	= psw_resources,
-	.dev		= {
-		.platform_data = &s4_platform_data,
-	},
-};
-
-static struct platform_device *psw_devices[] = {
-	&s2_switch_device, &s3_switch_device, &s4_switch_device,
-};
-
-static int __init psw_init(void)
-{
-	return platform_add_devices(psw_devices, ARRAY_SIZE(psw_devices));
-}
-module_init(psw_init);
diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c
deleted file mode 100644
index 533393d779c2b9..00000000000000
--- a/arch/sh/boards/mach-highlander/setup.c
+++ /dev/null
@@ -1,416 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/renesas/r7780rp/setup.c
- *
- * Renesas Solutions Highlander Support.
- *
- * Copyright (C) 2002 Atom Create Engineering Co., Ltd.
- * Copyright (C) 2005 - 2008 Paul Mundt
- *
- * This contains support for the R7780RP-1, R7780MP, and R7785RP
- * Highlander modules.
- */
-#include <linux/init.h>
-#include <linux/io.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <linux/types.h>
-#include <linux/mtd/physmap.h>
-#include <linux/i2c.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/usb/m66592.h>
-#include <linux/clkdev.h>
-#include <net/ax88796.h>
-#include <asm/machvec.h>
-#include <mach/highlander.h>
-#include <asm/clock.h>
-#include <asm/heartbeat.h>
-#include <asm/io.h>
-#include <asm/io_trapped.h>
-
-static struct r8a66597_platdata r8a66597_data = {
-	.xtal = R8A66597_PLATDATA_XTAL_12MHZ,
-	.vif = 1,
-};
-
-static struct resource r8a66597_usb_host_resources[] = {
-	[0] = {
-		.start	= 0xA4200000,
-		.end	= 0xA42000FF,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= IRQ_EXT1,		/* irq number */
-		.end	= IRQ_EXT1,
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device r8a66597_usb_host_device = {
-	.name		= "r8a66597_hcd",
-	.id		= -1,
-	.dev = {
-		.dma_mask		= NULL,		/* don't use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &r8a66597_data,
-	},
-	.num_resources	= ARRAY_SIZE(r8a66597_usb_host_resources),
-	.resource	= r8a66597_usb_host_resources,
-};
-
-static struct m66592_platdata usbf_platdata = {
-	.xtal = M66592_PLATDATA_XTAL_24MHZ,
-	.vif = 1,
-};
-
-static struct resource m66592_usb_peripheral_resources[] = {
-	[0] = {
-		.name	= "m66592_udc",
-		.start	= 0xb0000000,
-		.end	= 0xb00000FF,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name	= "m66592_udc",
-		.start	= IRQ_EXT4,		/* irq number */
-		.end	= IRQ_EXT4,
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device m66592_usb_peripheral_device = {
-	.name		= "m66592_udc",
-	.id		= -1,
-	.dev = {
-		.dma_mask		= NULL,		/* don't use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &usbf_platdata,
-	},
-	.num_resources	= ARRAY_SIZE(m66592_usb_peripheral_resources),
-	.resource	= m66592_usb_peripheral_resources,
-};
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start	= PA_AREA5_IO + 0x1000,
-		.end	= PA_AREA5_IO + 0x1000 + 0x08 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PA_AREA5_IO + 0x80c,
-		.end	= PA_AREA5_IO + 0x80c + 0x16 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[2] = {
-		.start	= IRQ_CF,
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct pata_platform_info pata_info = {
-	.ioport_shift	= 1,
-};
-
-static struct platform_device cf_ide_device  = {
-	.name		= "pata_platform",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-	.dev	= {
-		.platform_data	= &pata_info,
-	},
-};
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= PA_OBLED,
-		.end	= PA_OBLED,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-#ifndef CONFIG_SH_R7785RP
-static unsigned char heartbeat_bit_pos[] = { 2, 1, 0, 3, 6, 5, 4, 7 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-#endif
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-
-	/* R7785RP has a slightly more sensible FPGA.. */
-#ifndef CONFIG_SH_R7785RP
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-#endif
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct ax_plat_data ax88796_platdata = {
-	.flags          = AXFLG_HAS_93CX6,
-	.wordlength     = 2,
-	.dcr_val        = 0x1,
-	.rcr_val        = 0x40,
-};
-
-static struct resource ax88796_resources[] = {
-	{
-#ifdef CONFIG_SH_R7780RP
-		.start  = 0xa5800400,
-		.end    = 0xa5800400 + (0x20 * 0x2) - 1,
-#else
-		.start  = 0xa4100400,
-		.end    = 0xa4100400 + (0x20 * 0x2) - 1,
-#endif
-		.flags  = IORESOURCE_MEM,
-	},
-	{
-		.start  = IRQ_AX88796,
-		.end    = IRQ_AX88796,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ax88796_device = {
-	.name           = "ax88796",
-	.id             = 0,
-
-	.dev    = {
-		.platform_data = &ax88796_platdata,
-	},
-
-	.num_resources  = ARRAY_SIZE(ax88796_resources),
-	.resource       = ax88796_resources,
-};
-
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name		= "loader",
-		.offset		= 0x00000000,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "bootenv",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 512 * 1024,
-	},
-	{
-		.name		= "kernel",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 4 * 1024 * 1024,
-	},
-	{
-		.name		= "data",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 4,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-/* This config is flash board for mass production. */
-static struct resource nor_flash_resources[] = {
-	[0]	= {
-		.start	= PA_NORFLASH_ADDR,
-		.end	= PA_NORFLASH_ADDR + PA_NORFLASH_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.dev		= {
-		.platform_data	= &nor_flash_data,
-	},
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.resource	= nor_flash_resources,
-};
-
-static struct resource smbus_resources[] = {
-	[0] = {
-		.start	= PA_SMCR,
-		.end	= PA_SMCR + 0x100 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= IRQ_SMBUS,
-		.end	= IRQ_SMBUS,
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smbus_device = {
-	.name		= "i2c-highlander",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(smbus_resources),
-	.resource	= smbus_resources,
-};
-
-static struct i2c_board_info __initdata highlander_i2c_devices[] = {
-	{
-		I2C_BOARD_INFO("r2025sd", 0x32),
-	},
-};
-
-static struct platform_device *r7780rp_devices[] __initdata = {
-	&r8a66597_usb_host_device,
-	&m66592_usb_peripheral_device,
-	&heartbeat_device,
-	&smbus_device,
-	&nor_flash_device,
-#ifndef CONFIG_SH_R7780RP
-	&ax88796_device,
-#endif
-};
-
-/*
- * The CF is connected using a 16-bit bus where 8-bit operations are
- * unsupported. The linux ata driver is however using 8-bit operations, so
- * insert a trapped io filter to convert 8-bit operations into 16-bit.
- */
-static struct trapped_io cf_trapped_io = {
-	.resource		= cf_ide_resources,
-	.num_resources		= 2,
-	.minimum_bus_width	= 16,
-};
-
-static int __init r7780rp_devices_setup(void)
-{
-	int ret = 0;
-
-#ifndef CONFIG_SH_R7780RP
-	if (register_trapped_io(&cf_trapped_io) == 0)
-		ret |= platform_device_register(&cf_ide_device);
-#endif
-
-	ret |= platform_add_devices(r7780rp_devices,
-				    ARRAY_SIZE(r7780rp_devices));
-
-	ret |= i2c_register_board_info(0, highlander_i2c_devices,
-				       ARRAY_SIZE(highlander_i2c_devices));
-
-	return ret;
-}
-device_initcall(r7780rp_devices_setup);
-
-/*
- * Platform specific clocks
- */
-static int ivdr_clk_enable(struct clk *clk)
-{
-	__raw_writew(__raw_readw(PA_IVDRCTL) | (1 << IVDR_CK_ON), PA_IVDRCTL);
-	return 0;
-}
-
-static void ivdr_clk_disable(struct clk *clk)
-{
-	__raw_writew(__raw_readw(PA_IVDRCTL) & ~(1 << IVDR_CK_ON), PA_IVDRCTL);
-}
-
-static struct sh_clk_ops ivdr_clk_ops = {
-	.enable		= ivdr_clk_enable,
-	.disable	= ivdr_clk_disable,
-};
-
-static struct clk ivdr_clk = {
-	.ops		= &ivdr_clk_ops,
-};
-
-static struct clk *r7780rp_clocks[] = {
-	&ivdr_clk,
-};
-
-static struct clk_lookup lookups[] = {
-	/* main clocks */
-	CLKDEV_CON_ID("ivdr_clk", &ivdr_clk),
-};
-
-static void r7780rp_power_off(void)
-{
-	if (mach_is_r7780mp() || mach_is_r7785rp())
-		__raw_writew(0x0001, PA_POFF);
-}
-
-/*
- * Initialize the board
- */
-static void __init highlander_setup(char **cmdline_p)
-{
-	u16 ver = __raw_readw(PA_VERREG);
-	int i;
-
-	printk(KERN_INFO "Renesas Solutions Highlander %s support.\n",
-			 mach_is_r7780rp() ? "R7780RP-1" :
-			 mach_is_r7780mp() ? "R7780MP"	 :
-					     "R7785RP");
-
-	printk(KERN_INFO "Board version: %d (revision %d), "
-			 "FPGA version: %d (revision %d)\n",
-			 (ver >> 12) & 0xf, (ver >> 8) & 0xf,
-			 (ver >>  4) & 0xf, ver & 0xf);
-
-	highlander_plat_pinmux_setup();
-
-	/*
-	 * Enable the important clocks right away..
-	 */
-	for (i = 0; i < ARRAY_SIZE(r7780rp_clocks); i++) {
-		struct clk *clk = r7780rp_clocks[i];
-
-		clk_register(clk);
-		clk_enable(clk);
-	}
-
-	clkdev_add_table(lookups, ARRAY_SIZE(lookups));
-
-	__raw_writew(0x0000, PA_OBLED);	/* Clear LED. */
-
-	if (mach_is_r7780rp())
-		__raw_writew(0x0001, PA_SDPOW);	/* SD Power ON */
-
-	__raw_writew(__raw_readw(PA_IVDRCTL) | 0x01, PA_IVDRCTL);	/* Si13112 */
-
-	pm_power_off = r7780rp_power_off;
-}
-
-static unsigned char irl2irq[HL_NR_IRL];
-
-static int highlander_irq_demux(int irq)
-{
-	if (irq >= HL_NR_IRL || irq < 0 || !irl2irq[irq])
-		return irq;
-
-	return irl2irq[irq];
-}
-
-static void __init highlander_init_irq(void)
-{
-	unsigned char *ucp = highlander_plat_irq_setup();
-
-	if (ucp) {
-		plat_irq_setup_pins(IRQ_MODE_IRL3210);
-		memcpy(irl2irq, ucp, HL_NR_IRL);
-	}
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_highlander __initmv = {
-	.mv_name		= "Highlander",
-	.mv_setup		= highlander_setup,
-	.mv_init_irq		= highlander_init_irq,
-	.mv_irq_demux		= highlander_irq_demux,
-};
diff --git a/arch/sh/boards/mach-hp6xx/Makefile b/arch/sh/boards/mach-hp6xx/Makefile
deleted file mode 100644
index 4b0fe29e5612eb..00000000000000
--- a/arch/sh/boards/mach-hp6xx/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the HP6xx specific parts of the kernel
-#
-
-obj-y			:= setup.o
-obj-$(CONFIG_PM)	+= pm.o pm_wakeup.o
-obj-$(CONFIG_APM_EMULATION)	+= hp6xx_apm.o
diff --git a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c b/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
deleted file mode 100644
index e5c4c7d34139ea..00000000000000
--- a/arch/sh/boards/mach-hp6xx/hp6xx_apm.c
+++ /dev/null
@@ -1,109 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * bios-less APM driver for hp680
- *
- * Copyright 2005 (c) Andriy Skulysh <askulysh at gmail.com>
- * Copyright 2008 (c) Kristoffer Ericson <kristoffer.ericson at gmail.com>
- */
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/apm-emulation.h>
-#include <linux/io.h>
-#include <asm/adc.h>
-#include <mach/hp6xx.h>
-
-/* percentage values */
-#define APM_CRITICAL			10
-#define APM_LOW				30
-
-/* resonably sane values */
-#define HP680_BATTERY_MAX		898
-#define HP680_BATTERY_MIN		486
-#define HP680_BATTERY_AC_ON		1023
-
-#define MODNAME "hp6x0_apm"
-
-#define PGDR	0xa400012c
-
-static void hp6x0_apm_get_power_status(struct apm_power_info *info)
-{
-	int battery, backup, charging, percentage;
-	u8 pgdr;
-
-	battery		= adc_single(ADC_CHANNEL_BATTERY);
-	backup		= adc_single(ADC_CHANNEL_BACKUP);
-	charging	= adc_single(ADC_CHANNEL_CHARGE);
-
-	percentage = 100 * (battery - HP680_BATTERY_MIN) /
-			   (HP680_BATTERY_MAX - HP680_BATTERY_MIN);
-
-	/* % of full battery */
-	info->battery_life = percentage;
-
-	/* We want our estimates in minutes */
-	info->units = 0;
-
-	/* Extremely(!!) rough estimate, we will replace this with a datalist later on */
-	info->time = (2 * battery);
-
-	info->ac_line_status = (battery > HP680_BATTERY_AC_ON) ?
-			 APM_AC_ONLINE : APM_AC_OFFLINE;
-
-	pgdr = __raw_readb(PGDR);
-	if (pgdr & PGDR_MAIN_BATTERY_OUT) {
-		info->battery_status	= APM_BATTERY_STATUS_NOT_PRESENT;
-		info->battery_flag	= 0x80;
-	} else if (charging < 8) {
-		info->battery_status	= APM_BATTERY_STATUS_CHARGING;
-		info->battery_flag	= 0x08;
-		info->ac_line_status	= 0x01;
-	} else if (percentage <= APM_CRITICAL) {
-		info->battery_status	= APM_BATTERY_STATUS_CRITICAL;
-		info->battery_flag	= 0x04;
-	} else if (percentage <= APM_LOW) {
-		info->battery_status	= APM_BATTERY_STATUS_LOW;
-		info->battery_flag	= 0x02;
-	} else {
-		info->battery_status	= APM_BATTERY_STATUS_HIGH;
-		info->battery_flag	= 0x01;
-	}
-}
-
-static irqreturn_t hp6x0_apm_interrupt(int irq, void *dev)
-{
-	if (!APM_DISABLED)
-		apm_queue_event(APM_USER_SUSPEND);
-
-	return IRQ_HANDLED;
-}
-
-static int __init hp6x0_apm_init(void)
-{
-	int ret;
-
-	ret = request_irq(HP680_BTN_IRQ, hp6x0_apm_interrupt,
-			  0, MODNAME, NULL);
-	if (unlikely(ret < 0)) {
-		printk(KERN_ERR MODNAME ": IRQ %d request failed\n",
-		       HP680_BTN_IRQ);
-		return ret;
-	}
-
-	apm_get_power_status = hp6x0_apm_get_power_status;
-
-	return ret;
-}
-
-static void __exit hp6x0_apm_exit(void)
-{
-	free_irq(HP680_BTN_IRQ, 0);
-}
-
-module_init(hp6x0_apm_init);
-module_exit(hp6x0_apm_exit);
-
-MODULE_AUTHOR("Adriy Skulysh");
-MODULE_DESCRIPTION("hp6xx Advanced Power Management");
-MODULE_LICENSE("GPL");
diff --git a/arch/sh/boards/mach-hp6xx/pm.c b/arch/sh/boards/mach-hp6xx/pm.c
deleted file mode 100644
index fe505ec168d021..00000000000000
--- a/arch/sh/boards/mach-hp6xx/pm.c
+++ /dev/null
@@ -1,156 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * hp6x0 Power Management Routines
- *
- * Copyright (c) 2006 Andriy Skulysh <askulsyh at gmail.com>
- */
-#include <linux/init.h>
-#include <linux/suspend.h>
-#include <linux/errno.h>
-#include <linux/time.h>
-#include <linux/delay.h>
-#include <linux/gfp.h>
-#include <asm/io.h>
-#include <asm/hd64461.h>
-#include <asm/bl_bit.h>
-#include <mach/hp6xx.h>
-#include <cpu/dac.h>
-#include <asm/freq.h>
-#include <asm/watchdog.h>
-
-#define INTR_OFFSET	0x600
-
-#define STBCR		0xffffff82
-#define STBCR2		0xffffff88
-
-#define STBCR_STBY	0x80
-#define STBCR_MSTP2	0x04
-
-#define MCR		0xffffff68
-#define RTCNT		0xffffff70
-
-#define MCR_RMODE	2
-#define MCR_RFSH	4
-
-extern u8 wakeup_start;
-extern u8 wakeup_end;
-
-static void pm_enter(void)
-{
-	u8 stbcr, csr;
-	u16 frqcr, mcr;
-	u32 vbr_new, vbr_old;
-
-	set_bl_bit();
-
-	/* set wdt */
-	csr = sh_wdt_read_csr();
-	csr &= ~WTCSR_TME;
-	csr |= WTCSR_CKS_4096;
-	sh_wdt_write_csr(csr);
-	csr = sh_wdt_read_csr();
-	sh_wdt_write_cnt(0);
-
-	/* disable PLL1 */
-	frqcr = __raw_readw(FRQCR);
-	frqcr &= ~(FRQCR_PLLEN | FRQCR_PSTBY);
-	__raw_writew(frqcr, FRQCR);
-
-	/* enable standby */
-	stbcr = __raw_readb(STBCR);
-	__raw_writeb(stbcr | STBCR_STBY | STBCR_MSTP2, STBCR);
-
-	/* set self-refresh */
-	mcr = __raw_readw(MCR);
-	__raw_writew(mcr & ~MCR_RFSH, MCR);
-
-	/* set interrupt handler */
-	asm volatile("stc vbr, %0" : "=r" (vbr_old));
-	vbr_new = get_zeroed_page(GFP_ATOMIC);
-	udelay(50);
-	memcpy((void*)(vbr_new + INTR_OFFSET),
-	       &wakeup_start, &wakeup_end - &wakeup_start);
-	asm volatile("ldc %0, vbr" : : "r" (vbr_new));
-
-	__raw_writew(0, RTCNT);
-	__raw_writew(mcr | MCR_RFSH | MCR_RMODE, MCR);
-
-	cpu_sleep();
-
-	asm volatile("ldc %0, vbr" : : "r" (vbr_old));
-
-	free_page(vbr_new);
-
-	/* enable PLL1 */
-	frqcr = __raw_readw(FRQCR);
-	frqcr |= FRQCR_PSTBY;
-	__raw_writew(frqcr, FRQCR);
-	udelay(50);
-	frqcr |= FRQCR_PLLEN;
-	__raw_writew(frqcr, FRQCR);
-
-	__raw_writeb(stbcr, STBCR);
-
-	clear_bl_bit();
-}
-
-static int hp6x0_pm_enter(suspend_state_t state)
-{
-	u8 stbcr, stbcr2;
-#ifdef CONFIG_HD64461_ENABLER
-	u8 scr;
-	u16 hd64461_stbcr;
-#endif
-
-#ifdef CONFIG_HD64461_ENABLER
-	outb(0, HD64461_PCC1CSCIER);
-
-	scr = inb(HD64461_PCC1SCR);
-	scr |= HD64461_PCCSCR_VCC1;
-	outb(scr, HD64461_PCC1SCR);
-
-	hd64461_stbcr = inw(HD64461_STBCR);
-	hd64461_stbcr |= HD64461_STBCR_SPC1ST;
-	outw(hd64461_stbcr, HD64461_STBCR);
-#endif
-
-	__raw_writeb(0x1f, DACR);
-
-	stbcr = __raw_readb(STBCR);
-	__raw_writeb(0x01, STBCR);
-
-	stbcr2 = __raw_readb(STBCR2);
-	__raw_writeb(0x7f , STBCR2);
-
-	outw(0xf07f, HD64461_SCPUCR);
-
-	pm_enter();
-
-	outw(0, HD64461_SCPUCR);
-	__raw_writeb(stbcr, STBCR);
-	__raw_writeb(stbcr2, STBCR2);
-
-#ifdef CONFIG_HD64461_ENABLER
-	hd64461_stbcr = inw(HD64461_STBCR);
-	hd64461_stbcr &= ~HD64461_STBCR_SPC1ST;
-	outw(hd64461_stbcr, HD64461_STBCR);
-
-	outb(0x4c, HD64461_PCC1CSCIER);
-	outb(0x00, HD64461_PCC1CSCR);
-#endif
-
-	return 0;
-}
-
-static const struct platform_suspend_ops hp6x0_pm_ops = {
-	.enter		= hp6x0_pm_enter,
-	.valid		= suspend_valid_only_mem,
-};
-
-static int __init hp6x0_pm_init(void)
-{
-	suspend_set_ops(&hp6x0_pm_ops);
-	return 0;
-}
-
-late_initcall(hp6x0_pm_init);
diff --git a/arch/sh/boards/mach-hp6xx/pm_wakeup.S b/arch/sh/boards/mach-hp6xx/pm_wakeup.S
deleted file mode 100644
index 0fd43301f083d0..00000000000000
--- a/arch/sh/boards/mach-hp6xx/pm_wakeup.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Copyright (c) 2006 Andriy Skulysh <askulsyh at gmail.com>
- */
-
-#include <linux/linkage.h>
-#include <cpu/mmu_context.h>
-
-/*
- * Kernel mode register usage:
- *	k0	scratch
- *	k1	scratch
- * For more details, please have a look at entry.S
- */
-
-#define k0	r0
-#define k1	r1
-
-ENTRY(wakeup_start)
-! clear STBY bit
-	mov	#-126, k1
-   	and	#127, k0
-	mov.b	k0, @k1
-! enable refresh
-	mov.l	5f, k1
-	mov.w	6f, k0
-  	mov.w	k0, @k1
-! jump to handler
-	mov.l	4f, k1
-	jmp	@k1
-	 nop
-
-	.align	2
-4:	.long	handle_interrupt
-5:	.long	0xffffff68
-6:	.word	0x0524
-
-ENTRY(wakeup_end)
-	nop
diff --git a/arch/sh/boards/mach-hp6xx/setup.c b/arch/sh/boards/mach-hp6xx/setup.c
deleted file mode 100644
index 2ceead68d7bf82..00000000000000
--- a/arch/sh/boards/mach-hp6xx/setup.c
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/hp6xx/setup.c
- *
- * Copyright (C) 2002 Andriy Skulysh
- * Copyright (C) 2007 Kristoffer Ericson <Kristoffer_e1 at hotmail.com>
- *
- * Setup code for HP620/HP660/HP680/HP690 (internal peripherials only)
- */
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/irq.h>
-#include <linux/sh_intc.h>
-#include <sound/sh_dac_audio.h>
-#include <asm/hd64461.h>
-#include <asm/io.h>
-#include <mach/hp6xx.h>
-#include <cpu/dac.h>
-
-#define	SCPCR	0xa4000116
-#define	SCPDR	0xa4000136
-
-/* CF Slot */
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start = 0x15000000 + 0x1f0,
-		.end   = 0x15000000 + 0x1f0 + 0x08 - 0x01,
-		.flags = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start = 0x15000000 + 0x1fe,
-		.end   = 0x15000000 + 0x1fe + 0x01,
-		.flags = IORESOURCE_MEM,
-	},
-	[2] = {
-		.start = evt2irq(0xba0),
-		.flags = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device = {
-	.name		=  "pata_platform",
-	.id		=  -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-};
-
-static struct platform_device jornadakbd_device = {
-	.name		= "jornada680_kbd",
-	.id		= -1,
-};
-
-static void dac_audio_start(struct dac_audio_pdata *pdata)
-{
-	u16 v;
-	u8 v8;
-
-	/* HP Jornada 680/690 speaker on */
-	v = inw(HD64461_GPADR);
-	v &= ~HD64461_GPADR_SPEAKER;
-	outw(v, HD64461_GPADR);
-
-	/* HP Palmtop 620lx/660lx speaker on */
-	v8 = inb(PKDR);
-	v8 &= ~PKDR_SPEAKER;
-	outb(v8, PKDR);
-
-	sh_dac_enable(pdata->channel);
-}
-
-static void dac_audio_stop(struct dac_audio_pdata *pdata)
-{
-	u16 v;
-	u8 v8;
-
-	/* HP Jornada 680/690 speaker off */
-	v = inw(HD64461_GPADR);
-	v |= HD64461_GPADR_SPEAKER;
-	outw(v, HD64461_GPADR);
-
-	/* HP Palmtop 620lx/660lx speaker off */
-	v8 = inb(PKDR);
-	v8 |= PKDR_SPEAKER;
-	outb(v8, PKDR);
-
-	sh_dac_output(0, pdata->channel);
-	sh_dac_disable(pdata->channel);
-}
-
-static struct dac_audio_pdata dac_audio_platform_data = {
-	.buffer_size		= 64000,
-	.channel		= 1,
-	.start			= dac_audio_start,
-	.stop			= dac_audio_stop,
-};
-
-static struct platform_device dac_audio_device = {
-	.name		= "dac_audio",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &dac_audio_platform_data,
-	}
-
-};
-
-static struct platform_device *hp6xx_devices[] __initdata = {
-	&cf_ide_device,
-	&jornadakbd_device,
-	&dac_audio_device,
-};
-
-static void __init hp6xx_init_irq(void)
-{
-	/* Gets touchscreen and powerbutton IRQ working */
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-static int __init hp6xx_devices_setup(void)
-{
-	return platform_add_devices(hp6xx_devices, ARRAY_SIZE(hp6xx_devices));
-}
-
-static void __init hp6xx_setup(char **cmdline_p)
-{
-	u8 v8;
-	u16 v;
-
-	v = inw(HD64461_STBCR);
-	v |=	HD64461_STBCR_SURTST | HD64461_STBCR_SIRST	|
-		HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST	|
-		HD64461_STBCR_SAFEST | HD64461_STBCR_SPC0ST	|
-		HD64461_STBCR_SMIAST | HD64461_STBCR_SAFECKE_OST|
-		HD64461_STBCR_SAFECKE_IST;
-#ifndef CONFIG_HD64461_ENABLER
-	v |= HD64461_STBCR_SPC1ST;
-#endif
-	outw(v, HD64461_STBCR);
-	v = inw(HD64461_GPADR);
-	v |= HD64461_GPADR_SPEAKER | HD64461_GPADR_PCMCIA0;
-	outw(v, HD64461_GPADR);
-
-	outw(HD64461_PCCGCR_VCC0 | HD64461_PCCSCR_VCC1, HD64461_PCC0GCR);
-
-#ifndef CONFIG_HD64461_ENABLER
-	outw(HD64461_PCCGCR_VCC0 | HD64461_PCCSCR_VCC1, HD64461_PCC1GCR);
-#endif
-
-	sh_dac_output(0, DAC_SPEAKER_VOLUME);
-	sh_dac_disable(DAC_SPEAKER_VOLUME);
-	v8 = __raw_readb(DACR);
-	v8 &= ~DACR_DAE;
-	__raw_writeb(v8,DACR);
-
-	v8 = __raw_readb(SCPDR);
-	v8 |= SCPDR_TS_SCAN_X | SCPDR_TS_SCAN_Y;
-	v8 &= ~SCPDR_TS_SCAN_ENABLE;
-	__raw_writeb(v8, SCPDR);
-
-	v = __raw_readw(SCPCR);
-	v &= ~SCPCR_TS_MASK;
-	v |= SCPCR_TS_ENABLE;
-	__raw_writew(v, SCPCR);
-}
-device_initcall(hp6xx_devices_setup);
-
-static struct sh_machine_vector mv_hp6xx __initmv = {
-	.mv_name = "hp6xx",
-	.mv_setup = hp6xx_setup,
-	/* Enable IRQ0 -> IRQ3 in IRQ_MODE */
-	.mv_init_irq = hp6xx_init_irq,
-};
diff --git a/arch/sh/boards/mach-kfr2r09/Makefile b/arch/sh/boards/mach-kfr2r09/Makefile
deleted file mode 100644
index 4a4a35ad7ba07c..00000000000000
--- a/arch/sh/boards/mach-kfr2r09/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	:= setup.o sdram.o
-ifneq ($(CONFIG_FB_SH_MOBILE_LCDC),)
-obj-y	+=  lcd_wqvga.o
-endif
diff --git a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c b/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
deleted file mode 100644
index f6bbac106d1328..00000000000000
--- a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
+++ /dev/null
@@ -1,275 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * KFR2R09 LCD panel support
- *
- * Copyright (C) 2009 Magnus Damm
- *
- * Register settings based on the out-of-tree t33fb.c driver
- * Copyright (C) 2008 Lineo Solutions, Inc.
- */
-
-#include <linux/delay.h>
-#include <linux/err.h>
-#include <linux/fb.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/gpio.h>
-#include <video/sh_mobile_lcdc.h>
-#include <mach/kfr2r09.h>
-#include <cpu/sh7724.h>
-
-/* The on-board LCD module is a Hitachi TX07D34VM0AAA. This module is made
- * up of a 240x400 LCD hooked up to a R61517 driver IC. The driver IC is
- * communicating with the main port of the LCDC using an 18-bit SYS interface.
- *
- * The device code for this LCD module is 0x01221517.
- */
-
-static const unsigned char data_frame_if[] = {
-	0x02, /* WEMODE: 1=cont, 0=one-shot */
-	0x00, 0x00,
-	0x00, /* EPF, DFM */
-	0x02, /* RIM[1] : 1 (18bpp) */
-};
-
-static const unsigned char data_panel[] = {
-	0x0b,
-	0x63, /* 400 lines */
-	0x04, 0x00, 0x00, 0x04, 0x11, 0x00, 0x00,
-};
-
-static const unsigned char data_timing[] = {
-	0x00, 0x00, 0x13, 0x08, 0x08,
-};
-
-static const unsigned char data_timing_src[] = {
-	0x11, 0x01, 0x00, 0x01,
-};
-
-static const unsigned char data_gamma[] = {
-	0x01, 0x02, 0x08, 0x23,	0x03, 0x0c, 0x00, 0x06,	0x00, 0x00,
-	0x01, 0x00, 0x0c, 0x23, 0x03, 0x08, 0x02, 0x06, 0x00, 0x00,
-};
-
-static const unsigned char data_power[] = {
-	0x07, 0xc5, 0xdc, 0x02,	0x33, 0x0a,
-};
-
-static unsigned long read_reg(void *sohandle,
-			      struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	return so->read_data(sohandle);
-}
-
-static void write_reg(void *sohandle,
-		      struct sh_mobile_lcdc_sys_bus_ops *so,
-		      int i, unsigned long v)
-{
-	if (i)
-		so->write_data(sohandle, v); /* PTH4/LCDRS High [param, 17:0] */
-	else
-		so->write_index(sohandle, v); /* PTH4/LCDRS Low [cmd, 7:0] */
-}
-
-static void write_data(void *sohandle,
-		       struct sh_mobile_lcdc_sys_bus_ops *so,
-		       unsigned char const *data, int no_data)
-{
-	int i;
-
-	for (i = 0; i < no_data; i++)
-		write_reg(sohandle, so, 1, data[i]);
-}
-
-static unsigned long read_device_code(void *sohandle,
-				      struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	unsigned long device_code;
-
-	/* access protect OFF */
-	write_reg(sohandle, so, 0, 0xb0);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* deep standby OFF */
-	write_reg(sohandle, so, 0, 0xb1);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* device code command */
-	write_reg(sohandle, so, 0, 0xbf);
-	mdelay(50);
-
-	/* dummy read */
-	read_reg(sohandle, so);
-
-	/* read device code */
-	device_code = ((read_reg(sohandle, so) & 0xff) << 24);
-	device_code |= ((read_reg(sohandle, so) & 0xff) << 16);
-	device_code |= ((read_reg(sohandle, so) & 0xff) << 8);
-	device_code |= (read_reg(sohandle, so) & 0xff);
-
-	return device_code;
-}
-
-static void write_memory_start(void *sohandle,
-			       struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	write_reg(sohandle, so, 0, 0x2c);
-}
-
-static void clear_memory(void *sohandle,
-			 struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	int i;
-
-	/* write start */
-	write_memory_start(sohandle, so);
-
-	/* paint it black */
-	for (i = 0; i < (240 * 400); i++)
-		write_reg(sohandle, so, 1, 0x00);
-}
-
-static void display_on(void *sohandle,
-		       struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	/* access protect off */
-	write_reg(sohandle, so, 0, 0xb0);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* exit deep standby mode */
-	write_reg(sohandle, so, 0, 0xb1);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* frame memory I/F */
-	write_reg(sohandle, so, 0, 0xb3);
-	write_data(sohandle, so, data_frame_if, ARRAY_SIZE(data_frame_if));
-
-	/* display mode and frame memory write mode */
-	write_reg(sohandle, so, 0, 0xb4);
-	write_reg(sohandle, so, 1, 0x00); /* DBI, internal clock */
-
-	/* panel */
-	write_reg(sohandle, so, 0, 0xc0);
-	write_data(sohandle, so, data_panel, ARRAY_SIZE(data_panel));
-
-	/* timing (normal) */
-	write_reg(sohandle, so, 0, 0xc1);
-	write_data(sohandle, so, data_timing, ARRAY_SIZE(data_timing));
-
-	/* timing (partial) */
-	write_reg(sohandle, so, 0, 0xc2);
-	write_data(sohandle, so, data_timing, ARRAY_SIZE(data_timing));
-
-	/* timing (idle) */
-	write_reg(sohandle, so, 0, 0xc3);
-	write_data(sohandle, so, data_timing, ARRAY_SIZE(data_timing));
-
-	/* timing (source/VCOM/gate driving) */
-	write_reg(sohandle, so, 0, 0xc4);
-	write_data(sohandle, so, data_timing_src, ARRAY_SIZE(data_timing_src));
-
-	/* gamma (red) */
-	write_reg(sohandle, so, 0, 0xc8);
-	write_data(sohandle, so, data_gamma, ARRAY_SIZE(data_gamma));
-
-	/* gamma (green) */
-	write_reg(sohandle, so, 0, 0xc9);
-	write_data(sohandle, so, data_gamma, ARRAY_SIZE(data_gamma));
-
-	/* gamma (blue) */
-	write_reg(sohandle, so, 0, 0xca);
-	write_data(sohandle, so, data_gamma, ARRAY_SIZE(data_gamma));
-
-	/* power (common) */
-	write_reg(sohandle, so, 0, 0xd0);
-	write_data(sohandle, so, data_power, ARRAY_SIZE(data_power));
-
-	/* VCOM */
-	write_reg(sohandle, so, 0, 0xd1);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x0f);
-	write_reg(sohandle, so, 1, 0x02);
-
-	/* power (normal) */
-	write_reg(sohandle, so, 0, 0xd2);
-	write_reg(sohandle, so, 1, 0x63);
-	write_reg(sohandle, so, 1, 0x24);
-
-	/* power (partial) */
-	write_reg(sohandle, so, 0, 0xd3);
-	write_reg(sohandle, so, 1, 0x63);
-	write_reg(sohandle, so, 1, 0x24);
-
-	/* power (idle) */
-	write_reg(sohandle, so, 0, 0xd4);
-	write_reg(sohandle, so, 1, 0x63);
-	write_reg(sohandle, so, 1, 0x24);
-
-	write_reg(sohandle, so, 0, 0xd8);
-	write_reg(sohandle, so, 1, 0x77);
-	write_reg(sohandle, so, 1, 0x77);
-
-	/* TE signal */
-	write_reg(sohandle, so, 0, 0x35);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* TE signal line */
-	write_reg(sohandle, so, 0, 0x44);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x00);
-
-	/* column address */
-	write_reg(sohandle, so, 0, 0x2a);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0xef);
-
-	/* page address */
-	write_reg(sohandle, so, 0, 0x2b);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x00);
-	write_reg(sohandle, so, 1, 0x01);
-	write_reg(sohandle, so, 1, 0x8f);
-
-	/* exit sleep mode */
-	write_reg(sohandle, so, 0, 0x11);
-
-	mdelay(120);
-
-	/* clear vram */
-	clear_memory(sohandle, so);
-
-	/* display ON */
-	write_reg(sohandle, so, 0, 0x29);
-	mdelay(1);
-
-	write_memory_start(sohandle, so);
-}
-
-int kfr2r09_lcd_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	/* power on */
-	gpio_set_value(GPIO_PTF4, 0);  /* PROTECT/ -> L */
-	gpio_set_value(GPIO_PTE4, 0);  /* LCD_RST/ -> L */
-	gpio_set_value(GPIO_PTF4, 1);  /* PROTECT/ -> H */
-	udelay(1100);
-	gpio_set_value(GPIO_PTE4, 1);  /* LCD_RST/ -> H */
-	udelay(10);
-	gpio_set_value(GPIO_PTF4, 0);  /* PROTECT/ -> L */
-	mdelay(20);
-
-	if (read_device_code(sohandle, so) != 0x01221517)
-		return -ENODEV;
-
-	pr_info("KFR2R09 WQVGA LCD Module detected.\n");
-
-	display_on(sohandle, so);
-	return 0;
-}
-
-void kfr2r09_lcd_start(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	write_memory_start(sohandle, so);
-}
diff --git a/arch/sh/boards/mach-kfr2r09/sdram.S b/arch/sh/boards/mach-kfr2r09/sdram.S
deleted file mode 100644
index f1b8985cb9223c..00000000000000
--- a/arch/sh/boards/mach-kfr2r09/sdram.S
+++ /dev/null
@@ -1,77 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * KFR2R09 sdram self/auto-refresh setup code
- *
- *  Copyright (C) 2009 Magnus Damm
- */
-
-#include <linux/sys.h>
-#include <linux/errno.h>
-#include <linux/linkage.h>
-#include <asm/asm-offsets.h>
-#include <asm/suspend.h>
-#include <asm/romimage-macros.h>
-
-/* code to enter and leave self-refresh. must be self-contained.
- * this code will be copied to on-chip memory and executed from there.
- */
-	.balign 4
-ENTRY(kfr2r09_sdram_enter_start)
-
-	/* DBSC: put memory in self-refresh mode */
-
-	ED 0xFD000010, 0x00000000 /* DBEN */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-ENTRY(kfr2r09_sdram_enter_end)
-
-	.balign 4
-ENTRY(kfr2r09_sdram_leave_start)
-
-	/* DBSC: put memory in auto-refresh mode */
-
-	mov.l	@(SH_SLEEP_MODE, r5), r0
-	tst	#SUSP_SH_RSTANDBY, r0
-	bf	resume_rstandby
-
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	WAIT 1
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-resume_rstandby:
-
-	/* DBSC: re-initialize and put in auto-refresh */
-
-	ED 0xFD000108, 0x40000301 /* DBPDCNT0 */
-	ED 0xFD000020, 0x011B0002 /* DBCONF */
-	ED 0xFD000030, 0x03060E02 /* DBTR0 */
-	ED 0xFD000034, 0x01020102 /* DBTR1 */
-	ED 0xFD000038, 0x01090406 /* DBTR2 */
-	ED 0xFD000008, 0x00000004 /* DBKIND */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000018, 0x00000001 /* DBCKECNT */
-	WAIT 1
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000044, 0x000004AF /* DBRFPDN1 */
-	ED 0xFD000048, 0x20CF0037 /* DBRFPDN2 */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000108, 0x40000300 /* DBPDCNT0 */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-ENTRY(kfr2r09_sdram_leave_end)
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c
deleted file mode 100644
index 20f4db778ed6ae..00000000000000
--- a/arch/sh/boards/mach-kfr2r09/setup.c
+++ /dev/null
@@ -1,649 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * KFR2R09 board support code
- *
- * Copyright (C) 2009 Magnus Damm
- */
-
-#include <asm/clock.h>
-#include <asm/io.h>
-#include <asm/machvec.h>
-#include <asm/suspend.h>
-
-#include <cpu/sh7724.h>
-
-#include <linux/clkdev.h>
-#include <linux/delay.h>
-#include <linux/gpio.h>
-#include <linux/gpio/machine.h>
-#include <linux/i2c.h>
-#include <linux/init.h>
-#include <linux/input.h>
-#include <linux/input/sh_keysc.h>
-#include <linux/interrupt.h>
-#include <linux/memblock.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mmc/host.h>
-#include <linux/mtd/physmap.h>
-#include <linux/platform_data/lv5207lp.h>
-#include <linux/platform_device.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/sh_intc.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/videodev2.h>
-#include <linux/dma-map-ops.h>
-
-#include <mach/kfr2r09.h>
-
-#include <media/drv-intf/renesas-ceu.h>
-#include <media/i2c/rj54n1cb0c.h>
-
-#include <video/sh_mobile_lcdc.h>
-
-#define CEU_BUFFER_MEMORY_SIZE		(4 << 20)
-static phys_addr_t ceu_dma_membase;
-
-/* set VIO_CKO clock to 25MHz */
-#define CEU_MCLK_FREQ			25000000
-#define DRVCRB				0xA405018C
-
-static struct mtd_partition kfr2r09_nor_flash_partitions[] =
-{
-	{
-		.name = "boot",
-		.offset = 0,
-		.size = (4 * 1024 * 1024),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	},
-	{
-		.name = "other",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data kfr2r09_nor_flash_data = {
-	.width		= 2,
-	.parts		= kfr2r09_nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(kfr2r09_nor_flash_partitions),
-};
-
-static struct resource kfr2r09_nor_flash_resources[] = {
-	[0] = {
-		.name		= "NOR Flash",
-		.start		= 0x00000000,
-		.end		= 0x03ffffff,
-		.flags		= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device kfr2r09_nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= kfr2r09_nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(kfr2r09_nor_flash_resources),
-	.dev		= {
-		.platform_data = &kfr2r09_nor_flash_data,
-	},
-};
-
-static struct resource kfr2r09_nand_flash_resources[] = {
-	[0] = {
-		.name		= "NAND Flash",
-		.start		= 0x10000000,
-		.end		= 0x1001ffff,
-		.flags		= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device kfr2r09_nand_flash_device = {
-	.name		= "onenand-flash",
-	.resource	= kfr2r09_nand_flash_resources,
-	.num_resources	= ARRAY_SIZE(kfr2r09_nand_flash_resources),
-};
-
-static struct sh_keysc_info kfr2r09_sh_keysc_info = {
-	.mode = SH_KEYSC_MODE_1, /* KEYOUT0->4, KEYIN0->4 */
-	.scan_timing = 3,
-	.delay = 10,
-	.keycodes = {
-		KEY_PHONE, KEY_CLEAR, KEY_MAIL, KEY_WWW, KEY_ENTER,
-		KEY_1, KEY_2, KEY_3, 0, KEY_UP,
-		KEY_4, KEY_5, KEY_6, 0, KEY_LEFT,
-		KEY_7, KEY_8, KEY_9, KEY_PROG1, KEY_RIGHT,
-		KEY_S, KEY_0, KEY_P, KEY_PROG2, KEY_DOWN,
-		0, 0, 0, 0, 0
-	},
-};
-
-static struct resource kfr2r09_sh_keysc_resources[] = {
-	[0] = {
-		.name	= "KEYSC",
-		.start  = 0x044b0000,
-		.end    = 0x044b000f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xbe0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device kfr2r09_sh_keysc_device = {
-	.name           = "sh_keysc",
-	.id             = 0, /* "keysc0" clock */
-	.num_resources  = ARRAY_SIZE(kfr2r09_sh_keysc_resources),
-	.resource       = kfr2r09_sh_keysc_resources,
-	.dev	= {
-		.platform_data	= &kfr2r09_sh_keysc_info,
-	},
-};
-
-static const struct fb_videomode kfr2r09_lcdc_modes[] = {
-	{
-		.name = "TX07D34VM0AAA",
-		.xres = 240,
-		.yres = 400,
-		.left_margin = 0,
-		.right_margin = 16,
-		.hsync_len = 8,
-		.upper_margin = 0,
-		.lower_margin = 1,
-		.vsync_len = 1,
-		.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-	},
-};
-
-static struct sh_mobile_lcdc_info kfr2r09_sh_lcdc_info = {
-	.clock_source = LCDC_CLK_BUS,
-	.ch[0] = {
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.interface_type = SYS18,
-		.clock_divider = 6,
-		.flags = LCDC_FLAGS_DWPOL,
-		.lcd_modes = kfr2r09_lcdc_modes,
-		.num_modes = ARRAY_SIZE(kfr2r09_lcdc_modes),
-		.panel_cfg = {
-			.width = 35,
-			.height = 58,
-			.setup_sys = kfr2r09_lcd_setup,
-			.start_transfer = kfr2r09_lcd_start,
-		},
-		.sys_bus_cfg = {
-			.ldmt2r = 0x07010904,
-			.ldmt3r = 0x14012914,
-			/* set 1s delay to encourage fsync() */
-			.deferred_io_msec = 1000,
-		},
-	}
-};
-
-static struct resource kfr2r09_sh_lcdc_resources[] = {
-	[0] = {
-		.name	= "LCDC",
-		.start	= 0xfe940000, /* P4-only space */
-		.end	= 0xfe942fff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xf40),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device kfr2r09_sh_lcdc_device = {
-	.name		= "sh_mobile_lcdc_fb",
-	.num_resources	= ARRAY_SIZE(kfr2r09_sh_lcdc_resources),
-	.resource	= kfr2r09_sh_lcdc_resources,
-	.dev	= {
-		.platform_data	= &kfr2r09_sh_lcdc_info,
-	},
-};
-
-static struct lv5207lp_platform_data kfr2r09_backlight_data = {
-	.fbdev = &kfr2r09_sh_lcdc_device.dev,
-	.def_value = 13,
-	.max_value = 13,
-};
-
-static struct i2c_board_info kfr2r09_backlight_board_info = {
-	I2C_BOARD_INFO("lv5207lp", 0x75),
-	.platform_data = &kfr2r09_backlight_data,
-};
-
-static struct r8a66597_platdata kfr2r09_usb0_gadget_data = {
-	.on_chip = 1,
-};
-
-static struct resource kfr2r09_usb0_gadget_resources[] = {
-	[0] = {
-		.start	= 0x04d80000,
-		.end	= 0x04d80123,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa20),
-		.end	= evt2irq(0xa20),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device kfr2r09_usb0_gadget_device = {
-	.name		= "r8a66597_udc",
-	.id		= 0,
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data	= &kfr2r09_usb0_gadget_data,
-	},
-	.num_resources	= ARRAY_SIZE(kfr2r09_usb0_gadget_resources),
-	.resource	= kfr2r09_usb0_gadget_resources,
-};
-
-static struct ceu_platform_data ceu_pdata = {
-	.num_subdevs			= 1,
-	.subdevs = {
-		{ /* [0] = rj54n1cb0c */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 1,
-			.i2c_address	= 0x50,
-		},
-	},
-};
-
-static struct resource kfr2r09_ceu_resources[] = {
-	[0] = {
-		.name	= "CEU",
-		.start	= 0xfe910000,
-		.end	= 0xfe91009f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x880),
-		.end	= evt2irq(0x880),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device kfr2r09_ceu_device = {
-	.name		= "renesas-ceu",
-	.id             = 0, /* "ceu0" clock */
-	.num_resources	= ARRAY_SIZE(kfr2r09_ceu_resources),
-	.resource	= kfr2r09_ceu_resources,
-	.dev	= {
-		.platform_data	= &ceu_pdata,
-	},
-};
-
-static struct rj54n1_pdata rj54n1_priv = {
-	.mclk_freq	= CEU_MCLK_FREQ,
-	.ioctl_high	= false,
-};
-
-static struct i2c_board_info kfr2r09_i2c_camera = {
-	I2C_BOARD_INFO("rj54n1cb0c", 0x50),
-	.platform_data = &rj54n1_priv,
-};
-
-static struct gpiod_lookup_table rj54n1_gpios = {
-	.dev_id		= "1-0050",
-	.table		= {
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTB4, "poweron",
-			    GPIO_ACTIVE_HIGH),
-		GPIO_LOOKUP("sh7724_pfc", GPIO_PTB7, "enable",
-			    GPIO_ACTIVE_HIGH),
-	},
-};
-
-/* Fixed 3.3V regulator to be used by SDHI0 */
-static struct regulator_consumer_supply fixed3v3_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-};
-
-static struct resource kfr2r09_sh_sdhi0_resources[] = {
-	[0] = {
-		.name	= "SDHI0",
-		.start  = 0x04ce0000,
-		.end    = 0x04ce00ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xe80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sh7724_sdhi0_data = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-	.capabilities2	= MMC_CAP2_NO_WRITE_PROTECT,
-};
-
-static struct platform_device kfr2r09_sh_sdhi0_device = {
-	.name           = "sh_mobile_sdhi",
-	.num_resources  = ARRAY_SIZE(kfr2r09_sh_sdhi0_resources),
-	.resource       = kfr2r09_sh_sdhi0_resources,
-	.dev = {
-		.platform_data	= &sh7724_sdhi0_data,
-	},
-};
-
-static struct platform_device *kfr2r09_devices[] __initdata = {
-	&kfr2r09_nor_flash_device,
-	&kfr2r09_nand_flash_device,
-	&kfr2r09_sh_keysc_device,
-	&kfr2r09_sh_lcdc_device,
-	&kfr2r09_sh_sdhi0_device,
-};
-
-#define BSC_CS0BCR 0xfec10004
-#define BSC_CS0WCR 0xfec10024
-#define BSC_CS4BCR 0xfec10010
-#define BSC_CS4WCR 0xfec10030
-#define PORT_MSELCRB 0xa4050182
-
-#ifdef CONFIG_I2C
-static int kfr2r09_usb0_gadget_i2c_setup(void)
-{
-	struct i2c_adapter *a;
-	struct i2c_msg msg;
-	unsigned char buf[2];
-	int ret;
-
-	a = i2c_get_adapter(0);
-	if (!a)
-		return -ENODEV;
-
-	/* set bit 1 (the second bit) of chip at 0x09, register 0x13 */
-	buf[0] = 0x13;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 1;
-	msg.flags = 0;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	buf[0] = 0;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 1;
-	msg.flags = I2C_M_RD;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	buf[1] = buf[0] | (1 << 1);
-	buf[0] = 0x13;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 2;
-	msg.flags = 0;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	return 0;
-}
-
-static int kfr2r09_serial_i2c_setup(void)
-{
-	struct i2c_adapter *a;
-	struct i2c_msg msg;
-	unsigned char buf[2];
-	int ret;
-
-	a = i2c_get_adapter(0);
-	if (!a)
-		return -ENODEV;
-
-	/* set bit 6 (the 7th bit) of chip at 0x09, register 0x13 */
-	buf[0] = 0x13;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 1;
-	msg.flags = 0;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	buf[0] = 0;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 1;
-	msg.flags = I2C_M_RD;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	buf[1] = buf[0] | (1 << 6);
-	buf[0] = 0x13;
-	msg.addr = 0x09;
-	msg.buf = buf;
-	msg.len = 2;
-	msg.flags = 0;
-	ret = i2c_transfer(a, &msg, 1);
-	if (ret != 1)
-		return -ENODEV;
-
-	return 0;
-}
-#else
-static int kfr2r09_usb0_gadget_i2c_setup(void)
-{
-	return -ENODEV;
-}
-
-static int kfr2r09_serial_i2c_setup(void)
-{
-	return -ENODEV;
-}
-#endif
-
-static int kfr2r09_usb0_gadget_setup(void)
-{
-	int plugged_in;
-
-	gpio_request(GPIO_PTN4, NULL); /* USB_DET */
-	gpio_direction_input(GPIO_PTN4);
-	plugged_in = gpio_get_value(GPIO_PTN4);
-	if (!plugged_in)
-		return -ENODEV; /* no cable plugged in */
-
-	if (kfr2r09_usb0_gadget_i2c_setup() != 0)
-		return -ENODEV; /* unable to configure using i2c */
-
-	__raw_writew((__raw_readw(PORT_MSELCRB) & ~0xc000) | 0x8000, PORT_MSELCRB);
-	gpio_request(GPIO_FN_PDSTATUS, NULL); /* R-standby disables USB clock */
-	gpio_request(GPIO_PTV6, NULL); /* USBCLK_ON */
-	gpio_direction_output(GPIO_PTV6, 1); /* USBCLK_ON = H */
-	msleep(20); /* wait 20ms to let the clock settle */
-	clk_enable(clk_get(NULL, "usb0"));
-	__raw_writew(0x0600, 0xa40501d4);
-
-	return 0;
-}
-
-extern char kfr2r09_sdram_enter_start;
-extern char kfr2r09_sdram_enter_end;
-extern char kfr2r09_sdram_leave_start;
-extern char kfr2r09_sdram_leave_end;
-
-static int __init kfr2r09_devices_setup(void)
-{
-	struct clk *camera_clk;
-
-	/* register board specific self-refresh code */
-	sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF |
-					SUSP_SH_RSTANDBY,
-					&kfr2r09_sdram_enter_start,
-					&kfr2r09_sdram_enter_end,
-					&kfr2r09_sdram_leave_start,
-					&kfr2r09_sdram_leave_end);
-
-	regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
-				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
-
-	/* enable SCIF1 serial port for YC401 console support */
-	gpio_request(GPIO_FN_SCIF1_RXD, NULL);
-	gpio_request(GPIO_FN_SCIF1_TXD, NULL);
-	kfr2r09_serial_i2c_setup(); /* ECONTMSK(bit6=L10ONEN) set 1 */
-	gpio_request(GPIO_PTG3, NULL); /* HPON_ON */
-	gpio_direction_output(GPIO_PTG3, 1); /* HPON_ON = H */
-
-	/* setup NOR flash at CS0 */
-	__raw_writel(0x36db0400, BSC_CS0BCR);
-	__raw_writel(0x00000500, BSC_CS0WCR);
-
-	/* setup NAND flash at CS4 */
-	__raw_writel(0x36db0400, BSC_CS4BCR);
-	__raw_writel(0x00000500, BSC_CS4WCR);
-
-	/* setup KEYSC pins */
-	gpio_request(GPIO_FN_KEYOUT0, NULL);
-	gpio_request(GPIO_FN_KEYOUT1, NULL);
-	gpio_request(GPIO_FN_KEYOUT2, NULL);
-	gpio_request(GPIO_FN_KEYOUT3, NULL);
-	gpio_request(GPIO_FN_KEYOUT4_IN6, NULL);
-	gpio_request(GPIO_FN_KEYIN0, NULL);
-	gpio_request(GPIO_FN_KEYIN1, NULL);
-	gpio_request(GPIO_FN_KEYIN2, NULL);
-	gpio_request(GPIO_FN_KEYIN3, NULL);
-	gpio_request(GPIO_FN_KEYIN4, NULL);
-	gpio_request(GPIO_FN_KEYOUT5_IN5, NULL);
-
-	/* setup LCDC pins for SYS panel */
-	gpio_request(GPIO_FN_LCDD17, NULL);
-	gpio_request(GPIO_FN_LCDD16, NULL);
-	gpio_request(GPIO_FN_LCDD15, NULL);
-	gpio_request(GPIO_FN_LCDD14, NULL);
-	gpio_request(GPIO_FN_LCDD13, NULL);
-	gpio_request(GPIO_FN_LCDD12, NULL);
-	gpio_request(GPIO_FN_LCDD11, NULL);
-	gpio_request(GPIO_FN_LCDD10, NULL);
-	gpio_request(GPIO_FN_LCDD9, NULL);
-	gpio_request(GPIO_FN_LCDD8, NULL);
-	gpio_request(GPIO_FN_LCDD7, NULL);
-	gpio_request(GPIO_FN_LCDD6, NULL);
-	gpio_request(GPIO_FN_LCDD5, NULL);
-	gpio_request(GPIO_FN_LCDD4, NULL);
-	gpio_request(GPIO_FN_LCDD3, NULL);
-	gpio_request(GPIO_FN_LCDD2, NULL);
-	gpio_request(GPIO_FN_LCDD1, NULL);
-	gpio_request(GPIO_FN_LCDD0, NULL);
-	gpio_request(GPIO_FN_LCDRS, NULL); /* LCD_RS */
-	gpio_request(GPIO_FN_LCDCS, NULL); /* LCD_CS/ */
-	gpio_request(GPIO_FN_LCDRD, NULL); /* LCD_RD/ */
-	gpio_request(GPIO_FN_LCDWR, NULL); /* LCD_WR/ */
-	gpio_request(GPIO_FN_LCDVSYN, NULL); /* LCD_VSYNC */
-	gpio_request(GPIO_PTE4, NULL); /* LCD_RST/ */
-	gpio_direction_output(GPIO_PTE4, 1);
-	gpio_request(GPIO_PTF4, NULL); /* PROTECT/ */
-	gpio_direction_output(GPIO_PTF4, 1);
-	gpio_request(GPIO_PTU0, NULL); /* LEDSTDBY/ */
-	gpio_direction_output(GPIO_PTU0, 1);
-
-	/* setup USB function */
-	if (kfr2r09_usb0_gadget_setup() == 0)
-		platform_device_register(&kfr2r09_usb0_gadget_device);
-
-	/* CEU */
-	gpio_request(GPIO_FN_VIO_CKO, NULL);
-	gpio_request(GPIO_FN_VIO0_CLK, NULL);
-	gpio_request(GPIO_FN_VIO0_VD, NULL);
-	gpio_request(GPIO_FN_VIO0_HD, NULL);
-	gpio_request(GPIO_FN_VIO0_FLD, NULL);
-	gpio_request(GPIO_FN_VIO0_D7, NULL);
-	gpio_request(GPIO_FN_VIO0_D6, NULL);
-	gpio_request(GPIO_FN_VIO0_D5, NULL);
-	gpio_request(GPIO_FN_VIO0_D4, NULL);
-	gpio_request(GPIO_FN_VIO0_D3, NULL);
-	gpio_request(GPIO_FN_VIO0_D2, NULL);
-	gpio_request(GPIO_FN_VIO0_D1, NULL);
-	gpio_request(GPIO_FN_VIO0_D0, NULL);
-
-	/* SDHI0 connected to yc304 */
-	gpio_request(GPIO_FN_SDHI0CD, NULL);
-	gpio_request(GPIO_FN_SDHI0D3, NULL);
-	gpio_request(GPIO_FN_SDHI0D2, NULL);
-	gpio_request(GPIO_FN_SDHI0D1, NULL);
-	gpio_request(GPIO_FN_SDHI0D0, NULL);
-	gpio_request(GPIO_FN_SDHI0CMD, NULL);
-	gpio_request(GPIO_FN_SDHI0CLK, NULL);
-
-	i2c_register_board_info(0, &kfr2r09_backlight_board_info, 1);
-
-	/* Set camera clock frequency and register and alias for rj54n1. */
-	camera_clk = clk_get(NULL, "video_clk");
-	if (!IS_ERR(camera_clk)) {
-		clk_set_rate(camera_clk,
-			     clk_round_rate(camera_clk, CEU_MCLK_FREQ));
-		clk_put(camera_clk);
-	}
-	clk_add_alias(NULL, "1-0050", "video_clk", NULL);
-
-	/* set DRVCRB
-	 *
-	 * use 1.8 V for VccQ_VIO
-	 * use 2.85V for VccQ_SR
-	 */
-	__raw_writew((__raw_readw(DRVCRB) & ~0x0003) | 0x0001, DRVCRB);
-
-	gpiod_add_lookup_table(&rj54n1_gpios);
-
-	i2c_register_board_info(1, &kfr2r09_i2c_camera, 1);
-
-	/* Initialize CEU platform device separately to map memory first */
-	device_initialize(&kfr2r09_ceu_device.dev);
-	dma_declare_coherent_memory(&kfr2r09_ceu_device.dev,
-			ceu_dma_membase, ceu_dma_membase,
-			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
-
-	platform_device_add(&kfr2r09_ceu_device);
-
-	return platform_add_devices(kfr2r09_devices,
-				    ARRAY_SIZE(kfr2r09_devices));
-}
-device_initcall(kfr2r09_devices_setup);
-
-/* Return the board specific boot mode pin configuration */
-static int kfr2r09_mode_pins(void)
-{
-	/* MD0=1, MD1=1, MD2=0: Clock Mode 3
-	 * MD3=0: 16-bit Area0 Bus Width
-	 * MD5=1: Little Endian
-	 * MD8=1: Test Mode Disabled
-	 */
-	return MODE_PIN0 | MODE_PIN1 | MODE_PIN5 | MODE_PIN8;
-}
-
-/* Reserve a portion of memory for CEU buffers */
-static void __init kfr2r09_mv_mem_reserve(void)
-{
-	phys_addr_t phys;
-	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-
-	ceu_dma_membase = phys;
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_kfr2r09 __initmv = {
-	.mv_name		= "kfr2r09",
-	.mv_mode_pins		= kfr2r09_mode_pins,
-	.mv_mem_reserve         = kfr2r09_mv_mem_reserve,
-};
diff --git a/arch/sh/boards/mach-landisk/Makefile b/arch/sh/boards/mach-landisk/Makefile
deleted file mode 100644
index 6cba041fffe0f3..00000000000000
--- a/arch/sh/boards/mach-landisk/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for I-O DATA DEVICE, INC. "LANDISK Series"
-#
-
-obj-y	 := setup.o irq.o psw.o gio.o
diff --git a/arch/sh/boards/mach-landisk/gio.c b/arch/sh/boards/mach-landisk/gio.c
deleted file mode 100644
index ff2200fec29a76..00000000000000
--- a/arch/sh/boards/mach-landisk/gio.c
+++ /dev/null
@@ -1,164 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/landisk/gio.c - driver for landisk
- *
- * This driver will also support the I-O DATA Device, Inc. LANDISK Board.
- * LANDISK and USL-5P Button, LED and GIO driver drive function.
- *
- *   Copylight (C) 2006 kogiidena
- *   Copylight (C) 2002 Atom Create Engineering Co., Ltd. *
- */
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/kdev_t.h>
-#include <linux/cdev.h>
-#include <linux/fs.h>
-#include <asm/io.h>
-#include <linux/uaccess.h>
-#include <mach-landisk/mach/gio.h>
-#include <mach-landisk/mach/iodata_landisk.h>
-
-#define DEVCOUNT                4
-#define GIO_MINOR	        2	/* GIO minor no. */
-
-static dev_t dev;
-static struct cdev *cdev_p;
-static int openCnt;
-
-static int gio_open(struct inode *inode, struct file *filp)
-{
-	int minor = iminor(inode);
-	int ret = -ENOENT;
-
-	preempt_disable();
-	if (minor < DEVCOUNT) {
-		if (openCnt > 0) {
-			ret = -EALREADY;
-		} else {
-			openCnt++;
-			ret = 0;
-		}
-	}
-	preempt_enable();
-	return ret;
-}
-
-static int gio_close(struct inode *inode, struct file *filp)
-{
-	int minor = iminor(inode);
-
-	if (minor < DEVCOUNT) {
-		openCnt--;
-	}
-	return 0;
-}
-
-static long gio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
-{
-	unsigned int data;
-	static unsigned int addr = 0;
-
-	if (cmd & 0x01) {	/* write */
-		if (copy_from_user(&data, (int *)arg, sizeof(int))) {
-			return -EFAULT;
-		}
-	}
-
-	switch (cmd) {
-	case GIODRV_IOCSGIOSETADDR:	/* address set */
-		addr = data;
-		break;
-
-	case GIODRV_IOCSGIODATA1:	/* write byte */
-		__raw_writeb((unsigned char)(0x0ff & data), addr);
-		break;
-
-	case GIODRV_IOCSGIODATA2:	/* write word */
-		if (addr & 0x01) {
-			return -EFAULT;
-		}
-		__raw_writew((unsigned short int)(0x0ffff & data), addr);
-		break;
-
-	case GIODRV_IOCSGIODATA4:	/* write long */
-		if (addr & 0x03) {
-			return -EFAULT;
-		}
-		__raw_writel(data, addr);
-		break;
-
-	case GIODRV_IOCGGIODATA1:	/* read byte */
-		data = __raw_readb(addr);
-		break;
-
-	case GIODRV_IOCGGIODATA2:	/* read word */
-		if (addr & 0x01) {
-			return -EFAULT;
-		}
-		data = __raw_readw(addr);
-		break;
-
-	case GIODRV_IOCGGIODATA4:	/* read long */
-		if (addr & 0x03) {
-			return -EFAULT;
-		}
-		data = __raw_readl(addr);
-		break;
-	default:
-		return -EFAULT;
-		break;
-	}
-
-	if ((cmd & 0x01) == 0) {	/* read */
-		if (copy_to_user((int *)arg, &data, sizeof(int))) {
-			return -EFAULT;
-		}
-	}
-	return 0;
-}
-
-static const struct file_operations gio_fops = {
-	.owner = THIS_MODULE,
-	.open = gio_open,	/* open */
-	.release = gio_close,	/* release */
-	.unlocked_ioctl = gio_ioctl,
-	.llseek = noop_llseek,
-};
-
-static int __init gio_init(void)
-{
-	int error;
-
-	printk(KERN_INFO "gio: driver initialized\n");
-
-	openCnt = 0;
-
-	if ((error = alloc_chrdev_region(&dev, 0, DEVCOUNT, "gio")) < 0) {
-		printk(KERN_ERR
-		       "gio: Couldn't alloc_chrdev_region, error=%d\n",
-		       error);
-		return 1;
-	}
-
-	cdev_p = cdev_alloc();
-	cdev_p->ops = &gio_fops;
-	error = cdev_add(cdev_p, dev, DEVCOUNT);
-	if (error) {
-		printk(KERN_ERR
-		       "gio: Couldn't cdev_add, error=%d\n", error);
-		return 1;
-	}
-
-	return 0;
-}
-
-static void __exit gio_exit(void)
-{
-	cdev_del(cdev_p);
-	unregister_chrdev_region(dev, DEVCOUNT);
-}
-
-module_init(gio_init);
-module_exit(gio_exit);
-
-MODULE_LICENSE("GPL");
diff --git a/arch/sh/boards/mach-landisk/irq.c b/arch/sh/boards/mach-landisk/irq.c
deleted file mode 100644
index 0b672b80c56179..00000000000000
--- a/arch/sh/boards/mach-landisk/irq.c
+++ /dev/null
@@ -1,63 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/mach-landisk/irq.c
- *
- * I-O DATA Device, Inc. LANDISK Support
- *
- * Copyright (C) 2005-2007 kogiidena
- * Copyright (C) 2011 Nobuhiro Iwamatsu
- *
- * Copyright (C) 2001  Ian da Silva, Jeremy Siegel
- * Based largely on io_se.c.
- */
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/io.h>
-#include <mach-landisk/mach/iodata_landisk.h>
-
-enum {
-	UNUSED = 0,
-
-	PCI_INTA, /* PCI int A */
-	PCI_INTB, /* PCI int B */
-	PCI_INTC, /* PCI int C */
-	PCI_INTD, /* PCI int D */
-	ATA,	  /* ATA */
-	FATA,	  /* CF */
-	POWER,	  /* Power switch */
-	BUTTON,	  /* Button switch */
-};
-
-/* Vectors for LANDISK */
-static struct intc_vect vectors_landisk[] __initdata = {
-	INTC_IRQ(PCI_INTA, IRQ_PCIINTA),
-	INTC_IRQ(PCI_INTB, IRQ_PCIINTB),
-	INTC_IRQ(PCI_INTC, IRQ_PCIINTC),
-	INTC_IRQ(PCI_INTD, IRQ_PCIINTD),
-	INTC_IRQ(ATA, IRQ_ATA),
-	INTC_IRQ(FATA, IRQ_FATA),
-	INTC_IRQ(POWER, IRQ_POWER),
-	INTC_IRQ(BUTTON, IRQ_BUTTON),
-};
-
-/* IRLMSK mask register layout for LANDISK */
-static struct intc_mask_reg mask_registers_landisk[] __initdata = {
-	{ PA_IMASK, 0, 8, /* IRLMSK */
-	  {  BUTTON, POWER, FATA, ATA,
-	     PCI_INTD, PCI_INTC, PCI_INTB, PCI_INTA,
-	  }
-	},
-};
-
-static DECLARE_INTC_DESC(intc_desc_landisk, "landisk", vectors_landisk, NULL,
-			mask_registers_landisk, NULL, NULL);
-/*
- * Initialize IRQ setting
- */
-void __init init_landisk_IRQ(void)
-{
-	register_intc_controller(&intc_desc_landisk);
-	__raw_writeb(0x00, PA_PWRINT_CLR);
-}
diff --git a/arch/sh/boards/mach-landisk/psw.c b/arch/sh/boards/mach-landisk/psw.c
deleted file mode 100644
index e171d9af48f3df..00000000000000
--- a/arch/sh/boards/mach-landisk/psw.c
+++ /dev/null
@@ -1,140 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/landisk/psw.c
- *
- * push switch support for LANDISK and USL-5P
- *
- * Copyright (C) 2006-2007  Paul Mundt
- * Copyright (C) 2007  kogiidena
- */
-#include <linux/io.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/platform_device.h>
-#include <mach-landisk/mach/iodata_landisk.h>
-#include <asm/push-switch.h>
-
-static irqreturn_t psw_irq_handler(int irq, void *arg)
-{
-	struct platform_device *pdev = arg;
-	struct push_switch *psw = platform_get_drvdata(pdev);
-	struct push_switch_platform_info *psw_info = pdev->dev.platform_data;
-	unsigned int sw_value;
-	int ret = 0;
-
-	sw_value = (0x0ff & (~__raw_readb(PA_STATUS)));
-
-	/* Nothing to do if there's no state change */
-	if (psw->state) {
-		ret = 1;
-		goto out;
-	}
-
-	/* Figure out who raised it */
-	if (sw_value & (1 << psw_info->bit)) {
-		psw->state = 1;
-		mod_timer(&psw->debounce, jiffies + 50);
-		ret = 1;
-	}
-
-out:
-	/* Clear the switch IRQs */
-	__raw_writeb(0x00, PA_PWRINT_CLR);
-
-	return IRQ_RETVAL(ret);
-}
-
-static struct resource psw_power_resources[] = {
-	[0] = {
-		.start = IRQ_POWER,
-		.flags = IORESOURCE_IRQ,
-       },
-};
-
-static struct resource psw_usl5p_resources[] = {
-	[0] = {
-		.start = IRQ_BUTTON,
-		.flags = IORESOURCE_IRQ,
-	},
-};
-
-static struct push_switch_platform_info psw_power_platform_data = {
-	.name		= "psw_power",
-	.bit		= 4,
-	.irq_flags	= IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct push_switch_platform_info psw1_platform_data = {
-	.name		= "psw1",
-	.bit		= 0,
-	.irq_flags	= IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct push_switch_platform_info psw2_platform_data = {
-	.name		= "psw2",
-	.bit		= 2,
-	.irq_flags	= IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct push_switch_platform_info psw3_platform_data = {
-	.name		= "psw3",
-	.bit		= 1,
-	.irq_flags	= IRQF_SHARED,
-	.irq_handler	= psw_irq_handler,
-};
-
-static struct platform_device psw_power_switch_device = {
-	.name		= "push-switch",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(psw_power_resources),
-	.resource	= psw_power_resources,
-	.dev		= {
-		.platform_data = &psw_power_platform_data,
-	},
-};
-
-static struct platform_device psw1_switch_device = {
-	.name		= "push-switch",
-	.id		= 1,
-	.num_resources	= ARRAY_SIZE(psw_usl5p_resources),
-	.resource	= psw_usl5p_resources,
-	.dev		= {
-		.platform_data = &psw1_platform_data,
-	},
-};
-
-static struct platform_device psw2_switch_device = {
-	.name		= "push-switch",
-	.id		= 2,
-	.num_resources	= ARRAY_SIZE(psw_usl5p_resources),
-	.resource	= psw_usl5p_resources,
-	.dev		= {
-		.platform_data = &psw2_platform_data,
-	},
-};
-
-static struct platform_device psw3_switch_device = {
-	.name		= "push-switch",
-	.id		= 3,
-	.num_resources	= ARRAY_SIZE(psw_usl5p_resources),
-	.resource	= psw_usl5p_resources,
-	.dev = {
-		.platform_data = &psw3_platform_data,
-	},
-};
-
-static struct platform_device *psw_devices[] = {
-	&psw_power_switch_device,
-	&psw1_switch_device,
-	&psw2_switch_device,
-	&psw3_switch_device,
-};
-
-static int __init psw_init(void)
-{
-	return platform_add_devices(psw_devices, ARRAY_SIZE(psw_devices));
-}
-device_initcall(psw_init);
diff --git a/arch/sh/boards/mach-landisk/setup.c b/arch/sh/boards/mach-landisk/setup.c
deleted file mode 100644
index 2c44b94f82fb27..00000000000000
--- a/arch/sh/boards/mach-landisk/setup.c
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/landisk/setup.c
- *
- * I-O DATA Device, Inc. LANDISK Support.
- *
- * Copyright (C) 2000 Kazumoto Kojima
- * Copyright (C) 2002 Paul Mundt
- * Copylight (C) 2002 Atom Create Engineering Co., Ltd.
- * Copyright (C) 2005-2007 kogiidena
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <linux/pm.h>
-#include <linux/mm.h>
-#include <asm/machvec.h>
-#include <mach-landisk/mach/iodata_landisk.h>
-#include <asm/io.h>
-
-static void landisk_power_off(void)
-{
-	__raw_writeb(0x01, PA_SHUTDOWN);
-}
-
-static struct resource cf_ide_resources[3];
-
-static struct pata_platform_info pata_info = {
-	.ioport_shift	= 1,
-};
-
-static struct platform_device cf_ide_device = {
-	.name		= "pata_platform",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-	.dev		= {
-		.platform_data = &pata_info,
-	},
-};
-
-static struct platform_device rtc_device = {
-	.name		= "rs5c313",
-	.id		= -1,
-};
-
-static struct platform_device *landisk_devices[] __initdata = {
-	&cf_ide_device,
-	&rtc_device,
-};
-
-static int __init landisk_devices_setup(void)
-{
-	pgprot_t prot;
-	unsigned long paddrbase;
-	void *cf_ide_base;
-
-	/* open I/O area window */
-	paddrbase = virt_to_phys((void *)PA_AREA5_IO);
-	prot = PAGE_KERNEL_PCC(1, _PAGE_PCC_IO16);
-	cf_ide_base = ioremap_prot(paddrbase, PAGE_SIZE, pgprot_val(prot));
-	if (!cf_ide_base) {
-		printk("allocate_cf_area : can't open CF I/O window!\n");
-		return -ENOMEM;
-	}
-
-	/* IDE cmd address : 0x1f0-0x1f7 and 0x3f6 */
-	cf_ide_resources[0].start = (unsigned long)cf_ide_base + 0x40;
-	cf_ide_resources[0].end   = (unsigned long)cf_ide_base + 0x40 + 0x0f;
-	cf_ide_resources[0].flags = IORESOURCE_IO;
-	cf_ide_resources[1].start = (unsigned long)cf_ide_base + 0x2c;
-	cf_ide_resources[1].end   = (unsigned long)cf_ide_base + 0x2c + 0x03;
-	cf_ide_resources[1].flags = IORESOURCE_IO;
-	cf_ide_resources[2].start = IRQ_FATA;
-	cf_ide_resources[2].flags = IORESOURCE_IRQ;
-
-	return platform_add_devices(landisk_devices,
-				    ARRAY_SIZE(landisk_devices));
-}
-
-device_initcall(landisk_devices_setup);
-
-static void __init landisk_setup(char **cmdline_p)
-{
-	/* I/O port identity mapping */
-	__set_io_port_base(0);
-
-	/* LED ON */
-	__raw_writeb(__raw_readb(PA_LED) | 0x03, PA_LED);
-
-	printk(KERN_INFO "I-O DATA DEVICE, INC. \"LANDISK Series\" support.\n");
-	pm_power_off = landisk_power_off;
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_landisk __initmv = {
-	.mv_name = "LANDISK",
-	.mv_setup = landisk_setup,
-	.mv_init_irq = init_landisk_IRQ,
-};
diff --git a/arch/sh/boards/mach-lboxre2/Makefile b/arch/sh/boards/mach-lboxre2/Makefile
deleted file mode 100644
index 0fbd0822911a49..00000000000000
--- a/arch/sh/boards/mach-lboxre2/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the L-BOX RE2 specific parts of the kernel
-# Copyright (c) 2007 Nobuhiro Iwamatsu
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-lboxre2/irq.c b/arch/sh/boards/mach-lboxre2/irq.c
deleted file mode 100644
index a250e3b9019de1..00000000000000
--- a/arch/sh/boards/mach-lboxre2/irq.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/lboxre2/irq.c
- *
- * Copyright (C) 2007 Nobuhiro Iwamatsu
- *
- * NTT COMWARE L-BOX RE2 Support.
- */
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-#include <mach/lboxre2.h>
-
-/*
- * Initialize IRQ setting
- */
-void __init init_lboxre2_IRQ(void)
-{
-	make_imask_irq(IRQ_CF1);
-	make_imask_irq(IRQ_CF0);
-	make_imask_irq(IRQ_INTD);
-	make_imask_irq(IRQ_ETH1);
-	make_imask_irq(IRQ_ETH0);
-	make_imask_irq(IRQ_INTA);
-}
diff --git a/arch/sh/boards/mach-lboxre2/setup.c b/arch/sh/boards/mach-lboxre2/setup.c
deleted file mode 100644
index 20d01b430f2a81..00000000000000
--- a/arch/sh/boards/mach-lboxre2/setup.c
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/lbox/setup.c
- *
- * Copyright (C) 2007 Nobuhiro Iwamatsu
- *
- * NTT COMWARE L-BOX RE2 Support
- */
-
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <asm/machvec.h>
-#include <asm/addrspace.h>
-#include <mach/lboxre2.h>
-#include <asm/io.h>
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start  = 0x1f0,
-		.end    = 0x1f0 + 8 ,
-		.flags  = IORESOURCE_IO,
-	},
-	[1] = {
-		.start  = 0x1f0 + 0x206,
-		.end    = 0x1f0 +8 + 0x206 + 8,
-		.flags  = IORESOURCE_IO,
-	},
-	[2] = {
-		.start  = IRQ_CF0,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device  = {
-	.name           = "pata_platform",
-	.id             = -1,
-	.num_resources  = ARRAY_SIZE(cf_ide_resources),
-	.resource       = cf_ide_resources,
-};
-
-static struct platform_device *lboxre2_devices[] __initdata = {
-       &cf_ide_device,
-};
-
-static int __init lboxre2_devices_setup(void)
-{
-	u32 cf0_io_base;	/* Boot CF base address */
-	pgprot_t prot;
-	unsigned long paddrbase, psize;
-
-	/* open I/O area window */
-	paddrbase = virt_to_phys((void*)PA_AREA5_IO);
-	psize = PAGE_SIZE;
-	prot = PAGE_KERNEL_PCC(1, _PAGE_PCC_IO16);
-	cf0_io_base = (u32)ioremap_prot(paddrbase, psize, pgprot_val(prot));
-	if (!cf0_io_base) {
-		printk(KERN_ERR "%s : can't open CF I/O window!\n" , __func__ );
-		return -ENOMEM;
-	}
-
-	cf_ide_resources[0].start += cf0_io_base ;
-	cf_ide_resources[0].end   += cf0_io_base ;
-	cf_ide_resources[1].start += cf0_io_base ;
-	cf_ide_resources[1].end   += cf0_io_base ;
-
-	return platform_add_devices(lboxre2_devices,
-			ARRAY_SIZE(lboxre2_devices));
-
-}
-device_initcall(lboxre2_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_lboxre2 __initmv = {
-	.mv_name		= "L-BOX RE2",
-	.mv_init_irq		= init_lboxre2_IRQ,
-};
diff --git a/arch/sh/boards/mach-microdev/Makefile b/arch/sh/boards/mach-microdev/Makefile
deleted file mode 100644
index 05c5698dcad025..00000000000000
--- a/arch/sh/boards/mach-microdev/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the SuperH MicroDev specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o io.o fdc37c93xapm.o
diff --git a/arch/sh/boards/mach-microdev/fdc37c93xapm.c b/arch/sh/boards/mach-microdev/fdc37c93xapm.c
deleted file mode 100644
index 2a04f72dd14577..00000000000000
--- a/arch/sh/boards/mach-microdev/fdc37c93xapm.c
+++ /dev/null
@@ -1,157 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Setup for the SMSC FDC37C93xAPM
- *
- * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan at superh.com)
- * Copyright (C) 2003, 2004 SuperH, Inc.
- * Copyright (C) 2004, 2005 Paul Mundt
- *
- * SuperH SH4-202 MicroDev board support.
- */
-#include <linux/init.h>
-#include <linux/ioport.h>
-#include <linux/io.h>
-#include <linux/err.h>
-#include <mach/microdev.h>
-
-#define SMSC_CONFIG_PORT_ADDR	 (0x3F0)
-#define SMSC_INDEX_PORT_ADDR	 SMSC_CONFIG_PORT_ADDR
-#define SMSC_DATA_PORT_ADDR	 (SMSC_INDEX_PORT_ADDR + 1)
-
-#define SMSC_ENTER_CONFIG_KEY	 0x55
-#define SMSC_EXIT_CONFIG_KEY	 0xaa
-
-#define SMCS_LOGICAL_DEV_INDEX	 0x07	/* Logical Device Number */
-#define SMSC_DEVICE_ID_INDEX	 0x20	/* Device ID */
-#define SMSC_DEVICE_REV_INDEX	 0x21	/* Device Revision */
-#define SMSC_ACTIVATE_INDEX	 0x30	/* Activate */
-#define SMSC_PRIMARY_BASE_INDEX	 0x60	/* Primary Base Address */
-#define SMSC_SECONDARY_BASE_INDEX 0x62	/* Secondary Base Address */
-#define SMSC_PRIMARY_INT_INDEX	 0x70	/* Primary Interrupt Select */
-#define SMSC_SECONDARY_INT_INDEX 0x72	/* Secondary Interrupt Select */
-#define SMSC_HDCS0_INDEX	 0xf0	/* HDCS0 Address Decoder */
-#define SMSC_HDCS1_INDEX	 0xf1	/* HDCS1 Address Decoder */
-
-#define SMSC_IDE1_DEVICE	1	/* IDE #1 logical device */
-#define SMSC_IDE2_DEVICE	2	/* IDE #2 logical device */
-#define SMSC_PARALLEL_DEVICE	3	/* Parallel Port logical device */
-#define SMSC_SERIAL1_DEVICE	4	/* Serial #1 logical device */
-#define SMSC_SERIAL2_DEVICE	5	/* Serial #2 logical device */
-#define SMSC_KEYBOARD_DEVICE	7	/* Keyboard logical device */
-#define SMSC_CONFIG_REGISTERS	8	/* Configuration Registers (Aux I/O) */
-
-#define SMSC_READ_INDEXED(index) ({ \
-	outb((index), SMSC_INDEX_PORT_ADDR); \
-	inb(SMSC_DATA_PORT_ADDR); })
-#define SMSC_WRITE_INDEXED(val, index) ({ \
-	outb((index), SMSC_INDEX_PORT_ADDR); \
-	outb((val),   SMSC_DATA_PORT_ADDR); })
-
-#define	IDE1_PRIMARY_BASE	0x01f0	/* Task File Registe base for IDE #1 */
-#define	IDE1_SECONDARY_BASE	0x03f6	/* Miscellaneous AT registers for IDE #1 */
-#define	IDE2_PRIMARY_BASE	0x0170	/* Task File Registe base for IDE #2 */
-#define	IDE2_SECONDARY_BASE	0x0376	/* Miscellaneous AT registers for IDE #2 */
-
-#define SERIAL1_PRIMARY_BASE	0x03f8
-#define SERIAL2_PRIMARY_BASE	0x02f8
-
-#define	MSB(x)		( (x) >> 8 )
-#define	LSB(x)		( (x) & 0xff )
-
-	/* General-Purpose base address on CPU-board FPGA */
-#define	MICRODEV_FPGA_GP_BASE		0xa6100000ul
-
-static int __init smsc_superio_setup(void)
-{
-
-	unsigned char devid, devrev;
-
-		/* Initially the chip is in run state */
-		/* Put it into configuration state */
-	outb(SMSC_ENTER_CONFIG_KEY, SMSC_CONFIG_PORT_ADDR);
-
-		/* Read device ID info */
-	devid  = SMSC_READ_INDEXED(SMSC_DEVICE_ID_INDEX);
-	devrev = SMSC_READ_INDEXED(SMSC_DEVICE_REV_INDEX);
-
-	if ((devid == 0x30) && (devrev == 0x01))
-		printk("SMSC FDC37C93xAPM SuperIO device detected\n");
-	else
-		return -ENODEV;
-
-		/* Select the keyboard device */
-	SMSC_WRITE_INDEXED(SMSC_KEYBOARD_DEVICE, SMCS_LOGICAL_DEV_INDEX);
-		/* enable it */
-	SMSC_WRITE_INDEXED(1, SMSC_ACTIVATE_INDEX);
-		/* enable the interrupts */
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_KEYBOARD, SMSC_PRIMARY_INT_INDEX);
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_MOUSE, SMSC_SECONDARY_INT_INDEX);
-
-		/* Select the Serial #1 device */
-	SMSC_WRITE_INDEXED(SMSC_SERIAL1_DEVICE, SMCS_LOGICAL_DEV_INDEX);
-		/* enable it */
-	SMSC_WRITE_INDEXED(1, SMSC_ACTIVATE_INDEX);
-		/* program with port addresses */
-	SMSC_WRITE_INDEXED(MSB(SERIAL1_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(SERIAL1_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+1);
-	SMSC_WRITE_INDEXED(0x00, SMSC_HDCS0_INDEX);
-		/* enable the interrupts */
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_SERIAL1, SMSC_PRIMARY_INT_INDEX);
-
-		/* Select the Serial #2 device */
-	SMSC_WRITE_INDEXED(SMSC_SERIAL2_DEVICE, SMCS_LOGICAL_DEV_INDEX);
-		/* enable it */
-	SMSC_WRITE_INDEXED(1, SMSC_ACTIVATE_INDEX);
-		/* program with port addresses */
-	SMSC_WRITE_INDEXED(MSB(SERIAL2_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(SERIAL2_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+1);
-	SMSC_WRITE_INDEXED(0x00, SMSC_HDCS0_INDEX);
-		/* enable the interrupts */
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_SERIAL2, SMSC_PRIMARY_INT_INDEX);
-
-		/* Select the IDE#1 device */
-	SMSC_WRITE_INDEXED(SMSC_IDE1_DEVICE, SMCS_LOGICAL_DEV_INDEX);
-		/* enable it */
-	SMSC_WRITE_INDEXED(1, SMSC_ACTIVATE_INDEX);
-		/* program with port addresses */
-	SMSC_WRITE_INDEXED(MSB(IDE1_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(IDE1_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+1);
-	SMSC_WRITE_INDEXED(MSB(IDE1_SECONDARY_BASE), SMSC_SECONDARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(IDE1_SECONDARY_BASE), SMSC_SECONDARY_BASE_INDEX+1);
-	SMSC_WRITE_INDEXED(0x0c, SMSC_HDCS0_INDEX);
-	SMSC_WRITE_INDEXED(0x00, SMSC_HDCS1_INDEX);
-		/* select the interrupt */
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_IDE1, SMSC_PRIMARY_INT_INDEX);
-
-		/* Select the IDE#2 device */
-	SMSC_WRITE_INDEXED(SMSC_IDE2_DEVICE, SMCS_LOGICAL_DEV_INDEX);
-		/* enable it */
-	SMSC_WRITE_INDEXED(1, SMSC_ACTIVATE_INDEX);
-		/* program with port addresses */
-	SMSC_WRITE_INDEXED(MSB(IDE2_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(IDE2_PRIMARY_BASE), SMSC_PRIMARY_BASE_INDEX+1);
-	SMSC_WRITE_INDEXED(MSB(IDE2_SECONDARY_BASE), SMSC_SECONDARY_BASE_INDEX+0);
-	SMSC_WRITE_INDEXED(LSB(IDE2_SECONDARY_BASE), SMSC_SECONDARY_BASE_INDEX+1);
-		/* select the interrupt */
-	SMSC_WRITE_INDEXED(MICRODEV_FPGA_IRQ_IDE2, SMSC_PRIMARY_INT_INDEX);
-
-		/* Select the configuration registers */
-	SMSC_WRITE_INDEXED(SMSC_CONFIG_REGISTERS, SMCS_LOGICAL_DEV_INDEX);
-		/* enable the appropriate GPIO pins for IDE functionality:
-		 * bit[0]   In/Out		1==input;  0==output
-		 * bit[1]   Polarity		1==invert; 0==no invert
-		 * bit[2]   Int Enb #1		1==Enable Combined IRQ #1; 0==disable
-		 * bit[3:4] Function Select	00==original; 01==Alternate Function #1
-		 */
-	SMSC_WRITE_INDEXED(0x00, 0xc2);	/* GP42 = nIDE1_OE */
-	SMSC_WRITE_INDEXED(0x01, 0xc5);	/* GP45 = IDE1_IRQ */
-	SMSC_WRITE_INDEXED(0x00, 0xc6);	/* GP46 = nIOROP */
-	SMSC_WRITE_INDEXED(0x00, 0xc7);	/* GP47 = nIOWOP */
-	SMSC_WRITE_INDEXED(0x08, 0xe8);	/* GP20 = nIDE2_OE */
-
-		/* Exit the configuration state */
-	outb(SMSC_EXIT_CONFIG_KEY, SMSC_CONFIG_PORT_ADDR);
-
-	return 0;
-}
-device_initcall(smsc_superio_setup);
diff --git a/arch/sh/boards/mach-microdev/io.c b/arch/sh/boards/mach-microdev/io.c
deleted file mode 100644
index a76c12721e63dc..00000000000000
--- a/arch/sh/boards/mach-microdev/io.c
+++ /dev/null
@@ -1,123 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/superh/microdev/io.c
- *
- * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan at superh.com)
- * Copyright (C) 2003, 2004 SuperH, Inc.
- * Copyright (C) 2004 Paul Mundt
- *
- * SuperH SH4-202 MicroDev board support.
- */
-
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/wait.h>
-#include <asm/io.h>
-#include <mach/microdev.h>
-
-	/*
-	 *	we need to have a 'safe' address to re-direct all I/O requests
-	 *	that we do not explicitly wish to handle. This safe address
-	 *	must have the following properies:
-	 *
-	 *		* writes are ignored (no exception)
-	 *		* reads are benign (no side-effects)
-	 *		* accesses of width 1, 2 and 4-bytes are all valid.
-	 *
-	 *	The Processor Version Register (PVR) has these properties.
-	 */
-#define	PVR	0xff000030	/* Processor Version Register */
-
-
-#define	IO_IDE2_BASE		0x170ul	/* I/O base for SMSC FDC37C93xAPM IDE #2 */
-#define	IO_IDE1_BASE		0x1f0ul	/* I/O base for SMSC FDC37C93xAPM IDE #1 */
-#define IO_ISP1161_BASE		0x290ul /* I/O port for Philips ISP1161x USB chip */
-#define IO_SERIAL2_BASE		0x2f8ul /* I/O base for SMSC FDC37C93xAPM Serial #2 */
-#define	IO_LAN91C111_BASE	0x300ul	/* I/O base for SMSC LAN91C111 Ethernet chip */
-#define	IO_IDE2_MISC		0x376ul	/* I/O misc for SMSC FDC37C93xAPM IDE #2 */
-#define IO_SUPERIO_BASE		0x3f0ul /* I/O base for SMSC FDC37C93xAPM SuperIO chip */
-#define	IO_IDE1_MISC		0x3f6ul	/* I/O misc for SMSC FDC37C93xAPM IDE #1 */
-#define IO_SERIAL1_BASE		0x3f8ul /* I/O base for SMSC FDC37C93xAPM Serial #1 */
-
-#define	IO_ISP1161_EXTENT	0x04ul	/* I/O extent for Philips ISP1161x USB chip */
-#define	IO_LAN91C111_EXTENT	0x10ul	/* I/O extent for SMSC LAN91C111 Ethernet chip */
-#define	IO_SUPERIO_EXTENT	0x02ul	/* I/O extent for SMSC FDC37C93xAPM SuperIO chip */
-#define	IO_IDE_EXTENT		0x08ul	/* I/O extent for IDE Task Register set */
-#define IO_SERIAL_EXTENT	0x10ul
-
-#define	IO_LAN91C111_PHYS	0xa7500000ul	/* Physical address of SMSC LAN91C111 Ethernet chip */
-#define	IO_ISP1161_PHYS		0xa7700000ul	/* Physical address of Philips ISP1161x USB chip */
-#define	IO_SUPERIO_PHYS		0xa7800000ul	/* Physical address of SMSC FDC37C93xAPM SuperIO chip */
-
-/*
- * map I/O ports to memory-mapped addresses
- */
-void __iomem *microdev_ioport_map(unsigned long offset, unsigned int len)
-{
-	unsigned long result;
-
-	if ((offset >= IO_LAN91C111_BASE) &&
-	    (offset <  IO_LAN91C111_BASE + IO_LAN91C111_EXTENT)) {
-			/*
-			 *	SMSC LAN91C111 Ethernet chip
-			 */
-		result = IO_LAN91C111_PHYS + offset - IO_LAN91C111_BASE;
-	} else if ((offset >= IO_SUPERIO_BASE) &&
-		   (offset <  IO_SUPERIO_BASE + IO_SUPERIO_EXTENT)) {
-			/*
-			 *	SMSC FDC37C93xAPM SuperIO chip
-			 *
-			 *	Configuration Registers
-			 */
-		result = IO_SUPERIO_PHYS + (offset << 1);
-	} else if (((offset >= IO_IDE1_BASE) &&
-		    (offset <  IO_IDE1_BASE + IO_IDE_EXTENT)) ||
-		    (offset == IO_IDE1_MISC)) {
-			/*
-			 *	SMSC FDC37C93xAPM SuperIO chip
-			 *
-			 *	IDE #1
-			 */
-	        result = IO_SUPERIO_PHYS + (offset << 1);
-	} else if (((offset >= IO_IDE2_BASE) &&
-		    (offset <  IO_IDE2_BASE + IO_IDE_EXTENT)) ||
-		    (offset == IO_IDE2_MISC)) {
-			/*
-			 *	SMSC FDC37C93xAPM SuperIO chip
-			 *
-			 *	IDE #2
-			 */
-	        result = IO_SUPERIO_PHYS + (offset << 1);
-	} else if ((offset >= IO_SERIAL1_BASE) &&
-		   (offset <  IO_SERIAL1_BASE + IO_SERIAL_EXTENT)) {
-			/*
-			 *	SMSC FDC37C93xAPM SuperIO chip
-			 *
-			 *	Serial #1
-			 */
-		result = IO_SUPERIO_PHYS + (offset << 1);
-	} else if ((offset >= IO_SERIAL2_BASE) &&
-		   (offset <  IO_SERIAL2_BASE + IO_SERIAL_EXTENT)) {
-			/*
-			 *	SMSC FDC37C93xAPM SuperIO chip
-			 *
-			 *	Serial #2
-			 */
-		result = IO_SUPERIO_PHYS + (offset << 1);
-	} else if ((offset >= IO_ISP1161_BASE) &&
-		   (offset < IO_ISP1161_BASE + IO_ISP1161_EXTENT)) {
-			/*
-			 *	Philips USB ISP1161x chip
-			 */
-		result = IO_ISP1161_PHYS + offset - IO_ISP1161_BASE;
-	} else {
-			/*
-			 *	safe default.
-			 */
-		printk("Warning: unexpected port in %s( offset = 0x%lx )\n",
-		       __func__, offset);
-		result = PVR;
-	}
-
-	return (void __iomem *)result;
-}
diff --git a/arch/sh/boards/mach-microdev/irq.c b/arch/sh/boards/mach-microdev/irq.c
deleted file mode 100644
index dc27492c83d765..00000000000000
--- a/arch/sh/boards/mach-microdev/irq.c
+++ /dev/null
@@ -1,150 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/superh/microdev/irq.c
- *
- * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan at superh.com)
- *
- * SuperH SH4-202 MicroDev board support.
- */
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <asm/io.h>
-#include <mach/microdev.h>
-
-#define NUM_EXTERNAL_IRQS 16	/* IRL0 .. IRL15 */
-
-static const struct {
-	unsigned char fpgaIrq;
-	unsigned char mapped;
-	const char *name;
-} fpgaIrqTable[NUM_EXTERNAL_IRQS] = {
-	{ 0,				0,	"unused"   },		/* IRQ #0	IRL=15	0x200  */
-	{ MICRODEV_FPGA_IRQ_KEYBOARD,	1,	"keyboard" },		/* IRQ #1	IRL=14	0x220  */
-	{ MICRODEV_FPGA_IRQ_SERIAL1,	1,	"Serial #1"},		/* IRQ #2	IRL=13	0x240  */
-	{ MICRODEV_FPGA_IRQ_ETHERNET,	1,	"Ethernet" },		/* IRQ #3	IRL=12	0x260  */
-	{ MICRODEV_FPGA_IRQ_SERIAL2,	0,	"Serial #2"},		/* IRQ #4	IRL=11	0x280  */
-	{ 0,				0,	"unused"   },		/* IRQ #5	IRL=10	0x2a0  */
-	{ 0,				0,	"unused"   },		/* IRQ #6	IRL=9	0x2c0  */
-	{ MICRODEV_FPGA_IRQ_USB_HC,	1,	"USB"	   },		/* IRQ #7	IRL=8	0x2e0  */
-	{ MICRODEV_IRQ_PCI_INTA,	1,	"PCI INTA" },		/* IRQ #8	IRL=7	0x300  */
-	{ MICRODEV_IRQ_PCI_INTB,	1,	"PCI INTB" },		/* IRQ #9	IRL=6	0x320  */
-	{ MICRODEV_IRQ_PCI_INTC,	1,	"PCI INTC" },		/* IRQ #10	IRL=5	0x340  */
-	{ MICRODEV_IRQ_PCI_INTD,	1,	"PCI INTD" },		/* IRQ #11	IRL=4	0x360  */
-	{ MICRODEV_FPGA_IRQ_MOUSE,	1,	"mouse"    },		/* IRQ #12	IRL=3	0x380  */
-	{ MICRODEV_FPGA_IRQ_IDE2,	1,	"IDE #2"   },		/* IRQ #13	IRL=2	0x3a0  */
-	{ MICRODEV_FPGA_IRQ_IDE1,	1,	"IDE #1"   },		/* IRQ #14	IRL=1	0x3c0  */
-	{ 0,				0,	"unused"   },		/* IRQ #15	IRL=0	0x3e0  */
-};
-
-#if (MICRODEV_LINUX_IRQ_KEYBOARD != 1)
-#  error Inconsistancy in defining the IRQ# for Keyboard!
-#endif
-
-#if (MICRODEV_LINUX_IRQ_ETHERNET != 3)
-#  error Inconsistancy in defining the IRQ# for Ethernet!
-#endif
-
-#if (MICRODEV_LINUX_IRQ_USB_HC != 7)
-#  error Inconsistancy in defining the IRQ# for USB!
-#endif
-
-#if (MICRODEV_LINUX_IRQ_MOUSE != 12)
-#  error Inconsistancy in defining the IRQ# for PS/2 Mouse!
-#endif
-
-#if (MICRODEV_LINUX_IRQ_IDE2 != 13)
-#  error Inconsistancy in defining the IRQ# for secondary IDE!
-#endif
-
-#if (MICRODEV_LINUX_IRQ_IDE1 != 14)
-#  error Inconsistancy in defining the IRQ# for primary IDE!
-#endif
-
-static void disable_microdev_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned int fpgaIrq;
-
-	if (irq >= NUM_EXTERNAL_IRQS)
-		return;
-	if (!fpgaIrqTable[irq].mapped)
-		return;
-
-	fpgaIrq = fpgaIrqTable[irq].fpgaIrq;
-
-	/* disable interrupts on the FPGA INTC register */
-	__raw_writel(MICRODEV_FPGA_INTC_MASK(fpgaIrq), MICRODEV_FPGA_INTDSB_REG);
-}
-
-static void enable_microdev_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned long priorityReg, priorities, pri;
-	unsigned int fpgaIrq;
-
-	if (unlikely(irq >= NUM_EXTERNAL_IRQS))
-		return;
-	if (unlikely(!fpgaIrqTable[irq].mapped))
-		return;
-
-	pri = 15 - irq;
-
-	fpgaIrq = fpgaIrqTable[irq].fpgaIrq;
-	priorityReg = MICRODEV_FPGA_INTPRI_REG(fpgaIrq);
-
-	/* set priority for the interrupt */
-	priorities = __raw_readl(priorityReg);
-	priorities &= ~MICRODEV_FPGA_INTPRI_MASK(fpgaIrq);
-	priorities |= MICRODEV_FPGA_INTPRI_LEVEL(fpgaIrq, pri);
-	__raw_writel(priorities, priorityReg);
-
-	/* enable interrupts on the FPGA INTC register */
-	__raw_writel(MICRODEV_FPGA_INTC_MASK(fpgaIrq), MICRODEV_FPGA_INTENB_REG);
-}
-
-static struct irq_chip microdev_irq_type = {
-	.name = "MicroDev-IRQ",
-	.irq_unmask = enable_microdev_irq,
-	.irq_mask = disable_microdev_irq,
-};
-
-/* This function sets the desired irq handler to be a MicroDev type */
-static void __init make_microdev_irq(unsigned int irq)
-{
-	disable_irq_nosync(irq);
-	irq_set_chip_and_handler(irq, &microdev_irq_type, handle_level_irq);
-	disable_microdev_irq(irq_get_irq_data(irq));
-}
-
-extern void __init init_microdev_irq(void)
-{
-	int i;
-
-	/* disable interrupts on the FPGA INTC register */
-	__raw_writel(~0ul, MICRODEV_FPGA_INTDSB_REG);
-
-	for (i = 0; i < NUM_EXTERNAL_IRQS; i++)
-		make_microdev_irq(i);
-}
-
-extern void microdev_print_fpga_intc_status(void)
-{
-	volatile unsigned int * const intenb = (unsigned int*)MICRODEV_FPGA_INTENB_REG;
-	volatile unsigned int * const intdsb = (unsigned int*)MICRODEV_FPGA_INTDSB_REG;
-	volatile unsigned int * const intpria = (unsigned int*)MICRODEV_FPGA_INTPRI_REG(0);
-	volatile unsigned int * const intprib = (unsigned int*)MICRODEV_FPGA_INTPRI_REG(8);
-	volatile unsigned int * const intpric = (unsigned int*)MICRODEV_FPGA_INTPRI_REG(16);
-	volatile unsigned int * const intprid = (unsigned int*)MICRODEV_FPGA_INTPRI_REG(24);
-	volatile unsigned int * const intsrc = (unsigned int*)MICRODEV_FPGA_INTSRC_REG;
-	volatile unsigned int * const intreq = (unsigned int*)MICRODEV_FPGA_INTREQ_REG;
-
-	printk("-------------------------- microdev_print_fpga_intc_status() ------------------\n");
-	printk("FPGA_INTENB = 0x%08x\n", *intenb);
-	printk("FPGA_INTDSB = 0x%08x\n", *intdsb);
-	printk("FPGA_INTSRC = 0x%08x\n", *intsrc);
-	printk("FPGA_INTREQ = 0x%08x\n", *intreq);
-	printk("FPGA_INTPRI[3..0] = %08x:%08x:%08x:%08x\n", *intprid, *intpric, *intprib, *intpria);
-	printk("-------------------------------------------------------------------------------\n");
-}
diff --git a/arch/sh/boards/mach-microdev/setup.c b/arch/sh/boards/mach-microdev/setup.c
deleted file mode 100644
index f4a777fe2d0121..00000000000000
--- a/arch/sh/boards/mach-microdev/setup.c
+++ /dev/null
@@ -1,197 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/superh/microdev/setup.c
- *
- * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan at superh.com)
- * Copyright (C) 2003, 2004 SuperH, Inc.
- * Copyright (C) 2004, 2005 Paul Mundt
- *
- * SuperH SH4-202 MicroDev board support.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/ioport.h>
-#include <video/s1d13xxxfb.h>
-#include <mach/microdev.h>
-#include <asm/io.h>
-#include <asm/machvec.h>
-#include <linux/sizes.h>
-
-static struct resource smc91x_resources[] = {
-	[0] = {
-		.start		= 0x300,
-		.end		= 0x300 + SZ_4K - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= MICRODEV_LINUX_IRQ_ETHERNET,
-		.end		= MICRODEV_LINUX_IRQ_ETHERNET,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_device = {
-	.name		= "smc91x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smc91x_resources),
-	.resource	= smc91x_resources,
-};
-
-static struct s1d13xxxfb_regval s1d13806_initregs[] = {
-	{ S1DREG_MISC,			0x00 },
-	{ S1DREG_COM_DISP_MODE,		0x00 },
-	{ S1DREG_GPIO_CNF0,		0x00 },
-	{ S1DREG_GPIO_CNF1,		0x00 },
-	{ S1DREG_GPIO_CTL0,		0x00 },
-	{ S1DREG_GPIO_CTL1,		0x00 },
-	{ S1DREG_CLK_CNF,		0x02 },
-	{ S1DREG_LCD_CLK_CNF,		0x01 },
-	{ S1DREG_CRT_CLK_CNF,		0x03 },
-	{ S1DREG_MPLUG_CLK_CNF,		0x03 },
-	{ S1DREG_CPU2MEM_WST_SEL,	0x02 },
-	{ S1DREG_SDRAM_REF_RATE,	0x03 },
-	{ S1DREG_SDRAM_TC0,		0x00 },
-	{ S1DREG_SDRAM_TC1,		0x01 },
-	{ S1DREG_MEM_CNF,		0x80 },
-	{ S1DREG_PANEL_TYPE,		0x25 },
-	{ S1DREG_MOD_RATE,		0x00 },
-	{ S1DREG_LCD_DISP_HWIDTH,	0x63 },
-	{ S1DREG_LCD_NDISP_HPER,	0x1e },
-	{ S1DREG_TFT_FPLINE_START,	0x06 },
-	{ S1DREG_TFT_FPLINE_PWIDTH,	0x03 },
-	{ S1DREG_LCD_DISP_VHEIGHT0,	0x57 },
-	{ S1DREG_LCD_DISP_VHEIGHT1,	0x02 },
-	{ S1DREG_LCD_NDISP_VPER,	0x00 },
-	{ S1DREG_TFT_FPFRAME_START,	0x0a },
-	{ S1DREG_TFT_FPFRAME_PWIDTH,	0x81 },
-	{ S1DREG_LCD_DISP_MODE,		0x03 },
-	{ S1DREG_LCD_MISC,		0x00 },
-	{ S1DREG_LCD_DISP_START0,	0x00 },
-	{ S1DREG_LCD_DISP_START1,	0x00 },
-	{ S1DREG_LCD_DISP_START2,	0x00 },
-	{ S1DREG_LCD_MEM_OFF0,		0x90 },
-	{ S1DREG_LCD_MEM_OFF1,		0x01 },
-	{ S1DREG_LCD_PIX_PAN,		0x00 },
-	{ S1DREG_LCD_DISP_FIFO_HTC,	0x00 },
-	{ S1DREG_LCD_DISP_FIFO_LTC,	0x00 },
-	{ S1DREG_CRT_DISP_HWIDTH,	0x63 },
-	{ S1DREG_CRT_NDISP_HPER,	0x1f },
-	{ S1DREG_CRT_HRTC_START,	0x04 },
-	{ S1DREG_CRT_HRTC_PWIDTH,	0x8f },
-	{ S1DREG_CRT_DISP_VHEIGHT0,	0x57 },
-	{ S1DREG_CRT_DISP_VHEIGHT1,	0x02 },
-	{ S1DREG_CRT_NDISP_VPER,	0x1b },
-	{ S1DREG_CRT_VRTC_START,	0x00 },
-	{ S1DREG_CRT_VRTC_PWIDTH,	0x83 },
-	{ S1DREG_TV_OUT_CTL,		0x10 },
-	{ S1DREG_CRT_DISP_MODE,		0x05 },
-	{ S1DREG_CRT_DISP_START0,	0x00 },
-	{ S1DREG_CRT_DISP_START1,	0x00 },
-	{ S1DREG_CRT_DISP_START2,	0x00 },
-	{ S1DREG_CRT_MEM_OFF0,		0x20 },
-	{ S1DREG_CRT_MEM_OFF1,		0x03 },
-	{ S1DREG_CRT_PIX_PAN,		0x00 },
-	{ S1DREG_CRT_DISP_FIFO_HTC,	0x00 },
-	{ S1DREG_CRT_DISP_FIFO_LTC,	0x00 },
-	{ S1DREG_LCD_CUR_CTL,		0x00 },
-	{ S1DREG_LCD_CUR_START,		0x01 },
-	{ S1DREG_LCD_CUR_XPOS0,		0x00 },
-	{ S1DREG_LCD_CUR_XPOS1,		0x00 },
-	{ S1DREG_LCD_CUR_YPOS0,		0x00 },
-	{ S1DREG_LCD_CUR_YPOS1,		0x00 },
-	{ S1DREG_LCD_CUR_BCTL0,		0x00 },
-	{ S1DREG_LCD_CUR_GCTL0,		0x00 },
-	{ S1DREG_LCD_CUR_RCTL0,		0x00 },
-	{ S1DREG_LCD_CUR_BCTL1,		0x1f },
-	{ S1DREG_LCD_CUR_GCTL1,		0x3f },
-	{ S1DREG_LCD_CUR_RCTL1,		0x1f },
-	{ S1DREG_LCD_CUR_FIFO_HTC,	0x00 },
-	{ S1DREG_CRT_CUR_CTL,		0x00 },
-	{ S1DREG_CRT_CUR_START,		0x01 },
-	{ S1DREG_CRT_CUR_XPOS0,		0x00 },
-	{ S1DREG_CRT_CUR_XPOS1,		0x00 },
-	{ S1DREG_CRT_CUR_YPOS0,		0x00 },
-	{ S1DREG_CRT_CUR_YPOS1,		0x00 },
-	{ S1DREG_CRT_CUR_BCTL0,		0x00 },
-	{ S1DREG_CRT_CUR_GCTL0,		0x00 },
-	{ S1DREG_CRT_CUR_RCTL0,		0x00 },
-	{ S1DREG_CRT_CUR_BCTL1,		0x1f },
-	{ S1DREG_CRT_CUR_GCTL1,		0x3f },
-	{ S1DREG_CRT_CUR_RCTL1,		0x1f },
-	{ S1DREG_CRT_CUR_FIFO_HTC,	0x00 },
-	{ S1DREG_BBLT_CTL0,		0x00 },
-	{ S1DREG_BBLT_CTL1,		0x00 },
-	{ S1DREG_BBLT_CC_EXP,		0x00 },
-	{ S1DREG_BBLT_OP,		0x00 },
-	{ S1DREG_BBLT_SRC_START0,	0x00 },
-	{ S1DREG_BBLT_SRC_START1,	0x00 },
-	{ S1DREG_BBLT_SRC_START2,	0x00 },
-	{ S1DREG_BBLT_DST_START0,	0x00 },
-	{ S1DREG_BBLT_DST_START1,	0x00 },
-	{ S1DREG_BBLT_DST_START2,	0x00 },
-	{ S1DREG_BBLT_MEM_OFF0,		0x00 },
-	{ S1DREG_BBLT_MEM_OFF1,		0x00 },
-	{ S1DREG_BBLT_WIDTH0,		0x00 },
-	{ S1DREG_BBLT_WIDTH1,		0x00 },
-	{ S1DREG_BBLT_HEIGHT0,		0x00 },
-	{ S1DREG_BBLT_HEIGHT1,		0x00 },
-	{ S1DREG_BBLT_BGC0,		0x00 },
-	{ S1DREG_BBLT_BGC1,		0x00 },
-	{ S1DREG_BBLT_FGC0,		0x00 },
-	{ S1DREG_BBLT_FGC1,		0x00 },
-	{ S1DREG_LKUP_MODE,		0x00 },
-	{ S1DREG_LKUP_ADDR,		0x00 },
-	{ S1DREG_PS_CNF,		0x10 },
-	{ S1DREG_PS_STATUS,		0x00 },
-	{ S1DREG_CPU2MEM_WDOGT,		0x00 },
-	{ S1DREG_COM_DISP_MODE,		0x02 },
-};
-
-static struct s1d13xxxfb_pdata s1d13806_platform_data = {
-	.initregs	= s1d13806_initregs,
-	.initregssize	= ARRAY_SIZE(s1d13806_initregs),
-};
-
-static struct resource s1d13806_resources[] = {
-	[0] = {
-		.start		= 0x07200000,
-		.end		= 0x07200000 + SZ_2M - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= 0x07000000,
-		.end		= 0x07000000 + SZ_2M - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device s1d13806_device = {
-	.name		= "s1d13806fb",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(s1d13806_resources),
-	.resource	= s1d13806_resources,
-
-	.dev = {
-		.platform_data	= &s1d13806_platform_data,
-	},
-};
-
-static struct platform_device *microdev_devices[] __initdata = {
-	&smc91x_device,
-	&s1d13806_device,
-};
-
-static int __init microdev_devices_setup(void)
-{
-	return platform_add_devices(microdev_devices, ARRAY_SIZE(microdev_devices));
-}
-device_initcall(microdev_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_sh4202_microdev __initmv = {
-	.mv_name		= "SH4-202 MicroDev",
-	.mv_ioport_map		= microdev_ioport_map,
-	.mv_init_irq		= init_microdev_irq,
-};
diff --git a/arch/sh/boards/mach-migor/Kconfig b/arch/sh/boards/mach-migor/Kconfig
deleted file mode 100644
index fb64a10e217065..00000000000000
--- a/arch/sh/boards/mach-migor/Kconfig
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-if SH_MIGOR
-
-choice
-	prompt "Migo-R LCD Panel Board Selection"
-	default SH_MIGOR_QVGA
-
-config SH_MIGOR_QVGA
-	bool "QVGA (320x240)"
-
-config SH_MIGOR_RTA_WVGA
-	bool "RTA WVGA (800x480)"
-
-endchoice
-
-endif
diff --git a/arch/sh/boards/mach-migor/Makefile b/arch/sh/boards/mach-migor/Makefile
deleted file mode 100644
index c223d759fcb1ee..00000000000000
--- a/arch/sh/boards/mach-migor/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	 := setup.o sdram.o
-obj-$(CONFIG_SH_MIGOR_QVGA)	+=  lcd_qvga.o
diff --git a/arch/sh/boards/mach-migor/lcd_qvga.c b/arch/sh/boards/mach-migor/lcd_qvga.c
deleted file mode 100644
index 4ebf130510bc6e..00000000000000
--- a/arch/sh/boards/mach-migor/lcd_qvga.c
+++ /dev/null
@@ -1,163 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Support for SuperH MigoR Quarter VGA LCD Panel
- *
- * Copyright (C) 2008 Magnus Damm
- *
- * Based on lcd_powertip.c from Kenati Technologies Pvt Ltd.
- * Copyright (c) 2007 Ujjwal Pande <ujjwal at kenati.com>,
- */
-
-#include <linux/delay.h>
-#include <linux/err.h>
-#include <linux/fb.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/gpio.h>
-#include <video/sh_mobile_lcdc.h>
-#include <cpu/sh7722.h>
-#include <mach/migor.h>
-
-/* LCD Module is a PH240320T according to board schematics. This module
- * is made up of a 240x320 LCD hooked up to a R61505U (or HX8347-A01?)
- * Driver IC. This IC is connected to the SH7722 built-in LCDC using a
- * SYS-80 interface configured in 16 bit mode.
- *
- * Index 0: "Device Code Read" returns 0x1505.
- */
-
-static void reset_lcd_module(void)
-{
-	gpio_set_value(GPIO_PTH2, 0);
-	mdelay(2);
-	gpio_set_value(GPIO_PTH2, 1);
-	mdelay(1);
-}
-
-/* DB0-DB7 are connected to D1-D8, and DB8-DB15 to D10-D17 */
-
-static unsigned long adjust_reg18(unsigned short data)
-{
-	unsigned long tmp1, tmp2;
-
-	tmp1 = (data<<1 | 0x00000001) & 0x000001FF;
-	tmp2 = (data<<2 | 0x00000200) & 0x0003FE00;
-	return tmp1 | tmp2;
-}
-
-static void write_reg(void *sys_ops_handle,
-		       struct sh_mobile_lcdc_sys_bus_ops *sys_ops,
-		       unsigned short reg, unsigned short data)
-{
-	sys_ops->write_index(sys_ops_handle, adjust_reg18(reg << 8 | data));
-}
-
-static void write_reg16(void *sys_ops_handle,
-			struct sh_mobile_lcdc_sys_bus_ops *sys_ops,
-			unsigned short reg, unsigned short data)
-{
-	sys_ops->write_index(sys_ops_handle, adjust_reg18(reg));
-	sys_ops->write_data(sys_ops_handle, adjust_reg18(data));
-}
-
-static unsigned long read_reg16(void *sys_ops_handle,
-				struct sh_mobile_lcdc_sys_bus_ops *sys_ops,
-				unsigned short reg)
-{
-	unsigned long data;
-
-	sys_ops->write_index(sys_ops_handle, adjust_reg18(reg));
-	data = sys_ops->read_data(sys_ops_handle);
-	return ((data >> 1) & 0xff) | ((data >> 2) & 0xff00);
-}
-
-static void migor_lcd_qvga_seq(void *sys_ops_handle,
-			       struct sh_mobile_lcdc_sys_bus_ops *sys_ops,
-			       unsigned short const *data, int no_data)
-{
-	int i;
-
-	for (i = 0; i < no_data; i += 2)
-		write_reg16(sys_ops_handle, sys_ops, data[i], data[i + 1]);
-}
-
-static const unsigned short sync_data[] = {
-	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-};
-
-static const unsigned short magic0_data[] = {
-	0x0060, 0x2700, 0x0008, 0x0808, 0x0090, 0x001A, 0x0007, 0x0001,
-	0x0017, 0x0001, 0x0019, 0x0000, 0x0010, 0x17B0, 0x0011, 0x0116,
-	0x0012, 0x0198, 0x0013, 0x1400, 0x0029, 0x000C, 0x0012, 0x01B8,
-};
-
-static const unsigned short magic1_data[] = {
-	0x0030, 0x0307, 0x0031, 0x0303, 0x0032, 0x0603, 0x0033, 0x0202,
-	0x0034, 0x0202, 0x0035, 0x0202, 0x0036, 0x1F1F, 0x0037, 0x0303,
-	0x0038, 0x0303, 0x0039, 0x0603, 0x003A, 0x0202, 0x003B, 0x0102,
-	0x003C, 0x0204, 0x003D, 0x0000, 0x0001, 0x0100, 0x0002, 0x0300,
-	0x0003, 0x5028, 0x0020, 0x00ef, 0x0021, 0x0000, 0x0004, 0x0000,
-	0x0009, 0x0000, 0x000A, 0x0008, 0x000C, 0x0000, 0x000D, 0x0000,
-	0x0015, 0x8000,
-};
-
-static const unsigned short magic2_data[] = {
-	0x0061, 0x0001, 0x0092, 0x0100, 0x0093, 0x0001, 0x0007, 0x0021,
-};
-
-static const unsigned short magic3_data[] = {
-	0x0010, 0x16B0, 0x0011, 0x0111, 0x0007, 0x0061,
-};
-
-int migor_lcd_qvga_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
-{
-	unsigned long xres = 320;
-	unsigned long yres = 240;
-	int k;
-
-	reset_lcd_module();
-	migor_lcd_qvga_seq(sohandle, so, sync_data, ARRAY_SIZE(sync_data));
-
-	if (read_reg16(sohandle, so, 0) != 0x1505)
-		return -ENODEV;
-
-	pr_info("Migo-R QVGA LCD Module detected.\n");
-
-	migor_lcd_qvga_seq(sohandle, so, sync_data, ARRAY_SIZE(sync_data));
-	write_reg16(sohandle, so, 0x00A4, 0x0001);
-	mdelay(10);
-
-	migor_lcd_qvga_seq(sohandle, so, magic0_data, ARRAY_SIZE(magic0_data));
-	mdelay(100);
-
-	migor_lcd_qvga_seq(sohandle, so, magic1_data, ARRAY_SIZE(magic1_data));
-	write_reg16(sohandle, so, 0x0050, 0xef - (yres - 1));
-	write_reg16(sohandle, so, 0x0051, 0x00ef);
-	write_reg16(sohandle, so, 0x0052, 0x0000);
-	write_reg16(sohandle, so, 0x0053, xres - 1);
-
-	migor_lcd_qvga_seq(sohandle, so, magic2_data, ARRAY_SIZE(magic2_data));
-	mdelay(10);
-
-	migor_lcd_qvga_seq(sohandle, so, magic3_data, ARRAY_SIZE(magic3_data));
-	mdelay(40);
-
-	/* clear GRAM to avoid displaying garbage */
-
-	write_reg16(sohandle, so, 0x0020, 0x0000); /* horiz addr */
-	write_reg16(sohandle, so, 0x0021, 0x0000); /* vert addr */
-
-	for (k = 0; k < (xres * 256); k++) /* yes, 256 words per line */
-		write_reg16(sohandle, so, 0x0022, 0x0000);
-
-	write_reg16(sohandle, so, 0x0020, 0x0000); /* reset horiz addr */
-	write_reg16(sohandle, so, 0x0021, 0x0000); /* reset vert addr */
-	write_reg16(sohandle, so, 0x0007, 0x0173);
-	mdelay(40);
-
-	/* enable display */
-	write_reg(sohandle, so, 0x00, 0x22);
-	mdelay(100);
-	return 0;
-}
diff --git a/arch/sh/boards/mach-migor/sdram.S b/arch/sh/boards/mach-migor/sdram.S
deleted file mode 100644
index 3a6bee1270aaf7..00000000000000
--- a/arch/sh/boards/mach-migor/sdram.S
+++ /dev/null
@@ -1,66 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Migo-R sdram self/auto-refresh setup code
- *
- *  Copyright (C) 2009 Magnus Damm
- */
-
-#include <linux/sys.h>
-#include <linux/errno.h>
-#include <linux/linkage.h>
-#include <asm/asm-offsets.h>
-#include <asm/suspend.h>
-#include <asm/romimage-macros.h>
-
-/* code to enter and leave self-refresh. must be self-contained.
- * this code will be copied to on-chip memory and executed from there.
- */
-	.balign 4
-ENTRY(migor_sdram_enter_start)
-
-	/* SBSC: disable power down and put in self-refresh mode */
-	mov.l	1f, r4
-	mov.l	2f, r1
-	mov.l	@r4, r2
-	or	r1, r2
-	mov.l   3f, r3
-	and	r3, r2
-	mov.l	r2, @r4
-
-	rts
-	 nop
-
-	.balign 4
-1:	.long	0xfe400008 /* SDCR0 */
-2:	.long	0x00000400
-3:	.long	0xffff7fff
-ENTRY(migor_sdram_enter_end)
-
-	.balign 4
-ENTRY(migor_sdram_leave_start)
-
-	/* SBSC: set auto-refresh mode */
-	mov.l	1f, r4
-	mov.l	@r4, r0
-	mov.l   4f, r1
-	and	r1, r0
-	mov.l	r0, @r4
-	mov.l	6f, r4
-	mov.l	8f, r0
-	mov.l	@r4, r1
-	mov	#-1, r4
-	add	r4, r1
-	or	r1, r0
-	mov.l	7f, r1
-	mov.l	r0, @r1
-
-	rts
-	 nop
-
-	.balign 4
-1:	.long	0xfe400008 /* SDCR0 */
-4:	.long	0xfffffbff
-6:	.long   0xfe40001c /* RTCOR */
-7:	.long   0xfe400018 /* RTCNT */
-8:	.long   0xa55a0000
-ENTRY(migor_sdram_leave_end)
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
deleted file mode 100644
index f60061283c4827..00000000000000
--- a/arch/sh/boards/mach-migor/setup.c
+++ /dev/null
@@ -1,649 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas System Solutions Asia Pte. Ltd - Migo-R
- *
- * Copyright (C) 2008 Magnus Damm
- */
-#include <linux/clkdev.h>
-#include <linux/dma-map-ops.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/input.h>
-#include <linux/input/sh_keysc.h>
-#include <linux/memblock.h>
-#include <linux/mmc/host.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mtd/platnand.h>
-#include <linux/i2c.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smc91x.h>
-#include <linux/delay.h>
-#include <linux/clk.h>
-#include <linux/gpio.h>
-#include <linux/gpio/machine.h>
-#include <linux/videodev2.h>
-#include <linux/sh_intc.h>
-#include <video/sh_mobile_lcdc.h>
-#include <media/drv-intf/renesas-ceu.h>
-#include <media/i2c/ov772x.h>
-#include <media/i2c/tw9910.h>
-#include <asm/clock.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <asm/suspend.h>
-#include <mach/migor.h>
-#include <cpu/sh7722.h>
-
-/* Address     IRQ  Size  Bus  Description
- * 0x00000000       64MB  16   NOR Flash (SP29PL256N)
- * 0x0c000000       64MB  64   SDRAM (2xK4M563233G)
- * 0x10000000  IRQ0       16   Ethernet (SMC91C111)
- * 0x14000000  IRQ4       16   USB 2.0 Host Controller (M66596)
- * 0x18000000       8GB    8   NAND Flash (K9K8G08U0A)
- */
-
-#define CEU_BUFFER_MEMORY_SIZE		(4 << 20)
-static phys_addr_t ceu_dma_membase;
-
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
-};
-
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "SMC91C111" ,
-		.start  = 0x10000300,
-		.end    = 0x1000030f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x600), /* IRQ0 */
-		.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name           = "smc91x",
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-	.dev	= {
-		.platform_data	= &smc91x_info,
-	},
-};
-
-static struct sh_keysc_info sh_keysc_info = {
-	.mode = SH_KEYSC_MODE_2, /* KEYOUT0->4, KEYIN1->5 */
-	.scan_timing = 3,
-	.delay = 5,
-	.keycodes = {
-		0, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER,
-		0, KEY_F, KEY_C, KEY_D,	KEY_H, KEY_1,
-		0, KEY_2, KEY_3, KEY_4,	KEY_5, KEY_6,
-		0, KEY_7, KEY_8, KEY_9, KEY_S, KEY_0,
-		0, KEY_P, KEY_STOP, KEY_REWIND, KEY_PLAY, KEY_FASTFORWARD,
-	},
-};
-
-static struct resource sh_keysc_resources[] = {
-	[0] = {
-		.start  = 0x044b0000,
-		.end    = 0x044b000f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xbe0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh_keysc_device = {
-	.name           = "sh_keysc",
-	.id             = 0, /* "keysc0" clock */
-	.num_resources  = ARRAY_SIZE(sh_keysc_resources),
-	.resource       = sh_keysc_resources,
-	.dev	= {
-		.platform_data	= &sh_keysc_info,
-	},
-};
-
-static struct mtd_partition migor_nor_flash_partitions[] =
-{
-	{
-		.name = "uboot",
-		.offset = 0,
-		.size = (1 * 1024 * 1024),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	},
-	{
-		.name = "rootfs",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (15 * 1024 * 1024),
-	},
-	{
-		.name = "other",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data migor_nor_flash_data = {
-	.width		= 2,
-	.parts		= migor_nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(migor_nor_flash_partitions),
-};
-
-static struct resource migor_nor_flash_resources[] = {
-	[0] = {
-		.name		= "NOR Flash",
-		.start		= 0x00000000,
-		.end		= 0x03ffffff,
-		.flags		= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device migor_nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= migor_nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(migor_nor_flash_resources),
-	.dev		= {
-		.platform_data = &migor_nor_flash_data,
-	},
-};
-
-static struct mtd_partition migor_nand_flash_partitions[] = {
-	{
-		.name		= "nanddata1",
-		.offset		= 0x0,
-		.size		= 512 * 1024 * 1024,
-	},
-	{
-		.name		= "nanddata2",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 512 * 1024 * 1024,
-	},
-};
-
-static void migor_nand_flash_cmd_ctl(struct nand_chip *chip, int cmd,
-				     unsigned int ctrl)
-{
-	if (cmd == NAND_CMD_NONE)
-		return;
-
-	if (ctrl & NAND_CLE)
-		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00400000);
-	else if (ctrl & NAND_ALE)
-		writeb(cmd, chip->legacy.IO_ADDR_W + 0x00800000);
-	else
-		writeb(cmd, chip->legacy.IO_ADDR_W);
-}
-
-static int migor_nand_flash_ready(struct nand_chip *chip)
-{
-	return gpio_get_value(GPIO_PTA1); /* NAND_RBn */
-}
-
-static struct platform_nand_data migor_nand_flash_data = {
-	.chip = {
-		.nr_chips = 1,
-		.partitions = migor_nand_flash_partitions,
-		.nr_partitions = ARRAY_SIZE(migor_nand_flash_partitions),
-		.chip_delay = 20,
-	},
-	.ctrl = {
-		.dev_ready = migor_nand_flash_ready,
-		.cmd_ctrl = migor_nand_flash_cmd_ctl,
-	},
-};
-
-static struct resource migor_nand_flash_resources[] = {
-	[0] = {
-		.name		= "NAND Flash",
-		.start		= 0x18000000,
-		.end		= 0x18ffffff,
-		.flags		= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device migor_nand_flash_device = {
-	.name		= "gen_nand",
-	.resource	= migor_nand_flash_resources,
-	.num_resources	= ARRAY_SIZE(migor_nand_flash_resources),
-	.dev		= {
-		.platform_data = &migor_nand_flash_data,
-	}
-};
-
-static const struct fb_videomode migor_lcd_modes[] = {
-	{
-#if defined(CONFIG_SH_MIGOR_RTA_WVGA)
-		.name = "LB070WV1",
-		.xres = 800,
-		.yres = 480,
-		.left_margin = 64,
-		.right_margin = 16,
-		.hsync_len = 120,
-		.sync = 0,
-#elif defined(CONFIG_SH_MIGOR_QVGA)
-		.name = "PH240320T",
-		.xres = 320,
-		.yres = 240,
-		.left_margin = 0,
-		.right_margin = 16,
-		.hsync_len = 8,
-		.sync = FB_SYNC_HOR_HIGH_ACT,
-#endif
-		.upper_margin = 1,
-		.lower_margin = 17,
-		.vsync_len = 2,
-	},
-};
-
-static struct sh_mobile_lcdc_info sh_mobile_lcdc_info = {
-#if defined(CONFIG_SH_MIGOR_RTA_WVGA)
-	.clock_source = LCDC_CLK_BUS,
-	.ch[0] = {
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.interface_type = RGB16,
-		.clock_divider = 2,
-		.lcd_modes = migor_lcd_modes,
-		.num_modes = ARRAY_SIZE(migor_lcd_modes),
-		.panel_cfg = { /* 7.0 inch */
-			.width = 152,
-			.height = 91,
-		},
-	}
-#elif defined(CONFIG_SH_MIGOR_QVGA)
-	.clock_source = LCDC_CLK_PERIPHERAL,
-	.ch[0] = {
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.interface_type = SYS16A,
-		.clock_divider = 10,
-		.lcd_modes = migor_lcd_modes,
-		.num_modes = ARRAY_SIZE(migor_lcd_modes),
-		.panel_cfg = {
-			.width = 49,	/* 2.4 inch */
-			.height = 37,
-			.setup_sys = migor_lcd_qvga_setup,
-		},
-		.sys_bus_cfg = {
-			.ldmt2r = 0x06000a09,
-			.ldmt3r = 0x180e3418,
-			/* set 1s delay to encourage fsync() */
-			.deferred_io_msec = 1000,
-		},
-	}
-#endif
-};
-
-static struct resource migor_lcdc_resources[] = {
-	[0] = {
-		.name	= "LCDC",
-		.start	= 0xfe940000, /* P4-only space */
-		.end	= 0xfe942fff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0x580),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device migor_lcdc_device = {
-	.name		= "sh_mobile_lcdc_fb",
-	.num_resources	= ARRAY_SIZE(migor_lcdc_resources),
-	.resource	= migor_lcdc_resources,
-	.dev	= {
-		.platform_data	= &sh_mobile_lcdc_info,
-	},
-};
-
-static struct ceu_platform_data ceu_pdata = {
-	.num_subdevs			= 2,
-	.subdevs = {
-		{ /* [0] = ov772x */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 0,
-			.i2c_address	= 0x21,
-		},
-		{ /* [1] = tw9910 */
-			.flags		= 0,
-			.bus_width	= 8,
-			.bus_shift	= 0,
-			.i2c_adapter_id	= 0,
-			.i2c_address	= 0x45,
-		},
-	},
-};
-
-static struct resource migor_ceu_resources[] = {
-	[0] = {
-		.name	= "CEU",
-		.start	= 0xfe910000,
-		.end	= 0xfe91009f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x880),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device migor_ceu_device = {
-	.name		= "renesas-ceu",
-	.id             = 0, /* ceu.0 */
-	.num_resources	= ARRAY_SIZE(migor_ceu_resources),
-	.resource	= migor_ceu_resources,
-	.dev	= {
-		.platform_data	= &ceu_pdata,
-	},
-};
-
-/* Powerdown/reset gpios for CEU image sensors */
-static struct gpiod_lookup_table ov7725_gpios = {
-	.dev_id		= "0-0021",
-	.table		= {
-		GPIO_LOOKUP("sh7722_pfc", GPIO_PTT0, "powerdown",
-			    GPIO_ACTIVE_HIGH),
-		GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "reset", GPIO_ACTIVE_LOW),
-	},
-};
-
-static struct gpiod_lookup_table tw9910_gpios = {
-	.dev_id		= "0-0045",
-	.table		= {
-		GPIO_LOOKUP("sh7722_pfc", GPIO_PTT2, "pdn", GPIO_ACTIVE_LOW),
-		GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "rstb", GPIO_ACTIVE_LOW),
-	},
-};
-
-/* Fixed 3.3V regulator to be used by SDHI0 */
-static struct regulator_consumer_supply fixed3v3_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-};
-
-static struct resource sdhi_cn9_resources[] = {
-	[0] = {
-		.name	= "SDHI",
-		.start	= 0x04ce0000,
-		.end	= 0x04ce00ff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xe80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sh7724_sdhi_data = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-};
-
-static struct platform_device sdhi_cn9_device = {
-	.name		= "sh_mobile_sdhi",
-	.num_resources	= ARRAY_SIZE(sdhi_cn9_resources),
-	.resource	= sdhi_cn9_resources,
-	.dev = {
-		.platform_data	= &sh7724_sdhi_data,
-	},
-};
-
-static struct ov772x_camera_info ov7725_info = {
-	.flags		= 0,
-};
-
-static struct tw9910_video_info tw9910_info = {
-	.buswidth       = 8,
-	.mpout          = TW9910_MPO_FIELD,
-};
-
-static struct i2c_board_info migor_i2c_devices[] = {
-	{
-		I2C_BOARD_INFO("rs5c372b", 0x32),
-	},
-	{
-		I2C_BOARD_INFO("migor_ts", 0x51),
-		.irq = evt2irq(0x6c0), /* IRQ6 */
-	},
-	{
-		I2C_BOARD_INFO("wm8978", 0x1a),
-	},
-	{
-		I2C_BOARD_INFO("ov772x", 0x21),
-		.platform_data = &ov7725_info,
-	},
-	{
-		I2C_BOARD_INFO("tw9910", 0x45),
-		.platform_data = &tw9910_info,
-	},
-};
-
-static struct platform_device *migor_devices[] __initdata = {
-	&smc91x_eth_device,
-	&sh_keysc_device,
-	&migor_lcdc_device,
-	&migor_nor_flash_device,
-	&migor_nand_flash_device,
-	&sdhi_cn9_device,
-};
-
-extern char migor_sdram_enter_start;
-extern char migor_sdram_enter_end;
-extern char migor_sdram_leave_start;
-extern char migor_sdram_leave_end;
-
-static int __init migor_devices_setup(void)
-{
-	struct clk *video_clk;
-
-	/* register board specific self-refresh code */
-	sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF,
-					&migor_sdram_enter_start,
-					&migor_sdram_enter_end,
-					&migor_sdram_leave_start,
-					&migor_sdram_leave_end);
-
-	regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
-				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
-
-	/* Let D11 LED show STATUS0 */
-	gpio_request(GPIO_FN_STATUS0, NULL);
-
-	/* Lit D12 LED show PDSTATUS */
-	gpio_request(GPIO_FN_PDSTATUS, NULL);
-
-	/* SMC91C111 - Enable IRQ0, Setup CS4 for 16-bit fast access */
-	gpio_request(GPIO_FN_IRQ0, NULL);
-	__raw_writel(0x00003400, BSC_CS4BCR);
-	__raw_writel(0x00110080, BSC_CS4WCR);
-
-	/* KEYSC */
-	gpio_request(GPIO_FN_KEYOUT0, NULL);
-	gpio_request(GPIO_FN_KEYOUT1, NULL);
-	gpio_request(GPIO_FN_KEYOUT2, NULL);
-	gpio_request(GPIO_FN_KEYOUT3, NULL);
-	gpio_request(GPIO_FN_KEYOUT4_IN6, NULL);
-	gpio_request(GPIO_FN_KEYIN1, NULL);
-	gpio_request(GPIO_FN_KEYIN2, NULL);
-	gpio_request(GPIO_FN_KEYIN3, NULL);
-	gpio_request(GPIO_FN_KEYIN4, NULL);
-	gpio_request(GPIO_FN_KEYOUT5_IN5, NULL);
-
-	/* NAND Flash */
-	gpio_request(GPIO_FN_CS6A_CE2B, NULL);
-	__raw_writel((__raw_readl(BSC_CS6ABCR) & ~0x0600) | 0x0200, BSC_CS6ABCR);
-	gpio_request(GPIO_PTA1, NULL);
-	gpio_direction_input(GPIO_PTA1);
-
-	/* SDHI */
-	gpio_request(GPIO_FN_SDHICD, NULL);
-	gpio_request(GPIO_FN_SDHIWP, NULL);
-	gpio_request(GPIO_FN_SDHID3, NULL);
-	gpio_request(GPIO_FN_SDHID2, NULL);
-	gpio_request(GPIO_FN_SDHID1, NULL);
-	gpio_request(GPIO_FN_SDHID0, NULL);
-	gpio_request(GPIO_FN_SDHICMD, NULL);
-	gpio_request(GPIO_FN_SDHICLK, NULL);
-
-	/* Touch Panel */
-	gpio_request(GPIO_FN_IRQ6, NULL);
-
-	/* LCD Panel */
-#ifdef CONFIG_SH_MIGOR_QVGA /* LCDC - QVGA - Enable SYS Interface signals */
-	gpio_request(GPIO_FN_LCDD17, NULL);
-	gpio_request(GPIO_FN_LCDD16, NULL);
-	gpio_request(GPIO_FN_LCDD15, NULL);
-	gpio_request(GPIO_FN_LCDD14, NULL);
-	gpio_request(GPIO_FN_LCDD13, NULL);
-	gpio_request(GPIO_FN_LCDD12, NULL);
-	gpio_request(GPIO_FN_LCDD11, NULL);
-	gpio_request(GPIO_FN_LCDD10, NULL);
-	gpio_request(GPIO_FN_LCDD8, NULL);
-	gpio_request(GPIO_FN_LCDD7, NULL);
-	gpio_request(GPIO_FN_LCDD6, NULL);
-	gpio_request(GPIO_FN_LCDD5, NULL);
-	gpio_request(GPIO_FN_LCDD4, NULL);
-	gpio_request(GPIO_FN_LCDD3, NULL);
-	gpio_request(GPIO_FN_LCDD2, NULL);
-	gpio_request(GPIO_FN_LCDD1, NULL);
-	gpio_request(GPIO_FN_LCDRS, NULL);
-	gpio_request(GPIO_FN_LCDCS, NULL);
-	gpio_request(GPIO_FN_LCDRD, NULL);
-	gpio_request(GPIO_FN_LCDWR, NULL);
-	gpio_request(GPIO_PTH2, NULL); /* LCD_DON */
-	gpio_direction_output(GPIO_PTH2, 1);
-#endif
-#ifdef CONFIG_SH_MIGOR_RTA_WVGA /* LCDC - WVGA - Enable RGB Interface signals */
-	gpio_request(GPIO_FN_LCDD15, NULL);
-	gpio_request(GPIO_FN_LCDD14, NULL);
-	gpio_request(GPIO_FN_LCDD13, NULL);
-	gpio_request(GPIO_FN_LCDD12, NULL);
-	gpio_request(GPIO_FN_LCDD11, NULL);
-	gpio_request(GPIO_FN_LCDD10, NULL);
-	gpio_request(GPIO_FN_LCDD9, NULL);
-	gpio_request(GPIO_FN_LCDD8, NULL);
-	gpio_request(GPIO_FN_LCDD7, NULL);
-	gpio_request(GPIO_FN_LCDD6, NULL);
-	gpio_request(GPIO_FN_LCDD5, NULL);
-	gpio_request(GPIO_FN_LCDD4, NULL);
-	gpio_request(GPIO_FN_LCDD3, NULL);
-	gpio_request(GPIO_FN_LCDD2, NULL);
-	gpio_request(GPIO_FN_LCDD1, NULL);
-	gpio_request(GPIO_FN_LCDD0, NULL);
-	gpio_request(GPIO_FN_LCDLCLK, NULL);
-	gpio_request(GPIO_FN_LCDDCK, NULL);
-	gpio_request(GPIO_FN_LCDVEPWC, NULL);
-	gpio_request(GPIO_FN_LCDVCPWC, NULL);
-	gpio_request(GPIO_FN_LCDVSYN, NULL);
-	gpio_request(GPIO_FN_LCDHSYN, NULL);
-	gpio_request(GPIO_FN_LCDDISP, NULL);
-	gpio_request(GPIO_FN_LCDDON, NULL);
-#endif
-
-	/* CEU */
-	gpio_request(GPIO_FN_VIO_CLK2, NULL);
-	gpio_request(GPIO_FN_VIO_VD2, NULL);
-	gpio_request(GPIO_FN_VIO_HD2, NULL);
-	gpio_request(GPIO_FN_VIO_FLD, NULL);
-	gpio_request(GPIO_FN_VIO_CKO, NULL);
-	gpio_request(GPIO_FN_VIO_D15, NULL);
-	gpio_request(GPIO_FN_VIO_D14, NULL);
-	gpio_request(GPIO_FN_VIO_D13, NULL);
-	gpio_request(GPIO_FN_VIO_D12, NULL);
-	gpio_request(GPIO_FN_VIO_D11, NULL);
-	gpio_request(GPIO_FN_VIO_D10, NULL);
-	gpio_request(GPIO_FN_VIO_D9, NULL);
-	gpio_request(GPIO_FN_VIO_D8, NULL);
-
-	__raw_writew(__raw_readw(PORT_MSELCRB) | 0x2000, PORT_MSELCRB); /* D15->D8 */
-
-	/* SIU: Port B */
-	gpio_request(GPIO_FN_SIUBOLR, NULL);
-	gpio_request(GPIO_FN_SIUBOBT, NULL);
-	gpio_request(GPIO_FN_SIUBISLD, NULL);
-	gpio_request(GPIO_FN_SIUBOSLD, NULL);
-	gpio_request(GPIO_FN_SIUMCKB, NULL);
-
-	/*
-	 * The original driver sets SIUB OLR/OBT, ILR/IBT, and SIUA OLR/OBT to
-	 * output. Need only SIUB, set to output for master mode (table 34.2)
-	 */
-	__raw_writew(__raw_readw(PORT_MSELCRA) | 1, PORT_MSELCRA);
-
-	 /*
-	  * Use 10 MHz VIO_CKO instead of 24 MHz to work around signal quality
-	  * issues on Panel Board V2.1.
-	  */
-	video_clk = clk_get(NULL, "video_clk");
-	if (!IS_ERR(video_clk)) {
-		clk_set_rate(video_clk, clk_round_rate(video_clk, 10000000));
-		clk_put(video_clk);
-	}
-
-	/* Add a clock alias for ov7725 xclk source. */
-	clk_add_alias(NULL, "0-0021", "video_clk", NULL);
-
-	/* Register GPIOs for video sources. */
-	gpiod_add_lookup_table(&ov7725_gpios);
-	gpiod_add_lookup_table(&tw9910_gpios);
-
-	i2c_register_board_info(0, migor_i2c_devices,
-				ARRAY_SIZE(migor_i2c_devices));
-
-	/* Initialize CEU platform device separately to map memory first */
-	device_initialize(&migor_ceu_device.dev);
-	dma_declare_coherent_memory(&migor_ceu_device.dev,
-			ceu_dma_membase, ceu_dma_membase,
-			ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
-
-	platform_device_add(&migor_ceu_device);
-
-	return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices));
-}
-arch_initcall(migor_devices_setup);
-
-/* Return the board specific boot mode pin configuration */
-static int migor_mode_pins(void)
-{
-	/* MD0=1, MD1=1, MD2=0: Clock Mode 3
-	 * MD3=0: 16-bit Area0 Bus Width
-	 * MD5=1: Little Endian
-	 * TSTMD=1, MD8=0: Test Mode Disabled
-	 */
-	return MODE_PIN0 | MODE_PIN1 | MODE_PIN5;
-}
-
-/* Reserve a portion of memory for CEU buffers */
-static void __init migor_mv_mem_reserve(void)
-{
-	phys_addr_t phys;
-	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-
-	ceu_dma_membase = phys;
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_migor __initmv = {
-	.mv_name		= "Migo-R",
-	.mv_mode_pins		= migor_mode_pins,
-	.mv_mem_reserve		= migor_mv_mem_reserve,
-};
diff --git a/arch/sh/boards/mach-r2d/Kconfig b/arch/sh/boards/mach-r2d/Kconfig
deleted file mode 100644
index 21770e668de283..00000000000000
--- a/arch/sh/boards/mach-r2d/Kconfig
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-if SH_RTS7751R2D
-
-menu "RTS7751R2D Board Revision"
-
-config RTS7751R2D_PLUS
-	bool "R2D-PLUS"
-	help
-	  Selecting this option will configure the kernel for R2D-PLUS.
-
-	  R2D-PLUS is the smaller of the two R2D board versions, equipped
-	  with a single PCI slot.
-
-config RTS7751R2D_1
-	bool "R2D-1"
-	help
-	  Selecting this option will configure the kernel for R2D-1.
-
-	  R2D-1 is the larger of the two R2D board versions, equipped
-	  with two PCI slots.
-endmenu
-
-endif
-
diff --git a/arch/sh/boards/mach-r2d/Makefile b/arch/sh/boards/mach-r2d/Makefile
deleted file mode 100644
index 7e7ac5e0566211..00000000000000
--- a/arch/sh/boards/mach-r2d/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the RTS7751R2D specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-r2d/irq.c b/arch/sh/boards/mach-r2d/irq.c
deleted file mode 100644
index e34f81e9ae813b..00000000000000
--- a/arch/sh/boards/mach-r2d/irq.c
+++ /dev/null
@@ -1,156 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/renesas/rts7751r2d/irq.c
- *
- * Copyright (C) 2007  Magnus Damm
- * Copyright (C) 2000  Kazumoto Kojima
- *
- * Renesas Technology Sales RTS7751R2D Support, R2D-PLUS and R2D-1.
- *
- * Modified for RTS7751R2D by
- * Atom Create Engineering Co., Ltd. 2002.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/io.h>
-#include <mach/r2d.h>
-
-#define R2D_NR_IRL 13
-
-enum {
-	UNUSED = 0,
-
-	/* board specific interrupt sources (R2D-1 and R2D-PLUS) */
-	EXT,              /* EXT_INT0-3 */
-	RTC_T, RTC_A,     /* Real Time Clock */
-	AX88796,          /* Ethernet controller (R2D-1 board) */
-	KEY,              /* Key input (R2D-PLUS board) */
-	SDCARD,           /* SD Card */
-	CF_CD, CF_IDE,    /* CF Card Detect + CF IDE */
-	SM501,            /* SM501 aka Voyager */
-	PCI_INTD_RTL8139, /* Ethernet controller */
-	PCI_INTC_PCI1520, /* Cardbus/PCMCIA bridge */
-	PCI_INTB_RTL8139, /* Ethernet controller with HUB (R2D-PLUS board) */
-	PCI_INTB_SLOT,    /* PCI Slot 3.3v (R2D-1 board) */
-	PCI_INTA_SLOT,    /* PCI Slot 3.3v */
-	TP,               /* Touch Panel */
-};
-
-#ifdef CONFIG_RTS7751R2D_1
-
-/* Vectors for R2D-1 */
-static struct intc_vect vectors_r2d_1[] __initdata = {
-	INTC_IRQ(EXT, IRQ_EXT),
-	INTC_IRQ(RTC_T, IRQ_RTC_T), INTC_IRQ(RTC_A, IRQ_RTC_A),
-	INTC_IRQ(AX88796, IRQ_AX88796), INTC_IRQ(SDCARD, IRQ_SDCARD),
-	INTC_IRQ(CF_CD, IRQ_CF_CD), INTC_IRQ(CF_IDE, IRQ_CF_IDE), /* ng */
-	INTC_IRQ(SM501, IRQ_VOYAGER),
-	INTC_IRQ(PCI_INTD_RTL8139, IRQ_PCI_INTD),
-	INTC_IRQ(PCI_INTC_PCI1520, IRQ_PCI_INTC),
-	INTC_IRQ(PCI_INTB_SLOT, IRQ_PCI_INTB),
-	INTC_IRQ(PCI_INTA_SLOT, IRQ_PCI_INTA),
-	INTC_IRQ(TP, IRQ_TP),
-};
-
-/* IRLMSK mask register layout for R2D-1 */
-static struct intc_mask_reg mask_registers_r2d_1[] __initdata = {
-	{ 0xa4000000, 0, 16, /* IRLMSK */
-	  { TP, PCI_INTA_SLOT, PCI_INTB_SLOT,
-	    PCI_INTC_PCI1520, PCI_INTD_RTL8139,
-	    SM501, CF_IDE, CF_CD, SDCARD, AX88796,
-	    RTC_A, RTC_T, 0, 0, 0, EXT } },
-};
-
-/* IRLn to IRQ table for R2D-1 */
-static unsigned char irl2irq_r2d_1[R2D_NR_IRL] __initdata = {
-	IRQ_PCI_INTD, IRQ_CF_IDE, IRQ_CF_CD, IRQ_PCI_INTC,
-	IRQ_VOYAGER, IRQ_AX88796, IRQ_RTC_A, IRQ_RTC_T,
-	IRQ_SDCARD, IRQ_PCI_INTA, IRQ_PCI_INTB, IRQ_EXT,
-	IRQ_TP,
-};
-
-static DECLARE_INTC_DESC(intc_desc_r2d_1, "r2d-1", vectors_r2d_1,
-			 NULL, mask_registers_r2d_1, NULL, NULL);
-
-#endif /* CONFIG_RTS7751R2D_1 */
-
-#ifdef CONFIG_RTS7751R2D_PLUS
-
-/* Vectors for R2D-PLUS */
-static struct intc_vect vectors_r2d_plus[] __initdata = {
-	INTC_IRQ(EXT, IRQ_EXT),
-	INTC_IRQ(RTC_T, IRQ_RTC_T), INTC_IRQ(RTC_A, IRQ_RTC_A),
-	INTC_IRQ(KEY, IRQ_KEY), INTC_IRQ(SDCARD, IRQ_SDCARD),
-	INTC_IRQ(CF_CD, IRQ_CF_CD), INTC_IRQ(CF_IDE, IRQ_CF_IDE),
-	INTC_IRQ(SM501, IRQ_VOYAGER),
-	INTC_IRQ(PCI_INTD_RTL8139, IRQ_PCI_INTD),
-	INTC_IRQ(PCI_INTC_PCI1520, IRQ_PCI_INTC),
-	INTC_IRQ(PCI_INTB_RTL8139, IRQ_PCI_INTB),
-	INTC_IRQ(PCI_INTA_SLOT, IRQ_PCI_INTA),
-	INTC_IRQ(TP, IRQ_TP),
-};
-
-/* IRLMSK mask register layout for R2D-PLUS */
-static struct intc_mask_reg mask_registers_r2d_plus[] __initdata = {
-	{ 0xa4000000, 0, 16, /* IRLMSK */
-	  { TP, PCI_INTA_SLOT, PCI_INTB_RTL8139,
-	    PCI_INTC_PCI1520, PCI_INTD_RTL8139,
-	    SM501, CF_IDE, CF_CD, SDCARD, KEY,
-	    RTC_A, RTC_T, 0, 0, 0, EXT } },
-};
-
-/* IRLn to IRQ table for R2D-PLUS */
-static unsigned char irl2irq_r2d_plus[R2D_NR_IRL] __initdata = {
-	IRQ_PCI_INTD, IRQ_CF_IDE, IRQ_CF_CD, IRQ_PCI_INTC,
-	IRQ_VOYAGER, IRQ_KEY, IRQ_RTC_A, IRQ_RTC_T,
-	IRQ_SDCARD, IRQ_PCI_INTA, IRQ_PCI_INTB, IRQ_EXT,
-	IRQ_TP,
-};
-
-static DECLARE_INTC_DESC(intc_desc_r2d_plus, "r2d-plus", vectors_r2d_plus,
-			 NULL, mask_registers_r2d_plus, NULL, NULL);
-
-#endif /* CONFIG_RTS7751R2D_PLUS */
-
-static unsigned char irl2irq[R2D_NR_IRL];
-
-int rts7751r2d_irq_demux(int irq)
-{
-	if (irq >= R2D_NR_IRL || irq < 0 || !irl2irq[irq])
-		return irq;
-
-	return irl2irq[irq];
-}
-
-/*
- * Initialize IRQ setting
- */
-void __init init_rts7751r2d_IRQ(void)
-{
-	struct intc_desc *d;
-
-	switch (__raw_readw(PA_VERREG) & 0xf0) {
-#ifdef CONFIG_RTS7751R2D_PLUS
-	case 0x10:
-		printk(KERN_INFO "Using R2D-PLUS interrupt controller.\n");
-		d = &intc_desc_r2d_plus;
-		memcpy(irl2irq, irl2irq_r2d_plus, R2D_NR_IRL);
-		break;
-#endif
-#ifdef CONFIG_RTS7751R2D_1
-	case 0x00: /* according to manual */
-	case 0x30: /* in reality */
-		printk(KERN_INFO "Using R2D-1 interrupt controller.\n");
-		d = &intc_desc_r2d_1;
-		memcpy(irl2irq, irl2irq_r2d_1, R2D_NR_IRL);
-		break;
-#endif
-	default:
-		printk(KERN_INFO "Unknown R2D interrupt controller 0x%04x\n",
-		       __raw_readw(PA_VERREG));
-		return;
-	}
-
-	register_intc_controller(d);
-}
diff --git a/arch/sh/boards/mach-r2d/setup.c b/arch/sh/boards/mach-r2d/setup.c
deleted file mode 100644
index 3bc52f651d9611..00000000000000
--- a/arch/sh/boards/mach-r2d/setup.c
+++ /dev/null
@@ -1,305 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Sales RTS7751R2D Support.
- *
- * Copyright (C) 2002 - 2006 Atom Create Engineering Co., Ltd.
- * Copyright (C) 2004 - 2007 Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/ata_platform.h>
-#include <linux/sm501.h>
-#include <linux/sm501-regs.h>
-#include <linux/pm.h>
-#include <linux/fb.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/spi_bitbang.h>
-#include <asm/machvec.h>
-#include <mach/r2d.h>
-#include <asm/io.h>
-#include <asm/io_trapped.h>
-#include <asm/spi.h>
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start	= PA_AREA5_IO + 0x1000,
-		.end	= PA_AREA5_IO + 0x1000 + 0x10 - 0x2,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PA_AREA5_IO + 0x80c,
-		.end	= PA_AREA5_IO + 0x80c,
-		.flags	= IORESOURCE_MEM,
-	},
-#ifndef CONFIG_RTS7751R2D_1 /* For R2D-1 polling is preferred */
-	[2] = {
-		.start	= IRQ_CF_IDE,
-		.flags	= IORESOURCE_IRQ,
-	},
-#endif
-};
-
-static struct pata_platform_info pata_info = {
-	.ioport_shift	= 1,
-};
-
-static struct platform_device cf_ide_device  = {
-	.name		= "pata_platform",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-	.dev	= {
-		.platform_data	= &pata_info,
-	},
-};
-
-static struct spi_board_info spi_bus[] = {
-	{
-		.modalias	= "rtc-r9701",
-		.max_speed_hz	= 1000000,
-		.mode		= SPI_MODE_3,
-	},
-};
-
-static void r2d_chip_select(struct sh_spi_info *spi, int cs, int state)
-{
-	BUG_ON(cs != 0);  /* Single Epson RTC-9701JE attached on CS0 */
-	__raw_writew(state == BITBANG_CS_ACTIVE, PA_RTCCE);
-}
-
-static struct sh_spi_info spi_info = {
-	.num_chipselect = 1,
-	.chip_select = r2d_chip_select,
-};
-
-static struct resource spi_sh_sci_resources[] = {
-	{
-		.start	= 0xffe00000,
-		.end	= 0xffe0001f,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device spi_sh_sci_device  = {
-	.name		= "spi_sh_sci",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(spi_sh_sci_resources),
-	.resource	= spi_sh_sci_resources,
-	.dev	= {
-		.platform_data	= &spi_info,
-	},
-};
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= PA_OUTPORT,
-		.end	= PA_OUTPORT,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct resource sm501_resources[] = {
-	[0]	= {
-		.start	= 0x10000000,
-		.end	= 0x13e00000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1]	= {
-		.start	= 0x13e00000,
-		.end	= 0x13ffffff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[2]	= {
-		.start	= IRQ_VOYAGER,
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct fb_videomode sm501_default_mode = {
-	.pixclock	= 35714,
-	.xres		= 640,
-	.yres		= 480,
-	.left_margin	= 105,
-	.right_margin	= 50,
-	.upper_margin	= 35,
-	.lower_margin	= 0,
-	.hsync_len	= 96,
-	.vsync_len	= 2,
-	.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-};
-
-static struct sm501_platdata_fbsub sm501_pdata_fbsub_pnl = {
-	.def_bpp	= 16,
-	.def_mode	= &sm501_default_mode,
-	.flags		= SM501FB_FLAG_USE_INIT_MODE |
-			  SM501FB_FLAG_USE_HWCURSOR |
-			  SM501FB_FLAG_USE_HWACCEL |
-			  SM501FB_FLAG_DISABLE_AT_EXIT,
-};
-
-static struct sm501_platdata_fbsub sm501_pdata_fbsub_crt = {
-	.flags		= (SM501FB_FLAG_USE_INIT_MODE |
-			   SM501FB_FLAG_USE_HWCURSOR |
-			   SM501FB_FLAG_USE_HWACCEL |
-			   SM501FB_FLAG_DISABLE_AT_EXIT),
-
-};
-
-static struct sm501_platdata_fb sm501_fb_pdata = {
-	.fb_route	= SM501_FB_OWN,
-	.fb_crt		= &sm501_pdata_fbsub_crt,
-	.fb_pnl		= &sm501_pdata_fbsub_pnl,
-	.flags		= SM501_FBPD_SWAP_FB_ENDIAN,
-};
-
-static struct sm501_initdata sm501_initdata = {
-	.devices	= SM501_USE_USB_HOST | SM501_USE_UART0,
-};
-
-static struct sm501_platdata sm501_platform_data = {
-	.init		= &sm501_initdata,
-	.fb		= &sm501_fb_pdata,
-};
-
-static struct platform_device sm501_device = {
-	.name		= "sm501",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &sm501_platform_data,
-	},
-	.num_resources	= ARRAY_SIZE(sm501_resources),
-	.resource	= sm501_resources,
-};
-
-static struct mtd_partition r2d_partitions[] = {
-	{
-		.name		= "U-Boot",
-		.offset		= 0x00000000,
-		.size		= 0x00040000,
-		.mask_flags	= MTD_WRITEABLE,
-	}, {
-		.name		= "Environment",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= 0x00040000,
-		.mask_flags	= MTD_WRITEABLE,
-	}, {
-		.name		= "Kernel",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= 0x001c0000,
-	}, {
-		.name		= "Flash_FS",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= MTDPART_SIZ_FULL,
-	}
-};
-
-static struct physmap_flash_data flash_data = {
-	.width		= 2,
-	.nr_parts	= ARRAY_SIZE(r2d_partitions),
-	.parts		= r2d_partitions,
-};
-
-static struct resource flash_resource = {
-	.start		= 0x00000000,
-	.end		= 0x02000000,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device flash_device = {
-	.name		= "physmap-flash",
-	.id		= -1,
-	.resource	= &flash_resource,
-	.num_resources	= 1,
-	.dev		= {
-		.platform_data = &flash_data,
-	},
-};
-
-static struct platform_device *rts7751r2d_devices[] __initdata = {
-	&sm501_device,
-	&heartbeat_device,
-	&spi_sh_sci_device,
-};
-
-/*
- * The CF is connected with a 16-bit bus where 8-bit operations are
- * unsupported. The linux ata driver is however using 8-bit operations, so
- * insert a trapped io filter to convert 8-bit operations into 16-bit.
- */
-static struct trapped_io cf_trapped_io = {
-	.resource		= cf_ide_resources,
-	.num_resources		= 2,
-	.minimum_bus_width	= 16,
-};
-
-static int __init rts7751r2d_devices_setup(void)
-{
-	if (register_trapped_io(&cf_trapped_io) == 0)
-		platform_device_register(&cf_ide_device);
-
-	if (mach_is_r2d_plus())
-		platform_device_register(&flash_device);
-
-	spi_register_board_info(spi_bus, ARRAY_SIZE(spi_bus));
-
-	return platform_add_devices(rts7751r2d_devices,
-				    ARRAY_SIZE(rts7751r2d_devices));
-}
-device_initcall(rts7751r2d_devices_setup);
-
-static void rts7751r2d_power_off(void)
-{
-	__raw_writew(0x0001, PA_POWOFF);
-}
-
-/*
- * Initialize the board
- */
-static void __init rts7751r2d_setup(char **cmdline_p)
-{
-	void __iomem *sm501_reg;
-	u16 ver = __raw_readw(PA_VERREG);
-
-	printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n");
-
-	printk(KERN_INFO "FPGA version:%d (revision:%d)\n",
-					(ver >> 4) & 0xf, ver & 0xf);
-
-	__raw_writew(0x0000, PA_OUTPORT);
-	pm_power_off = rts7751r2d_power_off;
-
-	/* sm501 dram configuration:
-	 * ColSizeX = 11 - External Memory Column Size: 256 words.
-	 * APX = 1 - External Memory Active to Pre-Charge Delay: 7 clocks.
-	 * RstX = 1 - External Memory Reset: Normal.
-	 * Rfsh = 1 - Local Memory Refresh to Command Delay: 12 clocks.
-	 * BwC =  1 - Local Memory Block Write Cycle Time: 2 clocks.
-	 * BwP =  1 - Local Memory Block Write to Pre-Charge Delay: 1 clock.
-	 * AP = 1 - Internal Memory Active to Pre-Charge Delay: 7 clocks.
-	 * Rst = 1 - Internal Memory Reset: Normal.
-	 * RA = 1 - Internal Memory Remain in Active State: Do not remain.
-	 */
-
-	sm501_reg = (void __iomem *)0xb3e00000 + SM501_DRAM_CONTROL;
-	writel(readl(sm501_reg) | 0x00f107c0, sm501_reg);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_rts7751r2d __initmv = {
-	.mv_name		= "RTS7751R2D",
-	.mv_setup		= rts7751r2d_setup,
-	.mv_init_irq		= init_rts7751r2d_IRQ,
-	.mv_irq_demux		= rts7751r2d_irq_demux,
-};
diff --git a/arch/sh/boards/mach-rsk/Kconfig b/arch/sh/boards/mach-rsk/Kconfig
deleted file mode 100644
index f0299bc4416f80..00000000000000
--- a/arch/sh/boards/mach-rsk/Kconfig
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-if SH_RSK
-
-choice
-	prompt "RSK+ options"
-	default SH_RSK7203
-
-config SH_RSK7201
-	bool "RSK7201"
-	depends on CPU_SUBTYPE_SH7201
-
-config SH_RSK7203
-	bool "RSK7203"
-	select GPIOLIB
-	depends on CPU_SUBTYPE_SH7203
-
-config SH_RSK7264
-	bool "RSK2+SH7264"
-	select GPIOLIB
-	depends on CPU_SUBTYPE_SH7264
-
-config SH_RSK7269
-	bool "RSK2+SH7269"
-	select GPIOLIB
-	depends on CPU_SUBTYPE_SH7269
-
-endchoice
-
-endif
diff --git a/arch/sh/boards/mach-rsk/Makefile b/arch/sh/boards/mach-rsk/Makefile
deleted file mode 100644
index 43cca39a9fe612..00000000000000
--- a/arch/sh/boards/mach-rsk/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y				:= setup.o
-obj-$(CONFIG_SH_RSK7203)	+= devices-rsk7203.o
-obj-$(CONFIG_SH_RSK7264)	+= devices-rsk7264.o
-obj-$(CONFIG_SH_RSK7269)	+= devices-rsk7269.o
diff --git a/arch/sh/boards/mach-rsk/devices-rsk7203.c b/arch/sh/boards/mach-rsk/devices-rsk7203.c
deleted file mode 100644
index e6b05d4588b7b9..00000000000000
--- a/arch/sh/boards/mach-rsk/devices-rsk7203.c
+++ /dev/null
@@ -1,137 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Europe RSK+ 7203 Support.
- *
- * Copyright (C) 2008 - 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/smsc911x.h>
-#include <linux/input.h>
-#include <linux/gpio.h>
-#include <linux/gpio_keys.h>
-#include <linux/leds.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <cpu/sh7203.h>
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_32BIT | SMSC911X_SWAP_FIFO,
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.start		= 0x24000000,
-		.end		= 0x240000ff,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= 64,
-		.end		= 64,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev		= {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct gpio_led rsk7203_gpio_leds[] = {
-	{
-		.name			= "green",
-		.gpio			= GPIO_PE10,
-		.active_low		= 1,
-	}, {
-		.name			= "orange",
-		.default_trigger	= "nand-disk",
-		.gpio			= GPIO_PE12,
-		.active_low		= 1,
-	}, {
-		.name			= "red:timer",
-		.default_trigger	= "timer",
-		.gpio			= GPIO_PC14,
-		.active_low		= 1,
-	}, {
-		.name			= "red:heartbeat",
-		.default_trigger	= "heartbeat",
-		.gpio			= GPIO_PE11,
-		.active_low		= 1,
-	},
-};
-
-static struct gpio_led_platform_data rsk7203_gpio_leds_info = {
-	.leds		= rsk7203_gpio_leds,
-	.num_leds	= ARRAY_SIZE(rsk7203_gpio_leds),
-};
-
-static struct platform_device led_device = {
-	.name		= "leds-gpio",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &rsk7203_gpio_leds_info,
-	},
-};
-
-static struct gpio_keys_button rsk7203_gpio_keys_table[] = {
-	{
-		.code		= BTN_0,
-		.gpio		= GPIO_PB0,
-		.active_low	= 1,
-		.desc		= "SW1",
-	}, {
-		.code		= BTN_1,
-		.gpio		= GPIO_PB1,
-		.active_low	= 1,
-		.desc		= "SW2",
-	}, {
-		.code		= BTN_2,
-		.gpio		= GPIO_PB2,
-		.active_low	= 1,
-		.desc		= "SW3",
-	},
-};
-
-static struct gpio_keys_platform_data rsk7203_gpio_keys_info = {
-	.buttons	= rsk7203_gpio_keys_table,
-	.nbuttons	= ARRAY_SIZE(rsk7203_gpio_keys_table),
-	.poll_interval	= 50, /* default to 50ms */
-};
-
-static struct platform_device keys_device = {
-	.name		= "gpio-keys-polled",
-	.dev		= {
-		.platform_data	= &rsk7203_gpio_keys_info,
-	},
-};
-
-static struct platform_device *rsk7203_devices[] __initdata = {
-	&smsc911x_device,
-	&led_device,
-	&keys_device,
-};
-
-static int __init rsk7203_devices_setup(void)
-{
-	/* Select pins for SCIF0 */
-	gpio_request(GPIO_FN_TXD0, NULL);
-	gpio_request(GPIO_FN_RXD0, NULL);
-
-	/* Setup LAN9118: CS1 in 16-bit Big Endian Mode, IRQ0 at Port B */
-	__raw_writel(0x36db0400, 0xfffc0008); /* CS1BCR */
-	gpio_request(GPIO_FN_IRQ0_PB, NULL);
-
-	return platform_add_devices(rsk7203_devices,
-				    ARRAY_SIZE(rsk7203_devices));
-}
-device_initcall(rsk7203_devices_setup);
diff --git a/arch/sh/boards/mach-rsk/devices-rsk7264.c b/arch/sh/boards/mach-rsk/devices-rsk7264.c
deleted file mode 100644
index eaf700a20b833e..00000000000000
--- a/arch/sh/boards/mach-rsk/devices-rsk7264.c
+++ /dev/null
@@ -1,55 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * RSK+SH7264 Support.
- *
- * Copyright (C) 2012 Renesas Electronics Europe
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/input.h>
-#include <linux/smsc911x.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_16BIT | SMSC911X_SWAP_FIFO,
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.start		= 0x28000000,
-		.end		= 0x280000ff,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= 65,
-		.end		= 65,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev		= {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct platform_device *rsk7264_devices[] __initdata = {
-	&smsc911x_device,
-};
-
-static int __init rsk7264_devices_setup(void)
-{
-	return platform_add_devices(rsk7264_devices,
-				    ARRAY_SIZE(rsk7264_devices));
-}
-device_initcall(rsk7264_devices_setup);
diff --git a/arch/sh/boards/mach-rsk/devices-rsk7269.c b/arch/sh/boards/mach-rsk/devices-rsk7269.c
deleted file mode 100644
index 4b1e386b51dd64..00000000000000
--- a/arch/sh/boards/mach-rsk/devices-rsk7269.c
+++ /dev/null
@@ -1,57 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * RSK+SH7269 Support
- *
- * Copyright (C) 2012  Renesas Electronics Europe Ltd
- * Copyright (C) 2012  Phil Edworthy
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/input.h>
-#include <linux/smsc911x.h>
-#include <linux/gpio.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_PUSH_PULL,
-	.flags		= SMSC911X_USE_16BIT | SMSC911X_SWAP_FIFO,
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.start		= 0x24000000,
-		.end		= 0x240000ff,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= 85,
-		.end		= 85,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev		= {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct platform_device *rsk7269_devices[] __initdata = {
-	&smsc911x_device,
-};
-
-static int __init rsk7269_devices_setup(void)
-{
-	return platform_add_devices(rsk7269_devices,
-				    ARRAY_SIZE(rsk7269_devices));
-}
-device_initcall(rsk7269_devices_setup);
diff --git a/arch/sh/boards/mach-rsk/setup.c b/arch/sh/boards/mach-rsk/setup.c
deleted file mode 100644
index 9370c4fdc41e13..00000000000000
--- a/arch/sh/boards/mach-rsk/setup.c
+++ /dev/null
@@ -1,84 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Europe RSK+ Support.
- *
- * Copyright (C) 2008 Paul Mundt
- * Copyright (C) 2008 Peter Griffin <pgriffin at mpc-data.co.uk>
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/mtd/map.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-static struct mtd_partition rsk_partitions[] = {
-	{
-		.name		= "Bootloader",
-		.offset		= 0x00000000,
-		.size		= 0x00040000,
-		.mask_flags	= MTD_WRITEABLE,
-	}, {
-		.name		= "Kernel",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= 0x001c0000,
-	}, {
-		.name		= "Flash_FS",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= MTDPART_SIZ_FULL,
-	}
-};
-
-static struct physmap_flash_data flash_data = {
-	.parts			= rsk_partitions,
-	.nr_parts		= ARRAY_SIZE(rsk_partitions),
-	.width			= 2,
-};
-
-static struct resource flash_resource = {
-	.start		= 0x20000000,
-	.end		= 0x20400000,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device flash_device = {
-	.name		= "physmap-flash",
-	.id		= -1,
-	.resource	= &flash_resource,
-	.num_resources	= 1,
-	.dev		= {
-		.platform_data = &flash_data,
-	},
-};
-
-static struct platform_device *rsk_devices[] __initdata = {
-	&flash_device,
-};
-
-static int __init rsk_devices_setup(void)
-{
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	return platform_add_devices(rsk_devices,
-				    ARRAY_SIZE(rsk_devices));
-}
-device_initcall(rsk_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_rsk __initmv = {
-	.mv_name        = "RSK+",
-};
diff --git a/arch/sh/boards/mach-sdk7780/Kconfig b/arch/sh/boards/mach-sdk7780/Kconfig
deleted file mode 100644
index d4392efd2f74db..00000000000000
--- a/arch/sh/boards/mach-sdk7780/Kconfig
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-if SH_SDK7780
-
-choice
-	prompt "SDK7780 options"
-	default SH_SDK7780_BASE
-
-config SH_SDK7780_BASE
-	bool "SDK7780 with base-board support"
-	depends on CPU_SUBTYPE_SH7780
-	help
-	  Selecting this option will enable support for the expansion
-	  baseboard devices. If in doubt, say Y.
-
-endchoice
-
-endif
diff --git a/arch/sh/boards/mach-sdk7780/Makefile b/arch/sh/boards/mach-sdk7780/Makefile
deleted file mode 100644
index 37e857f9a55a26..00000000000000
--- a/arch/sh/boards/mach-sdk7780/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the SDK7780 specific parts of the kernel
-#
-obj-y	 := setup.o irq.o
-
diff --git a/arch/sh/boards/mach-sdk7780/irq.c b/arch/sh/boards/mach-sdk7780/irq.c
deleted file mode 100644
index fa392f3dce266b..00000000000000
--- a/arch/sh/boards/mach-sdk7780/irq.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/renesas/sdk7780/irq.c
- *
- * Renesas Technology Europe SDK7780 Support.
- *
- * Copyright (C) 2008  Nicholas Beck <nbeck at mpc-data.co.uk>
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <mach/sdk7780.h>
-
-enum {
-	UNUSED = 0,
-	/* board specific interrupt sources */
-	SMC91C111,	/* Ethernet controller */
-};
-
-static struct intc_vect fpga_vectors[] __initdata = {
-	INTC_IRQ(SMC91C111, IRQ_ETHERNET),
-};
-
-static struct intc_mask_reg fpga_mask_registers[] __initdata = {
-	{ 0, FPGA_IRQ0MR, 16,
-	  { 0, 0, 0, 0, 0, 0, 0, 0,
-	    0, 0, 0, SMC91C111, 0, 0, 0, 0 } },
-};
-
-static DECLARE_INTC_DESC(fpga_intc_desc, "sdk7780-irq", fpga_vectors,
-			 NULL, fpga_mask_registers, NULL, NULL);
-
-void __init init_sdk7780_IRQ(void)
-{
-	printk(KERN_INFO "Using SDK7780 interrupt controller.\n");
-
-	__raw_writew(0xFFFF, FPGA_IRQ0MR);
-	/* Setup IRL 0-3 */
-	__raw_writew(0x0003, FPGA_IMSR);
-	plat_irq_setup_pins(IRQ_MODE_IRL3210);
-
-	register_intc_controller(&fpga_intc_desc);
-}
diff --git a/arch/sh/boards/mach-sdk7780/setup.c b/arch/sh/boards/mach-sdk7780/setup.c
deleted file mode 100644
index 482761b780e406..00000000000000
--- a/arch/sh/boards/mach-sdk7780/setup.c
+++ /dev/null
@@ -1,96 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/renesas/sdk7780/setup.c
- *
- * Renesas Solutions SH7780 SDK Support
- * Copyright (C) 2008 Nicholas Beck <nbeck at mpc-data.co.uk>
- */
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <asm/machvec.h>
-#include <mach/sdk7780.h>
-#include <asm/heartbeat.h>
-#include <asm/io.h>
-#include <asm/addrspace.h>
-
-#define GPIO_PECR        0xFFEA0008
-
-/* Heartbeat */
-static struct resource heartbeat_resource = {
-	.start  = PA_LED,
-	.end    = PA_LED,
-	.flags  = IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name           = "heartbeat",
-	.id             = -1,
-	.num_resources  = 1,
-	.resource       = &heartbeat_resource,
-};
-
-/* SMC91x */
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "smc91x-regs" ,
-		.start  = PA_LAN + 0x300,
-		.end    = PA_LAN + 0x300 + 0x10 ,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = IRQ_ETHERNET,
-		.end    = IRQ_ETHERNET,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name           = "smc91x",
-	.id             = 0,
-	.dev = {
-		.dma_mask               = NULL,         /* don't use dma */
-		.coherent_dma_mask      = 0xffffffff,
-	},
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-};
-
-static struct platform_device *sdk7780_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_eth_device,
-};
-
-static int __init sdk7780_devices_setup(void)
-{
-	return platform_add_devices(sdk7780_devices,
-		ARRAY_SIZE(sdk7780_devices));
-}
-device_initcall(sdk7780_devices_setup);
-
-static void __init sdk7780_setup(char **cmdline_p)
-{
-	u16 ver = __raw_readw(FPGA_FPVERR);
-	u16 dateStamp = __raw_readw(FPGA_FPDATER);
-
-	printk(KERN_INFO "Renesas Technology Europe SDK7780 support.\n");
-	printk(KERN_INFO "Board version: %d (revision %d), "
-			 "FPGA version: %d (revision %d), datestamp : %d\n",
-			 (ver >> 12) & 0xf, (ver >> 8) & 0xf,
-			 (ver >>  4) & 0xf, ver & 0xf,
-			 dateStamp);
-
-	/* Setup pin mux'ing for PCIC */
-	__raw_writew(0x0000, GPIO_PECR);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_se7780 __initmv = {
-	.mv_name        = "Renesas SDK7780-R3" ,
-	.mv_setup		= sdk7780_setup,
-	.mv_init_irq	= init_sdk7780_IRQ,
-};
-
diff --git a/arch/sh/boards/mach-sdk7786/Makefile b/arch/sh/boards/mach-sdk7786/Makefile
deleted file mode 100644
index 731a87c694b3bc..00000000000000
--- a/arch/sh/boards/mach-sdk7786/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	:= fpga.o irq.o nmi.o setup.o
-
-obj-$(CONFIG_GPIOLIB)		+= gpio.o
-obj-$(CONFIG_HAVE_SRAM_POOL)	+= sram.o
diff --git a/arch/sh/boards/mach-sdk7786/fpga.c b/arch/sh/boards/mach-sdk7786/fpga.c
deleted file mode 100644
index a37e1e88c6b1f2..00000000000000
--- a/arch/sh/boards/mach-sdk7786/fpga.c
+++ /dev/null
@@ -1,69 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA Support.
- *
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/io.h>
-#include <linux/bcd.h>
-#include <mach/fpga.h>
-#include <linux/sizes.h>
-
-#define FPGA_REGS_OFFSET	0x03fff800
-#define FPGA_REGS_SIZE		0x490
-
-/*
- * The FPGA can be mapped in any of the generally available areas,
- * so we attempt to scan for it using the fixed SRSTR read magic.
- *
- * Once the FPGA is located, the rest of the mapping data for the other
- * components can be determined dynamically from its section mapping
- * registers.
- */
-static void __iomem *sdk7786_fpga_probe(void)
-{
-	unsigned long area;
-	void __iomem *base;
-
-	/*
-	 * Iterate over all of the areas where the FPGA could be mapped.
-	 * The possible range is anywhere from area 0 through 6, area 7
-	 * is reserved.
-	 */
-	for (area = PA_AREA0; area < PA_AREA7; area += SZ_64M) {
-		base = ioremap(area + FPGA_REGS_OFFSET, FPGA_REGS_SIZE);
-		if (!base) {
-			/* Failed to remap this area, move along. */
-			continue;
-		}
-
-		if (ioread16(base + SRSTR) == SRSTR_MAGIC)
-			return base;	/* Found it! */
-
-		iounmap(base);
-	}
-
-	return NULL;
-}
-
-void __iomem *sdk7786_fpga_base;
-
-void __init sdk7786_fpga_init(void)
-{
-	u16 version, date;
-
-	sdk7786_fpga_base = sdk7786_fpga_probe();
-	if (unlikely(!sdk7786_fpga_base)) {
-		panic("FPGA detection failed.\n");
-		return;
-	}
-
-	version = fpga_read_reg(FPGAVR);
-	date = fpga_read_reg(FPGADR);
-
-	pr_info("\tFPGA version:\t%d.%d (built on %d/%d/%d)\n",
-		bcd2bin(version >> 8) & 0xf, bcd2bin(version & 0xf),
-		((date >> 12) & 0xf) + 2000,
-		(date >> 8) & 0xf, bcd2bin(date & 0xff));
-}
diff --git a/arch/sh/boards/mach-sdk7786/gpio.c b/arch/sh/boards/mach-sdk7786/gpio.c
deleted file mode 100644
index c4587d1013e611..00000000000000
--- a/arch/sh/boards/mach-sdk7786/gpio.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA USRGPIR Support.
- *
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/gpio/driver.h>
-#include <linux/irq.h>
-#include <linux/kernel.h>
-#include <linux/spinlock.h>
-#include <linux/io.h>
-#include <mach/fpga.h>
-
-#define NR_FPGA_GPIOS	8
-
-static const char *usrgpir_gpio_names[NR_FPGA_GPIOS] = {
-	"in0", "in1", "in2", "in3", "in4", "in5", "in6", "in7",
-};
-
-static int usrgpir_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
-{
-	/* always in */
-	return 0;
-}
-
-static int usrgpir_gpio_get(struct gpio_chip *chip, unsigned gpio)
-{
-	return !!(fpga_read_reg(USRGPIR) & (1 << gpio));
-}
-
-static struct gpio_chip usrgpir_gpio_chip = {
-	.label			= "sdk7786-fpga",
-	.names			= usrgpir_gpio_names,
-	.direction_input	= usrgpir_gpio_direction_input,
-	.get			= usrgpir_gpio_get,
-	.base			= -1, /* don't care */
-	.ngpio			= NR_FPGA_GPIOS,
-};
-
-static int __init usrgpir_gpio_setup(void)
-{
-	return gpiochip_add_data(&usrgpir_gpio_chip, NULL);
-}
-device_initcall(usrgpir_gpio_setup);
diff --git a/arch/sh/boards/mach-sdk7786/irq.c b/arch/sh/boards/mach-sdk7786/irq.c
deleted file mode 100644
index 340c306ea95239..00000000000000
--- a/arch/sh/boards/mach-sdk7786/irq.c
+++ /dev/null
@@ -1,45 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA IRQ Controller Support.
- *
- * Copyright (C) 2010  Matt Fleming
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/irq.h>
-#include <mach/fpga.h>
-#include <mach/irq.h>
-
-enum {
-	ATA_IRQ_BIT		= 1,
-	SPI_BUSY_BIT		= 2,
-	LIRQ5_BIT		= 3,
-	LIRQ6_BIT		= 4,
-	LIRQ7_BIT		= 5,
-	LIRQ8_BIT		= 6,
-	KEY_IRQ_BIT		= 7,
-	PEN_IRQ_BIT		= 8,
-	ETH_IRQ_BIT		= 9,
-	RTC_ALARM_BIT		= 10,
-	CRYSTAL_FAIL_BIT	= 12,
-	ETH_PME_BIT		= 14,
-};
-
-void __init sdk7786_init_irq(void)
-{
-	unsigned int tmp;
-
-	/* Enable priority encoding for all IRLs */
-	fpga_write_reg(fpga_read_reg(INTMSR) | 0x0303, INTMSR);
-
-	/* Clear FPGA interrupt status registers */
-	fpga_write_reg(0x0000, INTASR);
-	fpga_write_reg(0x0000, INTBSR);
-
-	/* Unmask FPGA interrupts */
-	tmp = fpga_read_reg(INTAMR);
-	tmp &= ~(1 << ETH_IRQ_BIT);
-	fpga_write_reg(tmp, INTAMR);
-
-	plat_irq_setup_pins(IRQ_MODE_IRL7654_MASK);
-	plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK);
-}
diff --git a/arch/sh/boards/mach-sdk7786/nmi.c b/arch/sh/boards/mach-sdk7786/nmi.c
deleted file mode 100644
index afba49679a1219..00000000000000
--- a/arch/sh/boards/mach-sdk7786/nmi.c
+++ /dev/null
@@ -1,80 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA NMI Support.
- *
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/string.h>
-#include <mach/fpga.h>
-
-enum {
-	NMI_MODE_MANUAL,
-	NMI_MODE_AUX,
-	NMI_MODE_MASKED,
-	NMI_MODE_ANY,
-	NMI_MODE_UNKNOWN,
-};
-
-/*
- * Default to the manual NMI switch.
- */
-static unsigned int __initdata nmi_mode = NMI_MODE_ANY;
-
-static int __init nmi_mode_setup(char *str)
-{
-	if (!str)
-		return 0;
-
-	if (strcmp(str, "manual") == 0)
-		nmi_mode = NMI_MODE_MANUAL;
-	else if (strcmp(str, "aux") == 0)
-		nmi_mode = NMI_MODE_AUX;
-	else if (strcmp(str, "masked") == 0)
-		nmi_mode = NMI_MODE_MASKED;
-	else if (strcmp(str, "any") == 0)
-		nmi_mode = NMI_MODE_ANY;
-	else {
-		nmi_mode = NMI_MODE_UNKNOWN;
-		pr_warn("Unknown NMI mode %s\n", str);
-	}
-
-	printk("Set NMI mode to %d\n", nmi_mode);
-	return 0;
-}
-early_param("nmi_mode", nmi_mode_setup);
-
-void __init sdk7786_nmi_init(void)
-{
-	unsigned int source, mask, tmp;
-
-	switch (nmi_mode) {
-	case NMI_MODE_MANUAL:
-		source = NMISR_MAN_NMI;
-		mask = NMIMR_MAN_NMIM;
-		break;
-	case NMI_MODE_AUX:
-		source = NMISR_AUX_NMI;
-		mask = NMIMR_AUX_NMIM;
-		break;
-	case NMI_MODE_ANY:
-		source = NMISR_MAN_NMI | NMISR_AUX_NMI;
-		mask = NMIMR_MAN_NMIM | NMIMR_AUX_NMIM;
-		break;
-	case NMI_MODE_MASKED:
-	case NMI_MODE_UNKNOWN:
-	default:
-		source = mask = 0;
-		break;
-	}
-
-	/* Set the NMI source */
-	tmp = fpga_read_reg(NMISR);
-	tmp &= ~NMISR_MASK;
-	tmp |= source;
-	fpga_write_reg(tmp, NMISR);
-
-	/* And the IRQ masking */
-	fpga_write_reg(NMIMR_MASK ^ mask, NMIMR);
-}
diff --git a/arch/sh/boards/mach-sdk7786/setup.c b/arch/sh/boards/mach-sdk7786/setup.c
deleted file mode 100644
index d183026dbeb19a..00000000000000
--- a/arch/sh/boards/mach-sdk7786/setup.c
+++ /dev/null
@@ -1,266 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Renesas Technology Europe SDK7786 Support.
- *
- * Copyright (C) 2010  Matt Fleming
- * Copyright (C) 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/io.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/smsc911x.h>
-#include <linux/i2c.h>
-#include <linux/irq.h>
-#include <linux/clk.h>
-#include <linux/clkdev.h>
-#include <mach/fpga.h>
-#include <mach/irq.h>
-#include <asm/machvec.h>
-#include <asm/heartbeat.h>
-#include <linux/sizes.h>
-#include <asm/clock.h>
-#include <asm/reboot.h>
-#include <asm/smp-ops.h>
-
-static struct resource heartbeat_resource = {
-	.start		= 0x07fff8b0,
-	.end		= 0x07fff8b0 + sizeof(u16) - 1,
-	.flags		= IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-/* Dummy supplies, where voltage doesn't matter */
-static struct regulator_consumer_supply dummy_supplies[] = {
-	REGULATOR_SUPPLY("vddvario", "smsc911x"),
-	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
-};
-
-static struct resource smsc911x_resources[] = {
-	[0] = {
-		.name		= "smsc911x-memory",
-		.start		= 0x07ffff00,
-		.end		= 0x07ffff00 + SZ_256 - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name		= "smsc911x-irq",
-		.start		= evt2irq(0x2c0),
-		.end		= evt2irq(0x2c0),
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smsc911x_platform_config smsc911x_config = {
-	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
-	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-	.flags		= SMSC911X_USE_32BIT,
-	.phy_interface	= PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device smsc911x_device = {
-	.name		= "smsc911x",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(smsc911x_resources),
-	.resource	= smsc911x_resources,
-	.dev = {
-		.platform_data = &smsc911x_config,
-	},
-};
-
-static struct resource smbus_fpga_resource = {
-	.start		= 0x07fff9e0,
-	.end		= 0x07fff9e0 + SZ_32 - 1,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device smbus_fpga_device = {
-	.name		= "i2c-sdk7786",
-	.id		= 0,
-	.num_resources	= 1,
-	.resource	= &smbus_fpga_resource,
-};
-
-static struct resource smbus_pcie_resource = {
-	.start		= 0x07fffc30,
-	.end		= 0x07fffc30 + SZ_32 - 1,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device smbus_pcie_device = {
-	.name		= "i2c-sdk7786",
-	.id		= 1,
-	.num_resources	= 1,
-	.resource	= &smbus_pcie_resource,
-};
-
-static struct i2c_board_info __initdata sdk7786_i2c_devices[] = {
-	{
-		I2C_BOARD_INFO("max6900", 0x68),
-	},
-};
-
-static struct platform_device *sh7786_devices[] __initdata = {
-	&heartbeat_device,
-	&smsc911x_device,
-	&smbus_fpga_device,
-	&smbus_pcie_device,
-};
-
-static int sdk7786_i2c_setup(void)
-{
-	unsigned int tmp;
-
-	/*
-	 * Hand over I2C control to the FPGA.
-	 */
-	tmp = fpga_read_reg(SBCR);
-	tmp &= ~SCBR_I2CCEN;
-	tmp |= SCBR_I2CMEN;
-	fpga_write_reg(tmp, SBCR);
-
-	return i2c_register_board_info(0, sdk7786_i2c_devices,
-				       ARRAY_SIZE(sdk7786_i2c_devices));
-}
-
-static int __init sdk7786_devices_setup(void)
-{
-	int ret;
-
-	ret = platform_add_devices(sh7786_devices, ARRAY_SIZE(sh7786_devices));
-	if (unlikely(ret != 0))
-		return ret;
-
-	return sdk7786_i2c_setup();
-}
-device_initcall(sdk7786_devices_setup);
-
-static int sdk7786_mode_pins(void)
-{
-	return fpga_read_reg(MODSWR);
-}
-
-/*
- * FPGA-driven PCIe clocks
- *
- * Historically these include the oscillator, clock B (slots 2/3/4) and
- * clock A (slot 1 and the CPU clock). Newer revs of the PCB shove
- * everything under a single PCIe clocks enable bit that happens to map
- * to the same bit position as the oscillator bit for earlier FPGA
- * versions.
- *
- * Given that the legacy clocks have the side-effect of shutting the CPU
- * off through the FPGA along with the PCI slots, we simply leave them in
- * their initial state and don't bother registering them with the clock
- * framework.
- */
-static int sdk7786_pcie_clk_enable(struct clk *clk)
-{
-	fpga_write_reg(fpga_read_reg(PCIECR) | PCIECR_CLKEN, PCIECR);
-	return 0;
-}
-
-static void sdk7786_pcie_clk_disable(struct clk *clk)
-{
-	fpga_write_reg(fpga_read_reg(PCIECR) & ~PCIECR_CLKEN, PCIECR);
-}
-
-static struct sh_clk_ops sdk7786_pcie_clk_ops = {
-	.enable		= sdk7786_pcie_clk_enable,
-	.disable	= sdk7786_pcie_clk_disable,
-};
-
-static struct clk sdk7786_pcie_clk = {
-	.ops		= &sdk7786_pcie_clk_ops,
-};
-
-static struct clk_lookup sdk7786_pcie_cl = {
-	.con_id		= "pcie_plat_clk",
-	.clk		= &sdk7786_pcie_clk,
-};
-
-static int sdk7786_clk_init(void)
-{
-	struct clk *clk;
-	int ret;
-
-	/*
-	 * Only handle the EXTAL case, anyone interfacing a crystal
-	 * resonator will need to provide their own input clock.
-	 */
-	if (test_mode_pin(MODE_PIN9))
-		return -EINVAL;
-
-	clk = clk_get(NULL, "extal");
-	if (IS_ERR(clk))
-		return PTR_ERR(clk);
-	ret = clk_set_rate(clk, 33333333);
-	clk_put(clk);
-
-	/*
-	 * Setup the FPGA clocks.
-	 */
-	ret = clk_register(&sdk7786_pcie_clk);
-	if (unlikely(ret)) {
-		pr_err("FPGA clock registration failed\n");
-		return ret;
-	}
-
-	clkdev_add(&sdk7786_pcie_cl);
-
-	return 0;
-}
-
-static void sdk7786_restart(char *cmd)
-{
-	fpga_write_reg(0xa5a5, SRSTR);
-}
-
-static void sdk7786_power_off(void)
-{
-	fpga_write_reg(fpga_read_reg(PWRCR) | PWRCR_PDWNREQ, PWRCR);
-
-	/*
-	 * It can take up to 20us for the R8C to do its job, back off and
-	 * wait a bit until we've been shut off. Even though newer FPGA
-	 * versions don't set the ACK bit, the latency issue remains.
-	 */
-	while ((fpga_read_reg(PWRCR) & PWRCR_PDWNACK) == 0)
-		cpu_sleep();
-}
-
-/* Initialize the board */
-static void __init sdk7786_setup(char **cmdline_p)
-{
-	pr_info("Renesas Technology Europe SDK7786 support:\n");
-
-	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
-
-	sdk7786_fpga_init();
-	sdk7786_nmi_init();
-
-	pr_info("\tPCB revision:\t%d\n", fpga_read_reg(PCBRR) & 0xf);
-
-	machine_ops.restart = sdk7786_restart;
-	pm_power_off = sdk7786_power_off;
-
-	register_smp_ops(&shx3_smp_ops);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_sdk7786 __initmv = {
-	.mv_name		= "SDK7786",
-	.mv_setup		= sdk7786_setup,
-	.mv_mode_pins		= sdk7786_mode_pins,
-	.mv_clk_init		= sdk7786_clk_init,
-	.mv_init_irq		= sdk7786_init_irq,
-};
diff --git a/arch/sh/boards/mach-sdk7786/sram.c b/arch/sh/boards/mach-sdk7786/sram.c
deleted file mode 100644
index 7c6ca976f332fe..00000000000000
--- a/arch/sh/boards/mach-sdk7786/sram.c
+++ /dev/null
@@ -1,69 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA SRAM Support.
- *
- * Copyright (C) 2010  Paul Mundt
- */
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/io.h>
-#include <linux/string.h>
-#include <mach/fpga.h>
-#include <asm/sram.h>
-#include <linux/sizes.h>
-
-static int __init fpga_sram_init(void)
-{
-	unsigned long phys;
-	unsigned int area;
-	void __iomem *vaddr;
-	int ret;
-	u16 data;
-
-	/* Enable FPGA SRAM */
-	data = fpga_read_reg(LCLASR);
-	data |= LCLASR_FRAMEN;
-	fpga_write_reg(data, LCLASR);
-
-	/*
-	 * FPGA_SEL determines the area mapping
-	 */
-	area = (data & LCLASR_FPGA_SEL_MASK) >> LCLASR_FPGA_SEL_SHIFT;
-	if (unlikely(area == LCLASR_AREA_MASK)) {
-		pr_err("FPGA memory unmapped.\n");
-		return -ENXIO;
-	}
-
-	/*
-	 * The memory itself occupies a 2KiB range at the top of the area
-	 * immediately below the system registers.
-	 */
-	phys = (area << 26) + SZ_64M - SZ_4K;
-
-	/*
-	 * The FPGA SRAM resides in translatable physical space, so set
-	 * up a mapping prior to inserting it in to the pool.
-	 */
-	vaddr = ioremap(phys, SZ_2K);
-	if (unlikely(!vaddr)) {
-		pr_err("Failed remapping FPGA memory.\n");
-		return -ENXIO;
-	}
-
-	pr_info("Adding %dKiB of FPGA memory at 0x%08lx-0x%08lx "
-		"(area %d) to pool.\n",
-		SZ_2K >> 10, phys, phys + SZ_2K - 1, area);
-
-	ret = gen_pool_add(sram_pool, (unsigned long)vaddr, SZ_2K, -1);
-	if (unlikely(ret < 0)) {
-		pr_err("Failed adding memory\n");
-		iounmap(vaddr);
-		return ret;
-	}
-
-	return 0;
-}
-postcore_initcall(fpga_sram_init);
diff --git a/arch/sh/boards/mach-se/7206/Makefile b/arch/sh/boards/mach-se/7206/Makefile
deleted file mode 100644
index b40b30853ce376..00000000000000
--- a/arch/sh/boards/mach-se/7206/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the 7206 SolutionEngine specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7206/irq.c b/arch/sh/boards/mach-se/7206/irq.c
deleted file mode 100644
index 2b15370829aef3..00000000000000
--- a/arch/sh/boards/mach-se/7206/irq.c
+++ /dev/null
@@ -1,151 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7206/irq.c
- *
- * Copyright (C) 2005,2006 Yoshinori Sato
- *
- * Hitachi SolutionEngine Support.
- *
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <linux/interrupt.h>
-#include <mach-se/mach/se7206.h>
-
-#define INTSTS0 0x31800000
-#define INTSTS1 0x31800002
-#define INTMSK0 0x31800004
-#define INTMSK1 0x31800006
-#define INTSEL  0x31800008
-
-#define IRQ0_IRQ 64
-#define IRQ1_IRQ 65
-#define IRQ3_IRQ 67
-
-#define INTC_IPR01 0xfffe0818
-#define INTC_ICR1  0xfffe0802
-
-static void disable_se7206_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned short val;
-	unsigned short mask = 0xffff ^ (0x0f << 4 * (3 - (IRQ0_IRQ - irq)));
-	unsigned short msk0,msk1;
-
-	/* Set the priority in IPR to 0 */
-	val = __raw_readw(INTC_IPR01);
-	val &= mask;
-	__raw_writew(val, INTC_IPR01);
-	/* FPGA mask set */
-	msk0 = __raw_readw(INTMSK0);
-	msk1 = __raw_readw(INTMSK1);
-
-	switch (irq) {
-	case IRQ0_IRQ:
-		msk0 |= 0x0010;
-		break;
-	case IRQ1_IRQ:
-		msk0 |= 0x000f;
-		break;
-	case IRQ3_IRQ:
-		msk0 |= 0x0f00;
-		msk1 |= 0x00ff;
-		break;
-	}
-	__raw_writew(msk0, INTMSK0);
-	__raw_writew(msk1, INTMSK1);
-}
-
-static void enable_se7206_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned short val;
-	unsigned short value = (0x0001 << 4 * (3 - (IRQ0_IRQ - irq)));
-	unsigned short msk0,msk1;
-
-	/* Set priority in IPR back to original value */
-	val = __raw_readw(INTC_IPR01);
-	val |= value;
-	__raw_writew(val, INTC_IPR01);
-
-	/* FPGA mask reset */
-	msk0 = __raw_readw(INTMSK0);
-	msk1 = __raw_readw(INTMSK1);
-
-	switch (irq) {
-	case IRQ0_IRQ:
-		msk0 &= ~0x0010;
-		break;
-	case IRQ1_IRQ:
-		msk0 &= ~0x000f;
-		break;
-	case IRQ3_IRQ:
-		msk0 &= ~0x0f00;
-		msk1 &= ~0x00ff;
-		break;
-	}
-	__raw_writew(msk0, INTMSK0);
-	__raw_writew(msk1, INTMSK1);
-}
-
-static void eoi_se7206_irq(struct irq_data *data)
-{
-	unsigned short sts0,sts1;
-	unsigned int irq = data->irq;
-
-	if (!irqd_irq_disabled(data) && !irqd_irq_inprogress(data))
-		enable_se7206_irq(data);
-	/* FPGA isr clear */
-	sts0 = __raw_readw(INTSTS0);
-	sts1 = __raw_readw(INTSTS1);
-
-	switch (irq) {
-	case IRQ0_IRQ:
-		sts0 &= ~0x0010;
-		break;
-	case IRQ1_IRQ:
-		sts0 &= ~0x000f;
-		break;
-	case IRQ3_IRQ:
-		sts0 &= ~0x0f00;
-		sts1 &= ~0x00ff;
-		break;
-	}
-	__raw_writew(sts0, INTSTS0);
-	__raw_writew(sts1, INTSTS1);
-}
-
-static struct irq_chip se7206_irq_chip __read_mostly = {
-	.name		= "SE7206-FPGA",
-	.irq_mask	= disable_se7206_irq,
-	.irq_unmask	= enable_se7206_irq,
-	.irq_eoi	= eoi_se7206_irq,
-};
-
-static void make_se7206_irq(unsigned int irq)
-{
-	disable_irq_nosync(irq);
-	irq_set_chip_and_handler_name(irq, &se7206_irq_chip,
-				      handle_level_irq, "level");
-	disable_se7206_irq(irq_get_irq_data(irq));
-}
-
-/*
- * Initialize IRQ setting
- */
-void __init init_se7206_IRQ(void)
-{
-	make_se7206_irq(IRQ0_IRQ); /* SMC91C111 */
-	make_se7206_irq(IRQ1_IRQ); /* ATA */
-	make_se7206_irq(IRQ3_IRQ); /* SLOT / PCM */
-
-	__raw_writew(__raw_readw(INTC_ICR1) | 0x000b, INTC_ICR1); /* ICR1 */
-
-	/* FPGA System register setup*/
-	__raw_writew(0x0000,INTSTS0); /* Clear INTSTS0 */
-	__raw_writew(0x0000,INTSTS1); /* Clear INTSTS1 */
-
-	/* IRQ0=LAN, IRQ1=ATA, IRQ3=SLT,PCM */
-	__raw_writew(0x0001,INTSEL);
-}
diff --git a/arch/sh/boards/mach-se/7206/setup.c b/arch/sh/boards/mach-se/7206/setup.c
deleted file mode 100644
index dc55d3a69665ee..00000000000000
--- a/arch/sh/boards/mach-se/7206/setup.c
+++ /dev/null
@@ -1,96 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- *
- * linux/arch/sh/boards/se/7206/setup.c
- *
- * Copyright (C) 2006  Yoshinori Sato
- * Copyright (C) 2007 - 2008  Paul Mundt
- *
- * Hitachi 7206 SolutionEngine Support.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/smc91x.h>
-#include <mach-se/mach/se7206.h>
-#include <asm/io.h>
-#include <asm/machvec.h>
-#include <asm/heartbeat.h>
-
-static struct resource smc91x_resources[] = {
-	[0] = {
-		.name		= "smc91x-regs",
-		.start		= PA_SMSC + 0x300,
-		.end		= PA_SMSC + 0x300 + 0x020 - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start		= 64,
-		.end		= 64,
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct smc91x_platdata smc91x_info = {
-	.flags	= SMC91X_USE_16BIT,
-};
-
-static struct platform_device smc91x_device = {
-	.name		= "smc91x",
-	.id		= -1,
-	.dev		= {
-		.dma_mask		= NULL,
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &smc91x_info,
-	},
-	.num_resources	= ARRAY_SIZE(smc91x_resources),
-	.resource	= smc91x_resources,
-};
-
-static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-
-static struct resource heartbeat_resource = {
-	.start	= PA_LED,
-	.end	= PA_LED,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-static struct platform_device *se7206_devices[] __initdata = {
-	&smc91x_device,
-	&heartbeat_device,
-};
-
-static int __init se7206_devices_setup(void)
-{
-	return platform_add_devices(se7206_devices, ARRAY_SIZE(se7206_devices));
-}
-device_initcall(se7206_devices_setup);
-
-static int se7206_mode_pins(void)
-{
-	return MODE_PIN1 | MODE_PIN2;
-}
-
-/*
- * The Machine Vector
- */
-
-static struct sh_machine_vector mv_se __initmv = {
-	.mv_name		= "SolutionEngine",
-	.mv_init_irq		= init_se7206_IRQ,
-	.mv_mode_pins		= se7206_mode_pins,
-};
diff --git a/arch/sh/boards/mach-se/7343/Makefile b/arch/sh/boards/mach-se/7343/Makefile
deleted file mode 100644
index e058661091a26f..00000000000000
--- a/arch/sh/boards/mach-se/7343/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the 7343 SolutionEngine specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7343/irq.c b/arch/sh/boards/mach-se/7343/irq.c
deleted file mode 100644
index f9f3b14f70d574..00000000000000
--- a/arch/sh/boards/mach-se/7343/irq.c
+++ /dev/null
@@ -1,123 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Hitachi UL SolutionEngine 7343 FPGA IRQ Support.
- *
- * Copyright (C) 2008  Yoshihiro Shimoda
- * Copyright (C) 2012  Paul Mundt
- *
- * Based on linux/arch/sh/boards/se/7343/irq.c
- * Copyright (C) 2007  Nobuhiro Iwamatsu
- */
-#define DRV_NAME "SE7343-FPGA"
-#define pr_fmt(fmt) DRV_NAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/irqdomain.h>
-#include <linux/io.h>
-#include <linux/sizes.h>
-#include <mach-se/mach/se7343.h>
-
-#define PA_CPLD_BASE_ADDR	0x11400000
-#define PA_CPLD_ST_REG		0x08	/* CPLD Interrupt status register */
-#define PA_CPLD_IMSK_REG	0x0a	/* CPLD Interrupt mask register */
-
-static void __iomem *se7343_irq_regs;
-struct irq_domain *se7343_irq_domain;
-
-static void se7343_irq_demux(struct irq_desc *desc)
-{
-	struct irq_data *data = irq_desc_get_irq_data(desc);
-	struct irq_chip *chip = irq_data_get_irq_chip(data);
-	unsigned long mask;
-	int bit;
-
-	chip->irq_mask_ack(data);
-
-	mask = ioread16(se7343_irq_regs + PA_CPLD_ST_REG);
-
-	for_each_set_bit(bit, &mask, SE7343_FPGA_IRQ_NR)
-		generic_handle_domain_irq(se7343_irq_domain, bit);
-
-	chip->irq_unmask(data);
-}
-
-static void __init se7343_domain_init(void)
-{
-	int i;
-
-	se7343_irq_domain = irq_domain_add_linear(NULL, SE7343_FPGA_IRQ_NR,
-						  &irq_domain_simple_ops, NULL);
-	if (unlikely(!se7343_irq_domain)) {
-		printk("Failed to get IRQ domain\n");
-		return;
-	}
-
-	for (i = 0; i < SE7343_FPGA_IRQ_NR; i++) {
-		int irq = irq_create_mapping(se7343_irq_domain, i);
-
-		if (unlikely(irq == 0)) {
-			printk("Failed to allocate IRQ %d\n", i);
-			return;
-		}
-	}
-}
-
-static void __init se7343_gc_init(void)
-{
-	struct irq_chip_generic *gc;
-	struct irq_chip_type *ct;
-	unsigned int irq_base;
-
-	irq_base = irq_linear_revmap(se7343_irq_domain, 0);
-
-	gc = irq_alloc_generic_chip(DRV_NAME, 1, irq_base, se7343_irq_regs,
-				    handle_level_irq);
-	if (unlikely(!gc))
-		return;
-
-	ct = gc->chip_types;
-	ct->chip.irq_mask = irq_gc_mask_set_bit;
-	ct->chip.irq_unmask = irq_gc_mask_clr_bit;
-
-	ct->regs.mask = PA_CPLD_IMSK_REG;
-
-	irq_setup_generic_chip(gc, IRQ_MSK(SE7343_FPGA_IRQ_NR),
-			       IRQ_GC_INIT_MASK_CACHE,
-			       IRQ_NOREQUEST | IRQ_NOPROBE, 0);
-
-	irq_set_chained_handler(IRQ0_IRQ, se7343_irq_demux);
-	irq_set_irq_type(IRQ0_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ1_IRQ, se7343_irq_demux);
-	irq_set_irq_type(IRQ1_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ4_IRQ, se7343_irq_demux);
-	irq_set_irq_type(IRQ4_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ5_IRQ, se7343_irq_demux);
-	irq_set_irq_type(IRQ5_IRQ, IRQ_TYPE_LEVEL_LOW);
-}
-
-/*
- * Initialize IRQ setting
- */
-void __init init_7343se_IRQ(void)
-{
-	se7343_irq_regs = ioremap(PA_CPLD_BASE_ADDR, SZ_16);
-	if (unlikely(!se7343_irq_regs)) {
-		pr_err("Failed to remap CPLD\n");
-		return;
-	}
-
-	/*
-	 * All FPGA IRQs disabled by default
-	 */
-	iowrite16(0, se7343_irq_regs + PA_CPLD_IMSK_REG);
-
-	__raw_writew(0x2000, 0xb03fffec);	/* mrshpc irq enable */
-
-	se7343_domain_init();
-	se7343_gc_init();
-}
diff --git a/arch/sh/boards/mach-se/7343/setup.c b/arch/sh/boards/mach-se/7343/setup.c
deleted file mode 100644
index fe0e550601a2e2..00000000000000
--- a/arch/sh/boards/mach-se/7343/setup.c
+++ /dev/null
@@ -1,182 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/mtd/physmap.h>
-#include <linux/serial_8250.h>
-#include <linux/serial_reg.h>
-#include <linux/usb/isp116x.h>
-#include <linux/delay.h>
-#include <linux/irqdomain.h>
-#include <asm/machvec.h>
-#include <mach-se/mach/se7343.h>
-#include <asm/heartbeat.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-
-static struct resource heartbeat_resource = {
-	.start	= PA_LED,
-	.end	= PA_LED,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name		= "loader",
-		.offset		= 0x00000000,
-		.size		= 128 * 1024,
-	},
-	{
-		.name		= "rootfs",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= 31 * 1024 * 1024,
-	},
-	{
-		.name		= "data",
-		.offset		= MTDPART_OFS_APPEND,
-		.size		= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 2,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0]	= {
-		.start	= 0x00000000,
-		.end	= 0x01ffffff,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.dev		= {
-		.platform_data	= &nor_flash_data,
-	},
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.resource	= nor_flash_resources,
-};
-
-#define ST16C2550C_FLAGS (UPF_BOOT_AUTOCONF | UPF_IOREMAP)
-
-static struct plat_serial8250_port serial_platform_data[] = {
-	[0] = {
-		.iotype		= UPIO_MEM,
-		.mapbase	= 0x16000000,
-		.regshift	= 1,
-		.flags		= ST16C2550C_FLAGS,
-		.uartclk	= 7372800,
-	},
-	[1] = {
-		.iotype		= UPIO_MEM,
-		.mapbase	= 0x17000000,
-		.regshift	= 1,
-		.flags		= ST16C2550C_FLAGS,
-		.uartclk	= 7372800,
-	},
-	{ },
-};
-
-static struct platform_device uart_device = {
-	.name			= "serial8250",
-	.id			= PLAT8250_DEV_PLATFORM,
-	.dev			= {
-		.platform_data	= serial_platform_data,
-	},
-};
-
-static void isp116x_delay(struct device *dev, int delay)
-{
-	ndelay(delay);
-}
-
-static struct resource usb_resources[] = {
-	[0] = {
-		.start  = 0x11800000,
-		.end    = 0x11800001,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = 0x11800002,
-		.end    = 0x11800003,
-		.flags  = IORESOURCE_MEM,
-	},
-	[2] = {
-		/* Filled in later */
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct isp116x_platform_data usb_platform_data = {
-	.sel15Kres		= 1,
-	.oc_enable		= 1,
-	.int_act_high		= 0,
-	.int_edge_triggered	= 0,
-	.remote_wakeup_enable	= 0,
-	.delay			= isp116x_delay,
-};
-
-static struct platform_device usb_device = {
-	.name			= "isp116x-hcd",
-	.id			= -1,
-	.num_resources		= ARRAY_SIZE(usb_resources),
-	.resource		= usb_resources,
-	.dev			= {
-		.platform_data	= &usb_platform_data,
-	},
-
-};
-
-static struct platform_device *sh7343se_platform_devices[] __initdata = {
-	&heartbeat_device,
-	&nor_flash_device,
-	&uart_device,
-	&usb_device,
-};
-
-static int __init sh7343se_devices_setup(void)
-{
-	/* Wire-up dynamic vectors */
-	serial_platform_data[0].irq = irq_find_mapping(se7343_irq_domain,
-						       SE7343_FPGA_IRQ_UARTA);
-	serial_platform_data[1].irq = irq_find_mapping(se7343_irq_domain,
-						       SE7343_FPGA_IRQ_UARTB);
-	usb_resources[2].start = usb_resources[2].end =
-		irq_find_mapping(se7343_irq_domain, SE7343_FPGA_IRQ_USB);
-
-	return platform_add_devices(sh7343se_platform_devices,
-				    ARRAY_SIZE(sh7343se_platform_devices));
-}
-device_initcall(sh7343se_devices_setup);
-
-/*
- * Initialize the board
- */
-static void __init sh7343se_setup(char **cmdline_p)
-{
-	__raw_writew(0xf900, FPGA_OUT);	/* FPGA */
-
-	__raw_writew(0x0002, PORT_PECR);	/* PORT E 1 = IRQ5 */
-	__raw_writew(0x0020, PORT_PSELD);
-
-	printk(KERN_INFO "MS7343CP01 Setup...done\n");
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_7343se __initmv = {
-	.mv_name = "SolutionEngine 7343",
-	.mv_setup = sh7343se_setup,
-	.mv_init_irq = init_7343se_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/770x/Makefile b/arch/sh/boards/mach-se/770x/Makefile
deleted file mode 100644
index 900d93cfb6a531..00000000000000
--- a/arch/sh/boards/mach-se/770x/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the 770x SolutionEngine specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/770x/irq.c b/arch/sh/boards/mach-se/770x/irq.c
deleted file mode 100644
index 66e2c8aa0b69f3..00000000000000
--- a/arch/sh/boards/mach-se/770x/irq.c
+++ /dev/null
@@ -1,109 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/770x/irq.c
- *
- * Copyright (C) 2000  Kazumoto Kojima
- * Copyright (C) 2006  Nobuhiro Iwamatsu
- *
- * Hitachi SolutionEngine Support.
- *
- */
-
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-#include <mach-se/mach/se.h>
-
-static struct ipr_data ipr_irq_table[] = {
-	/*
-	* Super I/O (Just mimic PC):
-	*  1: keyboard
-	*  3: serial 0
-	*  4: serial 1
-	*  5: printer
-	*  6: floppy
-	*  8: rtc
-	* 12: mouse
-	* 14: ide0
-	*/
-#if defined(CONFIG_CPU_SUBTYPE_SH7705)
-	/* This is default value */
-	{ 13, 0, 8,  0x0f-13, },
-	{ 5 , 0, 4,  0x0f- 5, },
-	{ 10, 1, 0,  0x0f-10, },
-	{ 7 , 2, 4,  0x0f- 7, },
-	{ 3 , 2, 0,  0x0f- 3, },
-	{ 1 , 3, 12, 0x0f- 1, },
-	{ 12, 3, 4,  0x0f-12, }, /* LAN */
-	{ 2 , 4, 8,  0x0f- 2, }, /* PCIRQ2 */
-	{ 6 , 4, 4,  0x0f- 6, }, /* PCIRQ1 */
-	{ 14, 4, 0,  0x0f-14, }, /* PCIRQ0 */
-	{ 0 , 5, 12, 0x0f   , }, 
-	{ 4 , 5, 4,  0x0f- 4, },
-	{ 8 , 6, 12, 0x0f- 8, },
-	{ 9 , 6, 8,  0x0f- 9, },
-	{ 11, 6, 4,  0x0f-11, },
-#else
-	{ 14, 0,  8, 0x0f-14, },
-	{ 12, 0,  4, 0x0f-12, },
-	{  8, 1,  4, 0x0f- 8, },
-	{  6, 2, 12, 0x0f- 6, },
-	{  5, 2,  8, 0x0f- 5, },
-	{  4, 2,  4, 0x0f- 4, },
-	{  3, 2,  0, 0x0f- 3, },
-	{  1, 3, 12, 0x0f- 1, },
-#if defined(CONFIG_STNIC)
-	/* ST NIC */
-	{ 10, 3,  4, 0x0f-10, }, 	/* LAN */
-#endif
-	/* MRSHPC IRQs setting */
-	{  0, 4, 12, 0x0f- 0, },	/* PCIRQ3 */
-	{ 11, 4,  8, 0x0f-11, }, 	/* PCIRQ2 */
-	{  9, 4,  4, 0x0f- 9, }, 	/* PCIRQ1 */
-	{  7, 4,  0, 0x0f- 7, }, 	/* PCIRQ0 */
-	/* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */
-	/* NOTE: #2 and #13 are not used on PC */
-	{ 13, 6,  4, 0x0f-13, }, 	/* SLOTIRQ2 */
-	{  2, 6,  0, 0x0f- 2, }, 	/* SLOTIRQ1 */
-#endif
-};
-
-static unsigned long ipr_offsets[] = {
-	BCR_ILCRA,
-	BCR_ILCRB,
-	BCR_ILCRC,
-	BCR_ILCRD,
-	BCR_ILCRE,
-	BCR_ILCRF,
-	BCR_ILCRG,
-};
-
-static struct ipr_desc ipr_irq_desc = {
-	.ipr_offsets	= ipr_offsets,
-	.nr_offsets	= ARRAY_SIZE(ipr_offsets),
-
-	.ipr_data	= ipr_irq_table,
-	.nr_irqs	= ARRAY_SIZE(ipr_irq_table),
-	.chip = {
-		.name	= "IPR-se770x",
-	},
-};
-
-/*
- * Initialize IRQ setting
- */
-void __init init_se_IRQ(void)
-{
-	/* Disable all interrupts */
-	__raw_writew(0, BCR_ILCRA);
-	__raw_writew(0, BCR_ILCRB);
-	__raw_writew(0, BCR_ILCRC);
-	__raw_writew(0, BCR_ILCRD);
-	__raw_writew(0, BCR_ILCRE);
-	__raw_writew(0, BCR_ILCRF);
-	__raw_writew(0, BCR_ILCRG);
-
-	register_ipr_controller(&ipr_irq_desc);
-}
diff --git a/arch/sh/boards/mach-se/770x/setup.c b/arch/sh/boards/mach-se/770x/setup.c
deleted file mode 100644
index 412326d59e6fce..00000000000000
--- a/arch/sh/boards/mach-se/770x/setup.c
+++ /dev/null
@@ -1,205 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/770x/setup.c
- *
- * Copyright (C) 2000  Kazumoto Kojima
- *
- * Hitachi SolutionEngine Support.
- *
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/sh_eth.h>
-#include <mach-se/mach/se.h>
-#include <mach-se/mach/mrshpc.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <asm/smc37c93x.h>
-#include <asm/heartbeat.h>
-
-/*
- * Configure the Super I/O chip
- */
-static void __init smsc_config(int index, int data)
-{
-	outb_p(index, INDEX_PORT);
-	outb_p(data, DATA_PORT);
-}
-
-/* XXX: Another candidate for a more generic cchip machine vector */
-static void __init smsc_setup(char **cmdline_p)
-{
-	outb_p(CONFIG_ENTER, CONFIG_PORT);
-	outb_p(CONFIG_ENTER, CONFIG_PORT);
-
-	/* FDC */
-	smsc_config(CURRENT_LDN_INDEX, LDN_FDC);
-	smsc_config(ACTIVATE_INDEX, 0x01);
-	smsc_config(IRQ_SELECT_INDEX, 6); /* IRQ6 */
-
-	/* AUXIO (GPIO): to use IDE1 */
-	smsc_config(CURRENT_LDN_INDEX, LDN_AUXIO);
-	smsc_config(GPIO46_INDEX, 0x00); /* nIOROP */
-	smsc_config(GPIO47_INDEX, 0x00); /* nIOWOP */
-
-	/* COM1 */
-	smsc_config(CURRENT_LDN_INDEX, LDN_COM1);
-	smsc_config(ACTIVATE_INDEX, 0x01);
-	smsc_config(IO_BASE_HI_INDEX, 0x03);
-	smsc_config(IO_BASE_LO_INDEX, 0xf8);
-	smsc_config(IRQ_SELECT_INDEX, 4); /* IRQ4 */
-
-	/* COM2 */
-	smsc_config(CURRENT_LDN_INDEX, LDN_COM2);
-	smsc_config(ACTIVATE_INDEX, 0x01);
-	smsc_config(IO_BASE_HI_INDEX, 0x02);
-	smsc_config(IO_BASE_LO_INDEX, 0xf8);
-	smsc_config(IRQ_SELECT_INDEX, 3); /* IRQ3 */
-
-	/* RTC */
-	smsc_config(CURRENT_LDN_INDEX, LDN_RTC);
-	smsc_config(ACTIVATE_INDEX, 0x01);
-	smsc_config(IRQ_SELECT_INDEX, 8); /* IRQ8 */
-
-	/* XXX: PARPORT, KBD, and MOUSE will come here... */
-	outb_p(CONFIG_EXIT, CONFIG_PORT);
-}
-
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start  = PA_MRSHPC_IO + 0x1f0,
-		.end    = PA_MRSHPC_IO + 0x1f0 + 8,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = PA_MRSHPC_IO + 0x1f0 + 0x206,
-		.end    = PA_MRSHPC_IO + 0x1f0 + 8 + 0x206 + 8,
-		.flags  = IORESOURCE_MEM,
-	},
-	[2] = {
-		.start  = IRQ_CFCARD,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device  = {
-	.name           = "pata_platform",
-	.id             = -1,
-	.num_resources  = ARRAY_SIZE(cf_ide_resources),
-	.resource       = cf_ide_resources,
-};
-
-static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-
-static struct resource heartbeat_resource = {
-	.start	= PA_LED,
-	.end	= PA_LED,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-#if defined(CONFIG_CPU_SUBTYPE_SH7710) ||\
-	defined(CONFIG_CPU_SUBTYPE_SH7712)
-/* SH771X Ethernet driver */
-static struct sh_eth_plat_data sh_eth_plat = {
-	.phy = PHY_ID,
-	.phy_interface = PHY_INTERFACE_MODE_MII,
-};
-
-static struct resource sh_eth0_resources[] = {
-	[0] = {
-		.start = SH_ETH0_BASE,
-		.end = SH_ETH0_BASE + 0x1B8 - 1,
-		.flags = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start = SH_TSU_BASE,
-		.end = SH_TSU_BASE + 0x200 - 1,
-		.flags = IORESOURCE_MEM,
-	},
-	[2] = {
-		.start = SH_ETH0_IRQ,
-		.end = SH_ETH0_IRQ,
-		.flags = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh_eth0_device = {
-	.name = "sh771x-ether",
-	.id = 0,
-	.dev = {
-		.platform_data = &sh_eth_plat,
-	},
-	.num_resources = ARRAY_SIZE(sh_eth0_resources),
-	.resource = sh_eth0_resources,
-};
-
-static struct resource sh_eth1_resources[] = {
-	[0] = {
-		.start = SH_ETH1_BASE,
-		.end = SH_ETH1_BASE + 0x1B8 - 1,
-		.flags = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start = SH_TSU_BASE,
-		.end = SH_TSU_BASE + 0x200 - 1,
-		.flags = IORESOURCE_MEM,
-	},
-	[2] = {
-		.start = SH_ETH1_IRQ,
-		.end = SH_ETH1_IRQ,
-		.flags = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh_eth1_device = {
-	.name = "sh771x-ether",
-	.id = 1,
-	.dev = {
-		.platform_data = &sh_eth_plat,
-	},
-	.num_resources = ARRAY_SIZE(sh_eth1_resources),
-	.resource = sh_eth1_resources,
-};
-#endif
-
-static struct platform_device *se_devices[] __initdata = {
-	&heartbeat_device,
-	&cf_ide_device,
-#if defined(CONFIG_CPU_SUBTYPE_SH7710) ||\
-	defined(CONFIG_CPU_SUBTYPE_SH7712)
-	&sh_eth0_device,
-	&sh_eth1_device,
-#endif
-};
-
-static int __init se_devices_setup(void)
-{
-	mrshpc_setup_windows();
-	return platform_add_devices(se_devices, ARRAY_SIZE(se_devices));
-}
-device_initcall(se_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_se __initmv = {
-	.mv_name		= "SolutionEngine",
-	.mv_setup		= smsc_setup,
-	.mv_init_irq		= init_se_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/7721/Makefile b/arch/sh/boards/mach-se/7721/Makefile
deleted file mode 100644
index 09436f10ddf198..00000000000000
--- a/arch/sh/boards/mach-se/7721/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7721/irq.c b/arch/sh/boards/mach-se/7721/irq.c
deleted file mode 100644
index e6ef2a2655c37c..00000000000000
--- a/arch/sh/boards/mach-se/7721/irq.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7721/irq.c
- *
- * Copyright (C) 2008  Renesas Solutions Corp.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/io.h>
-#include <mach-se/mach/se7721.h>
-
-enum {
-	UNUSED = 0,
-
-	/* board specific interrupt sources */
-	MRSHPC,
-};
-
-static struct intc_vect vectors[] __initdata = {
-	INTC_IRQ(MRSHPC, MRSHPC_IRQ0),
-};
-
-static struct intc_prio_reg prio_registers[] __initdata = {
-	{ FPGA_ILSR6, 0, 8, 4, /* IRLMSK */
-	  { 0, MRSHPC } },
-};
-
-static DECLARE_INTC_DESC(intc_desc, "SE7721", vectors,
-			 NULL, NULL, prio_registers, NULL);
-
-/*
- * Initialize IRQ setting
- */
-void __init init_se7721_IRQ(void)
-{
-	/* PPCR */
-	__raw_writew(__raw_readw(0xa4050118) & ~0x00ff, 0xa4050118);
-
-	register_intc_controller(&intc_desc);
-	intc_set_priority(MRSHPC_IRQ0, 0xf - MRSHPC_IRQ0);
-}
diff --git a/arch/sh/boards/mach-se/7721/setup.c b/arch/sh/boards/mach-se/7721/setup.c
deleted file mode 100644
index 3af724dc4ba44a..00000000000000
--- a/arch/sh/boards/mach-se/7721/setup.c
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7721/setup.c
- *
- * Copyright (C) 2008 Renesas Solutions Corp.
- *
- * Hitachi UL SolutionEngine 7721 Support.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <mach-se/mach/se7721.h>
-#include <mach-se/mach/mrshpc.h>
-#include <asm/machvec.h>
-#include <asm/io.h>
-#include <asm/heartbeat.h>
-
-static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-
-static struct resource heartbeat_resource = {
-	.start	= PA_LED,
-	.end	= PA_LED,
-	.flags	= IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= 1,
-	.resource	= &heartbeat_resource,
-};
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start	= PA_MRSHPC_IO + 0x1f0,
-		.end	= PA_MRSHPC_IO + 0x1f0 + 8 ,
-		.flags	= IORESOURCE_IO,
-	},
-	[1] = {
-		.start	= PA_MRSHPC_IO + 0x1f0 + 0x206,
-		.end	= PA_MRSHPC_IO + 0x1f0 + 8 + 0x206 + 8,
-		.flags	= IORESOURCE_IO,
-	},
-	[2] = {
-		.start  = MRSHPC_IRQ0,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device = {
-	.name		= "pata_platform",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-};
-
-static struct platform_device *se7721_devices[] __initdata = {
-	&cf_ide_device,
-	&heartbeat_device
-};
-
-static int __init se7721_devices_setup(void)
-{
-	mrshpc_setup_windows();
-	return platform_add_devices(se7721_devices, ARRAY_SIZE(se7721_devices));
-}
-device_initcall(se7721_devices_setup);
-
-static void __init se7721_setup(char **cmdline_p)
-{
-	/* for USB */
-	__raw_writew(0x0000, 0xA405010C);	/* PGCR */
-	__raw_writew(0x0000, 0xA405010E);	/* PHCR */
-	__raw_writew(0x00AA, 0xA4050118);	/* PPCR */
-	__raw_writew(0x0000, 0xA4050124);	/* PSELA */
-}
-
-/*
- * The Machine Vector
- */
-struct sh_machine_vector mv_se7721 __initmv = {
-	.mv_name		= "Solution Engine 7721",
-	.mv_setup		= se7721_setup,
-	.mv_init_irq		= init_se7721_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/7722/Makefile b/arch/sh/boards/mach-se/7722/Makefile
deleted file mode 100644
index a5e89c0c6bb2d4..00000000000000
--- a/arch/sh/boards/mach-se/7722/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the HITACHI UL SolutionEngine 7722 specific parts of the kernel
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/7722/irq.c
deleted file mode 100644
index efa96edd47dc5f..00000000000000
--- a/arch/sh/boards/mach-se/7722/irq.c
+++ /dev/null
@@ -1,116 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Hitachi UL SolutionEngine 7722 FPGA IRQ Support.
- *
- * Copyright (C) 2007  Nobuhiro Iwamatsu
- * Copyright (C) 2012  Paul Mundt
- */
-#define DRV_NAME "SE7722-FPGA"
-#define pr_fmt(fmt) DRV_NAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/irqdomain.h>
-#include <linux/io.h>
-#include <linux/err.h>
-#include <linux/sizes.h>
-#include <mach-se/mach/se7722.h>
-
-#define IRQ01_BASE_ADDR	0x11800000
-#define IRQ01_MODE_REG	0
-#define IRQ01_STS_REG	4
-#define IRQ01_MASK_REG	8
-
-static void __iomem *se7722_irq_regs;
-struct irq_domain *se7722_irq_domain;
-
-static void se7722_irq_demux(struct irq_desc *desc)
-{
-	struct irq_data *data = irq_desc_get_irq_data(desc);
-	struct irq_chip *chip = irq_data_get_irq_chip(data);
-	unsigned long mask;
-	int bit;
-
-	chip->irq_mask_ack(data);
-
-	mask = ioread16(se7722_irq_regs + IRQ01_STS_REG);
-
-	for_each_set_bit(bit, &mask, SE7722_FPGA_IRQ_NR)
-		generic_handle_domain_irq(se7722_irq_domain, bit);
-
-	chip->irq_unmask(data);
-}
-
-static void __init se7722_domain_init(void)
-{
-	int i;
-
-	se7722_irq_domain = irq_domain_add_linear(NULL, SE7722_FPGA_IRQ_NR,
-						  &irq_domain_simple_ops, NULL);
-	if (unlikely(!se7722_irq_domain)) {
-		printk("Failed to get IRQ domain\n");
-		return;
-	}
-
-	for (i = 0; i < SE7722_FPGA_IRQ_NR; i++) {
-		int irq = irq_create_mapping(se7722_irq_domain, i);
-
-		if (unlikely(irq == 0)) {
-			printk("Failed to allocate IRQ %d\n", i);
-			return;
-		}
-	}
-}
-
-static void __init se7722_gc_init(void)
-{
-	struct irq_chip_generic *gc;
-	struct irq_chip_type *ct;
-	unsigned int irq_base;
-
-	irq_base = irq_linear_revmap(se7722_irq_domain, 0);
-
-	gc = irq_alloc_generic_chip(DRV_NAME, 1, irq_base, se7722_irq_regs,
-				    handle_level_irq);
-	if (unlikely(!gc))
-		return;
-
-	ct = gc->chip_types;
-	ct->chip.irq_mask = irq_gc_mask_set_bit;
-	ct->chip.irq_unmask = irq_gc_mask_clr_bit;
-
-	ct->regs.mask = IRQ01_MASK_REG;
-
-	irq_setup_generic_chip(gc, IRQ_MSK(SE7722_FPGA_IRQ_NR),
-			       IRQ_GC_INIT_MASK_CACHE,
-			       IRQ_NOREQUEST | IRQ_NOPROBE, 0);
-
-	irq_set_chained_handler(IRQ0_IRQ, se7722_irq_demux);
-	irq_set_irq_type(IRQ0_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ1_IRQ, se7722_irq_demux);
-	irq_set_irq_type(IRQ1_IRQ, IRQ_TYPE_LEVEL_LOW);
-}
-
-/*
- * Initialize FPGA IRQs
- */
-void __init init_se7722_IRQ(void)
-{
-	se7722_irq_regs = ioremap(IRQ01_BASE_ADDR, SZ_16);
-	if (unlikely(!se7722_irq_regs)) {
-		printk("Failed to remap IRQ01 regs\n");
-		return;
-	}
-
-	/*
-	 * All FPGA IRQs disabled by default
-	 */
-	iowrite16(0, se7722_irq_regs + IRQ01_MASK_REG);
-
-	__raw_writew(0x2000, 0xb03fffec);  /* mrshpc irq enable */
-
-	se7722_domain_init();
-	se7722_gc_init();
-}
diff --git a/arch/sh/boards/mach-se/7722/setup.c b/arch/sh/boards/mach-se/7722/setup.c
deleted file mode 100644
index 2cd4a2e84b930c..00000000000000
--- a/arch/sh/boards/mach-se/7722/setup.c
+++ /dev/null
@@ -1,190 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7722/setup.c
- *
- * Copyright (C) 2007 Nobuhiro Iwamatsu
- * Copyright (C) 2012 Paul Mundt
- *
- * Hitachi UL SolutionEngine 7722 Support.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <linux/input.h>
-#include <linux/input/sh_keysc.h>
-#include <linux/irqdomain.h>
-#include <linux/smc91x.h>
-#include <linux/sh_intc.h>
-#include <mach-se/mach/se7722.h>
-#include <mach-se/mach/mrshpc.h>
-#include <asm/machvec.h>
-#include <asm/clock.h>
-#include <asm/io.h>
-#include <asm/heartbeat.h>
-#include <cpu/sh7722.h>
-
-/* Heartbeat */
-static struct resource heartbeat_resource = {
-	.start  = PA_LED,
-	.end    = PA_LED,
-	.flags  = IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name           = "heartbeat",
-	.id             = -1,
-	.num_resources  = 1,
-	.resource       = &heartbeat_resource,
-};
-
-/* SMC91x */
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT,
-};
-
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "smc91x-regs" ,
-		.start  = PA_LAN + 0x300,
-		.end    = PA_LAN + 0x300 + 0x10 ,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		/* Filled in later */
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name           = "smc91x",
-	.id             = 0,
-	.dev = {
-		.dma_mask               = NULL,         /* don't use dma */
-		.coherent_dma_mask      = 0xffffffff,
-		.platform_data	= &smc91x_info,
-	},
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-};
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start  = PA_MRSHPC_IO + 0x1f0,
-		.end    = PA_MRSHPC_IO + 0x1f0 + 8 ,
-		.flags  = IORESOURCE_IO,
-	},
-	[1] = {
-		.start  = PA_MRSHPC_IO + 0x1f0 + 0x206,
-		.end    = PA_MRSHPC_IO + 0x1f0 +8 + 0x206 + 8,
-		.flags  = IORESOURCE_IO,
-	},
-	[2] = {
-		/* Filled in later */
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device  = {
-	.name           = "pata_platform",
-	.id             = -1,
-	.num_resources  = ARRAY_SIZE(cf_ide_resources),
-	.resource       = cf_ide_resources,
-};
-
-static struct sh_keysc_info sh_keysc_info = {
-	.mode = SH_KEYSC_MODE_1, /* KEYOUT0->5, KEYIN0->4 */
-	.scan_timing = 3,
-	.delay = 5,
-	.keycodes = { /* SW1 -> SW30 */
-		KEY_A, KEY_B, KEY_C, KEY_D, KEY_E,
-		KEY_F, KEY_G, KEY_H, KEY_I, KEY_J,
-		KEY_K, KEY_L, KEY_M, KEY_N, KEY_O,
-		KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T,
-		KEY_U, KEY_V, KEY_W, KEY_X, KEY_Y,
-		KEY_Z,
-		KEY_HOME, KEY_SLEEP, KEY_WAKEUP, KEY_COFFEE, /* life */
-	},
-};
-
-static struct resource sh_keysc_resources[] = {
-	[0] = {
-		.start  = 0x044b0000,
-		.end    = 0x044b000f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xbe0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device sh_keysc_device = {
-	.name           = "sh_keysc",
-	.id             = 0, /* "keysc0" clock */
-	.num_resources  = ARRAY_SIZE(sh_keysc_resources),
-	.resource       = sh_keysc_resources,
-	.dev	= {
-		.platform_data	= &sh_keysc_info,
-	},
-};
-
-static struct platform_device *se7722_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_eth_device,
-	&cf_ide_device,
-	&sh_keysc_device,
-};
-
-static int __init se7722_devices_setup(void)
-{
-	mrshpc_setup_windows();
-
-	/* Wire-up dynamic vectors */
-	cf_ide_resources[2].start = cf_ide_resources[2].end =
-		irq_find_mapping(se7722_irq_domain, SE7722_FPGA_IRQ_MRSHPC0);
-
-	smc91x_eth_resources[1].start = smc91x_eth_resources[1].end =
-		irq_find_mapping(se7722_irq_domain, SE7722_FPGA_IRQ_SMC);
-
-	return platform_add_devices(se7722_devices, ARRAY_SIZE(se7722_devices));
-}
-device_initcall(se7722_devices_setup);
-
-static void __init se7722_setup(char **cmdline_p)
-{
-	__raw_writew(0x010D, FPGA_OUT);    /* FPGA */
-
-	__raw_writew(0x0000, PORT_PECR);   /* PORT E 1 = IRQ5 ,E 0 = BS */
-	__raw_writew(0x1000, PORT_PJCR);   /* PORT J 1 = IRQ1,J 0 =IRQ0 */
-
-	/* LCDC I/O */
-	__raw_writew(0x0020, PORT_PSELD);
-
-	/* SIOF1*/
-	__raw_writew(0x0003, PORT_PSELB);
-	__raw_writew(0xe000, PORT_PSELC);
-	__raw_writew(0x0000, PORT_PKCR);
-
-	/* LCDC */
-	__raw_writew(0x4020, PORT_PHCR);
-	__raw_writew(0x0000, PORT_PLCR);
-	__raw_writew(0x0000, PORT_PMCR);
-	__raw_writew(0x0002, PORT_PRCR);
-	__raw_writew(0x0000, PORT_PXCR);   /* LCDC,CS6A */
-
-	/* KEYSC */
-	__raw_writew(0x0A10, PORT_PSELA); /* BS,SHHID2 */
-	__raw_writew(0x0000, PORT_PYCR);
-	__raw_writew(0x0000, PORT_PZCR);
-	__raw_writew(__raw_readw(PORT_HIZCRA) & ~0x4000, PORT_HIZCRA);
-	__raw_writew(__raw_readw(PORT_HIZCRC) & ~0xc000, PORT_HIZCRC);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_se7722 __initmv = {
-	.mv_name                = "Solution Engine 7722" ,
-	.mv_setup               = se7722_setup ,
-	.mv_init_irq		= init_se7722_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/7724/Makefile b/arch/sh/boards/mach-se/7724/Makefile
deleted file mode 100644
index 6c6112b24617d0..00000000000000
--- a/arch/sh/boards/mach-se/7724/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the HITACHI UL SolutionEngine 7724 specific parts of the kernel
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-#
-
-obj-y	 := setup.o irq.o sdram.o
diff --git a/arch/sh/boards/mach-se/7724/irq.c b/arch/sh/boards/mach-se/7724/irq.c
deleted file mode 100644
index 14ce3024738f3b..00000000000000
--- a/arch/sh/boards/mach-se/7724/irq.c
+++ /dev/null
@@ -1,143 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7724/irq.c
- *
- * Copyright (C) 2009 Renesas Solutions Corp.
- *
- * Kuninori Morimoto <morimoto.kuninori at renesas.com>
- *
- * Based on  linux/arch/sh/boards/se/7722/irq.c
- * Copyright (C) 2007  Nobuhiro Iwamatsu
- *
- * Hitachi UL SolutionEngine 7724 Support.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/export.h>
-#include <linux/topology.h>
-#include <linux/io.h>
-#include <linux/err.h>
-#include <mach-se/mach/se7724.h>
-
-struct fpga_irq {
-	unsigned long  sraddr;
-	unsigned long  mraddr;
-	unsigned short mask;
-	unsigned int   base;
-};
-
-static unsigned int fpga2irq(unsigned int irq)
-{
-	if (irq >= IRQ0_BASE &&
-	    irq <= IRQ0_END)
-		return IRQ0_IRQ;
-	else if (irq >= IRQ1_BASE &&
-		 irq <= IRQ1_END)
-		return IRQ1_IRQ;
-	else
-		return IRQ2_IRQ;
-}
-
-static struct fpga_irq get_fpga_irq(unsigned int irq)
-{
-	struct fpga_irq set;
-
-	switch (irq) {
-	case IRQ0_IRQ:
-		set.sraddr = IRQ0_SR;
-		set.mraddr = IRQ0_MR;
-		set.mask   = IRQ0_MASK;
-		set.base   = IRQ0_BASE;
-		break;
-	case IRQ1_IRQ:
-		set.sraddr = IRQ1_SR;
-		set.mraddr = IRQ1_MR;
-		set.mask   = IRQ1_MASK;
-		set.base   = IRQ1_BASE;
-		break;
-	default:
-		set.sraddr = IRQ2_SR;
-		set.mraddr = IRQ2_MR;
-		set.mask   = IRQ2_MASK;
-		set.base   = IRQ2_BASE;
-		break;
-	}
-
-	return set;
-}
-
-static void disable_se7724_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	struct fpga_irq set = get_fpga_irq(fpga2irq(irq));
-	unsigned int bit = irq - set.base;
-	__raw_writew(__raw_readw(set.mraddr) | 0x0001 << bit, set.mraddr);
-}
-
-static void enable_se7724_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	struct fpga_irq set = get_fpga_irq(fpga2irq(irq));
-	unsigned int bit = irq - set.base;
-	__raw_writew(__raw_readw(set.mraddr) & ~(0x0001 << bit), set.mraddr);
-}
-
-static struct irq_chip se7724_irq_chip __read_mostly = {
-	.name		= "SE7724-FPGA",
-	.irq_mask	= disable_se7724_irq,
-	.irq_unmask	= enable_se7724_irq,
-};
-
-static void se7724_irq_demux(struct irq_desc *desc)
-{
-	unsigned int irq = irq_desc_get_irq(desc);
-	struct fpga_irq set = get_fpga_irq(irq);
-	unsigned short intv = __raw_readw(set.sraddr);
-	unsigned int ext_irq = set.base;
-
-	intv &= set.mask;
-
-	for (; intv; intv >>= 1, ext_irq++) {
-		if (!(intv & 1))
-			continue;
-
-		generic_handle_irq(ext_irq);
-	}
-}
-
-/*
- * Initialize IRQ setting
- */
-void __init init_se7724_IRQ(void)
-{
-	int irq_base, i;
-
-	__raw_writew(0xffff, IRQ0_MR);  /* mask all */
-	__raw_writew(0xffff, IRQ1_MR);  /* mask all */
-	__raw_writew(0xffff, IRQ2_MR);  /* mask all */
-	__raw_writew(0x0000, IRQ0_SR);  /* clear irq */
-	__raw_writew(0x0000, IRQ1_SR);  /* clear irq */
-	__raw_writew(0x0000, IRQ2_SR);  /* clear irq */
-	__raw_writew(0x002a, IRQ_MODE); /* set irq type */
-
-	irq_base = irq_alloc_descs(SE7724_FPGA_IRQ_BASE, SE7724_FPGA_IRQ_BASE,
-				   SE7724_FPGA_IRQ_NR, numa_node_id());
-	if (IS_ERR_VALUE(irq_base)) {
-		pr_err("%s: failed hooking irqs for FPGA\n", __func__);
-		return;
-	}
-
-	for (i = 0; i < SE7724_FPGA_IRQ_NR; i++)
-		irq_set_chip_and_handler_name(irq_base + i, &se7724_irq_chip,
-					      handle_level_irq, "level");
-
-	irq_set_chained_handler(IRQ0_IRQ, se7724_irq_demux);
-	irq_set_irq_type(IRQ0_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ1_IRQ, se7724_irq_demux);
-	irq_set_irq_type(IRQ1_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-	irq_set_chained_handler(IRQ2_IRQ, se7724_irq_demux);
-	irq_set_irq_type(IRQ2_IRQ, IRQ_TYPE_LEVEL_LOW);
-}
diff --git a/arch/sh/boards/mach-se/7724/sdram.S b/arch/sh/boards/mach-se/7724/sdram.S
deleted file mode 100644
index 61c1fe78d71a05..00000000000000
--- a/arch/sh/boards/mach-se/7724/sdram.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * MS7724SE sdram self/auto-refresh setup code
- *
- *  Copyright (C) 2009 Magnus Damm
- */
-
-#include <linux/sys.h>
-#include <linux/errno.h>
-#include <linux/linkage.h>
-#include <asm/asm-offsets.h>
-#include <asm/suspend.h>
-#include <asm/romimage-macros.h>
-
-/* code to enter and leave self-refresh. must be self-contained.
- * this code will be copied to on-chip memory and executed from there.
- */
-	.balign 4
-ENTRY(ms7724se_sdram_enter_start)
-
-	/* DBSC: put memory in self-refresh mode */
-
-	ED 0xFD000010, 0x00000000 /* DBEN */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-ENTRY(ms7724se_sdram_enter_end)
-
-	.balign 4
-ENTRY(ms7724se_sdram_leave_start)
-
-	/* DBSC: put memory in auto-refresh mode */
-
-	mov.l	@(SH_SLEEP_MODE, r5), r0
-	tst	#SUSP_SH_RSTANDBY, r0
-	bf	resume_rstandby
-
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	WAIT 1
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-resume_rstandby:
-
-	/* CPG: setup clocks before restarting external memory */
-
-	ED 0xA4150024, 0x00004000 /* PLLCR */
-
-	mov.l	FRQCRA,r0
-	mov.l	@r0,r3
-	mov.l	KICK,r1
-	or	r1, r3
-	mov.l	r3, @r0
-
-	mov.l	LSTATS,r0
-	mov	#1,r1
-WAIT_LSTATS:
-	mov.l	@r0,r3
-	tst	r1,r3
-	bf	WAIT_LSTATS
-
-	/* DBSC: re-initialize and put in auto-refresh */
-
-	ED 0xFD000108, 0x00000181 /* DBPDCNT0 */
-	ED 0xFD000020, 0x015B0002 /* DBCONF */
-	ED 0xFD000030, 0x03071502 /* DBTR0 */
-	ED 0xFD000034, 0x02020102 /* DBTR1 */
-	ED 0xFD000038, 0x01090405 /* DBTR2 */
-	ED 0xFD00003C, 0x00000002 /* DBTR3 */
-	ED 0xFD000008, 0x00000005 /* DBKIND */
-	ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
-	ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
-	ED 0xFD000018, 0x00000001 /* DBCKECNT */
-
-	mov	#100,r0
-WAIT_400NS:
-	dt	r0
-	bf	WAIT_400NS
-
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000060, 0x00020000 /* DBMRCNT (EMR2) */
-	ED 0xFD000060, 0x00030000 /* DBMRCNT (EMR3) */
-	ED 0xFD000060, 0x00010004 /* DBMRCNT (EMR) */
-	ED 0xFD000060, 0x00000532 /* DBMRCNT (MRS) */
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000060, 0x00000432 /* DBMRCNT (MRS) */
-	ED 0xFD000060, 0x000103c0 /* DBMRCNT (EMR) */
-	ED 0xFD000060, 0x00010040 /* DBMRCNT (EMR) */
-
-	mov	#100,r0
-WAIT_400NS_2:
-	dt	r0
-	bf	WAIT_400NS_2
-
-	ED 0xFD000010, 0x00000001 /* DBEN */
-	ED 0xFD000044, 0x0000050f /* DBRFPDN1 */
-	ED 0xFD000048, 0x236800e6 /* DBRFPDN2 */
-
-	mov.l	DUMMY,r0
-	mov.l	@r0, r1 /* force single dummy read */
-
-	ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
-	ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
-	ED 0xFD000108, 0x00000080 /* DBPDCNT0 */
-	ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
-
-	rts
-	 nop
-
-	.balign 4
-DUMMY:	.long	0xac400000
-FRQCRA:	.long	0xa4150000
-KICK:	.long	0x80000000
-LSTATS:	.long	0xa4150060
-
-ENTRY(ms7724se_sdram_leave_end)
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
deleted file mode 100644
index b60a2626e18b27..00000000000000
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ /dev/null
@@ -1,986 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7724/setup.c
- *
- * Copyright (C) 2009 Renesas Solutions Corp.
- *
- * Kuninori Morimoto <morimoto.kuninori at renesas.com>
- */
-#include <asm/clock.h>
-#include <asm/heartbeat.h>
-#include <asm/io.h>
-#include <asm/suspend.h>
-
-#include <cpu/sh7724.h>
-
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/gpio.h>
-#include <linux/init.h>
-#include <linux/input.h>
-#include <linux/input/sh_keysc.h>
-#include <linux/interrupt.h>
-#include <linux/memblock.h>
-#include <linux/mfd/tmio.h>
-#include <linux/mmc/host.h>
-#include <linux/mtd/physmap.h>
-#include <linux/platform_device.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/sh_eth.h>
-#include <linux/sh_intc.h>
-#include <linux/smc91x.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/videodev2.h>
-#include <linux/dma-map-ops.h>
-
-#include <mach-se/mach/se7724.h>
-#include <media/drv-intf/renesas-ceu.h>
-
-#include <sound/sh_fsi.h>
-#include <sound/simple_card.h>
-
-#include <video/sh_mobile_lcdc.h>
-
-#define CEU_BUFFER_MEMORY_SIZE		(4 << 20)
-static phys_addr_t ceu0_dma_membase;
-static phys_addr_t ceu1_dma_membase;
-
-/*
- * SWx    1234 5678
- * ------------------------------------
- * SW31 : 1001 1100    : default
- * SW32 : 0111 1111    : use on board flash
- *
- * SW41 : abxx xxxx  -> a = 0 : Analog  monitor
- *                          1 : Digital monitor
- *                      b = 0 : VGA
- *                          1 : 720p
- */
-
-/*
- * about 720p
- *
- * When you use 1280 x 720 lcdc output,
- * you should change OSC6 lcdc clock from 25.175MHz to 74.25MHz,
- * and change SW41 to use 720p
- */
-
-/*
- * about sound
- *
- * This setup.c supports FSI slave mode.
- * Please change J20, J21, J22 pin to 1-2 connection.
- */
-
-/* Heartbeat */
-static struct resource heartbeat_resource = {
-	.start  = PA_LED,
-	.end    = PA_LED,
-	.flags  = IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name           = "heartbeat",
-	.id             = -1,
-	.num_resources  = 1,
-	.resource       = &heartbeat_resource,
-};
-
-/* LAN91C111 */
-static struct smc91x_platdata smc91x_info = {
-	.flags = SMC91X_USE_16BIT | SMC91X_NOWAIT,
-};
-
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "SMC91C111" ,
-		.start  = 0x1a300300,
-		.end    = 0x1a30030f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = IRQ0_SMC,
-		.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name	= "smc91x",
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-	.dev	= {
-		.platform_data	= &smc91x_info,
-	},
-};
-
-/* MTD */
-static struct mtd_partition nor_flash_partitions[] = {
-	{
-		.name = "uboot",
-		.offset = 0,
-		.size = (1 * 1024 * 1024),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	}, {
-		.name = "kernel",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (2 * 1024 * 1024),
-	}, {
-		.name = "free-area",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data nor_flash_data = {
-	.width		= 2,
-	.parts		= nor_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(nor_flash_partitions),
-};
-
-static struct resource nor_flash_resources[] = {
-	[0] = {
-		.name	= "NOR Flash",
-		.start	= 0x00000000,
-		.end	= 0x01ffffff,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device nor_flash_device = {
-	.name		= "physmap-flash",
-	.resource	= nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-	.dev		= {
-		.platform_data = &nor_flash_data,
-	},
-};
-
-/* LCDC */
-static const struct fb_videomode lcdc_720p_modes[] = {
-	{
-		.name		= "LB070WV1",
-		.sync		= 0, /* hsync and vsync are active low */
-		.xres		= 1280,
-		.yres		= 720,
-		.left_margin	= 220,
-		.right_margin	= 110,
-		.hsync_len	= 40,
-		.upper_margin	= 20,
-		.lower_margin	= 5,
-		.vsync_len	= 5,
-	},
-};
-
-static const struct fb_videomode lcdc_vga_modes[] = {
-	{
-		.name		= "LB070WV1",
-		.sync		= 0, /* hsync and vsync are active low */
-		.xres		= 640,
-		.yres		= 480,
-		.left_margin	= 105,
-		.right_margin	= 50,
-		.hsync_len	= 96,
-		.upper_margin	= 33,
-		.lower_margin	= 10,
-		.vsync_len	= 2,
-	},
-};
-
-static struct sh_mobile_lcdc_info lcdc_info = {
-	.clock_source = LCDC_CLK_EXTERNAL,
-	.ch[0] = {
-		.chan = LCDC_CHAN_MAINLCD,
-		.fourcc = V4L2_PIX_FMT_RGB565,
-		.clock_divider = 1,
-		.panel_cfg = { /* 7.0 inch */
-			.width = 152,
-			.height = 91,
-		},
-	}
-};
-
-static struct resource lcdc_resources[] = {
-	[0] = {
-		.name	= "LCDC",
-		.start	= 0xfe940000,
-		.end	= 0xfe942fff,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xf40),
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device lcdc_device = {
-	.name		= "sh_mobile_lcdc_fb",
-	.num_resources	= ARRAY_SIZE(lcdc_resources),
-	.resource	= lcdc_resources,
-	.dev		= {
-		.platform_data	= &lcdc_info,
-	},
-};
-
-/* CEU0 */
-static struct ceu_platform_data ceu0_pdata = {
-	.num_subdevs = 0,
-};
-
-static struct resource ceu0_resources[] = {
-	[0] = {
-		.name	= "CEU0",
-		.start	= 0xfe910000,
-		.end	= 0xfe91009f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x880),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ceu0_device = {
-	.name		= "renesas-ceu",
-	.id             = 0, /* "ceu.0" clock */
-	.num_resources	= ARRAY_SIZE(ceu0_resources),
-	.resource	= ceu0_resources,
-	.dev	= {
-		.platform_data	= &ceu0_pdata,
-	},
-};
-
-/* CEU1 */
-static struct ceu_platform_data ceu1_pdata = {
-	.num_subdevs = 0,
-};
-
-static struct resource ceu1_resources[] = {
-	[0] = {
-		.name	= "CEU1",
-		.start	= 0xfe914000,
-		.end	= 0xfe91409f,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x9e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device ceu1_device = {
-	.name		= "renesas-ceu",
-	.id             = 1, /* "ceu.1" clock */
-	.num_resources	= ARRAY_SIZE(ceu1_resources),
-	.resource	= ceu1_resources,
-	.dev	= {
-		.platform_data	= &ceu1_pdata,
-	},
-};
-
-/* FSI */
-/* change J20, J21, J22 pin to 1-2 connection to use slave mode */
-static struct resource fsi_resources[] = {
-	[0] = {
-		.name	= "FSI",
-		.start	= 0xFE3C0000,
-		.end	= 0xFE3C021d,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xf80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device fsi_device = {
-	.name		= "sh_fsi",
-	.id		= 0,
-	.num_resources	= ARRAY_SIZE(fsi_resources),
-	.resource	= fsi_resources,
-};
-
-static struct asoc_simple_card_info fsi_ak4642_info = {
-	.name		= "AK4642",
-	.card		= "FSIA-AK4642",
-	.codec		= "ak4642-codec.0-0012",
-	.platform	= "sh_fsi.0",
-	.daifmt		= SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBP_CFP,
-	.cpu_dai = {
-		.name	= "fsia-dai",
-	},
-	.codec_dai = {
-		.name	= "ak4642-hifi",
-		.sysclk	= 11289600,
-	},
-};
-
-static struct platform_device fsi_ak4642_device = {
-	.name	= "asoc-simple-card",
-	.dev	= {
-		.platform_data	= &fsi_ak4642_info,
-	},
-};
-
-/* KEYSC in SoC (Needs SW33-2 set to ON) */
-static struct sh_keysc_info keysc_info = {
-	.mode = SH_KEYSC_MODE_1,
-	.scan_timing = 3,
-	.delay = 50,
-	.keycodes = {
-		KEY_1, KEY_2, KEY_3, KEY_4, KEY_5,
-		KEY_6, KEY_7, KEY_8, KEY_9, KEY_A,
-		KEY_B, KEY_C, KEY_D, KEY_E, KEY_F,
-		KEY_G, KEY_H, KEY_I, KEY_K, KEY_L,
-		KEY_M, KEY_N, KEY_O, KEY_P, KEY_Q,
-		KEY_R, KEY_S, KEY_T, KEY_U, KEY_V,
-	},
-};
-
-static struct resource keysc_resources[] = {
-	[0] = {
-		.name	= "KEYSC",
-		.start  = 0x044b0000,
-		.end    = 0x044b000f,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xbe0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device keysc_device = {
-	.name           = "sh_keysc",
-	.id             = 0, /* "keysc0" clock */
-	.num_resources  = ARRAY_SIZE(keysc_resources),
-	.resource       = keysc_resources,
-	.dev	= {
-		.platform_data	= &keysc_info,
-	},
-};
-
-/* SH Eth */
-static struct resource sh_eth_resources[] = {
-	[0] = {
-		.start = SH_ETH_ADDR,
-		.end   = SH_ETH_ADDR + 0x1FC - 1,
-		.flags = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start = evt2irq(0xd60),
-		.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
-	},
-};
-
-static struct sh_eth_plat_data sh_eth_plat = {
-	.phy = 0x1f, /* SMSC LAN8187 */
-	.phy_interface = PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device sh_eth_device = {
-	.name = "sh7724-ether",
-	.id = 0,
-	.dev = {
-		.platform_data = &sh_eth_plat,
-	},
-	.num_resources = ARRAY_SIZE(sh_eth_resources),
-	.resource = sh_eth_resources,
-};
-
-static struct r8a66597_platdata sh7724_usb0_host_data = {
-	.on_chip = 1,
-};
-
-static struct resource sh7724_usb0_host_resources[] = {
-	[0] = {
-		.start	= 0xa4d80000,
-		.end	= 0xa4d80124 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa20),
-		.end	= evt2irq(0xa20),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device sh7724_usb0_host_device = {
-	.name		= "r8a66597_hcd",
-	.id		= 0,
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &sh7724_usb0_host_data,
-	},
-	.num_resources	= ARRAY_SIZE(sh7724_usb0_host_resources),
-	.resource	= sh7724_usb0_host_resources,
-};
-
-static struct r8a66597_platdata sh7724_usb1_gadget_data = {
-	.on_chip = 1,
-};
-
-static struct resource sh7724_usb1_gadget_resources[] = {
-	[0] = {
-		.start	= 0xa4d90000,
-		.end	= 0xa4d90123,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= evt2irq(0xa40),
-		.end	= evt2irq(0xa40),
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device sh7724_usb1_gadget_device = {
-	.name		= "r8a66597_udc",
-	.id		= 1, /* USB1 */
-	.dev = {
-		.dma_mask		= NULL,         /*  not use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &sh7724_usb1_gadget_data,
-	},
-	.num_resources	= ARRAY_SIZE(sh7724_usb1_gadget_resources),
-	.resource	= sh7724_usb1_gadget_resources,
-};
-
-/* Fixed 3.3V regulator to be used by SDHI0, SDHI1 */
-static struct regulator_consumer_supply fixed3v3_power_consumers[] =
-{
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
-	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.1"),
-	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.1"),
-};
-
-static struct resource sdhi0_cn7_resources[] = {
-	[0] = {
-		.name	= "SDHI0",
-		.start  = 0x04ce0000,
-		.end    = 0x04ce00ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0xe80),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sh7724_sdhi0_data = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-};
-
-static struct platform_device sdhi0_cn7_device = {
-	.name           = "sh_mobile_sdhi",
-	.id		= 0,
-	.num_resources  = ARRAY_SIZE(sdhi0_cn7_resources),
-	.resource       = sdhi0_cn7_resources,
-	.dev = {
-		.platform_data	= &sh7724_sdhi0_data,
-	},
-};
-
-static struct resource sdhi1_cn8_resources[] = {
-	[0] = {
-		.name	= "SDHI1",
-		.start  = 0x04cf0000,
-		.end    = 0x04cf00ff,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x4e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct tmio_mmc_data sh7724_sdhi1_data = {
-	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI1_TX,
-	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI1_RX,
-	.capabilities	= MMC_CAP_SDIO_IRQ,
-};
-
-static struct platform_device sdhi1_cn8_device = {
-	.name           = "sh_mobile_sdhi",
-	.id		= 1,
-	.num_resources  = ARRAY_SIZE(sdhi1_cn8_resources),
-	.resource       = sdhi1_cn8_resources,
-	.dev = {
-		.platform_data	= &sh7724_sdhi1_data,
-	},
-};
-
-/* IrDA */
-static struct resource irda_resources[] = {
-	[0] = {
-		.name	= "IrDA",
-		.start  = 0xA45D0000,
-		.end    = 0xA45D0049,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x480),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device irda_device = {
-	.name           = "sh_sir",
-	.num_resources  = ARRAY_SIZE(irda_resources),
-	.resource       = irda_resources,
-};
-
-#include <media/i2c/ak881x.h>
-#include <media/drv-intf/sh_vou.h>
-
-static struct ak881x_pdata ak881x_pdata = {
-	.flags = AK881X_IF_MODE_SLAVE,
-};
-
-static struct i2c_board_info ak8813 = {
-	/* With open J18 jumper address is 0x21 */
-	I2C_BOARD_INFO("ak8813", 0x20),
-	.platform_data = &ak881x_pdata,
-};
-
-static struct sh_vou_pdata sh_vou_pdata = {
-	.bus_fmt	= SH_VOU_BUS_8BIT,
-	.flags		= SH_VOU_HSYNC_LOW | SH_VOU_VSYNC_LOW,
-	.board_info	= &ak8813,
-	.i2c_adap	= 0,
-};
-
-static struct resource sh_vou_resources[] = {
-	[0] = {
-		.start  = 0xfe960000,
-		.end    = 0xfe962043,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = evt2irq(0x8e0),
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device vou_device = {
-	.name           = "sh-vou",
-	.id		= -1,
-	.num_resources  = ARRAY_SIZE(sh_vou_resources),
-	.resource       = sh_vou_resources,
-	.dev		= {
-		.platform_data	= &sh_vou_pdata,
-	},
-};
-
-static struct platform_device *ms7724se_ceu_devices[] __initdata = {
-	&ceu0_device,
-	&ceu1_device,
-};
-
-static struct platform_device *ms7724se_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_eth_device,
-	&lcdc_device,
-	&nor_flash_device,
-	&keysc_device,
-	&sh_eth_device,
-	&sh7724_usb0_host_device,
-	&sh7724_usb1_gadget_device,
-	&fsi_device,
-	&fsi_ak4642_device,
-	&sdhi0_cn7_device,
-	&sdhi1_cn8_device,
-	&irda_device,
-	&vou_device,
-};
-
-/* I2C device */
-static struct i2c_board_info i2c0_devices[] = {
-	{
-		I2C_BOARD_INFO("ak4642", 0x12),
-	},
-};
-
-#define EEPROM_OP   0xBA206000
-#define EEPROM_ADR  0xBA206004
-#define EEPROM_DATA 0xBA20600C
-#define EEPROM_STAT 0xBA206010
-#define EEPROM_STRT 0xBA206014
-
-static int __init sh_eth_is_eeprom_ready(void)
-{
-	int t = 10000;
-
-	while (t--) {
-		if (!__raw_readw(EEPROM_STAT))
-			return 1;
-		udelay(1);
-	}
-
-	printk(KERN_ERR "ms7724se can not access to eeprom\n");
-	return 0;
-}
-
-static void __init sh_eth_init(void)
-{
-	int i;
-	u16 mac;
-
-	/* check EEPROM status */
-	if (!sh_eth_is_eeprom_ready())
-		return;
-
-	/* read MAC addr from EEPROM */
-	for (i = 0 ; i < 3 ; i++) {
-		__raw_writew(0x0, EEPROM_OP); /* read */
-		__raw_writew(i*2, EEPROM_ADR);
-		__raw_writew(0x1, EEPROM_STRT);
-		if (!sh_eth_is_eeprom_ready())
-			return;
-
-		mac = __raw_readw(EEPROM_DATA);
-		sh_eth_plat.mac_addr[i << 1] = mac & 0xff;
-		sh_eth_plat.mac_addr[(i << 1) + 1] = mac >> 8;
-	}
-}
-
-#define SW4140    0xBA201000
-#define FPGA_OUT  0xBA200400
-#define PORT_HIZA 0xA4050158
-#define PORT_MSELCRB 0xA4050182
-
-#define SW41_A    0x0100
-#define SW41_B    0x0200
-#define SW41_C    0x0400
-#define SW41_D    0x0800
-#define SW41_E    0x1000
-#define SW41_F    0x2000
-#define SW41_G    0x4000
-#define SW41_H    0x8000
-
-extern char ms7724se_sdram_enter_start;
-extern char ms7724se_sdram_enter_end;
-extern char ms7724se_sdram_leave_start;
-extern char ms7724se_sdram_leave_end;
-
-static int __init arch_setup(void)
-{
-	/* enable I2C device */
-	i2c_register_board_info(0, i2c0_devices,
-				ARRAY_SIZE(i2c0_devices));
-	return 0;
-}
-arch_initcall(arch_setup);
-
-static int __init devices_setup(void)
-{
-	u16 sw = __raw_readw(SW4140); /* select camera, monitor */
-	struct clk *clk;
-	u16 fpga_out;
-
-	/* register board specific self-refresh code */
-	sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF |
-					SUSP_SH_RSTANDBY,
-					&ms7724se_sdram_enter_start,
-					&ms7724se_sdram_enter_end,
-					&ms7724se_sdram_leave_start,
-					&ms7724se_sdram_leave_end);
-
-	regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
-				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
-
-	/* Reset Release */
-	fpga_out = __raw_readw(FPGA_OUT);
-	/* bit4: NTSC_PDN, bit5: NTSC_RESET */
-	fpga_out &= ~((1 << 1)  | /* LAN */
-		      (1 << 4)  | /* AK8813 PDN */
-		      (1 << 5)  | /* AK8813 RESET */
-		      (1 << 6)  | /* VIDEO DAC */
-		      (1 << 7)  | /* AK4643 */
-		      (1 << 8)  | /* IrDA */
-		      (1 << 12) | /* USB0 */
-		      (1 << 14)); /* RMII */
-	__raw_writew(fpga_out | (1 << 4), FPGA_OUT);
-
-	udelay(10);
-
-	/* AK8813 RESET */
-	__raw_writew(fpga_out | (1 << 5), FPGA_OUT);
-
-	udelay(10);
-
-	__raw_writew(fpga_out, FPGA_OUT);
-
-	/* turn on USB clocks, use external clock */
-	__raw_writew((__raw_readw(PORT_MSELCRB) & ~0xc000) | 0x8000, PORT_MSELCRB);
-
-	/* Let LED9 show STATUS2 */
-	gpio_request(GPIO_FN_STATUS2, NULL);
-
-	/* Lit LED10 show STATUS0 */
-	gpio_request(GPIO_FN_STATUS0, NULL);
-
-	/* Lit LED11 show PDSTATUS */
-	gpio_request(GPIO_FN_PDSTATUS, NULL);
-
-	/* enable USB0 port */
-	__raw_writew(0x0600, 0xa40501d4);
-
-	/* enable USB1 port */
-	__raw_writew(0x0600, 0xa4050192);
-
-	/* enable IRQ 0,1,2 */
-	gpio_request(GPIO_FN_INTC_IRQ0, NULL);
-	gpio_request(GPIO_FN_INTC_IRQ1, NULL);
-	gpio_request(GPIO_FN_INTC_IRQ2, NULL);
-
-	/* enable SCIFA3 */
-	gpio_request(GPIO_FN_SCIF3_I_SCK, NULL);
-	gpio_request(GPIO_FN_SCIF3_I_RXD, NULL);
-	gpio_request(GPIO_FN_SCIF3_I_TXD, NULL);
-	gpio_request(GPIO_FN_SCIF3_I_CTS, NULL);
-	gpio_request(GPIO_FN_SCIF3_I_RTS, NULL);
-
-	/* enable LCDC */
-	gpio_request(GPIO_FN_LCDD23,   NULL);
-	gpio_request(GPIO_FN_LCDD22,   NULL);
-	gpio_request(GPIO_FN_LCDD21,   NULL);
-	gpio_request(GPIO_FN_LCDD20,   NULL);
-	gpio_request(GPIO_FN_LCDD19,   NULL);
-	gpio_request(GPIO_FN_LCDD18,   NULL);
-	gpio_request(GPIO_FN_LCDD17,   NULL);
-	gpio_request(GPIO_FN_LCDD16,   NULL);
-	gpio_request(GPIO_FN_LCDD15,   NULL);
-	gpio_request(GPIO_FN_LCDD14,   NULL);
-	gpio_request(GPIO_FN_LCDD13,   NULL);
-	gpio_request(GPIO_FN_LCDD12,   NULL);
-	gpio_request(GPIO_FN_LCDD11,   NULL);
-	gpio_request(GPIO_FN_LCDD10,   NULL);
-	gpio_request(GPIO_FN_LCDD9,    NULL);
-	gpio_request(GPIO_FN_LCDD8,    NULL);
-	gpio_request(GPIO_FN_LCDD7,    NULL);
-	gpio_request(GPIO_FN_LCDD6,    NULL);
-	gpio_request(GPIO_FN_LCDD5,    NULL);
-	gpio_request(GPIO_FN_LCDD4,    NULL);
-	gpio_request(GPIO_FN_LCDD3,    NULL);
-	gpio_request(GPIO_FN_LCDD2,    NULL);
-	gpio_request(GPIO_FN_LCDD1,    NULL);
-	gpio_request(GPIO_FN_LCDD0,    NULL);
-	gpio_request(GPIO_FN_LCDDISP,  NULL);
-	gpio_request(GPIO_FN_LCDHSYN,  NULL);
-	gpio_request(GPIO_FN_LCDDCK,   NULL);
-	gpio_request(GPIO_FN_LCDVSYN,  NULL);
-	gpio_request(GPIO_FN_LCDDON,   NULL);
-	gpio_request(GPIO_FN_LCDVEPWC, NULL);
-	gpio_request(GPIO_FN_LCDVCPWC, NULL);
-	gpio_request(GPIO_FN_LCDRD,    NULL);
-	gpio_request(GPIO_FN_LCDLCLK,  NULL);
-	__raw_writew((__raw_readw(PORT_HIZA) & ~0x0001), PORT_HIZA);
-
-	/* enable CEU0 */
-	gpio_request(GPIO_FN_VIO0_D15, NULL);
-	gpio_request(GPIO_FN_VIO0_D14, NULL);
-	gpio_request(GPIO_FN_VIO0_D13, NULL);
-	gpio_request(GPIO_FN_VIO0_D12, NULL);
-	gpio_request(GPIO_FN_VIO0_D11, NULL);
-	gpio_request(GPIO_FN_VIO0_D10, NULL);
-	gpio_request(GPIO_FN_VIO0_D9,  NULL);
-	gpio_request(GPIO_FN_VIO0_D8,  NULL);
-	gpio_request(GPIO_FN_VIO0_D7,  NULL);
-	gpio_request(GPIO_FN_VIO0_D6,  NULL);
-	gpio_request(GPIO_FN_VIO0_D5,  NULL);
-	gpio_request(GPIO_FN_VIO0_D4,  NULL);
-	gpio_request(GPIO_FN_VIO0_D3,  NULL);
-	gpio_request(GPIO_FN_VIO0_D2,  NULL);
-	gpio_request(GPIO_FN_VIO0_D1,  NULL);
-	gpio_request(GPIO_FN_VIO0_D0,  NULL);
-	gpio_request(GPIO_FN_VIO0_VD,  NULL);
-	gpio_request(GPIO_FN_VIO0_CLK, NULL);
-	gpio_request(GPIO_FN_VIO0_FLD, NULL);
-	gpio_request(GPIO_FN_VIO0_HD,  NULL);
-
-	/* enable CEU1 */
-	gpio_request(GPIO_FN_VIO1_D7,  NULL);
-	gpio_request(GPIO_FN_VIO1_D6,  NULL);
-	gpio_request(GPIO_FN_VIO1_D5,  NULL);
-	gpio_request(GPIO_FN_VIO1_D4,  NULL);
-	gpio_request(GPIO_FN_VIO1_D3,  NULL);
-	gpio_request(GPIO_FN_VIO1_D2,  NULL);
-	gpio_request(GPIO_FN_VIO1_D1,  NULL);
-	gpio_request(GPIO_FN_VIO1_D0,  NULL);
-	gpio_request(GPIO_FN_VIO1_FLD, NULL);
-	gpio_request(GPIO_FN_VIO1_HD,  NULL);
-	gpio_request(GPIO_FN_VIO1_VD,  NULL);
-	gpio_request(GPIO_FN_VIO1_CLK, NULL);
-
-	/* KEYSC */
-	gpio_request(GPIO_FN_KEYOUT5_IN5, NULL);
-	gpio_request(GPIO_FN_KEYOUT4_IN6, NULL);
-	gpio_request(GPIO_FN_KEYIN4,      NULL);
-	gpio_request(GPIO_FN_KEYIN3,      NULL);
-	gpio_request(GPIO_FN_KEYIN2,      NULL);
-	gpio_request(GPIO_FN_KEYIN1,      NULL);
-	gpio_request(GPIO_FN_KEYIN0,      NULL);
-	gpio_request(GPIO_FN_KEYOUT3,     NULL);
-	gpio_request(GPIO_FN_KEYOUT2,     NULL);
-	gpio_request(GPIO_FN_KEYOUT1,     NULL);
-	gpio_request(GPIO_FN_KEYOUT0,     NULL);
-
-	/* enable FSI */
-	gpio_request(GPIO_FN_FSIMCKA,    NULL);
-	gpio_request(GPIO_FN_FSIIASD,    NULL);
-	gpio_request(GPIO_FN_FSIOASD,    NULL);
-	gpio_request(GPIO_FN_FSIIABCK,   NULL);
-	gpio_request(GPIO_FN_FSIIALRCK,  NULL);
-	gpio_request(GPIO_FN_FSIOABCK,   NULL);
-	gpio_request(GPIO_FN_FSIOALRCK,  NULL);
-	gpio_request(GPIO_FN_CLKAUDIOAO, NULL);
-
-	/* set SPU2 clock to 83.4 MHz */
-	clk = clk_get(NULL, "spu_clk");
-	if (!IS_ERR(clk)) {
-		clk_set_rate(clk, clk_round_rate(clk, 83333333));
-		clk_put(clk);
-	}
-
-	/* change parent of FSI A */
-	clk = clk_get(NULL, "fsia_clk");
-	if (!IS_ERR(clk)) {
-		/* 48kHz dummy clock was used to make sure 1/1 divide */
-		clk_set_rate(&sh7724_fsimcka_clk, 48000);
-		clk_set_parent(clk, &sh7724_fsimcka_clk);
-		clk_set_rate(clk, 48000);
-		clk_put(clk);
-	}
-
-	/* SDHI0 connected to cn7 */
-	gpio_request(GPIO_FN_SDHI0CD, NULL);
-	gpio_request(GPIO_FN_SDHI0WP, NULL);
-	gpio_request(GPIO_FN_SDHI0D3, NULL);
-	gpio_request(GPIO_FN_SDHI0D2, NULL);
-	gpio_request(GPIO_FN_SDHI0D1, NULL);
-	gpio_request(GPIO_FN_SDHI0D0, NULL);
-	gpio_request(GPIO_FN_SDHI0CMD, NULL);
-	gpio_request(GPIO_FN_SDHI0CLK, NULL);
-
-	/* SDHI1 connected to cn8 */
-	gpio_request(GPIO_FN_SDHI1CD, NULL);
-	gpio_request(GPIO_FN_SDHI1WP, NULL);
-	gpio_request(GPIO_FN_SDHI1D3, NULL);
-	gpio_request(GPIO_FN_SDHI1D2, NULL);
-	gpio_request(GPIO_FN_SDHI1D1, NULL);
-	gpio_request(GPIO_FN_SDHI1D0, NULL);
-	gpio_request(GPIO_FN_SDHI1CMD, NULL);
-	gpio_request(GPIO_FN_SDHI1CLK, NULL);
-
-	/* enable IrDA */
-	gpio_request(GPIO_FN_IRDA_OUT, NULL);
-	gpio_request(GPIO_FN_IRDA_IN,  NULL);
-
-	/*
-	 * enable SH-Eth
-	 *
-	 * please remove J33 pin from your board !!
-	 *
-	 * ms7724 board should not use GPIO_FN_LNKSTA pin
-	 * So, This time PTX5 is set to input pin
-	 */
-	gpio_request(GPIO_FN_RMII_RXD0,    NULL);
-	gpio_request(GPIO_FN_RMII_RXD1,    NULL);
-	gpio_request(GPIO_FN_RMII_TXD0,    NULL);
-	gpio_request(GPIO_FN_RMII_TXD1,    NULL);
-	gpio_request(GPIO_FN_RMII_REF_CLK, NULL);
-	gpio_request(GPIO_FN_RMII_TX_EN,   NULL);
-	gpio_request(GPIO_FN_RMII_RX_ER,   NULL);
-	gpio_request(GPIO_FN_RMII_CRS_DV,  NULL);
-	gpio_request(GPIO_FN_MDIO,         NULL);
-	gpio_request(GPIO_FN_MDC,          NULL);
-	gpio_request(GPIO_PTX5, NULL);
-	gpio_direction_input(GPIO_PTX5);
-	sh_eth_init();
-
-	if (sw & SW41_B) {
-		/* 720p */
-		lcdc_info.ch[0].lcd_modes = lcdc_720p_modes;
-		lcdc_info.ch[0].num_modes = ARRAY_SIZE(lcdc_720p_modes);
-	} else {
-		/* VGA */
-		lcdc_info.ch[0].lcd_modes = lcdc_vga_modes;
-		lcdc_info.ch[0].num_modes = ARRAY_SIZE(lcdc_vga_modes);
-	}
-
-	if (sw & SW41_A) {
-		/* Digital monitor */
-		lcdc_info.ch[0].interface_type = RGB18;
-		lcdc_info.ch[0].flags          = 0;
-	} else {
-		/* Analog monitor */
-		lcdc_info.ch[0].interface_type = RGB24;
-		lcdc_info.ch[0].flags          = LCDC_FLAGS_DWPOL;
-	}
-
-	/* VOU */
-	gpio_request(GPIO_FN_DV_D15, NULL);
-	gpio_request(GPIO_FN_DV_D14, NULL);
-	gpio_request(GPIO_FN_DV_D13, NULL);
-	gpio_request(GPIO_FN_DV_D12, NULL);
-	gpio_request(GPIO_FN_DV_D11, NULL);
-	gpio_request(GPIO_FN_DV_D10, NULL);
-	gpio_request(GPIO_FN_DV_D9, NULL);
-	gpio_request(GPIO_FN_DV_D8, NULL);
-	gpio_request(GPIO_FN_DV_CLKI, NULL);
-	gpio_request(GPIO_FN_DV_CLK, NULL);
-	gpio_request(GPIO_FN_DV_VSYNC, NULL);
-	gpio_request(GPIO_FN_DV_HSYNC, NULL);
-
-	/* Initialize CEU platform devices separately to map memory first */
-	device_initialize(&ms7724se_ceu_devices[0]->dev);
-	dma_declare_coherent_memory(&ms7724se_ceu_devices[0]->dev,
-				    ceu0_dma_membase, ceu0_dma_membase,
-				    ceu0_dma_membase +
-				    CEU_BUFFER_MEMORY_SIZE - 1);
-	platform_device_add(ms7724se_ceu_devices[0]);
-
-	device_initialize(&ms7724se_ceu_devices[1]->dev);
-	dma_declare_coherent_memory(&ms7724se_ceu_devices[1]->dev,
-				    ceu1_dma_membase, ceu1_dma_membase,
-				    ceu1_dma_membase +
-				    CEU_BUFFER_MEMORY_SIZE - 1);
-	platform_device_add(ms7724se_ceu_devices[1]);
-
-	return platform_add_devices(ms7724se_devices,
-				    ARRAY_SIZE(ms7724se_devices));
-}
-device_initcall(devices_setup);
-
-/* Reserve a portion of memory for CEU 0 and CEU 1 buffers */
-static void __init ms7724se_mv_mem_reserve(void)
-{
-	phys_addr_t phys;
-	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU0 memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-	ceu0_dma_membase = phys;
-
-	phys = memblock_phys_alloc(size, PAGE_SIZE);
-	if (!phys)
-		panic("Failed to allocate CEU1 memory\n");
-
-	memblock_phys_free(phys, size);
-	memblock_remove(phys, size);
-	ceu1_dma_membase = phys;
-}
-
-static struct sh_machine_vector mv_ms7724se __initmv = {
-	.mv_name	= "ms7724se",
-	.mv_init_irq	= init_se7724_IRQ,
-	.mv_mem_reserve	= ms7724se_mv_mem_reserve,
-};
diff --git a/arch/sh/boards/mach-se/7751/Makefile b/arch/sh/boards/mach-se/7751/Makefile
deleted file mode 100644
index 2406d3e353524b..00000000000000
--- a/arch/sh/boards/mach-se/7751/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the 7751 SolutionEngine specific parts of the kernel
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7751/irq.c b/arch/sh/boards/mach-se/7751/irq.c
deleted file mode 100644
index dcefe58d87534b..00000000000000
--- a/arch/sh/boards/mach-se/7751/irq.c
+++ /dev/null
@@ -1,51 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7751/irq.c
- *
- * Copyright (C) 2000  Kazumoto Kojima
- *
- * Hitachi SolutionEngine Support.
- *
- * Modified for 7751 Solution Engine by
- * Ian da Silva and Jeremy Siegel, 2001.
- */
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <asm/irq.h>
-#include <mach-se/mach/se7751.h>
-
-static struct ipr_data ipr_irq_table[] = {
-	{ 13, 3, 3, 2 },
-	/* Add additional entries here as drivers are added and tested. */
-};
-
-static unsigned long ipr_offsets[] = {
-	BCR_ILCRA,
-	BCR_ILCRB,
-	BCR_ILCRC,
-	BCR_ILCRD,
-	BCR_ILCRE,
-	BCR_ILCRF,
-	BCR_ILCRG,
-};
-
-static struct ipr_desc ipr_irq_desc = {
-	.ipr_offsets	= ipr_offsets,
-	.nr_offsets	= ARRAY_SIZE(ipr_offsets),
-
-	.ipr_data	= ipr_irq_table,
-	.nr_irqs	= ARRAY_SIZE(ipr_irq_table),
-
-	.chip = {
-		.name	= "IPR-se7751",
-	},
-};
-
-/*
- * Initialize IRQ setting
- */
-void __init init_7751se_IRQ(void)
-{
-	register_ipr_controller(&ipr_irq_desc);
-}
diff --git a/arch/sh/boards/mach-se/7751/setup.c b/arch/sh/boards/mach-se/7751/setup.c
deleted file mode 100644
index 4c480605557f46..00000000000000
--- a/arch/sh/boards/mach-se/7751/setup.c
+++ /dev/null
@@ -1,60 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7751/setup.c
- *
- * Copyright (C) 2000  Kazumoto Kojima
- *
- * Hitachi SolutionEngine Support.
- *
- * Modified for 7751 Solution Engine by
- * Ian da Silva and Jeremy Siegel, 2001.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <asm/machvec.h>
-#include <mach-se/mach/se7751.h>
-#include <asm/io.h>
-#include <asm/heartbeat.h>
-
-static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 };
-
-static struct heartbeat_data heartbeat_data = {
-	.bit_pos	= heartbeat_bit_pos,
-	.nr_bits	= ARRAY_SIZE(heartbeat_bit_pos),
-};
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= PA_LED,
-		.end	= PA_LED,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= &heartbeat_data,
-	},
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct platform_device *se7751_devices[] __initdata = {
-	&heartbeat_device,
-};
-
-static int __init se7751_devices_setup(void)
-{
-	return platform_add_devices(se7751_devices, ARRAY_SIZE(se7751_devices));
-}
-device_initcall(se7751_devices_setup);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_7751se __initmv = {
-	.mv_name		= "7751 SolutionEngine",
-	.mv_init_irq		= init_7751se_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/7780/Makefile b/arch/sh/boards/mach-se/7780/Makefile
deleted file mode 100644
index 1f6669ab1bc0db..00000000000000
--- a/arch/sh/boards/mach-se/7780/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the HITACHI UL SolutionEngine 7780 specific parts of the kernel
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-#
-
-obj-y	 := setup.o irq.o
diff --git a/arch/sh/boards/mach-se/7780/irq.c b/arch/sh/boards/mach-se/7780/irq.c
deleted file mode 100644
index d427dfd711f171..00000000000000
--- a/arch/sh/boards/mach-se/7780/irq.c
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7780/irq.c
- *
- * Copyright (C) 2006,2007  Nobuhiro Iwamatsu
- *
- * Hitachi UL SolutionEngine 7780 Support.
- */
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/io.h>
-#include <mach-se/mach/se7780.h>
-
-#define INTC_BASE	0xffd00000
-#define INTC_ICR1	(INTC_BASE+0x1c)
-
-/*
- * Initialize IRQ setting
- */
-void __init init_se7780_IRQ(void)
-{
-	/* enable all interrupt at FPGA */
-	__raw_writew(0, FPGA_INTMSK1);
-	/* mask SM501 interrupt */
-	__raw_writew((__raw_readw(FPGA_INTMSK1) | 0x0002), FPGA_INTMSK1);
-	/* enable all interrupt at FPGA */
-	__raw_writew(0, FPGA_INTMSK2);
-
-	/* set FPGA INTSEL register */
-	/* FPGA + 0x06 */
-	__raw_writew( ((IRQPIN_SM501 << IRQPOS_SM501) |
-		(IRQPIN_SMC91CX << IRQPOS_SMC91CX)), FPGA_INTSEL1);
-
-	/* FPGA + 0x08 */
-	__raw_writew(((IRQPIN_EXTINT4 << IRQPOS_EXTINT4) |
-		(IRQPIN_EXTINT3 << IRQPOS_EXTINT3) |
-		(IRQPIN_EXTINT2 << IRQPOS_EXTINT2) |
-		(IRQPIN_EXTINT1 << IRQPOS_EXTINT1)), FPGA_INTSEL2);
-
-	/* FPGA + 0x0A */
-	__raw_writew((IRQPIN_PCCPW << IRQPOS_PCCPW), FPGA_INTSEL3);
-
-	plat_irq_setup_pins(IRQ_MODE_IRQ); /* install handlers for IRQ0-7 */
-
-	/* ICR1: detect low level(for 2ndcut) */
-	__raw_writel(0xAAAA0000, INTC_ICR1);
-
-	/*
-	 * FPGA PCISEL register initialize
-	 *
-	 *  CPU  || SLOT1 | SLOT2 | S-ATA | USB
-	 *  -------------------------------------
-	 *  INTA || INTA  | INTD  |  --   | INTB
-	 *  -------------------------------------
-	 *  INTB || INTB  | INTA  |  --   | INTC
-	 *  -------------------------------------
-	 *  INTC || INTC  | INTB  | INTA  |  --
-	 *  -------------------------------------
-	 *  INTD || INTD  | INTC  |  --   | INTA
-	 *  -------------------------------------
-	 */
-	__raw_writew(0x0013, FPGA_PCI_INTSEL1);
-	__raw_writew(0xE402, FPGA_PCI_INTSEL2);
-}
diff --git a/arch/sh/boards/mach-se/7780/setup.c b/arch/sh/boards/mach-se/7780/setup.c
deleted file mode 100644
index 309f2681381b08..00000000000000
--- a/arch/sh/boards/mach-se/7780/setup.c
+++ /dev/null
@@ -1,111 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/se/7780/setup.c
- *
- * Copyright (C) 2006,2007  Nobuhiro Iwamatsu
- *
- * Hitachi UL SolutionEngine 7780 Support.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <asm/machvec.h>
-#include <mach-se/mach/se7780.h>
-#include <asm/io.h>
-#include <asm/heartbeat.h>
-
-/* Heartbeat */
-static struct resource heartbeat_resource = {
-	.start  = PA_LED,
-	.end    = PA_LED,
-	.flags  = IORESOURCE_MEM | IORESOURCE_MEM_16BIT,
-};
-
-static struct platform_device heartbeat_device = {
-	.name           = "heartbeat",
-	.id             = -1,
-	.num_resources  = 1,
-	.resource       = &heartbeat_resource,
-};
-
-/* SMC91x */
-static struct resource smc91x_eth_resources[] = {
-	[0] = {
-		.name   = "smc91x-regs" ,
-		.start  = PA_LAN + 0x300,
-		.end    = PA_LAN + 0x300 + 0x10 ,
-		.flags  = IORESOURCE_MEM,
-	},
-	[1] = {
-		.start  = SMC_IRQ,
-		.end    = SMC_IRQ,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_eth_device = {
-	.name           = "smc91x",
-	.id             = 0,
-	.dev = {
-		.dma_mask               = NULL,         /* don't use dma */
-		.coherent_dma_mask      = 0xffffffff,
-	},
-	.num_resources  = ARRAY_SIZE(smc91x_eth_resources),
-	.resource       = smc91x_eth_resources,
-};
-
-static struct platform_device *se7780_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_eth_device,
-};
-
-static int __init se7780_devices_setup(void)
-{
-	return platform_add_devices(se7780_devices,
-		ARRAY_SIZE(se7780_devices));
-}
-device_initcall(se7780_devices_setup);
-
-#define GPIO_PHCR        0xFFEA000E
-#define GPIO_PMSELR      0xFFEA0080
-#define GPIO_PECR        0xFFEA0008
-
-static void __init se7780_setup(char **cmdline_p)
-{
-	/* "SH-Linux" on LED Display */
-	__raw_writew( 'S' , PA_LED_DISP + (DISP_SEL0_ADDR << 1) );
-	__raw_writew( 'H' , PA_LED_DISP + (DISP_SEL1_ADDR << 1) );
-	__raw_writew( '-' , PA_LED_DISP + (DISP_SEL2_ADDR << 1) );
-	__raw_writew( 'L' , PA_LED_DISP + (DISP_SEL3_ADDR << 1) );
-	__raw_writew( 'i' , PA_LED_DISP + (DISP_SEL4_ADDR << 1) );
-	__raw_writew( 'n' , PA_LED_DISP + (DISP_SEL5_ADDR << 1) );
-	__raw_writew( 'u' , PA_LED_DISP + (DISP_SEL6_ADDR << 1) );
-	__raw_writew( 'x' , PA_LED_DISP + (DISP_SEL7_ADDR << 1) );
-
-	printk(KERN_INFO "Hitachi UL Solutions Engine 7780SE03 support.\n");
-
-	/*
-	 * PCI REQ/GNT setting
-	 *   REQ0/GNT0 -> USB
-	 *   REQ1/GNT1 -> PC Card
-	 *   REQ2/GNT2 -> Serial ATA
-	 *   REQ3/GNT3 -> PCI slot
-	 */
-	__raw_writew(0x0213, FPGA_REQSEL);
-
-	/* GPIO setting */
-	__raw_writew(0x0000, GPIO_PECR);
-	__raw_writew(__raw_readw(GPIO_PHCR)&0xfff3, GPIO_PHCR);
-	__raw_writew(0x0c00, GPIO_PMSELR);
-
-	/* iVDR Power ON */
-	__raw_writew(0x0001, FPGA_IVDRPW);
-}
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_se7780 __initmv = {
-	.mv_name                = "Solution Engine 7780" ,
-	.mv_setup               = se7780_setup ,
-	.mv_init_irq		= init_se7780_IRQ,
-};
diff --git a/arch/sh/boards/mach-se/Makefile b/arch/sh/boards/mach-se/Makefile
deleted file mode 100644
index 8f69fc147c733d..00000000000000
--- a/arch/sh/boards/mach-se/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_SH_7619_SOLUTION_ENGINE)	+= board-se7619.o
-
-obj-$(CONFIG_SH_SOLUTION_ENGINE)	+= 770x/
-obj-$(CONFIG_SH_7206_SOLUTION_ENGINE)	+= 7206/
-obj-$(CONFIG_SH_7722_SOLUTION_ENGINE)	+= 7722/
-obj-$(CONFIG_SH_7751_SOLUTION_ENGINE)	+= 7751/
-obj-$(CONFIG_SH_7780_SOLUTION_ENGINE)	+= 7780/
-obj-$(CONFIG_SH_7343_SOLUTION_ENGINE)	+= 7343/
-obj-$(CONFIG_SH_7721_SOLUTION_ENGINE)	+= 7721/
-obj-$(CONFIG_SH_7724_SOLUTION_ENGINE)	+= 7724/
diff --git a/arch/sh/boards/mach-se/board-se7619.c b/arch/sh/boards/mach-se/board-se7619.c
deleted file mode 100644
index 4431da64a56f6a..00000000000000
--- a/arch/sh/boards/mach-se/board-se7619.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/se/7619/setup.c
- *
- * Copyright (C) 2006 Yoshinori Sato
- *
- * Hitachi SH7619 SolutionEngine Support.
- */
-
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <asm/io.h>
-#include <asm/machvec.h>
-
-static int se7619_mode_pins(void)
-{
-	return MODE_PIN2 | MODE_PIN0;
-}
-
-/*
- * The Machine Vector
- */
-
-static struct sh_machine_vector mv_se __initmv = {
-	.mv_name		= "SolutionEngine",
-	.mv_mode_pins		= se7619_mode_pins,
-};
diff --git a/arch/sh/boards/mach-sh03/Makefile b/arch/sh/boards/mach-sh03/Makefile
deleted file mode 100644
index f89c25c6a39c8a..00000000000000
--- a/arch/sh/boards/mach-sh03/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the Interface (CTP/PCI-SH03) specific parts of the kernel
-#
-
-obj-y	 := setup.o
-obj-$(CONFIG_RTC_DRV_GENERIC) += rtc.o
diff --git a/arch/sh/boards/mach-sh03/rtc.c b/arch/sh/boards/mach-sh03/rtc.c
deleted file mode 100644
index 7fb474844a2d1d..00000000000000
--- a/arch/sh/boards/mach-sh03/rtc.c
+++ /dev/null
@@ -1,143 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/sh03/rtc.c -- CTP/PCI-SH03 on-chip RTC support
- *
- *  Copyright (C) 2004  Saito.K & Jeanne(ksaito at interface.co.jp)
- *
- */
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/time.h>
-#include <linux/bcd.h>
-#include <linux/spinlock.h>
-#include <linux/io.h>
-#include <linux/rtc.h>
-#include <linux/platform_device.h>
-
-#define RTC_BASE	0xb0000000
-#define RTC_SEC1	(RTC_BASE + 0)
-#define RTC_SEC10	(RTC_BASE + 1)
-#define RTC_MIN1	(RTC_BASE + 2)
-#define RTC_MIN10	(RTC_BASE + 3)
-#define RTC_HOU1	(RTC_BASE + 4)
-#define RTC_HOU10	(RTC_BASE + 5)
-#define RTC_WEE1	(RTC_BASE + 6)
-#define RTC_DAY1	(RTC_BASE + 7)
-#define RTC_DAY10	(RTC_BASE + 8)
-#define RTC_MON1	(RTC_BASE + 9)
-#define RTC_MON10	(RTC_BASE + 10)
-#define RTC_YEA1	(RTC_BASE + 11)
-#define RTC_YEA10	(RTC_BASE + 12)
-#define RTC_YEA100	(RTC_BASE + 13)
-#define RTC_YEA1000	(RTC_BASE + 14)
-#define RTC_CTL		(RTC_BASE + 15)
-#define RTC_BUSY	1
-#define RTC_STOP	2
-
-static DEFINE_SPINLOCK(sh03_rtc_lock);
-
-static int sh03_rtc_gettimeofday(struct device *dev, struct rtc_time *tm)
-{
-	unsigned int year, mon, day, hour, min, sec;
-
-	spin_lock(&sh03_rtc_lock);
- again:
-	do {
-		sec  = (__raw_readb(RTC_SEC1) & 0xf) + (__raw_readb(RTC_SEC10) & 0x7) * 10;
-		min  = (__raw_readb(RTC_MIN1) & 0xf) + (__raw_readb(RTC_MIN10) & 0xf) * 10;
-		hour = (__raw_readb(RTC_HOU1) & 0xf) + (__raw_readb(RTC_HOU10) & 0xf) * 10;
-		day  = (__raw_readb(RTC_DAY1) & 0xf) + (__raw_readb(RTC_DAY10) & 0xf) * 10;
-		mon  = (__raw_readb(RTC_MON1) & 0xf) + (__raw_readb(RTC_MON10) & 0xf) * 10;
-		year = (__raw_readb(RTC_YEA1) & 0xf) + (__raw_readb(RTC_YEA10) & 0xf) * 10
-		     + (__raw_readb(RTC_YEA100 ) & 0xf) * 100
-		     + (__raw_readb(RTC_YEA1000) & 0xf) * 1000;
-	} while (sec != (__raw_readb(RTC_SEC1) & 0xf) + (__raw_readb(RTC_SEC10) & 0x7) * 10);
-	if (year == 0 || mon < 1 || mon > 12 || day > 31 || day < 1 ||
-	    hour > 23 || min > 59 || sec > 59) {
-		printk(KERN_ERR
-		       "SH-03 RTC: invalid value, resetting to 1 Jan 2000\n");
-		printk("year=%d, mon=%d, day=%d, hour=%d, min=%d, sec=%d\n",
-		       year, mon, day, hour, min, sec);
-
-		__raw_writeb(0, RTC_SEC1); __raw_writeb(0, RTC_SEC10);
-		__raw_writeb(0, RTC_MIN1); __raw_writeb(0, RTC_MIN10);
-		__raw_writeb(0, RTC_HOU1); __raw_writeb(0, RTC_HOU10);
-		__raw_writeb(6, RTC_WEE1);
-		__raw_writeb(1, RTC_DAY1); __raw_writeb(0, RTC_DAY10);
-		__raw_writeb(1, RTC_MON1); __raw_writeb(0, RTC_MON10);
-		__raw_writeb(0, RTC_YEA1); __raw_writeb(0, RTC_YEA10);
-		__raw_writeb(0, RTC_YEA100);
-		__raw_writeb(2, RTC_YEA1000);
-		__raw_writeb(0, RTC_CTL);
-		goto again;
-	}
-
-	spin_unlock(&sh03_rtc_lock);
-
-	tm->tm_sec  = sec;
-	tm->tm_min  = min;
-	tm->tm_hour = hour;
-	tm->tm_mday = day;
-	tm->tm_mon  = mon;
-	tm->tm_year = year - 1900;
-
-	return 0;
-}
-
-static int set_rtc_mmss(struct rtc_time *tm)
-{
-	int retval = 0;
-	int real_seconds, real_minutes, cmos_minutes;
-	int i;
-
-	/* gets recalled with irq locally disabled */
-	spin_lock(&sh03_rtc_lock);
-	for (i = 0 ; i < 1000000 ; i++)	/* may take up to 1 second... */
-		if (!(__raw_readb(RTC_CTL) & RTC_BUSY))
-			break;
-	cmos_minutes = (__raw_readb(RTC_MIN1) & 0xf) + (__raw_readb(RTC_MIN10) & 0xf) * 10;
-	real_seconds = tm->tm_sec;
-	real_minutes = tm->tm_min;
-	if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1)
-		real_minutes += 30;		/* correct for half hour time zone */
-	real_minutes %= 60;
-
-	if (abs(real_minutes - cmos_minutes) < 30) {
-		__raw_writeb(real_seconds % 10, RTC_SEC1);
-		__raw_writeb(real_seconds / 10, RTC_SEC10);
-		__raw_writeb(real_minutes % 10, RTC_MIN1);
-		__raw_writeb(real_minutes / 10, RTC_MIN10);
-	} else {
-		printk_once(KERN_NOTICE
-		       "set_rtc_mmss: can't update from %d to %d\n",
-		       cmos_minutes, real_minutes);
-		retval = -EINVAL;
-	}
-	spin_unlock(&sh03_rtc_lock);
-
-	return retval;
-}
-
-int sh03_rtc_settimeofday(struct device *dev, struct rtc_time *tm)
-{
-	return set_rtc_mmss(tm);
-}
-
-static const struct rtc_class_ops rtc_generic_ops = {
-	.read_time = sh03_rtc_gettimeofday,
-	.set_time = sh03_rtc_settimeofday,
-};
-
-static int __init sh03_time_init(void)
-{
-	struct platform_device *pdev;
-
-	pdev = platform_device_register_data(NULL, "rtc-generic", -1,
-					     &rtc_generic_ops,
-					     sizeof(rtc_generic_ops));
-
-	return PTR_ERR_OR_ZERO(pdev);
-}
-arch_initcall(sh03_time_init);
diff --git a/arch/sh/boards/mach-sh03/setup.c b/arch/sh/boards/mach-sh03/setup.c
deleted file mode 100644
index 3901b6031ad565..00000000000000
--- a/arch/sh/boards/mach-sh03/setup.c
+++ /dev/null
@@ -1,97 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/sh03/setup.c
- *
- * Copyright (C) 2004  Interface Co.,Ltd. Saito.K
- *
- */
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/pci.h>
-#include <linux/platform_device.h>
-#include <linux/ata_platform.h>
-#include <asm/io.h>
-#include <asm/rtc.h>
-#include <mach-sh03/mach/io.h>
-#include <mach-sh03/mach/sh03.h>
-#include <asm/addrspace.h>
-
-static void __init init_sh03_IRQ(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRQ);
-}
-
-static struct resource cf_ide_resources[] = {
-	[0] = {
-		.start  = 0x1f0,
-		.end    = 0x1f0 + 8,
-		.flags  = IORESOURCE_IO,
-	},
-	[1] = {
-		.start  = 0x1f0 + 0x206,
-		.end    = 0x1f0 +8 + 0x206 + 8,
-		.flags  = IORESOURCE_IO,
-	},
-	[2] = {
-		.start  = IRL2_IRQ,
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device cf_ide_device = {
-	.name		= "pata_platform",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(cf_ide_resources),
-	.resource	= cf_ide_resources,
-};
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= 0xa0800000,
-		.end	= 0xa0800000,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct platform_device *sh03_devices[] __initdata = {
-	&heartbeat_device,
-	&cf_ide_device,
-};
-
-static int __init sh03_devices_setup(void)
-{
-	pgprot_t prot;
-	unsigned long paddrbase;
-	void *cf_ide_base;
-
-	/* open I/O area window */
-	paddrbase = virt_to_phys((void *)PA_AREA5_IO);
-	prot = PAGE_KERNEL_PCC(1, _PAGE_PCC_IO16);
-	cf_ide_base = ioremap_prot(paddrbase, PAGE_SIZE, pgprot_val(prot));
-	if (!cf_ide_base) {
-		printk("allocate_cf_area : can't open CF I/O window!\n");
-		return -ENOMEM;
-	}
-
-	/* IDE cmd address : 0x1f0-0x1f7 and 0x3f6 */
-	cf_ide_resources[0].start += (unsigned long)cf_ide_base;
-	cf_ide_resources[0].end   += (unsigned long)cf_ide_base;
-	cf_ide_resources[1].start += (unsigned long)cf_ide_base;
-	cf_ide_resources[1].end   += (unsigned long)cf_ide_base;
-
-	return platform_add_devices(sh03_devices, ARRAY_SIZE(sh03_devices));
-}
-device_initcall(sh03_devices_setup);
-
-static struct sh_machine_vector mv_sh03 __initmv = {
-	.mv_name		= "Interface (CTP/PCI-SH03)",
-	.mv_init_irq		= init_sh03_IRQ,
-};
diff --git a/arch/sh/boards/mach-sh7763rdp/Makefile b/arch/sh/boards/mach-sh7763rdp/Makefile
deleted file mode 100644
index d6341310444a51..00000000000000
--- a/arch/sh/boards/mach-sh7763rdp/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y    := setup.o irq.o
diff --git a/arch/sh/boards/mach-sh7763rdp/irq.c b/arch/sh/boards/mach-sh7763rdp/irq.c
deleted file mode 100644
index efd382b7dad403..00000000000000
--- a/arch/sh/boards/mach-sh7763rdp/irq.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/renesas/sh7763rdp/irq.c
- *
- * Renesas Solutions SH7763RDP Support.
- *
- * Copyright (C) 2008 Renesas Solutions Corp.
- * Copyright (C) 2008  Nobuhiro Iwamatsu <iwamatsu.nobuhiro at renesas.com>
- */
-
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <asm/io.h>
-#include <asm/irq.h>
-#include <mach/sh7763rdp.h>
-
-#define INTC_BASE		(0xFFD00000)
-#define INTC_INT2PRI7   (INTC_BASE+0x4001C)
-#define INTC_INT2MSKCR	(INTC_BASE+0x4003C)
-#define INTC_INT2MSKCR1	(INTC_BASE+0x400D4)
-
-/*
- * Initialize IRQ setting
- */
-void __init init_sh7763rdp_IRQ(void)
-{
-	/* GPIO enabled */
-	__raw_writel(1 << 25, INTC_INT2MSKCR);
-
-	/* enable GPIO interrupts */
-	__raw_writel((__raw_readl(INTC_INT2PRI7) & 0xFF00FFFF) | 0x000F0000,
-		  INTC_INT2PRI7);
-
-	/* USBH enabled */
-	__raw_writel(1 << 17, INTC_INT2MSKCR1);
-
-	/* GETHER enabled */
-	__raw_writel(1 << 16, INTC_INT2MSKCR1);
-
-	/* DMAC enabled */
-	__raw_writel(1 << 8, INTC_INT2MSKCR);
-}
diff --git a/arch/sh/boards/mach-sh7763rdp/setup.c b/arch/sh/boards/mach-sh7763rdp/setup.c
deleted file mode 100644
index 97e715e4e9b33c..00000000000000
--- a/arch/sh/boards/mach-sh7763rdp/setup.c
+++ /dev/null
@@ -1,213 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * linux/arch/sh/boards/renesas/sh7763rdp/setup.c
- *
- * Renesas Solutions sh7763rdp board
- *
- * Copyright (C) 2008 Renesas Solutions Corp.
- * Copyright (C) 2008 Nobuhiro Iwamatsu <iwamatsu.nobuhiro at renesas.com>
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/interrupt.h>
-#include <linux/input.h>
-#include <linux/mtd/physmap.h>
-#include <linux/fb.h>
-#include <linux/io.h>
-#include <linux/sh_eth.h>
-#include <linux/sh_intc.h>
-#include <mach/sh7763rdp.h>
-#include <asm/sh7760fb.h>
-
-/* NOR Flash */
-static struct mtd_partition sh7763rdp_nor_flash_partitions[] = {
-	{
-		.name = "U-Boot",
-		.offset = 0,
-		.size = (2 * 128 * 1024),
-		.mask_flags = MTD_WRITEABLE,	/* Read-only */
-	}, {
-		.name = "Linux-Kernel",
-		.offset = MTDPART_OFS_APPEND,
-		.size = (20 * 128 * 1024),
-	}, {
-		.name = "Root Filesystem",
-		.offset = MTDPART_OFS_APPEND,
-		.size = MTDPART_SIZ_FULL,
-	},
-};
-
-static struct physmap_flash_data sh7763rdp_nor_flash_data = {
-	.width = 2,
-	.parts = sh7763rdp_nor_flash_partitions,
-	.nr_parts = ARRAY_SIZE(sh7763rdp_nor_flash_partitions),
-};
-
-static struct resource sh7763rdp_nor_flash_resources[] = {
-	[0] = {
-		.name = "NOR Flash",
-		.start = 0,
-		.end = (64 * 1024 * 1024),
-		.flags = IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device sh7763rdp_nor_flash_device = {
-	.name = "physmap-flash",
-	.resource = sh7763rdp_nor_flash_resources,
-	.num_resources = ARRAY_SIZE(sh7763rdp_nor_flash_resources),
-	.dev = {
-		.platform_data = &sh7763rdp_nor_flash_data,
-	},
-};
-
-/*
- * SH-Ether
- *
- * SH Ether of SH7763 has multi IRQ handling.
- * (0x920,0x940,0x960 -> 0x920)
- */
-static struct resource sh_eth_resources[] = {
-	{
-		.start  = 0xFEE00800,   /* use eth1 */
-		.end    = 0xFEE00F7C - 1,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = 0xFEE01800,   /* TSU */
-		.end    = 0xFEE01FFF,
-		.flags  = IORESOURCE_MEM,
-	}, {
-		.start  = evt2irq(0x920),   /* irq number */
-		.flags  = IORESOURCE_IRQ,
-	},
-};
-
-static struct sh_eth_plat_data sh7763_eth_pdata = {
-	.phy = 1,
-	.phy_interface = PHY_INTERFACE_MODE_MII,
-};
-
-static struct platform_device sh7763rdp_eth_device = {
-	.name       = "sh7763-gether",
-	.resource   = sh_eth_resources,
-	.num_resources  = ARRAY_SIZE(sh_eth_resources),
-	.dev        = {
-		.platform_data = &sh7763_eth_pdata,
-	},
-};
-
-/* SH7763 LCDC */
-static struct resource sh7763rdp_fb_resources[] = {
-	{
-		.start  = 0xFFE80000,
-		.end    = 0xFFE80442 - 1,
-		.flags  = IORESOURCE_MEM,
-	},
-};
-
-static struct fb_videomode sh7763fb_videomode = {
-	.refresh = 60,
-	.name = "VGA Monitor",
-	.xres = 640,
-	.yres = 480,
-	.pixclock = 10000,
-	.left_margin = 80,
-	.right_margin = 24,
-	.upper_margin = 30,
-	.lower_margin = 1,
-	.hsync_len = 96,
-	.vsync_len = 1,
-	.sync = 0,
-	.vmode = FB_VMODE_NONINTERLACED,
-	.flag = FBINFO_FLAG_DEFAULT,
-};
-
-static struct sh7760fb_platdata sh7763fb_def_pdata = {
-	.def_mode = &sh7763fb_videomode,
-	.ldmtr = (LDMTR_TFT_COLOR_16|LDMTR_MCNT),
-	.lddfr = LDDFR_16BPP_RGB565,
-	.ldpmmr = 0x0000,
-	.ldpspr = 0xFFFF,
-	.ldaclnr = 0x0001,
-	.ldickr = 0x1102,
-	.rotate = 0,
-	.novsync = 0,
-	.blank = NULL,
-};
-
-static struct platform_device sh7763rdp_fb_device = {
-	.name		= "sh7760-lcdc",
-	.resource	= sh7763rdp_fb_resources,
-	.num_resources = ARRAY_SIZE(sh7763rdp_fb_resources),
-	.dev = {
-		.platform_data = &sh7763fb_def_pdata,
-	},
-};
-
-static struct platform_device *sh7763rdp_devices[] __initdata = {
-	&sh7763rdp_nor_flash_device,
-	&sh7763rdp_eth_device,
-	&sh7763rdp_fb_device,
-};
-
-static int __init sh7763rdp_devices_setup(void)
-{
-	return platform_add_devices(sh7763rdp_devices,
-				    ARRAY_SIZE(sh7763rdp_devices));
-}
-device_initcall(sh7763rdp_devices_setup);
-
-static void __init sh7763rdp_setup(char **cmdline_p)
-{
-	/* Board version check */
-	if (__raw_readw(CPLD_BOARD_ID_ERV_REG) == 0xECB1)
-		printk(KERN_INFO "RTE Standard Configuration\n");
-	else
-		printk(KERN_INFO "RTA Standard Configuration\n");
-
-	/* USB pin select bits (clear bit 5-2 to 0) */
-	__raw_writew((__raw_readw(PORT_PSEL2) & 0xFFC3), PORT_PSEL2);
-	/* USBH setup port I controls to other (clear bits 4-9 to 0) */
-	__raw_writew(__raw_readw(PORT_PICR) & 0xFC0F, PORT_PICR);
-
-	/* Select USB Host controller */
-	__raw_writew(0x00, USB_USBHSC);
-
-	/* For LCD */
-	/* set PTJ7-1, bits 15-2 of PJCR to 0 */
-	__raw_writew(__raw_readw(PORT_PJCR) & 0x0003, PORT_PJCR);
-	/* set PTI5, bits 11-10 of PICR to 0 */
-	__raw_writew(__raw_readw(PORT_PICR) & 0xF3FF, PORT_PICR);
-	__raw_writew(0, PORT_PKCR);
-	__raw_writew(0, PORT_PLCR);
-	/* set PSEL2 bits 14-8, 5-4, of PSEL2 to 0 */
-	__raw_writew((__raw_readw(PORT_PSEL2) & 0x00C0), PORT_PSEL2);
-	/* set PSEL3 bits 14-12, 6-4, 2-0 of PSEL3 to 0 */
-	__raw_writew((__raw_readw(PORT_PSEL3) & 0x0700), PORT_PSEL3);
-
-	/* For HAC */
-	/* bit3-0  0100:HAC & SSI1 enable */
-	__raw_writew((__raw_readw(PORT_PSEL1) & 0xFFF0) | 0x0004, PORT_PSEL1);
-	/* bit14      1:SSI_HAC_CLK enable */
-	__raw_writew(__raw_readw(PORT_PSEL4) | 0x4000, PORT_PSEL4);
-
-	/* SH-Ether */
-	__raw_writew((__raw_readw(PORT_PSEL1) & ~0xff00) | 0x2400, PORT_PSEL1);
-	__raw_writew(0x0, PORT_PFCR);
-	__raw_writew(0x0, PORT_PFCR);
-	__raw_writew(0x0, PORT_PFCR);
-
-	/* MMC */
-	/*selects SCIF and MMC other functions */
-	__raw_writew(0x0001, PORT_PSEL0);
-	/* MMC clock operates */
-	__raw_writel(__raw_readl(MSTPCR1) & ~0x8, MSTPCR1);
-	__raw_writew(__raw_readw(PORT_PACR) & ~0x3000, PORT_PACR);
-	__raw_writew(__raw_readw(PORT_PCCR) & ~0xCFC3, PORT_PCCR);
-}
-
-static struct sh_machine_vector mv_sh7763rdp __initmv = {
-	.mv_name = "sh7763drp",
-	.mv_setup = sh7763rdp_setup,
-	.mv_init_irq = init_sh7763rdp_IRQ,
-};
diff --git a/arch/sh/boards/mach-x3proto/Makefile b/arch/sh/boards/mach-x3proto/Makefile
deleted file mode 100644
index 6caefa1145980d..00000000000000
--- a/arch/sh/boards/mach-x3proto/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y += setup.o ilsel.o
-
-obj-$(CONFIG_GPIOLIB)		+= gpio.o
diff --git a/arch/sh/boards/mach-x3proto/gpio.c b/arch/sh/boards/mach-x3proto/gpio.c
deleted file mode 100644
index f82d3a6a844a58..00000000000000
--- a/arch/sh/boards/mach-x3proto/gpio.c
+++ /dev/null
@@ -1,136 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/mach-x3proto/gpio.c
- *
- * Renesas SH-X3 Prototype Baseboard GPIO Support.
- *
- * Copyright (C) 2010 - 2012  Paul Mundt
- */
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/gpio/driver.h>
-#include <linux/irq.h>
-#include <linux/kernel.h>
-#include <linux/spinlock.h>
-#include <linux/irqdomain.h>
-#include <linux/io.h>
-#include <mach/ilsel.h>
-#include <mach/hardware.h>
-
-#define KEYCTLR	0xb81c0000
-#define KEYOUTR	0xb81c0002
-#define KEYDETR 0xb81c0004
-
-static DEFINE_SPINLOCK(x3proto_gpio_lock);
-static struct irq_domain *x3proto_irq_domain;
-
-static int x3proto_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
-{
-	unsigned long flags;
-	unsigned int data;
-
-	spin_lock_irqsave(&x3proto_gpio_lock, flags);
-	data = __raw_readw(KEYCTLR);
-	data |= (1 << gpio);
-	__raw_writew(data, KEYCTLR);
-	spin_unlock_irqrestore(&x3proto_gpio_lock, flags);
-
-	return 0;
-}
-
-static int x3proto_gpio_get(struct gpio_chip *chip, unsigned gpio)
-{
-	return !!(__raw_readw(KEYDETR) & (1 << gpio));
-}
-
-static int x3proto_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
-{
-	int virq;
-
-	if (gpio < chip->ngpio)
-		virq = irq_create_mapping(x3proto_irq_domain, gpio);
-	else
-		virq = -ENXIO;
-
-	return virq;
-}
-
-static void x3proto_gpio_irq_handler(struct irq_desc *desc)
-{
-	struct irq_data *data = irq_desc_get_irq_data(desc);
-	struct irq_chip *chip = irq_data_get_irq_chip(data);
-	unsigned long mask;
-	int pin;
-
-	chip->irq_mask_ack(data);
-
-	mask = __raw_readw(KEYDETR);
-	for_each_set_bit(pin, &mask, NR_BASEBOARD_GPIOS)
-		generic_handle_domain_irq(x3proto_irq_domain, pin);
-
-	chip->irq_unmask(data);
-}
-
-struct gpio_chip x3proto_gpio_chip = {
-	.label			= "x3proto-gpio",
-	.direction_input	= x3proto_gpio_direction_input,
-	.get			= x3proto_gpio_get,
-	.to_irq			= x3proto_gpio_to_irq,
-	.base			= -1,
-	.ngpio			= NR_BASEBOARD_GPIOS,
-};
-
-static int x3proto_gpio_irq_map(struct irq_domain *domain, unsigned int virq,
-				irq_hw_number_t hwirq)
-{
-	irq_set_chip_and_handler_name(virq, &dummy_irq_chip, handle_simple_irq,
-				      "gpio");
-
-	return 0;
-}
-
-static struct irq_domain_ops x3proto_gpio_irq_ops = {
-	.map	= x3proto_gpio_irq_map,
-	.xlate	= irq_domain_xlate_twocell,
-};
-
-int __init x3proto_gpio_setup(void)
-{
-	int ilsel, ret;
-
-	ilsel = ilsel_enable(ILSEL_KEY);
-	if (unlikely(ilsel < 0))
-		return ilsel;
-
-	ret = gpiochip_add_data(&x3proto_gpio_chip, NULL);
-	if (unlikely(ret))
-		goto err_gpio;
-
-	x3proto_irq_domain = irq_domain_add_linear(NULL, NR_BASEBOARD_GPIOS,
-						   &x3proto_gpio_irq_ops, NULL);
-	if (unlikely(!x3proto_irq_domain))
-		goto err_irq;
-
-	pr_info("registering '%s' support, handling GPIOs %u -> %u, "
-		"bound to IRQ %u\n",
-		x3proto_gpio_chip.label, x3proto_gpio_chip.base,
-		x3proto_gpio_chip.base + x3proto_gpio_chip.ngpio,
-		ilsel);
-
-	irq_set_chained_handler(ilsel, x3proto_gpio_irq_handler);
-	irq_set_irq_wake(ilsel, 1);
-
-	return 0;
-
-err_irq:
-	gpiochip_remove(&x3proto_gpio_chip);
-	ret = 0;
-err_gpio:
-	synchronize_irq(ilsel);
-
-	ilsel_disable(ILSEL_KEY);
-
-	return ret;
-}
diff --git a/arch/sh/boards/mach-x3proto/ilsel.c b/arch/sh/boards/mach-x3proto/ilsel.c
deleted file mode 100644
index f0d5eb41521a49..00000000000000
--- a/arch/sh/boards/mach-x3proto/ilsel.c
+++ /dev/null
@@ -1,156 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/mach-x3proto/ilsel.c
- *
- * Helper routines for SH-X3 proto board ILSEL.
- *
- * Copyright (C) 2007 - 2010  Paul Mundt
- */
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/bitmap.h>
-#include <linux/io.h>
-#include <mach/ilsel.h>
-
-/*
- * ILSEL is split across:
- *
- *	ILSEL0 - 0xb8100004 [ Levels  1 -  4 ]
- *	ILSEL1 - 0xb8100006 [ Levels  5 -  8 ]
- *	ILSEL2 - 0xb8100008 [ Levels  9 - 12 ]
- *	ILSEL3 - 0xb810000a [ Levels 13 - 15 ]
- *
- * With each level being relative to an ilsel_source_t.
- */
-#define ILSEL_BASE	0xb8100004
-#define ILSEL_LEVELS	15
-
-/*
- * ILSEL level map, in descending order from the highest level down.
- *
- * Supported levels are 1 - 15 spread across ILSEL0 - ILSEL4, mapping
- * directly to IRLs. As the IRQs are numbered in reverse order relative
- * to the interrupt level, the level map is carefully managed to ensure a
- * 1:1 mapping between the bit position and the IRQ number.
- *
- * This careful constructions allows ilsel_enable*() to be referenced
- * directly for hooking up an ILSEL set and getting back an IRQ which can
- * subsequently be used for internal accounting in the (optional) disable
- * path.
- */
-static unsigned long ilsel_level_map;
-
-static inline unsigned int ilsel_offset(unsigned int bit)
-{
-	return ILSEL_LEVELS - bit - 1;
-}
-
-static inline unsigned long mk_ilsel_addr(unsigned int bit)
-{
-	return ILSEL_BASE + ((ilsel_offset(bit) >> 1) & ~0x1);
-}
-
-static inline unsigned int mk_ilsel_shift(unsigned int bit)
-{
-	return (ilsel_offset(bit) & 0x3) << 2;
-}
-
-static void __ilsel_enable(ilsel_source_t set, unsigned int bit)
-{
-	unsigned int tmp, shift;
-	unsigned long addr;
-
-	pr_notice("enabling ILSEL set %d\n", set);
-
-	addr = mk_ilsel_addr(bit);
-	shift = mk_ilsel_shift(bit);
-
-	pr_debug("%s: bit#%d: addr - 0x%08lx (shift %d, set %d)\n",
-		 __func__, bit, addr, shift, set);
-
-	tmp = __raw_readw(addr);
-	tmp &= ~(0xf << shift);
-	tmp |= set << shift;
-	__raw_writew(tmp, addr);
-}
-
-/**
- * ilsel_enable - Enable an ILSEL set.
- * @set: ILSEL source (see ilsel_source_t enum in include/asm-sh/ilsel.h).
- *
- * Enables a given non-aliased ILSEL source (<= ILSEL_KEY) at the highest
- * available interrupt level. Callers should take care to order callsites
- * noting descending interrupt levels. Aliasing FPGA and external board
- * IRQs need to use ilsel_enable_fixed().
- *
- * The return value is an IRQ number that can later be taken down with
- * ilsel_disable().
- */
-int ilsel_enable(ilsel_source_t set)
-{
-	unsigned int bit;
-
-	if (unlikely(set > ILSEL_KEY)) {
-		pr_err("Aliased sources must use ilsel_enable_fixed()\n");
-		return -EINVAL;
-	}
-
-	do {
-		bit = find_first_zero_bit(&ilsel_level_map, ILSEL_LEVELS);
-	} while (test_and_set_bit(bit, &ilsel_level_map));
-
-	__ilsel_enable(set, bit);
-
-	return bit;
-}
-EXPORT_SYMBOL_GPL(ilsel_enable);
-
-/**
- * ilsel_enable_fixed - Enable an ILSEL set at a fixed interrupt level
- * @set: ILSEL source (see ilsel_source_t enum in include/asm-sh/ilsel.h).
- * @level: Interrupt level (1 - 15)
- *
- * Enables a given ILSEL source at a fixed interrupt level. Necessary
- * both for level reservation as well as for aliased sources that only
- * exist on special ILSEL#s.
- *
- * Returns an IRQ number (as ilsel_enable()).
- */
-int ilsel_enable_fixed(ilsel_source_t set, unsigned int level)
-{
-	unsigned int bit = ilsel_offset(level - 1);
-
-	if (test_and_set_bit(bit, &ilsel_level_map))
-		return -EBUSY;
-
-	__ilsel_enable(set, bit);
-
-	return bit;
-}
-EXPORT_SYMBOL_GPL(ilsel_enable_fixed);
-
-/**
- * ilsel_disable - Disable an ILSEL set
- * @irq: Bit position for ILSEL set value (retval from enable routines)
- *
- * Disable a previously enabled ILSEL set.
- */
-void ilsel_disable(unsigned int irq)
-{
-	unsigned long addr;
-	unsigned int tmp;
-
-	pr_notice("disabling ILSEL set %d\n", irq);
-
-	addr = mk_ilsel_addr(irq);
-
-	tmp = __raw_readw(addr);
-	tmp &= ~(0xf << mk_ilsel_shift(irq));
-	__raw_writew(tmp, addr);
-
-	clear_bit(irq, &ilsel_level_map);
-}
-EXPORT_SYMBOL_GPL(ilsel_disable);
diff --git a/arch/sh/boards/mach-x3proto/setup.c b/arch/sh/boards/mach-x3proto/setup.c
deleted file mode 100644
index 95b85f2e13dda7..00000000000000
--- a/arch/sh/boards/mach-x3proto/setup.c
+++ /dev/null
@@ -1,270 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boards/mach-x3proto/setup.c
- *
- * Renesas SH-X3 Prototype Board Support.
- *
- * Copyright (C) 2007 - 2010  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/kernel.h>
-#include <linux/io.h>
-#include <linux/smc91x.h>
-#include <linux/irq.h>
-#include <linux/interrupt.h>
-#include <linux/input.h>
-#include <linux/usb/r8a66597.h>
-#include <linux/usb/m66592.h>
-#include <linux/gpio.h>
-#include <linux/gpio_keys.h>
-#include <mach/ilsel.h>
-#include <mach/hardware.h>
-#include <asm/smp-ops.h>
-
-static struct resource heartbeat_resources[] = {
-	[0] = {
-		.start	= 0xb8140020,
-		.end	= 0xb8140020,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct platform_device heartbeat_device = {
-	.name		= "heartbeat",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(heartbeat_resources),
-	.resource	= heartbeat_resources,
-};
-
-static struct smc91x_platdata smc91x_info = {
-	.flags	= SMC91X_USE_16BIT | SMC91X_NOWAIT,
-};
-
-static struct resource smc91x_resources[] = {
-	[0] = {
-		.start		= 0x18000300,
-		.end		= 0x18000300 + 0x10 - 1,
-		.flags		= IORESOURCE_MEM,
-	},
-	[1] = {
-		/* Filled in by ilsel */
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device smc91x_device = {
-	.name		= "smc91x",
-	.id		= -1,
-	.resource	= smc91x_resources,
-	.num_resources	= ARRAY_SIZE(smc91x_resources),
-	.dev	= {
-		.platform_data = &smc91x_info,
-	},
-};
-
-static struct r8a66597_platdata r8a66597_data = {
-	.xtal = R8A66597_PLATDATA_XTAL_12MHZ,
-	.vif = 1,
-};
-
-static struct resource r8a66597_usb_host_resources[] = {
-	[0] = {
-		.start	= 0x18040000,
-		.end	= 0x18080000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		/* Filled in by ilsel */
-		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
-	},
-};
-
-static struct platform_device r8a66597_usb_host_device = {
-	.name		= "r8a66597_hcd",
-	.id		= -1,
-	.dev = {
-		.dma_mask		= NULL,		/* don't use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &r8a66597_data,
-	},
-	.num_resources	= ARRAY_SIZE(r8a66597_usb_host_resources),
-	.resource	= r8a66597_usb_host_resources,
-};
-
-static struct m66592_platdata usbf_platdata = {
-	.xtal = M66592_PLATDATA_XTAL_24MHZ,
-	.vif = 1,
-};
-
-static struct resource m66592_usb_peripheral_resources[] = {
-	[0] = {
-		.name	= "m66592_udc",
-		.start	= 0x18080000,
-		.end	= 0x180c0000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.name	= "m66592_udc",
-		/* Filled in by ilsel */
-		.flags	= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device m66592_usb_peripheral_device = {
-	.name		= "m66592_udc",
-	.id		= -1,
-	.dev = {
-		.dma_mask		= NULL,		/* don't use dma */
-		.coherent_dma_mask	= 0xffffffff,
-		.platform_data		= &usbf_platdata,
-	},
-	.num_resources	= ARRAY_SIZE(m66592_usb_peripheral_resources),
-	.resource	= m66592_usb_peripheral_resources,
-};
-
-static struct gpio_keys_button baseboard_buttons[NR_BASEBOARD_GPIOS] = {
-	{
-		.desc		= "key44",
-		.code		= KEY_POWER,
-		.active_low	= 1,
-		.wakeup		= 1,
-	}, {
-		.desc		= "key43",
-		.code		= KEY_SUSPEND,
-		.active_low	= 1,
-		.wakeup		= 1,
-	}, {
-		.desc		= "key42",
-		.code		= KEY_KATAKANAHIRAGANA,
-		.active_low	= 1,
-	}, {
-		.desc		= "key41",
-		.code		= KEY_SWITCHVIDEOMODE,
-		.active_low	= 1,
-	}, {
-		.desc		= "key34",
-		.code		= KEY_F12,
-		.active_low	= 1,
-	}, {
-		.desc		= "key33",
-		.code		= KEY_F11,
-		.active_low	= 1,
-	}, {
-		.desc		= "key32",
-		.code		= KEY_F10,
-		.active_low	= 1,
-	}, {
-		.desc		= "key31",
-		.code		= KEY_F9,
-		.active_low	= 1,
-	}, {
-		.desc		= "key24",
-		.code		= KEY_F8,
-		.active_low	= 1,
-	}, {
-		.desc		= "key23",
-		.code		= KEY_F7,
-		.active_low	= 1,
-	}, {
-		.desc		= "key22",
-		.code		= KEY_F6,
-		.active_low	= 1,
-	}, {
-		.desc		= "key21",
-		.code		= KEY_F5,
-		.active_low	= 1,
-	}, {
-		.desc		= "key14",
-		.code		= KEY_F4,
-		.active_low	= 1,
-	}, {
-		.desc		= "key13",
-		.code		= KEY_F3,
-		.active_low	= 1,
-	}, {
-		.desc		= "key12",
-		.code		= KEY_F2,
-		.active_low	= 1,
-	}, {
-		.desc		= "key11",
-		.code		= KEY_F1,
-		.active_low	= 1,
-	},
-};
-
-static struct gpio_keys_platform_data baseboard_buttons_data = {
-	.buttons	= baseboard_buttons,
-	.nbuttons	= ARRAY_SIZE(baseboard_buttons),
-};
-
-static struct platform_device baseboard_buttons_device = {
-	.name		= "gpio-keys",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &baseboard_buttons_data,
-	},
-};
-
-static struct platform_device *x3proto_devices[] __initdata = {
-	&heartbeat_device,
-	&smc91x_device,
-	&r8a66597_usb_host_device,
-	&m66592_usb_peripheral_device,
-	&baseboard_buttons_device,
-};
-
-static void __init x3proto_init_irq(void)
-{
-	plat_irq_setup_pins(IRQ_MODE_IRL3210);
-
-	/* Set ICR0.LVLMODE */
-	__raw_writel(__raw_readl(0xfe410000) | (1 << 21), 0xfe410000);
-}
-
-static int __init x3proto_devices_setup(void)
-{
-	int ret, i;
-
-	/*
-	 * IRLs are only needed for ILSEL mappings, so flip over the INTC
-	 * pins at a later point to enable the GPIOs to settle.
-	 */
-	x3proto_init_irq();
-
-	/*
-	 * Now that ILSELs are available, set up the baseboard GPIOs.
-	 */
-	ret = x3proto_gpio_setup();
-	if (unlikely(ret))
-		return ret;
-
-	/*
-	 * Propagate dynamic GPIOs for the baseboard button device.
-	 */
-	for (i = 0; i < ARRAY_SIZE(baseboard_buttons); i++)
-		baseboard_buttons[i].gpio = x3proto_gpio_chip.base + i;
-
-	r8a66597_usb_host_resources[1].start =
-		r8a66597_usb_host_resources[1].end = ilsel_enable(ILSEL_USBH_I);
-
-	m66592_usb_peripheral_resources[1].start =
-		m66592_usb_peripheral_resources[1].end = ilsel_enable(ILSEL_USBP_I);
-
-	smc91x_resources[1].start =
-		smc91x_resources[1].end = ilsel_enable(ILSEL_LAN);
-
-	return platform_add_devices(x3proto_devices,
-				    ARRAY_SIZE(x3proto_devices));
-}
-device_initcall(x3proto_devices_setup);
-
-static void __init x3proto_setup(char **cmdline_p)
-{
-	register_smp_ops(&shx3_smp_ops);
-}
-
-static struct sh_machine_vector mv_x3proto __initmv = {
-	.mv_name		= "x3proto",
-	.mv_setup		= x3proto_setup,
-};
diff --git a/arch/sh/boards/of-generic.c b/arch/sh/boards/of-generic.c
deleted file mode 100644
index f7f3e618e85b6a..00000000000000
--- a/arch/sh/boards/of-generic.c
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SH generic board support, using device tree
- *
- * Copyright (C) 2015-2016 Smart Energy Instruments, Inc.
- */
-
-#include <linux/of.h>
-#include <linux/of_clk.h>
-#include <linux/of_fdt.h>
-#include <linux/clocksource.h>
-#include <linux/irqchip.h>
-#include <asm/machvec.h>
-#include <asm/rtc.h>
-
-#ifdef CONFIG_SMP
-
-static void dummy_smp_setup(void)
-{
-}
-
-static void dummy_prepare_cpus(unsigned int max_cpus)
-{
-}
-
-static void dummy_start_cpu(unsigned int cpu, unsigned long entry_point)
-{
-}
-
-static unsigned int dummy_smp_processor_id(void)
-{
-	return 0;
-}
-
-static void dummy_send_ipi(unsigned int cpu, unsigned int message)
-{
-}
-
-static struct plat_smp_ops dummy_smp_ops = {
-	.smp_setup		= dummy_smp_setup,
-	.prepare_cpus		= dummy_prepare_cpus,
-	.start_cpu		= dummy_start_cpu,
-	.smp_processor_id	= dummy_smp_processor_id,
-	.send_ipi		= dummy_send_ipi,
-	.cpu_die		= native_cpu_die,
-	.cpu_disable		= native_cpu_disable,
-	.play_dead		= native_play_dead,
-};
-
-extern const struct of_cpu_method __cpu_method_of_table[];
-const struct of_cpu_method __cpu_method_of_table_sentinel
-	__section("__cpu_method_of_table_end");
-
-static void sh_of_smp_probe(void)
-{
-	struct device_node *np;
-	const char *method = NULL;
-	const struct of_cpu_method *m = __cpu_method_of_table;
-
-	pr_info("SH generic board support: scanning for cpus\n");
-
-	init_cpu_possible(cpumask_of(0));
-
-	for_each_of_cpu_node(np) {
-		u64 id = of_get_cpu_hwid(np, 0);
-
-		if (id < NR_CPUS) {
-			if (!method)
-				of_property_read_string(np, "enable-method", &method);
-			set_cpu_possible(id, true);
-			set_cpu_present(id, true);
-			__cpu_number_map[id] = id;
-			__cpu_logical_map[id] = id;
-		}
-	}
-	if (!method) {
-		np = of_find_node_by_name(NULL, "cpus");
-		of_property_read_string(np, "enable-method", &method);
-		of_node_put(np);
-	}
-
-	pr_info("CPU enable method: %s\n", method);
-	if (method)
-		for (; m->method; m++)
-			if (!strcmp(m->method, method)) {
-				register_smp_ops(m->ops);
-				return;
-			}
-
-	register_smp_ops(&dummy_smp_ops);
-}
-
-#else
-
-static void sh_of_smp_probe(void)
-{
-}
-
-#endif
-
-static void noop(void)
-{
-}
-
-static int noopi(void)
-{
-	return 0;
-}
-
-static void __init sh_of_mem_reserve(void)
-{
-	early_init_fdt_reserve_self();
-	early_init_fdt_scan_reserved_mem();
-}
-
-static void __init sh_of_setup(char **cmdline_p)
-{
-	struct device_node *root;
-
-	sh_mv.mv_name = "Unknown SH model";
-	root = of_find_node_by_path("/");
-	if (root) {
-		of_property_read_string(root, "model", &sh_mv.mv_name);
-		of_node_put(root);
-	}
-
-	sh_of_smp_probe();
-}
-
-static int sh_of_irq_demux(int irq)
-{
-	/* FIXME: eventually this should not be used at all;
-	 * the interrupt controller should set_handle_irq(). */
-	return irq;
-}
-
-static void __init sh_of_init_irq(void)
-{
-	pr_info("SH generic board support: scanning for interrupt controllers\n");
-	irqchip_init();
-}
-
-static int __init sh_of_clk_init(void)
-{
-#ifdef CONFIG_COMMON_CLK
-	/* Disabled pending move to COMMON_CLK framework. */
-	pr_info("SH generic board support: scanning for clk providers\n");
-	of_clk_init(NULL);
-#endif
-	return 0;
-}
-
-static struct sh_machine_vector __initmv sh_of_generic_mv = {
-	.mv_setup	= sh_of_setup,
-	.mv_name	= "devicetree", /* replaced by DT root's model */
-	.mv_irq_demux	= sh_of_irq_demux,
-	.mv_init_irq	= sh_of_init_irq,
-	.mv_clk_init	= sh_of_clk_init,
-	.mv_mode_pins	= noopi,
-	.mv_mem_init	= noop,
-	.mv_mem_reserve	= sh_of_mem_reserve,
-};
-
-struct sh_clk_ops;
-
-void __init __weak arch_init_clk_ops(struct sh_clk_ops **ops, int idx)
-{
-}
-
-void __init __weak plat_irq_setup(void)
-{
-}
diff --git a/arch/sh/boot/.gitignore b/arch/sh/boot/.gitignore
deleted file mode 100644
index 6603bbbc917d64..00000000000000
--- a/arch/sh/boot/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-zImage
-vmlinux*
-uImage*
-!vmlinux.scr
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
deleted file mode 100644
index 1f5d2df3c7e060..00000000000000
--- a/arch/sh/boot/Makefile
+++ /dev/null
@@ -1,115 +0,0 @@
-#
-# arch/sh/boot/Makefile
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-#
-# Copyright (C) 1999 Stuart Menefy
-#
-
-#
-# Assign safe dummy values if these variables are not defined,
-# in order to suppress error message.
-#
-CONFIG_PAGE_OFFSET	?= 0x80000000
-CONFIG_MEMORY_START	?= 0x0c000000
-CONFIG_BOOT_LINK_OFFSET	?= 0x00800000
-CONFIG_ZERO_PAGE_OFFSET	?= 0x00001000
-CONFIG_ENTRY_OFFSET	?= 0x00001000
-CONFIG_PHYSICAL_START	?= $(CONFIG_MEMORY_START)
-
-suffix_y := bin
-suffix_$(CONFIG_KERNEL_GZIP)	:= gz
-suffix_$(CONFIG_KERNEL_BZIP2)	:= bz2
-suffix_$(CONFIG_KERNEL_LZMA)	:= lzma
-suffix_$(CONFIG_KERNEL_XZ)	:= xz
-suffix_$(CONFIG_KERNEL_LZO)	:= lzo
-
-targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \
-	   uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin \
-	   vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
-	   vmlinux.bin.xz vmlinux.bin.lzo
-subdir- := compressed romimage
-
-$(obj)/zImage: $(obj)/compressed/vmlinux FORCE
-	$(call if_changed,objcopy)
-	@echo '  Kernel: $@ is ready'
-
-$(obj)/compressed/vmlinux: FORCE
-	$(Q)$(MAKE) $(build)=$(obj)/compressed $@
-
-$(obj)/romImage: $(obj)/romimage/vmlinux FORCE
-	$(call if_changed,objcopy)
-	@echo '  Kernel: $@ is ready'
-
-$(obj)/romimage/vmlinux: $(obj)/zImage FORCE
-	$(Q)$(MAKE) $(build)=$(obj)/romimage $@
-
-KERNEL_MEMORY	:= $(shell /bin/bash -c 'printf "0x%08x" \
-		     $$[$(CONFIG_PHYSICAL_START) & 0x1fffffff]')
-
-KERNEL_LOAD	:= $(shell /bin/bash -c 'printf "0x%08x" \
-		     $$[$(CONFIG_PAGE_OFFSET)  + \
-			$(KERNEL_MEMORY) + \
-			$(CONFIG_ZERO_PAGE_OFFSET)]')
-
-KERNEL_ENTRY	:= $(shell /bin/bash -c 'printf "0x%08x" \
-		     $$[$(CONFIG_PAGE_OFFSET)  + \
-			$(KERNEL_MEMORY) + \
-			$(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
-
-UIMAGE_LOADADDR = $(KERNEL_LOAD)
-UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
-
-$(obj)/vmlinux.bin: vmlinux FORCE
-	$(call if_changed,objcopy)
-
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,gzip)
-
-$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,bzip2)
-
-$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,lzma)
-
-$(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,xzkern)
-
-$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,lzo)
-
-$(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORCE
-	$(call if_changed,uimage,bzip2)
-
-$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
-	$(call if_changed,uimage,gzip)
-
-$(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FORCE
-	$(call if_changed,uimage,lzma)
-
-$(obj)/uImage.xz: $(obj)/vmlinux.bin.xz FORCE
-	$(call if_changed,uimage,xz)
-
-$(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORCE
-	$(call if_changed,uimage,lzo)
-
-$(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,uimage,none)
-
-OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec
-$(obj)/vmlinux.srec: $(obj)/compressed/vmlinux FORCE
-	$(call if_changed,objcopy)
-
-OBJCOPYFLAGS_uImage.srec := -I binary -O srec
-$(obj)/uImage.srec: $(obj)/uImage FORCE
-	$(call if_changed,objcopy)
-
-$(obj)/uImage: $(obj)/uImage.$(suffix_y)
-	@ln -sf $(notdir $<) $@
-	@echo '  Image $@ is ready'
-
-export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \
-       CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \
-       KERNEL_MEMORY suffix_y
diff --git a/arch/sh/boot/compressed/.gitignore b/arch/sh/boot/compressed/.gitignore
deleted file mode 100644
index cd16663bc7c84c..00000000000000
--- a/arch/sh/boot/compressed/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-vmlinux.bin.*
diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
deleted file mode 100644
index 591125c42d49df..00000000000000
--- a/arch/sh/boot/compressed/Makefile
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# linux/arch/sh/boot/compressed/Makefile
-#
-# create a compressed vmlinux image from the original vmlinux
-#
-
-OBJECTS := head_32.o misc.o cache.o piggy.o \
-           ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
-
-# These were previously generated files. When you are building the kernel
-# with O=, make sure to remove the stale files in the output tree. Otherwise,
-# the build system wrongly compiles the stale ones.
-ifdef building_out_of_srctree
-$(shell rm -f $(addprefix $(obj)/, ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S lshrsi3.S))
-endif
-
-targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \
-           vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo $(OBJECTS)
-
-GCOV_PROFILE := n
-
-#
-# IMAGE_OFFSET is the load offset of the compression loader
-#
-ifeq ($(CONFIG_32BIT),y)
-IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \
-		     $$[$(CONFIG_MEMORY_START)  + \
-			$(CONFIG_BOOT_LINK_OFFSET)]')
-else
-IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \
-		     $$[$(CONFIG_PAGE_OFFSET)  + \
-			$(KERNEL_MEMORY) + \
-			$(CONFIG_BOOT_LINK_OFFSET)]')
-endif
-
-ccflags-remove-$(CONFIG_MCOUNT) += -pg
-
-LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
-		   -T $(obj)/../../kernel/vmlinux.lds
-
-KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
-
-$(obj)/vmlinux: $(addprefix $(obj)/, $(OBJECTS)) FORCE
-	$(call if_changed,ld)
-
-$(obj)/vmlinux.bin: vmlinux FORCE
-	$(call if_changed,objcopy)
-
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,gzip)
-$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,bzip2_with_size)
-$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,lzma_with_size)
-$(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,xzkern_with_size)
-$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
-	$(call if_changed,lzo_with_size)
-
-OBJCOPYFLAGS += -R .empty_zero_page
-
-LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
-
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
-	$(call if_changed,ld)
diff --git a/arch/sh/boot/compressed/ashiftrt.S b/arch/sh/boot/compressed/ashiftrt.S
deleted file mode 100644
index 0f3b291a3f4bca..00000000000000
--- a/arch/sh/boot/compressed/ashiftrt.S
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#include "../../lib/ashiftrt.S"
diff --git a/arch/sh/boot/compressed/ashldi3.c b/arch/sh/boot/compressed/ashldi3.c
deleted file mode 100644
index 7cebd646df839b..00000000000000
--- a/arch/sh/boot/compressed/ashldi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-#include "../../lib/ashldi3.c"
diff --git a/arch/sh/boot/compressed/ashlsi3.S b/arch/sh/boot/compressed/ashlsi3.S
deleted file mode 100644
index e354262b275f4d..00000000000000
--- a/arch/sh/boot/compressed/ashlsi3.S
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#include "../../lib/ashlsi3.S"
diff --git a/arch/sh/boot/compressed/ashrsi3.S b/arch/sh/boot/compressed/ashrsi3.S
deleted file mode 100644
index e564be9a4dcd89..00000000000000
--- a/arch/sh/boot/compressed/ashrsi3.S
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#include "../../lib/ashrsi3.S"
diff --git a/arch/sh/boot/compressed/cache.c b/arch/sh/boot/compressed/cache.c
deleted file mode 100644
index 31e04ff4841ed0..00000000000000
--- a/arch/sh/boot/compressed/cache.c
+++ /dev/null
@@ -1,13 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-int cache_control(unsigned int command)
-{
-	volatile unsigned int *p = (volatile unsigned int *) 0x80000000;
-	int i;
-
-	for (i = 0; i < (32 * 1024); i += 32) {
-		(void)*p;
-		p += (32 / sizeof(int));
-	}
-
-	return 0;
-}
diff --git a/arch/sh/boot/compressed/head_32.S b/arch/sh/boot/compressed/head_32.S
deleted file mode 100644
index 7bb168133dbbf8..00000000000000
--- a/arch/sh/boot/compressed/head_32.S
+++ /dev/null
@@ -1,126 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- *  linux/arch/sh/boot/compressed/head.S
- *
- *  Copyright (C) 1999 Stuart Menefy
- *  Copyright (C) 2003 SUGIOKA Toshinobu
- */
-
-.text
-
-#include <asm/page.h>
-
-	.global	startup
-startup:
-	/* Load initial status register */
-	mov.l   init_sr, r1
-	ldc     r1, sr
-
-	/* Move myself to proper location if necessary */
-	mova	1f, r0
-	mov.l	1f, r2
-	cmp/eq	r2, r0
-	bt	clear_bss
-	sub	r0, r2
-	mov.l	bss_start_addr, r0
-	mov	#0xffffffe0, r1
-	and	r1, r0			! align cache line
-	mov.l	text_start_addr, r3
-	mov	r0, r1
-	sub	r2, r1
-3:
-	mov.l	@r1, r4
-	mov.l	@(4,r1), r5
-	mov.l	@(8,r1), r6
-	mov.l	@(12,r1), r7
-	mov.l	@(16,r1), r8
-	mov.l	@(20,r1), r9
-	mov.l	@(24,r1), r10
-	mov.l	@(28,r1), r11
-	mov.l	r4, @r0
-	mov.l	r5, @(4,r0)
-	mov.l	r6, @(8,r0)
-	mov.l	r7, @(12,r0)
-	mov.l	r8, @(16,r0)
-	mov.l	r9, @(20,r0)
-	mov.l	r10, @(24,r0)
-	mov.l	r11, @(28,r0)
-#ifdef CONFIG_CPU_SH4
-	ocbwb	@r0
-#endif
-	cmp/hi	r3, r0
-	add	#-32, r0
-	bt/s	3b
-	 add	#-32, r1
-	mov.l	2f, r0
-	jmp	@r0
-	 nop
-
-	.align 2
-1:	.long	1b
-2:	.long	clear_bss
-text_start_addr:
-	.long	startup
-
-	/* Clear BSS */
-clear_bss:
-	mov.l	end_addr, r1
-	mov.l	bss_start_addr, r2
-	mov	#0, r0
-l1:
-	mov.l	r0, @-r1
-	cmp/eq	r1,r2
-	bf	l1
-
-	/* Set the initial pointer. */
-	mov.l	init_stack_addr, r0
-	mov.l	@r0, r15
-
-	/* Decompress the kernel */
-	mov.l	decompress_kernel_addr, r0
-	jsr	@r0
-	nop
-
-	/* Jump to the start of the decompressed kernel */
-	mov.l	kernel_start_addr, r0
-	jmp	@r0
-	nop
-	
-	.align	2
-bss_start_addr:
-	.long	__bss_start
-end_addr:
-	.long	_end
-init_sr:
-	.long	0x500000F0	/* Privileged mode, Bank=0, Block=1, IMASK=0xF */
-kexec_magic:
-	.long	0x400000F0	/* magic used by kexec to parse zImage format */
-init_stack_addr:
-	.long	stack_start
-decompress_kernel_addr:
-	.long	decompress_kernel
-kernel_start_addr:
-#ifdef CONFIG_32BIT
-	.long	___pa(_text+PAGE_SIZE)
-#else
-	.long	_text+PAGE_SIZE
-#endif
-
-	.align	9
-fake_headers_as_bzImage:
-	.word	0
-	.ascii	"HdrS"		! header signature
-	.word	0x0202		! header version number (>= 0x0105)
-				! or else old loadlin-1.5 will fail)
-	.word	0		! default_switch
-	.word	0		! SETUPSEG
-	.word	0x1000
-	.word	0		! pointing to kernel version string
-	.byte	0		! = 0, old one (LILO, Loadlin,
-				! 0xTV: T=0 for LILO
-				!       V = version
-	.byte	1		! Load flags bzImage=1
-	.word	0x8000		! size to move, when setup is not
-	.long	0x100000	! 0x100000 = default for big kernel
-	.long	0		! address of loaded ramdisk image
-	.long	0		# its size in bytes
diff --git a/arch/sh/boot/compressed/head_64.S b/arch/sh/boot/compressed/head_64.S
deleted file mode 100644
index 9993113c671386..00000000000000
--- a/arch/sh/boot/compressed/head_64.S
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * arch/shmedia/boot/compressed/head.S
- *
- * Copied from
- *   arch/shmedia/kernel/head.S
- * which carried the copyright:
- *   Copyright (C) 2000, 2001  Paolo Alberelli
- *
- * Modification for compressed loader:
- *   Copyright (C) 2002 Stuart Menefy (stuart.menefy at st.com)
- */
-#include <asm/cache.h>
-#include <asm/tlb.h>
-#include <cpu/mmu_context.h>
-#include <cpu/registers.h>
-
-/*
- * Fixed TLB entries to identity map the beginning of RAM
- */
-#define MMUIR_TEXT_H	0x0000000000000003 | CONFIG_MEMORY_START
-			/* Enabled, Shared, ASID 0, Eff. Add. 0xA0000000 */
-#define MMUIR_TEXT_L	0x000000000000009a | CONFIG_MEMORY_START
-			/* 512 Mb, Cacheable (Write-back), execute, Not User, Ph. Add. */
-
-#define MMUDR_CACHED_H	0x0000000000000003 | CONFIG_MEMORY_START
-			/* Enabled, Shared, ASID 0, Eff. Add. 0xA0000000 */
-#define MMUDR_CACHED_L	0x000000000000015a | CONFIG_MEMORY_START
-			/* 512 Mb, Cacheable (Write-back), read/write, Not User, Ph. Add. */
-
-#define	ICCR0_INIT_VAL	ICCR0_ON | ICCR0_ICI		/* ICE + ICI */
-#define	ICCR1_INIT_VAL	ICCR1_NOLOCK			/* No locking */
-
-#define	OCCR0_INIT_VAL	OCCR0_ON | OCCR0_OCI | OCCR0_WB	/* OCE + OCI + WB */
-#define	OCCR1_INIT_VAL	OCCR1_NOLOCK			/* No locking */
-
-	.text
-
-	.global	startup
-startup:
-	/*
-	 * Prevent speculative fetch on device memory due to
-	 * uninitialized target registers.
-	 * This must be executed before the first branch.
-	 */
-	ptabs/u	r63, tr0
-	ptabs/u	r63, tr1
-	ptabs/u	r63, tr2
-	ptabs/u	r63, tr3
-	ptabs/u	r63, tr4
-	ptabs/u	r63, tr5
-	ptabs/u	r63, tr6
-	ptabs/u	r63, tr7
-	synci
-
-	/*
-	 * Set initial TLB entries for cached and uncached regions.
-	 * Note: PTA/BLINK is PIC code, PTABS/BLINK isn't !
-	 */
-	/* Clear ITLBs */
-	pta	1f, tr1
-	movi	ITLB_FIXED, r21
-	movi	ITLB_LAST_VAR_UNRESTRICTED+TLB_STEP, r22
-1:	putcfg	r21, 0, r63		/* Clear MMUIR[n].PTEH.V */
-	addi	r21, TLB_STEP, r21
-        bne	r21, r22, tr1
-
-	/* Clear DTLBs */
-	pta	1f, tr1
-	movi	DTLB_FIXED, r21
-	movi	DTLB_LAST_VAR_UNRESTRICTED+TLB_STEP, r22
-1:	putcfg	r21, 0, r63		/* Clear MMUDR[n].PTEH.V */
-	addi	r21, TLB_STEP, r21
-        bne	r21, r22, tr1
-
-	/* Map one big (512Mb) page for ITLB */
-	movi	ITLB_FIXED, r21
-	movi	MMUIR_TEXT_L, r22	/* PTEL first */
-	putcfg	r21, 1, r22		/* Set MMUIR[0].PTEL */
-	movi	MMUIR_TEXT_H, r22	/* PTEH last */
-	putcfg	r21, 0, r22		/* Set MMUIR[0].PTEH */
-
-	/* Map one big CACHED (512Mb) page for DTLB */
-	movi	DTLB_FIXED, r21
-	movi	MMUDR_CACHED_L, r22	/* PTEL first */
-	putcfg	r21, 1, r22		/* Set MMUDR[0].PTEL */
-	movi	MMUDR_CACHED_H, r22	/* PTEH last */
-	putcfg	r21, 0, r22		/* Set MMUDR[0].PTEH */
-
-	/* ICache */
-	movi	ICCR_BASE, r21
-	movi	ICCR0_INIT_VAL, r22
-	movi	ICCR1_INIT_VAL, r23
-	putcfg	r21, ICCR_REG0, r22
-	putcfg	r21, ICCR_REG1, r23
-	synci
-
-	/* OCache */
-	movi	OCCR_BASE, r21
-	movi	OCCR0_INIT_VAL, r22
-	movi	OCCR1_INIT_VAL, r23
-	putcfg	r21, OCCR_REG0, r22
-	putcfg	r21, OCCR_REG1, r23
-	synco
-
-	/*
-	 * Enable the MMU.
-	 * From here-on code can be non-PIC.
-	 */
-	movi	SR_HARMLESS | SR_ENABLE_MMU, r22
-	putcon	r22, SSR
-	movi	1f, r22
-	putcon	r22, SPC
-	synco
-	rte				/* And now go into the hyperspace ... */
-1:					/* ... that's the next instruction ! */
-
-	/* Set initial stack pointer */
-	movi	datalabel stack_start, r0
-	ld.l	r0, 0, r15
-
-	/*
-	 * Clear bss
-	 */
-	pt	1f, tr1
-	movi	datalabel __bss_start, r22
-	movi	datalabel _end, r23
-1:	st.l	r22, 0, r63
-	addi	r22, 4, r22
-	bne	r22, r23, tr1
-
-	/*
-	 * Decompress the kernel.
-	 */
-	pt	decompress_kernel, tr0
-	blink	tr0, r18
-
-	/*
-	 * Disable the MMU.
-	 */
-	movi	SR_HARMLESS, r22
-	putcon	r22, SSR
-	movi	1f, r22
-	putcon	r22, SPC
-	synco
-	rte				/* And now go into the hyperspace ... */
-1:					/* ... that's the next instruction ! */
-
-	/* Jump into the decompressed kernel */
-	movi	datalabel (CONFIG_MEMORY_START + 0x2000)+1, r19
-	ptabs	r19, tr0
-	blink	tr0, r18
-
-	/* Shouldn't return here, but just in case, loop forever */
-	pt	1f, tr0
-1:	blink	tr0, r63
diff --git a/arch/sh/boot/compressed/lshrsi3.S b/arch/sh/boot/compressed/lshrsi3.S
deleted file mode 100644
index 5a8281b7e5161b..00000000000000
--- a/arch/sh/boot/compressed/lshrsi3.S
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#include "../../lib/lshrsi3.S"
diff --git a/arch/sh/boot/compressed/misc.c b/arch/sh/boot/compressed/misc.c
deleted file mode 100644
index ca05c99a3d5b48..00000000000000
--- a/arch/sh/boot/compressed/misc.c
+++ /dev/null
@@ -1,146 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/boot/compressed/misc.c
- *
- * This is a collection of several routines from gzip-1.0.3
- * adapted for Linux.
- *
- * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
- *
- * Adapted for SH by Stuart Menefy, Aug 1999
- *
- * Modified to use standard LinuxSH BIOS by Greg Banks 7Jul2000
- */
-
-#include <linux/uaccess.h>
-#include <asm/addrspace.h>
-#include <asm/page.h>
-
-/*
- * gzip declarations
- */
-
-#define STATIC static
-
-#undef memset
-#undef memcpy
-#define memzero(s, n)     memset ((s), 0, (n))
-
-/* cache.c */
-#define CACHE_ENABLE      0
-#define CACHE_DISABLE     1
-int cache_control(unsigned int command);
-
-extern char input_data[];
-extern int input_len;
-static unsigned char *output;
-
-static void error(char *m);
-
-int puts(const char *);
-
-extern int _text;		/* Defined in vmlinux.lds.S */
-extern int _end;
-static unsigned long free_mem_ptr;
-static unsigned long free_mem_end_ptr;
-
-#ifdef CONFIG_HAVE_KERNEL_BZIP2
-#define HEAP_SIZE	0x400000
-#else
-#define HEAP_SIZE	0x10000
-#endif
-
-#ifdef CONFIG_KERNEL_GZIP
-#include "../../../../lib/decompress_inflate.c"
-#endif
-
-#ifdef CONFIG_KERNEL_BZIP2
-#include "../../../../lib/decompress_bunzip2.c"
-#endif
-
-#ifdef CONFIG_KERNEL_LZMA
-#include "../../../../lib/decompress_unlzma.c"
-#endif
-
-#ifdef CONFIG_KERNEL_XZ
-#include "../../../../lib/decompress_unxz.c"
-#endif
-
-#ifdef CONFIG_KERNEL_LZO
-#include "../../../../lib/decompress_unlzo.c"
-#endif
-
-int puts(const char *s)
-{
-	/* This should be updated to use the sh-sci routines */
-	return 0;
-}
-
-void* memset(void* s, int c, size_t n)
-{
-	int i;
-	char *ss = (char*)s;
-
-	for (i=0;i<n;i++) ss[i] = c;
-	return s;
-}
-
-void* memcpy(void* __dest, __const void* __src,
-			    size_t __n)
-{
-	int i;
-	char *d = (char *)__dest, *s = (char *)__src;
-
-	for (i=0;i<__n;i++) d[i] = s[i];
-	return __dest;
-}
-
-static void error(char *x)
-{
-	puts("\n\n");
-	puts(x);
-	puts("\n\n -- System halted");
-
-	while(1);	/* Halt */
-}
-
-const unsigned long __stack_chk_guard = 0x000a0dff;
-
-void __stack_chk_fail(void)
-{
-	error("stack-protector: Kernel stack is corrupted\n");
-}
-
-/* Needed because vmlinux.lds.h references this */
-void ftrace_stub(void)
-{
-}
-void arch_ftrace_ops_list_func(void)
-{
-}
-
-#define stackalign	4
-
-#define STACK_SIZE (4096)
-long __attribute__ ((aligned(stackalign))) user_stack[STACK_SIZE];
-long *stack_start = &user_stack[STACK_SIZE];
-
-void decompress_kernel(void)
-{
-	unsigned long output_addr;
-
-	output_addr = __pa((unsigned long)&_text+PAGE_SIZE);
-#if defined(CONFIG_29BIT)
-	output_addr |= P2SEG;
-#endif
-
-	output = (unsigned char *)output_addr;
-	free_mem_ptr = (unsigned long)&_end;
-	free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
-
-	puts("Uncompressing Linux... ");
-	cache_control(CACHE_ENABLE);
-	__decompress(input_data, input_len, NULL, NULL, output, 0, NULL, error);
-	cache_control(CACHE_DISABLE);
-	puts("Ok, booting the kernel.\n");
-}
diff --git a/arch/sh/boot/compressed/vmlinux.scr b/arch/sh/boot/compressed/vmlinux.scr
deleted file mode 100644
index dd292b4b9082b5..00000000000000
--- a/arch/sh/boot/compressed/vmlinux.scr
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTIONS
-{
-  .rodata..compressed : ALIGN(8) {
-	input_len = .;
-	LONG(input_data_end - input_data) input_data = .;
-	*(.data)
-	output_len = . - 4;
-	input_data_end = .;
-	}
-}
diff --git a/arch/sh/boot/dts/Makefile b/arch/sh/boot/dts/Makefile
deleted file mode 100644
index 4a6dec9714a9e2..00000000000000
--- a/arch/sh/boot/dts/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_USE_BUILTIN_DTB) += $(addsuffix .dtb.o, $(CONFIG_BUILTIN_DTB_SOURCE))
diff --git a/arch/sh/boot/dts/j2_mimas_v2.dts b/arch/sh/boot/dts/j2_mimas_v2.dts
deleted file mode 100644
index fa9562f78d532c..00000000000000
--- a/arch/sh/boot/dts/j2_mimas_v2.dts
+++ /dev/null
@@ -1,99 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/dts-v1/;
-
-/ {
-	compatible = "jcore,j2-soc";
-	model = "J2 FPGA SoC on Mimas v2 board";
-
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	interrupt-parent = <&aic>;
-
-	cpus {
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		cpu at 0 {
-			device_type = "cpu";
-			compatible = "jcore,j2";
-			reg = <0>;
-			clock-frequency = <50000000>;
-			d-cache-size = <8192>;
-			i-cache-size = <8192>;
-			d-cache-block-size = <16>;
-			i-cache-block-size = <16>;
-		};
-	};
-
-	memory at 10000000 {
-		device_type = "memory";
-		reg = <0x10000000 0x4000000>;
-	};
-
-	aliases {
-		serial0 = &uart0;
-		spi0 = &spi0;
-	};
-
-	chosen {
-		stdout-path = "serial0";
-	};
-
-	soc at abcd0000 {
-		compatible = "simple-bus";
-		ranges = <0 0xabcd0000 0x100000>;
-
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		aic: interrupt-controller at 200 {
-			compatible = "jcore,aic1";
-			reg = <0x200 0x10>;
-			interrupt-controller;
-			#interrupt-cells = <1>;
-		};
-
-		cache-controller at c0 {
-			compatible = "jcore,cache";
-			reg = <0xc0 4>;
-		};
-
-		timer at 200 {
-			compatible = "jcore,pit";
-			reg = <0x200 0x30>;
-			interrupts = <0x48>;
-		};
-
-		spi0: spi at 40 {
-			compatible = "jcore,spi2";
-
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			spi-max-frequency = <25000000>;
-
-			reg = <0x40 0x8>;
-
-			sdcard at 0 {
-				compatible = "mmc-spi-slot";
-				reg = <0>;
-				spi-max-frequency = <25000000>;
-				voltage-ranges = <3200 3400>;
-				mode = <0>;
-			};
-		};
-
-		uart0: serial at 100 {
-			clock-frequency = <125000000>;
-			compatible = "xlnx,xps-uartlite-1.00.a";
-			current-speed = <19200>;
-			xlnx,use-parity = <0>;
-			xlnx,data-bits = <8>;
-			device_type = "serial";
-			interrupts = <0x12>;
-			port-number = <0>;
-			reg = <0x100 0x10>;
-		};
-	};
-};
diff --git a/arch/sh/boot/romimage/Makefile b/arch/sh/boot/romimage/Makefile
deleted file mode 100644
index c7c8be58400cd9..00000000000000
--- a/arch/sh/boot/romimage/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# linux/arch/sh/boot/romimage/Makefile
-#
-# create an romImage file suitable for burning to flash/mmc from zImage
-#
-
-targets		:= vmlinux head.o zeropage.bin piggy.o
-load-y		:= 0
-
-mmcif-load-$(CONFIG_CPU_SUBTYPE_SH7724)	:= 0xe5200000 # ILRAM
-mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724)	:= $(obj)/mmcif-sh7724.o
-load-$(CONFIG_ROMIMAGE_MMCIF)		:= $(mmcif-load-y)
-obj-$(CONFIG_ROMIMAGE_MMCIF)		:= $(mmcif-obj-y)
-
-LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(load-y) -e romstart \
-		   -T $(obj)/../../kernel/vmlinux.lds
-
-$(obj)/vmlinux: $(obj)/head.o $(obj-y) $(obj)/piggy.o FORCE
-	$(call if_changed,ld)
-
-OBJCOPYFLAGS += -j .empty_zero_page
-
-$(obj)/zeropage.bin: vmlinux FORCE
-	$(call if_changed,objcopy)
-
-LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
-
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/zeropage.bin arch/sh/boot/zImage FORCE
-	$(call if_changed,ld)
diff --git a/arch/sh/boot/romimage/head.S b/arch/sh/boot/romimage/head.S
deleted file mode 100644
index 81a0652a3dff4b..00000000000000
--- a/arch/sh/boot/romimage/head.S
+++ /dev/null
@@ -1,85 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- *  linux/arch/sh/boot/romimage/head.S
- *
- * Board specific setup code, executed before zImage loader
- */
-
-.text
-	#include <asm/page.h>
-
-	.global	romstart
-romstart:
-	/* include board specific setup code */
-#include <mach/romimage.h>
-
-#ifdef CONFIG_ROMIMAGE_MMCIF
-	/* load the romImage to above the empty zero page */
-	mov.l	empty_zero_page_dst, r4
-	mov.l	empty_zero_page_dst_adj, r5
-	add	r5, r4
-	mov.l	bytes_to_load, r5
-	mov.l	loader_function, r7
-	jsr	@r7
-	 mov	r4, r15
-
-	mov.l	empty_zero_page_dst, r4
-	mov.l	empty_zero_page_dst_adj, r5
-	add	r5, r4
-	mov.l	loaded_code_offs, r5
-	add	r5, r4
-	jmp	@r4
-	 nop
-
-	.balign 4
-empty_zero_page_dst_adj:
-	.long	PAGE_SIZE
-bytes_to_load:
-	.long	end_data - romstart
-loader_function:
-	.long	mmcif_loader
-loaded_code_offs:
-	.long	loaded_code - romstart
-loaded_code:
-#endif /* CONFIG_ROMIMAGE_MMCIF */
-
-	/* copy the empty_zero_page contents to where vmlinux expects it */
-	mova	extra_data_pos, r0
-	mov.l	extra_data_size, r1
-	add	r1, r0
-	mov.l	empty_zero_page_dst, r1
-	mov	#(PAGE_SHIFT - 4), r4
-	mov	#1, r3
-	shld	r4, r3 /* r3 = PAGE_SIZE / 16 */
-
-1:
-	mov.l	@r0, r4
-	mov.l	@(4, r0), r5
-	mov.l	@(8, r0), r6
-	mov.l	@(12, r0), r7
-	add	#16,r0
-	mov.l	r4, @r1
-	mov.l	r5, @(4, r1)
-	mov.l	r6, @(8, r1)
-	mov.l	r7, @(12, r1)
-	dt	r3
-	add	#16,r1
-	bf	1b
-
-	/* jump to the zImage entry point located after the zero page data */
-	mov	#PAGE_SHIFT, r4
-	mov	#1, r1
-	shld	r4, r1
-	mova	extra_data_pos, r0
-	add	r1, r0
-	mov.l	extra_data_size, r1
-	add	r1, r0
-	jmp	@r0
-	 nop
-
-	.align 2
-empty_zero_page_dst:
-	.long	_text
-extra_data_pos:
-extra_data_size:
-	.long	zero_page_pos - extra_data_pos
diff --git a/arch/sh/boot/romimage/mmcif-sh7724.c b/arch/sh/boot/romimage/mmcif-sh7724.c
deleted file mode 100644
index d30123d859e054..00000000000000
--- a/arch/sh/boot/romimage/mmcif-sh7724.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * sh7724 MMCIF loader
- *
- * Copyright (C) 2010 Magnus Damm
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-
-#include <linux/platform_data/sh_mmcif.h>
-#include <mach/romimage.h>
-
-#define MMCIF_BASE      (void __iomem *)0xa4ca0000
-
-#define MSTPCR2		0xa4150038
-#define PTWCR		0xa4050146
-#define PTXCR		0xa4050148
-#define PSELA		0xa405014e
-#define PSELE		0xa4050156
-#define HIZCRC		0xa405015c
-#define DRVCRA		0xa405018a
-
-enum {
-	MMCIF_PROGRESS_ENTER,
-	MMCIF_PROGRESS_INIT,
-	MMCIF_PROGRESS_LOAD,
-	MMCIF_PROGRESS_DONE
-};
-
-/* SH7724 specific MMCIF loader
- *
- * loads the romImage from an MMC card starting from block 512
- * use the following line to write the romImage to an MMC card
- * # dd if=arch/sh/boot/romImage of=/dev/sdx bs=512 seek=512
- */
-asmlinkage void mmcif_loader(unsigned char *buf, unsigned long no_bytes)
-{
-	mmcif_update_progress(MMCIF_PROGRESS_ENTER);
-
-	/* enable clock to the MMCIF hardware block */
-	__raw_writel(__raw_readl(MSTPCR2) & ~0x20000000, MSTPCR2);
-
-	/* setup pins D7-D0 */
-	__raw_writew(0x0000, PTWCR);
-
-	/* setup pins MMC_CLK, MMC_CMD */
-	__raw_writew(__raw_readw(PTXCR) & ~0x000f, PTXCR);
-
-	/* select D3-D0 pin function */
-	__raw_writew(__raw_readw(PSELA) & ~0x2000, PSELA);
-
-	/* select D7-D4 pin function */
-	__raw_writew(__raw_readw(PSELE) & ~0x3000, PSELE);
-
-	/* disable Hi-Z for the MMC pins */
-	__raw_writew(__raw_readw(HIZCRC) & ~0x0620, HIZCRC);
-
-	/* high drive capability for MMC pins */
-	__raw_writew(__raw_readw(DRVCRA) | 0x3000, DRVCRA);
-
-	mmcif_update_progress(MMCIF_PROGRESS_INIT);
-
-	/* setup MMCIF hardware */
-	sh_mmcif_boot_init(MMCIF_BASE);
-
-	mmcif_update_progress(MMCIF_PROGRESS_LOAD);
-
-	/* load kernel via MMCIF interface */
-	sh_mmcif_boot_do_read(MMCIF_BASE, 512,
-	                      (no_bytes + SH_MMCIF_BBS - 1) / SH_MMCIF_BBS,
-			      buf);
-
-	/* disable clock to the MMCIF hardware block */
-	__raw_writel(__raw_readl(MSTPCR2) | 0x20000000, MSTPCR2);
-
-	mmcif_update_progress(MMCIF_PROGRESS_DONE);
-}
diff --git a/arch/sh/boot/romimage/vmlinux.scr b/arch/sh/boot/romimage/vmlinux.scr
deleted file mode 100644
index 590394e2f5f2e4..00000000000000
--- a/arch/sh/boot/romimage/vmlinux.scr
+++ /dev/null
@@ -1,8 +0,0 @@
-SECTIONS
-{
-  .text : {
-	zero_page_pos = .;
-	*(.data)
-	end_data = .;
-	}
-}
diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig
deleted file mode 100644
index efde2edb562780..00000000000000
--- a/arch/sh/cchips/Kconfig
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-menu "Companion Chips"
-
-config HD6446X_SERIES
-	bool
-
-choice
-	prompt "HD6446x options"
-	depends on HD6446X_SERIES
-	default HD64461
-
-config HD64461
-	bool "Hitachi HD64461 companion chip support"
-	help
-	  The Hitachi HD64461 provides an interface for
-	  the SH7709 CPU, supporting a LCD controller,
-	  CRT color controller, IrDA up to 4 Mbps, and a
-	  PCMCIA controller supporting 2 slots.
-
-	  More information is available at
-	  <http://semiconductor.hitachi.com/windowsce/superh/sld013.htm>.
-
-	  Say Y if you want support for the HD64461.
-	  Otherwise, say N.
-
-endchoice
-
-# These will also be split into the Kconfig's below
-config HD64461_IRQ
-	int "HD64461 IRQ"
-	depends on HD64461
-	default "36"
-	help
-	  The default setting of the HD64461 IRQ is 36.
-
-	  Do not change this unless you know what you are doing.
-
-config HD64461_ENABLER
-	bool "HD64461 PCMCIA enabler"
-	depends on HD64461
-	help
-	  Say Y here if you want to enable PCMCIA support
-	  via the HD64461 companion chip.
-	  Otherwise, say N.
-
-endmenu
diff --git a/arch/sh/cchips/hd6446x/Makefile b/arch/sh/cchips/hd6446x/Makefile
deleted file mode 100644
index 6673e0abef2ed8..00000000000000
--- a/arch/sh/cchips/hd6446x/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_HD64461)	+= hd64461.o
-
-ccflags-y := -Werror
diff --git a/arch/sh/cchips/hd6446x/hd64461.c b/arch/sh/cchips/hd6446x/hd64461.c
deleted file mode 100644
index f3fba967445aca..00000000000000
--- a/arch/sh/cchips/hd6446x/hd64461.c
+++ /dev/null
@@ -1,112 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- *	Copyright (C) 2000 YAEGASHI Takeshi
- *	Hitachi HD64461 companion chip support
- */
-
-#include <linux/sched.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/param.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/io.h>
-#include <asm/irq.h>
-#include <asm/hd64461.h>
-
-/* This belongs in cpu specific */
-#define INTC_ICR1 0xA4140010UL
-
-static void hd64461_mask_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned short nimr;
-	unsigned short mask = 1 << (irq - HD64461_IRQBASE);
-
-	nimr = __raw_readw(HD64461_NIMR);
-	nimr |= mask;
-	__raw_writew(nimr, HD64461_NIMR);
-}
-
-static void hd64461_unmask_irq(struct irq_data *data)
-{
-	unsigned int irq = data->irq;
-	unsigned short nimr;
-	unsigned short mask = 1 << (irq - HD64461_IRQBASE);
-
-	nimr = __raw_readw(HD64461_NIMR);
-	nimr &= ~mask;
-	__raw_writew(nimr, HD64461_NIMR);
-}
-
-static void hd64461_mask_and_ack_irq(struct irq_data *data)
-{
-	hd64461_mask_irq(data);
-
-#ifdef CONFIG_HD64461_ENABLER
-	if (data->irq == HD64461_IRQBASE + 13)
-		__raw_writeb(0x00, HD64461_PCC1CSCR);
-#endif
-}
-
-static struct irq_chip hd64461_irq_chip = {
-	.name		= "HD64461-IRQ",
-	.irq_mask	= hd64461_mask_irq,
-	.irq_mask_ack	= hd64461_mask_and_ack_irq,
-	.irq_unmask	= hd64461_unmask_irq,
-};
-
-static void hd64461_irq_demux(struct irq_desc *desc)
-{
-	unsigned short intv = __raw_readw(HD64461_NIRR);
-	unsigned int ext_irq = HD64461_IRQBASE;
-
-	intv &= (1 << HD64461_IRQ_NUM) - 1;
-
-	for (; intv; intv >>= 1, ext_irq++) {
-		if (!(intv & 1))
-			continue;
-
-		generic_handle_irq(ext_irq);
-	}
-}
-
-int __init setup_hd64461(void)
-{
-	int irq_base, i;
-
-	printk(KERN_INFO
-	       "HD64461 configured at 0x%x on irq %d(mapped into %d to %d)\n",
-	       HD64461_IOBASE, CONFIG_HD64461_IRQ, HD64461_IRQBASE,
-	       HD64461_IRQBASE + 15);
-
-/* Should be at processor specific part.. */
-#if defined(CONFIG_CPU_SUBTYPE_SH7709)
-	__raw_writew(0x2240, INTC_ICR1);
-#endif
-	__raw_writew(0xffff, HD64461_NIMR);
-
-	irq_base = irq_alloc_descs(HD64461_IRQBASE, HD64461_IRQBASE, 16, -1);
-	if (IS_ERR_VALUE(irq_base)) {
-		pr_err("%s: failed hooking irqs for HD64461\n", __func__);
-		return irq_base;
-	}
-
-	for (i = 0; i < 16; i++)
-		irq_set_chip_and_handler(irq_base + i, &hd64461_irq_chip,
-					 handle_level_irq);
-
-	irq_set_chained_handler(CONFIG_HD64461_IRQ, hd64461_irq_demux);
-	irq_set_irq_type(CONFIG_HD64461_IRQ, IRQ_TYPE_LEVEL_LOW);
-
-#ifdef CONFIG_HD64461_ENABLER
-	printk(KERN_INFO "HD64461: enabling PCMCIA devices\n");
-	__raw_writeb(0x4c, HD64461_PCC1CSCIER);
-	__raw_writeb(0x00, HD64461_PCC1CSCR);
-#endif
-
-	return 0;
-}
-
-module_init(setup_hd64461);
diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig
deleted file mode 100644
index 4d83576b89c665..00000000000000
--- a/arch/sh/configs/ap325rxa_defconfig
+++ /dev/null
@@ -1,103 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7723=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_AP325RXA=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty1 console=ttySC5,38400 root=/dev/nfs ip=dhcp"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_SH_FLCTL=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-# CONFIG_HWMON is not set
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-# CONFIG_VIDEO_ALLOW_V4L1 is not set
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_SH_MOBILE_CEU=y
-# CONFIG_RADIO_ADAPTERS is not set
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-CONFIG_MMC_SPI=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/apsh4a3a_defconfig b/arch/sh/configs/apsh4a3a_defconfig
deleted file mode 100644
index 99931a13a74da9..00000000000000
--- a/arch/sh/configs/apsh4a3a_defconfig
+++ /dev/null
@@ -1,91 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7785=y
-CONFIG_MEMORY_START=0x0C000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_APSH4A3A=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-# CONFIG_WLAN is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FB_SH7785FB=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_USB_SUPPORT is not set
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_CIFS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-# CONFIG_FTRACE is not set
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
diff --git a/arch/sh/configs/apsh4ad0a_defconfig b/arch/sh/configs/apsh4ad0a_defconfig
deleted file mode 100644
index d9fb124bf015a2..00000000000000
--- a/arch/sh/configs/apsh4ad0a_defconfig
+++ /dev/null
@@ -1,122 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_RCU_TRACE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_MEMCG=y
-CONFIG_BLK_CGROUP=y
-CONFIG_NAMESPACES=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_IOSCHED_BFQ=y
-CONFIG_BFQ_GROUP_IOSCHED=y
-CONFIG_CPU_SUBTYPE_SH7786=y
-CONFIG_MEMORY_SIZE=0x10000000
-CONFIG_HUGETLB_PAGE_SIZE_1MB=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_KSM=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_APSH4AD0A=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_SH_CPU_FREQ=y
-CONFIG_KEXEC=y
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=y
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_CFI=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_NETDEVICES=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FB_SH7785FB=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_CIFS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_DEBUG_VM=y
-CONFIG_DWARF_UNWINDER=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/dreamcast_defconfig b/arch/sh/configs/dreamcast_defconfig
deleted file mode 100644
index 6a82c7b8ff32b8..00000000000000
--- a/arch/sh/configs/dreamcast_defconfig
+++ /dev/null
@@ -1,72 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7091=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x01000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_DREAMCAST=y
-CONFIG_SH_PCLK_FREQ=49876504
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_NR_DMA_CHANNELS_BOOL=y
-CONFIG_NR_DMA_CHANNELS=9
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 panic=3"
-CONFIG_MAPLE=y
-CONFIG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IPV6 is not set
-# CONFIG_STANDALONE is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_GDROM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139TOO=y
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_MAPLE=y
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=y
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_PVR2=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_GENERIC=y
diff --git a/arch/sh/configs/ecovec24-romimage_defconfig b/arch/sh/configs/ecovec24-romimage_defconfig
deleted file mode 100644
index 5c60e71d839e05..00000000000000
--- a/arch/sh/configs/ecovec24-romimage_defconfig
+++ /dev/null
@@ -1,58 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_MEMORY_SIZE=0x10000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_ECOVEC=y
-# CONFIG_SH_TIMER_TMU is not set
-CONFIG_KEXEC=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200"
-# CONFIG_SUSPEND is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_I2C=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_GPIO_SYSFS=y
-# CONFIG_HWMON is not set
-CONFIG_USB=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_EXT2_FS=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY_USER is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
diff --git a/arch/sh/configs/ecovec24_defconfig b/arch/sh/configs/ecovec24_defconfig
deleted file mode 100644
index b52e14ccb450d4..00000000000000
--- a/arch/sh/configs/ecovec24_defconfig
+++ /dev/null
@@ -1,132 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_ARCH_FORCE_MAX_ORDER=12
-CONFIG_MEMORY_SIZE=0x10000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_ECOVEC=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_HEARTBEAT=y
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty0, console=ttySC0,115200 root=/dev/nfs ip=dhcp mem=248M memchunk.vpu=8m memchunk.veu0=4m"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_SH_KEYSC=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_TSC2007=y
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_SPI=y
-CONFIG_SPI_BITBANG=y
-# CONFIG_HWMON is not set
-CONFIG_MFD_SH_MOBILE_SDHI=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_SH_MOBILE_CEU=y
-# CONFIG_V4L_USB_DRIVERS is not set
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SEQUENCER=y
-CONFIG_SND_SEQ_DUMMY=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-# CONFIG_SND_DRIVERS is not set
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_USB is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_SH4_FSI=y
-CONFIG_SND_FSI_DA7210=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_MMC=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_SDHI=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/edosk7705_defconfig b/arch/sh/configs/edosk7705_defconfig
deleted file mode 100644
index 9ee35269bee260..00000000000000
--- a/arch/sh/configs/edosk7705_defconfig
+++ /dev/null
@@ -1,35 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_UID16 is not set
-# CONFIG_KALLSYMS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SIGNALFD is not set
-# CONFIG_TIMERFD is not set
-# CONFIG_EVENTFD is not set
-# CONFIG_AIO is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_BLOCK is not set
-CONFIG_CPU_SUBTYPE_SH7705=y
-CONFIG_SH_EDOSK7705=y
-CONFIG_SH_PCLK_FREQ=31250000
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_PROC_FS is not set
-# CONFIG_SYSFS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_CRC32 is not set
diff --git a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig
deleted file mode 100644
index f427a95bcd21e5..00000000000000
--- a/arch/sh/configs/edosk7760_defconfig
+++ /dev/null
@@ -1,114 +0,0 @@
-CONFIG_LOCALVERSION="_edosk7760"
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7760=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_EDOSK7760=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="mem=64M console=ttySC2,115200 root=/dev/nfs rw nfsroot=192.168.0.3:/scripts/filesys ip=192.168.0.4"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_DEBUG_DRIVER=y
-CONFIG_DEBUG_DEVRES=y
-CONFIG_MTD=y
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_RAM=y
-CONFIG_MTD_ROM=y
-CONFIG_MTD_ABSENT=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=26000
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH7760=y
-CONFIG_I2C_DEBUG_CORE=y
-CONFIG_I2C_DEBUG_ALGO=y
-CONFIG_I2C_DEBUG_BUS=y
-# CONFIG_HWMON is not set
-CONFIG_FB=m
-CONFIG_FB_TILEBLITTING=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_SOUND=y
-CONFIG_SND=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_VERBOSE_PROCFS is not set
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_SOC=y
-# CONFIG_USB_SUPPORT is not set
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_XIP=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_UTF8=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_TIMER_STATS=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/espt_defconfig b/arch/sh/configs/espt_defconfig
deleted file mode 100644
index 2804cb760a7615..00000000000000
--- a/arch/sh/configs/espt_defconfig
+++ /dev/null
@@ -1,114 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7763=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_SH_ESPT=y
-CONFIG_SH_PCLK_FREQ=66666666
-CONFIG_SECCOMP=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/nfs ip=bootp"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FB_FOREIGN_ENDIAN=y
-CONFIG_FB_SH7760=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_CRAMFS=y
-CONFIG_ROMFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=y
-CONFIG_NLS_CODEPAGE_775=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_CODEPAGE_852=y
-CONFIG_NLS_CODEPAGE_855=y
-CONFIG_NLS_CODEPAGE_857=y
-CONFIG_NLS_CODEPAGE_860=y
-CONFIG_NLS_CODEPAGE_861=y
-CONFIG_NLS_CODEPAGE_862=y
-CONFIG_NLS_CODEPAGE_863=y
-CONFIG_NLS_CODEPAGE_864=y
-CONFIG_NLS_CODEPAGE_865=y
-CONFIG_NLS_CODEPAGE_866=y
-CONFIG_NLS_CODEPAGE_869=y
-CONFIG_NLS_CODEPAGE_936=y
-CONFIG_NLS_CODEPAGE_950=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_CODEPAGE_949=y
-CONFIG_NLS_CODEPAGE_874=y
-CONFIG_NLS_ISO8859_8=y
-CONFIG_NLS_CODEPAGE_1250=y
-CONFIG_NLS_CODEPAGE_1251=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=y
-CONFIG_NLS_ISO8859_3=y
-CONFIG_NLS_ISO8859_4=y
-CONFIG_NLS_ISO8859_5=y
-CONFIG_NLS_ISO8859_6=y
-CONFIG_NLS_ISO8859_7=y
-CONFIG_NLS_ISO8859_9=y
-CONFIG_NLS_ISO8859_13=y
-CONFIG_NLS_ISO8859_14=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_KOI8_R=y
-CONFIG_NLS_KOI8_U=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig
deleted file mode 100644
index 70e6605d7f7ef7..00000000000000
--- a/arch/sh/configs/hp6xx_defconfig
+++ /dev/null
@@ -1,60 +0,0 @@
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7709=y
-CONFIG_MEMORY_START=0x0d000000
-CONFIG_MEMORY_SIZE=0x00400000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_HP6XX=y
-CONFIG_SH_PCLK_FREQ=22110000
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HD64461_ENABLER=y
-CONFIG_PCCARD=y
-CONFIG_PM=y
-CONFIG_APM_EMULATION=y
-# CONFIG_STANDALONE is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_HP6XX=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_HP600=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_LEGACY_PTY_COUNT=64
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_HIT=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-CONFIG_FONT_PEARL_8x8=y
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/j2_defconfig b/arch/sh/configs/j2_defconfig
deleted file mode 100644
index 2eb81ebe3888bf..00000000000000
--- a/arch/sh/configs/j2_defconfig
+++ /dev/null
@@ -1,42 +0,0 @@
-CONFIG_SMP=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_SUBTYPE_J2=y
-CONFIG_MEMORY_START=0x10000000
-CONFIG_MEMORY_SIZE=0x04000000
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_DEVICE_TREE=y
-CONFIG_SH_JCORE_SOC=y
-CONFIG_HZ_100=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttyUL0 earlycon"
-CONFIG_BINFMT_ELF_FDPIC=y
-CONFIG_BINFMT_FLAT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_NETDEVICES=y
-CONFIG_SERIAL_EARLYCON=y
-CONFIG_SERIAL_UARTLITE=y
-CONFIG_SERIAL_UARTLITE_CONSOLE=y
-CONFIG_I2C=y
-CONFIG_SPI=y
-CONFIG_SPI_JCORE=y
-CONFIG_WATCHDOG=y
-CONFIG_MMC=y
-CONFIG_MMC_SPI=y
-CONFIG_CLKSRC_JCORE_PIT=y
-CONFIG_JCORE_AIC=y
-CONFIG_EXT4_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_FAT_DEFAULT_UTF8=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_UTF8=y
diff --git a/arch/sh/configs/kfr2r09-romimage_defconfig b/arch/sh/configs/kfr2r09-romimage_defconfig
deleted file mode 100644
index 04436b4fbd7695..00000000000000
--- a/arch/sh/configs/kfr2r09-romimage_defconfig
+++ /dev/null
@@ -1,53 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-# CONFIG_BLOCK is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_KFR2R09=y
-# CONFIG_SH_TIMER_TMU is not set
-CONFIG_HZ_100=y
-CONFIG_KEXEC=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 quiet"
-# CONFIG_SUSPEND is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_I2C=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_GPIO_SYSFS=y
-# CONFIG_HWMON is not set
-CONFIG_USB_GADGET=y
-CONFIG_USB_CDC_COMPOSITE=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_INOTIFY_USER is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_CRC32 is not set
diff --git a/arch/sh/configs/kfr2r09_defconfig b/arch/sh/configs/kfr2r09_defconfig
deleted file mode 100644
index 833404490cfeea..00000000000000
--- a/arch/sh/configs/kfr2r09_defconfig
+++ /dev/null
@@ -1,84 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_KFR2R09=y
-# CONFIG_SH_TIMER_TMU is not set
-CONFIG_NO_HZ=y
-CONFIG_HZ_1000=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty0 console=ttySC1,115200"
-# CONFIG_SUSPEND is not set
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_ONENAND=y
-CONFIG_MTD_ONENAND_GENERIC=y
-CONFIG_MTD_UBI=y
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_SH_KEYSC=y
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_GPIO_SYSFS=y
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FONTS=y
-CONFIG_FONT_MINI_4x6=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_CLUT224 is not set
-CONFIG_USB_GADGET=y
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_MMC=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig
deleted file mode 100644
index 7037320b654ad6..00000000000000
--- a/arch/sh/configs/landisk_defconfig
+++ /dev/null
@@ -1,115 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_LANDISK=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_PCI=y
-CONFIG_PCCARD=y
-CONFIG_YENTA=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-CONFIG_ATALK=m
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_ATA=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_ATP867X=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_NETDEVICES=y
-CONFIG_TUN=m
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139CP=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_SOUND=m
-CONFIG_SOUND_PRIME=m
-CONFIG_USB_HID=m
-CONFIG_HID_A4TECH=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_PRINTER=m
-CONFIG_USB_STORAGE=m
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_REISERFS_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=m
-CONFIG_NTFS_RW=y
-CONFIG_TMPFS=y
-CONFIG_ROMFS_FS=y
-CONFIG_UFS_FS=m
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-CONFIG_NFSD=m
-CONFIG_SMB_FS=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_SH_STANDARD_BIOS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/lboxre2_defconfig b/arch/sh/configs/lboxre2_defconfig
deleted file mode 100644
index 05e4ac6fed5f9c..00000000000000
--- a/arch/sh/configs/lboxre2_defconfig
+++ /dev/null
@@ -1,62 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_LBOX_RE2=y
-CONFIG_SH_PCLK_FREQ=40000000
-CONFIG_KEXEC=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_PCCARD=y
-CONFIG_YENTA=y
-# CONFIG_YENTA_RICOH is not set
-# CONFIG_YENTA_TI is not set
-# CONFIG_YENTA_TOSHIBA is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_NE2K_PCI=y
-CONFIG_8139TOO=y
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_NET_PCMCIA=y
-CONFIG_PCMCIA_PCNET=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_RTC_CLASS=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_ROMFS_FS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_SH_STANDARD_BIOS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig
deleted file mode 100644
index ef1d98e35c91f7..00000000000000
--- a/arch/sh/configs/magicpanelr2_defconfig
+++ /dev/null
@@ -1,90 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_AUDIT=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_KALLSYMS_ALL=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7720=y
-CONFIG_MEMORY_START=0x0C000000
-CONFIG_MEMORY_SIZE=0x03F00000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_MAGIC_PANEL_R2=y
-CONFIG_SH_PCLK_FREQ=24000000
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HEARTBEAT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-CONFIG_MTD=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-CONFIG_INPUT_EVDEV=y
-# CONFIG_MOUSE_PS2 is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=48
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-# CONFIG_RTC_HCTOSYS is not set
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-# CONFIG_JFFS2_FS_WRITEBUFFER is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_DEBUG_KOBJECT=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_FRAME_POINTER=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=m
diff --git a/arch/sh/configs/microdev_defconfig b/arch/sh/configs/microdev_defconfig
deleted file mode 100644
index e9825196dd66af..00000000000000
--- a/arch/sh/configs/microdev_defconfig
+++ /dev/null
@@ -1,43 +0,0 @@
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH4_202=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SH4202_MICRODEV=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/hda1"
-CONFIG_SUPERHYWAY=y
-CONFIG_NET=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_CRYPTO_ECB=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig
deleted file mode 100644
index 4859cd30cfc4c6..00000000000000
--- a/arch/sh/configs/migor_defconfig
+++ /dev/null
@@ -1,94 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7722=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
-# CONFIG_MIGRATION is not set
-CONFIG_SH_MIGOR=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_SECCOMP=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty0 console=ttySC0,115200 earlyprintk=serial ip=on root=/dev/nfs ip=dhcp"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-CONFIG_FW_LOADER=m
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_PLATFORM=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_SH_KEYSC=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_MIGOR=y
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_SH_MOBILE=y
-# CONFIG_HWMON is not set
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-# CONFIG_VIDEO_ALLOW_V4L1 is not set
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_SH_MOBILE_CEU=y
-# CONFIG_RADIO_ADAPTERS is not set
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FONTS=y
-CONFIG_FONT_MINI_4x6=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_CLUT224 is not set
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_M66592=y
-CONFIG_USB_G_SERIAL=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-# CONFIG_DNOTIFY is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_DEBUG_FS=y
-CONFIG_CRYPTO_MANAGER=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/polaris_defconfig b/arch/sh/configs/polaris_defconfig
deleted file mode 100644
index f42e4867ddc1a7..00000000000000
--- a/arch/sh/configs/polaris_defconfig
+++ /dev/null
@@ -1,83 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_AUDIT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7709=y
-CONFIG_MEMORY_START=0x0C000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_FPU_EMU=y
-CONFIG_SH_POLARIS=y
-CONFIG_SH_PCLK_FREQ=33000000
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HEARTBEAT=y
-CONFIG_HZ_100=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/mtdblock2 rootfstype=jffs2 mem=63M mtdparts=physmap-flash.0:0x00100000(bootloader)ro,0x00500000(Kernel)ro,0x00A00000(Filesystem)"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_COMPAT=y
-CONFIG_MTD_PHYSMAP_START=0x00000000
-CONFIG_MTD_PHYSMAP_LEN=0x01000000
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-# CONFIG_DNOTIFY is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-# CONFIG_JFFS2_FS_WRITEBUFFER is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_DEBUG_RT_MUTEXES=y
-CONFIG_DEBUG_LOCK_ALLOC=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_DEBUG_SG=y
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig
deleted file mode 100644
index e527cd60a19105..00000000000000
--- a/arch/sh/configs/r7780mp_defconfig
+++ /dev/null
@@ -1,109 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7780=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SPECULATIVE_EXECUTION=y
-CONFIG_SH_HIGHLANDER=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_PUSH_SWITCH=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-CONFIG_BRIDGE=m
-CONFIG_FW_LOADER=m
-CONFIG_MTD=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_ATA=y
-CONFIG_SATA_SIL=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_AX88796=y
-CONFIG_AX88796_93CX6=y
-CONFIG_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-CONFIG_8139TOO_8129=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_E1000=m
-CONFIG_R8169=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_HIGHLANDER=y
-CONFIG_THERMAL=y
-CONFIG_SOUND=m
-CONFIG_SOUND_PRIME=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_FUSE_FS=m
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NFSD_V4=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_DEBUG_PREEMPT is not set
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig
deleted file mode 100644
index a3f952a83d970f..00000000000000
--- a/arch/sh/configs/r7785rp_defconfig
+++ /dev/null
@@ -1,107 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_RCU_TRACE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7785=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_HUGETLB_PAGE_SIZE_1MB=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_HIGHLANDER=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_HEARTBEAT=y
-CONFIG_PUSH_SWITCH=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_BINFMT_MISC=m
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-CONFIG_BRIDGE=m
-CONFIG_FW_LOADER=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_ATA=y
-CONFIG_SATA_SIL=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_AX88796=y
-CONFIG_AX88796_93CX6=y
-CONFIG_R8169=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_HIGHLANDER=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_SOUND=m
-CONFIG_SOUND_PRIME=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_FUSE_FS=m
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NFSD_V4=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_PREEMPT is not set
-CONFIG_DEBUG_LOCK_ALLOC=y
-CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_SH_STANDARD_BIOS=y
-CONFIG_DEBUG_STACK_USAGE=y
-CONFIG_4KSTACKS=y
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/rsk7201_defconfig b/arch/sh/configs/rsk7201_defconfig
deleted file mode 100644
index 376e95fa77bc68..00000000000000
--- a/arch/sh/configs/rsk7201_defconfig
+++ /dev/null
@@ -1,63 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_AIO is not set
-CONFIG_SLUB=y
-CONFIG_SLUB_TINY=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7201=y
-CONFIG_MEMORY_SIZE=0x01000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_RSK=y
-CONFIG_SH_PCLK_FREQ=40000000
-CONFIG_HZ_1000=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ignore_loglevel"
-CONFIG_BINFMT_FLAT=y
-CONFIG_BINFMT_ZFLAT=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=8
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-CONFIG_THERMAL=y
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-# CONFIG_FILE_LOCKING is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_JFFS2_FS=y
-CONFIG_ROMFS_FS=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig
deleted file mode 100644
index 1d5fd67a3949b4..00000000000000
--- a/arch/sh/configs/rsk7203_defconfig
+++ /dev/null
@@ -1,121 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_SLUB=y
-CONFIG_SLUB_TINY=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7203=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x01000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_RSK=y
-CONFIG_SH_PCLK_FREQ=16670800
-CONFIG_CPU_FREQ=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_HEARTBEAT=y
-CONFIG_HZ_1000=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ignore_loglevel"
-CONFIG_BINFMT_FLAT=y
-CONFIG_BINFMT_ZFLAT=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=4
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-CONFIG_THERMAL=y
-CONFIG_REGULATOR=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_MON=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-# CONFIG_DNOTIFY is not set
-CONFIG_ROMFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_OBJECTS=y
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_DEBUG_VM=y
-CONFIG_DEBUG_LIST=y
-CONFIG_DEBUG_SG=y
-CONFIG_FRAME_POINTER=y
-CONFIG_DEBUG_STACK_USAGE=y
diff --git a/arch/sh/configs/rsk7264_defconfig b/arch/sh/configs/rsk7264_defconfig
deleted file mode 100644
index f7b9c528c6df87..00000000000000
--- a/arch/sh/configs/rsk7264_defconfig
+++ /dev/null
@@ -1,71 +0,0 @@
-CONFIG_LOCALVERSION="uClinux RSK2+SH7264"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_NAMESPACES=y
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_EMBEDDED=y
-CONFIG_PERF_COUNTERS=y
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_SLAB=y
-CONFIG_MMAP_ALLOW_UNINITIALIZED=y
-CONFIG_PROFILING=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_CPU_SUBTYPE_SH7264=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_RSK=y
-# CONFIG_SH_TIMER_MTU2 is not set
-CONFIG_BINFMT_FLAT=y
-CONFIG_NET=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC911X=y
-CONFIG_SMSC_PHY=y
-CONFIG_INPUT_FF_MEMLESS=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=8
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HWMON is not set
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_STORAGE_DEBUG=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_VFAT_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_FTRACE is not set
diff --git a/arch/sh/configs/rsk7269_defconfig b/arch/sh/configs/rsk7269_defconfig
deleted file mode 100644
index 4bff14fb185dbb..00000000000000
--- a/arch/sh/configs/rsk7269_defconfig
+++ /dev/null
@@ -1,56 +0,0 @@
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_EMBEDDED=y
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_SWAP_IO_SPACE=y
-CONFIG_CPU_SUBTYPE_SH7269=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x02000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_RSK=y
-# CONFIG_SH_TIMER_MTU2 is not set
-CONFIG_SH_PCLK_FREQ=66700000
-CONFIG_BINFMT_FLAT=y
-CONFIG_NET=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC911X=y
-CONFIG_SMSC_PHY=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=8
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HWMON is not set
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_STORAGE_DEBUG=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_VFAT_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_FTRACE is not set
diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig
deleted file mode 100644
index 96263a4912b726..00000000000000
--- a/arch/sh/configs/rts7751r2d1_defconfig
+++ /dev/null
@@ -1,91 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_RTS7751R2D=y
-CONFIG_RTS7751R2D_1=y
-CONFIG_HEARTBEAT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IPV6 is not set
-CONFIG_FW_LOADER=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139TOO=y
-# CONFIG_8139TOO_PIO is not set
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_SPI=y
-CONFIG_SPI_SH_SCI=y
-CONFIG_MFD_SM501=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FB_SM501=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SOUND_PRIME=m
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_R9701=y
-CONFIG_EXT2_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_MINIX_FS=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig
deleted file mode 100644
index 92e586e6c97432..00000000000000
--- a/arch/sh/configs/rts7751r2dplus_defconfig
+++ /dev/null
@@ -1,96 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_RTS7751R2D=y
-CONFIG_RTS7751R2D_PLUS=y
-CONFIG_HEARTBEAT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IPV6 is not set
-CONFIG_FW_LOADER=m
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139TOO=y
-# CONFIG_8139TOO_PIO is not set
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_SPI=y
-CONFIG_SPI_SH_SCI=y
-CONFIG_MFD_SM501=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FB_SM501=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SOUND_PRIME=m
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_R9701=y
-CONFIG_EXT2_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_MINIX_FS=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/sdk7780_defconfig b/arch/sh/configs/sdk7780_defconfig
deleted file mode 100644
index 41cb588ca99cb7..00000000000000
--- a/arch/sh/configs/sdk7780_defconfig
+++ /dev/null
@@ -1,139 +0,0 @@
-CONFIG_LOCALVERSION="_SDK7780"
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_RELAY=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7780=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_SDK7780=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="mem=128M console=tty0 console=ttySC0,115200 ip=bootp root=/dev/nfs nfsroot=192.168.0.1:/home/rootfs"
-CONFIG_PCI=y
-CONFIG_PCI_DEBUG=y
-CONFIG_PCCARD=y
-CONFIG_YENTA=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_IPV6=y
-# CONFIG_INET6_XFRM_MODE_BEET is not set
-CONFIG_NET_SCHED=y
-CONFIG_PARPORT=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_ATA=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_DM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-CONFIG_NETCONSOLE=y
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_EVDEV=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_POWER_SUPPLY=y
-# CONFIG_HWMON is not set
-CONFIG_SSB=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SOUND_PRIME=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_PRINTER=y
-CONFIG_USB_STORAGE=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_ISO9660_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_DEBUG=y
-CONFIG_NTFS_RW=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_HUGETLBFS=y
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_TIMER_STATS=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_SH_STANDARD_BIOS=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/sdk7786_defconfig b/arch/sh/configs/sdk7786_defconfig
deleted file mode 100644
index 97b7356639ed82..00000000000000
--- a/arch/sh/configs/sdk7786_defconfig
+++ /dev/null
@@ -1,217 +0,0 @@
-CONFIG_KERNEL_LZO=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_RCU_TRACE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_DEBUG=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-# CONFIG_PROC_PID_CPUSET is not set
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_MEMCG=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-CONFIG_RELAY=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_IOSCHED_BFQ=y
-CONFIG_BFQ_GROUP_IOSCHED=y
-CONFIG_CPU_SUBTYPE_SH7786=y
-CONFIG_MEMORY_START=0x40000000
-CONFIG_MEMORY_SIZE=0x20000000
-CONFIG_PMB=y
-CONFIG_NUMA=y
-CONFIG_HUGETLB_PAGE_SIZE_64MB=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_KSM=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SPECULATIVE_EXECUTION=y
-CONFIG_SH_SDK7786=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_SH_CPU_FREQ=y
-CONFIG_SH_DMA=y
-CONFIG_HEARTBEAT=y
-CONFIG_HZ_1000=y
-CONFIG_KEXEC=y
-CONFIG_SECCOMP=y
-CONFIG_SMP=y
-CONFIG_HOTPLUG_CPU=y
-CONFIG_PREEMPT=y
-CONFIG_INTC_USERIMASK=y
-CONFIG_INTC_BALANCING=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 earlyprintk=sh-sci.1,115200 root=/dev/sda1 nmi_debug=state,debounce rootdelay=5 pmb=iomap ignore_loglevel"
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCIEAER_INJECT=y
-CONFIG_PCIEASPM_DEBUG=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_BINFMT_MISC=y
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
-CONFIG_NFTL=y
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-CONFIG_MTD_PLATRAM=y
-CONFIG_MTD_PHRAM=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_NAND_PLATFORM=y
-CONFIG_MTD_NAND_SH_FLCTL=m
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_GLUEBI=m
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_SIL24=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_DM=y
-CONFIG_DM_DEBUG=y
-CONFIG_DM_UEVENT=y
-CONFIG_NETDEVICES=y
-CONFIG_MDIO_BITBANG=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-# CONFIG_WLAN is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_SERIAL_SH_SCI_DMA=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=y
-# CONFIG_I2C_COMPAT is not set
-CONFIG_I2C_CHARDEV=y
-CONFIG_SPI=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_M66592=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_MAX6900=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_DMADEVICES=y
-CONFIG_SH_DMAE=y
-CONFIG_UIO=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_STAGING=y
-# CONFIG_STAGING_EXCLUDE_BUILD is not set
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT4_FS=y
-CONFIG_XFS_FS=y
-CONFIG_BTRFS_FS=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=y
-CONFIG_CUSE=m
-CONFIG_FSCACHE=m
-CONFIG_CACHEFILES=m
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_UBIFS_FS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_ROMFS_FS=m
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=m
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_TIMER_STATS=y
-CONFIG_DEBUG_MEMORY_INIT=y
-CONFIG_LATENCYTOP=y
-CONFIG_FUNCTION_TRACER=y
-# CONFIG_FUNCTION_GRAPH_TRACER is not set
-CONFIG_DMA_API_DEBUG=y
-CONFIG_DEBUG_STACK_USAGE=y
-CONFIG_DWARF_UNWINDER=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig
deleted file mode 100644
index 78e0e7be57ee1f..00000000000000
--- a/arch/sh/configs/se7206_defconfig
+++ /dev/null
@@ -1,108 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_RCU_TRACE=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_DEBUG=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_MEMCG=y
-CONFIG_RELAY=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_UID16 is not set
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_ELF_CORE is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLUB=y
-CONFIG_SLUB_TINY=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7206=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_7206_SOLUTION_ENGINE=y
-CONFIG_CPU_FREQ=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_HEARTBEAT=y
-CONFIG_HZ_1000=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC3,115200 ignore_loglevel earlyprintk=serial"
-CONFIG_BINFMT_FLAT=y
-CONFIG_BINFMT_ZFLAT=y
-CONFIG_BINFMT_MISC=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_EEPROM_93CX6=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=4
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_CRAMFS=y
-CONFIG_ROMFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-CONFIG_DEBUG_VM=y
-CONFIG_DEBUG_LIST=y
-CONFIG_FRAME_POINTER=y
-CONFIG_DEBUG_STACK_USAGE=y
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
diff --git a/arch/sh/configs/se7343_defconfig b/arch/sh/configs/se7343_defconfig
deleted file mode 100644
index 5d6c19338ebf29..00000000000000
--- a/arch/sh/configs/se7343_defconfig
+++ /dev/null
@@ -1,96 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7343=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x01000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_7343_SOLUTION_ENGINE=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_HEARTBEAT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_RAM=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_SCSI=y
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_NETDEVICES=y
-CONFIG_USB_USBNET=y
-# CONFIG_USB_NET_AX8817X is not set
-CONFIG_USB_NET_DM9601=y
-# CONFIG_USB_NET_NET1080 is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=4
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_SH_MOBILE=y
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SEQUENCER=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_ISP116X_HCD=y
-CONFIG_UIO=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFSD=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig
deleted file mode 100644
index 71a672c307168e..00000000000000
--- a/arch/sh/configs/se7619_defconfig
+++ /dev/null
@@ -1,43 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_UID16 is not set
-# CONFIG_KALLSYMS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_SH_7619_SOLUTION_ENGINE=y
-CONFIG_HZ_100=y
-CONFIG_BINFMT_FLAT=y
-CONFIG_BINFMT_ZFLAT=y
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-CONFIG_MTD=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_SYSFS is not set
-CONFIG_ROMFS_FS=y
-# CONFIG_ENABLE_MUST_CHECK is not set
diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig
deleted file mode 100644
index ed00a6eeadf55e..00000000000000
--- a/arch/sh/configs/se7705_defconfig
+++ /dev/null
@@ -1,54 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_KALLSYMS is not set
-# CONFIG_HOTPLUG is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7705=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x02000000
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SH_ADC is not set
-CONFIG_SH_SOLUTION_ENGINE=y
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_STNIC=y
-CONFIG_PPP=y
-CONFIG_PPP_ASYNC=y
-CONFIG_PPP_DEFLATE=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_HW_RANDOM=y
-CONFIG_EXT2_FS=y
-CONFIG_PROC_KCORE=y
-# CONFIG_SYSFS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7712_defconfig b/arch/sh/configs/se7712_defconfig
deleted file mode 100644
index 36356223d51c83..00000000000000
--- a/arch/sh/configs/se7712_defconfig
+++ /dev/null
@@ -1,101 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_BUG is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7712=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x02000000
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SH_DSP is not set
-# CONFIG_SH_ADC is not set
-CONFIG_SH_SOLUTION_ENGINE=y
-CONFIG_SH_PCLK_FREQ=66666666
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=y
-CONFIG_NET_SCH_HTB=y
-CONFIG_NET_SCH_HFSC=y
-CONFIG_NET_SCH_PRIO=y
-CONFIG_NET_SCH_RED=y
-CONFIG_NET_SCH_SFQ=y
-CONFIG_NET_SCH_TEQL=y
-CONFIG_NET_SCH_TBF=y
-CONFIG_NET_SCH_GRED=y
-CONFIG_NET_SCH_DSMARK=y
-CONFIG_NET_SCH_NETEM=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_NET_CLS_ROUTE4=y
-CONFIG_NET_CLS_FW=y
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HWMON is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_FRAME_POINTER=y
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_CCITT=y
diff --git a/arch/sh/configs/se7721_defconfig b/arch/sh/configs/se7721_defconfig
deleted file mode 100644
index 46c5a263a23925..00000000000000
--- a/arch/sh/configs/se7721_defconfig
+++ /dev/null
@@ -1,127 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_BUG is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7721=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x02000000
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SH_DSP is not set
-# CONFIG_SH_ADC is not set
-CONFIG_SH_7721_SOLUTION_ENGINE=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda2"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=y
-CONFIG_NET_SCH_HTB=y
-CONFIG_NET_SCH_HFSC=y
-CONFIG_NET_SCH_PRIO=y
-CONFIG_NET_SCH_RED=y
-CONFIG_NET_SCH_SFQ=y
-CONFIG_NET_SCH_TEQL=y
-CONFIG_NET_SCH_TBF=y
-CONFIG_NET_SCH_GRED=y
-CONFIG_NET_SCH_DSMARK=y
-CONFIG_NET_SCH_NETEM=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_NET_CLS_ROUTE4=y
-CONFIG_NET_CLS_FW=y
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-CONFIG_THERMAL=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_DNOTIFY is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-# CONFIG_NETWORK_FILESYSTEMS is not set
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_CCITT=y
diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig
deleted file mode 100644
index 09e45581744743..00000000000000
--- a/arch/sh/configs/se7722_defconfig
+++ /dev/null
@@ -1,56 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7722=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_7722_SOLUTION_ENGINE=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_SH_STANDARD_BIOS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7724_defconfig b/arch/sh/configs/se7724_defconfig
deleted file mode 100644
index d817df7cc4a72a..00000000000000
--- a/arch/sh/configs/se7724_defconfig
+++ /dev/null
@@ -1,132 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_KALLSYMS is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_7724_SOLUTION_ENGINE=y
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_HEARTBEAT=y
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=tty1 console=ttySC3,115200 root=/dev/nfs ip=dhcp memchunk.vpu=4m"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_RAW_NAND=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_SH_KEYSC=y
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH_MOBILE=y
-CONFIG_SPI=y
-CONFIG_SPI_BITBANG=y
-# CONFIG_HWMON is not set
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-# CONFIG_VIDEO_ALLOW_V4L1 is not set
-CONFIG_DVB_CORE=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_SH_MOBILE_CEU=y
-# CONFIG_RADIO_ADAPTERS is not set
-# CONFIG_DVB_FE_CUSTOMISE is not set
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SND=m
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_DRIVERS is not set
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_SUPERH is not set
-CONFIG_SND_SOC=m
-CONFIG_SND_SOC_SH4_FSI=m
-CONFIG_SND_FSI_AK4642=y
-CONFIG_SND_SOC_ALL_CODECS=m
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_ETH=m
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MMC=y
-CONFIG_MMC_SPI=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig
deleted file mode 100644
index 4defc7628a498a..00000000000000
--- a/arch/sh/configs/se7750_defconfig
+++ /dev/null
@@ -1,55 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_HOTPLUG is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7750=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x02000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SOLUTION_ENGINE=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_HEARTBEAT=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_ROM=y
-CONFIG_SCSI=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_STNIC=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_MSDOS_PARTITION is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7751_defconfig b/arch/sh/configs/se7751_defconfig
deleted file mode 100644
index 4a024065bb7501..00000000000000
--- a/arch/sh/configs/se7751_defconfig
+++ /dev/null
@@ -1,46 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_HOTPLUG is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_7751_SOLUTION_ENGINE=y
-CONFIG_HEARTBEAT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,38400"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_RAM=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_HW_RANDOM=y
-CONFIG_WATCHDOG=y
-CONFIG_EXT2_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/se7780_defconfig b/arch/sh/configs/se7780_defconfig
deleted file mode 100644
index dcd85b858ac8ca..00000000000000
--- a/arch/sh/configs/se7780_defconfig
+++ /dev/null
@@ -1,106 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_KALLSYMS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_EPOLL is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_CPU_SUBTYPE_SH7780=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_SH_7780_SOLUTION_ENGINE=y
-CONFIG_SH_PCLK_FREQ=33333333
-CONFIG_HEARTBEAT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"
-CONFIG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IPV6=y
-# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET6_XFRM_MODE_BEET is not set
-# CONFIG_IPV6_SIT is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
-# CONFIG_MTD_CFI_I1 is not set
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_ROM=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_ATA=y
-CONFIG_SATA_SIL=y
-CONFIG_NETDEVICES=y
-CONFIG_PHYLIB=y
-CONFIG_SMSC_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-CONFIG_NET_PCI=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_THERMAL=y
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-CONFIG_SOUND=y
-CONFIG_SOUND_PRIME=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_EXT2_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/secureedge5410_defconfig b/arch/sh/configs/secureedge5410_defconfig
deleted file mode 100644
index 8422599cfb04dc..00000000000000
--- a/arch/sh/configs/secureedge5410_defconfig
+++ /dev/null
@@ -1,53 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_HOTPLUG is not set
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_SIZE=0x01000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SECUREEDGE5410=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_PCI=y
-CONFIG_NET=y
-CONFIG_INET=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK_RO=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_CFI_I2 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_PLATRAM=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139CP=y
-CONFIG_8139TOO=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1302=y
-CONFIG_EXT2_FS=y
-# CONFIG_DNOTIFY is not set
-CONFIG_TMPFS=y
-CONFIG_CRAMFS=y
-CONFIG_ROMFS_FS=y
diff --git a/arch/sh/configs/sh03_defconfig b/arch/sh/configs/sh03_defconfig
deleted file mode 100644
index 9fcf68b22dba9a..00000000000000
--- a/arch/sh/configs/sh03_defconfig
+++ /dev/null
@@ -1,126 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SH03=y
-CONFIG_HEARTBEAT=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 mem=64M root=/dev/nfs"
-CONFIG_PCI=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_BINFMT_MISC=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_IPV6 is not set
-# CONFIG_STANDALONE is not set
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_SCSI=m
-CONFIG_BLK_DEV_SD=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_CHR_DEV_SG=m
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139CP=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DEBUG_FS=y
-CONFIG_SH_STANDARD_BIOS=y
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_CCITT=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_GENERIC=y
diff --git a/arch/sh/configs/sh2007_defconfig b/arch/sh/configs/sh2007_defconfig
deleted file mode 100644
index 259c69e3fa2279..00000000000000
--- a/arch/sh/configs/sh2007_defconfig
+++ /dev/null
@@ -1,199 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_IKCONFIG=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_KALLSYMS_ALL=y
-CONFIG_SLAB=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7780=y
-CONFIG_MEMORY_SIZE=0x08000000
-# CONFIG_VSYSCALL is not set
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SH2007=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_NR_DMA_CHANNELS_BOOL=y
-CONFIG_HZ_100=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 ip=dhcp root=/dev/nfs rw nfsroot=/nfs/rootfs,rsize=1024,wsize=1024 earlyprintk=sh-sci.1"
-CONFIG_PCCARD=y
-CONFIG_BINFMT_MISC=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=y
-CONFIG_NET_KEY=y
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_NET_IPIP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_IPV6 is not set
-CONFIG_NETWORK_SECMARK=y
-CONFIG_NET_PKTGEN=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_CDROM_PKTCDVD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=y
-CONFIG_SCSI_SRP_ATTRS=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
-CONFIG_EQUALIZER=y
-CONFIG_TUN=y
-CONFIG_VETH=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMSC911X=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_FF_MEMLESS=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=y
-CONFIG_SSB=y
-CONFIG_FB=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_LOGO=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_DMADEVICES=y
-CONFIG_TIMB_DMA=y
-CONFIG_EXT3_FS=y
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=932
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_CONFIGFS_FS=y
-# CONFIG_MISC_FILESYSTEMS is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=y
-CONFIG_NLS_CODEPAGE_775=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_CODEPAGE_852=y
-CONFIG_NLS_CODEPAGE_855=y
-CONFIG_NLS_CODEPAGE_857=y
-CONFIG_NLS_CODEPAGE_860=y
-CONFIG_NLS_CODEPAGE_861=y
-CONFIG_NLS_CODEPAGE_862=y
-CONFIG_NLS_CODEPAGE_863=y
-CONFIG_NLS_CODEPAGE_864=y
-CONFIG_NLS_CODEPAGE_865=y
-CONFIG_NLS_CODEPAGE_866=y
-CONFIG_NLS_CODEPAGE_869=y
-CONFIG_NLS_CODEPAGE_936=y
-CONFIG_NLS_CODEPAGE_950=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_CODEPAGE_949=y
-CONFIG_NLS_CODEPAGE_874=y
-CONFIG_NLS_ISO8859_8=y
-CONFIG_NLS_CODEPAGE_1250=y
-CONFIG_NLS_CODEPAGE_1251=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=y
-CONFIG_NLS_ISO8859_3=y
-CONFIG_NLS_ISO8859_4=y
-CONFIG_NLS_ISO8859_5=y
-CONFIG_NLS_ISO8859_6=y
-CONFIG_NLS_ISO8859_7=y
-CONFIG_NLS_ISO8859_9=y
-CONFIG_NLS_ISO8859_13=y
-CONFIG_NLS_ISO8859_14=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_KOI8_R=y
-CONFIG_NLS_KOI8_U=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DETECT_SOFTLOCKUP is not set
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_FRAME_POINTER=y
-CONFIG_SH_STANDARD_BIOS=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_LIBCRC32C=y
diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig
deleted file mode 100644
index 0d814770b07fe9..00000000000000
--- a/arch/sh/configs/sh7710voipgw_defconfig
+++ /dev/null
@@ -1,55 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7710=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x00800000
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SH_ADC is not set
-CONFIG_SH_PCLK_FREQ=32768000
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=y
-CONFIG_NET_CLS_BASIC=y
-CONFIG_NET_CLS_TCINDEX=y
-CONFIG_NET_CLS_ROUTE4=y
-CONFIG_NET_CLS_U32=y
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_RAM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_PHONE=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HWMON is not set
-CONFIG_THERMAL=y
-# CONFIG_DNOTIFY is not set
-CONFIG_JFFS2_FS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/sh7724_generic_defconfig b/arch/sh/configs/sh7724_generic_defconfig
deleted file mode 100644
index cbc9389a89a8c0..00000000000000
--- a/arch/sh/configs/sh7724_generic_defconfig
+++ /dev/null
@@ -1,41 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_CGROUPS=y
-# CONFIG_UID16 is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7724=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_JUMP=y
-CONFIG_HIBERNATION=y
-CONFIG_CPU_IDLE=y
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH_MOBILE=y
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_PROC_FS is not set
-# CONFIG_SYSFS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_CRC32 is not set
diff --git a/arch/sh/configs/sh7757lcr_defconfig b/arch/sh/configs/sh7757lcr_defconfig
deleted file mode 100644
index 2579dc4bc0c8f6..00000000000000
--- a/arch/sh/configs/sh7757lcr_defconfig
+++ /dev/null
@@ -1,85 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7757=y
-CONFIG_MEMORY_START=0x40000000
-CONFIG_MEMORY_SIZE=0x0f000000
-CONFIG_PMB=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_SH7757LCR=y
-CONFIG_HEARTBEAT=y
-CONFIG_SECCOMP=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC2,115200 root=/dev/nfs ip=dhcp"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IPV6=y
-# CONFIG_WIRELESS is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_VITESSE_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_WLAN is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_SERIO is not set
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-CONFIG_SPI=y
-CONFIG_SPI_SH=y
-# CONFIG_HWMON is not set
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SH=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_SH=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_MMC_SDHI=y
-CONFIG_MMC_SH_MMCIF=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_ISO9660_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_SQUASHFS=y
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-# CONFIG_FTRACE is not set
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig
deleted file mode 100644
index 8a6a446f9eb88a..00000000000000
--- a/arch/sh/configs/sh7763rdp_defconfig
+++ /dev/null
@@ -1,116 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7763=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_SH_SH7763RDP=y
-CONFIG_SH_PCLK_FREQ=66666666
-CONFIG_SECCOMP=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC2,115200 root=/dev/sda1 rootdelay=10"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SH_ETH=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=3
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FB_FOREIGN_ENDIAN=y
-CONFIG_FB_SH7760=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=y
-CONFIG_NLS_CODEPAGE_775=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_CODEPAGE_852=y
-CONFIG_NLS_CODEPAGE_855=y
-CONFIG_NLS_CODEPAGE_857=y
-CONFIG_NLS_CODEPAGE_860=y
-CONFIG_NLS_CODEPAGE_861=y
-CONFIG_NLS_CODEPAGE_862=y
-CONFIG_NLS_CODEPAGE_863=y
-CONFIG_NLS_CODEPAGE_864=y
-CONFIG_NLS_CODEPAGE_865=y
-CONFIG_NLS_CODEPAGE_866=y
-CONFIG_NLS_CODEPAGE_869=y
-CONFIG_NLS_CODEPAGE_936=y
-CONFIG_NLS_CODEPAGE_950=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_CODEPAGE_949=y
-CONFIG_NLS_CODEPAGE_874=y
-CONFIG_NLS_ISO8859_8=y
-CONFIG_NLS_CODEPAGE_1250=y
-CONFIG_NLS_CODEPAGE_1251=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=y
-CONFIG_NLS_ISO8859_3=y
-CONFIG_NLS_ISO8859_4=y
-CONFIG_NLS_ISO8859_5=y
-CONFIG_NLS_ISO8859_6=y
-CONFIG_NLS_ISO8859_7=y
-CONFIG_NLS_ISO8859_9=y
-CONFIG_NLS_ISO8859_13=y
-CONFIG_NLS_ISO8859_14=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_KOI8_R=y
-CONFIG_NLS_KOI8_U=y
-CONFIG_NLS_UTF8=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC_T10DIF=y
diff --git a/arch/sh/configs/sh7770_generic_defconfig b/arch/sh/configs/sh7770_generic_defconfig
deleted file mode 100644
index ee2357deba0f1c..00000000000000
--- a/arch/sh/configs/sh7770_generic_defconfig
+++ /dev/null
@@ -1,43 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_CGROUPS=y
-# CONFIG_UID16 is not set
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7770=y
-CONFIG_SH_PCLK_FREQ=41666666
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_KEXEC=y
-CONFIG_KEXEC_JUMP=y
-CONFIG_PM=y
-CONFIG_HIBERNATION=y
-CONFIG_CPU_IDLE=y
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_SH_MOBILE=y
-# CONFIG_HWMON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_UIO=y
-CONFIG_UIO_PDRV_GENIRQ=y
-# CONFIG_DNOTIFY is not set
-# CONFIG_PROC_FS is not set
-# CONFIG_SYSFS is not set
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-# CONFIG_CRC32 is not set
diff --git a/arch/sh/configs/sh7785lcr_32bit_defconfig b/arch/sh/configs/sh7785lcr_32bit_defconfig
deleted file mode 100644
index 781ff13227fc99..00000000000000
--- a/arch/sh/configs/sh7785lcr_32bit_defconfig
+++ /dev/null
@@ -1,149 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_PERF_EVENTS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_GCOV_KERNEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7785=y
-CONFIG_MEMORY_START=0x40000000
-CONFIG_MEMORY_SIZE=0x20000000
-CONFIG_PMB=y
-CONFIG_HUGETLB_PAGE_SIZE_1MB=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SPECULATIVE_EXECUTION=y
-CONFIG_SH_SH7785LCR=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_SH_CPU_FREQ=y
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_SECCOMP=y
-CONFIG_PREEMPT=y
-CONFIG_INTC_USERIMASK=y
-CONFIG_PCI=y
-CONFIG_PCI_DEBUG=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_RAM=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_SIL=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_VORTEX=y
-CONFIG_R8169=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=y
-CONFIG_I2C_PCA_PLATFORM=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=y
-CONFIG_MFD_SM501=y
-# CONFIG_VGA_ARB is not set
-CONFIG_FB=y
-CONFIG_FB_KYRO=y
-CONFIG_FB_SM501=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SEQUENCER=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_VERBOSE_PROCFS is not set
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_DEBUG=y
-CONFIG_SND_DEBUG_VERBOSE=y
-# CONFIG_SND_DRIVERS is not set
-CONFIG_SND_CMIPCI=y
-CONFIG_SND_EMU10K1=y
-# CONFIG_SND_SUPERH is not set
-CONFIG_USB=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_DMADEVICES=y
-CONFIG_UIO=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_KMEMLEAK=y
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_LATENCYTOP=y
-# CONFIG_FTRACE is not set
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig
deleted file mode 100644
index 1b88929083f786..00000000000000
--- a/arch/sh/configs/sh7785lcr_defconfig
+++ /dev/null
@@ -1,117 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7785=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_SH7785LCR=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_SIL=y
-CONFIG_NETDEVICES=y
-CONFIG_R8169=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_PCA_PLATFORM=y
-# CONFIG_HWMON is not set
-CONFIG_MFD_SM501=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FB_SM501=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-# CONFIG_LOGO_SUPERH_CLUT224 is not set
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=m
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_TEST=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_MINIX_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NFSD_V4=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig
deleted file mode 100644
index e078b193a78a89..00000000000000
--- a/arch/sh/configs/shmin_defconfig
+++ /dev/null
@@ -1,52 +0,0 @@
-# CONFIG_SWAP is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_UID16 is not set
-# CONFIG_KALLSYMS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-# CONFIG_FUTEX is not set
-# CONFIG_EPOLL is not set
-# CONFIG_SHMEM is not set
-CONFIG_SLUB=y
-CONFIG_SLUB_TINY=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7706=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x00800000
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SH_ADC is not set
-CONFIG_SH_SHMIN=y
-CONFIG_SH_PCLK_FREQ=32000000
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,115200 root=1f01 mtdparts=phys_mapped_flash:64k(firm)ro,-(sys) netdev=34,0x300,eth0 "
-CONFIG_NET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-# CONFIG_IPV6 is not set
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HWMON is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_SYSFS is not set
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_SH_STANDARD_BIOS=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig
deleted file mode 100644
index aa353dff7f1931..00000000000000
--- a/arch/sh/configs/shx3_defconfig
+++ /dev/null
@@ -1,103 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_RCU_TRACE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_MEMCG=y
-CONFIG_RELAY=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_KALLSYMS_ALL=y
-CONFIG_SLUB=y
-CONFIG_SLUB_TINY=y
-CONFIG_PROFILING=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SHX3=y
-CONFIG_MEMORY_START=0x0c000000
-CONFIG_NUMA=y
-CONFIG_PAGE_SIZE_64KB=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_X3PROTO=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_SH_CPU_FREQ=y
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_SECCOMP=y
-CONFIG_SMP=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=bios ignore_loglevel"
-CONFIG_BINFMT_MISC=y
-CONFIG_NET=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_VCAN=m
-# CONFIG_FW_LOADER is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=m
-CONFIG_SPI=y
-# CONFIG_HWMON is not set
-CONFIG_WATCHDOG=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_R8A66597_HCD=m
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_M66592=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_UIO=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_VM=y
-CONFIG_FRAME_POINTER=y
-CONFIG_SH_STANDARD_BIOS=y
-CONFIG_DEBUG_STACK_USAGE=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/titan_defconfig b/arch/sh/configs/titan_defconfig
deleted file mode 100644
index 73a0d68b0de6ce..00000000000000
--- a/arch/sh/configs/titan_defconfig
+++ /dev/null
@@ -1,272 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7751R=y
-CONFIG_MEMORY_START=0x08030000
-CONFIG_MEMORY_SIZE=0x7fd0000
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_SH_TITAN=y
-CONFIG_SH_PCLK_FREQ=30000000
-CONFIG_SH_DMA=y
-CONFIG_SH_DMA_API=y
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC1,38400N81 root=/dev/nfs ip=:::::eth1:autoconf rw"
-CONFIG_PCI=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=y
-CONFIG_NET_IPGRE=y
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-CONFIG_INET_DIAG=m
-CONFIG_IPV6=y
-CONFIG_IPV6_PRIVACY=y
-CONFIG_INET6_AH=y
-CONFIG_INET6_ESP=y
-CONFIG_INET6_IPCOMP=y
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_TUNNEL=y
-CONFIG_NETFILTER=y
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_BRIDGE=y
-CONFIG_VLAN_8021Q=y
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_PERF=y
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_FW_LOADER=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_BLOCK=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_RAW_NAND=m
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_ATA_OVER_ETH=m
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_CHR_DEV_SG=m
-CONFIG_NETDEVICES=y
-CONFIG_TUN=m
-CONFIG_PHYLIB=m
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_NET_ETHERNET=y
-CONFIG_NET_PCI=y
-CONFIG_8139TOO=y
-# CONFIG_8139TOO_PIO is not set
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139_OLD_RX_RESET=y
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_PLUSB=m
-# CONFIG_USB_NET_CDC_SUBSET is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_WATCHDOG=y
-CONFIG_SH_WDT=m
-# CONFIG_USB_HID is not set
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_STORAGE=y
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=m
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_REISERFS_FS=m
-CONFIG_XFS_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_SMB_FS=m
-CONFIG_CIFS=m
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_UTF8=m
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRC16=m
-CONFIG_LIBCRC32C=m
diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig
deleted file mode 100644
index 103b81ec1ffb91..00000000000000
--- a/arch/sh/configs/ul2_defconfig
+++ /dev/null
@@ -1,84 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7366=y
-CONFIG_MEMORY_SIZE=0x01f00000
-CONFIG_NUMA=y
-# CONFIG_MIGRATION is not set
-# CONFIG_SH_DSP is not set
-# CONFIG_SH_TIMER_CMT is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_HZ_100=y
-CONFIG_KEXEC=y
-CONFIG_PREEMPT=y
-CONFIG_CMDLINE_OVERWRITE=y
-CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/nfs ip=dhcp"
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-CONFIG_CFG80211=y
-CONFIG_MAC80211=y
-CONFIG_MAC80211_RC_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_RAM=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_ATA=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_SDIO=m
-CONFIG_LIBERTAS_DEBUG=y
-CONFIG_USB_USBNET=y
-# CONFIG_USB_NET_NET1080 is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=1
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-# CONFIG_UNIX98_PTYS is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_VFAT_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_CRYPTO_MICHAEL_MIC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/sh/configs/urquell_defconfig b/arch/sh/configs/urquell_defconfig
deleted file mode 100644
index 8fc687c98fd195..00000000000000
--- a/arch/sh/configs/urquell_defconfig
+++ /dev/null
@@ -1,147 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_DEBUG=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-# CONFIG_PROC_PID_CPUSET is not set
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_MEMCG=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_CPU_SUBTYPE_SH7786=y
-CONFIG_MEMORY_SIZE=0x08000000
-CONFIG_SH_STORE_QUEUES=y
-CONFIG_SH_URQUELL=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_HEARTBEAT=y
-CONFIG_KEXEC=y
-CONFIG_SECCOMP=y
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCIEASPM_DEBUG=y
-CONFIG_PCI_DEBUG=y
-CONFIG_BINFMT_MISC=y
-CONFIG_PM=y
-CONFIG_CPU_IDLE=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-# CONFIG_IPV6 is not set
-# CONFIG_FW_LOADER is not set
-CONFIG_MTD=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_SD=y
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_ATA=y
-CONFIG_SATA_SIL24=y
-CONFIG_NETDEVICES=y
-CONFIG_PHYLIB=y
-CONFIG_MARVELL_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_SMC91X=y
-CONFIG_NET_PCI=y
-CONFIG_8139CP=y
-CONFIG_SKY2=y
-CONFIG_SKY2_DEBUG=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_SH_SCI=y
-CONFIG_SERIAL_SH_SCI_NR_UARTS=6
-CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_PCA_PLATFORM=y
-CONFIG_MFD_SM501=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_FB=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FB_SM501=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_SUPERH_MONO is not set
-# CONFIG_LOGO_SUPERH_VGA16 is not set
-# CONFIG_LOGO_SUPERH_CLUT224 is not set
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_MON=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SH=y
-CONFIG_RTC_DRV_GENERIC=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT4_FS=y
-CONFIG_BTRFS_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_FTRACE is not set
-# CONFIG_DUMP_CODE is not set
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
diff --git a/arch/sh/drivers/Kconfig b/arch/sh/drivers/Kconfig
deleted file mode 100644
index 80a45ad2852fdf..00000000000000
--- a/arch/sh/drivers/Kconfig
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-source "arch/sh/drivers/dma/Kconfig"
-source "arch/sh/cchips/Kconfig"
-
-menu "Additional SuperH Device Drivers"
-
-config HEARTBEAT
-	bool "Heartbeat LED"
-	help
-	  Use the power-on LED on your machine as a load meter.  The exact
-	  behavior is platform-dependent, but normally the flash frequency is
-	  a hyperbolic function of the 5-minute load average.
-
-config PUSH_SWITCH
-	tristate "Push switch support"
-	help
-	  This enables support for the push switch framework, a simple
-	  framework that allows for sysfs driven switch status reporting.
-
-endmenu
diff --git a/arch/sh/drivers/Makefile b/arch/sh/drivers/Makefile
deleted file mode 100644
index 56b0acace6e7c8..00000000000000
--- a/arch/sh/drivers/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the Linux SuperH-specific device drivers.
-#
-
-obj-y		+= dma/ platform_early.o
-
-obj-$(CONFIG_PCI)		+= pci/
-obj-$(CONFIG_SUPERHYWAY)	+= superhyway/
-obj-$(CONFIG_PUSH_SWITCH)	+= push-switch.o
-obj-$(CONFIG_HEARTBEAT)		+= heartbeat.o
diff --git a/arch/sh/drivers/dma/Kconfig b/arch/sh/drivers/dma/Kconfig
deleted file mode 100644
index 7d54f284ce10fb..00000000000000
--- a/arch/sh/drivers/dma/Kconfig
+++ /dev/null
@@ -1,74 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-menu "DMA support"
-
-
-config SH_DMA
-	bool "SuperH on-chip DMA controller (DMAC) support"
-	depends on CPU_SH3 || CPU_SH4
-	default n
-
-config SH_DMA_IRQ_MULTI
-	bool
-	depends on SH_DMA
-	default y if CPU_SUBTYPE_SH7750  || CPU_SUBTYPE_SH7751  || \
-		     CPU_SUBTYPE_SH7750S || CPU_SUBTYPE_SH7750R || \
-		     CPU_SUBTYPE_SH7751R || CPU_SUBTYPE_SH7091  || \
-		     CPU_SUBTYPE_SH7763  || CPU_SUBTYPE_SH7780  || \
-		     CPU_SUBTYPE_SH7785  || CPU_SUBTYPE_SH7760
-
-config SH_DMA_API
-	depends on SH_DMA
-	bool "SuperH DMA API support"
-	default n
-	help
-	  SH_DMA_API always enabled DMA API of used SuperH.
-	  If you want to use DMA ENGINE, you must not enable this.
-	  Please enable DMA_ENGINE and SH_DMAE.
-
-config NR_ONCHIP_DMA_CHANNELS
-	int
-	depends on SH_DMA
-	default "4" if CPU_SUBTYPE_SH7750  || CPU_SUBTYPE_SH7751  || \
-		       CPU_SUBTYPE_SH7750S || CPU_SUBTYPE_SH7091
-	default "8" if CPU_SUBTYPE_SH7750R || CPU_SUBTYPE_SH7751R || \
-		       CPU_SUBTYPE_SH7760
-	default "12" if CPU_SUBTYPE_SH7723 || CPU_SUBTYPE_SH7780  || \
-			CPU_SUBTYPE_SH7785 || CPU_SUBTYPE_SH7724
-	default "6"
-	help
-	  This allows you to specify the number of channels that the on-chip
-	  DMAC supports. This will be 4 for SH7750/SH7751/Sh7750S/SH7091 and 8 for the
-	  SH7750R/SH7751R/SH7760, 12 for the SH7723/SH7780/SH7785/SH7724, default is 6.
-
-config SH_DMABRG
-	bool "SH7760 DMABRG support"
-	depends on CPU_SUBTYPE_SH7760
-	help
-	  The DMABRG does data transfers from main memory to Audio/USB units
-	  of the SH7760.
-	  Say Y if you want to use Audio/USB DMA on your SH7760 board.
-
-config PVR2_DMA
-	tristate "PowerVR 2 DMAC support"
-	depends on SH_DREAMCAST && SH_DMA
-	help
-	  Selecting this will enable support for the PVR2 DMA controller.
-	  As this chains off of the on-chip DMAC, that must also be
-	  enabled by default.
-
-	  This is primarily used by the pvr2fb framebuffer driver for
-	  certain optimizations, but is not necessary for functionality.
-
-	  If in doubt, say N.
-
-config G2_DMA
-	tristate "G2 Bus DMA support"
-	depends on SH_DREAMCAST && SH_DMA_API
-	help
-	  This enables support for the DMA controller for the Dreamcast's
-	  G2 bus. Drivers that want this will generally enable this on
-	  their own.
-
-	  If in doubt, say N.
-
-endmenu
diff --git a/arch/sh/drivers/dma/Makefile b/arch/sh/drivers/dma/Makefile
deleted file mode 100644
index d2fdd56208f6e3..00000000000000
--- a/arch/sh/drivers/dma/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the SuperH DMA specific kernel interface routines under Linux.
-#
-
-obj-$(CONFIG_SH_DMA_API)	+= dma-sh.o dma-api.o dma-sysfs.o
-obj-$(CONFIG_PVR2_DMA)		+= dma-pvr2.o
-obj-$(CONFIG_G2_DMA)		+= dma-g2.o
-obj-$(CONFIG_SH_DMABRG)		+= dmabrg.o
diff --git a/arch/sh/drivers/dma/dma-api.c b/arch/sh/drivers/dma/dma-api.c
deleted file mode 100644
index ab9170494dcc29..00000000000000
--- a/arch/sh/drivers/dma/dma-api.c
+++ /dev/null
@@ -1,417 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/dma/dma-api.c
- *
- * SuperH-specific DMA management API
- *
- * Copyright (C) 2003, 2004, 2005  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/spinlock.h>
-#include <linux/proc_fs.h>
-#include <linux/seq_file.h>
-#include <linux/list.h>
-#include <linux/platform_device.h>
-#include <linux/mm.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <asm/dma.h>
-
-DEFINE_SPINLOCK(dma_spin_lock);
-static LIST_HEAD(registered_dmac_list);
-
-struct dma_info *get_dma_info(unsigned int chan)
-{
-	struct dma_info *info;
-
-	/*
-	 * Look for each DMAC's range to determine who the owner of
-	 * the channel is.
-	 */
-	list_for_each_entry(info, &registered_dmac_list, list) {
-		if ((chan <  info->first_vchannel_nr) ||
-		    (chan >= info->first_vchannel_nr + info->nr_channels))
-			continue;
-
-		return info;
-	}
-
-	return NULL;
-}
-EXPORT_SYMBOL(get_dma_info);
-
-struct dma_info *get_dma_info_by_name(const char *dmac_name)
-{
-	struct dma_info *info;
-
-	list_for_each_entry(info, &registered_dmac_list, list) {
-		if (dmac_name && (strcmp(dmac_name, info->name) != 0))
-			continue;
-		else
-			return info;
-	}
-
-	return NULL;
-}
-EXPORT_SYMBOL(get_dma_info_by_name);
-
-static unsigned int get_nr_channels(void)
-{
-	struct dma_info *info;
-	unsigned int nr = 0;
-
-	if (unlikely(list_empty(&registered_dmac_list)))
-		return nr;
-
-	list_for_each_entry(info, &registered_dmac_list, list)
-		nr += info->nr_channels;
-
-	return nr;
-}
-
-struct dma_channel *get_dma_channel(unsigned int chan)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel;
-	int i;
-
-	if (unlikely(!info))
-		return ERR_PTR(-EINVAL);
-
-	for (i = 0; i < info->nr_channels; i++) {
-		channel = &info->channels[i];
-		if (channel->vchan == chan)
-			return channel;
-	}
-
-	return NULL;
-}
-EXPORT_SYMBOL(get_dma_channel);
-
-int get_dma_residue(unsigned int chan)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	if (info->ops->get_residue)
-		return info->ops->get_residue(channel);
-
-	return 0;
-}
-EXPORT_SYMBOL(get_dma_residue);
-
-static int search_cap(const char **haystack, const char *needle)
-{
-	const char **p;
-
-	for (p = haystack; *p; p++)
-		if (strcmp(*p, needle) == 0)
-			return 1;
-
-	return 0;
-}
-
-/**
- * request_dma_bycap - Allocate a DMA channel based on its capabilities
- * @dmac: List of DMA controllers to search
- * @caps: List of capabilities
- *
- * Search all channels of all DMA controllers to find a channel which
- * matches the requested capabilities. The result is the channel
- * number if a match is found, or %-ENODEV if no match is found.
- *
- * Note that not all DMA controllers export capabilities, in which
- * case they can never be allocated using this API, and so
- * request_dma() must be used specifying the channel number.
- */
-int request_dma_bycap(const char **dmac, const char **caps, const char *dev_id)
-{
-	unsigned int found = 0;
-	struct dma_info *info;
-	const char **p;
-	int i;
-
-	BUG_ON(!dmac || !caps);
-
-	list_for_each_entry(info, &registered_dmac_list, list)
-		if (strcmp(*dmac, info->name) == 0) {
-			found = 1;
-			break;
-		}
-
-	if (!found)
-		return -ENODEV;
-
-	for (i = 0; i < info->nr_channels; i++) {
-		struct dma_channel *channel = &info->channels[i];
-
-		if (unlikely(!channel->caps))
-			continue;
-
-		for (p = caps; *p; p++) {
-			if (!search_cap(channel->caps, *p))
-				break;
-			if (request_dma(channel->chan, dev_id) == 0)
-				return channel->chan;
-		}
-	}
-
-	return -EINVAL;
-}
-EXPORT_SYMBOL(request_dma_bycap);
-
-int dmac_search_free_channel(const char *dev_id)
-{
-	struct dma_channel *channel = { 0 };
-	struct dma_info *info = get_dma_info(0);
-	int i;
-
-	for (i = 0; i < info->nr_channels; i++) {
-		channel = &info->channels[i];
-		if (unlikely(!channel))
-			return -ENODEV;
-
-		if (atomic_read(&channel->busy) == 0)
-			break;
-	}
-
-	if (info->ops->request) {
-		int result = info->ops->request(channel);
-		if (result)
-			return result;
-
-		atomic_set(&channel->busy, 1);
-		return channel->chan;
-	}
-
-	return -ENOSYS;
-}
-
-int request_dma(unsigned int chan, const char *dev_id)
-{
-	struct dma_channel *channel = { 0 };
-	struct dma_info *info = get_dma_info(chan);
-	int result;
-
-	channel = get_dma_channel(chan);
-	if (atomic_xchg(&channel->busy, 1))
-		return -EBUSY;
-
-	strlcpy(channel->dev_id, dev_id, sizeof(channel->dev_id));
-
-	if (info->ops->request) {
-		result = info->ops->request(channel);
-		if (result)
-			atomic_set(&channel->busy, 0);
-
-		return result;
-	}
-
-	return 0;
-}
-EXPORT_SYMBOL(request_dma);
-
-void free_dma(unsigned int chan)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	if (info->ops->free)
-		info->ops->free(channel);
-
-	atomic_set(&channel->busy, 0);
-}
-EXPORT_SYMBOL(free_dma);
-
-void dma_wait_for_completion(unsigned int chan)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	if (channel->flags & DMA_TEI_CAPABLE) {
-		wait_event(channel->wait_queue,
-			   (info->ops->get_residue(channel) == 0));
-		return;
-	}
-
-	while (info->ops->get_residue(channel))
-		cpu_relax();
-}
-EXPORT_SYMBOL(dma_wait_for_completion);
-
-int register_chan_caps(const char *dmac, struct dma_chan_caps *caps)
-{
-	struct dma_info *info;
-	unsigned int found = 0;
-	int i;
-
-	list_for_each_entry(info, &registered_dmac_list, list)
-		if (strcmp(dmac, info->name) == 0) {
-			found = 1;
-			break;
-		}
-
-	if (unlikely(!found))
-		return -ENODEV;
-
-	for (i = 0; i < info->nr_channels; i++, caps++) {
-		struct dma_channel *channel;
-
-		if ((info->first_channel_nr + i) != caps->ch_num)
-			return -EINVAL;
-
-		channel = &info->channels[i];
-		channel->caps = caps->caplist;
-	}
-
-	return 0;
-}
-EXPORT_SYMBOL(register_chan_caps);
-
-void dma_configure_channel(unsigned int chan, unsigned long flags)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	if (info->ops->configure)
-		info->ops->configure(channel, flags);
-}
-EXPORT_SYMBOL(dma_configure_channel);
-
-int dma_xfer(unsigned int chan, unsigned long from,
-	     unsigned long to, size_t size, unsigned int mode)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	channel->sar	= from;
-	channel->dar	= to;
-	channel->count	= size;
-	channel->mode	= mode;
-
-	return info->ops->xfer(channel);
-}
-EXPORT_SYMBOL(dma_xfer);
-
-int dma_extend(unsigned int chan, unsigned long op, void *param)
-{
-	struct dma_info *info = get_dma_info(chan);
-	struct dma_channel *channel = get_dma_channel(chan);
-
-	if (info->ops->extend)
-		return info->ops->extend(channel, op, param);
-
-	return -ENOSYS;
-}
-EXPORT_SYMBOL(dma_extend);
-
-static int dma_proc_show(struct seq_file *m, void *v)
-{
-	struct dma_info *info = v;
-
-	if (list_empty(&registered_dmac_list))
-		return 0;
-
-	/*
-	 * Iterate over each registered DMAC
-	 */
-	list_for_each_entry(info, &registered_dmac_list, list) {
-		int i;
-
-		/*
-		 * Iterate over each channel
-		 */
-		for (i = 0; i < info->nr_channels; i++) {
-			struct dma_channel *channel = info->channels + i;
-
-			if (!(channel->flags & DMA_CONFIGURED))
-				continue;
-
-			seq_printf(m, "%2d: %14s    %s\n", i,
-				   info->name, channel->dev_id);
-		}
-	}
-
-	return 0;
-}
-
-int register_dmac(struct dma_info *info)
-{
-	unsigned int total_channels, i;
-
-	INIT_LIST_HEAD(&info->list);
-
-	printk(KERN_INFO "DMA: Registering %s handler (%d channel%s).\n",
-	       info->name, info->nr_channels, info->nr_channels > 1 ? "s" : "");
-
-	BUG_ON((info->flags & DMAC_CHANNELS_CONFIGURED) && !info->channels);
-
-	info->pdev = platform_device_register_simple(info->name, -1,
-						     NULL, 0);
-	if (IS_ERR(info->pdev))
-		return PTR_ERR(info->pdev);
-
-	/*
-	 * Don't touch pre-configured channels
-	 */
-	if (!(info->flags & DMAC_CHANNELS_CONFIGURED)) {
-		unsigned int size;
-
-		size = sizeof(struct dma_channel) * info->nr_channels;
-
-		info->channels = kzalloc(size, GFP_KERNEL);
-		if (!info->channels)
-			return -ENOMEM;
-	}
-
-	total_channels = get_nr_channels();
-	info->first_vchannel_nr = total_channels;
-	for (i = 0; i < info->nr_channels; i++) {
-		struct dma_channel *chan = &info->channels[i];
-
-		atomic_set(&chan->busy, 0);
-
-		chan->chan  = info->first_channel_nr + i;
-		chan->vchan = info->first_channel_nr + i + total_channels;
-
-		memcpy(chan->dev_id, "Unused", 7);
-
-		if (info->flags & DMAC_CHANNELS_TEI_CAPABLE)
-			chan->flags |= DMA_TEI_CAPABLE;
-
-		init_waitqueue_head(&chan->wait_queue);
-		dma_create_sysfs_files(chan, info);
-	}
-
-	list_add(&info->list, &registered_dmac_list);
-
-	return 0;
-}
-EXPORT_SYMBOL(register_dmac);
-
-void unregister_dmac(struct dma_info *info)
-{
-	unsigned int i;
-
-	for (i = 0; i < info->nr_channels; i++)
-		dma_remove_sysfs_files(info->channels + i, info);
-
-	if (!(info->flags & DMAC_CHANNELS_CONFIGURED))
-		kfree(info->channels);
-
-	list_del(&info->list);
-	platform_device_unregister(info->pdev);
-}
-EXPORT_SYMBOL(unregister_dmac);
-
-static int __init dma_api_init(void)
-{
-	printk(KERN_NOTICE "DMA: Registering DMA API.\n");
-	return proc_create_single("dma", 0, NULL, dma_proc_show) ? 0 : -ENOMEM;
-}
-subsys_initcall(dma_api_init);
-
-MODULE_AUTHOR("Paul Mundt <lethal at linux-sh.org>");
-MODULE_DESCRIPTION("DMA API for SuperH");
-MODULE_LICENSE("GPL v2");
diff --git a/arch/sh/drivers/dma/dma-g2.c b/arch/sh/drivers/dma/dma-g2.c
deleted file mode 100644
index 52a8ae5e30d2fb..00000000000000
--- a/arch/sh/drivers/dma/dma-g2.c
+++ /dev/null
@@ -1,197 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/dma/dma-g2.c
- *
- * G2 bus DMA support
- *
- * Copyright (C) 2003 - 2006  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <asm/cacheflush.h>
-#include <mach/sysasic.h>
-#include <mach/dma.h>
-#include <asm/dma.h>
-
-struct g2_channel {
-	unsigned long g2_addr;		/* G2 bus address */
-	unsigned long root_addr;	/* Root bus (SH-4) address */
-	unsigned long size;		/* Size (in bytes), 32-byte aligned */
-	unsigned long direction;	/* Transfer direction */
-	unsigned long ctrl;		/* Transfer control */
-	unsigned long chan_enable;	/* Channel enable */
-	unsigned long xfer_enable;	/* Transfer enable */
-	unsigned long xfer_stat;	/* Transfer status */
-} __attribute__ ((aligned(32)));
-
-struct g2_status {
-	unsigned long g2_addr;
-	unsigned long root_addr;
-	unsigned long size;
-	unsigned long status;
-} __attribute__ ((aligned(16)));
-
-struct g2_dma_info {
-	struct g2_channel channel[G2_NR_DMA_CHANNELS];
-	unsigned long pad1[G2_NR_DMA_CHANNELS];
-	unsigned long wait_state;
-	unsigned long pad2[10];
-	unsigned long magic;
-	struct g2_status status[G2_NR_DMA_CHANNELS];
-} __attribute__ ((aligned(256)));
-
-static volatile struct g2_dma_info *g2_dma = (volatile struct g2_dma_info *)0xa05f7800;
-
-#define g2_bytes_remaining(i) \
-	((g2_dma->channel[i].size - \
-	  g2_dma->status[i].size) & 0x0fffffff)
-
-static irqreturn_t g2_dma_interrupt(int irq, void *dev_id)
-{
-	int i;
-
-	for (i = 0; i < G2_NR_DMA_CHANNELS; i++) {
-		if (g2_dma->status[i].status & 0x20000000) {
-			unsigned int bytes = g2_bytes_remaining(i);
-
-			if (likely(bytes == 0)) {
-				struct dma_info *info = dev_id;
-				struct dma_channel *chan = info->channels + i;
-
-				wake_up(&chan->wait_queue);
-
-				return IRQ_HANDLED;
-			}
-		}
-	}
-
-	return IRQ_NONE;
-}
-
-static int g2_enable_dma(struct dma_channel *chan)
-{
-	unsigned int chan_nr = chan->chan;
-
-	g2_dma->channel[chan_nr].chan_enable = 1;
-	g2_dma->channel[chan_nr].xfer_enable = 1;
-
-	return 0;
-}
-
-static int g2_disable_dma(struct dma_channel *chan)
-{
-	unsigned int chan_nr = chan->chan;
-
-	g2_dma->channel[chan_nr].chan_enable = 0;
-	g2_dma->channel[chan_nr].xfer_enable = 0;
-
-	return 0;
-}
-
-static int g2_xfer_dma(struct dma_channel *chan)
-{
-	unsigned int chan_nr = chan->chan;
-
-	if (chan->sar & 31) {
-		printk("g2dma: unaligned source 0x%lx\n", chan->sar);
-		return -EINVAL;
-	}
-
-	if (chan->dar & 31) {
-		printk("g2dma: unaligned dest 0x%lx\n", chan->dar);
-		return -EINVAL;
-	}
-
-	/* Align the count */
-	if (chan->count & 31)
-		chan->count = (chan->count + (32 - 1)) & ~(32 - 1);
-
-	/* Fixup destination */
-	chan->dar += 0xa0800000;
-
-	/* Fixup direction */
-	chan->mode = !chan->mode;
-
-	flush_icache_range((unsigned long)chan->sar, chan->count);
-
-	g2_disable_dma(chan);
-
-	g2_dma->channel[chan_nr].g2_addr   = chan->dar & 0x1fffffe0;
-	g2_dma->channel[chan_nr].root_addr = chan->sar & 0x1fffffe0;
-	g2_dma->channel[chan_nr].size	   = (chan->count & ~31) | 0x80000000;
-	g2_dma->channel[chan_nr].direction = chan->mode;
-
-	/*
-	 * bit 0 - ???
-	 * bit 1 - if set, generate a hardware event on transfer completion
-	 * bit 2 - ??? something to do with suspend?
-	 */
-	g2_dma->channel[chan_nr].ctrl	= 5; /* ?? */
-
-	g2_enable_dma(chan);
-
-	/* debug cruft */
-	pr_debug("count, sar, dar, mode, ctrl, chan, xfer: %ld, 0x%08lx, "
-		 "0x%08lx, %ld, %ld, %ld, %ld\n",
-		 g2_dma->channel[chan_nr].size,
-		 g2_dma->channel[chan_nr].root_addr,
-		 g2_dma->channel[chan_nr].g2_addr,
-		 g2_dma->channel[chan_nr].direction,
-		 g2_dma->channel[chan_nr].ctrl,
-		 g2_dma->channel[chan_nr].chan_enable,
-		 g2_dma->channel[chan_nr].xfer_enable);
-
-	return 0;
-}
-
-static int g2_get_residue(struct dma_channel *chan)
-{
-	return g2_bytes_remaining(chan->chan);
-}
-
-static struct dma_ops g2_dma_ops = {
-	.xfer		= g2_xfer_dma,
-	.get_residue	= g2_get_residue,
-};
-
-static struct dma_info g2_dma_info = {
-	.name		= "g2_dmac",
-	.nr_channels	= 4,
-	.ops		= &g2_dma_ops,
-	.flags		= DMAC_CHANNELS_TEI_CAPABLE,
-};
-
-static int __init g2_dma_init(void)
-{
-	int ret;
-
-	ret = request_irq(HW_EVENT_G2_DMA, g2_dma_interrupt, 0,
-			  "g2 DMA handler", &g2_dma_info);
-	if (unlikely(ret))
-		return -EINVAL;
-
-	/* Magic */
-	g2_dma->wait_state	= 27;
-	g2_dma->magic		= 0x4659404f;
-
-	ret = register_dmac(&g2_dma_info);
-	if (unlikely(ret != 0))
-		free_irq(HW_EVENT_G2_DMA, &g2_dma_info);
-
-	return ret;
-}
-
-static void __exit g2_dma_exit(void)
-{
-	free_irq(HW_EVENT_G2_DMA, &g2_dma_info);
-	unregister_dmac(&g2_dma_info);
-}
-
-subsys_initcall(g2_dma_init);
-module_exit(g2_dma_exit);
-
-MODULE_AUTHOR("Paul Mundt <lethal at linux-sh.org>");
-MODULE_DESCRIPTION("G2 bus DMA driver");
-MODULE_LICENSE("GPL v2");
diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c
deleted file mode 100644
index 21c347543e193d..00000000000000
--- a/arch/sh/drivers/dma/dma-pvr2.c
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/dma/dma-pvr2.c
- *
- * NEC PowerVR 2 (Dreamcast) DMA support
- *
- * Copyright (C) 2003, 2004  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <mach/sysasic.h>
-#include <mach/dma.h>
-#include <asm/dma.h>
-#include <asm/io.h>
-
-static unsigned int xfer_complete;
-static int count;
-
-static irqreturn_t pvr2_dma_interrupt(int irq, void *dev_id)
-{
-	if (get_dma_residue(PVR2_CASCADE_CHAN)) {
-		printk(KERN_WARNING "DMA: SH DMAC did not complete transfer "
-		       "on channel %d, waiting..\n", PVR2_CASCADE_CHAN);
-		dma_wait_for_completion(PVR2_CASCADE_CHAN);
-	}
-
-	if (count++ < 10)
-		pr_debug("Got a pvr2 dma interrupt for channel %d\n",
-			 irq - HW_EVENT_PVR2_DMA);
-
-	xfer_complete = 1;
-
-	return IRQ_HANDLED;
-}
-
-static int pvr2_request_dma(struct dma_channel *chan)
-{
-	if (__raw_readl(PVR2_DMA_MODE) != 0)
-		return -EBUSY;
-
-	__raw_writel(0, PVR2_DMA_LMMODE0);
-
-	return 0;
-}
-
-static int pvr2_get_dma_residue(struct dma_channel *chan)
-{
-	return xfer_complete == 0;
-}
-
-static int pvr2_xfer_dma(struct dma_channel *chan)
-{
-	if (chan->sar || !chan->dar)
-		return -EINVAL;
-
-	xfer_complete = 0;
-
-	__raw_writel(chan->dar, PVR2_DMA_ADDR);
-	__raw_writel(chan->count, PVR2_DMA_COUNT);
-	__raw_writel(chan->mode & DMA_MODE_MASK, PVR2_DMA_MODE);
-
-	return 0;
-}
-
-static struct dma_ops pvr2_dma_ops = {
-	.request	= pvr2_request_dma,
-	.get_residue	= pvr2_get_dma_residue,
-	.xfer		= pvr2_xfer_dma,
-};
-
-static struct dma_info pvr2_dma_info = {
-	.name		= "pvr2_dmac",
-	.nr_channels	= 1,
-	.ops		= &pvr2_dma_ops,
-	.flags		= DMAC_CHANNELS_TEI_CAPABLE,
-};
-
-static int __init pvr2_dma_init(void)
-{
-	if (request_irq(HW_EVENT_PVR2_DMA, pvr2_dma_interrupt, 0,
-			"pvr2 DMA handler", NULL))
-		pr_err("Failed to register pvr2 DMA handler interrupt\n");
-	request_dma(PVR2_CASCADE_CHAN, "pvr2 cascade");
-
-	return register_dmac(&pvr2_dma_info);
-}
-
-static void __exit pvr2_dma_exit(void)
-{
-	free_dma(PVR2_CASCADE_CHAN);
-	free_irq(HW_EVENT_PVR2_DMA, 0);
-	unregister_dmac(&pvr2_dma_info);
-}
-
-subsys_initcall(pvr2_dma_init);
-module_exit(pvr2_dma_exit);
-
-MODULE_AUTHOR("Paul Mundt <lethal at linux-sh.org>");
-MODULE_DESCRIPTION("NEC PowerVR 2 DMA driver");
-MODULE_LICENSE("GPL v2");
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
deleted file mode 100644
index 96c626c2cd0a49..00000000000000
--- a/arch/sh/drivers/dma/dma-sh.c
+++ /dev/null
@@ -1,414 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/dma/dma-sh.c
- *
- * SuperH On-chip DMAC Support
- *
- * Copyright (C) 2000 Takashi YOSHII
- * Copyright (C) 2003, 2004 Paul Mundt
- * Copyright (C) 2005 Andriy Skulysh
- */
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/module.h>
-#include <linux/io.h>
-#include <mach-dreamcast/mach/dma.h>
-#include <asm/dma.h>
-#include <asm/dma-register.h>
-#include <cpu/dma-register.h>
-#include <cpu/dma.h>
-
-/*
- * Define the default configuration for dual address memory-memory transfer.
- * The 0x400 value represents auto-request, external->external.
- */
-#define RS_DUAL	(DM_INC | SM_INC | RS_AUTO | TS_INDEX2VAL(XMIT_SZ_32BIT))
-
-static unsigned long dma_find_base(unsigned int chan)
-{
-	unsigned long base = SH_DMAC_BASE0;
-
-#ifdef SH_DMAC_BASE1
-	if (chan >= 6)
-		base = SH_DMAC_BASE1;
-#endif
-
-	return base;
-}
-
-static unsigned long dma_base_addr(unsigned int chan)
-{
-	unsigned long base = dma_find_base(chan);
-
-	/* Normalize offset calculation */
-	if (chan >= 9)
-		chan -= 6;
-	if (chan >= 4)
-		base += 0x10;
-
-	return base + (chan * 0x10);
-}
-
-#ifdef CONFIG_SH_DMA_IRQ_MULTI
-static inline unsigned int get_dmte_irq(unsigned int chan)
-{
-	return chan >= 6 ? DMTE6_IRQ : DMTE0_IRQ;
-}
-#else
-
-static unsigned int dmte_irq_map[] = {
-	DMTE0_IRQ, DMTE0_IRQ + 1, DMTE0_IRQ + 2, DMTE0_IRQ + 3,
-
-#ifdef DMTE4_IRQ
-	DMTE4_IRQ, DMTE4_IRQ + 1,
-#endif
-
-#ifdef DMTE6_IRQ
-	DMTE6_IRQ, DMTE6_IRQ + 1,
-#endif
-
-#ifdef DMTE8_IRQ
-	DMTE8_IRQ, DMTE9_IRQ, DMTE10_IRQ, DMTE11_IRQ,
-#endif
-};
-
-static inline unsigned int get_dmte_irq(unsigned int chan)
-{
-	return dmte_irq_map[chan];
-}
-#endif
-
-/*
- * We determine the correct shift size based off of the CHCR transmit size
- * for the given channel. Since we know that it will take:
- *
- *	info->count >> ts_shift[transmit_size]
- *
- * iterations to complete the transfer.
- */
-static unsigned int ts_shift[] = TS_SHIFT;
-
-static inline unsigned int calc_xmit_shift(struct dma_channel *chan)
-{
-	u32 chcr = __raw_readl(dma_base_addr(chan->chan) + CHCR);
-	int cnt = ((chcr & CHCR_TS_LOW_MASK) >> CHCR_TS_LOW_SHIFT) |
-		((chcr & CHCR_TS_HIGH_MASK) >> CHCR_TS_HIGH_SHIFT);
-
-	return ts_shift[cnt];
-}
-
-/*
- * The transfer end interrupt must read the chcr register to end the
- * hardware interrupt active condition.
- * Besides that it needs to waken any waiting process, which should handle
- * setting up the next transfer.
- */
-static irqreturn_t dma_tei(int irq, void *dev_id)
-{
-	struct dma_channel *chan = dev_id;
-	u32 chcr;
-
-	chcr = __raw_readl(dma_base_addr(chan->chan) + CHCR);
-
-	if (!(chcr & CHCR_TE))
-		return IRQ_NONE;
-
-	chcr &= ~(CHCR_IE | CHCR_DE);
-	__raw_writel(chcr, (dma_base_addr(chan->chan) + CHCR));
-
-	wake_up(&chan->wait_queue);
-
-	return IRQ_HANDLED;
-}
-
-static int sh_dmac_request_dma(struct dma_channel *chan)
-{
-	if (unlikely(!(chan->flags & DMA_TEI_CAPABLE)))
-		return 0;
-
-	return request_irq(get_dmte_irq(chan->chan), dma_tei, IRQF_SHARED,
-			   chan->dev_id, chan);
-}
-
-static void sh_dmac_free_dma(struct dma_channel *chan)
-{
-	free_irq(get_dmte_irq(chan->chan), chan);
-}
-
-static int
-sh_dmac_configure_channel(struct dma_channel *chan, unsigned long chcr)
-{
-	if (!chcr)
-		chcr = RS_DUAL | CHCR_IE;
-
-	if (chcr & CHCR_IE) {
-		chcr &= ~CHCR_IE;
-		chan->flags |= DMA_TEI_CAPABLE;
-	} else {
-		chan->flags &= ~DMA_TEI_CAPABLE;
-	}
-
-	__raw_writel(chcr, (dma_base_addr(chan->chan) + CHCR));
-
-	chan->flags |= DMA_CONFIGURED;
-	return 0;
-}
-
-static void sh_dmac_enable_dma(struct dma_channel *chan)
-{
-	int irq;
-	u32 chcr;
-
-	chcr = __raw_readl(dma_base_addr(chan->chan) + CHCR);
-	chcr |= CHCR_DE;
-
-	if (chan->flags & DMA_TEI_CAPABLE)
-		chcr |= CHCR_IE;
-
-	__raw_writel(chcr, (dma_base_addr(chan->chan) + CHCR));
-
-	if (chan->flags & DMA_TEI_CAPABLE) {
-		irq = get_dmte_irq(chan->chan);
-		enable_irq(irq);
-	}
-}
-
-static void sh_dmac_disable_dma(struct dma_channel *chan)
-{
-	int irq;
-	u32 chcr;
-
-	if (chan->flags & DMA_TEI_CAPABLE) {
-		irq = get_dmte_irq(chan->chan);
-		disable_irq(irq);
-	}
-
-	chcr = __raw_readl(dma_base_addr(chan->chan) + CHCR);
-	chcr &= ~(CHCR_DE | CHCR_TE | CHCR_IE);
-	__raw_writel(chcr, (dma_base_addr(chan->chan) + CHCR));
-}
-
-static int sh_dmac_xfer_dma(struct dma_channel *chan)
-{
-	/*
-	 * If we haven't pre-configured the channel with special flags, use
-	 * the defaults.
-	 */
-	if (unlikely(!(chan->flags & DMA_CONFIGURED)))
-		sh_dmac_configure_channel(chan, 0);
-
-	sh_dmac_disable_dma(chan);
-
-	/*
-	 * Single-address mode usage note!
-	 *
-	 * It's important that we don't accidentally write any value to SAR/DAR
-	 * (this includes 0) that hasn't been directly specified by the user if
-	 * we're in single-address mode.
-	 *
-	 * In this case, only one address can be defined, anything else will
-	 * result in a DMA address error interrupt (at least on the SH-4),
-	 * which will subsequently halt the transfer.
-	 *
-	 * Channel 2 on the Dreamcast is a special case, as this is used for
-	 * cascading to the PVR2 DMAC. In this case, we still need to write
-	 * SAR and DAR, regardless of value, in order for cascading to work.
-	 */
-	if (chan->sar || (mach_is_dreamcast() &&
-			  chan->chan == PVR2_CASCADE_CHAN))
-		__raw_writel(chan->sar, (dma_base_addr(chan->chan) + SAR));
-	if (chan->dar || (mach_is_dreamcast() &&
-			  chan->chan == PVR2_CASCADE_CHAN))
-		__raw_writel(chan->dar, (dma_base_addr(chan->chan) + DAR));
-
-	__raw_writel(chan->count >> calc_xmit_shift(chan),
-		(dma_base_addr(chan->chan) + TCR));
-
-	sh_dmac_enable_dma(chan);
-
-	return 0;
-}
-
-static int sh_dmac_get_dma_residue(struct dma_channel *chan)
-{
-	if (!(__raw_readl(dma_base_addr(chan->chan) + CHCR) & CHCR_DE))
-		return 0;
-
-	return __raw_readl(dma_base_addr(chan->chan) + TCR)
-		 << calc_xmit_shift(chan);
-}
-
-/*
- * DMAOR handling
- */
-#if defined(CONFIG_CPU_SUBTYPE_SH7723)	|| \
-    defined(CONFIG_CPU_SUBTYPE_SH7724)	|| \
-    defined(CONFIG_CPU_SUBTYPE_SH7780)	|| \
-    defined(CONFIG_CPU_SUBTYPE_SH7785)
-#define NR_DMAOR	2
-#else
-#define NR_DMAOR	1
-#endif
-
-/*
- * DMAOR bases are broken out amongst channel groups. DMAOR0 manages
- * channels 0 - 5, DMAOR1 6 - 11 (optional).
- */
-#define dmaor_read_reg(n)		__raw_readw(dma_find_base((n)*6))
-#define dmaor_write_reg(n, data)	__raw_writew(data, dma_find_base(n)*6)
-
-static inline int dmaor_reset(int no)
-{
-	unsigned long dmaor = dmaor_read_reg(no);
-
-	/* Try to clear the error flags first, incase they are set */
-	dmaor &= ~(DMAOR_NMIF | DMAOR_AE);
-	dmaor_write_reg(no, dmaor);
-
-	dmaor |= DMAOR_INIT;
-	dmaor_write_reg(no, dmaor);
-
-	/* See if we got an error again */
-	if ((dmaor_read_reg(no) & (DMAOR_AE | DMAOR_NMIF))) {
-		printk(KERN_ERR "dma-sh: Can't initialize DMAOR.\n");
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/*
- * DMAE handling
- */
-#ifdef CONFIG_CPU_SH4
-
-#if defined(DMAE1_IRQ)
-#define NR_DMAE		2
-#else
-#define NR_DMAE		1
-#endif
-
-static const char *dmae_name[] = {
-	"DMAC Address Error0",
-	"DMAC Address Error1"
-};
-
-#ifdef CONFIG_SH_DMA_IRQ_MULTI
-static inline unsigned int get_dma_error_irq(int n)
-{
-	return get_dmte_irq(n * 6);
-}
-#else
-
-static unsigned int dmae_irq_map[] = {
-	DMAE0_IRQ,
-
-#ifdef DMAE1_IRQ
-	DMAE1_IRQ,
-#endif
-};
-
-static inline unsigned int get_dma_error_irq(int n)
-{
-	return dmae_irq_map[n];
-}
-#endif
-
-static irqreturn_t dma_err(int irq, void *dummy)
-{
-	int i;
-
-	for (i = 0; i < NR_DMAOR; i++)
-		dmaor_reset(i);
-
-	disable_irq(irq);
-
-	return IRQ_HANDLED;
-}
-
-static int dmae_irq_init(void)
-{
-	int n;
-
-	for (n = 0; n < NR_DMAE; n++) {
-		int i = request_irq(get_dma_error_irq(n), dma_err,
-				    IRQF_SHARED, dmae_name[n], (void *)dmae_name[n]);
-		if (unlikely(i < 0)) {
-			printk(KERN_ERR "%s request_irq fail\n", dmae_name[n]);
-			return i;
-		}
-	}
-
-	return 0;
-}
-
-static void dmae_irq_free(void)
-{
-	int n;
-
-	for (n = 0; n < NR_DMAE; n++)
-		free_irq(get_dma_error_irq(n), NULL);
-}
-#else
-static inline int dmae_irq_init(void)
-{
-	return 0;
-}
-
-static void dmae_irq_free(void)
-{
-}
-#endif
-
-static struct dma_ops sh_dmac_ops = {
-	.request	= sh_dmac_request_dma,
-	.free		= sh_dmac_free_dma,
-	.get_residue	= sh_dmac_get_dma_residue,
-	.xfer		= sh_dmac_xfer_dma,
-	.configure	= sh_dmac_configure_channel,
-};
-
-static struct dma_info sh_dmac_info = {
-	.name		= "sh_dmac",
-	.nr_channels	= CONFIG_NR_ONCHIP_DMA_CHANNELS,
-	.ops		= &sh_dmac_ops,
-	.flags		= DMAC_CHANNELS_TEI_CAPABLE,
-};
-
-static int __init sh_dmac_init(void)
-{
-	struct dma_info *info = &sh_dmac_info;
-	int i, rc;
-
-	/*
-	 * Initialize DMAE, for parts that support it.
-	 */
-	rc = dmae_irq_init();
-	if (unlikely(rc != 0))
-		return rc;
-
-	/*
-	 * Initialize DMAOR, and clean up any error flags that may have
-	 * been set.
-	 */
-	for (i = 0; i < NR_DMAOR; i++) {
-		rc = dmaor_reset(i);
-		if (unlikely(rc != 0))
-			return rc;
-	}
-
-	return register_dmac(info);
-}
-
-static void __exit sh_dmac_exit(void)
-{
-	dmae_irq_free();
-	unregister_dmac(&sh_dmac_info);
-}
-
-subsys_initcall(sh_dmac_init);
-module_exit(sh_dmac_exit);
-
-MODULE_AUTHOR("Takashi YOSHII, Paul Mundt, Andriy Skulysh");
-MODULE_DESCRIPTION("SuperH On-Chip DMAC Support");
-MODULE_LICENSE("GPL v2");
diff --git a/arch/sh/drivers/dma/dma-sysfs.c b/arch/sh/drivers/dma/dma-sysfs.c
deleted file mode 100644
index 8ef318150f84db..00000000000000
--- a/arch/sh/drivers/dma/dma-sysfs.c
+++ /dev/null
@@ -1,164 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/dma/dma-sysfs.c
- *
- * sysfs interface for SH DMA API
- *
- * Copyright (C) 2004 - 2006  Paul Mundt
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/stat.h>
-#include <linux/device.h>
-#include <linux/platform_device.h>
-#include <linux/err.h>
-#include <linux/string.h>
-#include <asm/dma.h>
-
-static struct bus_type dma_subsys = {
-	.name = "dma",
-	.dev_name = "dma",
-};
-
-static ssize_t dma_show_devices(struct device *dev,
-				struct device_attribute *attr, char *buf)
-{
-	ssize_t len = 0;
-	int i;
-
-	for (i = 0; i < 16; i++) {
-		struct dma_info *info = get_dma_info(i);
-		struct dma_channel *channel = get_dma_channel(i);
-
-		if (unlikely(!info) || !channel)
-			continue;
-
-		len += sprintf(buf + len, "%2d: %14s    %s\n",
-			       channel->chan, info->name,
-			       channel->dev_id);
-	}
-
-	return len;
-}
-
-static DEVICE_ATTR(devices, S_IRUGO, dma_show_devices, NULL);
-
-static int __init dma_subsys_init(void)
-{
-	int ret;
-
-	ret = subsys_system_register(&dma_subsys, NULL);
-	if (unlikely(ret))
-		return ret;
-
-	return device_create_file(dma_subsys.dev_root, &dev_attr_devices);
-}
-postcore_initcall(dma_subsys_init);
-
-static ssize_t dma_show_dev_id(struct device *dev,
-				struct device_attribute *attr, char *buf)
-{
-	struct dma_channel *channel = to_dma_channel(dev);
-	return sprintf(buf, "%s\n", channel->dev_id);
-}
-
-static ssize_t dma_store_dev_id(struct device *dev,
-				struct device_attribute *attr,
-				const char *buf, size_t count)
-{
-	struct dma_channel *channel = to_dma_channel(dev);
-	strcpy(channel->dev_id, buf);
-	return count;
-}
-
-static DEVICE_ATTR(dev_id, S_IRUGO | S_IWUSR, dma_show_dev_id, dma_store_dev_id);
-
-static ssize_t dma_store_config(struct device *dev,
-				struct device_attribute *attr,
-				const char *buf, size_t count)
-{
-	struct dma_channel *channel = to_dma_channel(dev);
-	unsigned long config;
-
-	config = simple_strtoul(buf, NULL, 0);
-	dma_configure_channel(channel->vchan, config);
-
-	return count;
-}
-
-static DEVICE_ATTR(config, S_IWUSR, NULL, dma_store_config);
-
-static ssize_t dma_show_mode(struct device *dev,
-				struct device_attribute *attr, char *buf)
-{
-	struct dma_channel *channel = to_dma_channel(dev);
-	return sprintf(buf, "0x%08x\n", channel->mode);
-}
-
-static ssize_t dma_store_mode(struct device *dev,
-			      struct device_attribute *attr,
-			      const char *buf, size_t count)
-{
-	struct dma_channel *channel = to_dma_channel(dev);
-	channel->mode = simple_strtoul(buf, NULL, 0);
-	return count;
-}
-
-static DEVICE_ATTR(mode, S_IRUGO | S_IWUSR, dma_show_mode, dma_store_mode);
-
-#define dma_ro_attr(field, fmt)						\
-static ssize_t dma_show_##field(struct device *dev,		\
-				struct device_attribute *attr, char *buf)\
-{									\
-	struct dma_channel *channel = to_dma_channel(dev);		\
-	return sprintf(buf, fmt, channel->field);			\
-}									\
-static DEVICE_ATTR(field, S_IRUGO, dma_show_##field, NULL);
-
-dma_ro_attr(count, "0x%08x\n");
-dma_ro_attr(flags, "0x%08lx\n");
-
-int dma_create_sysfs_files(struct dma_channel *chan, struct dma_info *info)
-{
-	struct device *dev = &chan->dev;
-	char name[16];
-	int ret;
-
-	dev->id  = chan->vchan;
-	dev->bus = &dma_subsys;
-
-	ret = device_register(dev);
-	if (ret)
-		return ret;
-
-	ret |= device_create_file(dev, &dev_attr_dev_id);
-	ret |= device_create_file(dev, &dev_attr_count);
-	ret |= device_create_file(dev, &dev_attr_mode);
-	ret |= device_create_file(dev, &dev_attr_flags);
-	ret |= device_create_file(dev, &dev_attr_config);
-
-	if (unlikely(ret)) {
-		dev_err(&info->pdev->dev, "Failed creating attrs\n");
-		return ret;
-	}
-
-	snprintf(name, sizeof(name), "dma%d", chan->chan);
-	return sysfs_create_link(&info->pdev->dev.kobj, &dev->kobj, name);
-}
-
-void dma_remove_sysfs_files(struct dma_channel *chan, struct dma_info *info)
-{
-	struct device *dev = &chan->dev;
-	char name[16];
-
-	device_remove_file(dev, &dev_attr_dev_id);
-	device_remove_file(dev, &dev_attr_count);
-	device_remove_file(dev, &dev_attr_mode);
-	device_remove_file(dev, &dev_attr_flags);
-	device_remove_file(dev, &dev_attr_config);
-
-	snprintf(name, sizeof(name), "dma%d", chan->chan);
-	sysfs_remove_link(&info->pdev->dev.kobj, name);
-
-	device_unregister(dev);
-}
diff --git a/arch/sh/drivers/dma/dmabrg.c b/arch/sh/drivers/dma/dmabrg.c
deleted file mode 100644
index 5b2c1fd254d729..00000000000000
--- a/arch/sh/drivers/dma/dmabrg.c
+++ /dev/null
@@ -1,196 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SH7760 DMABRG IRQ handling
- *
- * (c) 2007 MSC Vertriebsges.m.b.H, Manuel Lauss <mlau at msc-ge.com>
- */
-
-#include <linux/interrupt.h>
-#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <asm/dma.h>
-#include <asm/dmabrg.h>
-#include <asm/io.h>
-
-/*
- * The DMABRG is a special DMA unit within the SH7760. It does transfers
- * from USB-SRAM/Audio units to main memory (and also the LCDC; but that
- * part is sensibly placed  in the LCDC  registers and requires no irqs)
- * It has 3 IRQ lines which trigger 10 events, and works independently
- * from the traditional SH DMAC (although it blocks usage of DMAC 0)
- *
- * BRGIRQID   | component | dir | meaning      | source
- * -----------------------------------------------------
- *     0      | USB-DMA   | ... | xfer done    | DMABRGI1
- *     1      | USB-UAE   | ... | USB addr err.| DMABRGI0
- *     2      | HAC0/SSI0 | play| all done     | DMABRGI1
- *     3      | HAC0/SSI0 | play| half done    | DMABRGI2
- *     4      | HAC0/SSI0 | rec | all done     | DMABRGI1
- *     5      | HAC0/SSI0 | rec | half done    | DMABRGI2
- *     6      | HAC1/SSI1 | play| all done     | DMABRGI1
- *     7      | HAC1/SSI1 | play| half done    | DMABRGI2
- *     8      | HAC1/SSI1 | rec | all done     | DMABRGI1
- *     9      | HAC1/SSI1 | rec | half done    | DMABRGI2
- *
- * all can be enabled/disabled in the DMABRGCR register,
- * as well as checked if they occurred.
- *
- * DMABRGI0 services  USB  DMA  Address  errors,  but it still must be
- * enabled/acked in the DMABRGCR register.  USB-DMA complete indicator
- * is grouped together with the audio buffer end indicators, too bad...
- *
- * DMABRGCR:	Bits 31-24: audio-dma ENABLE flags,
- *		Bits 23-16: audio-dma STATUS flags,
- *		Bits  9-8:  USB error/xfer ENABLE,
- *		Bits  1-0:  USB error/xfer STATUS.
- *	Ack an IRQ by writing 0 to the STATUS flag.
- *	Mask IRQ by writing 0 to ENABLE flag.
- *
- * Usage is almost like with any other IRQ:
- *  dmabrg_request_irq(BRGIRQID, handler, data)
- *  dmabrg_free_irq(BRGIRQID)
- *
- * handler prototype:  void brgirqhandler(void *data)
- */
-
-#define DMARSRA		0xfe090000
-#define DMAOR		0xffa00040
-#define DMACHCR0	0xffa0000c
-#define DMABRGCR	0xfe3c0000
-
-#define DMAOR_BRG	0x0000c000
-#define DMAOR_DMEN	0x00000001
-
-#define DMABRGI0	68
-#define DMABRGI1	69
-#define DMABRGI2	70
-
-struct dmabrg_handler {
-	void (*handler)(void *);
-	void *data;
-} *dmabrg_handlers;
-
-static inline void dmabrg_call_handler(int i)
-{
-	dmabrg_handlers[i].handler(dmabrg_handlers[i].data);
-}
-
-/*
- * main DMABRG irq handler. It acks irqs and then
- * handles every set and unmasked bit sequentially.
- * No locking and no validity checks; it should be
- * as fast as possible (audio!)
- */
-static irqreturn_t dmabrg_irq(int irq, void *data)
-{
-	unsigned long dcr;
-	unsigned int i;
-
-	dcr = __raw_readl(DMABRGCR);
-	__raw_writel(dcr & ~0x00ff0003, DMABRGCR);	/* ack all */
-	dcr &= dcr >> 8;	/* ignore masked */
-
-	/* USB stuff, get it out of the way first */
-	if (dcr & 1)
-		dmabrg_call_handler(DMABRGIRQ_USBDMA);
-	if (dcr & 2)
-		dmabrg_call_handler(DMABRGIRQ_USBDMAERR);
-
-	/* Audio */
-	dcr >>= 16;
-	while (dcr) {
-		i = __ffs(dcr);
-		dcr &= dcr - 1;
-		dmabrg_call_handler(i + DMABRGIRQ_A0TXF);
-	}
-	return IRQ_HANDLED;
-}
-
-static void dmabrg_disable_irq(unsigned int dmairq)
-{
-	unsigned long dcr;
-	dcr = __raw_readl(DMABRGCR);
-	dcr &= ~(1 << ((dmairq > 1) ? dmairq + 22 : dmairq + 8));
-	__raw_writel(dcr, DMABRGCR);
-}
-
-static void dmabrg_enable_irq(unsigned int dmairq)
-{
-	unsigned long dcr;
-	dcr = __raw_readl(DMABRGCR);
-	dcr |= (1 << ((dmairq > 1) ? dmairq + 22 : dmairq + 8));
-	__raw_writel(dcr, DMABRGCR);
-}
-
-int dmabrg_request_irq(unsigned int dmairq, void(*handler)(void*),
-		       void *data)
-{
-	if ((dmairq > 9) || !handler)
-		return -ENOENT;
-	if (dmabrg_handlers[dmairq].handler)
-		return -EBUSY;
-
-	dmabrg_handlers[dmairq].handler = handler;
-	dmabrg_handlers[dmairq].data = data;
-	
-	dmabrg_enable_irq(dmairq);
-	return 0;
-}
-EXPORT_SYMBOL_GPL(dmabrg_request_irq);
-
-void dmabrg_free_irq(unsigned int dmairq)
-{
-	if (likely(dmairq < 10)) {
-		dmabrg_disable_irq(dmairq);
-		dmabrg_handlers[dmairq].handler = NULL;
-		dmabrg_handlers[dmairq].data = NULL;
-	}
-}
-EXPORT_SYMBOL_GPL(dmabrg_free_irq);
-
-static int __init dmabrg_init(void)
-{
-	unsigned long or;
-	int ret;
-
-	dmabrg_handlers = kcalloc(10, sizeof(struct dmabrg_handler),
-				  GFP_KERNEL);
-	if (!dmabrg_handlers)
-		return -ENOMEM;
-
-#ifdef CONFIG_SH_DMA
-	/* request DMAC channel 0 before anyone else can get it */
-	ret = request_dma(0, "DMAC 0 (DMABRG)");
-	if (ret < 0)
-		printk(KERN_INFO "DMABRG: DMAC ch0 not reserved!\n");
-#endif
-
-	__raw_writel(0, DMABRGCR);
-	__raw_writel(0, DMACHCR0);
-	__raw_writel(0x94000000, DMARSRA);	/* enable DMABRG in DMAC 0 */
-
-	/* enable DMABRG mode, enable the DMAC */
-	or = __raw_readl(DMAOR);
-	__raw_writel(or | DMAOR_BRG | DMAOR_DMEN, DMAOR);
-
-	ret = request_irq(DMABRGI0, dmabrg_irq, 0,
-			"DMABRG USB address error", NULL);
-	if (ret)
-		goto out0;
-
-	ret = request_irq(DMABRGI1, dmabrg_irq, 0,
-			"DMABRG Transfer End", NULL);
-	if (ret)
-		goto out1;
-
-	ret = request_irq(DMABRGI2, dmabrg_irq, 0,
-			"DMABRG Transfer Half", NULL);
-	if (ret == 0)
-		return ret;
-
-	free_irq(DMABRGI1, NULL);
-out1:	free_irq(DMABRGI0, NULL);
-out0:	kfree(dmabrg_handlers);
-	return ret;
-}
-subsys_initcall(dmabrg_init);
diff --git a/arch/sh/drivers/heartbeat.c b/arch/sh/drivers/heartbeat.c
deleted file mode 100644
index 24391b444b286d..00000000000000
--- a/arch/sh/drivers/heartbeat.c
+++ /dev/null
@@ -1,152 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Generic heartbeat driver for regular LED banks
- *
- * Copyright (C) 2007 - 2010  Paul Mundt
- *
- * Most SH reference boards include a number of individual LEDs that can
- * be independently controlled (either via a pre-defined hardware
- * function or via the LED class, if desired -- the hardware tends to
- * encapsulate some of the same "triggers" that the LED class supports,
- * so there's not too much value in it).
- *
- * Additionally, most of these boards also have a LED bank that we've
- * traditionally used for strobing the load average. This use case is
- * handled by this driver, rather than giving each LED bit position its
- * own struct device.
- */
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/sched.h>
-#include <linux/sched/loadavg.h>
-#include <linux/timer.h>
-#include <linux/io.h>
-#include <linux/slab.h>
-#include <asm/heartbeat.h>
-
-#define DRV_NAME "heartbeat"
-#define DRV_VERSION "0.1.2"
-
-static unsigned char default_bit_pos[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
-
-static inline void heartbeat_toggle_bit(struct heartbeat_data *hd,
-					unsigned bit, unsigned int inverted)
-{
-	unsigned int new;
-
-	new = (1 << hd->bit_pos[bit]);
-	if (inverted)
-		new = ~new;
-
-	new &= hd->mask;
-
-	switch (hd->regsize) {
-	case 32:
-		new |= ioread32(hd->base) & ~hd->mask;
-		iowrite32(new, hd->base);
-		break;
-	case 16:
-		new |= ioread16(hd->base) & ~hd->mask;
-		iowrite16(new, hd->base);
-		break;
-	default:
-		new |= ioread8(hd->base) & ~hd->mask;
-		iowrite8(new, hd->base);
-		break;
-	}
-}
-
-static void heartbeat_timer(struct timer_list *t)
-{
-	struct heartbeat_data *hd = from_timer(hd, t, timer);
-	static unsigned bit = 0, up = 1;
-
-	heartbeat_toggle_bit(hd, bit, hd->flags & HEARTBEAT_INVERTED);
-
-	bit += up;
-	if ((bit == 0) || (bit == (hd->nr_bits)-1))
-		up = -up;
-
-	mod_timer(&hd->timer, jiffies + (110 - ((300 << FSHIFT) /
-			((avenrun[0] / 5) + (3 << FSHIFT)))));
-}
-
-static int heartbeat_drv_probe(struct platform_device *pdev)
-{
-	struct resource *res;
-	struct heartbeat_data *hd;
-	int i;
-
-	if (unlikely(pdev->num_resources != 1)) {
-		dev_err(&pdev->dev, "invalid number of resources\n");
-		return -EINVAL;
-	}
-
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (unlikely(res == NULL)) {
-		dev_err(&pdev->dev, "invalid resource\n");
-		return -EINVAL;
-	}
-
-	if (pdev->dev.platform_data) {
-		hd = pdev->dev.platform_data;
-	} else {
-		hd = kzalloc(sizeof(struct heartbeat_data), GFP_KERNEL);
-		if (unlikely(!hd))
-			return -ENOMEM;
-	}
-
-	hd->base = ioremap(res->start, resource_size(res));
-	if (unlikely(!hd->base)) {
-		dev_err(&pdev->dev, "ioremap failed\n");
-
-		if (!pdev->dev.platform_data)
-			kfree(hd);
-
-		return -ENXIO;
-	}
-
-	if (!hd->nr_bits) {
-		hd->bit_pos = default_bit_pos;
-		hd->nr_bits = ARRAY_SIZE(default_bit_pos);
-	}
-
-	hd->mask = 0;
-	for (i = 0; i < hd->nr_bits; i++)
-		hd->mask |= (1 << hd->bit_pos[i]);
-
-	if (!hd->regsize) {
-		switch (res->flags & IORESOURCE_MEM_TYPE_MASK) {
-		case IORESOURCE_MEM_32BIT:
-			hd->regsize = 32;
-			break;
-		case IORESOURCE_MEM_16BIT:
-			hd->regsize = 16;
-			break;
-		case IORESOURCE_MEM_8BIT:
-		default:
-			hd->regsize = 8;
-			break;
-		}
-	}
-
-	timer_setup(&hd->timer, heartbeat_timer, 0);
-	platform_set_drvdata(pdev, hd);
-
-	return mod_timer(&hd->timer, jiffies + 1);
-}
-
-static struct platform_driver heartbeat_driver = {
-	.probe		= heartbeat_drv_probe,
-	.driver		= {
-		.name			= DRV_NAME,
-		.suppress_bind_attrs	= true,
-	},
-};
-
-static int __init heartbeat_init(void)
-{
-	printk(KERN_NOTICE DRV_NAME ": version %s loaded\n", DRV_VERSION);
-	return platform_driver_register(&heartbeat_driver);
-}
-device_initcall(heartbeat_init);
diff --git a/arch/sh/drivers/pci/Makefile b/arch/sh/drivers/pci/Makefile
deleted file mode 100644
index d313fd3ce7091e..00000000000000
--- a/arch/sh/drivers/pci/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the PCI specific kernel interface routines under Linux.
-#
-obj-y					+= common.o pci.o
-
-obj-$(CONFIG_CPU_SUBTYPE_SH7751)	+= pci-sh7751.o ops-sh4.o
-obj-$(CONFIG_CPU_SUBTYPE_SH7751R)	+= pci-sh7751.o ops-sh4.o
-obj-$(CONFIG_CPU_SUBTYPE_SH7763)	+= pci-sh7780.o ops-sh4.o
-obj-$(CONFIG_CPU_SUBTYPE_SH7780)	+= pci-sh7780.o ops-sh4.o
-obj-$(CONFIG_CPU_SUBTYPE_SH7785)	+= pci-sh7780.o ops-sh4.o
-obj-$(CONFIG_CPU_SUBTYPE_SH7786)	+= pcie-sh7786.o ops-sh7786.o
-
-obj-$(CONFIG_SH_DREAMCAST)		+= ops-dreamcast.o fixups-dreamcast.o \
-					   pci-dreamcast.o
-obj-$(CONFIG_SH_SECUREEDGE5410)		+= fixups-snapgear.o
-obj-$(CONFIG_SH_7751_SOLUTION_ENGINE)	+= fixups-se7751.o
-obj-$(CONFIG_SH_RTS7751R2D)		+= fixups-rts7751r2d.o
-obj-$(CONFIG_SH_SH03)			+= fixups-sh03.o
-obj-$(CONFIG_SH_HIGHLANDER)		+= fixups-r7780rp.o
-obj-$(CONFIG_SH_SH7785LCR)		+= fixups-r7780rp.o
-obj-$(CONFIG_SH_SDK7786)		+= fixups-sdk7786.o
-obj-$(CONFIG_SH_SDK7780)		+= fixups-sdk7780.o
-obj-$(CONFIG_SH_7780_SOLUTION_ENGINE)	+= fixups-sdk7780.o
-obj-$(CONFIG_SH_TITAN)			+= fixups-titan.o
-obj-$(CONFIG_SH_LANDISK)		+= fixups-landisk.o
-obj-$(CONFIG_SH_LBOX_RE2)		+= fixups-rts7751r2d.o
diff --git a/arch/sh/drivers/pci/common.c b/arch/sh/drivers/pci/common.c
deleted file mode 100644
index 2fd2b77e12cec1..00000000000000
--- a/arch/sh/drivers/pci/common.c
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/pci.h>
-#include <linux/interrupt.h>
-#include <linux/timer.h>
-#include <linux/kernel.h>
-
-/*
- * These functions are used early on before PCI scanning is done
- * and all of the pci_dev and pci_bus structures have been created.
- */
-static struct pci_dev *fake_pci_dev(struct pci_channel *hose,
-	int top_bus, int busnr, int devfn)
-{
-	static struct pci_dev dev;
-	static struct pci_bus bus;
-
-	dev.bus = &bus;
-	dev.sysdata = hose;
-	dev.devfn = devfn;
-	bus.number = busnr;
-	bus.sysdata = hose;
-	bus.ops = hose->pci_ops;
-
-	if(busnr != top_bus)
-		/* Fake a parent bus structure. */
-		bus.parent = &bus;
-	else
-		bus.parent = NULL;
-
-	return &dev;
-}
-
-#define EARLY_PCI_OP(rw, size, type)					\
-int __init early_##rw##_config_##size(struct pci_channel *hose,		\
-	int top_bus, int bus, int devfn, int offset, type value)	\
-{									\
-	return pci_##rw##_config_##size(				\
-		fake_pci_dev(hose, top_bus, bus, devfn),		\
-		offset, value);						\
-}
-
-EARLY_PCI_OP(read, byte, u8 *)
-EARLY_PCI_OP(read, word, u16 *)
-EARLY_PCI_OP(read, dword, u32 *)
-EARLY_PCI_OP(write, byte, u8)
-EARLY_PCI_OP(write, word, u16)
-EARLY_PCI_OP(write, dword, u32)
-
-int __init pci_is_66mhz_capable(struct pci_channel *hose,
-				int top_bus, int current_bus)
-{
-	u32 pci_devfn;
-	unsigned short vid;
-	int cap66 = -1;
-	u16 stat;
-
-	pr_info("PCI: Checking 66MHz capabilities...\n");
-
-	for (pci_devfn = 0; pci_devfn < 0xff; pci_devfn++) {
-		if (PCI_FUNC(pci_devfn))
-			continue;
-		if (early_read_config_word(hose, top_bus, current_bus,
-					   pci_devfn, PCI_VENDOR_ID, &vid) !=
-		    PCIBIOS_SUCCESSFUL)
-			continue;
-		if (vid == 0xffff)
-			continue;
-
-		/* check 66MHz capability */
-		if (cap66 < 0)
-			cap66 = 1;
-		if (cap66) {
-			early_read_config_word(hose, top_bus, current_bus,
-					       pci_devfn, PCI_STATUS, &stat);
-			if (!(stat & PCI_STATUS_66MHZ)) {
-				printk(KERN_DEBUG
-				       "PCI: %02x:%02x not 66MHz capable.\n",
-				       current_bus, pci_devfn);
-				cap66 = 0;
-				break;
-			}
-		}
-	}
-
-	return cap66 > 0;
-}
-
-static void pcibios_enable_err(struct timer_list *t)
-{
-	struct pci_channel *hose = from_timer(hose, t, err_timer);
-
-	del_timer(&hose->err_timer);
-	printk(KERN_DEBUG "PCI: re-enabling error IRQ.\n");
-	enable_irq(hose->err_irq);
-}
-
-static void pcibios_enable_serr(struct timer_list *t)
-{
-	struct pci_channel *hose = from_timer(hose, t, serr_timer);
-
-	del_timer(&hose->serr_timer);
-	printk(KERN_DEBUG "PCI: re-enabling system error IRQ.\n");
-	enable_irq(hose->serr_irq);
-}
-
-void pcibios_enable_timers(struct pci_channel *hose)
-{
-	if (hose->err_irq) {
-		timer_setup(&hose->err_timer, pcibios_enable_err, 0);
-	}
-
-	if (hose->serr_irq) {
-		timer_setup(&hose->serr_timer, pcibios_enable_serr, 0);
-	}
-}
-
-/*
- * A simple handler for the regular PCI status errors, called from IRQ
- * context.
- */
-unsigned int pcibios_handle_status_errors(unsigned long addr,
-					  unsigned int status,
-					  struct pci_channel *hose)
-{
-	unsigned int cmd = 0;
-
-	if (status & PCI_STATUS_REC_MASTER_ABORT) {
-		printk(KERN_DEBUG "PCI: master abort, pc=0x%08lx\n", addr);
-		cmd |= PCI_STATUS_REC_MASTER_ABORT;
-	}
-
-	if (status & PCI_STATUS_REC_TARGET_ABORT) {
-		printk(KERN_DEBUG "PCI: target abort: ");
-		pcibios_report_status(PCI_STATUS_REC_TARGET_ABORT |
-				      PCI_STATUS_SIG_TARGET_ABORT |
-				      PCI_STATUS_REC_MASTER_ABORT, 1);
-		pr_cont("\n");
-
-		cmd |= PCI_STATUS_REC_TARGET_ABORT;
-	}
-
-	if (status & (PCI_STATUS_PARITY | PCI_STATUS_DETECTED_PARITY)) {
-		printk(KERN_DEBUG "PCI: parity error detected: ");
-		pcibios_report_status(PCI_STATUS_PARITY |
-				      PCI_STATUS_DETECTED_PARITY, 1);
-		pr_cont("\n");
-
-		cmd |= PCI_STATUS_PARITY | PCI_STATUS_DETECTED_PARITY;
-
-		/* Now back off of the IRQ for awhile */
-		if (hose->err_irq) {
-			disable_irq_nosync(hose->err_irq);
-			hose->err_timer.expires = jiffies + HZ;
-			add_timer(&hose->err_timer);
-		}
-	}
-
-	return cmd;
-}
diff --git a/arch/sh/drivers/pci/fixups-dreamcast.c b/arch/sh/drivers/pci/fixups-dreamcast.c
deleted file mode 100644
index 41e4daee8f043f..00000000000000
--- a/arch/sh/drivers/pci/fixups-dreamcast.c
+++ /dev/null
@@ -1,84 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/fixups-dreamcast.c
- *
- * PCI fixups for the Sega Dreamcast
- *
- * Copyright (C) 2001, 2002  M. R. Brown
- * Copyright (C) 2002, 2003, 2006  Paul Mundt
- *
- * This file originally bore the message (with enclosed-$):
- *	Id: pci.c,v 1.3 2003/05/04 19:29:46 lethal Exp
- *	Dreamcast PCI: Supports SEGA Broadband Adaptor only.
- */
-
-#include <linux/sched.h>
-#include <linux/kernel.h>
-#include <linux/param.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/pci.h>
-#include <linux/dma-map-ops.h>
-
-#include <asm/io.h>
-#include <asm/irq.h>
-#include <mach/pci.h>
-
-static void gapspci_fixup_resources(struct pci_dev *dev)
-{
-	struct pci_channel *p = dev->sysdata;
-	struct resource res;
-	struct pci_bus_region region;
-
-	printk(KERN_NOTICE "PCI: Fixing up device %s\n", pci_name(dev));
-
-	switch (dev->device) {
-	case PCI_DEVICE_ID_SEGA_BBA:
-		/*
-		 * We also assume that dev->devfn == 0
-		 */
-		dev->resource[1].start	= p->resources[0].start  + 0x100;
-		dev->resource[1].end	= dev->resource[1].start + 0x200 - 1;
-
-		/*
-		 * This is not a normal BAR, prevent any attempts to move
-		 * the BAR, as this will result in a bus lock.
-		 */
-		dev->resource[1].flags |= IORESOURCE_PCI_FIXED;
-
-		/*
-		 * Redirect dma memory allocations to special memory window.
-		 *
-		 * If this GAPSPCI region were mapped by a BAR, the CPU
-		 * phys_addr_t would be pci_resource_start(), and the bus
-		 * address would be pci_bus_address(pci_resource_start()).
-		 * But apparently there's no BAR mapping it, so we just
-		 * "know" its CPU address is GAPSPCI_DMA_BASE.
-		 */
-		res.start = GAPSPCI_DMA_BASE;
-		res.end = GAPSPCI_DMA_BASE + GAPSPCI_DMA_SIZE - 1;
-		res.flags = IORESOURCE_MEM;
-		pcibios_resource_to_bus(dev->bus, &region, &res);
-		BUG_ON(dma_declare_coherent_memory(&dev->dev,
-						res.start,
-						region.start,
-						resource_size(&res)));
-		break;
-	default:
-		printk("PCI: Failed resource fixup\n");
-	}
-}
-DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, gapspci_fixup_resources);
-
-int pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
-{
-	/*
-	 * The interrupt routing semantics here are quite trivial.
-	 *
-	 * We basically only support one interrupt, so we only bother
-	 * updating a device's interrupt line with this single shared
-	 * interrupt. Keeps routing quite simple, doesn't it?
-	 */
-	return GAPSPCI_IRQ;
-}
diff --git a/arch/sh/drivers/pci/fixups-landisk.c b/arch/sh/drivers/pci/fixups-landisk.c
deleted file mode 100644
index 53fa2fc87eec28..00000000000000
--- a/arch/sh/drivers/pci/fixups-landisk.c
+++ /dev/null
@@ -1,57 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/fixups-landisk.c
- *
- * PCI initialization for the I-O DATA Device, Inc. LANDISK board
- *
- * Copyright (C) 2006 kogiidena
- * Copyright (C) 2010 Nobuhiro Iwamatsu
- */
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/delay.h>
-#include <linux/pci.h>
-#include <linux/sh_intc.h>
-#include "pci-sh4.h"
-
-#define PCIMCR_MRSET_OFF	0xBFFFFFFF
-#define PCIMCR_RFSH_OFF		0xFFFFFFFB
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-	/*
-	 * slot0: pin1-4 = irq5,6,7,8
-	 * slot1: pin1-4 = irq6,7,8,5
-	 * slot2: pin1-4 = irq7,8,5,6
-	 * slot3: pin1-4 = irq8,5,6,7
-	 */
-	int irq = ((slot + pin - 1) & 0x3) + evt2irq(0x2a0);
-
-	if ((slot | (pin - 1)) > 0x3) {
-		printk(KERN_WARNING "PCI: Bad IRQ mapping request for slot %d pin %c\n",
-		       slot, pin - 1 + 'A');
-		return -1;
-	}
-	return irq;
-}
-
-int pci_fixup_pcic(struct pci_channel *chan)
-{
-	unsigned long bcr1, mcr;
-
-	bcr1 = __raw_readl(SH7751_BCR1);
-	bcr1 |= 0x40080000;	/* Enable Bit 19 BREQEN, set PCIC to slave */
-	pci_write_reg(chan, bcr1, SH4_PCIBCR1);
-
-	mcr = __raw_readl(SH7751_MCR);
-	mcr = (mcr & PCIMCR_MRSET_OFF) & PCIMCR_RFSH_OFF;
-	pci_write_reg(chan, mcr, SH4_PCIMCR);
-
-	pci_write_reg(chan, 0x0c000000, SH7751_PCICONF5);
-	pci_write_reg(chan, 0xd0000000, SH7751_PCICONF6);
-	pci_write_reg(chan, 0x0c000000, SH4_PCILAR0);
-	pci_write_reg(chan, 0x00000000, SH4_PCILAR1);
-
-	return 0;
-}
diff --git a/arch/sh/drivers/pci/fixups-r7780rp.c b/arch/sh/drivers/pci/fixups-r7780rp.c
deleted file mode 100644
index 3c9139c5955e6d..00000000000000
--- a/arch/sh/drivers/pci/fixups-r7780rp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/fixups-r7780rp.c
- *
- * Highlander R7780RP-1 PCI fixups
- *
- * Copyright (C) 2003  Lineo uSolutions, Inc.
- * Copyright (C) 2004 - 2006  Paul Mundt
- */
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <linux/sh_intc.h>
-#include "pci-sh4.h"
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-	return evt2irq(0xa20) + slot;
-}
diff --git a/arch/sh/drivers/pci/fixups-rts7751r2d.c b/arch/sh/drivers/pci/fixups-rts7751r2d.c
deleted file mode 100644
index 3f0a6fe1610b61..00000000000000
--- a/arch/sh/drivers/pci/fixups-rts7751r2d.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/fixups-rts7751r2d.c
- *
- * RTS7751R2D / LBOXRE2 PCI fixups
- *
- * Copyright (C) 2003  Lineo uSolutions, Inc.
- * Copyright (C) 2004  Paul Mundt
- * Copyright (C) 2007  Nobuhiro Iwamatsu
- */
-#include <linux/pci.h>
-#include <mach/lboxre2.h>
-#include <mach/r2d.h>
-#include "pci-sh4.h"
-#include <generated/machtypes.h>
-
-#define PCIMCR_MRSET_OFF	0xBFFFFFFF
-#define PCIMCR_RFSH_OFF		0xFFFFFFFB
-
-static u8 rts7751r2d_irq_tab[] = {
-	IRQ_PCI_INTA,
-	IRQ_PCI_INTB,
-	IRQ_PCI_INTC,
-	IRQ_PCI_INTD,
-};
-
-static char lboxre2_irq_tab[] = {
-	IRQ_ETH0, IRQ_ETH1, IRQ_INTA, IRQ_INTD,
-};
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-	if (mach_is_lboxre2())
-		return lboxre2_irq_tab[slot];
-	else
-		return rts7751r2d_irq_tab[slot];
-}
-
-int pci_fixup_pcic(struct pci_channel *chan)
-{
-	unsigned long bcr1, mcr;
-
-	bcr1 = __raw_readl(SH7751_BCR1);
-	bcr1 |= 0x40080000;	/* Enable Bit 19 BREQEN, set PCIC to slave */
-	pci_write_reg(chan, bcr1, SH4_PCIBCR1);
-
-	/* Enable all interrupts, so we known what to fix */
-	pci_write_reg(chan, 0x0000c3ff, SH4_PCIINTM);
-	pci_write_reg(chan, 0x0000380f, SH4_PCIAINTM);
-
-	pci_write_reg(chan, 0xfb900047, SH7751_PCICONF1);
-	pci_write_reg(chan, 0xab000001, SH7751_PCICONF4);
-
-	mcr = __raw_readl(SH7751_MCR);
-	mcr = (mcr & PCIMCR_MRSET_OFF) & PCIMCR_RFSH_OFF;
-	pci_write_reg(chan, mcr, SH4_PCIMCR);
-
-	pci_write_reg(chan, 0x0c000000, SH7751_PCICONF5);
-	pci_write_reg(chan, 0xd0000000, SH7751_PCICONF6);
-	pci_write_reg(chan, 0x0c000000, SH4_PCILAR0);
-	pci_write_reg(chan, 0x00000000, SH4_PCILAR1);
-
-	return 0;
-}
diff --git a/arch/sh/drivers/pci/fixups-sdk7780.c b/arch/sh/drivers/pci/fixups-sdk7780.c
deleted file mode 100644
index c306040485bd23..00000000000000
--- a/arch/sh/drivers/pci/fixups-sdk7780.c
+++ /dev/null
@@ -1,40 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/fixups-sdk7780.c
- *
- * PCI fixups for the SDK7780SE03
- *
- * Copyright (C) 2003  Lineo uSolutions, Inc.
- * Copyright (C) 2004 - 2006  Paul Mundt
- * Copyright (C) 2006  Nobuhiro Iwamatsu
- */
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <linux/sh_intc.h>
-#include "pci-sh4.h"
-
-#define IRQ_INTA	evt2irq(0xa20)
-#define IRQ_INTB	evt2irq(0xa40)
-#define IRQ_INTC	evt2irq(0xa60)
-#define IRQ_INTD	evt2irq(0xa80)
-
-/* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */
-static char sdk7780_irq_tab[4][16] = {
-	/* INTA */
-	{ IRQ_INTA, IRQ_INTD, IRQ_INTC, IRQ_INTD, -1, -1, -1, -1, -1, -1,
-	  -1, -1, -1, -1, -1, -1 },
-	/* INTB */
-	{ IRQ_INTB, IRQ_INTA, -1, IRQ_INTA, -1, -1, -1, -1, -1, -1, -1, -1,
-	  -1, -1, -1, -1 },
-	/* INTC */
-	{ IRQ_INTC, IRQ_INTB, -1, IRQ_INTB, -1, -1, -1, -1, -1, -1, -1, -1,
-	  -1, -1, -1, -1 },
-	/* INTD */
-	{ IRQ_INTD, IRQ_INTC, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-	  -1, -1, -1 },
-};
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-       return sdk7780_irq_tab[pin-1][slot];
-}
diff --git a/arch/sh/drivers/pci/fixups-sdk7786.c b/arch/sh/drivers/pci/fixups-sdk7786.c
deleted file mode 100644
index 6972af7b4e93d5..00000000000000
--- a/arch/sh/drivers/pci/fixups-sdk7786.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * SDK7786 FPGA PCIe mux handling
- *
- * Copyright (C) 2010  Paul Mundt
- */
-#define pr_fmt(fmt) "PCI: " fmt
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/pci.h>
-#include <mach/fpga.h>
-
-/*
- * The SDK7786 FPGA supports mangling of most of the slots in some way or
- * another. Slots 3/4 are special in that only one can be supported at a
- * time, and both appear on port 3 to the PCI bus scan. Enabling slot 4
- * (the horizontal edge connector) will disable slot 3 entirely.
- *
- * Misconfigurations can be detected through the FPGA via the slot
- * resistors to determine card presence. Hotplug remains unsupported.
- */
-static unsigned int slot4en __initdata;
-
-char *__init pcibios_setup(char *str)
-{
-	if (strcmp(str, "slot4en") == 0) {
-		slot4en = 1;
-		return NULL;
-	}
-
-	return str;
-}
-
-static int __init sdk7786_pci_init(void)
-{
-	u16 data = fpga_read_reg(PCIECR);
-
-	/*
-	 * Enable slot #4 if it's been specified on the command line.
-	 *
-	 * Optionally reroute if slot #4 has a card present while slot #3
-	 * does not, regardless of command line value.
-	 *
-	 * Card presence is logically inverted.
-	 */
-	slot4en ?: (!(data & PCIECR_PRST4) && (data & PCIECR_PRST3));
-	if (slot4en) {
-		pr_info("Activating PCIe slot#4 (disabling slot#3)\n");
-
-		data &= ~PCIECR_PCIEMUX1;
-		fpga_write_reg(data, PCIECR);
-
-		/* Warn about forced rerouting if slot#3 is occupied */
-		if ((data & PCIECR_PRST3) == 0) {
-			pr_warn("Unreachable card detected in slot#3\n");
-			return -EBUSY;
-		}
-	} else
-		pr_info("PCIe slot#4 disabled\n");
-
-	return 0;
-}
-postcore_initcall(sdk7786_pci_init);
diff --git a/arch/sh/drivers/pci/fixups-se7751.c b/arch/sh/drivers/pci/fixups-se7751.c
deleted file mode 100644
index 608f6521ceffcd..00000000000000
--- a/arch/sh/drivers/pci/fixups-se7751.c
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/delay.h>
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <linux/sh_intc.h>
-#include "pci-sh4.h"
-
-int pcibios_map_platform_irq(const struct pci_dev *, u8 slot, u8 pin)
-{
-        switch (slot) {
-        case 0: return evt2irq(0x3a0);
-        case 1: return evt2irq(0x3a0);	/* AMD Ethernet controller */
-        case 2: return -1;
-        case 3: return -1;
-        case 4: return -1;
-        default:
-                printk("PCI: Bad IRQ mapping request for slot %d\n", slot);
-                return -1;
-        }
-}
-
-#define PCIMCR_MRSET_OFF	0xBFFFFFFF
-#define PCIMCR_RFSH_OFF		0xFFFFFFFB
-
-/*
- * Only long word accesses of the PCIC's internal local registers and the
- * configuration registers from the CPU is supported.
- */
-#define PCIC_WRITE(x,v) writel((v), PCI_REG(x))
-#define PCIC_READ(x) readl(PCI_REG(x))
-
-/*
- * Description:  This function sets up and initializes the pcic, sets
- * up the BARS, maps the DRAM into the address space etc, etc.
- */
-int pci_fixup_pcic(struct pci_channel *chan)
-{
-	unsigned long bcr1, wcr1, wcr2, wcr3, mcr;
-	unsigned short bcr2;
-
-	/*
-	* Initialize the slave bus controller on the pcic.  The values used
-	* here should not be hardcoded, but they should be taken from the bsc
-	* on the processor, to make this function as generic as possible.
-	* (i.e. Another sbc may usr different SDRAM timing settings -- in order
-	* for the pcic to work, its settings need to be exactly the same.)
-	*/
-	bcr1 = (*(volatile unsigned long*)(SH7751_BCR1));
-	bcr2 = (*(volatile unsigned short*)(SH7751_BCR2));
-	wcr1 = (*(volatile unsigned long*)(SH7751_WCR1));
-	wcr2 = (*(volatile unsigned long*)(SH7751_WCR2));
-	wcr3 = (*(volatile unsigned long*)(SH7751_WCR3));
-	mcr = (*(volatile unsigned long*)(SH7751_MCR));
-
-	bcr1 = bcr1 | 0x00080000;  /* Enable Bit 19, BREQEN */
-	(*(volatile unsigned long*)(SH7751_BCR1)) = bcr1;
-
-	bcr1 = bcr1 | 0x40080000;  /* Enable Bit 19 BREQEN, set PCIC to slave */
-	PCIC_WRITE(SH7751_PCIBCR1, bcr1);	 /* PCIC BCR1 */
-	PCIC_WRITE(SH7751_PCIBCR2, bcr2);     /* PCIC BCR2 */
-	PCIC_WRITE(SH7751_PCIWCR1, wcr1);     /* PCIC WCR1 */
-	PCIC_WRITE(SH7751_PCIWCR2, wcr2);     /* PCIC WCR2 */
-	PCIC_WRITE(SH7751_PCIWCR3, wcr3);     /* PCIC WCR3 */
-	mcr = (mcr & PCIMCR_MRSET_OFF) & PCIMCR_RFSH_OFF;
-	PCIC_WRITE(SH7751_PCIMCR, mcr);      /* PCIC MCR */
-
-
-	/* Enable all interrupts, so we know what to fix */
-	PCIC_WRITE(SH7751_PCIINTM, 0x0000c3ff);
-	PCIC_WRITE(SH7751_PCIAINTM, 0x0000380f);
-
-	/* Set up standard PCI config registers */
-	PCIC_WRITE(SH7751_PCICONF1,	0xF39000C7); /* Bus Master, Mem & I/O access */
-	PCIC_WRITE(SH7751_PCICONF2,	0x00000000); /* PCI Class code & Revision ID */
-	PCIC_WRITE(SH7751_PCICONF4,	0xab000001); /* PCI I/O address (local regs) */
-	PCIC_WRITE(SH7751_PCICONF5,	0x0c000000); /* PCI MEM address (local RAM)  */
-	PCIC_WRITE(SH7751_PCICONF6,	0xd0000000); /* PCI MEM address (unused)     */
-	PCIC_WRITE(SH7751_PCICONF11, 0x35051054); /* PCI Subsystem ID & Vendor ID */
-	PCIC_WRITE(SH7751_PCILSR0, 0x03f00000);   /* MEM (full 64M exposed)       */
-	PCIC_WRITE(SH7751_PCILSR1, 0x00000000);   /* MEM (unused)                 */
-	PCIC_WRITE(SH7751_PCILAR0, 0x0c000000);   /* MEM (direct map from PCI)    */
-	PCIC_WRITE(SH7751_PCILAR1, 0x00000000);   /* MEM (unused)                 */
-
-	/* Now turn it on... */
-	PCIC_WRITE(SH7751_PCICR, 0xa5000001);
-
-	/*
-	* Set PCIMBR and PCIIOBR here, assuming a single window
-	* (16M MEM, 256K IO) is enough.  If a larger space is
-	* needed, the readx/writex and inx/outx functions will
-	* have to do more (e.g. setting registers for each call).
-	*/
-
-	/*
-	* Set the MBR so PCI address is one-to-one with window,
-	* meaning all calls go straight through... use BUG_ON to
-	* catch erroneous assumption.
-	*/
-	BUG_ON(chan->resources[1].start != SH7751_PCI_MEMORY_BASE);
-
-	PCIC_WRITE(SH7751_PCIMBR, chan->resources[1].start);
-
-	/* Set IOBR for window containing area specified in pci.h */
-	PCIC_WRITE(SH7751_PCIIOBR, (chan->resources[0].start & SH7751_PCIIOBR_MASK));
-
-	/* All done, may as well say so... */
-	printk("SH7751 PCI: Finished initialization of the PCI controller\n");
-
-	return 1;
-}
diff --git a/arch/sh/drivers/pci/fixups-sh03.c b/arch/sh/drivers/pci/fixups-sh03.c
deleted file mode 100644
index 7ec4a74ab12c45..00000000000000
--- a/arch/sh/drivers/pci/fixups-sh03.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/pci.h>
-#include <linux/sh_intc.h>
-
-int pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
-{
-	int irq;
-
-	if (dev->bus->number == 0) {
-		switch (slot) {
-		case 4: return evt2irq(0x2a0);	/* eth0       */
-		case 8: return evt2irq(0x2a0);	/* eth1       */
-		case 6: return evt2irq(0x240);	/* PCI bridge */
-		default:
-			printk(KERN_ERR "PCI: Bad IRQ mapping request "
-					"for slot %d\n", slot);
-			return evt2irq(0x240);
-		}
-	} else {
-		switch (pin) {
-		case 0:   irq =  evt2irq(0x240); break;
-		case 1:   irq =  evt2irq(0x240); break;
-		case 2:   irq =  evt2irq(0x240); break;
-		case 3:   irq =  evt2irq(0x240); break;
-		case 4:   irq =  evt2irq(0x240); break;
-		default:  irq = -1; break;
-		}
-	}
-	return irq;
-}
diff --git a/arch/sh/drivers/pci/fixups-snapgear.c b/arch/sh/drivers/pci/fixups-snapgear.c
deleted file mode 100644
index 317225c094137f..00000000000000
--- a/arch/sh/drivers/pci/fixups-snapgear.c
+++ /dev/null
@@ -1,37 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/ops-snapgear.c
- *
- * Author:  David McCullough <davidm at snapgear.com>
- *
- * Ported to new API by Paul Mundt <lethal at linux-sh.org>
- *
- * Highly leveraged from pci-bigsur.c, written by Dustin McIntire.
- *
- * PCI initialization for the SnapGear boards
- */
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/sh_intc.h>
-#include "pci-sh4.h"
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-	int irq = -1;
-
-	switch (slot) {
-	case 8:  /* the PCI bridge */ break;
-	case 11: irq = evt2irq(0x300); break; /* USB    */
-	case 12: irq = evt2irq(0x360); break; /* PCMCIA */
-	case 13: irq = evt2irq(0x2a0); break; /* eth0   */
-	case 14: irq = evt2irq(0x300); break; /* eth1   */
-	case 15: irq = evt2irq(0x360); break; /* safenet (unused) */
-	}
-
-	printk("PCI: Mapping SnapGear IRQ for slot %d, pin %c to irq %d\n",
-	       slot, pin - 1 + 'A', irq);
-
-	return irq;
-}
diff --git a/arch/sh/drivers/pci/fixups-titan.c b/arch/sh/drivers/pci/fixups-titan.c
deleted file mode 100644
index b5bb65caa16d6f..00000000000000
--- a/arch/sh/drivers/pci/fixups-titan.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/pci/ops-titan.c
- *
- * Ported to new API by Paul Mundt <lethal at linux-sh.org>
- *
- * Modified from ops-snapgear.c written by  David McCullough
- * Highly leveraged from pci-bigsur.c, written by Dustin McIntire.
- *
- * PCI initialization for the Titan boards
- */
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <mach/titan.h>
-#include "pci-sh4.h"
-
-static char titan_irq_tab[] = {
-	TITAN_IRQ_WAN,
-	TITAN_IRQ_LAN,
-	TITAN_IRQ_MPCIA,
-	TITAN_IRQ_MPCIB,
-	TITAN_IRQ_USB,
-};
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-	int irq = titan_irq_tab[slot];
-
-	printk("PCI: Mapping TITAN IRQ for slot %d, pin %c to irq %d\n",
-		slot, pin - 1 + 'A', irq);
-
-	return irq;
-}
diff --git a/arch/sh/drivers/pci/ops-dreamcast.c b/arch/sh/drivers/pci/ops-dreamcast.c
deleted file mode 100644
index 517a8a9702f662..00000000000000
--- a/arch/sh/drivers/pci/ops-dreamcast.c
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * PCI operations for the Sega Dreamcast
- *
- * Copyright (C) 2001, 2002  M. R. Brown
- * Copyright (C) 2002, 2003  Paul Mundt
- */
-
-#include <linux/sched.h>
-#include <linux/kernel.h>
-#include <linux/param.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/pci.h>
-#include <linux/module.h>
-#include <linux/io.h>
-#include <mach/pci.h>
-
-/*
- * The !gapspci_config_access case really shouldn't happen, ever, unless
- * someone implicitly messes around with the last devfn value.. otherwise we
- * only support a single device anyways, and if we didn't have a BBA, we
- * wouldn't make it terribly far through the PCI setup anyways.
- *
- * Also, we could very easily support both Type 0 and Type 1 configurations
- * here, but since it doesn't seem that there is any such implementation in
- * existence, we don't bother.
- *
- * I suppose if someone actually gets around to ripping the chip out of
- * the BBA and hanging some more devices off of it, then this might be
- * something to take into consideration. However, due to the cost of the BBA,
- * and the general lack of activity by DC hardware hackers, this doesn't seem
- * likely to happen anytime soon.
- */
-static int gapspci_config_access(unsigned char bus, unsigned int devfn)
-{
-	return (bus == 0) && (devfn == 0);
-}
-
-/*
- * We can also actually read and write in b/w/l sizes! Thankfully this part
- * was at least done right, and we don't have to do the stupid masking and
- * shifting that we do on the 7751! Small wonders never cease to amaze.
- */
-static int gapspci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *val)
-{
-	*val = 0xffffffff;
-
-	if (!gapspci_config_access(bus->number, devfn))
-		return PCIBIOS_DEVICE_NOT_FOUND;
-
-	switch (size) {
-	case 1: *val = inb(GAPSPCI_BBA_CONFIG+where); break;
-	case 2: *val = inw(GAPSPCI_BBA_CONFIG+where); break;
-	case 4: *val = inl(GAPSPCI_BBA_CONFIG+where); break;
-	}
-
-        return PCIBIOS_SUCCESSFUL;
-}
-
-static int gapspci_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val)
-{
-	if (!gapspci_config_access(bus->number, devfn))
-		return PCIBIOS_DEVICE_NOT_FOUND;
-
-	switch (size) {
-	case 1: outb(( u8)val, GAPSPCI_BBA_CONFIG+where); break;
-	case 2: outw((u16)val, GAPSPCI_BBA_CONFIG+where); break;
-	case 4: outl((u32)val, GAPSPCI_BBA_CONFIG+where); break;
-	}
-
-        return PCIBIOS_SUCCESSFUL;
-}
-
-struct pci_ops gapspci_pci_ops = {
-	.read	= gapspci_read,
-	.write	= gapspci_write,
-};
diff --git a/arch/sh/drivers/pci/ops-sh4.c b/arch/sh/drivers/pci/ops-sh4.c
deleted file mode 100644
index a205be3bfc4a67..00000000000000
--- a/arch/sh/drivers/pci/ops-sh4.c
+++ /dev/null
@@ -1,105 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Generic SH-4 / SH-4A PCIC operations (SH7751, SH7780).
- *
- * Copyright (C) 2002 - 2009  Paul Mundt
- */
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <linux/spinlock.h>
-#include <asm/addrspace.h>
-#include "pci-sh4.h"
-
-/*
- * Direct access to PCI hardware...
- */
-#define CONFIG_CMD(bus, devfn, where) \
-	(0x80000000 | (bus->number << 16) | (devfn << 8) | (where & ~3))
-
-/*
- * Functions for accessing PCI configuration space with type 1 accesses
- */
-static int sh4_pci_read(struct pci_bus *bus, unsigned int devfn,
-			   int where, int size, u32 *val)
-{
-	struct pci_channel *chan = bus->sysdata;
-	unsigned long flags;
-	u32 data;
-
-	/*
-	 * PCIPDR may only be accessed as 32 bit words,
-	 * so we must do byte alignment by hand
-	 */
-	raw_spin_lock_irqsave(&pci_config_lock, flags);
-	pci_write_reg(chan, CONFIG_CMD(bus, devfn, where), SH4_PCIPAR);
-	data = pci_read_reg(chan, SH4_PCIPDR);
-	raw_spin_unlock_irqrestore(&pci_config_lock, flags);
-
-	switch (size) {
-	case 1:
-		*val = (data >> ((where & 3) << 3)) & 0xff;
-		break;
-	case 2:
-		*val = (data >> ((where & 2) << 3)) & 0xffff;
-		break;
-	case 4:
-		*val = data;
-		break;
-	default:
-		return PCIBIOS_FUNC_NOT_SUPPORTED;
-	}
-
-	return PCIBIOS_SUCCESSFUL;
-}
-
-/*
- * Since SH4 only does 32bit access we'll have to do a read,
- * mask,write operation.
- * We'll allow an odd byte offset, though it should be illegal.
- */
-static int sh4_pci_write(struct pci_bus *bus, unsigned int devfn,
-			 int where, int size, u32 val)
-{
-	struct pci_channel *chan = bus->sysdata;
-	unsigned long flags;
-	int shift;
-	u32 data;
-
-	raw_spin_lock_irqsave(&pci_config_lock, flags);
-	pci_write_reg(chan, CONFIG_CMD(bus, devfn, where), SH4_PCIPAR);
-	data = pci_read_reg(chan, SH4_PCIPDR);
-	raw_spin_unlock_irqrestore(&pci_config_lock, flags);
-
-	switch (size) {
-	case 1:
-		shift = (where & 3) << 3;
-		data &= ~(0xff << shift);
-		data |= ((val & 0xff) << shift);
-		break;
-	case 2:
-		shift = (where & 2) << 3;
-		data &= ~(0xffff << shift);
-		data |= ((val & 0xffff) << shift);
-		break;
-	case 4:
-		data = val;
-		break;
-	default:
-		return PCIBIOS_FUNC_NOT_SUPPORTED;
-	}
-
-	pci_write_reg(chan, data, SH4_PCIPDR);
-
-	return PCIBIOS_SUCCESSFUL;
-}
-
-struct pci_ops sh4_pci_ops = {
-	.read		= sh4_pci_read,
-	.write		= sh4_pci_write,
-};
-
-int __attribute__((weak)) pci_fixup_pcic(struct pci_channel *chan)
-{
-	/* Nothing to do. */
-	return 0;
-}
diff --git a/arch/sh/drivers/pci/ops-sh7786.c b/arch/sh/drivers/pci/ops-sh7786.c
deleted file mode 100644
index a10f9f4ebd7fe9..00000000000000
--- a/arch/sh/drivers/pci/ops-sh7786.c
+++ /dev/null
@@ -1,168 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Generic SH7786 PCI-Express operations.
- *
- *  Copyright (C) 2009 - 2010  Paul Mundt
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/io.h>
-#include <linux/spinlock.h>
-#include "pcie-sh7786.h"
-
-enum {
-	PCI_ACCESS_READ,
-	PCI_ACCESS_WRITE,
-};
-
-static int sh7786_pcie_config_access(unsigned char access_type,
-		struct pci_bus *bus, unsigned int devfn, int where, u32 *data)
-{
-	struct pci_channel *chan = bus->sysdata;
-	int dev, func, type, reg;
-
-	dev = PCI_SLOT(devfn);
-	func = PCI_FUNC(devfn);
-	type = !!bus->parent;
-	reg = where & ~3;
-
-	if (bus->number > 255 || dev > 31 || func > 7)
-		return PCIBIOS_FUNC_NOT_SUPPORTED;
-
-	/*
-	 * While each channel has its own memory-mapped extended config
-	 * space, it's generally only accessible when in endpoint mode.
-	 * When in root complex mode, the controller is unable to target
-	 * itself with either type 0 or type 1 accesses, and indeed, any
-	 * controller initiated target transfer to its own config space
-	 * result in a completer abort.
-	 *
-	 * Each channel effectively only supports a single device, but as
-	 * the same channel <-> device access works for any PCI_SLOT()
-	 * value, we cheat a bit here and bind the controller's config
-	 * space to devfn 0 in order to enable self-enumeration. In this
-	 * case the regular PAR/PDR path is sidelined and the mangled
-	 * config access itself is initiated as a SuperHyway transaction.
-	 */
-	if (pci_is_root_bus(bus)) {
-		if (dev == 0) {
-			if (access_type == PCI_ACCESS_READ)
-				*data = pci_read_reg(chan, PCI_REG(reg));
-			else
-				pci_write_reg(chan, *data, PCI_REG(reg));
-
-			return PCIBIOS_SUCCESSFUL;
-		} else if (dev > 1)
-			return PCIBIOS_DEVICE_NOT_FOUND;
-	}
-
-	/* Clear errors */
-	pci_write_reg(chan, pci_read_reg(chan, SH4A_PCIEERRFR), SH4A_PCIEERRFR);
-
-	/* Set the PIO address */
-	pci_write_reg(chan, (bus->number << 24) | (dev << 19) |
-				(func << 16) | reg, SH4A_PCIEPAR);
-
-	/* Enable the configuration access */
-	pci_write_reg(chan, (1 << 31) | (type << 8), SH4A_PCIEPCTLR);
-
-	/* Check for errors */
-	if (pci_read_reg(chan, SH4A_PCIEERRFR) & 0x10)
-		return PCIBIOS_DEVICE_NOT_FOUND;
-
-	/* Check for master and target aborts */
-	if (pci_read_reg(chan, SH4A_PCIEPCICONF1) & ((1 << 29) | (1 << 28)))
-		return PCIBIOS_DEVICE_NOT_FOUND;
-
-	if (access_type == PCI_ACCESS_READ)
-		*data = pci_read_reg(chan, SH4A_PCIEPDR);
-	else
-		pci_write_reg(chan, *data, SH4A_PCIEPDR);
-
-	/* Disable the configuration access */
-	pci_write_reg(chan, 0, SH4A_PCIEPCTLR);
-
-	return PCIBIOS_SUCCESSFUL;
-}
-
-static int sh7786_pcie_read(struct pci_bus *bus, unsigned int devfn,
-			    int where, int size, u32 *val)
-{
-	unsigned long flags;
-	int ret;
-	u32 data;
-
-        if ((size == 2) && (where & 1))
-		return PCIBIOS_BAD_REGISTER_NUMBER;
-	else if ((size == 4) && (where & 3))
-		return PCIBIOS_BAD_REGISTER_NUMBER;
-
-	raw_spin_lock_irqsave(&pci_config_lock, flags);
-	ret = sh7786_pcie_config_access(PCI_ACCESS_READ, bus,
-					devfn, where, &data);
-	if (ret != PCIBIOS_SUCCESSFUL) {
-		*val = 0xffffffff;
-		goto out;
-	}
-
-	if (size == 1)
-		*val = (data >> ((where & 3) << 3)) & 0xff;
-	else if (size == 2)
-		*val = (data >> ((where & 2) << 3)) & 0xffff;
-	else
-		*val = data;
-
-	dev_dbg(&bus->dev, "pcie-config-read: bus=%3d devfn=0x%04x "
-		"where=0x%04x size=%d val=0x%08lx\n", bus->number,
-		devfn, where, size, (unsigned long)*val);
-
-out:
-	raw_spin_unlock_irqrestore(&pci_config_lock, flags);
-	return ret;
-}
-
-static int sh7786_pcie_write(struct pci_bus *bus, unsigned int devfn,
-			     int where, int size, u32 val)
-{
-	unsigned long flags;
-	int shift, ret;
-	u32 data;
-
-        if ((size == 2) && (where & 1))
-		return PCIBIOS_BAD_REGISTER_NUMBER;
-	else if ((size == 4) && (where & 3))
-		return PCIBIOS_BAD_REGISTER_NUMBER;
-
-	raw_spin_lock_irqsave(&pci_config_lock, flags);
-	ret = sh7786_pcie_config_access(PCI_ACCESS_READ, bus,
-					devfn, where, &data);
-	if (ret != PCIBIOS_SUCCESSFUL)
-		goto out;
-
-	dev_dbg(&bus->dev, "pcie-config-write: bus=%3d devfn=0x%04x "
-		"where=0x%04x size=%d val=%08lx\n", bus->number,
-		devfn, where, size, (unsigned long)val);
-
-	if (size == 1) {
-		shift = (where & 3) << 3;
-		data &= ~(0xff << shift);
-		data |= ((val & 0xff) << shift);
-	} else if (size == 2) {
-		shift = (where & 2) << 3;
-		data &= ~(0xffff << shift);
-		data |= ((val & 0xffff) << shift);
-	} else
-		data = val;
-
-	ret = sh7786_pcie_config_access(PCI_ACCESS_WRITE, bus,
-					devfn, where, &data);
-out:
-	raw_spin_unlock_irqrestore(&pci_config_lock, flags);
-	return ret;
-}
-
-struct pci_ops sh7786_pci_ops = {
-	.read	= sh7786_pcie_read,
-	.write	= sh7786_pcie_write,
-};
diff --git a/arch/sh/drivers/pci/pci-dreamcast.c b/arch/sh/drivers/pci/pci-dreamcast.c
deleted file mode 100644
index 4cff2a8107bf06..00000000000000
--- a/arch/sh/drivers/pci/pci-dreamcast.c
+++ /dev/null
@@ -1,97 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * PCI support for the Sega Dreamcast
- *
- * Copyright (C) 2001, 2002  M. R. Brown
- * Copyright (C) 2002, 2003  Paul Mundt
- *
- * This file originally bore the message (with enclosed-$):
- *	Id: pci.c,v 1.3 2003/05/04 19:29:46 lethal Exp
- *	Dreamcast PCI: Supports SEGA Broadband Adaptor only.
- */
-
-#include <linux/sched.h>
-#include <linux/kernel.h>
-#include <linux/param.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/pci.h>
-#include <linux/module.h>
-#include <asm/io.h>
-#include <asm/irq.h>
-#include <mach/pci.h>
-
-static struct resource gapspci_resources[] = {
-	{
-		.name	= "GAPSPCI IO",
-		.start	= GAPSPCI_BBA_CONFIG,
-		.end	= GAPSPCI_BBA_CONFIG + GAPSPCI_BBA_CONFIG_SIZE - 1,
-		.flags	= IORESOURCE_IO,
-	},  {
-		.name	= "GAPSPCI mem",
-		.start	= GAPSPCI_DMA_BASE,
-		.end	= GAPSPCI_DMA_BASE + GAPSPCI_DMA_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct pci_channel dreamcast_pci_controller = {
-	.pci_ops	= &gapspci_pci_ops,
-	.resources	= gapspci_resources,
-	.nr_resources	= ARRAY_SIZE(gapspci_resources),
-	.io_offset	= 0x00000000,
-	.mem_offset	= 0x00000000,
-};
-
-/*
- * gapspci init
- */
-
-static int __init gapspci_init(void)
-{
-	char idbuf[16];
-	int i;
-
-	/*
-	 * FIXME: All of this wants documenting to some degree,
-	 * even some basic register definitions would be nice.
-	 *
-	 * I haven't seen anything this ugly since.. maple.
-	 */
-
-	for (i=0; i<16; i++)
-		idbuf[i] = inb(GAPSPCI_REGS+i);
-
-	if (strncmp(idbuf, "GAPSPCI_BRIDGE_2", 16))
-		return -ENODEV;
-
-	outl(0x5a14a501, GAPSPCI_REGS+0x18);
-
-	for (i=0; i<1000000; i++)
-		cpu_relax();
-
-	if (inl(GAPSPCI_REGS+0x18) != 1)
-		return -EINVAL;
-
-	outl(0x01000000, GAPSPCI_REGS+0x20);
-	outl(0x01000000, GAPSPCI_REGS+0x24);
-
-	outl(GAPSPCI_DMA_BASE, GAPSPCI_REGS+0x28);
-	outl(GAPSPCI_DMA_BASE+GAPSPCI_DMA_SIZE, GAPSPCI_REGS+0x2c);
-
-	outl(1, GAPSPCI_REGS+0x14);
-	outl(1, GAPSPCI_REGS+0x34);
-
-	/* Setting Broadband Adapter */
-	outw(0xf900, GAPSPCI_BBA_CONFIG+0x06);
-	outl(0x00000000, GAPSPCI_BBA_CONFIG+0x30);
-	outb(0x00, GAPSPCI_BBA_CONFIG+0x3c);
-	outb(0xf0, GAPSPCI_BBA_CONFIG+0x0d);
-	outw(0x0006, GAPSPCI_BBA_CONFIG+0x04);
-	outl(0x00002001, GAPSPCI_BBA_CONFIG+0x10);
-	outl(0x01000000, GAPSPCI_BBA_CONFIG+0x14);
-
-	return register_pci_controller(&dreamcast_pci_controller);
-}
-arch_initcall(gapspci_init);
diff --git a/arch/sh/drivers/pci/pci-sh4.h b/arch/sh/drivers/pci/pci-sh4.h
deleted file mode 100644
index 1543c50b65031c..00000000000000
--- a/arch/sh/drivers/pci/pci-sh4.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __PCI_SH4_H
-#define __PCI_SH4_H
-
-#if defined(CONFIG_CPU_SUBTYPE_SH7780) || \
-    defined(CONFIG_CPU_SUBTYPE_SH7785) || \
-    defined(CONFIG_CPU_SUBTYPE_SH7763)
-#include "pci-sh7780.h"
-#else
-#include "pci-sh7751.h"
-#endif
-
-#include <asm/io.h>
-
-#define SH4_PCICR		0x100		/* PCI Control Register */
-  #define SH4_PCICR_PREFIX	  0xA5000000	/* CR prefix for write */
-  #define SH4_PCICR_FTO		  0x00000400	/* TRDY/IRDY Enable */
-  #define SH4_PCICR_TRSB	  0x00000200	/* Target Read Single */
-  #define SH4_PCICR_BSWP	  0x00000100	/* Target Byte Swap */
-  #define SH4_PCICR_PLUP	  0x00000080	/* Enable PCI Pullup */
-  #define SH4_PCICR_ARBM	  0x00000040	/* PCI Arbitration Mode */
-  #define SH4_PCICR_MD		  0x00000030	/* MD9 and MD10 status */
-  #define SH4_PCICR_SERR	  0x00000008	/* SERR output assert */
-  #define SH4_PCICR_INTA	  0x00000004	/* INTA output assert */
-  #define SH4_PCICR_PRST	  0x00000002	/* PCI Reset Assert */
-  #define SH4_PCICR_CFIN	  0x00000001	/* Central Fun. Init Done */
-#define SH4_PCILSR0		0x104		/* PCI Local Space Register0 */
-#define SH4_PCILSR1		0x108		/* PCI Local Space Register1 */
-#define SH4_PCILAR0		0x10C		/* PCI Local Addr Register1 */
-#define SH4_PCILAR1		0x110		/* PCI Local Addr Register1 */
-#define SH4_PCIINT		0x114		/* PCI Interrupt Register */
-  #define SH4_PCIINT_MLCK	  0x00008000	/* Master Lock Error */
-  #define SH4_PCIINT_TABT	  0x00004000	/* Target Abort Error */
-  #define SH4_PCIINT_TRET	  0x00000200	/* Target Retry Error */
-  #define SH4_PCIINT_MFDE	  0x00000100	/* Master Func. Disable Error */
-  #define SH4_PCIINT_PRTY	  0x00000080	/* Address Parity Error */
-  #define SH4_PCIINT_SERR	  0x00000040	/* SERR Detection Error */
-  #define SH4_PCIINT_TWDP	  0x00000020	/* Tgt. Write Parity Error */
-  #define SH4_PCIINT_TRDP	  0x00000010	/* Tgt. Read Parity Err Det. */
-  #define SH4_PCIINT_MTABT	  0x00000008	/* Master-Tgt. Abort Error */
-  #define SH4_PCIINT_MMABT	  0x00000004	/* Master-Master Abort Error */
-  #define SH4_PCIINT_MWPD	  0x00000002	/* Master Write PERR Detect */
-  #define SH4_PCIINT_MRPD	  0x00000001	/* Master Read PERR Detect */
-#define SH4_PCIINTM		0x118		/* PCI Interrupt Mask */
-  #define SH4_PCIINTM_TTADIM	  BIT(14)	/* Target-target abort interrupt */
-  #define SH4_PCIINTM_TMTOIM	  BIT(9)	/* Target retry timeout */
-  #define SH4_PCIINTM_MDEIM	  BIT(8)	/* Master function disable error */
-  #define SH4_PCIINTM_APEDIM	  BIT(7)	/* Address parity error detection */
-  #define SH4_PCIINTM_SDIM	  BIT(6)	/* SERR detection */
-  #define SH4_PCIINTM_DPEITWM	  BIT(5)	/* Data parity error for target write */
-  #define SH4_PCIINTM_PEDITRM	  BIT(4)	/* PERR detection for target read */
-  #define SH4_PCIINTM_TADIMM	  BIT(3)	/* Target abort for master */
-  #define SH4_PCIINTM_MADIMM	  BIT(2)	/* Master abort for master */
-  #define SH4_PCIINTM_MWPDIM	  BIT(1)	/* Master write data parity error */
-  #define SH4_PCIINTM_MRDPEIM	  BIT(0)	/* Master read data parity error */
-#define SH4_PCIALR		0x11C		/* Error Address Register */
-#define SH4_PCICLR		0x120		/* Error Command/Data */
-  #define SH4_PCICLR_MPIO	  0x80000000
-  #define SH4_PCICLR_MDMA0	  0x40000000	/* DMA0 Transfer Error */
-  #define SH4_PCICLR_MDMA1	  0x20000000	/* DMA1 Transfer Error */
-  #define SH4_PCICLR_MDMA2	  0x10000000	/* DMA2 Transfer Error */
-  #define SH4_PCICLR_MDMA3	  0x08000000	/* DMA3 Transfer Error */
-  #define SH4_PCICLR_TGT	  0x04000000	/* Target Transfer Error */
-  #define SH4_PCICLR_CMDL	  0x0000000F	/* PCI Command at Error */
-#define SH4_PCIAINT		0x130		/* Arbiter Interrupt Register */
-  #define SH4_PCIAINT_MBKN	  0x00002000	/* Master Broken Interrupt */
-  #define SH4_PCIAINT_TBTO	  0x00001000	/* Target Bus Time Out */
-  #define SH4_PCIAINT_MBTO	  0x00000800	/* Master Bus Time Out */
-  #define SH4_PCIAINT_TABT	  0x00000008	/* Target Abort */
-  #define SH4_PCIAINT_MABT	  0x00000004	/* Master Abort */
-  #define SH4_PCIAINT_RDPE	  0x00000002	/* Read Data Parity Error */
-  #define SH4_PCIAINT_WDPE	  0x00000001	/* Write Data Parity Error */
-#define SH4_PCIAINTM            0x134		/* Arbiter Int. Mask Register */
-#define SH4_PCIBMLR		0x138		/* Error Bus Master Register */
-  #define SH4_PCIBMLR_REQ4	  0x00000010	/* REQ4 bus master at error */
-  #define SH4_PCIBMLR_REQ3	  0x00000008	/* REQ3 bus master at error */
-  #define SH4_PCIBMLR_REQ2	  0x00000004	/* REQ2 bus master at error */
-  #define SH4_PCIBMLR_REQ1	  0x00000002	/* REQ1 bus master at error */
-  #define SH4_PCIBMLR_REQ0	  0x00000001	/* REQ0 bus master at error */
-#define SH4_PCIDMABT		0x140		/* DMA Transfer Arb. Register */
-  #define SH4_PCIDMABT_RRBN	  0x00000001	/* DMA Arbitor Round-Robin */
-#define SH4_PCIDPA0		0x180		/* DMA0 Transfer Addr. */
-#define SH4_PCIDLA0		0x184		/* DMA0 Local Addr. */
-#define SH4_PCIDTC0		0x188		/* DMA0 Transfer Cnt. */
-#define SH4_PCIDCR0		0x18C		/* DMA0 Control Register */
-  #define SH4_PCIDCR_ALGN	  0x00000600	/* DMA Alignment Mode */
-  #define SH4_PCIDCR_MAST	  0x00000100	/* DMA Termination Type */
-  #define SH4_PCIDCR_INTM	  0x00000080	/* DMA Interrupt Done Mask*/
-  #define SH4_PCIDCR_INTS	  0x00000040	/* DMA Interrupt Done Status */
-  #define SH4_PCIDCR_LHLD	  0x00000020	/* Local Address Control */
-  #define SH4_PCIDCR_PHLD	  0x00000010	/* PCI Address Control*/
-  #define SH4_PCIDCR_IOSEL	  0x00000008	/* PCI Address Space Type */
-  #define SH4_PCIDCR_DIR	  0x00000004	/* DMA Transfer Direction */
-  #define SH4_PCIDCR_STOP	  0x00000002	/* Force DMA Stop */
-  #define SH4_PCIDCR_STRT	  0x00000001	/* DMA Start */
-#define SH4_PCIDPA1		0x190		/* DMA1 Transfer Addr. */
-#define SH4_PCIDLA1		0x194		/* DMA1 Local Addr. */
-#define SH4_PCIDTC1		0x198		/* DMA1 Transfer Cnt. */
-#define SH4_PCIDCR1		0x19C		/* DMA1 Control Register */
-#define SH4_PCIDPA2		0x1A0		/* DMA2 Transfer Addr. */
-#define SH4_PCIDLA2		0x1A4		/* DMA2 Local Addr. */
-#define SH4_PCIDTC2		0x1A8		/* DMA2 Transfer Cnt. */
-#define SH4_PCIDCR2		0x1AC		/* DMA2 Control Register */
-#define SH4_PCIDPA3		0x1B0		/* DMA3 Transfer Addr. */
-#define SH4_PCIDLA3		0x1B4		/* DMA3 Local Addr. */
-#define SH4_PCIDTC3		0x1B8		/* DMA3 Transfer Cnt. */
-#define SH4_PCIDCR3		0x1BC		/* DMA3 Control Register */
-#define SH4_PCIPAR		0x1C0		/* PIO Address Register */
-  #define SH4_PCIPAR_CFGEN	  0x80000000	/* Configuration Enable */
-  #define SH4_PCIPAR_BUSNO	  0x00FF0000	/* Config. Bus Number */
-  #define SH4_PCIPAR_DEVNO	  0x0000FF00	/* Config. Device Number */
-  #define SH4_PCIPAR_REGAD	  0x000000FC	/* Register Address Number */
-#define SH4_PCIMBR		0x1C4		/* Memory Base Address */
-  #define SH4_PCIMBR_MASK	  0xFF000000	/* Memory Space Mask */
-  #define SH4_PCIMBR_LOCK	  0x00000001	/* Lock Memory Space */
-#define SH4_PCIIOBR		0x1C8		/* I/O Base Address Register */
-  #define SH4_PCIIOBR_MASK	  0xFFFC0000	/* IO Space Mask */
-  #define SH4_PCIIOBR_LOCK	  0x00000001	/* Lock IO Space */
-#define SH4_PCIPINT		0x1CC		/* Power Mgmnt Int. Register */
-  #define SH4_PCIPINT_D3	  0x00000002	/* D3 Pwr Mgmt. Interrupt */
-  #define SH4_PCIPINT_D0	  0x00000001	/* D0 Pwr Mgmt. Interrupt */
-#define SH4_PCIPINTM		0x1D0		/* Power Mgmnt Mask Register */
-#define SH4_PCICLKR		0x1D4		/* Clock Ctrl. Register */
-  #define SH4_PCICLKR_PCSTP	  0x00000002	/* PCI Clock Stop */
-  #define SH4_PCICLKR_BCSTP	  0x00000001	/* BCLK Clock Stop */
-/* For definitions of BCR, MCR see ... */
-#define SH4_PCIBCR1		0x1E0		/* Memory BCR1 Register */
-  #define SH4_PCIMBR0		SH4_PCIBCR1
-#define SH4_PCIBCR2		0x1E4		/* Memory BCR2 Register */
-  #define SH4_PCIMBMR0		SH4_PCIBCR2
-#define SH4_PCIWCR1		0x1E8		/* Wait Control 1 Register */
-#define SH4_PCIWCR2		0x1EC		/* Wait Control 2 Register */
-#define SH4_PCIWCR3		0x1F0		/* Wait Control 3 Register */
-  #define SH4_PCIMBR2		SH4_PCIWCR3
-#define SH4_PCIMCR		0x1F4		/* Memory Control Register */
-#define SH4_PCIBCR3		0x1f8		/* Memory BCR3 Register */
-#define SH4_PCIPCTR             0x200		/* Port Control Register */
-  #define SH4_PCIPCTR_P2EN	  0x000400000	/* Port 2 Enable */
-  #define SH4_PCIPCTR_P1EN	  0x000200000	/* Port 1 Enable */
-  #define SH4_PCIPCTR_P0EN	  0x000100000	/* Port 0 Enable */
-  #define SH4_PCIPCTR_P2UP	  0x000000020	/* Port2 Pull Up Enable */
-  #define SH4_PCIPCTR_P2IO	  0x000000010	/* Port2 Output Enable */
-  #define SH4_PCIPCTR_P1UP	  0x000000008	/* Port1 Pull Up Enable */
-  #define SH4_PCIPCTR_P1IO	  0x000000004	/* Port1 Output Enable */
-  #define SH4_PCIPCTR_P0UP	  0x000000002	/* Port0 Pull Up Enable */
-  #define SH4_PCIPCTR_P0IO	  0x000000001	/* Port0 Output Enable */
-#define SH4_PCIPDTR		0x204		/* Port Data Register */
-  #define SH4_PCIPDTR_PB5	  0x000000020	/* Port 5 Enable */
-  #define SH4_PCIPDTR_PB4	  0x000000010	/* Port 4 Enable */
-  #define SH4_PCIPDTR_PB3	  0x000000008	/* Port 3 Enable */
-  #define SH4_PCIPDTR_PB2	  0x000000004	/* Port 2 Enable */
-  #define SH4_PCIPDTR_PB1	  0x000000002	/* Port 1 Enable */
-  #define SH4_PCIPDTR_PB0	  0x000000001	/* Port 0 Enable */
-#define SH4_PCIPDR		0x220		/* Port IO Data Register */
-
-/* arch/sh/kernel/drivers/pci/ops-sh4.c */
-extern struct pci_ops sh4_pci_ops;
-int pci_fixup_pcic(struct pci_channel *chan);
-
-struct sh4_pci_address_space {
-	unsigned long base;
-	unsigned long size;
-};
-
-struct sh4_pci_address_map {
-	struct sh4_pci_address_space window0;
-	struct sh4_pci_address_space window1;
-};
-
-static inline void pci_write_reg(struct pci_channel *chan,
-				 unsigned long val, unsigned long reg)
-{
-	__raw_writel(val, chan->reg_base + reg);
-}
-
-static inline unsigned long pci_read_reg(struct pci_channel *chan,
-					 unsigned long reg)
-{
-	return __raw_readl(chan->reg_base + reg);
-}
-
-#endif /* __PCI_SH4_H */
diff --git a/arch/sh/drivers/pci/pci-sh7751.c b/arch/sh/drivers/pci/pci-sh7751.c
deleted file mode 100644
index 11ed21c2e9bb10..00000000000000
--- a/arch/sh/drivers/pci/pci-sh7751.c
+++ /dev/null
@@ -1,179 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Low-Level PCI Support for the SH7751
- *
- *  Copyright (C) 2003 - 2009  Paul Mundt
- *  Copyright (C) 2001  Dustin McIntire
- *
- *  With cleanup by Paul van Gool <pvangool at mimotech.com>, 2003.
- */
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/io.h>
-#include "pci-sh4.h"
-#include <asm/addrspace.h>
-#include <linux/sizes.h>
-
-static int __init __area_sdram_check(struct pci_channel *chan,
-				     unsigned int area)
-{
-	unsigned long word;
-
-	word = __raw_readl(SH7751_BCR1);
-	/* check BCR for SDRAM in area */
-	if (((word >> area) & 1) == 0) {
-		printk("PCI: Area %d is not configured for SDRAM. BCR1=0x%lx\n",
-		       area, word);
-		return 0;
-	}
-	pci_write_reg(chan, word, SH4_PCIBCR1);
-
-	word = __raw_readw(SH7751_BCR2);
-	/* check BCR2 for 32bit SDRAM interface*/
-	if (((word >> (area << 1)) & 0x3) != 0x3) {
-		printk("PCI: Area %d is not 32 bit SDRAM. BCR2=0x%lx\n",
-		       area, word);
-		return 0;
-	}
-	pci_write_reg(chan, word, SH4_PCIBCR2);
-
-	return 1;
-}
-
-static struct resource sh7751_pci_resources[] = {
-	{
-		.name	= "SH7751_IO",
-		.start	= 0x1000,
-		.end	= SZ_4M - 1,
-		.flags	= IORESOURCE_IO
-	}, {
-		.name	= "SH7751_mem",
-		.start	= SH7751_PCI_MEMORY_BASE,
-		.end	= SH7751_PCI_MEMORY_BASE + SH7751_PCI_MEM_SIZE - 1,
-		.flags	= IORESOURCE_MEM
-	},
-};
-
-static struct pci_channel sh7751_pci_controller = {
-	.pci_ops	= &sh4_pci_ops,
-	.resources	= sh7751_pci_resources,
-	.nr_resources	= ARRAY_SIZE(sh7751_pci_resources),
-	.mem_offset	= 0x00000000,
-	.io_offset	= 0x00000000,
-	.io_map_base	= SH7751_PCI_IO_BASE,
-};
-
-static struct sh4_pci_address_map sh7751_pci_map = {
-	.window0	= {
-		.base	= SH7751_CS3_BASE_ADDR,
-		.size	= 0x04000000,
-	},
-};
-
-static int __init sh7751_pci_init(void)
-{
-	struct pci_channel *chan = &sh7751_pci_controller;
-	unsigned int id;
-	u32 word, reg;
-
-	printk(KERN_NOTICE "PCI: Starting initialization.\n");
-
-	chan->reg_base = 0xfe200000;
-
-	/* check for SH7751/SH7751R hardware */
-	id = pci_read_reg(chan, SH7751_PCICONF0);
-	if (id != ((SH7751_DEVICE_ID << 16) | SH7751_VENDOR_ID) &&
-	    id != ((SH7751R_DEVICE_ID << 16) | SH7751_VENDOR_ID)) {
-		pr_debug("PCI: This is not an SH7751(R) (%x)\n", id);
-		return -ENODEV;
-	}
-
-	/* Set the BCR's to enable PCI access */
-	reg = __raw_readl(SH7751_BCR1);
-	reg |= 0x80000;
-	__raw_writel(reg, SH7751_BCR1);
-
-	/* Turn the clocks back on (not done in reset)*/
-	pci_write_reg(chan, 0, SH4_PCICLKR);
-	/* Clear Powerdown IRQ's (not done in reset) */
-	word = SH4_PCIPINT_D3 | SH4_PCIPINT_D0;
-	pci_write_reg(chan, word, SH4_PCIPINT);
-
-	/* set the command/status bits to:
-	 * Wait Cycle Control + Parity Enable + Bus Master +
-	 * Mem space enable
-	 */
-	word = SH7751_PCICONF1_WCC | SH7751_PCICONF1_PER |
-	       SH7751_PCICONF1_BUM | SH7751_PCICONF1_MES;
-	pci_write_reg(chan, word, SH7751_PCICONF1);
-
-	/* define this host as the host bridge */
-	word = PCI_BASE_CLASS_BRIDGE << 24;
-	pci_write_reg(chan, word, SH7751_PCICONF2);
-
-	/* Set IO and Mem windows to local address
-	 * Make PCI and local address the same for easy 1 to 1 mapping
-	 */
-	word = sh7751_pci_map.window0.size - 1;
-	pci_write_reg(chan, word, SH4_PCILSR0);
-	/* Set the values on window 0 PCI config registers */
-	word = P2SEGADDR(sh7751_pci_map.window0.base);
-	pci_write_reg(chan, word, SH4_PCILAR0);
-	pci_write_reg(chan, word, SH7751_PCICONF5);
-
-	/* Set the local 16MB PCI memory space window to
-	 * the lowest PCI mapped address
-	 */
-	word = chan->resources[1].start & SH4_PCIMBR_MASK;
-	pr_debug("PCI: Setting upper bits of Memory window to 0x%x\n", word);
-	pci_write_reg(chan, word , SH4_PCIMBR);
-
-	/* Make sure the MSB's of IO window are set to access PCI space
-	 * correctly */
-	word = chan->resources[0].start & SH4_PCIIOBR_MASK;
-	pr_debug("PCI: Setting upper bits of IO window to 0x%x\n", word);
-	pci_write_reg(chan, word, SH4_PCIIOBR);
-
-	/* Set PCI WCRx, BCRx's, copy from BSC locations */
-
-	/* check BCR for SDRAM in specified area */
-	switch (sh7751_pci_map.window0.base) {
-	case SH7751_CS0_BASE_ADDR: word = __area_sdram_check(chan, 0); break;
-	case SH7751_CS1_BASE_ADDR: word = __area_sdram_check(chan, 1); break;
-	case SH7751_CS2_BASE_ADDR: word = __area_sdram_check(chan, 2); break;
-	case SH7751_CS3_BASE_ADDR: word = __area_sdram_check(chan, 3); break;
-	case SH7751_CS4_BASE_ADDR: word = __area_sdram_check(chan, 4); break;
-	case SH7751_CS5_BASE_ADDR: word = __area_sdram_check(chan, 5); break;
-	case SH7751_CS6_BASE_ADDR: word = __area_sdram_check(chan, 6); break;
-	}
-
-	if (!word)
-		return -1;
-
-	/* configure the wait control registers */
-	word = __raw_readl(SH7751_WCR1);
-	pci_write_reg(chan, word, SH4_PCIWCR1);
-	word = __raw_readl(SH7751_WCR2);
-	pci_write_reg(chan, word, SH4_PCIWCR2);
-	word = __raw_readl(SH7751_WCR3);
-	pci_write_reg(chan, word, SH4_PCIWCR3);
-	word = __raw_readl(SH7751_MCR);
-	pci_write_reg(chan, word, SH4_PCIMCR);
-
-	/* NOTE: I'm ignoring the PCI error IRQs for now..
-	 * TODO: add support for the internal error interrupts and
-	 * DMA interrupts...
-	 */
-
-	pci_fixup_pcic(chan);
-
-	/* SH7751 init done, set central function init complete */
-	/* use round robin mode to stop a device starving/overruning */
-	word = SH4_PCICR_PREFIX | SH4_PCICR_CFIN | SH4_PCICR_ARBM;
-	pci_write_reg(chan, word, SH4_PCICR);
-
-	return register_pci_controller(chan);
-}
-arch_initcall(sh7751_pci_init);
diff --git a/arch/sh/drivers/pci/pci-sh7751.h b/arch/sh/drivers/pci/pci-sh7751.h
deleted file mode 100644
index d1951e50effc8b..00000000000000
--- a/arch/sh/drivers/pci/pci-sh7751.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- *	Low-Level PCI Support for SH7751 targets
- *
- *  Dustin McIntire (dustin at sensoria.com) (c) 2001
- *  Paul Mundt (lethal at linux-sh.org) (c) 2003
- */
-
-#ifndef _PCI_SH7751_H_
-#define _PCI_SH7751_H_
-
-/* Platform Specific Values */
-#define SH7751_VENDOR_ID             0x1054
-#define SH7751_DEVICE_ID             0x3505
-#define SH7751R_DEVICE_ID            0x350e
-
-/* SH7751 Specific Values */
-#define SH7751_PCI_CONFIG_BASE	     0xFD000000  /* Config space base addr */
-#define SH7751_PCI_CONFIG_SIZE       0x1000000   /* Config space size */
-#define SH7751_PCI_MEMORY_BASE	     0xFD000000  /* Memory space base addr */
-#define SH7751_PCI_MEM_SIZE          0x01000000  /* Size of Memory window */
-#define SH7751_PCI_IO_BASE           0xFE240000  /* IO space base address */
-#define SH7751_PCI_IO_SIZE           0x40000     /* Size of IO window */
-
-#define SH7751_PCIREG_BASE           0xFE200000  /* PCI regs base address */
-
-#define SH7751_PCICONF0            0x0           /* PCI Config Reg 0 */
-  #define SH7751_PCICONF0_DEVID      0xFFFF0000  /* Device ID */
-  #define SH7751_PCICONF0_VNDID      0x0000FFFF  /* Vendor ID */
-#define SH7751_PCICONF1            0x4           /* PCI Config Reg 1 */
-  #define SH7751_PCICONF1_DPE        0x80000000  /* Data Parity Error */
-  #define SH7751_PCICONF1_SSE        0x40000000  /* System Error Status */
-  #define SH7751_PCICONF1_RMA        0x20000000  /* Master Abort */
-  #define SH7751_PCICONF1_RTA        0x10000000  /* Target Abort Rx Status */
-  #define SH7751_PCICONF1_STA        0x08000000  /* Target Abort Exec Status */
-  #define SH7751_PCICONF1_DEV        0x06000000  /* Timing Status */
-  #define SH7751_PCICONF1_DPD        0x01000000  /* Data Parity Status */
-  #define SH7751_PCICONF1_FBBC       0x00800000  /* Back 2 Back Status */
-  #define SH7751_PCICONF1_UDF        0x00400000  /* User Defined Status */
-  #define SH7751_PCICONF1_66M        0x00200000  /* 66Mhz Operation Status */
-  #define SH7751_PCICONF1_PM         0x00100000  /* Power Management Status */
-  #define SH7751_PCICONF1_PBBE       0x00000200  /* Back 2 Back Control */
-  #define SH7751_PCICONF1_SER        0x00000100  /* SERR Output Control */
-  #define SH7751_PCICONF1_WCC        0x00000080  /* Wait Cycle Control */
-  #define SH7751_PCICONF1_PER        0x00000040  /* Parity Error Response */
-  #define SH7751_PCICONF1_VPS        0x00000020  /* VGA Pallet Snoop */
-  #define SH7751_PCICONF1_MWIE       0x00000010  /* Memory Write+Invalidate */
-  #define SH7751_PCICONF1_SPC        0x00000008  /* Special Cycle Control */
-  #define SH7751_PCICONF1_BUM        0x00000004  /* Bus Master Control */
-  #define SH7751_PCICONF1_MES        0x00000002  /* Memory Space Control */
-  #define SH7751_PCICONF1_IOS        0x00000001  /* I/O Space Control */
-#define SH7751_PCICONF2            0x8           /* PCI Config Reg 2 */
-  #define SH7751_PCICONF2_BCC        0xFF000000  /* Base Class Code */
-  #define SH7751_PCICONF2_SCC        0x00FF0000  /* Sub-Class Code */
-  #define SH7751_PCICONF2_RLPI       0x0000FF00  /* Programming Interface */
-  #define SH7751_PCICONF2_REV        0x000000FF  /* Revision ID */
-#define SH7751_PCICONF3            0xC           /* PCI Config Reg 3 */
-  #define SH7751_PCICONF3_BIST7      0x80000000  /* Bist Supported */
-  #define SH7751_PCICONF3_BIST6      0x40000000  /* Bist Executing */
-  #define SH7751_PCICONF3_BIST3_0    0x0F000000  /* Bist Passed */
-  #define SH7751_PCICONF3_HD7        0x00800000  /* Single Function device */
-  #define SH7751_PCICONF3_HD6_0      0x007F0000  /* Configuration Layout */
-  #define SH7751_PCICONF3_LAT        0x0000FF00  /* Latency Timer */
-  #define SH7751_PCICONF3_CLS        0x000000FF  /* Cache Line Size */
-#define SH7751_PCICONF4            0x10          /* PCI Config Reg 4 */
-  #define SH7751_PCICONF4_BASE       0xFFFFFFFC  /* I/O Space Base Addr */
-  #define SH7751_PCICONF4_ASI        0x00000001  /* Address Space Type */
-#define SH7751_PCICONF5            0x14          /* PCI Config Reg 5 */
-  #define SH7751_PCICONF5_BASE       0xFFFFFFF0  /* Mem Space Base Addr */
-  #define SH7751_PCICONF5_LAP        0x00000008  /* Prefetch Enabled */
-  #define SH7751_PCICONF5_LAT        0x00000006  /* Local Memory type */
-  #define SH7751_PCICONF5_ASI        0x00000001  /* Address Space Type */
-#define SH7751_PCICONF6            0x18          /* PCI Config Reg 6 */
-  #define SH7751_PCICONF6_BASE       0xFFFFFFF0  /* Mem Space Base Addr */
-  #define SH7751_PCICONF6_LAP        0x00000008  /* Prefetch Enabled */
-  #define SH7751_PCICONF6_LAT        0x00000006  /* Local Memory type */
-  #define SH7751_PCICONF6_ASI        0x00000001  /* Address Space Type */
-/* PCICONF7 - PCICONF10 are undefined */
-#define SH7751_PCICONF11           0x2C          /* PCI Config Reg 11 */
-  #define SH7751_PCICONF11_SSID      0xFFFF0000  /* Subsystem ID */
-  #define SH7751_PCICONF11_SVID      0x0000FFFF  /* Subsystem Vendor ID */
-/* PCICONF12 is undefined */
-#define SH7751_PCICONF13           0x34          /* PCI Config Reg 13 */
-  #define SH7751_PCICONF13_CPTR      0x000000FF  /* PM function pointer */
-/* PCICONF14 is undefined */
-#define SH7751_PCICONF15           0x3C          /* PCI Config Reg 15 */
-  #define SH7751_PCICONF15_IPIN      0x000000FF  /* Interrupt Pin */
-#define SH7751_PCICONF16           0x40          /* PCI Config Reg 16 */
-  #define SH7751_PCICONF16_PMES      0xF8000000  /* PME Support */
-  #define SH7751_PCICONF16_D2S       0x04000000  /* D2 Support */
-  #define SH7751_PCICONF16_D1S       0x02000000  /* D1 Support */
-  #define SH7751_PCICONF16_DSI       0x00200000  /* Bit Device Init. */
-  #define SH7751_PCICONF16_PMCK      0x00080000  /* Clock for PME req. */
-  #define SH7751_PCICONF16_VER       0x00070000  /* PM Version */
-  #define SH7751_PCICONF16_NIP       0x0000FF00  /* Next Item Pointer */
-  #define SH7751_PCICONF16_CID       0x000000FF  /* Capability Identifier */
-#define SH7751_PCICONF17           0x44          /* PCI Config Reg 17 */
-  #define SH7751_PCICONF17_DATA      0xFF000000  /* Data field for PM */
-  #define SH7751_PCICONF17_PMES      0x00800000  /* PME Status */
-  #define SH7751_PCICONF17_DSCL      0x00600000  /* Data Scaling Value */
-  #define SH7751_PCICONF17_DSEL      0x001E0000  /* Data Select */
-  #define SH7751_PCICONF17_PMEN      0x00010000  /* PME Enable */
-  #define SH7751_PCICONF17_PWST      0x00000003  /* Power State */
-/* SH7715 Internal PCI Registers */
-
-/* Memory Control Registers */
-#define SH7751_BCR1                0xFF800000    /* Memory BCR1 Register */
-#define SH7751_BCR2                0xFF800004    /* Memory BCR2 Register */
-#define SH7751_BCR3                0xFF800050    /* Memory BCR3 Register */
-#define SH7751_BCR4                0xFE0A00F0    /* Memory BCR4 Register */
-#define SH7751_WCR1                0xFF800008    /* Wait Control 1 Register */
-#define SH7751_WCR2                0xFF80000C    /* Wait Control 2 Register */
-#define SH7751_WCR3                0xFF800010    /* Wait Control 3 Register */
-#define SH7751_MCR                 0xFF800014    /* Memory Control Register */
-
-/* General Memory Config Addresses */
-#define SH7751_CS0_BASE_ADDR       0x0
-#define SH7751_MEM_REGION_SIZE     0x04000000
-#define SH7751_CS1_BASE_ADDR       (SH7751_CS0_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-#define SH7751_CS2_BASE_ADDR       (SH7751_CS1_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-#define SH7751_CS3_BASE_ADDR       (SH7751_CS2_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-#define SH7751_CS4_BASE_ADDR       (SH7751_CS3_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-#define SH7751_CS5_BASE_ADDR       (SH7751_CS4_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-#define SH7751_CS6_BASE_ADDR       (SH7751_CS5_BASE_ADDR + SH7751_MEM_REGION_SIZE)
-
-#endif /* _PCI_SH7751_H_ */
diff --git a/arch/sh/drivers/pci/pci-sh7780.c b/arch/sh/drivers/pci/pci-sh7780.c
deleted file mode 100644
index 9a624a6ee35479..00000000000000
--- a/arch/sh/drivers/pci/pci-sh7780.c
+++ /dev/null
@@ -1,407 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Low-Level PCI Support for the SH7780
- *
- *  Copyright (C) 2005 - 2010  Paul Mundt
- */
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/interrupt.h>
-#include <linux/timer.h>
-#include <linux/irq.h>
-#include <linux/errno.h>
-#include <linux/delay.h>
-#include <linux/log2.h>
-#include "pci-sh4.h"
-#include <asm/mmu.h>
-#include <linux/sizes.h>
-
-#if defined(CONFIG_CPU_BIG_ENDIAN)
-# define PCICR_ENDIANNESS SH4_PCICR_BSWP
-#else
-# define PCICR_ENDIANNESS 0
-#endif
-
-
-static struct resource sh7785_pci_resources[] = {
-	{
-		.name	= "PCI IO",
-		.start	= 0x1000,
-		.end	= SZ_4M - 1,
-		.flags	= IORESOURCE_IO,
-	}, {
-		.name	= "PCI MEM 0",
-		.start	= 0xfd000000,
-		.end	= 0xfd000000 + SZ_16M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.name	= "PCI MEM 1",
-		.start	= 0x10000000,
-		.end	= 0x10000000 + SZ_64M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		/*
-		 * 32-bit only resources must be last.
-		 */
-		.name	= "PCI MEM 2",
-		.start	= 0xc0000000,
-		.end	= 0xc0000000 + SZ_512M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	},
-};
-
-static struct pci_channel sh7780_pci_controller = {
-	.pci_ops	= &sh4_pci_ops,
-	.resources	= sh7785_pci_resources,
-	.nr_resources	= ARRAY_SIZE(sh7785_pci_resources),
-	.io_offset	= 0,
-	.mem_offset	= 0,
-	.io_map_base	= 0xfe200000,
-	.serr_irq	= evt2irq(0xa00),
-	.err_irq	= evt2irq(0xaa0),
-};
-
-struct pci_errors {
-	unsigned int	mask;
-	const char	*str;
-} pci_arbiter_errors[] = {
-	{ SH4_PCIAINT_MBKN,	"master broken" },
-	{ SH4_PCIAINT_TBTO,	"target bus time out" },
-	{ SH4_PCIAINT_MBTO,	"master bus time out" },
-	{ SH4_PCIAINT_TABT,	"target abort" },
-	{ SH4_PCIAINT_MABT,	"master abort" },
-	{ SH4_PCIAINT_RDPE,	"read data parity error" },
-	{ SH4_PCIAINT_WDPE,	"write data parity error" },
-}, pci_interrupt_errors[] = {
-	{ SH4_PCIINT_MLCK,	"master lock error" },
-	{ SH4_PCIINT_TABT,	"target-target abort" },
-	{ SH4_PCIINT_TRET,	"target retry time out" },
-	{ SH4_PCIINT_MFDE,	"master function disable error" },
-	{ SH4_PCIINT_PRTY,	"address parity error" },
-	{ SH4_PCIINT_SERR,	"SERR" },
-	{ SH4_PCIINT_TWDP,	"data parity error for target write" },
-	{ SH4_PCIINT_TRDP,	"PERR detected for target read" },
-	{ SH4_PCIINT_MTABT,	"target abort for master" },
-	{ SH4_PCIINT_MMABT,	"master abort for master" },
-	{ SH4_PCIINT_MWPD,	"master write data parity error" },
-	{ SH4_PCIINT_MRPD,	"master read data parity error" },
-};
-
-static irqreturn_t sh7780_pci_err_irq(int irq, void *dev_id)
-{
-	struct pci_channel *hose = dev_id;
-	unsigned long addr;
-	unsigned int status;
-	unsigned int cmd;
-	int i;
-
-	addr = __raw_readl(hose->reg_base + SH4_PCIALR);
-
-	/*
-	 * Handle status errors.
-	 */
-	status = __raw_readw(hose->reg_base + PCI_STATUS);
-	if (status & (PCI_STATUS_PARITY |
-		      PCI_STATUS_DETECTED_PARITY |
-		      PCI_STATUS_SIG_TARGET_ABORT |
-		      PCI_STATUS_REC_TARGET_ABORT |
-		      PCI_STATUS_REC_MASTER_ABORT)) {
-		cmd = pcibios_handle_status_errors(addr, status, hose);
-		if (likely(cmd))
-			__raw_writew(cmd, hose->reg_base + PCI_STATUS);
-	}
-
-	/*
-	 * Handle arbiter errors.
-	 */
-	status = __raw_readl(hose->reg_base + SH4_PCIAINT);
-	for (i = cmd = 0; i < ARRAY_SIZE(pci_arbiter_errors); i++) {
-		if (status & pci_arbiter_errors[i].mask) {
-			printk(KERN_DEBUG "PCI: %s, addr=%08lx\n",
-			       pci_arbiter_errors[i].str, addr);
-			cmd |= pci_arbiter_errors[i].mask;
-		}
-	}
-	__raw_writel(cmd, hose->reg_base + SH4_PCIAINT);
-
-	/*
-	 * Handle the remaining PCI errors.
-	 */
-	status = __raw_readl(hose->reg_base + SH4_PCIINT);
-	for (i = cmd = 0; i < ARRAY_SIZE(pci_interrupt_errors); i++) {
-		if (status & pci_interrupt_errors[i].mask) {
-			printk(KERN_DEBUG "PCI: %s, addr=%08lx\n",
-			       pci_interrupt_errors[i].str, addr);
-			cmd |= pci_interrupt_errors[i].mask;
-		}
-	}
-	__raw_writel(cmd, hose->reg_base + SH4_PCIINT);
-
-	return IRQ_HANDLED;
-}
-
-static irqreturn_t sh7780_pci_serr_irq(int irq, void *dev_id)
-{
-	struct pci_channel *hose = dev_id;
-
-	printk(KERN_DEBUG "PCI: system error received: ");
-	pcibios_report_status(PCI_STATUS_SIG_SYSTEM_ERROR, 1);
-	pr_cont("\n");
-
-	/* Deassert SERR */
-	__raw_writel(SH4_PCIINTM_SDIM, hose->reg_base + SH4_PCIINTM);
-
-	/* Back off the IRQ for awhile */
-	disable_irq_nosync(irq);
-	hose->serr_timer.expires = jiffies + HZ;
-	add_timer(&hose->serr_timer);
-
-	return IRQ_HANDLED;
-}
-
-static int __init sh7780_pci_setup_irqs(struct pci_channel *hose)
-{
-	int ret;
-
-	/* Clear out PCI arbiter IRQs */
-	__raw_writel(0, hose->reg_base + SH4_PCIAINT);
-
-	/* Clear all error conditions */
-	__raw_writew(PCI_STATUS_DETECTED_PARITY  | \
-		     PCI_STATUS_SIG_SYSTEM_ERROR | \
-		     PCI_STATUS_REC_MASTER_ABORT | \
-		     PCI_STATUS_REC_TARGET_ABORT | \
-		     PCI_STATUS_SIG_TARGET_ABORT | \
-		     PCI_STATUS_PARITY, hose->reg_base + PCI_STATUS);
-
-	ret = request_irq(hose->serr_irq, sh7780_pci_serr_irq, 0,
-			  "PCI SERR interrupt", hose);
-	if (unlikely(ret)) {
-		pr_err("PCI: Failed hooking SERR IRQ\n");
-		return ret;
-	}
-
-	/*
-	 * The PCI ERR IRQ needs to be IRQF_SHARED since all of the power
-	 * down IRQ vectors are routed through the ERR IRQ vector. We
-	 * only request_irq() once as there is only a single masking
-	 * source for multiple events.
-	 */
-	ret = request_irq(hose->err_irq, sh7780_pci_err_irq, IRQF_SHARED,
-			  "PCI ERR interrupt", hose);
-	if (unlikely(ret)) {
-		free_irq(hose->serr_irq, hose);
-		return ret;
-	}
-
-	/* Unmask all of the arbiter IRQs. */
-	__raw_writel(SH4_PCIAINT_MBKN | SH4_PCIAINT_TBTO | SH4_PCIAINT_MBTO | \
-		     SH4_PCIAINT_TABT | SH4_PCIAINT_MABT | SH4_PCIAINT_RDPE | \
-		     SH4_PCIAINT_WDPE, hose->reg_base + SH4_PCIAINTM);
-
-	/* Unmask all of the PCI IRQs */
-	__raw_writel(SH4_PCIINTM_TTADIM  | SH4_PCIINTM_TMTOIM  | \
-		     SH4_PCIINTM_MDEIM   | SH4_PCIINTM_APEDIM  | \
-		     SH4_PCIINTM_SDIM    | SH4_PCIINTM_DPEITWM | \
-		     SH4_PCIINTM_PEDITRM | SH4_PCIINTM_TADIMM  | \
-		     SH4_PCIINTM_MADIMM  | SH4_PCIINTM_MWPDIM  | \
-		     SH4_PCIINTM_MRDPEIM, hose->reg_base + SH4_PCIINTM);
-
-	return ret;
-}
-
-static inline void __init sh7780_pci_teardown_irqs(struct pci_channel *hose)
-{
-	free_irq(hose->err_irq, hose);
-	free_irq(hose->serr_irq, hose);
-}
-
-static void __init sh7780_pci66_init(struct pci_channel *hose)
-{
-	unsigned int tmp;
-
-	if (!pci_is_66mhz_capable(hose, 0, 0))
-		return;
-
-	/* Enable register access */
-	tmp = __raw_readl(hose->reg_base + SH4_PCICR);
-	tmp |= SH4_PCICR_PREFIX;
-	__raw_writel(tmp, hose->reg_base + SH4_PCICR);
-
-	/* Enable 66MHz operation */
-	tmp = __raw_readw(hose->reg_base + PCI_STATUS);
-	tmp |= PCI_STATUS_66MHZ;
-	__raw_writew(tmp, hose->reg_base + PCI_STATUS);
-
-	/* Done */
-	tmp = __raw_readl(hose->reg_base + SH4_PCICR);
-	tmp |= SH4_PCICR_PREFIX | SH4_PCICR_CFIN;
-	__raw_writel(tmp, hose->reg_base + SH4_PCICR);
-}
-
-static int __init sh7780_pci_init(void)
-{
-	struct pci_channel *chan = &sh7780_pci_controller;
-	phys_addr_t memphys;
-	size_t memsize;
-	unsigned int id;
-	const char *type;
-	int ret, i;
-
-	pr_notice("PCI: Starting initialization.\n");
-
-	chan->reg_base = 0xfe040000;
-
-	/* Enable CPU access to the PCIC registers. */
-	__raw_writel(PCIECR_ENBL, PCIECR);
-
-	/* Reset */
-	__raw_writel(SH4_PCICR_PREFIX | SH4_PCICR_PRST | PCICR_ENDIANNESS,
-		     chan->reg_base + SH4_PCICR);
-
-	/*
-	 * Wait for it to come back up. The spec says to allow for up to
-	 * 1 second after toggling the reset pin, but in practice 100ms
-	 * is more than enough.
-	 */
-	mdelay(100);
-
-	id = __raw_readw(chan->reg_base + PCI_VENDOR_ID);
-	if (id != PCI_VENDOR_ID_RENESAS) {
-		pr_err("PCI: Unknown vendor ID 0x%04x.\n", id);
-		return -ENODEV;
-	}
-
-	id = __raw_readw(chan->reg_base + PCI_DEVICE_ID);
-	type = (id == PCI_DEVICE_ID_RENESAS_SH7763) ? "SH7763" :
-	       (id == PCI_DEVICE_ID_RENESAS_SH7780) ? "SH7780" :
-	       (id == PCI_DEVICE_ID_RENESAS_SH7781) ? "SH7781" :
-	       (id == PCI_DEVICE_ID_RENESAS_SH7785) ? "SH7785" :
-					  NULL;
-	if (unlikely(!type)) {
-		pr_err("PCI: Found an unsupported Renesas host controller, device id 0x%04x.\n",
-		       id);
-		return -EINVAL;
-	}
-
-	pr_notice("PCI: Found a Renesas %s host controller, revision %d.\n",
-		  type, __raw_readb(chan->reg_base + PCI_REVISION_ID));
-
-	/*
-	 * Now throw it in to register initialization mode and
-	 * start the real work.
-	 */
-	__raw_writel(SH4_PCICR_PREFIX | PCICR_ENDIANNESS,
-		     chan->reg_base + SH4_PCICR);
-
-	memphys = __pa(memory_start);
-	memsize = roundup_pow_of_two(memory_end - memory_start);
-
-	/*
-	 * If there's more than 512MB of memory, we need to roll over to
-	 * LAR1/LSR1.
-	 */
-	if (memsize > SZ_512M) {
-		__raw_writel(memphys + SZ_512M, chan->reg_base + SH4_PCILAR1);
-		__raw_writel((((memsize - SZ_512M) - SZ_1M) & 0x1ff00000) | 1,
-			     chan->reg_base + SH4_PCILSR1);
-		memsize = SZ_512M;
-	} else {
-		/*
-		 * Otherwise just zero it out and disable it.
-		 */
-		__raw_writel(0, chan->reg_base + SH4_PCILAR1);
-		__raw_writel(0, chan->reg_base + SH4_PCILSR1);
-	}
-
-	/*
-	 * LAR0/LSR0 covers up to the first 512MB, which is enough to
-	 * cover all of lowmem on most platforms.
-	 */
-	__raw_writel(memphys, chan->reg_base + SH4_PCILAR0);
-	__raw_writel(((memsize - SZ_1M) & 0x1ff00000) | 1,
-		     chan->reg_base + SH4_PCILSR0);
-
-	/*
-	 * Hook up the ERR and SERR IRQs.
-	 */
-	ret = sh7780_pci_setup_irqs(chan);
-	if (unlikely(ret))
-		return ret;
-
-	/*
-	 * Disable the cache snoop controller for non-coherent DMA.
-	 */
-	__raw_writel(0, chan->reg_base + SH7780_PCICSCR0);
-	__raw_writel(0, chan->reg_base + SH7780_PCICSAR0);
-	__raw_writel(0, chan->reg_base + SH7780_PCICSCR1);
-	__raw_writel(0, chan->reg_base + SH7780_PCICSAR1);
-
-	/*
-	 * Setup the memory BARs
-	 */
-	for (i = 1; i < chan->nr_resources; i++) {
-		struct resource *res = chan->resources + i;
-		resource_size_t size;
-
-		if (unlikely(res->flags & IORESOURCE_IO))
-			continue;
-
-		/*
-		 * Make sure we're in the right physical addressing mode
-		 * for dealing with the resource.
-		 */
-		if ((res->flags & IORESOURCE_MEM_32BIT) && __in_29bit_mode()) {
-			chan->nr_resources--;
-			continue;
-		}
-
-		size = resource_size(res);
-
-		/*
-		 * The MBMR mask is calculated in units of 256kB, which
-		 * keeps things pretty simple.
-		 */
-		__raw_writel(((roundup_pow_of_two(size) / SZ_256K) - 1) << 18,
-			     chan->reg_base + SH7780_PCIMBMR(i - 1));
-		__raw_writel(res->start, chan->reg_base + SH7780_PCIMBR(i - 1));
-	}
-
-	/*
-	 * And I/O.
-	 */
-	__raw_writel(0, chan->reg_base + PCI_BASE_ADDRESS_0);
-	__raw_writel(0, chan->reg_base + SH7780_PCIIOBR);
-	__raw_writel(0, chan->reg_base + SH7780_PCIIOBMR);
-
-	__raw_writew(PCI_COMMAND_SERR   | PCI_COMMAND_WAIT   | \
-		     PCI_COMMAND_PARITY | PCI_COMMAND_MASTER | \
-		     PCI_COMMAND_MEMORY, chan->reg_base + PCI_COMMAND);
-
-	/*
-	 * Initialization mode complete, release the control register and
-	 * enable round robin mode to stop device overruns/starvation.
-	 */
-	__raw_writel(SH4_PCICR_PREFIX | SH4_PCICR_CFIN | SH4_PCICR_FTO |
-		     PCICR_ENDIANNESS,
-		     chan->reg_base + SH4_PCICR);
-
-	ret = register_pci_controller(chan);
-	if (unlikely(ret))
-		goto err;
-
-	sh7780_pci66_init(chan);
-
-	pr_notice("PCI: Running at %dMHz.\n",
-		  (__raw_readw(chan->reg_base + PCI_STATUS) & PCI_STATUS_66MHZ)
-		  ? 66 : 33);
-
-	return 0;
-
-err:
-	sh7780_pci_teardown_irqs(chan);
-	return ret;
-}
-arch_initcall(sh7780_pci_init);
diff --git a/arch/sh/drivers/pci/pci-sh7780.h b/arch/sh/drivers/pci/pci-sh7780.h
deleted file mode 100644
index e2ac770f8e3502..00000000000000
--- a/arch/sh/drivers/pci/pci-sh7780.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- *	Low-Level PCI Support for SH7780 targets
- *
- *  Dustin McIntire (dustin at sensoria.com) (c) 2001
- *  Paul Mundt (lethal at linux-sh.org) (c) 2003
- */
-
-#ifndef _PCI_SH7780_H_
-#define _PCI_SH7780_H_
-
-/* SH7780 Control Registers */
-#define	PCIECR			0xFE000008
-#define PCIECR_ENBL		0x01
-
-/* SH7780 Specific Values */
-#define SH7780_PCI_CONFIG_BASE	0xFD000000	/* Config space base addr */
-#define SH7780_PCI_CONFIG_SIZE	0x01000000	/* Config space size */
-
-#define SH7780_PCIREG_BASE	0xFE040000	/* PCI regs base address */
-
-/* SH7780 PCI Config Registers */
-#define SH7780_PCIIR		0x114		/* PCI Interrupt Register */
-#define SH7780_PCIIMR		0x118		/* PCI Interrupt Mask Register */
-#define SH7780_PCIAIR		0x11C		/* Error Address Register */
-#define SH7780_PCICIR		0x120		/* Error Command/Data Register */
-#define SH7780_PCIAINT		0x130		/* Arbiter Interrupt Register */
-#define SH7780_PCIAINTM		0x134		/* Arbiter Int. Mask Register */
-#define SH7780_PCIBMIR		0x138		/* Error Bus Master Register */
-#define SH7780_PCIPAR		0x1C0		/* PIO Address Register */
-#define SH7780_PCIPINT		0x1CC		/* Power Mgmnt Int. Register */
-#define SH7780_PCIPINTM		0x1D0		/* Power Mgmnt Mask Register */
-
-#define SH7780_PCIMBR(x)	(0x1E0 + ((x) * 8))
-#define SH7780_PCIMBMR(x)	(0x1E4 + ((x) * 8))
-#define SH7780_PCIIOBR		0x1F8
-#define SH7780_PCIIOBMR		0x1FC
-#define SH7780_PCICSCR0		0x210		/* Cache Snoop1 Cnt. Register */
-#define SH7780_PCICSCR1		0x214		/* Cache Snoop2 Cnt. Register */
-#define SH7780_PCICSAR0		0x218	/* Cache Snoop1 Addr. Register */
-#define SH7780_PCICSAR1		0x21C	/* Cache Snoop2 Addr. Register */
-
-#endif /* _PCI_SH7780_H_ */
diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c
deleted file mode 100644
index a3903304f33faa..00000000000000
--- a/arch/sh/drivers/pci/pci.c
+++ /dev/null
@@ -1,298 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * New-style PCI core.
- *
- * Copyright (c) 2004 - 2009  Paul Mundt
- * Copyright (c) 2002  M. R. Brown
- *
- * Modelled after arch/mips/pci/pci.c:
- *  Copyright (C) 2003, 04 Ralf Baechle (ralf at linux-mips.org)
- */
-#include <linux/kernel.h>
-#include <linux/mm.h>
-#include <linux/pci.h>
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/io.h>
-#include <linux/mutex.h>
-#include <linux/spinlock.h>
-#include <linux/export.h>
-
-unsigned long PCIBIOS_MIN_IO = 0x0000;
-unsigned long PCIBIOS_MIN_MEM = 0;
-
-/*
- * The PCI controller list.
- */
-static struct pci_channel *hose_head, **hose_tail = &hose_head;
-
-static int pci_initialized;
-
-static void pcibios_scanbus(struct pci_channel *hose)
-{
-	static int next_busno;
-	static int need_domain_info;
-	LIST_HEAD(resources);
-	struct resource *res;
-	resource_size_t offset;
-	int i, ret;
-	struct pci_host_bridge *bridge;
-
-	bridge = pci_alloc_host_bridge(0);
-	if (!bridge)
-		return;
-
-	for (i = 0; i < hose->nr_resources; i++) {
-		res = hose->resources + i;
-		offset = 0;
-		if (res->flags & IORESOURCE_DISABLED)
-			continue;
-		if (res->flags & IORESOURCE_IO)
-			offset = hose->io_offset;
-		else if (res->flags & IORESOURCE_MEM)
-			offset = hose->mem_offset;
-		pci_add_resource_offset(&resources, res, offset);
-	}
-
-	list_splice_init(&resources, &bridge->windows);
-	bridge->dev.parent = NULL;
-	bridge->sysdata = hose;
-	bridge->busnr = next_busno;
-	bridge->ops = hose->pci_ops;
-	bridge->swizzle_irq = pci_common_swizzle;
-	bridge->map_irq = pcibios_map_platform_irq;
-
-	ret = pci_scan_root_bus_bridge(bridge);
-	if (ret) {
-		pci_free_host_bridge(bridge);
-		return;
-	}
-
-	hose->bus = bridge->bus;
-
-	need_domain_info = need_domain_info || hose->index;
-	hose->need_domain_info = need_domain_info;
-
-	next_busno = hose->bus->busn_res.end + 1;
-	/* Don't allow 8-bit bus number overflow inside the hose -
-	   reserve some space for bridges. */
-	if (next_busno > 224) {
-		next_busno = 0;
-		need_domain_info = 1;
-	}
-
-	pci_bus_size_bridges(hose->bus);
-	pci_bus_assign_resources(hose->bus);
-	pci_bus_add_devices(hose->bus);
-}
-
-/*
- * This interrupt-safe spinlock protects all accesses to PCI
- * configuration space.
- */
-DEFINE_RAW_SPINLOCK(pci_config_lock);
-static DEFINE_MUTEX(pci_scan_mutex);
-
-int register_pci_controller(struct pci_channel *hose)
-{
-	int i;
-
-	for (i = 0; i < hose->nr_resources; i++) {
-		struct resource *res = hose->resources + i;
-
-		if (res->flags & IORESOURCE_DISABLED)
-			continue;
-
-		if (res->flags & IORESOURCE_IO) {
-			if (request_resource(&ioport_resource, res) < 0)
-				goto out;
-		} else {
-			if (request_resource(&iomem_resource, res) < 0)
-				goto out;
-		}
-	}
-
-	*hose_tail = hose;
-	hose_tail = &hose->next;
-
-	/*
-	 * Do not panic here but later - this might happen before console init.
-	 */
-	if (!hose->io_map_base) {
-		pr_warn("registering PCI controller with io_map_base unset\n");
-	}
-
-	/*
-	 * Setup the ERR/PERR and SERR timers, if available.
-	 */
-	pcibios_enable_timers(hose);
-
-	/*
-	 * Scan the bus if it is register after the PCI subsystem
-	 * initialization.
-	 */
-	if (pci_initialized) {
-		mutex_lock(&pci_scan_mutex);
-		pcibios_scanbus(hose);
-		mutex_unlock(&pci_scan_mutex);
-	}
-
-	return 0;
-
-out:
-	for (--i; i >= 0; i--)
-		release_resource(&hose->resources[i]);
-
-	pr_warn("Skipping PCI bus scan due to resource conflict\n");
-	return -1;
-}
-
-static int __init pcibios_init(void)
-{
-	struct pci_channel *hose;
-
-	/* Scan all of the recorded PCI controllers.  */
-	for (hose = hose_head; hose; hose = hose->next)
-		pcibios_scanbus(hose);
-
-	pci_initialized = 1;
-
-	return 0;
-}
-subsys_initcall(pcibios_init);
-
-/*
- * We need to avoid collisions with `mirrored' VGA ports
- * and other strange ISA hardware, so we always want the
- * addresses to be allocated in the 0x000-0x0ff region
- * modulo 0x400.
- */
-resource_size_t pcibios_align_resource(void *data, const struct resource *res,
-				resource_size_t size, resource_size_t align)
-{
-	struct pci_dev *dev = data;
-	struct pci_channel *hose = dev->sysdata;
-	resource_size_t start = res->start;
-
-	if (res->flags & IORESOURCE_IO) {
-		if (start < PCIBIOS_MIN_IO + hose->resources[0].start)
-			start = PCIBIOS_MIN_IO + hose->resources[0].start;
-
-		/*
-                 * Put everything into 0x00-0xff region modulo 0x400.
-		 */
-		if (start & 0x300)
-			start = (start + 0x3ff) & ~0x3ff;
-	}
-
-	return start;
-}
-
-static void __init
-pcibios_bus_report_status_early(struct pci_channel *hose,
-				int top_bus, int current_bus,
-				unsigned int status_mask, int warn)
-{
-	unsigned int pci_devfn;
-	u16 status;
-	int ret;
-
-	for (pci_devfn = 0; pci_devfn < 0xff; pci_devfn++) {
-		if (PCI_FUNC(pci_devfn))
-			continue;
-		ret = early_read_config_word(hose, top_bus, current_bus,
-					     pci_devfn, PCI_STATUS, &status);
-		if (ret != PCIBIOS_SUCCESSFUL)
-			continue;
-		if (status == 0xffff)
-			continue;
-
-		early_write_config_word(hose, top_bus, current_bus,
-					pci_devfn, PCI_STATUS,
-					status & status_mask);
-		if (warn)
-			pr_cont("(%02x:%02x: %04X) ", current_bus, pci_devfn,
-				status);
-	}
-}
-
-/*
- * We can't use pci_find_device() here since we are
- * called from interrupt context.
- */
-static void __ref
-pcibios_bus_report_status(struct pci_bus *bus, unsigned int status_mask,
-			  int warn)
-{
-	struct pci_dev *dev;
-
-	list_for_each_entry(dev, &bus->devices, bus_list) {
-		u16 status;
-
-		/*
-		 * ignore host bridge - we handle
-		 * that separately
-		 */
-		if (dev->bus->number == 0 && dev->devfn == 0)
-			continue;
-
-		pci_read_config_word(dev, PCI_STATUS, &status);
-		if (status == 0xffff)
-			continue;
-
-		if ((status & status_mask) == 0)
-			continue;
-
-		/* clear the status errors */
-		pci_write_config_word(dev, PCI_STATUS, status & status_mask);
-
-		if (warn)
-			pr_cont("(%s: %04X) ", pci_name(dev), status);
-	}
-
-	list_for_each_entry(dev, &bus->devices, bus_list)
-		if (dev->subordinate)
-			pcibios_bus_report_status(dev->subordinate, status_mask, warn);
-}
-
-void __ref pcibios_report_status(unsigned int status_mask, int warn)
-{
-	struct pci_channel *hose;
-
-	for (hose = hose_head; hose; hose = hose->next) {
-		if (unlikely(!hose->bus))
-			pcibios_bus_report_status_early(hose, hose_head->index,
-					hose->index, status_mask, warn);
-		else
-			pcibios_bus_report_status(hose->bus, status_mask, warn);
-	}
-}
-
-#ifndef CONFIG_GENERIC_IOMAP
-
-void __iomem *__pci_ioport_map(struct pci_dev *dev,
-			       unsigned long port, unsigned int nr)
-{
-	struct pci_channel *chan = dev->sysdata;
-
-	if (unlikely(!chan->io_map_base)) {
-		chan->io_map_base = sh_io_port_base;
-
-		if (pci_domains_supported)
-			panic("To avoid data corruption io_map_base MUST be "
-			      "set with multiple PCI domains.");
-	}
-
-	return (void __iomem *)(chan->io_map_base + port);
-}
-
-void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
-{
-	iounmap(addr);
-}
-EXPORT_SYMBOL(pci_iounmap);
-
-#endif /* CONFIG_GENERIC_IOMAP */
-
-EXPORT_SYMBOL(PCIBIOS_MIN_IO);
-EXPORT_SYMBOL(PCIBIOS_MIN_MEM);
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
deleted file mode 100644
index b0c2a5238d0497..00000000000000
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ /dev/null
@@ -1,609 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Low-Level PCI Express Support for the SH7786
- *
- *  Copyright (C) 2009 - 2011  Paul Mundt
- */
-#define pr_fmt(fmt) "PCI: " fmt
-
-#include <linux/pci.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/io.h>
-#include <linux/async.h>
-#include <linux/delay.h>
-#include <linux/dma-map-ops.h>
-#include <linux/slab.h>
-#include <linux/clk.h>
-#include <linux/sh_clk.h>
-#include <linux/sh_intc.h>
-#include <cpu/sh7786.h>
-#include "pcie-sh7786.h"
-#include <linux/sizes.h>
-
-struct sh7786_pcie_port {
-	struct pci_channel	*hose;
-	struct clk		*fclk, phy_clk;
-	unsigned int		index;
-	int			endpoint;
-	int			link;
-};
-
-static struct sh7786_pcie_port *sh7786_pcie_ports;
-static unsigned int nr_ports;
-static unsigned long dma_pfn_offset;
-size_t memsize;
-u64 memstart;
-
-static struct sh7786_pcie_hwops {
-	int (*core_init)(void);
-	async_func_t port_init_hw;
-} *sh7786_pcie_hwops;
-
-static struct resource sh7786_pci0_resources[] = {
-	{
-		.name	= "PCIe0 MEM 0",
-		.start	= 0xfd000000,
-		.end	= 0xfd000000 + SZ_8M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.name	= "PCIe0 MEM 1",
-		.start	= 0xc0000000,
-		.end	= 0xc0000000 + SZ_512M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	}, {
-		.name	= "PCIe0 MEM 2",
-		.start	= 0x10000000,
-		.end	= 0x10000000 + SZ_64M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.name	= "PCIe0 IO",
-		.start	= 0xfe100000,
-		.end	= 0xfe100000 + SZ_1M - 1,
-		.flags	= IORESOURCE_IO,
-	},
-};
-
-static struct resource sh7786_pci1_resources[] = {
-	{
-		.name	= "PCIe1 MEM 0",
-		.start	= 0xfd800000,
-		.end	= 0xfd800000 + SZ_8M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.name	= "PCIe1 MEM 1",
-		.start	= 0xa0000000,
-		.end	= 0xa0000000 + SZ_512M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	}, {
-		.name	= "PCIe1 MEM 2",
-		.start	= 0x30000000,
-		.end	= 0x30000000 + SZ_256M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	}, {
-		.name	= "PCIe1 IO",
-		.start	= 0xfe300000,
-		.end	= 0xfe300000 + SZ_1M - 1,
-		.flags	= IORESOURCE_IO,
-	},
-};
-
-static struct resource sh7786_pci2_resources[] = {
-	{
-		.name	= "PCIe2 MEM 0",
-		.start	= 0xfc800000,
-		.end	= 0xfc800000 + SZ_4M - 1,
-		.flags	= IORESOURCE_MEM,
-	}, {
-		.name	= "PCIe2 MEM 1",
-		.start	= 0x80000000,
-		.end	= 0x80000000 + SZ_512M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	}, {
-		.name	= "PCIe2 MEM 2",
-		.start	= 0x20000000,
-		.end	= 0x20000000 + SZ_256M - 1,
-		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
-	}, {
-		.name	= "PCIe2 IO",
-		.start	= 0xfcd00000,
-		.end	= 0xfcd00000 + SZ_1M - 1,
-		.flags	= IORESOURCE_IO,
-	},
-};
-
-extern struct pci_ops sh7786_pci_ops;
-
-#define DEFINE_CONTROLLER(start, idx)					\
-{									\
-	.pci_ops	= &sh7786_pci_ops,				\
-	.resources	= sh7786_pci##idx##_resources,			\
-	.nr_resources	= ARRAY_SIZE(sh7786_pci##idx##_resources),	\
-	.reg_base	= start,					\
-	.mem_offset	= 0,						\
-	.io_offset	= 0,						\
-}
-
-static struct pci_channel sh7786_pci_channels[] = {
-	DEFINE_CONTROLLER(0xfe000000, 0),
-	DEFINE_CONTROLLER(0xfe200000, 1),
-	DEFINE_CONTROLLER(0xfcc00000, 2),
-};
-
-static struct clk fixed_pciexclkp = {
-	.rate = 100000000,	/* 100 MHz reference clock */
-};
-
-static void sh7786_pci_fixup(struct pci_dev *dev)
-{
-	/*
-	 * Prevent enumeration of root complex resources.
-	 */
-	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
-
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
-		}
-	}
-}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_RENESAS, PCI_DEVICE_ID_RENESAS_SH7786,
-			 sh7786_pci_fixup);
-
-static int __init phy_wait_for_ack(struct pci_channel *chan)
-{
-	unsigned int timeout = 100;
-
-	while (timeout--) {
-		if (pci_read_reg(chan, SH4A_PCIEPHYADRR) & (1 << BITS_ACK))
-			return 0;
-
-		udelay(100);
-	}
-
-	return -ETIMEDOUT;
-}
-
-static int __init pci_wait_for_irq(struct pci_channel *chan, unsigned int mask)
-{
-	unsigned int timeout = 100;
-
-	while (timeout--) {
-		if ((pci_read_reg(chan, SH4A_PCIEINTR) & mask) == mask)
-			return 0;
-
-		udelay(100);
-	}
-
-	return -ETIMEDOUT;
-}
-
-static void __init phy_write_reg(struct pci_channel *chan, unsigned int addr,
-				 unsigned int lane, unsigned int data)
-{
-	unsigned long phyaddr;
-
-	phyaddr = (1 << BITS_CMD) + ((lane & 0xf) << BITS_LANE) +
-			((addr & 0xff) << BITS_ADR);
-
-	/* Set write data */
-	pci_write_reg(chan, data, SH4A_PCIEPHYDOUTR);
-	pci_write_reg(chan, phyaddr, SH4A_PCIEPHYADRR);
-
-	phy_wait_for_ack(chan);
-
-	/* Clear command */
-	pci_write_reg(chan, 0, SH4A_PCIEPHYDOUTR);
-	pci_write_reg(chan, 0, SH4A_PCIEPHYADRR);
-
-	phy_wait_for_ack(chan);
-}
-
-static int __init pcie_clk_init(struct sh7786_pcie_port *port)
-{
-	struct pci_channel *chan = port->hose;
-	struct clk *clk;
-	char fclk_name[16];
-	int ret;
-
-	/*
-	 * First register the fixed clock
-	 */
-	ret = clk_register(&fixed_pciexclkp);
-	if (unlikely(ret != 0))
-		return ret;
-
-	/*
-	 * Grab the port's function clock, which the PHY clock depends
-	 * on. clock lookups don't help us much at this point, since no
-	 * dev_id is available this early. Lame.
-	 */
-	snprintf(fclk_name, sizeof(fclk_name), "pcie%d_fck", port->index);
-
-	port->fclk = clk_get(NULL, fclk_name);
-	if (IS_ERR(port->fclk)) {
-		ret = PTR_ERR(port->fclk);
-		goto err_fclk;
-	}
-
-	clk_enable(port->fclk);
-
-	/*
-	 * And now, set up the PHY clock
-	 */
-	clk = &port->phy_clk;
-
-	memset(clk, 0, sizeof(struct clk));
-
-	clk->parent = &fixed_pciexclkp;
-	clk->enable_reg = (void __iomem *)(chan->reg_base + SH4A_PCIEPHYCTLR);
-	clk->enable_bit = BITS_CKE;
-
-	ret = sh_clk_mstp_register(clk, 1);
-	if (unlikely(ret < 0))
-		goto err_phy;
-
-	return 0;
-
-err_phy:
-	clk_disable(port->fclk);
-	clk_put(port->fclk);
-err_fclk:
-	clk_unregister(&fixed_pciexclkp);
-
-	return ret;
-}
-
-static int __init phy_init(struct sh7786_pcie_port *port)
-{
-	struct pci_channel *chan = port->hose;
-	unsigned int timeout = 100;
-
-	clk_enable(&port->phy_clk);
-
-	/* Initialize the phy */
-	phy_write_reg(chan, 0x60, 0xf, 0x004b008b);
-	phy_write_reg(chan, 0x61, 0xf, 0x00007b41);
-	phy_write_reg(chan, 0x64, 0xf, 0x00ff4f00);
-	phy_write_reg(chan, 0x65, 0xf, 0x09070907);
-	phy_write_reg(chan, 0x66, 0xf, 0x00000010);
-	phy_write_reg(chan, 0x74, 0xf, 0x0007001c);
-	phy_write_reg(chan, 0x79, 0xf, 0x01fc000d);
-	phy_write_reg(chan, 0xb0, 0xf, 0x00000610);
-
-	/* Deassert Standby */
-	phy_write_reg(chan, 0x67, 0x1, 0x00000400);
-
-	/* Disable clock */
-	clk_disable(&port->phy_clk);
-
-	while (timeout--) {
-		if (pci_read_reg(chan, SH4A_PCIEPHYSR))
-			return 0;
-
-		udelay(100);
-	}
-
-	return -ETIMEDOUT;
-}
-
-static void __init pcie_reset(struct sh7786_pcie_port *port)
-{
-	struct pci_channel *chan = port->hose;
-
-	pci_write_reg(chan, 1, SH4A_PCIESRSTR);
-	pci_write_reg(chan, 0, SH4A_PCIETCTLR);
-	pci_write_reg(chan, 0, SH4A_PCIESRSTR);
-	pci_write_reg(chan, 0, SH4A_PCIETXVC0SR);
-}
-
-static int __init pcie_init(struct sh7786_pcie_port *port)
-{
-	struct pci_channel *chan = port->hose;
-	unsigned int data;
-	phys_addr_t memstart, memend;
-	int ret, i, win;
-
-	/* Begin initialization */
-	pcie_reset(port);
-
-	/*
-	 * Initial header for port config space is type 1, set the device
-	 * class to match. Hardware takes care of propagating the IDSETR
-	 * settings, so there is no need to bother with a quirk.
-	 */
-	pci_write_reg(chan, PCI_CLASS_BRIDGE_PCI_NORMAL << 8, SH4A_PCIEIDSETR1);
-
-	/* Initialize default capabilities. */
-	data = pci_read_reg(chan, SH4A_PCIEEXPCAP0);
-	data &= ~(PCI_EXP_FLAGS_TYPE << 16);
-
-	if (port->endpoint)
-		data |= PCI_EXP_TYPE_ENDPOINT << 20;
-	else
-		data |= PCI_EXP_TYPE_ROOT_PORT << 20;
-
-	data |= PCI_CAP_ID_EXP;
-	pci_write_reg(chan, data, SH4A_PCIEEXPCAP0);
-
-	/* Enable data link layer active state reporting */
-	pci_write_reg(chan, PCI_EXP_LNKCAP_DLLLARC, SH4A_PCIEEXPCAP3);
-
-	/* Enable extended sync and ASPM L0s support */
-	data = pci_read_reg(chan, SH4A_PCIEEXPCAP4);
-	data &= ~PCI_EXP_LNKCTL_ASPMC;
-	data |= PCI_EXP_LNKCTL_ES | 1;
-	pci_write_reg(chan, data, SH4A_PCIEEXPCAP4);
-
-	/* Write out the physical slot number */
-	data = pci_read_reg(chan, SH4A_PCIEEXPCAP5);
-	data &= ~PCI_EXP_SLTCAP_PSN;
-	data |= (port->index + 1) << 19;
-	pci_write_reg(chan, data, SH4A_PCIEEXPCAP5);
-
-	/* Set the completion timer timeout to the maximum 32ms. */
-	data = pci_read_reg(chan, SH4A_PCIETLCTLR);
-	data &= ~0x3f00;
-	data |= 0x32 << 8;
-	pci_write_reg(chan, data, SH4A_PCIETLCTLR);
-
-	/*
-	 * Set fast training sequences to the maximum 255,
-	 * and enable MAC data scrambling.
-	 */
-	data = pci_read_reg(chan, SH4A_PCIEMACCTLR);
-	data &= ~PCIEMACCTLR_SCR_DIS;
-	data |= (0xff << 16);
-	pci_write_reg(chan, data, SH4A_PCIEMACCTLR);
-
-	memstart = __pa(memory_start);
-	memend   = __pa(memory_end);
-	memsize = roundup_pow_of_two(memend - memstart);
-
-	/*
-	 * The start address must be aligned on its size. So we round
-	 * it down, and then recalculate the size so that it covers
-	 * the entire memory.
-	 */
-	memstart = ALIGN_DOWN(memstart, memsize);
-	memsize = roundup_pow_of_two(memend - memstart);
-
-	/*
-	 * If there's more than 512MB of memory, we need to roll over to
-	 * LAR1/LAMR1.
-	 */
-	if (memsize > SZ_512M) {
-		pci_write_reg(chan, memstart + SZ_512M, SH4A_PCIELAR1);
-		pci_write_reg(chan, ((memsize - SZ_512M) - SZ_256) | 1,
-			      SH4A_PCIELAMR1);
-		memsize = SZ_512M;
-	} else {
-		/*
-		 * Otherwise just zero it out and disable it.
-		 */
-		pci_write_reg(chan, 0, SH4A_PCIELAR1);
-		pci_write_reg(chan, 0, SH4A_PCIELAMR1);
-	}
-
-	/*
-	 * LAR0/LAMR0 covers up to the first 512MB, which is enough to
-	 * cover all of lowmem on most platforms.
-	 */
-	pci_write_reg(chan, memstart, SH4A_PCIELAR0);
-	pci_write_reg(chan, (memsize - SZ_256) | 1, SH4A_PCIELAMR0);
-
-	/* Finish initialization */
-	data = pci_read_reg(chan, SH4A_PCIETCTLR);
-	data |= 0x1;
-	pci_write_reg(chan, data, SH4A_PCIETCTLR);
-
-	/* Let things settle down a bit.. */
-	mdelay(100);
-
-	/* Enable DL_Active Interrupt generation */
-	data = pci_read_reg(chan, SH4A_PCIEDLINTENR);
-	data |= PCIEDLINTENR_DLL_ACT_ENABLE;
-	pci_write_reg(chan, data, SH4A_PCIEDLINTENR);
-
-	/* Disable MAC data scrambling. */
-	data = pci_read_reg(chan, SH4A_PCIEMACCTLR);
-	data |= PCIEMACCTLR_SCR_DIS | (0xff << 16);
-	pci_write_reg(chan, data, SH4A_PCIEMACCTLR);
-
-	/*
-	 * This will timeout if we don't have a link, but we permit the
-	 * port to register anyways in order to support hotplug on future
-	 * hardware.
-	 */
-	ret = pci_wait_for_irq(chan, MASK_INT_TX_CTRL);
-
-	data = pci_read_reg(chan, SH4A_PCIEPCICONF1);
-	data &= ~(PCI_STATUS_DEVSEL_MASK << 16);
-	data |= PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER |
-		(PCI_STATUS_CAP_LIST | PCI_STATUS_DEVSEL_FAST) << 16;
-	pci_write_reg(chan, data, SH4A_PCIEPCICONF1);
-
-	pci_write_reg(chan, 0x80888000, SH4A_PCIETXVC0DCTLR);
-	pci_write_reg(chan, 0x00222000, SH4A_PCIERXVC0DCTLR);
-
-	wmb();
-
-	if (ret == 0) {
-		data = pci_read_reg(chan, SH4A_PCIEMACSR);
-		printk(KERN_NOTICE "PCI: PCIe#%d x%d link detected\n",
-		       port->index, (data >> 20) & 0x3f);
-	} else
-		printk(KERN_NOTICE "PCI: PCIe#%d link down\n",
-		       port->index);
-
-	for (i = win = 0; i < chan->nr_resources; i++) {
-		struct resource *res = chan->resources + i;
-		resource_size_t size;
-		u32 mask;
-
-		/*
-		 * We can't use the 32-bit mode windows in legacy 29-bit
-		 * mode, so just skip them entirely.
-		 */
-		if ((res->flags & IORESOURCE_MEM_32BIT) && __in_29bit_mode())
-			res->flags |= IORESOURCE_DISABLED;
-
-		if (res->flags & IORESOURCE_DISABLED)
-			continue;
-
-		pci_write_reg(chan, 0x00000000, SH4A_PCIEPTCTLR(win));
-
-		/*
-		 * The PAMR mask is calculated in units of 256kB, which
-		 * keeps things pretty simple.
-		 */
-		size = resource_size(res);
-		mask = (roundup_pow_of_two(size) / SZ_256K) - 1;
-		pci_write_reg(chan, mask << 18, SH4A_PCIEPAMR(win));
-
-		pci_write_reg(chan, upper_32_bits(res->start),
-			      SH4A_PCIEPARH(win));
-		pci_write_reg(chan, lower_32_bits(res->start),
-			      SH4A_PCIEPARL(win));
-
-		mask = MASK_PARE;
-		if (res->flags & IORESOURCE_IO)
-			mask |= MASK_SPC;
-
-		pci_write_reg(chan, mask, SH4A_PCIEPTCTLR(win));
-
-		win++;
-	}
-
-	return 0;
-}
-
-int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
-{
-        return evt2irq(0xae0);
-}
-
-void pcibios_bus_add_device(struct pci_dev *pdev)
-{
-	dma_direct_set_offset(&pdev->dev, __pa(memory_start),
-			      __pa(memory_start) - memstart, memsize);
-}
-
-static int __init sh7786_pcie_core_init(void)
-{
-	/* Return the number of ports */
-	return test_mode_pin(MODE_PIN12) ? 3 : 2;
-}
-
-static void __init sh7786_pcie_init_hw(void *data, async_cookie_t cookie)
-{
-	struct sh7786_pcie_port *port = data;
-	int ret;
-
-	/*
-	 * Check if we are configured in endpoint or root complex mode,
-	 * this is a fixed pin setting that applies to all PCIe ports.
-	 */
-	port->endpoint = test_mode_pin(MODE_PIN11);
-
-	/*
-	 * Setup clocks, needed both for PHY and PCIe registers.
-	 */
-	ret = pcie_clk_init(port);
-	if (unlikely(ret < 0)) {
-		pr_err("clock initialization failed for port#%d\n",
-		       port->index);
-		return;
-	}
-
-	ret = phy_init(port);
-	if (unlikely(ret < 0)) {
-		pr_err("phy initialization failed for port#%d\n",
-		       port->index);
-		return;
-	}
-
-	ret = pcie_init(port);
-	if (unlikely(ret < 0)) {
-		pr_err("core initialization failed for port#%d\n",
-			       port->index);
-		return;
-	}
-
-	/* In the interest of preserving device ordering, synchronize */
-	async_synchronize_cookie(cookie);
-
-	register_pci_controller(port->hose);
-}
-
-static struct sh7786_pcie_hwops sh7786_65nm_pcie_hwops __initdata = {
-	.core_init	= sh7786_pcie_core_init,
-	.port_init_hw	= sh7786_pcie_init_hw,
-};
-
-static int __init sh7786_pcie_init(void)
-{
-	struct clk *platclk;
-	u32 mm_sel;
-	int i;
-
-	printk(KERN_NOTICE "PCI: Starting initialization.\n");
-
-	sh7786_pcie_hwops = &sh7786_65nm_pcie_hwops;
-
-	nr_ports = sh7786_pcie_hwops->core_init();
-	BUG_ON(nr_ports > ARRAY_SIZE(sh7786_pci_channels));
-
-	if (unlikely(nr_ports == 0))
-		return -ENODEV;
-
-	sh7786_pcie_ports = kcalloc(nr_ports, sizeof(struct sh7786_pcie_port),
-				    GFP_KERNEL);
-	if (unlikely(!sh7786_pcie_ports))
-		return -ENOMEM;
-
-	/*
-	 * Fetch any optional platform clock associated with this block.
-	 *
-	 * This is a rather nasty hack for boards with spec-mocking FPGAs
-	 * that have a secondary set of clocks outside of the on-chip
-	 * ones that need to be accounted for before there is any chance
-	 * of touching the existing MSTP bits or CPG clocks.
-	 */
-	platclk = clk_get(NULL, "pcie_plat_clk");
-	if (IS_ERR(platclk)) {
-		/* Sane hardware should probably get a WARN_ON.. */
-		platclk = NULL;
-	}
-
-	clk_enable(platclk);
-
-	mm_sel = sh7786_mm_sel();
-
-	/*
-	 * Depending on the MMSELR register value, the PCIe0 MEM 1
-	 * area may not be available. See Table 13.11 of the SH7786
-	 * datasheet.
-	 */
-	if (mm_sel != 1 && mm_sel != 2 && mm_sel != 5 && mm_sel != 6)
-		sh7786_pci0_resources[2].flags |= IORESOURCE_DISABLED;
-
-	printk(KERN_NOTICE "PCI: probing %d ports.\n", nr_ports);
-
-	for (i = 0; i < nr_ports; i++) {
-		struct sh7786_pcie_port *port = sh7786_pcie_ports + i;
-
-		port->index		= i;
-		port->hose		= sh7786_pci_channels + i;
-		port->hose->io_map_base	= port->hose->resources[0].start;
-
-		async_schedule(sh7786_pcie_hwops->port_init_hw, port);
-	}
-
-	async_synchronize_full();
-
-	return 0;
-}
-arch_initcall(sh7786_pcie_init);
diff --git a/arch/sh/drivers/pci/pcie-sh7786.h b/arch/sh/drivers/pci/pcie-sh7786.h
deleted file mode 100644
index ffe383681a0bd2..00000000000000
--- a/arch/sh/drivers/pci/pcie-sh7786.h
+++ /dev/null
@@ -1,577 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * SH7786 PCI-Express controller definitions.
- *
- * Copyright (C) 2008, 2009 Renesas Technology Corp.
- * All rights reserved.
- */
-#ifndef __PCI_SH7786_H
-#define __PCI_SH7786_H
-
-/* PCIe bus-0(x4) on SH7786 */			// Rev1.171
-#define SH4A_PCIE_SPW_BASE	0xFE000000	/* spw config address for controller 0 */
-#define SH4A_PCIE_SPW_BASE1	0xFE200000	/* spw config address for controller 1 (Rev1.14)*/
-#define SH4A_PCIE_SPW_BASE2	0xFCC00000	/* spw config address for controller 2 (Rev1.171)*/
-#define SH4A_PCIE_SPW_BASE_LEN	0x00080000
-
-#define SH4A_PCI_CNFG_BASE	0xFE040000	/* pci config address for controller 0 */
-#define SH4A_PCI_CNFG_BASE1	0xFE240000	/* pci config address for controller 1 (Rev1.14)*/
-#define SH4A_PCI_CNFG_BASE2	0xFCC40000	/* pci config address for controller 2 (Rev1.171)*/
-#define SH4A_PCI_CNFG_BASE_LEN	0x00040000
-
-#define SH4A_PCIPIO_ADDR_OFFSET	0x000001c0	/* offset to pci config_address */
-#define SH4A_PCIPIO_DATA_OFFSET	0x00000220	/* offset to pci config_data */
-
-/*
- * for PEX8111(Max Payload Size=128B,PCIIO_SIZE=64K),
- * for other(Max Payload Size=4096B,PCIIO_SIZE=8M)
- */
-
-/* PCI0: PCI memory target transfer 32-bit address translation value(Rev1.11T)*/
-#define SH4A_PCIBMSTR_TRANSLATION	0x20000000
-
-/*	SPVCR0		*/
-#define	SH4A_PCIEVCR0		(0x000000)	/* R - 0x0000 0000 32 */
-#define		BITS_TOP_MB	(24)
-#define		MASK_TOP_MB	(0xff<<BITS_TOP_MB)
-#define		BITS_BOT_MB	(16)
-#define		MASK_BOT_MB	(0xff<<BITS_BOT_MB)
-#define		BITS_VC_ID	(0)
-#define		MASK_VC_ID	(0xffff<<BITS_VC_ID)
-
-/*	SPVCR1		*/
-#define	SH4A_PCIEVCR1		(0x000004)	/* R - 0x0000 0000 32*/
-#define		BITS_BADOPC	(5)		/* 5 BADOPC 0 R/W */
-#define		MASK_BADOPC	(1<<BITS_BADOPC)
-#define		BITS_BADDEST	(4)		/*4 BADDEST 0 R/W  */
-#define		MASK_BADDEST	(1<<BITS_BADDEST)
-#define		BITS_UNSOLRESP	(3)		/* 3 UNSOLRESP 0 R/W  */
-#define		MASK_UNSOLRESP	(1<<BITS_UNSOLRESP)
-#define		BITS_ERRSNT	(1)		/* 1 ERRSNT 0 */
-#define		MASK_ERRSNT	(1<<BITS_ERRSNT)
-#define		BITS_ERRRCV	(0)		/* 0 ERRRCV 0 */
-#define		MASK_ERRRCV	(1<<BITS_ERRRCV)
-
-/*	PCIEENBLR	 */
-#define	SH4A_PCIEENBLR		(0x000008)	/* R/W - 0x0000 0001 32 */
-
-/*	PCIEECR		*/
-#define	SH4A_PCIEECR		(0x00000C)	/* R/W - 0x0000 0000 32 */
-#define		BITS_ENBL	(0)	/* 0 ENBL 0 R/W */
-#define		MASK_ENBL	(1<<BITS_ENBL)
-
-/*	PCIEPAR		*/
-#define	SH4A_PCIEPAR		(0x000010)	/* R/W - 0x0000 0000 32 */
-#define		BITS_BN		(24)
-#define		MASK_BN		(0xff<<BITS_BN)
-#define		BITS_DN		(19)
-#define		MASK_DN		(0x1f<<BITS_DN)
-#define		BITS_FN		(16)
-#define		MASK_FN		(0x7<<BITS_FN)
-#define		BITS_EREGNO	(8)
-#define		MASK_EREGNO	(0xff<<BITS_EREGNO)
-#define		BITS_REGNO	(2)
-#define		MASK_REGNO	(0x3f<<BITS_REGNO)
-
-/*	PCIEPCTLR	*/
-#define	SH4A_PCIEPCTLR		(0x000018)	/* R/W - 0x0000 0000 32 */
-#define		BITS_CCIE	(31)	/*  31 CCIE */
-#define		MASK_CCIE	(1<<BITS_CCIE)
-#define		BITS_TYPE	(8)
-#define		MASK_TYPE	(1<<BITS_TYPE)
-#define		BITS_C_VC	(0)
-#define		MASK_C_VC	(1<<BITS_C_VC)
-
-/*	PCIEPDR		*/
-#define	SH4A_PCIEPDR		(0x000020)	/* R/W - 0x0000 0000 32 */
-#define		BITS_PDR	(0)
-#define		MASK_PDR	(0xffffffff<<BITS_PDR)
-
-/*	PCIEMSGALR	*/
-#define	SH4A_PCIEMSGALR		(0x000030)	/* R/W - 0x0000 0000 32 */
-#define		BITS_MSGADRL	(0)
-#define		MASK_MSGADRL	(0xffffffff<<BITS_MSGADRL)
-
-/*	PCIEMSGAHR	*/
-#define	SH4A_PCIEMSGAHR		(0x000034)	/* R/W - 0x0000 0000 32 */
-#define		BITS_MSGADRH	(0)
-#define		MASK_MSGADRH	(0xffffffff<<BITS_MSGADRH)
-
-/*	PCIEMSGCTLR	*/
-#define	SH4A_PCIEMSGCTLR	(0x000038)	/* R/W - 0x0000 0000 32 */
-#define		BITS_MSGIE	(31)
-#define		MASK_MSGIE	(1<<BITS_MSGIE)
-#define		BITS_MROUTE	(16)
-#define		MASK_MROUTE	(0x7<<BITS_MROUTE)
-#define		BITS_MCODE	(8)
-#define		MASK_MCODE	(0xff<<BITS_MCODE)
-#define		BITS_M_VC	(0)
-#define		MASK_M_VC	(1<<BITS_M_VC)
-
-/*	PCIEMSG		*/
-#define	SH4A_PCIEMSG		(0x000040)	/* W - - 32	*/
-#define		BITS_MDATA	(0)
-#define		MASK_MDATA	(0xffffffff<<BITS_MDATA)
-
-/*	PCIEUNLOCKCR	*/
-#define	SH4A_PCIEUNLOCKCR	(0x000048)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEIDR		*/
-#define	SH4A_PCIEIDR		(0x000060)	/* R/W - 0x0101 1101 32 */
-
-/*	PCIEDBGCTLR	*/
-#define	SH4A_PCIEDBGCTLR	(0x000100)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEINTXR	*/
-#define	SH4A_PCIEINTXR		(0x004000)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIERMSGR	*/
-#define	SH4A_PCIERMSGR		(0x004010)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIERSTR	*/
-#define SH4A_PCIERSTR(x)	(0x008000 + ((x) * 0x4)) /* R/W - 0x0000 0000 32 */
-
-/*	PCIESRSTR	 */
-#define SH4A_PCIESRSTR		(0x008040)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEPHYCTLR	*/
-#define	SH4A_PCIEPHYCTLR	(0x010000)	/* R/W - 0x0000 0000 32 */
-#define		BITS_CKE	(0)
-#define		MASK_CKE	(1<<BITS_CKE)
-
-/*	PCIERMSGIER	*/
-#define	SH4A_PCIERMSGIER	(0x004040)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEPHYADRR	*/
-#define	SH4A_PCIEPHYADRR	(0x010004)	/* R/W - 0x0000 0000 32 */
-#define		BITS_ACK	(24)			// Rev1.171
-#define		MASK_ACK	(1<<BITS_ACK)		// Rev1.171
-#define		BITS_CMD	(16)			// Rev1.171
-#define		MASK_CMD	(0x03<<BITS_CMD)	// Rev1.171
-#define		BITS_LANE	(8)
-#define		MASK_LANE	(0x0f<<BITS_LANE)
-#define		BITS_ADR	(0)
-#define		MASK_ADR	(0xff<<BITS_ADR)
-
-/*	PCIEPHYDINR	*/							// Rev1.171 start.
-#define	SH4A_PCIEPHYDINR	(0x010008)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEPHYDOUTR	*/
-#define	SH4A_PCIEPHYDOUTR	(0x01000C)	/* R/W - 0x0000 0000 32 */
-
-/*	PCIEPHYSR	*/
-#define	SH4A_PCIEPHYSR		(0x010010)	/* R/W - 0x0000 0000 32 */	// Rev1.171 end.
-
-/*	PCIEPHYDATAR	*/
-#define	SH4A_PCIEPHYDATAR	(0x00008)	/* R/W - 0xxxxx xxxx 32 */
-#define		BITS_DATA	(0)
-#define		MASK_DATA	(0xffffffff<<BITS_DATA)
-
-/*	PCIETCTLR	*/
-#define	SH4A_PCIETCTLR		(0x020000)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_CFINT	(0)
-#define		MASK_CFINT	(1<<BITS_CFINT)
-
-/*	PCIETSTR	*/
-#define	SH4A_PCIETSTR		(0x020004)	/* R 0x0000 0000 32  */
-
-/*	PCIEINTR	*/
-#define	SH4A_PCIEINTR		(0x020008)	/* R/W R/W 0x0000 0000 32  */
-#define		BITS_INT_RX_ERP			(31)
-#define		MASK_INT_RX_ERP			(1<<BITS_INT_RX_ERP)
-#define		BITS_INT_RX_VCX_Posted		(30)
-#define		MASK_INT_RX_VCX_Posted		(1<<BITS_INT_RX_VCX_Posted)
-#define		BITS_INT_RX_VCX_NonPosted	(29)
-#define		MASK_INT_RX_VCX_NonPosted	(1<<BITS_INT_RX_VCX_NonPosted)
-#define		BITS_INT_RX_VCX_CPL		(28)
-#define		MASK_INT_RX_VCX_CPL		(1<<BITS_INT_RX_VCX_CPL)
-#define		BITS_INT_TX_VCX_Posted		(26)
-#define		MASK_INT_TX_VCX_Posted		(1<<BITS_INT_TX_VCX_Posted)
-#define		BITS_INT_TX_VCX_NonPosted	(25)
-#define		MASK_INT_TX_VCX_NonPosted	(1<<BITS_INT_TX_VCX_NonPosted)
-#define		BITS_INT_TX_VCX_CPL		(24)
-#define		MASK_INT_TX_VCX_CPL		(1<<BITS_INT_TX_VCX_CPL)
-#define		BITS_INT_RX_VC0_Posted		(22)
-#define		MASK_INT_RX_VC0_Posted		(1<<BITS_INT_RX_VC0_Posted)
-#define		BITS_INT_RX_VC0_NonPosted	(21)
-#define		MASK_INT_RX_VC0_NonPosted	(1<<BITS_INT_RX_VC0_NonPosted)
-#define		BITS_INT_RX_VC0_CPL		(20)
-#define		MASK_INT_RX_VC0_CPL		(1<<BITS_INT_RX_VC0_CPL)
-#define		BITS_INT_TX_VC0_Posted		(18)
-#define		MASK_INT_TX_VC0_Posted		(1<<BITS_INT_TX_VC0_Posted)
-#define		BITS_INT_TX_VC0_NonPosted	(17)
-#define		MASK_INT_TX_VC0_NonPosted	(1<<BITS_INT_TX_VC0_NonPosted)
-#define		BITS_INT_TX_VC0_CPL		(16)
-#define		MASK_INT_TX_VC0_CPL		(1<<BITS_INT_TX_VC0_CPL)
-#define		BITS_INT_RX_CTRL		(15)
-#define		MASK_INT_RX_CTRL		(1<<BITS_INT_RX_CTRL)
-#define		BITS_INT_TX_CTRL		(14)
-#define		MASK_INT_TX_CTRL		(1<<BITS_INT_TX_CTRL)
-#define		BITS_INTTL			(11)
-#define		MASK_INTTL			(1<<BITS_INTTL)
-#define		BITS_INTDL			(10)
-#define		MASK_INTDL			(1<<BITS_INTDL)
-#define		BITS_INTMAC			(9)
-#define		MASK_INTMAC			(1<<BITS_INTMAC)
-#define		BITS_INTPM			(8)
-#define		MASK_INTPM			(1<<BITS_INTPM)
-
-/*	PCIEINTER	*/
-#define	SH4A_PCIEINTER		(0x02000C)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_INT_RX_ERP			(31)
-#define		MASK_INT_RX_ERP			(1<<BITS_INT_RX_ERP)
-#define		BITS_INT_RX_VCX_Posted		(30)
-#define		MASK_INT_RX_VCX_Posted		(1<<BITS_INT_RX_VCX_Posted)
-#define		BITS_INT_RX_VCX_NonPosted	(29)
-#define		MASK_INT_RX_VCX_NonPosted	(1<<BITS_INT_RX_VCX_NonPosted)
-#define		BITS_INT_RX_VCX_CPL		(28)
-#define		MASK_INT_RX_VCX_CPL		(1<<BITS_INT_RX_VCX_CPL)
-#define		BITS_INT_TX_VCX_Posted		(26)
-#define		MASK_INT_TX_VCX_Posted		(1<<BITS_INT_TX_VCX_Posted)
-#define		BITS_INT_TX_VCX_NonPosted	(25)
-#define		MASK_INT_TX_VCX_NonPosted	(1<<BITS_INT_TX_VCX_NonPosted)
-#define		BITS_INT_TX_VCX_CPL		(24)
-#define		MASK_INT_TX_VCX_CPL		(1<<BITS_INT_TX_VCX_CPL)
-#define		BITS_INT_RX_VC0_Posted		(22)
-#define		MASK_INT_RX_VC0_Posted		(1<<BITS_INT_RX_VC0_Posted)
-#define		BITS_INT_RX_VC0_NonPosted	(21)
-#define		MASK_INT_RX_VC0_NonPosted	(1<<BITS_INT_RX_VC0_NonPosted)
-#define		BITS_INT_RX_VC0_CPL		(20)
-#define		MASK_INT_RX_VC0_CPL		(1<<BITS_INT_RX_VC0_CPL)
-#define		BITS_INT_TX_VC0_Posted		(18)
-#define		MASK_INT_TX_VC0_Posted		(1<<BITS_INT_TX_VC0_Posted)
-#define		BITS_INT_TX_VC0_NonPosted	(17)
-#define		MASK_INT_TX_VC0_NonPosted	(1<<BITS_INT_TX_VC0_NonPosted)
-#define		BITS_INT_TX_VC0_CPL		(16)
-#define		MASK_INT_TX_VC0_CPL		(1<<BITS_INT_TX_VC0_CPL)
-#define		BITS_INT_RX_CTRL		(15)
-#define		MASK_INT_RX_CTRL		(1<<BITS_INT_RX_CTRL)
-#define		BITS_INT_TX_CTRL		(14)
-#define		MASK_INT_TX_CTRL		(1<<BITS_INT_TX_CTRL)
-#define		BITS_INTTL			(11)
-#define		MASK_INTTL			(1<<BITS_INTTL)
-#define		BITS_INTDL			(10)
-#define		MASK_INTDL			(1<<BITS_INTDL)
-#define		BITS_INTMAC			(9)
-#define		MASK_INTMAC			(1<<BITS_INTMAC)
-#define		BITS_INTPM			(8)
-#define		MASK_INTPM			(1<<BITS_INTPM)
-
-/*	PCIEEH0R	*/
-#define SH4A_PCIEEHR(x)		(0x020010 + ((x) * 0x4)) /* R - 0x0000 0000 32 */
-
-/*	PCIEAIR	 */
-#define	SH4A_PCIEAIR		(SH4A_PCIE_BASE + 0x020010)	/* R/W R/W 0xxxxx xxxx 32 */
-
-/*	 PCIECIR	 */
-#define	SH4A_PCIECIR		(SH4A_PCIE_BASE)	/* R/W R/W 0xxxxx xxxx 32 */
-
-/*	 PCIEERRFR	 */								// Rev1.18
-#define	SH4A_PCIEERRFR		(0x020020)		/* R/W R/W 0xxxxx xxxx 32 */	// Rev1.18
-
-/*	PCIEERRFER	*/
-#define SH4A_PCIEERRFER		(0x020024)		/* R/W R/W 0x0000 0000 32 */
-
-/*	PCIEERRFR2	*/
-#define SH4A_PCIEERRFR2		(0x020028)		/* R/W R/W 0x0000 0000 32 */
-
-/*	PCIEMSIR	*/
-#define SH4A_PCIEMSIR		(0x020040)		/* R/W - 0x0000 0000 32 */
-
-/*	PCIEMSIFR	*/
-#define SH4A_PCIEMSIFR		(0x020044)		/* R/W R/W 0x0000 0000 32 */
-
-/*	PCIEPWRCTLR	*/
-#define SH4A_PCIEPWRCTLR	(0x020100)		/* R/W - 0x0000 0000 32 */
-
-/*	PCIEPCCTLR	*/
-#define SH4A_PCIEPCCTLR		(0x020180)		/* R/W - 0x0000 0000 32 */
-
-											// Rev1.18
-/*	PCIELAR0	*/
-#define	SH4A_PCIELAR0		(0x020200)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_LARn	(20)
-#define		MASK_LARn	(0xfff<<BITS_LARn)
-
-#define	SH4A_PCIE_020204	(0x020204)	/* R/W R/W 0x0000 0000 32 */
-
-/*	PCIELAMR0	*/
-#define	SH4A_PCIELAMR0		(0x020208)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_LAMRn	(20)
-#define		MASK_LAMRn	(0x1ff<<BITS_LAMRn)
-#define		BITS_LAREn	(0)
-#define		MASK_LAREn	(0x1<<BITS_LAREn)
-
-/*	PCIECSCR0	*/
-#define	SH4A_PCIECSCR0		(0x020210)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_RANGE	(2)
-#define		MASK_RANGE	(0x7<<BITS_RANGE)
-#define		BITS_SNPMD	(0)
-#define		MASK_SNPMD	(0x3<<BITS_SNPMD)
-
-/*	PCIECSAR0	*/
-#define	SH4A_PCIECSAR0		(0x020214)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_CSADR	(0)
-#define		MASK_CSADR	(0xffffffff<<BITS_CSADR)
-
-/*	PCIESTCTLR0	*/
-#define	SH4A_PCIESTCTLR0	(0x020218)	/* R/W R/W 0x0000 0000 32 */
-#define		BITS_SHPRI	(8)
-#define		MASK_SHPRI	(0x0f<<BITS_SHPRI)
-
-#define	SH4A_PCIE_020224	(0x020224)	/* R/W R/W 0x0000 0000 32 */
-
-#define	SH4A_PCIELAR1		(0x020220)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIELAMR1		(0x020228)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSCR1		(0x020230)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSAR1		(0x020234)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIESTCTLR1	(0x020238)	/* R/W R/W 0x0000 0000 32 */
-
-#define	SH4A_PCIELAR2		(0x020240)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIE_020244	(0x020244)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIELAMR2		(0x020248)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSCR2		(0x020250)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSAR2		(0x020254)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIESTCTLR2	(0x020258)	/* R/W R/W 0x0000 0000 32 */
-
-#define	SH4A_PCIELAR3		(0x020260)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIE_020264	(0x020264)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIELAMR3		(0x020268)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSCR3		(0x020270)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSAR3		(0x020274)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIESTCTLR3	(0x020278)	/* R/W R/W 0x0000 0000 32 */
-
-#define	SH4A_PCIELAR4		(0x020280)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIE_020284	(0x020284)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIELAMR4		(0x020288)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSCR4		(0x020290)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSAR4		(0x020294)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIESTCTLR4	(0x020298)	/* R/W R/W 0x0000 0000 32 */
-
-#define	SH4A_PCIELAR5		(0x0202A0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIE_0202A4	(0x0202A4)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIELAMR5		(0x0202A8)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSCR5		(0x0202B0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIECSAR5		(0x0202B4)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIESTCTLR5	(0x0202B8)	/* R/W R/W 0x0000 0000 32 */
-
-/*	PCIEPARL	*/
-#define	SH4A_PCIEPARL(x)	(0x020400 + ((x) * 0x20)) /* R/W R/W 0x0000 0000 32 */
-#define		BITS_PAL	(18)
-#define		MASK_PAL	(0x3fff<<BITS_PAL)
-
-/*	PCIEPARH	*/
-#define	SH4A_PCIEPARH(x)	(0x020404 + ((x) * 0x20)) /* R/W R/W 0x0000 0000 32 */
-#define		BITS_PAH	(0)
-#define		MASK_PAH	(0xffffffff<<BITS_PAH)
-
-/*	PCIEPAMR	 */
-#define	SH4A_PCIEPAMR(x)	(0x020408 + ((x) * 0x20)) /* R/W R/W 0x0000 0000 32 */
-#define		BITS_PAM	(18)
-#define		MASK_PAM	(0x3fff<<BITS_PAM)
-
-/*	PCIEPTCTLR	*/
-#define SH4A_PCIEPTCTLR(x)	(0x02040C + ((x) * 0x20))
-#define		BITS_PARE	(31)
-#define		MASK_PARE	(0x1<<BITS_PARE)
-#define		BITS_TC		(20)
-#define		MASK_TC		(0x7<<BITS_TC)
-#define		BITS_T_VC	(16)
-#define		MASK_T_VC	(0x1<<BITS_T_VC)
-#define		BITS_LOCK	(12)
-#define		MASK_LOCK	(0x1<<BITS_LOCK)
-#define		BITS_SPC	(8)
-#define		MASK_SPC	(0x1<<BITS_SPC)
-
-#define	SH4A_PCIEDMAOR		(0x021000)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAR0		(0x021100)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAHR0	(0x021104)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAR0		(0x021108)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAHR0	(0x02110C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMBCNTR0	(0x021110)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSBCNTR0	(0x021114)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSTRR0	(0x021118)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCAR0	(0x02111C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCR0		(0x021120)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCC2R0	(0x021124)	/* R/W R/W 0x0000 0000 - */
-#define	SH4A_PCIEDMCCCR0	(0x021128)	/* R/W R/W 0x0000 0000 32 */
-#define SH4A_PCIEDMCHSR0	(0x02112C)	/* R/W - 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAR1		(0x021140)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAHR1	(0x021144)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAR1		(0x021148)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAHR1	(0x02114C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMBCNTR1	(0x021150)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSBCNTR1	(0x021154)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSTRR1	(0x021158)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCAR1	(0x02115C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCR1		(0x021160)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCC2R1	(0x021164)	/* R/W R/W 0x0000 0000 - */
-#define	SH4A_PCIEDMCCCR1	(0x021168)	/* R/W R/W 0x0000 0000 32 */
-#define SH4A_PCIEDMCHSR1	(0x02116C)	/* R/W - 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAR2		(0x021180)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAHR2	(0x021184)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAR2		(0x021188)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAHR2	(0x02118C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMBCNTR2	(0x021190)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSBCNTR2	(0x021194)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSTRR2	(0x021198)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCAR2	(0x02119C)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCR2		(0x0211A0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCC2R2	(0x0211A4)	/* R/W R/W 0x0000 0000 -  */
-#define	SH4A_PCIEDMCCCR2	(0x0211A8)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAR3		(0x0211C0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSAHR3	(0x0211C4)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAR3		(0x0211C8)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMDAHR3	(0x0211CC)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMBCNTR3	(0x0211D0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSBCNTR3	(0x0211D4)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMSTRR3	(0x0211D8)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCAR3	(0x0211DC)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCCR3		(0x0211E0)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEDMCC2R3	(0x0211E4)	/* R/W R/W 0x0000 0000 -  */
-#define	SH4A_PCIEDMCCCR3	(0x0211E8)	/* R/W R/W 0x0000 0000 32 */
-#define SH4A_PCIEDMCHSR3	(0x0211EC)	/* R/W R/W 0x0000 0000 32 */
-#define	SH4A_PCIEPCICONF0	(0x040000)	/* R R - 8/16/32 */
-#define	SH4A_PCIEPCICONF1	(0x040004)	/* R/W R/W 0x0008 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF2	(0x040008)	/* R/W R/W 0xFF00 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF3	(0x04000C)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF4	(0x040010)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF5	(0x040014)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF6	(0x040018)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF7	(0x04001C)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF8	(0x040020)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF9	(0x040024)	/* - R/W - 8/16/32 */
-#define	SH4A_PCIEPCICONF10	(0x040028)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF11	(0x04002C)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF12	(0x040030)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF13	(0x040034)	/* R/W R/W 0x0000 0040 8/16/32 */
-#define	SH4A_PCIEPCICONF14	(0x040038)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEPCICONF15	(0x04003C)	/* R/W R/W 0x0000 00FF 8/16/32 */
-#define	SH4A_PCIEPMCAP0		(0x040040)	/* R/W R 0x0003 5001 8/16/32 */
-#define	SH4A_PCIEPMCAP1		(0x040044)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEMSICAP0	(0x040050)	/* R/W R/W 0x0180 7005 8/16/32 */
-#define	SH4A_PCIEMSICAP1	(0x040054)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEMSICAP2	(0x040058)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEMSICAP3	(0x04005C)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEMSICAP4	(0x040060)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEMSICAP5	(0x040064)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEEXPCAP0	(0x040070)	/* R/W R/W 0x0001 0010 8/16/32 */
-#define	SH4A_PCIEEXPCAP1	(0x040074)	/* R/W R 0x0000 0005 8/16/32 */
-#define	SH4A_PCIEEXPCAP2	(0x040078)	/* R/W R/W 0x0000 0801 8/16/32 */
-#define	SH4A_PCIEEXPCAP3	(0x04007C)	/* R/W R 0x0003 F421 8/16/32 */
-#define	SH4A_PCIEEXPCAP4	(0x040080)	/* R/W R/W 0x0041 0000 8/16/32 */
-#define	SH4A_PCIEEXPCAP5	(0x040084)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEEXPCAP6	(0x040088)	/* R/W R/W 0x0000 03C0 8/16/32 */
-#define	SH4A_PCIEEXPCAP7	(0x04008C)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEEXPCAP8	(0x040090)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP0		(0x040100)	/* R/W R 0x1B01 0002 8/16/32 */
-#define	SH4A_PCIEVCCAP1		(0x040104)	/* R R 0x0000 0001 8/16/32 */
-#define	SH4A_PCIEVCCAP2		(0x040108)	/* R R 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP3		(0x04010C)	/* R R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP4		(0x040110)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP5		(0x040114)	/* R/W R/W 0x8000 00FF 8/16/32 */
-#define	SH4A_PCIEVCCAP6		(0x040118)	/* R/W R 0x0002 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP7		(0x04011C)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP8		(0x040120)	/* R/W R/W 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEVCCAP9		(0x040124)	/* R/W R 0x0002 0000 8/16/32 */
-#define	SH4A_PCIENUMCAP0	(0x0001B0)	/* RW R 0x0001 0003 8/16/32 */
-#define	SH4A_PCIENUMCAP1	(0x0001B4)	/* R R 0x0000 0000 8/16/32 */
-#define	SH4A_PCIENUMCAP2	(0x0001B8)	/* R R 0x0000 0000 8/16/32 */
-#define	SH4A_PCIEIDSETR0	(0x041000)	/* R/W R 0x0000 FFFF 16/32 */
-#define	SH4A_PCIEIDSETR1	(0x041004)	/* R/W R 0xFF00 0000 16/32 */
-#define	SH4A_PCIEBAR0SETR	(0x041008)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEBAR1SETR	(0x04100C)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEBAR2SETR	(0x041010)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEBAR3SETR	(0x041014)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEBAR4SETR	(0x041018)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEBAR5SETR	(0x04101C)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIECISSETR	(0x041020)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEIDSETR2	(0x041024)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEEROMSETR	(0x041028)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEDSERSETR0	(0x04102C)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEDSERSETR1	(0x041030)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIECTLR		(0x041040)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIETLSR		(0x041044)	/* R/W1C R 0x0000 0000 16/32 */
-#define	SH4A_PCIETLCTLR		(0x041048)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEDLSR		(0x04104C)	/* R/W1C R 0x4003 0000 16/32 */
-#define	SH4A_PCIEDLCTLR		(0x041050)	/* R R 0x0000 0000 16/32 */
-#define	SH4A_PCIEMACSR		(0x041054)	/* R/W1C R 0x0041 0000 16/32 */
-#define	SH4A_PCIEMACCTLR	(0x041058)	/* R/W R 0x0000 0000 16/32 */
-#define		PCIEMACCTLR_SCR_DIS	(1 << 27)	/* scramble disable */
-#define	SH4A_PCIEPMSTR		(0x04105C)	/* R/W1C R 0x0000 0000 16/32 */
-#define	SH4A_PCIEPMCTLR		(0x041060)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIETLINTENR	(0x041064)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEDLINTENR	(0x041068)	/* R/W R 0x0000 0000 16/32 */
-#define		PCIEDLINTENR_DLL_ACT_ENABLE	(1 << 31) /* DL active irq */
-#define	SH4A_PCIEMACINTENR	(0x04106C)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIEPMINTENR	(0x041070)	/* R/W R 0x0000 0000 16/32 */
-#define	SH4A_PCIETXDCTLR	(0x044000)	/* R/W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXCTLR		(0x044020)	/* R/W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXSR		(0x044028)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXVC0DCTLR	(0x044100)	/* R/W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXVC0SR	(0x044108)	/* R/W - H'00888000_00000000 32/64 */
-#define	SH4A_PCIEVC0PDTXR	(0x044110)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0PHTXR	(0x044118)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0NPDTXR	(0x044120)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0NPHTXR	(0x044128)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0CDTXR	(0x044130)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0CHTXR	(0x044138)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXVCXDCTLR	(0x044200)	/* R/W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIETXVCXSR	(0x044208)	/* R/W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXPDTXR	(0x044210)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXPHTXR	(0x044218)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXNPDTXR	(0x044220)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXNPHTXR	(0x044228)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXCDTXR	(0x044230)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXCHTXR	(0x044238)	/* W - H'00000000_00000000 32/64 */
-#define	SH4A_PCIERDCTLR		(0x046000)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEERPCTLR	(0x046008)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEERPHR		(0x046010)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEERPERR		(0x046018)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIERXVC0DCTLR	(0x046100)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIERXVC0SR	(0x046108)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0PDRXR	(0x046140)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0PHRXR	(0x046148)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0PERR	(0x046150)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0NPDRXR	(0x046158)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0NPHRXR	(0x046160)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0NPERR	(0x046168)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0CDRXR	(0x046170)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0CHRXR	(0x046178)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVC0CERR	(0x046180)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIERXVCXDCTLR	(0x046200)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIERXVCXSR	(0x046208)	/* RW - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXPDRXR	(0x046240)	/* R - H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXPHRXR	(0x046248)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXPERR	(0x046250)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXNPDRXR	(0x046258)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXNPHRXR	(0x046260)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXNPERR	(0x046268)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXCDRXR	(0x046270)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXCHRXR	(0x046278)	/* R H'00000000_00000000 32/64 */
-#define	SH4A_PCIEVCXCERR	(0x046280)	/* R H'00000000_00000000 32/64 */
-
-/* SSI Register Definition for MSI WORK AROUND --hamada */
-#define SH4A_PCI_SSI_BASE	0xFFE00000	/* spw config address	*/
-#define SH4A_PCI_SSI_BASE_LEN	0x00100000	/* 1MB			*/
-
-#define	SH4A_SSICR0		(0x000000)
-#define	SH4A_SSICR1		(0x010000)
-#define	SH4A_SSICR2		(0x020000)
-#define	SH4A_SSICR3		(0x030000)
-
-#define PCI_REG(x)		((x) + 0x40000)
-
-static inline void
-pci_write_reg(struct pci_channel *chan, unsigned long val, unsigned long reg)
-{
-	__raw_writel(val, chan->reg_base + reg);
-}
-
-static inline unsigned long
-pci_read_reg(struct pci_channel *chan, unsigned long reg)
-{
-	return __raw_readl(chan->reg_base + reg);
-}
-
-#endif /* __PCI_SH7786_H */
diff --git a/arch/sh/drivers/platform_early.c b/arch/sh/drivers/platform_early.c
deleted file mode 100644
index 143747c45206fe..00000000000000
--- a/arch/sh/drivers/platform_early.c
+++ /dev/null
@@ -1,340 +0,0 @@
-// SPDX--License-Identifier: GPL-2.0
-
-#include <asm/platform_early.h>
-#include <linux/mod_devicetable.h>
-#include <linux/pm.h>
-
-static __initdata LIST_HEAD(sh_early_platform_driver_list);
-static __initdata LIST_HEAD(sh_early_platform_device_list);
-
-static const struct platform_device_id *
-platform_match_id(const struct platform_device_id *id,
-		  struct platform_device *pdev)
-{
-	while (id->name[0]) {
-		if (strcmp(pdev->name, id->name) == 0) {
-			pdev->id_entry = id;
-			return id;
-		}
-		id++;
-	}
-	return NULL;
-}
-
-static int platform_match(struct device *dev, struct device_driver *drv)
-{
-	struct platform_device *pdev = to_platform_device(dev);
-	struct platform_driver *pdrv = to_platform_driver(drv);
-
-	/* When driver_override is set, only bind to the matching driver */
-	if (pdev->driver_override)
-		return !strcmp(pdev->driver_override, drv->name);
-
-	/* Then try to match against the id table */
-	if (pdrv->id_table)
-		return platform_match_id(pdrv->id_table, pdev) != NULL;
-
-	/* fall-back to driver name match */
-	return (strcmp(pdev->name, drv->name) == 0);
-}
-
-#ifdef CONFIG_PM
-static void device_pm_init_common(struct device *dev)
-{
-	if (!dev->power.early_init) {
-		spin_lock_init(&dev->power.lock);
-		dev->power.qos = NULL;
-		dev->power.early_init = true;
-	}
-}
-
-static void pm_runtime_early_init(struct device *dev)
-{
-	dev->power.disable_depth = 1;
-	device_pm_init_common(dev);
-}
-#else
-static void pm_runtime_early_init(struct device *dev) {}
-#endif
-
-/**
- * sh_early_platform_driver_register - register early platform driver
- * @epdrv: sh_early_platform driver structure
- * @buf: string passed from early_param()
- *
- * Helper function for sh_early_platform_init() / sh_early_platform_init_buffer()
- */
-int __init sh_early_platform_driver_register(struct sh_early_platform_driver *epdrv,
-					  char *buf)
-{
-	char *tmp;
-	int n;
-
-	/* Simply add the driver to the end of the global list.
-	 * Drivers will by default be put on the list in compiled-in order.
-	 */
-	if (!epdrv->list.next) {
-		INIT_LIST_HEAD(&epdrv->list);
-		list_add_tail(&epdrv->list, &sh_early_platform_driver_list);
-	}
-
-	/* If the user has specified device then make sure the driver
-	 * gets prioritized. The driver of the last device specified on
-	 * command line will be put first on the list.
-	 */
-	n = strlen(epdrv->pdrv->driver.name);
-	if (buf && !strncmp(buf, epdrv->pdrv->driver.name, n)) {
-		list_move(&epdrv->list, &sh_early_platform_driver_list);
-
-		/* Allow passing parameters after device name */
-		if (buf[n] == '\0' || buf[n] == ',')
-			epdrv->requested_id = -1;
-		else {
-			epdrv->requested_id = simple_strtoul(&buf[n + 1],
-							     &tmp, 10);
-
-			if (buf[n] != '.' || (tmp == &buf[n + 1])) {
-				epdrv->requested_id = EARLY_PLATFORM_ID_ERROR;
-				n = 0;
-			} else
-				n += strcspn(&buf[n + 1], ",") + 1;
-		}
-
-		if (buf[n] == ',')
-			n++;
-
-		if (epdrv->bufsize) {
-			memcpy(epdrv->buffer, &buf[n],
-			       min_t(int, epdrv->bufsize, strlen(&buf[n]) + 1));
-			epdrv->buffer[epdrv->bufsize - 1] = '\0';
-		}
-	}
-
-	return 0;
-}
-
-/**
- * sh_early_platform_add_devices - adds a number of early platform devices
- * @devs: array of early platform devices to add
- * @num: number of early platform devices in array
- *
- * Used by early architecture code to register early platform devices and
- * their platform data.
- */
-void __init sh_early_platform_add_devices(struct platform_device **devs, int num)
-{
-	struct device *dev;
-	int i;
-
-	/* simply add the devices to list */
-	for (i = 0; i < num; i++) {
-		dev = &devs[i]->dev;
-
-		if (!dev->devres_head.next) {
-			pm_runtime_early_init(dev);
-			INIT_LIST_HEAD(&dev->devres_head);
-			list_add_tail(&dev->devres_head,
-				      &sh_early_platform_device_list);
-		}
-	}
-}
-
-/**
- * sh_early_platform_driver_register_all - register early platform drivers
- * @class_str: string to identify early platform driver class
- *
- * Used by architecture code to register all early platform drivers
- * for a certain class. If omitted then only early platform drivers
- * with matching kernel command line class parameters will be registered.
- */
-void __init sh_early_platform_driver_register_all(char *class_str)
-{
-	/* The "class_str" parameter may or may not be present on the kernel
-	 * command line. If it is present then there may be more than one
-	 * matching parameter.
-	 *
-	 * Since we register our early platform drivers using early_param()
-	 * we need to make sure that they also get registered in the case
-	 * when the parameter is missing from the kernel command line.
-	 *
-	 * We use parse_early_options() to make sure the early_param() gets
-	 * called at least once. The early_param() may be called more than
-	 * once since the name of the preferred device may be specified on
-	 * the kernel command line. sh_early_platform_driver_register() handles
-	 * this case for us.
-	 */
-	parse_early_options(class_str);
-}
-
-/**
- * sh_early_platform_match - find early platform device matching driver
- * @epdrv: early platform driver structure
- * @id: id to match against
- */
-static struct platform_device * __init
-sh_early_platform_match(struct sh_early_platform_driver *epdrv, int id)
-{
-	struct platform_device *pd;
-
-	list_for_each_entry(pd, &sh_early_platform_device_list, dev.devres_head)
-		if (platform_match(&pd->dev, &epdrv->pdrv->driver))
-			if (pd->id == id)
-				return pd;
-
-	return NULL;
-}
-
-/**
- * sh_early_platform_left - check if early platform driver has matching devices
- * @epdrv: early platform driver structure
- * @id: return true if id or above exists
- */
-static int __init sh_early_platform_left(struct sh_early_platform_driver *epdrv,
-				       int id)
-{
-	struct platform_device *pd;
-
-	list_for_each_entry(pd, &sh_early_platform_device_list, dev.devres_head)
-		if (platform_match(&pd->dev, &epdrv->pdrv->driver))
-			if (pd->id >= id)
-				return 1;
-
-	return 0;
-}
-
-/**
- * sh_early_platform_driver_probe_id - probe drivers matching class_str and id
- * @class_str: string to identify early platform driver class
- * @id: id to match against
- * @nr_probe: number of platform devices to successfully probe before exiting
- */
-static int __init sh_early_platform_driver_probe_id(char *class_str,
-						 int id,
-						 int nr_probe)
-{
-	struct sh_early_platform_driver *epdrv;
-	struct platform_device *match;
-	int match_id;
-	int n = 0;
-	int left = 0;
-
-	list_for_each_entry(epdrv, &sh_early_platform_driver_list, list) {
-		/* only use drivers matching our class_str */
-		if (strcmp(class_str, epdrv->class_str))
-			continue;
-
-		if (id == -2) {
-			match_id = epdrv->requested_id;
-			left = 1;
-
-		} else {
-			match_id = id;
-			left += sh_early_platform_left(epdrv, id);
-
-			/* skip requested id */
-			switch (epdrv->requested_id) {
-			case EARLY_PLATFORM_ID_ERROR:
-			case EARLY_PLATFORM_ID_UNSET:
-				break;
-			default:
-				if (epdrv->requested_id == id)
-					match_id = EARLY_PLATFORM_ID_UNSET;
-			}
-		}
-
-		switch (match_id) {
-		case EARLY_PLATFORM_ID_ERROR:
-			pr_warn("%s: unable to parse %s parameter\n",
-				class_str, epdrv->pdrv->driver.name);
-			fallthrough;
-		case EARLY_PLATFORM_ID_UNSET:
-			match = NULL;
-			break;
-		default:
-			match = sh_early_platform_match(epdrv, match_id);
-		}
-
-		if (match) {
-			/*
-			 * Set up a sensible init_name to enable
-			 * dev_name() and others to be used before the
-			 * rest of the driver core is initialized.
-			 */
-			if (!match->dev.init_name && slab_is_available()) {
-				if (match->id != -1)
-					match->dev.init_name =
-						kasprintf(GFP_KERNEL, "%s.%d",
-							  match->name,
-							  match->id);
-				else
-					match->dev.init_name =
-						kasprintf(GFP_KERNEL, "%s",
-							  match->name);
-
-				if (!match->dev.init_name)
-					return -ENOMEM;
-			}
-
-			if (epdrv->pdrv->probe(match))
-				pr_warn("%s: unable to probe %s early.\n",
-					class_str, match->name);
-			else
-				n++;
-		}
-
-		if (n >= nr_probe)
-			break;
-	}
-
-	if (left)
-		return n;
-	else
-		return -ENODEV;
-}
-
-/**
- * sh_early_platform_driver_probe - probe a class of registered drivers
- * @class_str: string to identify early platform driver class
- * @nr_probe: number of platform devices to successfully probe before exiting
- * @user_only: only probe user specified early platform devices
- *
- * Used by architecture code to probe registered early platform drivers
- * within a certain class. For probe to happen a registered early platform
- * device matching a registered early platform driver is needed.
- */
-int __init sh_early_platform_driver_probe(char *class_str,
-				       int nr_probe,
-				       int user_only)
-{
-	int k, n, i;
-
-	n = 0;
-	for (i = -2; n < nr_probe; i++) {
-		k = sh_early_platform_driver_probe_id(class_str, i, nr_probe - n);
-
-		if (k < 0)
-			break;
-
-		n += k;
-
-		if (user_only)
-			break;
-	}
-
-	return n;
-}
-
-/**
- * early_platform_cleanup - clean up early platform code
- */
-void __init early_platform_cleanup(void)
-{
-	struct platform_device *pd, *pd2;
-
-	/* clean up the devres list used to chain devices */
-	list_for_each_entry_safe(pd, pd2, &sh_early_platform_device_list,
-				 dev.devres_head) {
-		list_del(&pd->dev.devres_head);
-		memset(&pd->dev.devres_head, 0, sizeof(pd->dev.devres_head));
-	}
-}
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c
deleted file mode 100644
index c95f48ff3f6fb4..00000000000000
--- a/arch/sh/drivers/push-switch.c
+++ /dev/null
@@ -1,136 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Generic push-switch framework
- *
- * Copyright (C) 2006  Paul Mundt
- */
-#include <linux/init.h>
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/interrupt.h>
-#include <linux/platform_device.h>
-#include <asm/push-switch.h>
-
-#define DRV_NAME "push-switch"
-#define DRV_VERSION "0.1.1"
-
-static ssize_t switch_show(struct device *dev,
-			   struct device_attribute *attr,
-			   char *buf)
-{
-	struct push_switch_platform_info *psw_info = dev->platform_data;
-	return sprintf(buf, "%s\n", psw_info->name);
-}
-static DEVICE_ATTR_RO(switch);
-
-static void switch_timer(struct timer_list *t)
-{
-	struct push_switch *psw = from_timer(psw, t, debounce);
-
-	schedule_work(&psw->work);
-}
-
-static void switch_work_handler(struct work_struct *work)
-{
-	struct push_switch *psw = container_of(work, struct push_switch, work);
-	struct platform_device *pdev = psw->pdev;
-
-	psw->state = 0;
-
-	kobject_uevent(&pdev->dev.kobj, KOBJ_CHANGE);
-}
-
-static int switch_drv_probe(struct platform_device *pdev)
-{
-	struct push_switch_platform_info *psw_info;
-	struct push_switch *psw;
-	int ret, irq;
-
-	psw = kzalloc(sizeof(struct push_switch), GFP_KERNEL);
-	if (unlikely(!psw))
-		return -ENOMEM;
-
-	irq = platform_get_irq(pdev, 0);
-	if (unlikely(irq < 0)) {
-		ret = -ENODEV;
-		goto err;
-	}
-
-	psw_info = pdev->dev.platform_data;
-	BUG_ON(!psw_info);
-
-	ret = request_irq(irq, psw_info->irq_handler,
-			  psw_info->irq_flags,
-			  psw_info->name ? psw_info->name : DRV_NAME, pdev);
-	if (unlikely(ret < 0))
-		goto err;
-
-	if (psw_info->name) {
-		ret = device_create_file(&pdev->dev, &dev_attr_switch);
-		if (unlikely(ret)) {
-			dev_err(&pdev->dev, "Failed creating device attrs\n");
-			ret = -EINVAL;
-			goto err_irq;
-		}
-	}
-
-	INIT_WORK(&psw->work, switch_work_handler);
-	timer_setup(&psw->debounce, switch_timer, 0);
-
-	/* Workqueue API brain-damage */
-	psw->pdev = pdev;
-
-	platform_set_drvdata(pdev, psw);
-
-	return 0;
-
-err_irq:
-	free_irq(irq, pdev);
-err:
-	kfree(psw);
-	return ret;
-}
-
-static int switch_drv_remove(struct platform_device *pdev)
-{
-	struct push_switch *psw = platform_get_drvdata(pdev);
-	struct push_switch_platform_info *psw_info = pdev->dev.platform_data;
-	int irq = platform_get_irq(pdev, 0);
-
-	if (psw_info->name)
-		device_remove_file(&pdev->dev, &dev_attr_switch);
-
-	platform_set_drvdata(pdev, NULL);
-	flush_work(&psw->work);
-	timer_shutdown_sync(&psw->debounce);
-	free_irq(irq, pdev);
-
-	kfree(psw);
-
-	return 0;
-}
-
-static struct platform_driver switch_driver = {
-	.probe		= switch_drv_probe,
-	.remove		= switch_drv_remove,
-	.driver		= {
-		.name	= DRV_NAME,
-	},
-};
-
-static int __init switch_init(void)
-{
-	printk(KERN_NOTICE DRV_NAME ": version %s loaded\n", DRV_VERSION);
-	return platform_driver_register(&switch_driver);
-}
-
-static void __exit switch_exit(void)
-{
-	platform_driver_unregister(&switch_driver);
-}
-module_init(switch_init);
-module_exit(switch_exit);
-
-MODULE_VERSION(DRV_VERSION);
-MODULE_AUTHOR("Paul Mundt");
-MODULE_LICENSE("GPL v2");
diff --git a/arch/sh/drivers/superhyway/Makefile b/arch/sh/drivers/superhyway/Makefile
deleted file mode 100644
index aa6e3267c055d9..00000000000000
--- a/arch/sh/drivers/superhyway/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the SuperHyway specific kernel interface routines under Linux.
-#
-
-obj-$(CONFIG_CPU_SUBTYPE_SH4_202)	+= ops-sh4-202.o
-
diff --git a/arch/sh/drivers/superhyway/ops-sh4-202.c b/arch/sh/drivers/superhyway/ops-sh4-202.c
deleted file mode 100644
index 490142274e3b0a..00000000000000
--- a/arch/sh/drivers/superhyway/ops-sh4-202.c
+++ /dev/null
@@ -1,168 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * arch/sh/drivers/superhyway/ops-sh4-202.c
- *
- * SuperHyway bus support for SH4-202
- *
- * Copyright (C) 2005  Paul Mundt
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/superhyway.h>
-#include <linux/string.h>
-#include <asm/addrspace.h>
-#include <asm/io.h>
-
-#define PHYS_EMI_CBLOCK		P4SEGADDR(0x1ec00000)
-#define PHYS_EMI_DBLOCK		P4SEGADDR(0x08000000)
-#define PHYS_FEMI_CBLOCK	P4SEGADDR(0x1f800000)
-#define PHYS_FEMI_DBLOCK	P4SEGADDR(0x00000000)
-
-#define PHYS_EPBR_BLOCK		P4SEGADDR(0x1de00000)
-#define PHYS_DMAC_BLOCK		P4SEGADDR(0x1fa00000)
-#define PHYS_PBR_BLOCK		P4SEGADDR(0x1fc00000)
-
-static struct resource emi_resources[] = {
-	[0] = {
-		.start	= PHYS_EMI_CBLOCK,
-		.end	= PHYS_EMI_CBLOCK + 0x00300000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PHYS_EMI_DBLOCK,
-		.end	= PHYS_EMI_DBLOCK + 0x08000000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct superhyway_device emi_device = {
-	.name		= "emi",
-	.num_resources	= ARRAY_SIZE(emi_resources),
-	.resource	= emi_resources,
-};
-
-static struct resource femi_resources[] = {
-	[0] = {
-		.start	= PHYS_FEMI_CBLOCK,
-		.end	= PHYS_FEMI_CBLOCK + 0x00100000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PHYS_FEMI_DBLOCK,
-		.end	= PHYS_FEMI_DBLOCK + 0x08000000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct superhyway_device femi_device = {
-	.name		= "femi",
-	.num_resources	= ARRAY_SIZE(femi_resources),
-	.resource	= femi_resources,
-};
-
-static struct resource epbr_resources[] = {
-	[0] = {
-		.start	= P4SEGADDR(0x1e7ffff8),
-		.end	= P4SEGADDR(0x1e7ffff8 + (sizeof(u32) * 2) - 1),
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PHYS_EPBR_BLOCK,
-		.end	= PHYS_EPBR_BLOCK + 0x00a00000 - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct superhyway_device epbr_device = {
-	.name		= "epbr",
-	.num_resources	= ARRAY_SIZE(epbr_resources),
-	.resource	= epbr_resources,
-};
-
-static struct resource dmac_resource = {
-	.start	= PHYS_DMAC_BLOCK,
-	.end	= PHYS_DMAC_BLOCK + 0x00100000 - 1,
-	.flags	= IORESOURCE_MEM,
-};
-
-static struct superhyway_device dmac_device = {
-	.name		= "dmac",
-	.num_resources	= 1,
-	.resource	= &dmac_resource,
-};
-
-static struct resource pbr_resources[] = {
-	[0] = {
-		.start	= P4SEGADDR(0x1ffffff8),
-		.end	= P4SEGADDR(0x1ffffff8 + (sizeof(u32) * 2) - 1),
-		.flags	= IORESOURCE_MEM,
-	},
-	[1] = {
-		.start	= PHYS_PBR_BLOCK,
-		.end	= PHYS_PBR_BLOCK + 0x00400000 - (sizeof(u32) * 2) - 1,
-		.flags	= IORESOURCE_MEM,
-	},
-};
-
-static struct superhyway_device pbr_device = {
-	.name		= "pbr",
-	.num_resources	= ARRAY_SIZE(pbr_resources),
-	.resource	= pbr_resources,
-};
-
-static struct superhyway_device *sh4202_devices[] __initdata = {
-	&emi_device, &femi_device, &epbr_device, &dmac_device, &pbr_device,
-};
-
-static int sh4202_read_vcr(unsigned long base, struct superhyway_vcr_info *vcr)
-{
-	u32 vcrh, vcrl;
-	u64 tmp;
-
-	/*
-	 * XXX: Even though the SH4-202 Evaluation Device documentation
-	 * indicates that VCRL is mapped first with VCRH at a + 0x04
-	 * offset, the opposite seems to be true.
-	 *
-	 * Some modules (PBR and ePBR for instance) also appear to have
-	 * VCRL/VCRH flipped in the documentation, but on the SH4-202
-	 * itself it appears that these are all consistently mapped with
-	 * VCRH preceding VCRL.
-	 *
-	 * Do not trust the documentation, for it is evil.
-	 */
-	vcrh = __raw_readl(base);
-	vcrl = __raw_readl(base + sizeof(u32));
-
-	tmp = ((u64)vcrh << 32) | vcrl;
-	memcpy(vcr, &tmp, sizeof(u64));
-
-	return 0;
-}
-
-static int sh4202_write_vcr(unsigned long base, struct superhyway_vcr_info vcr)
-{
-	u64 tmp = *(u64 *)&vcr;
-
-	__raw_writel((tmp >> 32) & 0xffffffff, base);
-	__raw_writel(tmp & 0xffffffff, base + sizeof(u32));
-
-	return 0;
-}
-
-static struct superhyway_ops sh4202_superhyway_ops = {
-	.read_vcr	= sh4202_read_vcr,
-	.write_vcr	= sh4202_write_vcr,
-};
-
-struct superhyway_bus superhyway_channels[] = {
-	{ &sh4202_superhyway_ops, },
-	{ 0, },
-};
-
-int __init superhyway_scan_bus(struct superhyway_bus *bus)
-{
-	return superhyway_add_devices(bus, sh4202_devices,
-				      ARRAY_SIZE(sh4202_devices));
-}
-
diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild
deleted file mode 100644
index fc44d9c88b4191..00000000000000
--- a/arch/sh/include/asm/Kbuild
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-generated-y += syscall_table.h
-generic-y += kvm_para.h
-generic-y += mcs_spinlock.h
-generic-y += parport.h
diff --git a/arch/sh/include/asm/adc.h b/arch/sh/include/asm/adc.h
deleted file mode 100644
index feccfe639e3896..00000000000000
--- a/arch/sh/include/asm/adc.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_ADC_H
-#define __ASM_ADC_H
-/*
- * Copyright (C) 2004  Andriy Skulysh
- */
-
-#include <cpu/adc.h>
-
-int adc_single(unsigned int channel);
-
-#endif /* __ASM_ADC_H */
diff --git a/arch/sh/include/asm/addrspace.h b/arch/sh/include/asm/addrspace.h
deleted file mode 100644
index 468fba333e896b..00000000000000
--- a/arch/sh/include/asm/addrspace.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Copyright (C) 1999 by Kaz Kojima
- *
- * Defitions for the address spaces of the SH CPUs.
- */
-#ifndef __ASM_SH_ADDRSPACE_H
-#define __ASM_SH_ADDRSPACE_H
-
-#include <cpu/addrspace.h>
-
-/* If this CPU supports segmentation, hook up the helpers */
-#ifdef P1SEG
-
-/*
-   [ P0/U0 (virtual) ]		0x00000000     <------ User space
-   [ P1 (fixed)   cached ]	0x80000000     <------ Kernel space
-   [ P2 (fixed)  non-cachable]	0xA0000000     <------ Physical access
-   [ P3 (virtual) cached]	0xC0000000     <------ vmalloced area
-   [ P4 control   ]		0xE0000000
- */
-
-/* Returns the privileged segment base of a given address  */
-#define PXSEG(a)	(((unsigned long)(a)) & 0xe0000000)
-
-#ifdef CONFIG_29BIT
-/*
- * Map an address to a certain privileged segment
- */
-#define P1SEGADDR(a)	\
-	((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P1SEG))
-#define P2SEGADDR(a)	\
-	((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P2SEG))
-#define P3SEGADDR(a)	\
-	((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P3SEG))
-#define P4SEGADDR(a)	\
-	((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P4SEG))
-#else
-/*
- * These will never work in 32-bit, don't even bother.
- */
-#define P1SEGADDR(a)	({ (void)(a); BUG(); NULL; })
-#define P2SEGADDR(a)	({ (void)(a); BUG(); NULL; })
-#define P3SEGADDR(a)	({ (void)(a); BUG(); NULL; })
-#define P4SEGADDR(a)	({ (void)(a); BUG(); NULL; })
-#endif
-#endif /* P1SEG */
-
-/* Check if an address can be reached in 29 bits */
-#define IS_29BIT(a)	(((unsigned long)(a)) < 0x20000000)
-
-#ifdef CONFIG_SH_STORE_QUEUES
-/*
- * This is a special case for the SH-4 store queues, as pages for this
- * space still need to be faulted in before it's possible to flush the
- * store queue cache for writeout to the remapped region.
- */
-#define P3_ADDR_MAX		(P4SEG_STORE_QUE + 0x04000000)
-#else
-#define P3_ADDR_MAX		P4SEG
-#endif
-
-#endif /* __ASM_SH_ADDRSPACE_H */
diff --git a/arch/sh/include/asm/alignment.h b/arch/sh/include/asm/alignment.h
deleted file mode 100644
index 4f3e715b8c2668..00000000000000
--- a/arch/sh/include/asm/alignment.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_ALIGNMENT_H
-#define __ASM_SH_ALIGNMENT_H
-
-#include <linux/types.h>
-
-extern void inc_unaligned_byte_access(void);
-extern void inc_unaligned_word_access(void);
-extern void inc_unaligned_dword_access(void);
-extern void inc_unaligned_multi_access(void);
-extern void inc_unaligned_user_access(void);
-extern void inc_unaligned_kernel_access(void);
-
-#define UM_WARN		(1 << 0)
-#define UM_FIXUP	(1 << 1)
-#define UM_SIGNAL	(1 << 2)
-
-extern unsigned int unaligned_user_action(void);
-
-extern void unaligned_fixups_notify(struct task_struct *, insn_size_t, struct pt_regs *);
-
-#endif /* __ASM_SH_ALIGNMENT_H */
diff --git a/arch/sh/include/asm/asm-offsets.h b/arch/sh/include/asm/asm-offsets.h
deleted file mode 100644
index 9f8535716392cc..00000000000000
--- a/arch/sh/include/asm/asm-offsets.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <generated/asm-offsets.h>
diff --git a/arch/sh/include/asm/atomic-grb.h b/arch/sh/include/asm/atomic-grb.h
deleted file mode 100644
index 059791fd394fc4..00000000000000
--- a/arch/sh/include/asm/atomic-grb.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_ATOMIC_GRB_H
-#define __ASM_SH_ATOMIC_GRB_H
-
-#define ATOMIC_OP(op)							\
-static inline void arch_atomic_##op(int i, atomic_t *v)			\
-{									\
-	int tmp;							\
-									\
-	__asm__ __volatile__ (						\
-		"   .align 2              \n\t"				\
-		"   mova    1f,   r0      \n\t" /* r0 = end point */	\
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */	\
-		"   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */	\
-		"   mov.l  @%1,   %0      \n\t" /* load  old value */	\
-		" " #op "   %2,   %0      \n\t" /* $op */		\
-		"   mov.l   %0,   @%1     \n\t" /* store new value */	\
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */		\
-		: "=&r" (tmp),						\
-		  "+r"  (v)						\
-		: "r"   (i)						\
-		: "memory" , "r0", "r1");				\
-}									\
-
-#define ATOMIC_OP_RETURN(op)						\
-static inline int arch_atomic_##op##_return(int i, atomic_t *v)		\
-{									\
-	int tmp;							\
-									\
-	__asm__ __volatile__ (						\
-		"   .align 2              \n\t"				\
-		"   mova    1f,   r0      \n\t" /* r0 = end point */	\
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */	\
-		"   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */	\
-		"   mov.l  @%1,   %0      \n\t" /* load  old value */	\
-		" " #op "   %2,   %0      \n\t" /* $op */		\
-		"   mov.l   %0,   @%1     \n\t" /* store new value */	\
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */		\
-		: "=&r" (tmp),						\
-		  "+r"  (v)						\
-		: "r"   (i)						\
-		: "memory" , "r0", "r1");				\
-									\
-	return tmp;							\
-}
-
-#define ATOMIC_FETCH_OP(op)						\
-static inline int arch_atomic_fetch_##op(int i, atomic_t *v)		\
-{									\
-	int res, tmp;							\
-									\
-	__asm__ __volatile__ (						\
-		"   .align 2              \n\t"				\
-		"   mova    1f,   r0      \n\t" /* r0 = end point */	\
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */	\
-		"   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */	\
-		"   mov.l  @%2,   %0      \n\t" /* load old value */	\
-		"   mov     %0,   %1      \n\t" /* save old value */	\
-		" " #op "   %3,   %0      \n\t" /* $op */		\
-		"   mov.l   %0,   @%2     \n\t" /* store new value */	\
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */		\
-		: "=&r" (tmp), "=&r" (res), "+r"  (v)			\
-		: "r"   (i)						\
-		: "memory" , "r0", "r1");				\
-									\
-	return res;							\
-}
-
-#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) ATOMIC_FETCH_OP(op)
-
-ATOMIC_OPS(add)
-ATOMIC_OPS(sub)
-
-#undef ATOMIC_OPS
-#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)
-
-ATOMIC_OPS(and)
-ATOMIC_OPS(or)
-ATOMIC_OPS(xor)
-
-#undef ATOMIC_OPS
-#undef ATOMIC_FETCH_OP
-#undef ATOMIC_OP_RETURN
-#undef ATOMIC_OP
-
-#endif /* __ASM_SH_ATOMIC_GRB_H */
diff --git a/arch/sh/include/asm/atomic-irq.h b/arch/sh/include/asm/atomic-irq.h
deleted file mode 100644
index 7665de9d00d0d1..00000000000000
--- a/arch/sh/include/asm/atomic-irq.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_ATOMIC_IRQ_H
-#define __ASM_SH_ATOMIC_IRQ_H
-
-#include <linux/irqflags.h>
-
-/*
- * To get proper branch prediction for the main line, we must branch
- * forward to code at the end of this object's .text section, then
- * branch back to restart the operation.
- */
-
-#define ATOMIC_OP(op, c_op)						\
-static inline void arch_atomic_##op(int i, atomic_t *v)			\
-{									\
-	unsigned long flags;						\
-									\
-	raw_local_irq_save(flags);					\
-	v->counter c_op i;						\
-	raw_local_irq_restore(flags);					\
-}
-
-#define ATOMIC_OP_RETURN(op, c_op)					\
-static inline int arch_atomic_##op##_return(int i, atomic_t *v)		\
-{									\
-	unsigned long temp, flags;					\
-									\
-	raw_local_irq_save(flags);					\
-	temp = v->counter;						\
-	temp c_op i;							\
-	v->counter = temp;						\
-	raw_local_irq_restore(flags);					\
-									\
-	return temp;							\
-}
-
-#define ATOMIC_FETCH_OP(op, c_op)					\
-static inline int arch_atomic_fetch_##op(int i, atomic_t *v)		\
-{									\
-	unsigned long temp, flags;					\
-									\
-	raw_local_irq_save(flags);					\
-	temp = v->counter;						\
-	v->counter c_op i;						\
-	raw_local_irq_restore(flags);					\
-									\
-	return temp;							\
-}
-
-#define ATOMIC_OPS(op, c_op)						\
-	ATOMIC_OP(op, c_op)						\
-	ATOMIC_OP_RETURN(op, c_op)					\
-	ATOMIC_FETCH_OP(op, c_op)
-
-ATOMIC_OPS(add, +=)
-ATOMIC_OPS(sub, -=)
-
-#undef ATOMIC_OPS
-#define ATOMIC_OPS(op, c_op)						\
-	ATOMIC_OP(op, c_op)						\
-	ATOMIC_FETCH_OP(op, c_op)
-
-ATOMIC_OPS(and, &=)
-ATOMIC_OPS(or, |=)
-ATOMIC_OPS(xor, ^=)
-
-#undef ATOMIC_OPS
-#undef ATOMIC_FETCH_OP
-#undef ATOMIC_OP_RETURN
-#undef ATOMIC_OP
-
-#endif /* __ASM_SH_ATOMIC_IRQ_H */
diff --git a/arch/sh/include/asm/atomic-llsc.h b/arch/sh/include/asm/atomic-llsc.h
deleted file mode 100644
index b63dcfbfa14ef5..00000000000000
--- a/arch/sh/include/asm/atomic-llsc.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_ATOMIC_LLSC_H
-#define __ASM_SH_ATOMIC_LLSC_H
-
-/*
- * SH-4A note:
- *
- * We basically get atomic_xxx_return() for free compared with
- * atomic_xxx(). movli.l/movco.l require r0 due to the instruction
- * encoding, so the retval is automatically set without having to
- * do any special work.
- */
-/*
- * To get proper branch prediction for the main line, we must branch
- * forward to code at the end of this object's .text section, then
- * branch back to restart the operation.
- */
-
-#define ATOMIC_OP(op)							\
-static inline void arch_atomic_##op(int i, atomic_t *v)			\
-{									\
-	unsigned long tmp;						\
-									\
-	__asm__ __volatile__ (						\
-"1:	movli.l @%2, %0		! atomic_" #op "\n"			\
-"	" #op "	%1, %0				\n"			\
-"	movco.l	%0, @%2				\n"			\
-"	bf	1b				\n"			\
-	: "=&z" (tmp)							\
-	: "r" (i), "r" (&v->counter)					\
-	: "t");								\
-}
-
-#define ATOMIC_OP_RETURN(op)						\
-static inline int arch_atomic_##op##_return(int i, atomic_t *v)		\
-{									\
-	unsigned long temp;						\
-									\
-	__asm__ __volatile__ (						\
-"1:	movli.l @%2, %0		! atomic_" #op "_return	\n"		\
-"	" #op "	%1, %0					\n"		\
-"	movco.l	%0, @%2					\n"		\
-"	bf	1b					\n"		\
-"	synco						\n"		\
-	: "=&z" (temp)							\
-	: "r" (i), "r" (&v->counter)					\
-	: "t");								\
-									\
-	return temp;							\
-}
-
-#define ATOMIC_FETCH_OP(op)						\
-static inline int arch_atomic_fetch_##op(int i, atomic_t *v)		\
-{									\
-	unsigned long res, temp;					\
-									\
-	__asm__ __volatile__ (						\
-"1:	movli.l @%3, %0		! atomic_fetch_" #op "	\n"		\
-"	mov %0, %1					\n"		\
-"	" #op "	%2, %0					\n"		\
-"	movco.l	%0, @%3					\n"		\
-"	bf	1b					\n"		\
-"	synco						\n"		\
-	: "=&z" (temp), "=&r" (res)					\
-	: "r" (i), "r" (&v->counter)					\
-	: "t");								\
-									\
-	return res;							\
-}
-
-#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) ATOMIC_FETCH_OP(op)
-
-ATOMIC_OPS(add)
-ATOMIC_OPS(sub)
-
-#undef ATOMIC_OPS
-#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)
-
-ATOMIC_OPS(and)
-ATOMIC_OPS(or)
-ATOMIC_OPS(xor)
-
-#undef ATOMIC_OPS
-#undef ATOMIC_FETCH_OP
-#undef ATOMIC_OP_RETURN
-#undef ATOMIC_OP
-
-#endif /* __ASM_SH_ATOMIC_LLSC_H */
diff --git a/arch/sh/include/asm/atomic.h b/arch/sh/include/asm/atomic.h
deleted file mode 100644
index 528bfeda78f569..00000000000000
--- a/arch/sh/include/asm/atomic.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_ATOMIC_H
-#define __ASM_SH_ATOMIC_H
-
-#if defined(CONFIG_CPU_J2)
-
-#include <asm-generic/atomic.h>
-
-#else
-
-/*
- * Atomic operations that C can't guarantee us.  Useful for
- * resource counting etc..
- *
- */
-
-#include <linux/compiler.h>
-#include <linux/types.h>
-#include <asm/cmpxchg.h>
-#include <asm/barrier.h>
-
-#define arch_atomic_read(v)		READ_ONCE((v)->counter)
-#define arch_atomic_set(v,i)		WRITE_ONCE((v)->counter, (i))
-
-#if defined(CONFIG_GUSA_RB)
-#include <asm/atomic-grb.h>
-#elif defined(CONFIG_CPU_SH4A)
-#include <asm/atomic-llsc.h>
-#else
-#include <asm/atomic-irq.h>
-#endif
-
-#define arch_atomic_xchg(v, new)	(arch_xchg(&((v)->counter), new))
-#define arch_atomic_cmpxchg(v, o, n)	(arch_cmpxchg(&((v)->counter), (o), (n)))
-
-#endif /* CONFIG_CPU_J2 */
-
-#endif /* __ASM_SH_ATOMIC_H */
diff --git a/arch/sh/include/asm/barrier.h b/arch/sh/include/asm/barrier.h
deleted file mode 100644
index 0d58a0159aa6dc..00000000000000
--- a/arch/sh/include/asm/barrier.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * Copyright (C) 1999, 2000  Niibe Yutaka  &  Kaz Kojima
- * Copyright (C) 2002 Paul Mundt
- */
-#ifndef __ASM_SH_BARRIER_H
-#define __ASM_SH_BARRIER_H
-
-#if defined(CONFIG_CPU_SH4A)
-#include <asm/cache_insns.h>
-#endif
-
-/*
- * A brief note on ctrl_barrier(), the control register write barrier.
- *
- * Legacy SH cores typically require a sequence of 8 nops after
- * modification of a control register in order for the changes to take
- * effect. On newer cores (like the sh4a and sh5) this is accomplished
- * with icbi.
- *
- * Also note that on sh4a in the icbi case we can forego a synco for the
- * write barrier, as it's not necessary for control registers.
- *
- * Historically we have only done this type of barrier for the MMUCR, but
- * it's also necessary for the CCR, so we make it generic here instead.
- */
-#if defined(CONFIG_CPU_SH4A)
-#define mb()		__asm__ __volatile__ ("synco": : :"memory")
-#define rmb()		mb()
-#define wmb()		mb()
-#define ctrl_barrier()	__icbi(PAGE_OFFSET)
-#else
-#if defined(CONFIG_CPU_J2) && defined(CONFIG_SMP)
-#define __smp_mb()	do { int tmp = 0; __asm__ __volatile__ ("cas.l %0,%0,@%1" : "+r"(tmp) : "z"(&tmp) : "memory", "t"); } while(0)
-#define __smp_rmb()	__smp_mb()
-#define __smp_wmb()	__smp_mb()
-#endif
-#define ctrl_barrier()	__asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop")
-#endif
-
-#define __smp_store_mb(var, value) do { (void)xchg(&var, value); } while (0)
-
-#include <asm-generic/barrier.h>
-
-#endif /* __ASM_SH_BARRIER_H */
diff --git a/arch/sh/include/asm/bitops-cas.h b/arch/sh/include/asm/bitops-cas.h
deleted file mode 100644
index ba517b3f24da62..00000000000000
--- a/arch/sh/include/asm/bitops-cas.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BITOPS_CAS_H
-#define __ASM_SH_BITOPS_CAS_H
-
-static inline unsigned __bo_cas(volatile unsigned *p, unsigned old, unsigned new)
-{
-	__asm__ __volatile__("cas.l %1,%0, at r0"
-		: "+r"(new)
-		: "r"(old), "z"(p)
-		: "t", "memory" );
-	return new;
-}
-
-static inline void set_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old|mask) != old);
-}
-
-static inline void clear_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old&~mask) != old);
-}
-
-static inline void change_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old^mask) != old);
-}
-
-static inline int test_and_set_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old|mask) != old);
-
-	return !!(old & mask);
-}
-
-static inline int test_and_clear_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old&~mask) != old);
-
-	return !!(old & mask);
-}
-
-static inline int test_and_change_bit(int nr, volatile void *addr)
-{
-	unsigned mask, old;
-	volatile unsigned *a = addr;
-
-	a += nr >> 5;
-	mask = 1U << (nr & 0x1f);
-
-	do old = *a;
-	while (__bo_cas(a, old, old^mask) != old);
-
-	return !!(old & mask);
-}
-
-#include <asm-generic/bitops/non-atomic.h>
-
-#endif /* __ASM_SH_BITOPS_CAS_H */
diff --git a/arch/sh/include/asm/bitops-grb.h b/arch/sh/include/asm/bitops-grb.h
deleted file mode 100644
index 75b5980399d44d..00000000000000
--- a/arch/sh/include/asm/bitops-grb.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BITOPS_GRB_H
-#define __ASM_SH_BITOPS_GRB_H
-
-static inline void set_bit(int nr, volatile void * addr)
-{
-	int	mask;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-                "   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-                "   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */
-                "   mov.l  @%1,   %0      \n\t" /* load  old value */
-                "   or      %2,   %0      \n\t" /* or */
-                "   mov.l   %0,   @%1     \n\t" /* store new value */
-                "1: mov     r1,   r15     \n\t" /* LOGOUT */
-                : "=&r" (tmp),
-                  "+r"  (a)
-                : "r"   (mask)
-                : "memory" , "r0", "r1");
-}
-
-static inline void clear_bit(int nr, volatile void * addr)
-{
-	int	mask;
-	volatile unsigned int *a = addr;
-        unsigned long tmp;
-
-	a += nr >> 5;
-        mask = ~(1 << (nr & 0x1f));
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-                "   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-                "   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */
-                "   mov.l  @%1,   %0      \n\t" /* load  old value */
-                "   and     %2,   %0      \n\t" /* and */
-                "   mov.l   %0,   @%1     \n\t" /* store new value */
-                "1: mov     r1,   r15     \n\t" /* LOGOUT */
-                : "=&r" (tmp),
-                  "+r"  (a)
-                : "r"   (mask)
-                : "memory" , "r0", "r1");
-}
-
-static inline void change_bit(int nr, volatile void * addr)
-{
-        int     mask;
-        volatile unsigned int *a = addr;
-        unsigned long tmp;
-
-        a += nr >> 5;
-        mask = 1 << (nr & 0x1f);
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-                "   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-                "   mov    #-6,   r15     \n\t" /* LOGIN: r15 = size */
-                "   mov.l  @%1,   %0      \n\t" /* load  old value */
-                "   xor     %2,   %0      \n\t" /* xor */
-                "   mov.l   %0,   @%1     \n\t" /* store new value */
-                "1: mov     r1,   r15     \n\t" /* LOGOUT */
-                : "=&r" (tmp),
-                  "+r"  (a)
-                : "r"   (mask)
-                : "memory" , "r0", "r1");
-}
-
-static inline int test_and_set_bit(int nr, volatile void * addr)
-{
-        int     mask, retval;
-	volatile unsigned int *a = addr;
-        unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-                "   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-                "   mov   #-14,   r15     \n\t" /* LOGIN: r15 = size */
-                "   mov.l  @%2,   %0      \n\t" /* load old value */
-                "   mov     %0,   %1      \n\t"
-                "   tst     %1,   %3      \n\t" /* T = ((*a & mask) == 0) */
-                "   mov    #-1,   %1      \n\t" /* retvat = -1 */
-                "   negc    %1,   %1      \n\t" /* retval = (mask & *a) != 0 */
-                "   or      %3,   %0      \n\t"
-                "   mov.l   %0,  @%2      \n\t" /* store new value */
-                "1: mov     r1,  r15      \n\t" /* LOGOUT */
-                : "=&r" (tmp),
-                  "=&r" (retval),
-                  "+r"  (a)
-                : "r"   (mask)
-                : "memory" , "r0", "r1" ,"t");
-
-        return retval;
-}
-
-static inline int test_and_clear_bit(int nr, volatile void * addr)
-{
-        int     mask, retval,not_mask;
-        volatile unsigned int *a = addr;
-        unsigned long tmp;
-
-        a += nr >> 5;
-        mask = 1 << (nr & 0x1f);
-
-	not_mask = ~mask;
-
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-		"   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-		"   mov   #-14,   r15     \n\t" /* LOGIN */
-		"   mov.l  @%2,   %0      \n\t" /* load old value */
-                "   mov     %0,   %1      \n\t" /* %1 = *a */
-                "   tst     %1,   %3      \n\t" /* T = ((*a & mask) == 0) */
-		"   mov    #-1,   %1      \n\t" /* retvat = -1 */
-                "   negc    %1,   %1      \n\t" /* retval = (mask & *a) != 0 */
-                "   and     %4,   %0      \n\t"
-                "   mov.l   %0,  @%2      \n\t" /* store new value */
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */
-		: "=&r" (tmp),
-		  "=&r" (retval),
-		  "+r"  (a)
-		: "r"   (mask),
-		  "r"   (not_mask)
-		: "memory" , "r0", "r1", "t");
-
-        return retval;
-}
-
-static inline int test_and_change_bit(int nr, volatile void * addr)
-{
-        int     mask, retval;
-        volatile unsigned int *a = addr;
-        unsigned long tmp;
-
-        a += nr >> 5;
-        mask = 1 << (nr & 0x1f);
-
-        __asm__ __volatile__ (
-                "   .align 2              \n\t"
-                "   mova    1f,   r0      \n\t" /* r0 = end point */
-                "   mov    r15,   r1      \n\t" /* r1 = saved sp */
-                "   mov   #-14,   r15     \n\t" /* LOGIN */
-                "   mov.l  @%2,   %0      \n\t" /* load old value */
-                "   mov     %0,   %1      \n\t" /* %1 = *a */
-                "   tst     %1,   %3      \n\t" /* T = ((*a & mask) == 0) */
-                "   mov    #-1,   %1      \n\t" /* retvat = -1 */
-                "   negc    %1,   %1      \n\t" /* retval = (mask & *a) != 0 */
-                "   xor     %3,   %0      \n\t"
-                "   mov.l   %0,  @%2      \n\t" /* store new value */
-                "1: mov     r1,   r15     \n\t" /* LOGOUT */
-                : "=&r" (tmp),
-                  "=&r" (retval),
-                  "+r"  (a)
-                : "r"   (mask)
-                : "memory" , "r0", "r1", "t");
-
-        return retval;
-}
-
-#include <asm-generic/bitops/non-atomic.h>
-
-#endif /* __ASM_SH_BITOPS_GRB_H */
diff --git a/arch/sh/include/asm/bitops-llsc.h b/arch/sh/include/asm/bitops-llsc.h
deleted file mode 100644
index 47036845fc6837..00000000000000
--- a/arch/sh/include/asm/bitops-llsc.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BITOPS_LLSC_H
-#define __ASM_SH_BITOPS_LLSC_H
-
-static inline void set_bit(int nr, volatile void *addr)
-{
-	int	mask;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%1, %0	! set_bit		\n\t"
-		"or		%2, %0				\n\t"
-		"movco.l	%0, @%1				\n\t"
-		"bf		1b				\n\t"
-		: "=&z" (tmp)
-		: "r" (a), "r" (mask)
-		: "t", "memory"
-	);
-}
-
-static inline void clear_bit(int nr, volatile void *addr)
-{
-	int	mask;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%1, %0	! clear_bit		\n\t"
-		"and		%2, %0				\n\t"
-		"movco.l	%0, @%1				\n\t"
-		"bf		1b				\n\t"
-		: "=&z" (tmp)
-		: "r" (a), "r" (~mask)
-		: "t", "memory"
-	);
-}
-
-static inline void change_bit(int nr, volatile void *addr)
-{
-	int	mask;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%1, %0	! change_bit		\n\t"
-		"xor		%2, %0				\n\t"
-		"movco.l	%0, @%1				\n\t"
-		"bf		1b				\n\t"
-		: "=&z" (tmp)
-		: "r" (a), "r" (mask)
-		: "t", "memory"
-	);
-}
-
-static inline int test_and_set_bit(int nr, volatile void *addr)
-{
-	int	mask, retval;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%2, %0	! test_and_set_bit	\n\t"
-		"mov		%0, %1				\n\t"
-		"or		%3, %0				\n\t"
-		"movco.l	%0, @%2				\n\t"
-		"bf		1b				\n\t"
-		"and		%3, %1				\n\t"
-		: "=&z" (tmp), "=&r" (retval)
-		: "r" (a), "r" (mask)
-		: "t", "memory"
-	);
-
-	return retval != 0;
-}
-
-static inline int test_and_clear_bit(int nr, volatile void *addr)
-{
-	int	mask, retval;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%2, %0	! test_and_clear_bit	\n\t"
-		"mov		%0, %1				\n\t"
-		"and		%4, %0				\n\t"
-		"movco.l	%0, @%2				\n\t"
-		"bf		1b				\n\t"
-		"and		%3, %1				\n\t"
-		"synco						\n\t"
-		: "=&z" (tmp), "=&r" (retval)
-		: "r" (a), "r" (mask), "r" (~mask)
-		: "t", "memory"
-	);
-
-	return retval != 0;
-}
-
-static inline int test_and_change_bit(int nr, volatile void *addr)
-{
-	int	mask, retval;
-	volatile unsigned int *a = addr;
-	unsigned long tmp;
-
-	a += nr >> 5;
-	mask = 1 << (nr & 0x1f);
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%2, %0	! test_and_change_bit	\n\t"
-		"mov		%0, %1				\n\t"
-		"xor		%3, %0				\n\t"
-		"movco.l	%0, @%2				\n\t"
-		"bf		1b				\n\t"
-		"and		%3, %1				\n\t"
-		"synco						\n\t"
-		: "=&z" (tmp), "=&r" (retval)
-		: "r" (a), "r" (mask)
-		: "t", "memory"
-	);
-
-	return retval != 0;
-}
-
-#include <asm-generic/bitops/non-atomic.h>
-
-#endif /* __ASM_SH_BITOPS_LLSC_H */
diff --git a/arch/sh/include/asm/bitops-op32.h b/arch/sh/include/asm/bitops-op32.h
deleted file mode 100644
index 5ace89b4650791..00000000000000
--- a/arch/sh/include/asm/bitops-op32.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BITOPS_OP32_H
-#define __ASM_SH_BITOPS_OP32_H
-
-#include <linux/bits.h>
-
-/*
- * The bit modifying instructions on SH-2A are only capable of working
- * with a 3-bit immediate, which signifies the shift position for the bit
- * being worked on.
- */
-#if defined(__BIG_ENDIAN)
-#define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
-#define BYTE_NUMBER(nr)		((nr ^ BITOP_LE_SWIZZLE) / BITS_PER_BYTE)
-#define BYTE_OFFSET(nr)		((nr ^ BITOP_LE_SWIZZLE) % BITS_PER_BYTE)
-#else
-#define BYTE_NUMBER(nr)		((nr) / BITS_PER_BYTE)
-#define BYTE_OFFSET(nr)		((nr) % BITS_PER_BYTE)
-#endif
-
-static __always_inline void
-arch___set_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	if (__builtin_constant_p(nr)) {
-		__asm__ __volatile__ (
-			"bset.b %1, @(%O2,%0)		! __set_bit\n\t"
-			: "+r" (addr)
-			: "i" (BYTE_OFFSET(nr)), "i" (BYTE_NUMBER(nr))
-			: "t", "memory"
-		);
-	} else {
-		unsigned long mask = BIT_MASK(nr);
-		unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-
-		*p |= mask;
-	}
-}
-
-static __always_inline void
-arch___clear_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	if (__builtin_constant_p(nr)) {
-		__asm__ __volatile__ (
-			"bclr.b %1, @(%O2,%0)		! __clear_bit\n\t"
-			: "+r" (addr)
-			: "i" (BYTE_OFFSET(nr)),
-			  "i" (BYTE_NUMBER(nr))
-			: "t", "memory"
-		);
-	} else {
-		unsigned long mask = BIT_MASK(nr);
-		unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-
-		*p &= ~mask;
-	}
-}
-
-/**
- * arch___change_bit - Toggle a bit in memory
- * @nr: the bit to change
- * @addr: the address to start counting from
- *
- * Unlike change_bit(), this function is non-atomic and may be reordered.
- * If it's called on the same region of memory simultaneously, the effect
- * may be that only one operation succeeds.
- */
-static __always_inline void
-arch___change_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	if (__builtin_constant_p(nr)) {
-		__asm__ __volatile__ (
-			"bxor.b %1, @(%O2,%0)		! __change_bit\n\t"
-			: "+r" (addr)
-			: "i" (BYTE_OFFSET(nr)),
-			  "i" (BYTE_NUMBER(nr))
-			: "t", "memory"
-		);
-	} else {
-		unsigned long mask = BIT_MASK(nr);
-		unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-
-		*p ^= mask;
-	}
-}
-
-/**
- * arch___test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static __always_inline bool
-arch___test_and_set_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old = *p;
-
-	*p = old | mask;
-	return (old & mask) != 0;
-}
-
-/**
- * arch___test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static __always_inline bool
-arch___test_and_clear_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old = *p;
-
-	*p = old & ~mask;
-	return (old & mask) != 0;
-}
-
-/* WARNING: non atomic and it can be reordered! */
-static __always_inline bool
-arch___test_and_change_bit(unsigned long nr, volatile unsigned long *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old = *p;
-
-	*p = old ^ mask;
-	return (old & mask) != 0;
-}
-
-#define arch_test_bit generic_test_bit
-#define arch_test_bit_acquire generic_test_bit_acquire
-
-#include <asm-generic/bitops/non-instrumented-non-atomic.h>
-
-#endif /* __ASM_SH_BITOPS_OP32_H */
diff --git a/arch/sh/include/asm/bitops.h b/arch/sh/include/asm/bitops.h
deleted file mode 100644
index 10ceb0d6b5a997..00000000000000
--- a/arch/sh/include/asm/bitops.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BITOPS_H
-#define __ASM_SH_BITOPS_H
-
-#ifndef _LINUX_BITOPS_H
-#error only <linux/bitops.h> can be included directly
-#endif
-
-/* For __swab32 */
-#include <asm/byteorder.h>
-#include <asm/barrier.h>
-
-#ifdef CONFIG_GUSA_RB
-#include <asm/bitops-grb.h>
-#elif defined(CONFIG_CPU_SH2A)
-#include <asm-generic/bitops/atomic.h>
-#include <asm/bitops-op32.h>
-#elif defined(CONFIG_CPU_SH4A)
-#include <asm/bitops-llsc.h>
-#elif defined(CONFIG_CPU_J2) && defined(CONFIG_SMP)
-#include <asm/bitops-cas.h>
-#else
-#include <asm-generic/bitops/atomic.h>
-#include <asm-generic/bitops/non-atomic.h>
-#endif
-
-static inline unsigned long ffz(unsigned long word)
-{
-	unsigned long result;
-
-	__asm__("1:\n\t"
-		"shlr	%1\n\t"
-		"bt/s	1b\n\t"
-		" add	#1, %0"
-		: "=r" (result), "=r" (word)
-		: "0" (~0L), "1" (word)
-		: "t");
-	return result;
-}
-
-/**
- * __ffs - find first bit in word.
- * @word: The word to search
- *
- * Undefined if no bit exists, so code should check against 0 first.
- */
-static inline unsigned long __ffs(unsigned long word)
-{
-	unsigned long result;
-
-	__asm__("1:\n\t"
-		"shlr	%1\n\t"
-		"bf/s	1b\n\t"
-		" add	#1, %0"
-		: "=r" (result), "=r" (word)
-		: "0" (~0L), "1" (word)
-		: "t");
-	return result;
-}
-
-#include <asm-generic/bitops/ffs.h>
-#include <asm-generic/bitops/hweight.h>
-#include <asm-generic/bitops/lock.h>
-#include <asm-generic/bitops/sched.h>
-#include <asm-generic/bitops/ext2-atomic.h>
-#include <asm-generic/bitops/fls.h>
-#include <asm-generic/bitops/__fls.h>
-#include <asm-generic/bitops/fls64.h>
-
-#include <asm-generic/bitops/le.h>
-
-#endif /* __ASM_SH_BITOPS_H */
diff --git a/arch/sh/include/asm/bl_bit.h b/arch/sh/include/asm/bl_bit.h
deleted file mode 100644
index 5d04f2c6256376..00000000000000
--- a/arch/sh/include/asm/bl_bit.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <asm/bl_bit_32.h>
diff --git a/arch/sh/include/asm/bl_bit_32.h b/arch/sh/include/asm/bl_bit_32.h
deleted file mode 100644
index 1f7d225fc604f8..00000000000000
--- a/arch/sh/include/asm/bl_bit_32.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BL_BIT_32_H
-#define __ASM_SH_BL_BIT_32_H
-
-static inline void set_bl_bit(void)
-{
-	unsigned long __dummy0, __dummy1;
-
-	__asm__ __volatile__ (
-		"stc	sr, %0\n\t"
-		"or	%2, %0\n\t"
-		"and	%3, %0\n\t"
-		"ldc	%0, sr\n\t"
-		: "=&r" (__dummy0), "=r" (__dummy1)
-		: "r" (0x10000000), "r" (0xffffff0f)
-		: "memory"
-	);
-}
-
-static inline void clear_bl_bit(void)
-{
-	unsigned long __dummy0, __dummy1;
-
-	__asm__ __volatile__ (
-		"stc	sr, %0\n\t"
-		"and	%2, %0\n\t"
-		"ldc	%0, sr\n\t"
-		: "=&r" (__dummy0), "=r" (__dummy1)
-		: "1" (~0x10000000)
-		: "memory"
-	);
-}
-
-#endif /* __ASM_SH_BL_BIT_32_H */
diff --git a/arch/sh/include/asm/bug.h b/arch/sh/include/asm/bug.h
deleted file mode 100644
index 05a485c4fabcfc..00000000000000
--- a/arch/sh/include/asm/bug.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BUG_H
-#define __ASM_SH_BUG_H
-
-#include <linux/linkage.h>
-
-#define TRAPA_BUG_OPCODE	0xc33e	/* trapa #0x3e */
-#define BUGFLAG_UNWINDER	(1 << 1)
-
-#ifdef CONFIG_GENERIC_BUG
-#define HAVE_ARCH_BUG
-#define HAVE_ARCH_WARN_ON
-
-/**
- * _EMIT_BUG_ENTRY
- * %1 - __FILE__
- * %2 - __LINE__
- * %3 - trap type
- * %4 - sizeof(struct bug_entry)
- *
- * The trapa opcode itself sits in %0.
- * The %O notation is used to avoid # generation.
- *
- * The offending file and line are encoded in the __bug_table section.
- */
-#ifdef CONFIG_DEBUG_BUGVERBOSE
-#define _EMIT_BUG_ENTRY				\
-	"\t.pushsection __bug_table,\"aw\"\n"	\
-	"2:\t.long 1b, %O1\n"			\
-	"\t.short %O2, %O3\n"			\
-	"\t.org 2b+%O4\n"			\
-	"\t.popsection\n"
-#else
-#define _EMIT_BUG_ENTRY				\
-	"\t.pushsection __bug_table,\"aw\"\n"	\
-	"2:\t.long 1b\n"			\
-	"\t.short %O3\n"			\
-	"\t.org 2b+%O4\n"			\
-	"\t.popsection\n"
-#endif
-
-#define BUG()						\
-do {							\
-	__asm__ __volatile__ (				\
-		"1:\t.short %O0\n"			\
-		_EMIT_BUG_ENTRY				\
-		 :					\
-		 : "n" (TRAPA_BUG_OPCODE),		\
-		   "i" (__FILE__),			\
-		   "i" (__LINE__), "i" (0),		\
-		   "i" (sizeof(struct bug_entry)));	\
-	unreachable();					\
-} while (0)
-
-#define __WARN_FLAGS(flags)				\
-do {							\
-	__asm__ __volatile__ (				\
-		"1:\t.short %O0\n"			\
-		 _EMIT_BUG_ENTRY			\
-		 :					\
-		 : "n" (TRAPA_BUG_OPCODE),		\
-		   "i" (__FILE__),			\
-		   "i" (__LINE__),			\
-		   "i" (BUGFLAG_WARNING|(flags)),	\
-		   "i" (sizeof(struct bug_entry)));	\
-} while (0)
-
-#define WARN_ON(x) ({						\
-	int __ret_warn_on = !!(x);				\
-	if (__builtin_constant_p(__ret_warn_on)) {		\
-		if (__ret_warn_on)				\
-			__WARN();				\
-	} else {						\
-		if (unlikely(__ret_warn_on))			\
-			__WARN();				\
-	}							\
-	unlikely(__ret_warn_on);				\
-})
-
-#define UNWINDER_BUG()					\
-do {							\
-	__asm__ __volatile__ (				\
-		"1:\t.short %O0\n"			\
-		_EMIT_BUG_ENTRY				\
-		 :					\
-		 : "n" (TRAPA_BUG_OPCODE),		\
-		   "i" (__FILE__),			\
-		   "i" (__LINE__),			\
-		   "i" (BUGFLAG_UNWINDER),		\
-		   "i" (sizeof(struct bug_entry)));	\
-} while (0)
-
-#define UNWINDER_BUG_ON(x) ({					\
-	int __ret_unwinder_on = !!(x);				\
-	if (__builtin_constant_p(__ret_unwinder_on)) {		\
-		if (__ret_unwinder_on)				\
-			UNWINDER_BUG();				\
-	} else {						\
-		if (unlikely(__ret_unwinder_on))		\
-			UNWINDER_BUG();				\
-	}							\
-	unlikely(__ret_unwinder_on);				\
-})
-
-#else
-
-#define UNWINDER_BUG	BUG
-#define UNWINDER_BUG_ON	BUG_ON
-
-#endif /* CONFIG_GENERIC_BUG */
-
-#include <asm-generic/bug.h>
-
-struct pt_regs;
-
-/* arch/sh/kernel/traps.c */
-extern void die(const char *str, struct pt_regs *regs, long err) __attribute__ ((noreturn));
-extern void die_if_kernel(const char *str, struct pt_regs *regs, long err);
-extern void die_if_no_fixup(const char *str, struct pt_regs *regs, long err);
-
-#endif /* __ASM_SH_BUG_H */
diff --git a/arch/sh/include/asm/bugs.h b/arch/sh/include/asm/bugs.h
deleted file mode 100644
index fe52abb69cea31..00000000000000
--- a/arch/sh/include/asm/bugs.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_BUGS_H
-#define __ASM_SH_BUGS_H
-
-/*
- * This is included by init/main.c to check for architecture-dependent bugs.
- *
- * Needs:
- *	void check_bugs(void);
- */
-
-/*
- * I don't know of any Super-H bugs yet.
- */
-
-#include <asm/processor.h>
-
-extern void select_idle_routine(void);
-
-static void __init check_bugs(void)
-{
-	extern unsigned long loops_per_jiffy;
-	char *p = &init_utsname()->machine[2]; /* "sh" */
-
-	select_idle_routine();
-
-	current_cpu_data.loops_per_jiffy = loops_per_jiffy;
-
-	switch (current_cpu_data.family) {
-	case CPU_FAMILY_SH2:
-		*p++ = '2';
-		break;
-	case CPU_FAMILY_SH2A:
-		*p++ = '2';
-		*p++ = 'a';
-		break;
-	case CPU_FAMILY_SH3:
-		*p++ = '3';
-		break;
-	case CPU_FAMILY_SH4:
-		*p++ = '4';
-		break;
-	case CPU_FAMILY_SH4A:
-		*p++ = '4';
-		*p++ = 'a';
-		break;
-	case CPU_FAMILY_SH4AL_DSP:
-		*p++ = '4';
-		*p++ = 'a';
-		*p++ = 'l';
-		*p++ = '-';
-		*p++ = 'd';
-		*p++ = 's';
-		*p++ = 'p';
-		break;
-	case CPU_FAMILY_UNKNOWN:
-		/*
-		 * Specifically use CPU_FAMILY_UNKNOWN rather than
-		 * default:, so we're able to have the compiler whine
-		 * about unhandled enumerations.
-		 */
-		break;
-	}
-
-	printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
-
-#ifndef __LITTLE_ENDIAN__
-	/* 'eb' means 'Endian Big' */
-	*p++ = 'e';
-	*p++ = 'b';
-#endif
-	*p = '\0';
-}
-#endif /* __ASM_SH_BUGS_H */
diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h
deleted file mode 100644
index 32dfa6b82ec663..00000000000000
--- a/arch/sh/include/asm/cache.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* $Id: cache.h,v 1.6 2004/03/11 18:08:05 lethal Exp $
- *
- * include/asm-sh/cache.h
- *
- * Copyright 1999 (C) Niibe Yutaka
- * Copyright 2002, 2003 (C) Paul Mundt
- */
-#ifndef __ASM_SH_CACHE_H
-#define __ASM_SH_CACHE_H
-
-#include <linux/init.h>
-#include <cpu/cache.h>
-
-#define L1_CACHE_BYTES		(1 << L1_CACHE_SHIFT)
-
-#define __read_mostly __section(".data..read_mostly")
-
-#ifndef __ASSEMBLY__
-struct cache_info {
-	unsigned int ways;		/* Number of cache ways */
-	unsigned int sets;		/* Number of cache sets */
-	unsigned int linesz;		/* Cache line size (bytes) */
-
-	unsigned int way_size;		/* sets * line size */
-
-	/*
-	 * way_incr is the address offset for accessing the next way
-	 * in memory mapped cache array ops.
-	 */
-	unsigned int way_incr;
-	unsigned int entry_shift;
-	unsigned int entry_mask;
-
-	/*
-	 * Compute a mask which selects the address bits which overlap between
-	 * 1. those used to select the cache set during indexing
-	 * 2. those in the physical page number.
-	 */
-	unsigned int alias_mask;
-	unsigned int n_aliases;		/* Number of aliases */
-
-	unsigned long flags;
-};
-#endif /* __ASSEMBLY__ */
-#endif /* __ASM_SH_CACHE_H */
diff --git a/arch/sh/include/asm/cache_insns.h b/arch/sh/include/asm/cache_insns.h
deleted file mode 100644
index d7edd5297bd0f8..00000000000000
--- a/arch/sh/include/asm/cache_insns.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <asm/cache_insns_32.h>
diff --git a/arch/sh/include/asm/cache_insns_32.h b/arch/sh/include/asm/cache_insns_32.h
deleted file mode 100644
index 470880b972cb1e..00000000000000
--- a/arch/sh/include/asm/cache_insns_32.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CACHE_INSNS_32_H
-#define __ASM_SH_CACHE_INSNS_32_H
-
-#include <linux/types.h>
-
-#if defined(CONFIG_CPU_SH4A)
-#define __icbi(addr)	__asm__ __volatile__ ( "icbi @%0\n\t" : : "r" (addr))
-#else
-#define __icbi(addr)	mb()
-#endif
-
-#define __ocbp(addr)	__asm__ __volatile__ ( "ocbp @%0\n\t" : : "r" (addr))
-#define __ocbi(addr)	__asm__ __volatile__ ( "ocbi @%0\n\t" : : "r" (addr))
-#define __ocbwb(addr)	__asm__ __volatile__ ( "ocbwb @%0\n\t" : : "r" (addr))
-
-static inline reg_size_t register_align(void *val)
-{
-	return (unsigned long)(signed long)val;
-}
-
-#endif /* __ASM_SH_CACHE_INSNS_32_H */
diff --git a/arch/sh/include/asm/cacheflush.h b/arch/sh/include/asm/cacheflush.h
deleted file mode 100644
index 481a664287e2e4..00000000000000
--- a/arch/sh/include/asm/cacheflush.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CACHEFLUSH_H
-#define __ASM_SH_CACHEFLUSH_H
-
-#include <linux/mm.h>
-
-/*
- * Cache flushing:
- *
- *  - flush_cache_all() flushes entire cache
- *  - flush_cache_mm(mm) flushes the specified mm context's cache lines
- *  - flush_cache_dup mm(mm) handles cache flushing when forking
- *  - flush_cache_page(mm, vmaddr, pfn) flushes a single page
- *  - flush_cache_range(vma, start, end) flushes a range of pages
- *
- *  - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache
- *  - flush_icache_range(start, end) flushes(invalidates) a range for icache
- *  - flush_icache_page(vma, pg) flushes(invalidates) a page for icache
- *  - flush_cache_sigtramp(vaddr) flushes the signal trampoline
- */
-extern void (*local_flush_cache_all)(void *args);
-extern void (*local_flush_cache_mm)(void *args);
-extern void (*local_flush_cache_dup_mm)(void *args);
-extern void (*local_flush_cache_page)(void *args);
-extern void (*local_flush_cache_range)(void *args);
-extern void (*local_flush_dcache_page)(void *args);
-extern void (*local_flush_icache_range)(void *args);
-extern void (*local_flush_icache_page)(void *args);
-extern void (*local_flush_cache_sigtramp)(void *args);
-
-static inline void cache_noop(void *args) { }
-
-extern void (*__flush_wback_region)(void *start, int size);
-extern void (*__flush_purge_region)(void *start, int size);
-extern void (*__flush_invalidate_region)(void *start, int size);
-
-extern void flush_cache_all(void);
-extern void flush_cache_mm(struct mm_struct *mm);
-extern void flush_cache_dup_mm(struct mm_struct *mm);
-extern void flush_cache_page(struct vm_area_struct *vma,
-				unsigned long addr, unsigned long pfn);
-extern void flush_cache_range(struct vm_area_struct *vma,
-				 unsigned long start, unsigned long end);
-#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
-void flush_dcache_page(struct page *page);
-extern void flush_icache_range(unsigned long start, unsigned long end);
-#define flush_icache_user_range flush_icache_range
-extern void flush_icache_page(struct vm_area_struct *vma,
-				 struct page *page);
-extern void flush_cache_sigtramp(unsigned long address);
-
-struct flusher_data {
-	struct vm_area_struct *vma;
-	unsigned long addr1, addr2;
-};
-
-#define ARCH_HAS_FLUSH_ANON_PAGE
-extern void __flush_anon_page(struct page *page, unsigned long);
-
-static inline void flush_anon_page(struct vm_area_struct *vma,
-				   struct page *page, unsigned long vmaddr)
-{
-	if (boot_cpu_data.dcache.n_aliases && PageAnon(page))
-		__flush_anon_page(page, vmaddr);
-}
-
-#define ARCH_IMPLEMENTS_FLUSH_KERNEL_VMAP_RANGE 1
-static inline void flush_kernel_vmap_range(void *addr, int size)
-{
-	__flush_wback_region(addr, size);
-}
-static inline void invalidate_kernel_vmap_range(void *addr, int size)
-{
-	__flush_invalidate_region(addr, size);
-}
-
-extern void copy_to_user_page(struct vm_area_struct *vma,
-	struct page *page, unsigned long vaddr, void *dst, const void *src,
-	unsigned long len);
-
-extern void copy_from_user_page(struct vm_area_struct *vma,
-	struct page *page, unsigned long vaddr, void *dst, const void *src,
-	unsigned long len);
-
-#define flush_cache_vmap(start, end)		local_flush_cache_all(NULL)
-#define flush_cache_vunmap(start, end)		local_flush_cache_all(NULL)
-
-#define flush_dcache_mmap_lock(mapping)		do { } while (0)
-#define flush_dcache_mmap_unlock(mapping)	do { } while (0)
-
-void kmap_coherent_init(void);
-void *kmap_coherent(struct page *page, unsigned long addr);
-void kunmap_coherent(void *kvaddr);
-
-#define PG_dcache_clean	PG_arch_1
-
-void cpu_cache_init(void);
-
-static inline void *sh_cacheop_vaddr(void *vaddr)
-{
-	if (__in_29bit_mode())
-		vaddr = (void *)CAC_ADDR((unsigned long)vaddr);
-	return vaddr;
-}
-
-#endif /* __ASM_SH_CACHEFLUSH_H */
diff --git a/arch/sh/include/asm/checksum.h b/arch/sh/include/asm/checksum.h
deleted file mode 100644
index 00e39dd0d146a3..00000000000000
--- a/arch/sh/include/asm/checksum.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <asm/checksum_32.h>
diff --git a/arch/sh/include/asm/checksum_32.h b/arch/sh/include/asm/checksum_32.h
deleted file mode 100644
index a6501b856f3eb4..00000000000000
--- a/arch/sh/include/asm/checksum_32.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CHECKSUM_H
-#define __ASM_SH_CHECKSUM_H
-
-/*
- * Copyright (C) 1999 by Kaz Kojima & Niibe Yutaka
- */
-
-#include <linux/in6.h>
-
-/*
- * computes the checksum of a memory block at buff, length len,
- * and adds in "sum" (32-bit)
- *
- * returns a 32-bit number suitable for feeding into itself
- * or csum_tcpudp_magic
- *
- * this function must be called with even lengths, except
- * for the last fragment, which may be odd
- *
- * it's best to have buff aligned on a 32-bit boundary
- */
-asmlinkage __wsum csum_partial(const void *buff, int len, __wsum sum);
-
-/*
- * the same as csum_partial, but copies from src while it
- * checksums, and handles user-space pointer exceptions correctly, when needed.
- *
- * here even more important to align src and dst on a 32-bit (or even
- * better 64-bit) boundary
- */
-
-asmlinkage __wsum csum_partial_copy_generic(const void *src, void *dst, int len);
-
-#define _HAVE_ARCH_CSUM_AND_COPY
-/*
- *	Note: when you get a NULL pointer exception here this means someone
- *	passed in an incorrect kernel address to one of these functions.
- *
- *	If you use these functions directly please don't forget the
- *	access_ok().
- */
-static inline
-__wsum csum_partial_copy_nocheck(const void *src, void *dst, int len)
-{
-	return csum_partial_copy_generic(src, dst, len);
-}
-
-#define _HAVE_ARCH_COPY_AND_CSUM_FROM_USER
-static inline
-__wsum csum_and_copy_from_user(const void __user *src, void *dst, int len)
-{
-	if (!access_ok(src, len))
-		return 0;
-	return csum_partial_copy_generic((__force const void *)src, dst, len);
-}
-
-/*
- *	Fold a partial checksum
- */
-
-static inline __sum16 csum_fold(__wsum sum)
-{
-	unsigned int __dummy;
-	__asm__("swap.w %0, %1\n\t"
-		"extu.w	%0, %0\n\t"
-		"extu.w	%1, %1\n\t"
-		"add	%1, %0\n\t"
-		"swap.w	%0, %1\n\t"
-		"add	%1, %0\n\t"
-		"not	%0, %0\n\t"
-		: "=r" (sum), "=&r" (__dummy)
-		: "0" (sum)
-		: "t");
-	return (__force __sum16)sum;
-}
-
-/*
- *	This is a version of ip_compute_csum() optimized for IP headers,
- *	which always checksum on 4 octet boundaries.
- *
- *      i386 version by Jorge Cwik <jorge at laser.satlink.net>, adapted
- *      for linux by * Arnt Gulbrandsen.
- */
-static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
-{
-	__wsum sum;
-	unsigned int __dummy0, __dummy1;
-
-	__asm__ __volatile__(
-		"mov.l	@%1+, %0\n\t"
-		"mov.l	@%1+, %3\n\t"
-		"add	#-2, %2\n\t"
-		"clrt\n\t"
-		"1:\t"
-		"addc	%3, %0\n\t"
-		"movt	%4\n\t"
-		"mov.l	@%1+, %3\n\t"
-		"dt	%2\n\t"
-		"bf/s	1b\n\t"
-		" cmp/eq #1, %4\n\t"
-		"addc	%3, %0\n\t"
-		"addc	%2, %0"	    /* Here %2 is 0, add carry-bit */
-	/* Since the input registers which are loaded with iph and ihl
-	   are modified, we must also specify them as outputs, or gcc
-	   will assume they contain their original values. */
-	: "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (__dummy0), "=&z" (__dummy1)
-	: "1" (iph), "2" (ihl)
-	: "t", "memory");
-
-	return	csum_fold(sum);
-}
-
-static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
-					__u32 len, __u8 proto,
-					__wsum sum)
-{
-#ifdef __LITTLE_ENDIAN__
-	unsigned long len_proto = (proto + len) << 8;
-#else
-	unsigned long len_proto = proto + len;
-#endif
-	__asm__("clrt\n\t"
-		"addc	%0, %1\n\t"
-		"addc	%2, %1\n\t"
-		"addc	%3, %1\n\t"
-		"movt	%0\n\t"
-		"add	%1, %0"
-		: "=r" (sum), "=r" (len_proto)
-		: "r" (daddr), "r" (saddr), "1" (len_proto), "0" (sum)
-		: "t");
-
-	return sum;
-}
-
-/*
- * computes the checksum of the TCP/UDP pseudo-header
- * returns a 16-bit checksum, already complemented
- */
-static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
-					__u32 len, __u8 proto,
-					__wsum sum)
-{
-	return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
-}
-
-/*
- * this routine is used for miscellaneous IP-like checksums, mainly
- * in icmp.c
- */
-static inline __sum16 ip_compute_csum(const void *buff, int len)
-{
-    return csum_fold(csum_partial(buff, len, 0));
-}
-
-#define _HAVE_ARCH_IPV6_CSUM
-static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
-				      const struct in6_addr *daddr,
-				      __u32 len, __u8 proto, __wsum sum)
-{
-	unsigned int __dummy;
-	__asm__("clrt\n\t"
-		"mov.l	@(0,%2), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(4,%2), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(8,%2), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(12,%2), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(0,%3), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(4,%3), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(8,%3), %1\n\t"
-		"addc	%1, %0\n\t"
-		"mov.l	@(12,%3), %1\n\t"
-		"addc	%1, %0\n\t"
-		"addc	%4, %0\n\t"
-		"addc	%5, %0\n\t"
-		"movt	%1\n\t"
-		"add	%1, %0\n"
-		: "=r" (sum), "=&r" (__dummy)
-		: "r" (saddr), "r" (daddr),
-		  "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
-		: "t");
-
-	return csum_fold(sum);
-}
-
-/*
- *	Copy and checksum to user
- */
-#define HAVE_CSUM_COPY_USER
-static inline __wsum csum_and_copy_to_user(const void *src,
-					   void __user *dst,
-					   int len)
-{
-	if (!access_ok(dst, len))
-		return 0;
-	return csum_partial_copy_generic(src, (__force void *)dst, len);
-}
-#endif /* __ASM_SH_CHECKSUM_H */
diff --git a/arch/sh/include/asm/clock.h b/arch/sh/include/asm/clock.h
deleted file mode 100644
index b65bc2908e8aaf..00000000000000
--- a/arch/sh/include/asm/clock.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CLOCK_H
-#define __ASM_SH_CLOCK_H
-
-#include <linux/sh_clk.h>
-
-/* Should be defined by processor-specific code */
-void __deprecated arch_init_clk_ops(struct sh_clk_ops **, int type);
-int __init arch_clk_init(void);
-
-/* arch/sh/kernel/cpu/clock-cpg.c */
-int __init __deprecated cpg_clk_init(void);
-
-/* arch/sh/kernel/cpu/clock.c */
-int clk_init(void);
-
-#endif /* __ASM_SH_CLOCK_H */
diff --git a/arch/sh/include/asm/cmpxchg-cas.h b/arch/sh/include/asm/cmpxchg-cas.h
deleted file mode 100644
index f508db6eaf3192..00000000000000
--- a/arch/sh/include/asm/cmpxchg-cas.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_CAS_H
-#define __ASM_SH_CMPXCHG_CAS_H
-
-static inline unsigned long
-__cmpxchg_u32(volatile u32 *m, unsigned long old, unsigned long new)
-{
-	__asm__ __volatile__("cas.l %1,%0, at r0"
-		: "+r"(new)
-		: "r"(old), "z"(m)
-		: "t", "memory" );
-	return new;
-}
-
-static inline unsigned long xchg_u32(volatile u32 *m, unsigned long val)
-{
-	unsigned long old;
-	do old = *m;
-	while (__cmpxchg_u32(m, old, val) != old);
-	return old;
-}
-
-#include <asm/cmpxchg-xchg.h>
-
-#endif /* __ASM_SH_CMPXCHG_CAS_H */
diff --git a/arch/sh/include/asm/cmpxchg-grb.h b/arch/sh/include/asm/cmpxchg-grb.h
deleted file mode 100644
index e12279ea35cf74..00000000000000
--- a/arch/sh/include/asm/cmpxchg-grb.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_GRB_H
-#define __ASM_SH_CMPXCHG_GRB_H
-
-static inline unsigned long xchg_u32(volatile u32 *m, unsigned long val)
-{
-	unsigned long retval;
-
-	__asm__ __volatile__ (
-		"   .align 2              \n\t"
-		"   mova    1f,   r0      \n\t" /* r0 = end point */
-		"   nop                   \n\t"
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */
-		"   mov    #-4,   r15     \n\t" /* LOGIN */
-		"   mov.l  @%1,   %0      \n\t" /* load  old value */
-		"   mov.l   %2,   @%1     \n\t" /* store new value */
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */
-		: "=&r" (retval),
-		  "+r"  (m),
-		  "+r"  (val)		/* inhibit r15 overloading */
-		:
-		: "memory", "r0", "r1");
-
-	return retval;
-}
-
-static inline unsigned long xchg_u16(volatile u16 *m, unsigned long val)
-{
-	unsigned long retval;
-
-	__asm__ __volatile__ (
-		"   .align  2             \n\t"
-		"   mova    1f,   r0      \n\t" /* r0 = end point */
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */
-		"   mov    #-6,   r15     \n\t" /* LOGIN */
-		"   mov.w  @%1,   %0      \n\t" /* load  old value */
-		"   extu.w  %0,   %0      \n\t" /* extend as unsigned */
-		"   mov.w   %2,   @%1     \n\t" /* store new value */
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */
-		: "=&r" (retval),
-		  "+r"  (m),
-		  "+r"  (val)		/* inhibit r15 overloading */
-		:
-		: "memory" , "r0", "r1");
-
-	return retval;
-}
-
-static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
-{
-	unsigned long retval;
-
-	__asm__ __volatile__ (
-		"   .align  2             \n\t"
-		"   mova    1f,   r0      \n\t" /* r0 = end point */
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */
-		"   mov    #-6,   r15     \n\t" /* LOGIN */
-		"   mov.b  @%1,   %0      \n\t" /* load  old value */
-		"   extu.b  %0,   %0      \n\t" /* extend as unsigned */
-		"   mov.b   %2,   @%1     \n\t" /* store new value */
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */
-		: "=&r" (retval),
-		  "+r"  (m),
-		  "+r"  (val)		/* inhibit r15 overloading */
-		:
-		: "memory" , "r0", "r1");
-
-	return retval;
-}
-
-static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned long old,
-					  unsigned long new)
-{
-	unsigned long retval;
-
-	__asm__ __volatile__ (
-		"   .align  2             \n\t"
-		"   mova    1f,   r0      \n\t" /* r0 = end point */
-		"   nop                   \n\t"
-		"   mov    r15,   r1      \n\t" /* r1 = saved sp */
-		"   mov    #-8,   r15     \n\t" /* LOGIN */
-		"   mov.l  @%3,   %0      \n\t" /* load  old value */
-		"   cmp/eq  %0,   %1      \n\t"
-		"   bf            1f      \n\t" /* if not equal */
-		"   mov.l   %2,   @%3     \n\t" /* store new value */
-		"1: mov     r1,   r15     \n\t" /* LOGOUT */
-		: "=&r" (retval),
-		  "+r"  (old), "+r"  (new) /* old or new can be r15 */
-		:  "r"  (m)
-		: "memory" , "r0", "r1", "t");
-
-	return retval;
-}
-
-#endif /* __ASM_SH_CMPXCHG_GRB_H */
diff --git a/arch/sh/include/asm/cmpxchg-irq.h b/arch/sh/include/asm/cmpxchg-irq.h
deleted file mode 100644
index 07d3e7f0838919..00000000000000
--- a/arch/sh/include/asm/cmpxchg-irq.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_IRQ_H
-#define __ASM_SH_CMPXCHG_IRQ_H
-
-#include <linux/irqflags.h>
-
-static inline unsigned long xchg_u32(volatile u32 *m, unsigned long val)
-{
-	unsigned long flags, retval;
-
-	local_irq_save(flags);
-	retval = *m;
-	*m = val;
-	local_irq_restore(flags);
-	return retval;
-}
-
-static inline unsigned long xchg_u16(volatile u16 *m, unsigned long val)
-{
-	unsigned long flags, retval;
-
-	local_irq_save(flags);
-	retval = *m;
-	*m = val;
-	local_irq_restore(flags);
-	return retval;
-}
-
-static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
-{
-	unsigned long flags, retval;
-
-	local_irq_save(flags);
-	retval = *m;
-	*m = val & 0xff;
-	local_irq_restore(flags);
-	return retval;
-}
-
-static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned long old,
-	unsigned long new)
-{
-	__u32 retval;
-	unsigned long flags;
-
-	local_irq_save(flags);
-	retval = *m;
-	if (retval == old)
-		*m = new;
-	local_irq_restore(flags);       /* implies memory barrier  */
-	return retval;
-}
-
-#endif /* __ASM_SH_CMPXCHG_IRQ_H */
diff --git a/arch/sh/include/asm/cmpxchg-llsc.h b/arch/sh/include/asm/cmpxchg-llsc.h
deleted file mode 100644
index d5270cd297c142..00000000000000
--- a/arch/sh/include/asm/cmpxchg-llsc.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_LLSC_H
-#define __ASM_SH_CMPXCHG_LLSC_H
-
-static inline unsigned long xchg_u32(volatile u32 *m, unsigned long val)
-{
-	unsigned long retval;
-	unsigned long tmp;
-
-	__asm__ __volatile__ (
-		"1:					\n\t"
-		"movli.l	@%2, %0	! xchg_u32	\n\t"
-		"mov		%0, %1			\n\t"
-		"mov		%3, %0			\n\t"
-		"movco.l	%0, @%2			\n\t"
-		"bf		1b			\n\t"
-		"synco					\n\t"
-		: "=&z"(tmp), "=&r" (retval)
-		: "r" (m), "r" (val)
-		: "t", "memory"
-	);
-
-	return retval;
-}
-
-static inline unsigned long
-__cmpxchg_u32(volatile u32 *m, unsigned long old, unsigned long new)
-{
-	unsigned long retval;
-	unsigned long tmp;
-
-	__asm__ __volatile__ (
-		"1:						\n\t"
-		"movli.l	@%2, %0	! __cmpxchg_u32		\n\t"
-		"mov		%0, %1				\n\t"
-		"cmp/eq		%1, %3				\n\t"
-		"bf		2f				\n\t"
-		"mov		%4, %0				\n\t"
-		"2:						\n\t"
-		"movco.l	%0, @%2				\n\t"
-		"bf		1b				\n\t"
-		"synco						\n\t"
-		: "=&z" (tmp), "=&r" (retval)
-		: "r" (m), "r" (old), "r" (new)
-		: "t", "memory"
-	);
-
-	return retval;
-}
-
-#include <asm/cmpxchg-xchg.h>
-
-#endif /* __ASM_SH_CMPXCHG_LLSC_H */
diff --git a/arch/sh/include/asm/cmpxchg-xchg.h b/arch/sh/include/asm/cmpxchg-xchg.h
deleted file mode 100644
index c373f21efe4d90..00000000000000
--- a/arch/sh/include/asm/cmpxchg-xchg.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_XCHG_H
-#define __ASM_SH_CMPXCHG_XCHG_H
-
-/*
- * Copyright (C) 2016 Red Hat, Inc.
- * Author: Michael S. Tsirkin <mst at redhat.com>
- */
-#include <linux/bits.h>
-#include <linux/compiler.h>
-#include <asm/byteorder.h>
-
-/*
- * Portable implementations of 1 and 2 byte xchg using a 4 byte cmpxchg.
- * Note: this header isn't self-contained: before including it, __cmpxchg_u32
- * must be defined first.
- */
-static inline u32 __xchg_cmpxchg(volatile void *ptr, u32 x, int size)
-{
-	int off = (unsigned long)ptr % sizeof(u32);
-	volatile u32 *p = ptr - off;
-#ifdef __BIG_ENDIAN
-	int bitoff = (sizeof(u32) - size - off) * BITS_PER_BYTE;
-#else
-	int bitoff = off * BITS_PER_BYTE;
-#endif
-	u32 bitmask = ((0x1 << size * BITS_PER_BYTE) - 1) << bitoff;
-	u32 oldv, newv;
-	u32 ret;
-
-	do {
-		oldv = READ_ONCE(*p);
-		ret = (oldv & bitmask) >> bitoff;
-		newv = (oldv & ~bitmask) | (x << bitoff);
-	} while (__cmpxchg_u32(p, oldv, newv) != oldv);
-
-	return ret;
-}
-
-static inline unsigned long xchg_u16(volatile u16 *m, unsigned long val)
-{
-	return __xchg_cmpxchg(m, val, sizeof *m);
-}
-
-static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
-{
-	return __xchg_cmpxchg(m, val, sizeof *m);
-}
-
-#endif /* __ASM_SH_CMPXCHG_XCHG_H */
diff --git a/arch/sh/include/asm/cmpxchg.h b/arch/sh/include/asm/cmpxchg.h
deleted file mode 100644
index 0ed9b3f4a57796..00000000000000
--- a/arch/sh/include/asm/cmpxchg.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_SH_CMPXCHG_H
-#define __ASM_SH_CMPXCHG_H
-
-/*
- * Atomic operations that C can't guarantee us.  Useful for
- * resource counting etc..
- */
-
-#include <linux/compiler.h>
-#include <linux/types.h>
-
-#if defined(CONFIG_GUSA_RB)
-#include <asm/cmpxchg-grb.h>
-#elif defined(CONFIG_CPU_SH4A)
-#include <asm/cmpxchg-llsc.h>
-#elif defined(CONFIG_CPU_J2) && defined(CONFIG_SMP)
-#include <asm/cmpxchg-cas.h>
-#else
-#include <asm/cmpxchg-irq.h>
-#endif
-
-extern void __xchg_called_with_bad_pointer(void);
-
-#define __xchg(ptr, x, size)				\
-({							\
-	unsigned long __xchg__res;			\
-	volatile void *__xchg_ptr = (ptr);		\
-	switch (size) {					\
-	case 4:						\
-		__xchg__res = xchg_u32(__xchg_ptr, x);	\
-		break;					\
-	case 2:						\
-		__xchg__res = xchg_u16(__xchg_ptr, x);	\
-		break;					\
-	case 1:						\
-		__xchg__res = xchg_u8(__xchg_ptr, x);	\
-		break;					\
-	default:					\
-		__xchg_called_with_bad_pointer();	\
-		__xchg__res = x;			\
-		break;					\
-	}						\
-							\
-	__xchg__res;					\
-})
-
-#define arch_xchg(ptr,x)	\
-	((__typeof__(*(ptr)))__xchg((ptr),(unsigned long)(x), sizeof(*(ptr))))
-
-/* This function doesn't exist, so you'll get a linker error
- * if something tries to do an invalid cmpxchg(). */
-extern void __cmpxchg_called_with_bad_pointer(void);
-
-static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old,
-		unsigned long new, int size)
-{
-	switch (size) {
-	case 4:
-		return __cmpxchg_u32(ptr, old, new);
-	}
-	__cmpxchg_called_with_bad_pointer();
-	return old;
-}
-
-#define arch_cmpxchg(ptr,o,n)						 \
-  ({									 \
-     __typeof__(*(ptr)) _o_ = (o);					 \
-     __typeof__(*(ptr)) _n_ = (n);					 \
-     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,		 \
-				    (unsigned long)_n_, sizeof(*(ptr))); \
-  })
-
-#endif /* __ASM_SH_CMPXCHG_H */
diff --git a/arch/sh/include/asm/device.h b/arch/sh/include/asm/device.h
deleted file mode 100644
index 6f3e686a1c6f3e..00000000000000
--- a/arch/sh/include/asm/device.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Arch specific extensions to struct device
- */
-#ifndef __ASM_SH_DEVICE_H
-#define __ASM_SH_DEVICE_H
-
-#include <asm-generic/device.h>
-
-struct platform_device;
-/* allocate contiguous memory chunk and fill in struct resource */
-int platform_resource_setup_memory(struct platform_device *pdev,
-				   char *name, unsigned long memsize);
-
-void plat_early_device_setup(void);
-
-#endif /* __ASM_SH_DEVICE_H */
diff --git a/arch/sh/include/asm/dma-register.h b/arch/sh/include/asm/dma-register.h
deleted file mode 100644
index 724dab912b7108..00000000000000
--- a/arch/sh/include/asm/dma-register.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Common header for the legacy SH DMA driver and the new dmaengine driver
- *
- * extracted from arch/sh/include/asm/dma-sh.h:
- *
- * Copyright (C) 2000  Takashi YOSHII
- * Copyright (C) 2003  Paul Mundt
- */
-#ifndef DMA_REGISTER_H
-#define DMA_REGISTER_H
-
-/* DMA registers */
-#define SAR	0x00	/* Source Address Register */
-#define DAR	0x04	/* Destination Address Register */
-#define TCR	0x08	/* Transfer Count Register */
-#define CHCR	0x0C	/* Channel Control Register */
-#define DMAOR	0x40	/* DMA Operation Register */
-
-/* DMAOR definitions */
-#define DMAOR_AE	0x00000004	/* Address Error Flag */
-#define DMAOR_NMIF	0x00000002
-#define DMAOR_DME	0x00000001	/* DMA Master Enable */
-
-/* Definitions for the SuperH DMAC */
-#define REQ_L	0x00000000
-#define REQ_E	0x00080000
-#define RACK_H	0x00000000
-#define RACK_L	0x00040000
-#define ACK_R	0x00000000
-#define ACK_W	0x00020000
-#define ACK_H	0x00000000
-#define ACK_L	0x00010000
-#define DM_INC	0x00004000	/* Destination addresses are incremented */
-#define DM_DEC	0x00008000	/* Destination addresses are decremented */
-#define DM_FIX	0x0000c000	/* Destination address is fixed */
-#define SM_INC	0x00001000	/* Source addresses are incremented */
-#define SM_DEC	0x00002000	/* Source addresses are decremented */
-#define SM_FIX	0x00003000	/* Source address is fixed */
-#define RS_IN	0x00000200
-#define RS_OUT	0x00000300
-#define RS_AUTO	0x00000400	/* Auto Request */
-#define RS_ERS	0x00000800	/* DMA extended resource selector */
-#define TS_BLK	0x00000040
-#define TM_BUR	0x00000020
-#define CHCR_DE	0x00000001	/* DMA Enable */
-#define CHCR_TE	0x00000002	/* Transfer End Flag */
-#define CHCR_IE	0x00000004	/* Interrupt Enable */
-
-#endif
diff --git a/arch/sh/include/asm/dma.h b/arch/sh/include/asm/dma.h
deleted file mode 100644
index c8bee3f985a293..00000000000000
--- a/arch/sh/include/asm/dma.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * include/asm-sh/dma.h
- *
- * Copyright (C) 2003, 2004  Paul Mundt
- */
-#ifndef __ASM_SH_DMA_H
-#define __ASM_SH_DMA_H
-
-#include <linux/spinlock.h>
-#include <linux/wait.h>
-#include <linux/sched.h>
-#include <linux/device.h>
-#include <asm-generic/dma.h>
-
-/*
- * Read and write modes can mean drastically different things depending on the
- * channel configuration. Consult your DMAC documentation and module
- * implementation for further clues.
- */
-#define DMA_MODE_READ		0x00
-#define DMA_MODE_WRITE		0x01
-#define DMA_MODE_MASK		0x01
-
-#define DMA_AUTOINIT		0x10
-
-/*
- * DMAC (dma_info) flags
- */
-enum {
-	DMAC_CHANNELS_CONFIGURED	= 0x01,
-	DMAC_CHANNELS_TEI_CAPABLE	= 0x02,	/* Transfer end interrupt */
-};
-
-/*
- * DMA channel capabilities / flags
- */
-enum {
-	DMA_CONFIGURED			= 0x01,
-
-	/*
-	 * Transfer end interrupt, inherited from DMAC.
-	 * wait_queue used in dma_wait_for_completion.
-	 */
-	DMA_TEI_CAPABLE			= 0x02,
-};
-
-extern spinlock_t dma_spin_lock;
-
-struct dma_channel;
-
-struct dma_ops {
-	int (*request)(struct dma_channel *chan);
-	void (*free)(struct dma_channel *chan);
-
-	int (*get_residue)(struct dma_channel *chan);
-	int (*xfer)(struct dma_channel *chan);
-	int (*configure)(struct dma_channel *chan, unsigned long flags);
-	int (*extend)(struct dma_channel *chan, unsigned long op, void *param);
-};
-
-struct dma_channel {
-	char dev_id[16];		/* unique name per DMAC of channel */
-
-	unsigned int chan;		/* DMAC channel number */
-	unsigned int vchan;		/* Virtual channel number */
-
-	unsigned int mode;
-	unsigned int count;
-
-	unsigned long sar;
-	unsigned long dar;
-
-	const char **caps;
-
-	unsigned long flags;
-	atomic_t busy;
-
-	wait_queue_head_t wait_queue;
-
-	struct device dev;
-	void *priv_data;
-};
-
-struct dma_info {
-	struct platform_device *pdev;
-
-	const char *name;
-	unsigned int nr_channels;
-	unsigned long flags;
-
-	struct dma_ops *ops;
-	struct dma_channel *channels;
-
-	struct list_head list;
-	int first_channel_nr;
-	int first_vchannel_nr;
-};
-
-struct dma_chan_caps {
-	int ch_num;
-	const char **caplist;
-};
-
-#define to_dma_channel(channel) container_of(channel, struct dma_channel, dev)
-
-/* arch/sh/drivers/dma/dma-api.c */
-extern int dma_xfer(unsigned int chan, unsigned long from,
-		    unsigned long to, size_t size, unsigned int mode);
-
-#define dma_write(chan, from, to, size)	\
-	dma_xfer(chan, from, to, size, DMA_MODE_WRITE)
-#define dma_write_page(chan, from, to)	\
-	dma_write(chan, from, to, PAGE_SIZE)
-
-#define dma_read(chan, from, to, size)	\
-	dma_xfer(chan, from, to, size, DMA_MODE_READ)
-#define dma_read_page(chan, from, to)	\
-	dma_read(chan, from, to, PAGE_SIZE)
-
-extern int request_dma_bycap(const char **dmac, const char **caps,
-			     const char *dev_id);
-extern int get_dma_residue(unsigned int chan);
-extern struct dma_info *get_dma_info(unsigned int chan);
-extern struct dma_channel *get_dma_channel(unsigned int chan);
-extern void dma_wait_for_completion(unsigned int chan);
-extern void dma_configure_channel(unsigned int chan, unsigned long flags);
-
-extern int register_dmac(struct dma_info *info);
-extern void unregister_dmac(struct dma_info *info);
-extern struct dma_info *get_dma_info_by_name(const char *dmac_name);
-
-extern int dma_extend(unsigned int chan, unsigned long op, void *param);
-extern int register_chan_caps(const char *dmac, struct dma_chan_caps *capslist);
-
-/* arch/sh/drivers/dma/dma-sysfs.c */
-extern int dma_create_sysfs_files(struct dma_channel *, struct dma_info *);
-extern void dma_remove_sysfs_files(struct dma_channel *, struct dma_info *);
-
-#endif /* __ASM_SH_DMA_H */
diff --git a/arch/sh/include/asm/dmabrg.h b/arch/sh/include/asm/dmabrg.h
deleted file mode 100644
index 69e119cfd711e2..00000000000000
--- a/arch/sh/include/asm/dmabrg.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * SH7760 DMABRG (USB/Audio) support
- */
-
-#ifndef _DMABRG_H_
-#define _DMABRG_H_
-
-/* IRQ sources */
-#define DMABRGIRQ_USBDMA	0
-#define DMABRGIRQ_USBDMAERR	1
-#define DMABRGIRQ_A0TXF		2
-#define DMABRGIRQ_A0TXH		3
-#define DMABRGIRQ_A0RXF		4
-#define DMABRGIRQ_A0RXH		5
-#define DMABRGIRQ_A1TXF		6
-#define DMABRGIRQ_A1TXH		7
-#define DMABRGIRQ_A1RXF		8
-#define DMABRGIRQ_A1RXH		9
-
-extern int dmabrg_request_irq(unsigned int, void(*)(void *), void *);
-extern void dmabrg_free_irq(unsigned int);
-
-#endif
diff --git a/arch/sh/include/asm/dwarf.h b/arch/sh/include/asm/dwarf.h
deleted file mode 100644
index 57195447412212..00000000000000
--- a/arch/sh/include/asm/dwarf.h
+++ /dev/null
@@ -1,417 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0
- *
- * Copyright (C) 2009 Matt Fleming <matt at console-pimps.org>
- */
-#ifndef __ASM_SH_DWARF_H
-#define __ASM_SH_DWARF_H
-
-#ifdef CONFIG_DWARF_UNWINDER
-
-/*
- * DWARF expression operations
- */
-#define DW_OP_addr	0x03
-#define DW_OP_deref	0x06
-#define DW_OP_const1u	0x08
-#define DW_OP_const1s	0x09
-#define DW_OP_const2u	0x0a
-#define DW_OP_const2s	0x0b
-#define DW_OP_const4u	0x0c
-#define DW_OP_const4s	0x0d
-#define DW_OP_const8u	0x0e
-#define DW_OP_const8s	0x0f
-#define DW_OP_constu	0x10
-#define DW_OP_consts	0x11
-#define DW_OP_dup	0x12
-#define DW_OP_drop	0x13
-#define DW_OP_over	0x14
-#define DW_OP_pick	0x15
-#define DW_OP_swap	0x16
-#define DW_OP_rot	0x17
-#define DW_OP_xderef	0x18
-#define DW_OP_abs	0x19
-#define DW_OP_and	0x1a
-#define DW_OP_div	0x1b
-#define DW_OP_minus	0x1c
-#define DW_OP_mod	0x1d
-#define DW_OP_mul	0x1e
-#define DW_OP_neg	0x1f
-#define DW_OP_not	0x20
-#define DW_OP_or	0x21
-#define DW_OP_plus	0x22
-#define DW_OP_plus_uconst	0x23
-#define DW_OP_shl	0x24
-#define DW_OP_shr	0x25
-#define DW_OP_shra	0x26
-#define DW_OP_xor	0x27
-#define DW_OP_skip	0x2f
-#define DW_OP_bra	0x28
-#define DW_OP_eq	0x29
-#define DW_OP_ge	0x2a
-#define DW_OP_gt	0x2b
-#define DW_OP_le	0x2c
-#define DW_OP_lt	0x2d
-#define DW_OP_ne	0x2e
-#define DW_OP_lit0	0x30
-#define DW_OP_lit1	0x31
-#define DW_OP_lit2	0x32
-#define DW_OP_lit3	0x33
-#define DW_OP_lit4	0x34
-#define DW_OP_lit5	0x35
-#define DW_OP_lit6	0x36
-#define DW_OP_lit7	0x37
-#define DW_OP_lit8	0x38
-#define DW_OP_lit9	0x39
-#define DW_OP_lit10	0x3a
-#define DW_OP_lit11	0x3b
-#define DW_OP_lit12	0x3c
-#define DW_OP_lit13	0x3d
-#define DW_OP_lit14	0x3e
-#define DW_OP_lit15	0x3f
-#define DW_OP_lit16	0x40
-#define DW_OP_lit17	0x41
-#define DW_OP_lit18	0x42
-#define DW_OP_lit19	0x43
-#define DW_OP_lit20	0x44
-#define DW_OP_lit21	0x45
-#define DW_OP_lit22	0x46
-#define DW_OP_lit23	0x47
-#define DW_OP_lit24	0x48
-#define DW_OP_lit25	0x49
-#define DW_OP_lit26	0x4a
-#define DW_OP_lit27	0x4b
-#define DW_OP_lit28	0x4c
-#define DW_OP_lit29	0x4d
-#define DW_OP_lit30	0x4e
-#define DW_OP_lit31	0x4f
-#define DW_OP_reg0	0x50
-#define DW_OP_reg1	0x51
-#define DW_OP_reg2	0x52
-#define DW_OP_reg3	0x53
-#define DW_OP_reg4	0x54
-#define DW_OP_reg5	0x55
-#define DW_OP_reg6	0x56
-#define DW_OP_reg7	0x57
-#define DW_OP_reg8	0x58
-#define DW_OP_reg9	0x59
-#define DW_OP_reg10	0x5a
-#define DW_OP_reg11	0x5b
-#define DW_OP_reg12	0x5c
-#define DW_OP_reg13	0x5d
-#define DW_OP_reg14	0x5e
-#define DW_OP_reg15	0x5f
-#define DW_OP_reg16	0x60
-#define DW_OP_reg17	0x61
-#define DW_OP_reg18	0x62
-#define DW_OP_reg19	0x63
-#define DW_OP_reg20	0x64
-#define DW_OP_reg21	0x65
-#define DW_OP_reg22	0x66
-#define DW_OP_reg23	0x67
-#define DW_OP_reg24	0x68
-#define DW_OP_reg25	0x69
-#define DW_OP_reg26	0x6a
-#define DW_OP_reg27	0x6b
-#define DW_OP_reg28	0x6c
-#define DW_OP_reg29	0x6d
-#define DW_OP_reg30	0x6e
-#define DW_OP_reg31	0x6f
-#define DW_OP_breg0	0x70
-#define DW_OP_breg1	0x71
-#define DW_OP_breg2	0x72
-#define DW_OP_breg3	0x73
-#define DW_OP_breg4	0x74
-#define DW_OP_breg5	0x75
-#define DW_OP_breg6	0x76
-#define DW_OP_breg7	0x77
-#define DW_OP_breg8	0x78
-#define DW_OP_breg9	0x79
-#define DW_OP_breg10	0x7a
-#define DW_OP_breg11	0x7b
-#define DW_OP_breg12	0x7c
-#define DW_OP_breg13	0x7d
-#define DW_OP_breg14	0x7e
-#define DW_OP_breg15	0x7f
-#define DW_OP_breg16	0x80
-#define DW_OP_breg17	0x81
-#define DW_OP_breg18	0x82
-#define DW_OP_breg19	0x83
-#define DW_OP_breg20	0x84
-#define DW_OP_breg21	0x85
-#define DW_OP_breg22	0x86
-#define DW_OP_breg23	0x87
-#define DW_OP_breg24	0x88
-#define DW_OP_breg25	0x89
-#define DW_OP_breg26	0x8a
-#define DW_OP_breg27	0x8b
-#define DW_OP_breg28	0x8c
-#define DW_OP_breg29	0x8d
-#define DW_OP_breg30	0x8e
-#define DW_OP_breg31	0x8f
-#define DW_OP_regx	0x90
-#define DW_OP_fbreg	0x91
-#define DW_OP_bregx	0x92
-#define DW_OP_piece	0x93
-#define DW_OP_deref_size	0x94
-#define DW_OP_xderef_size	0x95
-#define DW_OP_nop	0x96
-#define DW_OP_push_object_address	0x97
-#define DW_OP_call2	0x98
-#define DW_OP_call4	0x99
-#define DW_OP_call_ref	0x9a
-#define DW_OP_form_tls_address	0x9b
-#define DW_OP_call_frame_cfa	0x9c
-#define DW_OP_bit_piece	0x9d
-#define DW_OP_lo_user	0xe0
-#define DW_OP_hi_user	0xff
-
-/*
- * Addresses used in FDE entries in the .eh_frame section may be encoded
- * using one of the following encodings.
- */
-#define DW_EH_PE_absptr	0x00
-#define DW_EH_PE_omit	0xff
-#define DW_EH_PE_uleb128	0x01
-#define DW_EH_PE_udata2	0x02
-#define DW_EH_PE_udata4	0x03
-#define DW_EH_PE_udata8	0x04
-#define DW_EH_PE_sleb128	0x09
-#define DW_EH_PE_sdata2	0x0a
-#define DW_EH_PE_sdata4	0x0b
-#define DW_EH_PE_sdata8	0x0c
-#define DW_EH_PE_signed	0x09
-
-#define DW_EH_PE_pcrel	0x10
-
-/*
- * The architecture-specific register number that contains the return
- * address in the .debug_frame table.
- */
-#define DWARF_ARCH_RA_REG	17
-
-#ifndef __ASSEMBLY__
-
-#include <linux/compiler.h>
-#include <linux/bug.h>
-#include <linux/list.h>
-#include <linux/module.h>
-
-/*
- * Read either the frame pointer (r14) or the stack pointer (r15).
- * NOTE: this MUST be inlined.
- */
-static __always_inline unsigned long dwarf_read_arch_reg(unsigned int reg)
-{
-	unsigned long value = 0;
-
-	switch (reg) {
-	case 14:
-		__asm__ __volatile__("mov r14, %0\n" : "=r" (value));
-		break;
-	case 15:
-		__asm__ __volatile__("mov r15, %0\n" : "=r" (value));
-		break;
-	default:
-		BUG();
-	}
-
-	return value;
-}
-
-/**
- *	dwarf_cie - Common Information Entry
- */
-struct dwarf_cie {
-	unsigned long length;
-	unsigned long cie_id;
-	unsigned char version;
-	const char *augmentation;
-	unsigned int code_alignment_factor;
-	int data_alignment_factor;
-
-	/* Which column in the rule table represents return addr of func. */
-	unsigned int return_address_reg;
-
-	unsigned char *initial_instructions;
-	unsigned char *instructions_end;
-
-	unsigned char encoding;
-
-	unsigned long cie_pointer;
-
-	unsigned long flags;
-#define DWARF_CIE_Z_AUGMENTATION	(1 << 0)
-
-	/* linked-list entry if this CIE is from a module */
-	struct list_head link;
-
-	struct rb_node node;
-};
-
-/**
- *	dwarf_fde - Frame Description Entry
- */
-struct dwarf_fde {
-	unsigned long length;
-	unsigned long cie_pointer;
-	struct dwarf_cie *cie;
-	unsigned long initial_location;
-	unsigned long address_range;
-	unsigned char *instructions;
-	unsigned char *end;
-
-	/* linked-list entry if this FDE is from a module */
-	struct list_head link;
-
-	struct rb_node node;
-};
-
-/**
- *	dwarf_frame - DWARF information for a frame in the call stack
- */
-struct dwarf_frame {
-	struct dwarf_frame *prev, *next;
-
-	unsigned long pc;
-
-	struct list_head reg_list;
-
-	unsigned long cfa;
-
-	/* Valid when DW_FRAME_CFA_REG_OFFSET is set in flags */
-	unsigned int cfa_register;
-	unsigned int cfa_offset;
-
-	/* Valid when DW_FRAME_CFA_REG_EXP is set in flags */
-	unsigned char *cfa_expr;
-	unsigned int cfa_expr_len;
-
-	unsigned long flags;
-#define DWARF_FRAME_CFA_REG_OFFSET	(1 << 0)
-#define DWARF_FRAME_CFA_REG_EXP		(1 << 1)
-
-	unsigned long return_addr;
-};
-
-/**
- *	dwarf_reg - DWARF register
- *	@flags: Describes how to calculate the value of this register
- */
-struct dwarf_reg {
-	struct list_head link;
-
-	unsigned int number;
-
-	unsigned long addr;
-	unsigned long flags;
-#define DWARF_REG_OFFSET	(1 << 0)
-#define DWARF_VAL_OFFSET	(1 << 1)
-#define DWARF_UNDEFINED		(1 << 2)
-};
-
-/*
- * Call Frame instruction opcodes.
- */
-#define DW_CFA_advance_loc	0x40
-#define DW_CFA_offset		0x80
-#define DW_CFA_restore		0xc0
-#define DW_CFA_nop		0x00
-#define DW_CFA_set_loc		0x01
-#define DW_CFA_advance_loc1	0x02
-#define DW_CFA_advance_loc2	0x03
-#define DW_CFA_advance_loc4	0x04
-#define DW_CFA_offset_extended	0x05
-#define DW_CFA_restore_extended	0x06
-#define DW_CFA_undefined	0x07
-#define DW_CFA_same_value	0x08
-#define DW_CFA_register		0x09
-#define DW_CFA_remember_state	0x0a
-#define DW_CFA_restore_state	0x0b
-#define DW_CFA_def_cfa		0x0c
-#define DW_CFA_def_cfa_register	0x0d
-#define DW_CFA_def_cfa_offset	0x0e
-#define DW_CFA_def_cfa_expression	0x0f
-#define DW_CFA_expression	0x10
-#define DW_CFA_offset_extended_sf	0x11
-#define DW_CFA_def_cfa_sf	0x12
-#define DW_CFA_def_cfa_offset_sf	0x13
-#define DW_CFA_val_offset	0x14
-#define DW_CFA_val_offset_sf	0x15
-#define DW_CFA_val_expression	0x16
-#define DW_CFA_lo_user		0x1c
-#define DW_CFA_hi_user		0x3f
-
-/* GNU extension opcodes  */
-#define DW_CFA_GNU_args_size	0x2e
-#define DW_CFA_GNU_negative_offset_extended 0x2f
-
-/*
- * Some call frame instructions encode their operands in the opcode. We
- * need some helper functions to extract both the opcode and operands
- * from an instruction.
- */
-static inline unsigned int DW_CFA_opcode(unsigned long insn)
-{
-	return (insn & 0xc0);
-}
-
-static inline unsigned int DW_CFA_operand(unsigned long insn)
-{
-	return (insn & 0x3f);
-}
-
-#define DW_EH_FRAME_CIE	0		/* .eh_frame CIE IDs are 0 */
-#define DW_CIE_ID	0xffffffff
-#define DW64_CIE_ID	0xffffffffffffffffULL
-
-/*
- * DWARF FDE/CIE length field values.
- */
-#define DW_EXT_LO	0xfffffff0
-#define DW_EXT_HI	0xffffffff
-#define DW_EXT_DWARF64	DW_EXT_HI
-
-extern struct dwarf_frame *dwarf_unwind_stack(unsigned long,
-					      struct dwarf_frame *);
-extern void dwarf_free_frame(struct dwarf_frame *);
-
-extern int module_dwarf_finalize(const Elf_Ehdr *, const Elf_Shdr *,
-				 struct module *);
-extern void module_dwarf_cleanup(struct module *);
-
-#endif /* !__ASSEMBLY__ */
-
-#define CFI_STARTPROC	.cfi_startproc
-#define CFI_ENDPROC	.cfi_endproc
-#define CFI_DEF_CFA	.cfi_def_cfa
-#define CFI_REGISTER	.cfi_register
-#define CFI_REL_OFFSET	.cfi_rel_offset
-#define CFI_UNDEFINED	.cfi_undefined
-
-#else
-
-/*
- * Use the asm comment character to ignore the rest of the line.
- */
-#define CFI_IGNORE	!
-
-#define CFI_STARTPROC	CFI_IGNORE
-#define CFI_ENDPROC	CFI_IGNORE
-#define CFI_DEF_CFA	CFI_IGNORE
-#define CFI_REGISTER	CFI_IGNORE
-#define CFI_REL_OFFSET	CFI_IGNORE
-#define CFI_UNDEFINED	CFI_IGNORE
-
-#ifndef __ASSEMBLY__
-static inline void dwarf_unwinder_init(void)
-{
-}
-
-#define module_dwarf_finalize(hdr, sechdrs, me)	(0)
-#define module_dwarf_cleanup(mod)		do { } while (0)
-
-#endif
-
-#endif /* CONFIG_DWARF_UNWINDER */
-
-#endif /* __ASM_SH_DWARF_H */
diff --git a/arch/sh/include/asm/elf.h b/arch/sh/include/asm/elf.h