Skip to content
  1. Jul 22, 2021
  2. Jul 20, 2021
  3. Jul 19, 2021
    • Phil Elwell's avatar
      ARM: dts: bcm2711: Tidy the HDMI I2C aliases · 55f43ec5
      Phil Elwell authored
      
      
      The bcm2711 vc3-kms-v3d overlay enables the I2C instances used for
      EDID data. Give these distinct I2C interface numbers (20 & 21) to
      clearly separate them from other regular I2C blocks (1, 3-6) and the
      mux on I2C0 (10+).
      
      The 2711 DTS tree no longer includes i2c2, so the explicit deletion can
      be removed.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      55f43ec5
  4. Jul 16, 2021
  5. Jul 15, 2021
    • Dom Cobley's avatar
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Refactor mode checking logic · f6657869
      Mateusz Kwiatkowski authored
      
      
      Replace drm_encoder_helper_funcs::atomic_check with
      drm_connector_helper_funcs::atomic_check - the former is not called
      during drm_mode_obj_set_property_ioctl(). Set crtc_state->mode_changed
      if TV norm changes even without explicit mode change. This makes things
      like "xrandr --output Composite-1 --set mode PAL-M" work properly.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      f6657869
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Allow setting the TV norm via module parameter · 2d2e7e5e
      Mateusz Kwiatkowski authored
      
      
      Similar to the ch7006 and nouveau drivers, introduce a "tv_mode" module
      parameter that allow setting the TV norm by specifying vc4.tv_norm= on
      the kernel command line.
      
      If that is not specified, try inferring one of the most popular norms
      (PAL or NTSC) from the video mode specified on the command line. On
      Raspberry Pis, this causes the most common cases of the sdtv_mode
      setting in config.txt to be respected.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      2d2e7e5e
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Add support for more analog TV standards · 7da41d8a
      Mateusz Kwiatkowski authored
      
      
      Add support for the following composite output modes (all of them are
      somewhat more obscure than the previously defined ones):
      
      - NTSC_443 - NTSC-style signal with the chroma subcarrier shifted to
        4.43361875 MHz (the PAL subcarrier frequency). Never used for
        broadcasting, but sometimes used as a hack to play NTSC content in PAL
        regions (e.g. on VCRs).
      - PAL_N - PAL with alternative chroma subcarrier frequency,
        3.58205625 MHz. Used as a broadcast standard in Argentina, Paraguay
        and Uruguay to fit 576i50 with colour in 6 MHz channel raster.
      - PAL60 - 480i60 signal with PAL-style color at normal European PAL
        frequency. Another non-standard, non-broadcast mode, used in similar
        contexts as NTSC_443. Some displays support one but not the other.
      - SECAM - French frequency-modulated analog color standard; also have
        been broadcast in Eastern Europe and various parts of Africa and Asia.
        Uses the same 576i50 timings as PAL.
      
      Also added some comments explaining color subcarrier frequency
      registers.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      7da41d8a
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Fix definition of PAL-M mode · 60213115
      Mateusz Kwiatkowski authored
      
      
      PAL-M is a Brazilian analog TV standard that uses a PAL-style chroma
      subcarrier at 3.575611[888111] MHz on top of 525-line (480i60) timings.
      This commit makes the driver actually use the proper VEC preset for this
      mode instead of just changing PAL subcarrier frequency.
      
      DRM mode constant names have also been changed, as they no longer
      correspond to the "NTSC" or "PAL" terms.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      60213115
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Refactor VEC TV mode setting · cb13145e
      Mateusz Kwiatkowski authored
      
      
      Change the mode_set function pointer logic to declarative config0,
      config1 and custom_freq fields, to make TV mode setting logic more
      concise and uniform.
      
      Additionally, remove the superfluous tv_mode field, which was redundant
      with the mode field in struct drm_tv_connector_state.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      cb13145e
    • Mateusz Kwiatkowski's avatar
      drm/vc4: Fix timings for VEC modes · 16c6da0f
      Mateusz Kwiatkowski authored
      
      
      This commit fixes vertical timings of the VEC (composite output) modes
      to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R
      standards.
      
      Previous timings were actually defined as 502 and 601 lines, resulting
      in non-standard 62.69 Hz and 52 Hz signals being generated,
      respectively.
      
      Changes to vc4_crtc.c have also been made, to make the PixelValve
      vertical timings accurately correspond to the DRM modeline in interlaced
      modes. The resulting VERTA/VERTB register values have been verified
      against the reference values set by the Raspberry Pi firmware.
      
      Signed-off-by: default avatarMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
      16c6da0f
  6. Jul 14, 2021