Skip to content
Permalink
Ban-Tao/ASoC-s…
Switch branches/tags

Commits on Jun 16, 2021

  1. ASoC: sun50i-dmic: dt-bindings: add DT bindings for DMIC controller

    The Allwinner SoCs feature an I2S controller across multiple SoC
    generations.
    
    Signed-off-by: Ban Tao <fengzheng923@gmail.com>
    Ban Tao authored and intel-lab-lkp committed Jun 16, 2021
  2. ASoC: sunxi: Add Allwinner H6 Digital MIC driver

    The Allwinner H6 and later SoCs have an DMIC block
    which is capable of capture.
    
    Signed-off-by: Ban Tao <fengzheng923@gmail.com>
    Ban Tao authored and intel-lab-lkp committed Jun 16, 2021

Commits on Jun 10, 2021

  1. arm64: dts: allwinner: a64-sopine-baseboard: change RGMII mode to TXID

    Although the schematics of Pine A64-LTS and SoPine Baseboard shows both
    the RX and TX internal delay are enabled, they're using the same broken
    RTL8211E chip batch with Pine A64+, so they should use TXID instead, not
    ID.
    
    In addition, by checking the real components soldered on both a SoPine
    Baseboard and a Pine A64-LTS, RX delay is not enabled (GR69 soldered and
    GR70 NC) despite the schematics says it's enabled. It's a common
    situation for Pine64 boards that the NC information on schematics is not
    the same with the board.
    
    So the RGMII delay mode should be TXID on these boards.
    
    Fixes: c2b111e ("arm64: dts: allwinner: A64 Sopine: phy-mode rgmii-id")
    Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210609083843.463750-1-icenowy@aosc.io
    Icenowy authored and mripard committed Jun 10, 2021

Commits on May 31, 2021

  1. ARM: dts: sun8i: v3s: enable emac for zero Dock

    dwmac-sun8i supports v3s and
    Licheepi-zero Dock provides an ethernet port
    furthermore, align nodes in alphabetical order
    
    Signed-off-by: Andreas Rehn <rehn.andreas86@gmail.com>
    Reviewed-by: Andre Przywara <andre.przywara@arm.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210525173159.183415-1-rehn.andreas86@gmail.com
    DAMEK86 authored and mripard committed May 31, 2021

