sf_lvds.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright 2016 Rockchip Inc.
  4. */
  5. #include <common.h>
  6. #include <display.h>
  7. #include <dm.h>
  8. #include <edid.h>
  9. #include <log.h>
  10. #include <panel.h>
  11. #include <regmap.h>
  12. #include <syscon.h>
  13. #include <asm/global_data.h>
  14. #include <asm/gpio.h>
  15. #include <asm/io.h>
  16. #include <dt-bindings/clock/rk3288-cru.h>
  17. #include <dt-bindings/video/rk3288.h>
  18. DECLARE_GLOBAL_DATA_PTR;
  19. /**
  20. * struct rk_lvds_priv - private rockchip lvds display driver info
  21. *
  22. * @reg: LVDS register address
  23. * @grf: GRF register
  24. * @panel: Panel device that is used in driver
  25. *
  26. * @output: Output mode, decided single or double channel,
  27. * LVDS or LVTLL
  28. * @format: Data format that RGB data will packing as
  29. */
  30. struct rk_lvds_priv {
  31. void __iomem *regs;
  32. struct udevice *panel;
  33. int output;
  34. int format;
  35. };
  36. int rk_lvds_enable(struct udevice *dev, int panel_bpp,
  37. const struct display_timing *edid)
  38. {
  39. return 0;
  40. }
  41. int rk_lvds_read_timing(struct udevice *dev, struct display_timing *timing)
  42. {
  43. return 0;
  44. }
  45. static int rk_lvds_of_to_plat(struct udevice *dev)
  46. {
  47. return 0;
  48. }
  49. int rk_lvds_probe(struct udevice *dev)
  50. {
  51. return 0;
  52. }
  53. static const struct dm_display_ops lvds_rockchip_ops = {
  54. .read_timing = rk_lvds_read_timing,
  55. .enable = rk_lvds_enable,
  56. };
  57. static const struct udevice_id rockchip_lvds_ids[] = {
  58. {.compatible = "rockchip,rk3288-lvds"},
  59. {}
  60. };
  61. U_BOOT_DRIVER(lvds_rockchip) = {
  62. .name = "lvds_rockchip",
  63. .id = UCLASS_DISPLAY,
  64. .of_match = rockchip_lvds_ids,
  65. .ops = &lvds_rockchip_ops,
  66. .of_to_plat = rk_lvds_of_to_plat,
  67. .probe = rk_lvds_probe,
  68. .priv_auto = sizeof(struct rk_lvds_priv),
  69. };