Skip to content
Snippets Groups Projects
  1. Sep 22, 2022
    • Tobias Kahlki's avatar
      CI: Updated gitlab-ci and switched to new recipe name · 74f2ce9e
      Tobias Kahlki authored
      The workflow for the integration of the gitlab-ci submodule has changed.
      Updated the gitlab-ci yaml file to use the new workflow and also updated
      the CI to the current revision.
      
      Note: The name of linux-guf was changed to linux-seconorth for the 5.15
      kernel.
      74f2ce9e
  2. Aug 29, 2022
  3. Mar 17, 2022
    • Clemens Terasa's avatar
      arm:dts: Add support for NALLINO · a92ffefa
      Clemens Terasa authored
      Add support for the Garz& Fricke NALLINO platform. The NALLINO platform
      is based on an NXP i.MX6 ULL. It includes support for a parallel RBG
      Display, I2C Touch, RS232, RS485, microSD-Card.
      a92ffefa
    • Clemens Terasa's avatar
      arm:dts: Add support for SANTINO-LT · f613d469
      Clemens Terasa authored
      Add support for the Garz & Fricke SANTINO-LT platform. The SANTINO-LT
      platform is based on an NXP i.MX6 Solo or DualLite. It includes support
      for a parallel RBG Display, CAN, Audio, I2C Touch, RS232, RS485,
      microSD-Card.
      f613d469
    • Clemens Terasa's avatar
      arm:dts: Add support for SANTARO · b920451e
      Clemens Terasa authored
      Add support for the Garz& Fricke SANTARO platform. The SANTARO platform
      is based on an NXP i.MX6 Solo, DualLite, Dual or Quad. It includes
      support for an LVDS Display, Audio, RTC, Temperature Sensor, I2C Touch,
      RS232, RS485, SD-Card.
      b920451e
    • Clemens Terasa's avatar
      arm:dts: Add support for SANTOKA · 85419241
      Clemens Terasa authored
      Add support for the Garz& Fricke SANTOKA platform. The SANTOKA platform
      is based on an NXP i.MX6 Solo, DualLite, Dual, Quad or QuadPlus. It
      includes support for an LVDS Display, CAN, Audio, Temperature Sensor,
      PCIe, RTC, I2C Touch, RS232, RS485, SD-Card and USB.
      85419241
    • Clemens Terasa's avatar
      arm:dts: Add support for SANTINO · 08663c02
      Clemens Terasa authored
       Add support for the Garz& Fricke SANTINO platform. The SANTINO platform
       is based on an NXP i.MX6 Solo or DuaslLite. It includes support for an
       RGB Display, I2C Touch, RS232, RS485, SD-Cards and USB.
      08663c02
    • Clemens Terasa's avatar
      arm:dts: Groundwork for Garz & Fricke i.MX6 systems · d171bc3f
      Clemens Terasa authored
      Add create Garz & Fricke directory below arch/arm/boot/dts to keep the
      Garz & Fricke specific files separated. This is not the "common"
      mainline approach for ARM dts definitions, however it is the practice
      for ARM64 platform.
      
      Add the common imx6qdl-san.dtsi include file that is common for all garz
      & Fricke SAN* platforms. Later commits will add those separately.
      
      * Add aliases for all platforms
      * Add default std-out
      * Add common audio parts like audio amplifier, audio-codec-clock,
        sgtl5000, ssi
      * Add backlight
      * Add gfplatdetect
      * Add common regulators
      * Configure AUDMUX for different platforms. The actual routing is done
        in the platform definition
      * Add CAN
      * Add common clock definition for the IPU
      * Add Fast Ethernet Controller (FEC)
      * Add I2C1, I2C2 and I2C3
      * Add all pinctrl entries.
      * Add UARTs
      * Add USB ports
      * Add USDHC
      * Add watchdog reset pin
      d171bc3f
    • Felix Gerking's avatar
      CI: Add gitlab-ci for reproducible builds · e04dc453
      Felix Gerking authored and Clemens Terasa's avatar Clemens Terasa committed
      BCS 746-000016
      e04dc453
    • Jonas Höppner's avatar
      logo: Add Garz & Fricke logos · dd23afe7
      Jonas Höppner authored and Clemens Terasa's avatar Clemens Terasa committed
      As per request form the marketing department, add a neutral Garz &
      Fricke boot splash. This also fits into the Garz & Fricke group.
      
      Also add a Flash-N-Go System logo.
      
      BCS 746-000275
      BCS 746-000468
      dd23afe7
    • Clemens Terasa's avatar
      arm:setup: Add Garz & Fricke version detection · 88ec678e
      Clemens Terasa authored
      This patchset adds Garz & Fricke specific version info to the mainline
      kernel. It adds information to /proc/cpuinfo, exports symbols to be used
      by a separate Garz & Fricke versioning module and exports the
      ATAG_Version (used for the Flash-N-Go Boot bootloader version) to the
      device tree.
      
      On previous implementations we introduced the board revision and the
      bootloader revision in the /proc/cpuinfo. Because of legacy consumers
      namely the install script, the demos and maybe more tools, we decided to
      add those also to this more mainline kernel.
      
      The detection itself should come from a platform-detection module and
      may be built out of kernel.
      
      Add the variables for the board revision and the Flash-N-Go Boot
      bootloader version, export them and show the contents in the
      /proc/cpuinfo entry.
      
      For a platform detection module more information of the actual hardware
      is needed. Specifically the mxc_cpu_type and the iMX SoC revision
      information is needed.
      
      Avoid exporting the __mxc_cpu_type though, as it should not be
      overwritten by an external module.
      
      Thus add a new function mxc_get_cpu_type and export both, the newly
      added function and the imx_get_soc_revision.
      
      The modification of the machine name is not possible if the machine
      name is not exported.  Thus export the machine_name variable.
      
      By default the machine name comes from ATAGS or the machines_desc
      structure that most often is created by the {DT_}MACHINE_START macros.
      
      For our custom boards, however, we want to set the machine name
      externally from a module. The alternative would be to creta a custom
      board-* oder mach-* .c file in arch/arm/mach-imx/. This, however, would copy
      most of the sensible platform code, which I regard as disencouraged.
      
      A "platform-detection" module would be a clean and nicely separated
      solution.
      
      The ATAGS have various tags useful to determine platform specific data
      already acquired from or generated by the bootloader.
      In this case it is the revision tag that the bootloader might fill in
      the ATAGS structure.
      
      In the G&F case and using the Flash-N-Go Boot bootloader the bootloader
      version is propagated in the ATAGS_REVISION tag.
      
      To be able to handle this later after the ATAGS are destroyed parse
      the ATAG_REVISION and add it to a atag-revision entry in the device
      tree.
      88ec678e
    • Carsten Behling's avatar
      arm: Set Garz & Fricke specific kernel virtual address · 79a37874
      Carsten Behling authored and Clemens Terasa's avatar Clemens Terasa committed
      On Garz & Fricke linux ports for historic and legacy reasons a
      different virtual kernel address offset is being used.
      
      Set the textofs from 0x00008000 to 0x00010000 and do so as well for the
      KERNEL_RAM_VADDR.
      
      TODO: Perhaps add a Garz & Fricke specific config or preprocessor
      variable.
      79a37874
    • Jonas Höppner's avatar
      drm/fbdev: set default colordepth for emulated fbdev to 32bit · 2edc6611
      Jonas Höppner authored and Clemens Terasa's avatar Clemens Terasa committed
      The lagacyfb_depth was set to 16 by default, but we want 32 to have all
      colors of a 24bit display also during framebuffer access.
      
      BCS 746-000038
      2edc6611
    • Clemens Terasa's avatar
      panel-dt: Add panel-dt · bc113aef
      Clemens Terasa authored
      This introduces a new panel driver called panel-dt for panels defined in
      the device tree.
      The goal is to create a panel driver similar to the panel-simple but
      introducing more device tree features, and make the definition via
      device tree definition mandatory, instead of overriding an exiting
      pre-defined panel.
      This would enable us to define most of the functionalities in the device
      tree.
      
      This approach has already been discussed in
      https://patchwork.kernel.org/patch/10842593/
      
       but was not considered to
      be valuable for the mainline linux kernel.
      
      For some users and for us, however, this might be very helpful.
      
      The question is still open, if the changes are better suited in the
      panel-simple and perhaps introducing another variation, similar to the
      panel-simple-dsi variant or in a separate file but this uses the latter
      approach.
      
      Steps taken:
      * Introduce the new panel-dt file, copied from panel-simple.c.
        Set the license to GPLv2.
      * Add the panel-dt driver to the Kconfig and conditionally build.
      * Remove the panel descriptions as well as the DSI interface.
        With the removal of the  DSI interace the module can be initialized by
        a simple module_platform_driver() call.
      * Remove all timings and modes.
      * Also rewrite the probe routine to require the panel-timings entry
        similar to the panel-lvds case.
      * Get the panel properties form the device tree instead of the
        simple-panel hard-coded way. Import the delays, dimensions (in mm),
        the bus-format and -flags and bits-per-color.
      * Add the device tree bindings documentation for the panel-dt driver.
        Regression: I was not able to test it with `make dt_binding_check` or
        `make dtbs_check` as per Documentation/devicetree/writing-schema.md.
      * Add the support for the special LVDS SEL6_8 GPIO that on some displays
        enables switches between 18 and 24 bit modes.
        This is somewhat Garz & Fricke specific.
      * Regression: The "guf," compatible prefix is not yet defined in
        Documentation/devicetree/bindings/vendor-prefixes.yaml
      * In recent kernel the rotation property was introduced in the panel
        device tree definitions and the panel-simple driver.
        Do the same for panel-dt and add the rotation information.
        However, I currently see no effect, but Weston should use this property
        since version 9.0.0
      * Preliminary uncomment the drm_connector_set_panel_orientation call
        in the get_modes implementation.
      * The bus flags can be supplied by the similar enum display_flags. the
        display_flags are part of the videomode and can be converted to
        bus_flags by using the drm_bus_flags_from_videomode() function.  By
        using this in the panel-dt driver we get the possibility to use the
        polarity settings like hsync-active, vsync-active, de-active,
        pixelclk-active and syncclk-active.
      
        BCS 746-000430
        BCS 746-000415
        BCS 746-000415
      
      Signed-off-by: default avatarClemens Terasa <clemens.terasa@garz-fricke.com>
      bc113aef
    • Norman Stetter's avatar
      Add PF1550 PMIC driver · ee12fb40
      Norman Stetter authored and Clemens Terasa's avatar Clemens Terasa committed
      * pull in the PF1550 PMIC driver from linux-fscl at commit
      f2c1392ff3473a396e4d177ff5ad368b9d6cd211
      ee12fb40
    • Clemens Terasa's avatar
      drm/imx: parallel-display: Fix bus_flags check · cc0e8334
      Clemens Terasa authored
      Add the DRM_BUS_FLAG_SYNC_DRIVE_{POS,NEG}EDGE as valid bus flag setting.
      
      Let's assume following function call order form a panel driver:
      of_parse_display_timing() -> videomode_from_timing() ->
      drm_bus_flags_from_videomode() and let's assume the result will end up
      as bus_flags in the parallel-display driver.
      
      The of_parse_display_timing() will set the DISPLAY_FLAGS_SYNC_*
      flags either when given explicitly using the "syncclk-active" device
      tree property or implicitly when the "pixelclk-active" property is being
      used.
      
      This results in the DRM_BUS_FLAG_SYNC_DRIVE_{POS,NEG}EDGE being set. So
      it is necessary to include the DRM_BUS_FLAG_SYNC_DRIVE_{POS,NEG}EDGE in
      the validity check as well.
      
      BCS 746-000430
      cc0e8334
    • Jonas Höppner's avatar
      tty: serial: imx: Add SW emulation for mark and space parity · 3255bc70
      Jonas Höppner authored and Clemens Terasa's avatar Clemens Terasa committed
      Integrate software implementation for mark and space from guf mdb driver.
      Rewrite most of the code:
       Use controller_parity from the uart register
       Use available flags instead of new enum.
       Resort some code to remove dupplicated code snippets.
       Rewrite logic, more readable.
       Move mark and space parity to inline functions
       Disable DMA when CMSPAR is set, still port DMA needs to be disable to
       always work, as disable DMA after open (when setting CMSPAR via ioctl)
       is not implemented. Close and reopen after setting the bit does work.
      
       Also cleanup the reconfiguration of ODD/EVEN during TX, as RX lost
       bytes in the mdb driver variant. Now the rx_interrupt routine is called
       until all buffers are empty before disalbe RX and change ODD/EVEN parity.
       This way the received bytes could be mapped to the parity config used
       during rx. Still a short moment RX is disabled which could lead to
       missed bits.
      
       Theres also a busy wait until TX queues are empty, which could probably
       lead to high system load on slow datarates, as this might wait one byte
       long.
      
      BCS 746-000322
      3255bc70
    • Clemens Terasa's avatar
      net: rfkill: gpio: add device tree support · 7430b85b
      Clemens Terasa authored
      Stolen from by https://lore.kernel.org/linux-arm-kernel/1397544101-18135-6-git-send-email-wens@csie.org/
      
      Add device tree support for the rfkil-gpio driver.
      Do not use the "new" gpio lookup from the same patchset.
      7430b85b
    • Carsten Behling's avatar
      kbuild: EXTRAVERSION to '-guf' · 9d06af4d
      Carsten Behling authored and Clemens Terasa's avatar Clemens Terasa committed
      It is good practice to show the world the provider of a kernel build.
      For Garz & Fricke build we always used "-guf" do to here as well.
      9d06af4d
  4. Mar 16, 2022
Loading