Commits on May 24, 2021

  1. Merge branches 'sunxi/clk-fixes-for-5.13', 'sunxi/dt-for-5.14' and 's…

    …unxi/fixes-for-5.13' into sunxi/for-next
    mripard committed May 24, 2021
  2. ARM: dts: sun8i: h3: orangepi-plus: Fix ethernet phy-mode

    Commit bbc4d71 ("net: phy: realtek: fix rtl8211e rx/tx delay
    config") sets the RX/TX delay according to the phy-mode property in the
    device tree. For the Orange Pi Plus board this is "rgmii", which is the
    wrong setting.
    
    Following the example of a900cac ("ARM: dts: sun7i: a20: bananapro:
    Fix ethernet phy-mode") the phy-mode is changed to "rgmii-id" which gets
    the Ethernet working again on this board.
    
    Fixes: bbc4d71 ("net: phy: realtek: fix rtl8211e rx/tx delay config")
    Reported-by: "B.R. Oake" <broake@mailfence.com>
    Reported-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
    Link: https://bugs.debian.org/988574
    Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210524122111.416885-1-carnil@debian.org
    carnil authored and mripard committed May 24, 2021
  3. arm64: dts: allwinner: pinephone: Set audio card name

    Add the "PinePhone" name to the sound card: this will make
    upstreaming an ALSA UCM config easier as we can use a unique name.
    
    It also avoids an issue where the default card name is truncated.
    
    Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
    [Samuel: Split out change, updated commit message]
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-8-samuel@sholland.org
    a-wai authored and mripard committed May 24, 2021
  4. clk: sunxi-ng: v3s: fix incorrect postdivider on pll-audio

    Commit 46060be ("clk: sunxi-ng: v3s: use sigma-delta modulation for audio-pll")
    changed the audio pll on the Allwinner V3s and V3 SoCs to use
    sigma-delta modulation. In the process the declaration of fixed postdivider
    providing "pll-audio" was adjusted to provide the desired clock rates from
    the now sigma-delta modulated pll.
    However, while the divider used for calculations by the clock framework
    was adjusted the actual divider programmed into the hardware in
    sun8i_v3_v3s_ccu_init was left at "divide by four". This broke the
    "pll-audio" clock, now only providing quater the expected clock rate.
    It would in general be desirable to program the postdivider for
    "pll-audio" to four, such that a broader range of frequencies were
    available on the pll outputs. But the clock for the integrated codec
    "ac-dig" does not feature a mux that allows to select from all pll outputs
    as it is just a simple clock gate connected to "pll-audio". Thus we need
    to set the postdivider to one to be able to provide the 22.5792MHz and
    24.576MHz rates required by the internal sun4i codec.
    
    This patches fixes the incorrect clock rate by forcing the postdivider to
    one in sun8i_v3_v3s_ccu_init.
    
    Fixes: 46060be ("clk: sunxi-ng: v3s: use sigma-delta modulation for audio-pll")
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210513131315.2059451-1-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 24, 2021

Commits on May 18, 2021

  1. ARM: dts: sun8i: r40: Add timer node

    Allwinner R40 has a timer.
    
    Add a node for it.
    
    Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210510163647.2731675-1-jernej.skrabec@gmail.com
    jernejsk authored and mripard committed May 18, 2021
  2. ARM: dts: sun8i: V3: add I2S interface to V3 dts

    The Allwinner V3 SoC features an I2S interface. The I2S peripheral is
    identical to that in the Allwinner H3 SoC.
    This commit adds it to the Allwinner V3 dts.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-8-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  3. dt-bindings: sound: sun4i-i2s: add Allwinner V3 I2S compatible

    The I2S peripheral of the Allwinner V3 SoC is compatible with the one
    found in the Allwinner H3 SoC.
    This patch adds a compatible string for it.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-7-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  4. ARM: dts: sun8i: V3: add codec analog frontend to V3 dts

    The Allwinner V3 SoC has a different analog codec frontend than the V3s
    SoC. The frontend used on the V3 SoC is compatible with the on used in
    the Allwinner H3 SoC.
    This patch adds the corresponding node to the Allwinner V3 dtsi.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-6-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  5. ASoC: dt-bindings: sun8i-a23-codec-analog: add compatible for Allwinn…

    …er V3
    
    The analog codec frontend of the Allwinner V3 is compatible with the
    analog codec frontend used on the Allwinner H3.
    This patch adds a compatible string for the analog codec frontend on the
    Allwinner V3 SoC.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-5-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  6. ARM: dts: sun8i: v3s: add analog codec and frontend to v3s dts

    The Allwinner V3s and V3 SoCs feature an integrated analog audio codec.
    Additionally both have an analog frontend with mixers and amplifiers for
    the codec.
    This commit adds both, the analog codec and its frontend to the V3s dtsi.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-4-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  7. ARM: dts: sun8i: v3s: add DMA properties to peripherals supporting DMA

    This commit adds DMA properties to all peripherals supporting DMA on the
    Allwinner V3s, enabling accelerated data transfer to them.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-3-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  8. ARM: dts: sun8i: v3s: add DMA controller to v3s dts

    The Allwinner V3s and V3 feature a DMA controller.
    This commit adds it to the V3s dtsi.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210514134405.2097464-2-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  9. ARM: dts: sun8i: v3s: add pwm controller to v3s dts

    The Allwinner V3s and V3 SoCs feature a pwm controller identical to the
    one used in the Allwinner A20.
    This commit adds it to the V3s dtsi.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Reviewed-by: Andre Przywara <andre.przywara@arm.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210513203527.2072090-3-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  10. dt-bindings: pwm: allwinner: add v3s pwm compatible

    The Allwinner V3s pwm peripheral is compatible with the pwm peripheral
    inside the Allwinner A20.
    This patch adds a compatible string for it.
    
    Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
    Reviewed-by: Andre Przywara <andre.przywara@arm.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210513203527.2072090-2-t.schramm@manjaro.org
    TobleMiner authored and mripard committed May 18, 2021
  11. arm64: dts: allwinner: h5: Add NanoPi R1S H5 support

    The NanoPi R1S H5 is a open source board made by FriendlyElec.
    It has the following features:
    
    - Allwinner H5, Quad-core Cortex-A53
    - 512MB DDR3 RAM
    - 10/100/1000M Ethernet x 2
    - RTL8189ETV WiFi 802.11b/g/n
    - USB 2.0 host port (A)
    - MicroSD Slot
    - Serial Debug Port
    - 5V 2A DC power-supply
    
    Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210516163523.9484-2-amadeus@jmu.edu.cn
    aiamadeus authored and mripard committed May 18, 2021
  12. dt-bindings: arm: Add NanoPi R1S H5

    Add the bindings for NanoPi R1S H5 board.
    
    Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210516163523.9484-3-amadeus@jmu.edu.cn
    aiamadeus authored and mripard committed May 18, 2021

Commits on May 11, 2021

  1. arm64: dts: allwinner: pinephone: Add support for Bluetooth audio

    The PinePhone has a Bluetooth chip with its PCM interface connected to
    AIF3. Add the DAI link so headeset audio can be routed in hardware.
    
    Even though the link is 16 bit PCM, configuring the link a 32-bit slot
    is required for compatibility with AIF2, which also uses a 32-bit slot,
    and which shares clock dividers with AIF3. Using equal clock frequencies
    allows the modem and headset to be used at the same time.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-7-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  2. arm64: dts: allwinner: a64: Allow multiple DAI links

    simple-audio-card supports either a single DAI link at the top level, or
    subnodes with one or more DAI links. To use the secondary AIFs on the
    codec, we need to add additional DAI links to the same sound card, so we
    need to use the other binding.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-6-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  3. arm64: dts: allwinner: a64: Add pinmux nodes for AIF2/AIF3

    Now that the sun8i-codec driver supports AIF2 and AIF3, boards can use
    them in DAI links. Add the necessary pinmux nodes.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-5-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  4. arm64: dts: allwinner: a64: Allow using multiple codec DAIs

    Increase #sound-dai-cells on the digital codec to allow using the other
    DAIs provided by the codec for AIF2 and AIF3.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-4-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  5. ARM: dts: sun8i-a33: Allow using multiple codec DAIs

    Increase #sound-dai-cells on the digital codec to allow using the other
    DAIs provided by the codec for AIF2 and AIF3.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-3-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  6. ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells

    Increase sound-dai-cells to 1 to allow using the DAIs in the codec
    corresponding to AIF2 and AIF3.
    
    The generic ASoC OF code supports a #sound-dai-cells value of 0 or 1
    with no impact to the driver, so this is a backward-compatible change.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210430035859.3487-2-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  7. arm64: dts: allwinner: Add sun4i MMIO timer nodes

    For a CPU to enter an idle state, some timer must be available to
    trigger an IRQ and wake it back up. The local ARM architectural timer is
    not sufficient, because that timer stops when the CPU is powered down.
    The ARM architectural timer from some other CPU can be used, but doing
    so prevents that other CPU from entering an idle state. For all CPUs to
    power down at the same time, Linux needs a timer which is not tied to
    any CPU.
    
    Hook up the "sun4i" timer so it can be used for this purpose. It runs at
    24 MHz, which balances resolution and power consumption.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210322044707.19479-5-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  8. arm64: dts: allwinner: a64: Sort watchdog node

    Nodes should be sorted by unit address. Move the watchdog node to the
    correct place, so it will be next to the timer node when that is added.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210322044707.19479-4-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  9. dt-bindings: timer: Add compatibles for sun50i timers

    The sun50i SoCs contain timer blocks which are useful as broadcast
    clockevent sources. They each have 2 interrupts, matching the A23
    variant, so add the new compatible strings with the A23 compatible
    as a fallback.
    
    Acked-by: Maxime Ripard <maxime@cerno.tech>
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210322044707.19479-3-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021
  10. dt-bindings: timer: Simplify conditional expressions

    The sun4i timer IP block has a variable number of interrupts based on
    the compatible. Use enums to combine the two sections for the existing
    3-interrupt variants, and to simplify adding new compatible strings.
    
    Acked-by: Maxime Ripard <maxime@cerno.tech>
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210322044707.19479-2-samuel@sholland.org
    smaeul authored and mripard committed May 11, 2021

Commits on May 10, 2021

  1. arm64: sunxi: Build the sun4i timer driver

    While the ARM architectural timer is generatlly the best timer to use,
    a non-c3stop timer is needed for cpuidle.
    
    Build the "sun4i" timer driver so it can be used for this purpose.
    It is present on all 64-bit sunxi SoCs.
    
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210322044707.19479-6-samuel@sholland.org
    smaeul authored and mripard committed May 10, 2021
  2. ARM: dts: sun8i: r40: add devicetree for Forlinx FETA40i-C & OKA40i-C

    The FETA40i-C is a SoM by Forlinx based on the Allwinner R40/A40i.
    
    SoM specifications:
    
    - SoC: R40 or A40i
    - PMIC: AXP221S
    - RAM: 1GiB/2GiB DDR3 (dual-rank)
    - eMMC: 8GB,
    - Mates with carrier board via four 80-pin connectors (AXK6F80337YG).
    
    OKA40i-C is a carrier board by the same manufacturer for this SoM,
    whose main purpose is as a development board with a wide variety of
    peripherals:
    
    - Power: DC5V barrel or USB OTG or 4.2V Lipo battery
    - Video out: HDMI, TV out, LVDS
    - WiFi+Bluetooth: RL-UM02WBS-8723BU-V1.2 (802.11 b/g/n, BT V2.1/3.0/4.0)
    - Ethernet: 10/100Mbps
    - Storage: µSD, fullsize SD, eMMC (on SoM), SATA
    - USB: 3 x USB2.0 Host (2 via hub, 1 native), 1 x USB2.0 OTG (micro-B)
    - UART: RS232, RS485, 4 3.3v uarts (of which 2 have RTS/CTS)
    - Other I/O: SPI x2, TWI, SDIO header, GPIO header, JTAG header
    - Mini PCIe slot with sim holder for WLAN modem
    - Smart card holder
    - RTC (RX8010SJ)
    - Two user LEDs
    - Three user buttons (via KeyADC).
    
    This patch adds a devicetree for the aforementioned SoM and devboard.
    In order to reflect the modularity of this devboard and simplify adding
    support for future hardware based on the same SoM, the devicetree is split:
    Everything pertaining to the SoM itself is described in a separate .dtsi
    file, which is included by the devboard's .dts.
    
    Reviewed-by: Andre Przywara <andre.przywara@arm.com>
    Signed-off-by: Ivan Uvarov <i.uvarov@cognitivepilot.com>
    
     3 files changed, 310 insertions(+)
    
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210407111428.3755684-6-i.uvarov@cognitivepilot.com
    Ivan Uvarov authored and mripard committed May 10, 2021
  3. dt-bindings: arm: add compatible for Forlinx OKA40i-C and FETA40i-C

    The FETA40i-C is a SoM by Forlinx based on the Allwinner R40/A40i SoC.
    The OKA40i-C is a carrier/development board by the same company based on
    this SoM.
    
    This patch adds compatible strings for these two devices in preparation for
    the next patch containing a devicetree for them.
    
    Signed-off-by: Ivan Uvarov <i.uvarov@cognitivepilot.com>
    
     1 file changed, 6 insertions(+)
    
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210407111428.3755684-5-i.uvarov@cognitivepilot.com
    Ivan Uvarov authored and mripard committed May 10, 2021
Older