brcmstb.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (C) 2013-2014 Broadcom Corporation
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License as
  6. * published by the Free Software Foundation version 2.
  7. *
  8. * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  9. * kind, whether express or implied; without even the implied warranty
  10. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. */
  13. #include <linux/init.h>
  14. #include <linux/irqchip.h>
  15. #include <linux/of_platform.h>
  16. #include <linux/soc/brcmstb/brcmstb.h>
  17. #include <asm/mach-types.h>
  18. #include <asm/mach/arch.h>
  19. /*
  20. * Storage for debug-macro.S's state.
  21. *
  22. * This must be in .data not .bss so that it gets initialized each time the
  23. * kernel is loaded. The data is declared here rather than debug-macro.S so
  24. * that multiple inclusions of debug-macro.S point at the same data.
  25. */
  26. u32 brcmstb_uart_config[3] = {
  27. /* Debug UART initialization required */
  28. 1,
  29. /* Debug UART physical address */
  30. 0,
  31. /* Debug UART virtual address */
  32. 0,
  33. };
  34. static void __init brcmstb_init_irq(void)
  35. {
  36. irqchip_init();
  37. brcmstb_biuctrl_init();
  38. }
  39. static const char *const brcmstb_match[] __initconst = {
  40. "brcm,bcm7445",
  41. "brcm,brcmstb",
  42. NULL
  43. };
  44. DT_MACHINE_START(BRCMSTB, "Broadcom STB (Flattened Device Tree)")
  45. .dt_compat = brcmstb_match,
  46. .init_irq = brcmstb_init_irq,
  47. MACHINE_END