29 Mar, 2019

1 commit


01 Feb, 2019

3 commits


06 Jan, 2019

1 commit


03 Jan, 2019

2 commits

  • This patch adds a Kconfig option to enable the full pinctrl driver
    for the RK3399. This flag needs to be enabed in order to get the
    features of the full pinctrl driver compiled in (i.e. a .set_state()
    callback).

    Signed-off-by: Christoph Muellner
    Reviewed-by: Philipp Tomsich

    Christoph Muellner
     
  • The current pinctrl driver for the RK3399 has a range of qulity issues.
    E.g. it only implements the .set_state_simple() callback, it
    does not parse the available pinctrl information from the DTS
    (instead uses hardcoded values), is not flexible enough to cover
    devices without 'interrupt' field in the DTS (e.g. PWM),
    is not written generic enough to make code reusable among other
    rockchip SoCs...

    This patch addresses these issues by reimplementing the whole driver
    from scratch using the .set_state() callback.
    The new implementation covers all featurese of the old code
    (i.e. it supports pinmuxing and pullup/pulldown configuration).

    This patch has been tested on a RK3399-Q7 SoM (Puma).

    Signed-off-by: Christoph Muellner
    Reviewed-by: Philipp Tomsich

    Christoph Muellner
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

28 Apr, 2018

1 commit


29 Mar, 2018

3 commits


29 Jan, 2018

5 commits


01 Dec, 2017

1 commit


26 Nov, 2017

1 commit

  • The RK3399 has a total of 9 I2C controllers. To support these, the
    enum in periph.h is extended and the mapping from the IRQ numbers to
    the peripheral-ids is extended to ensure that pinctrl requests are
    passed through to the function configuring the I2C pins.

    For I2C8, the pinctrl is implemented and tested (on a RK3399-Q7) using
    communication with the FAN53555 connected on I2C8.

    Signed-off-by: Philipp Tomsich
    Tested-by: Klaus Goger

    Philipp Tomsich
     

01 Oct, 2017

1 commit

  • Apparently, our earlier assumption that the BROM will always set up
    the iomux for SDcard communication does not always hold true: when
    booting U-Boot from the on-module (on the RK3368-uQ7) eMMC, the SDcard
    pins are not set up and need to be configured by the pinctrl driver to
    allow SD card access.

    This change implements support for setting up the SDMMC pins in
    pinctrl for the RK3368.

    Reported-by: Klaus Goger
    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     

19 Sep, 2017

1 commit


19 Aug, 2017

2 commits


13 Aug, 2017

5 commits

  • To implement pinctrl support for the RK3368, we need to add the
    bit-definitions to configure the IOMUX and tie these into the
    pinctrl framework. This also adds the mapping from the IRQ# back
    onto the periheral id for the SPI devices.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • There is no real reason to keep the bit-definitions for the IOMUX in
    the grf header file (which defines the register layout of the GRF block):
    these should only be used by our pinctrl driver (with the possible
    exception of early debug-init code in TPL/SPL).

    This moves the relevant definitions from the grf_rk3368.h header
    into the pinctrl driver pinctrl_rk3368.c.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • The RK3368 has two SD/MMC controllers that can be used from U-Boot
    both during SPL and for booting an OS from the full bootloader stage.
    While both are configured to (mostly) sensible settings from the BROM,
    additional configuration for the MMC controller is needed to configure
    it to 8bit mode.

    This adds pinctrl support for the MMC controller.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • To add GMAC (Gigabit Ethernet) support (limited to RGMII only at this
    point), we need support for additional pin-configuration. This commit
    adds the pinctrl support for GMAC in RGMII mode:
    * adds a PERIPH_ID_GMAC and the mapping from IRQ number to PERIPH_ID
    * configures the RGMII pins

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • The RK3368 GRF header was still defines with a shifted-mask but with
    non-shifted function selectors for the IOMUX defines. As the RK3368
    support is still fresh enough to allow a quick change, we do this now
    before having more code use this.

    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     

27 Jul, 2017

3 commits

  • Currently, drive-strenght to 12ma are described and supposed to be used
    on RK3288. However, the pinctrl driver for this SoC only handles muxing
    and pull up/pull down via PU/PD control registers. So complex IPs like
    GMAC are working in normal ethernet 100mbps, but not at 1gbps typically.

    This commit adds support for handling drive-strength of 12ma, when it's
    defined in the DT.

    Signed-off-by: Romain Perier
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Romain Perier
     
  • This reverts TXCLK toggling that was accidently dropped while reworking
    commit 2454b719fb87 ("rockchip: rk3288: Add pinctrl support for the gmac
    ethernet interface"). So the TX clock is enabled and we can use
    GMAC_ROCKCHIP in 1Gbps when basic PINCTRL support is enabled
    (!PINTRL_FULL).

    Fixes: 2454b719fb87 ("rockchip: rk3288: Add pinctrl support for the...")
    Signed-off-by: Romain Perier
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Romain Perier
     
  • We should not handle this pin explicitly from pinctrl. GMAC driver takes
    care of it by using a "reset-gpio" in the DT.

    This commit removes pull up for GPIO4B0.

    Fixes: 2454b719fb87 ("rockchip: rk3288: Add pinctrl support for the...")
    Signed-off-by: Romain Perier
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Romain Perier
     

11 Jul, 2017

4 commits

  • Add support for the gmac ethernet interface to pinctrl. This hardcodes
    the setup to match that of the firefly and Radxa Rock2 boards, using the
    RGMII phy mode for gmac interface and GPIO4B0 as the phy reset GPIO.

    Signed-off-by: Sjoerd Simons
    Signed-off-by: Romain Perier
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Sjoerd Simons
     
  • SDMMC-PWREN is a pin to control voltage for SDMMC IO, it may
    be high active or low active, the dwmmc driver always assume
    the sdmmc-pwren as high active.

    Kernel treat this pin as fixed regulator instead of a pin from
    controller, and then it can set in dts file upon board schematic,
    that's a good solution, we can also do this in u-boot.

    Signed-off-by: Kever Yang
    Acked-by: Simon Glass
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add init pinctrl driver support for:
    - i2c;
    - spi;
    - uart;
    - pwm;
    - emmc/sdmmc;

    Signed-off-by: Kever Yang
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • With the new dev_read functions available, we can convert the rockchip
    architecture-specific drivers and common drivers used by these devices
    over to the dev_read family of calls.

    This change covers the pinctrl drivers for the Rockchip devices.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     

07 Jun, 2017

5 commits