Unverified Commit c1b835ee authored by Mark Brown's avatar Mark Brown
Browse files

Anbernic RG-DS AW87391 Speaker Amps

Merge series from Chris Morgan <macroalpha82@gmail.com>:

Add support for the Anbernic RG-DS Speaker Amplifiers. The Anbernic
RG-DS uses two AW87391 ICs at 0x58 and 0x5B on i2c2. However, the
manufacturer did not provide a firmware file, only a sequence of
register writes to each device to enable and disable them.

Add support for this *specific* configuration in the AW87390 driver.
Since we are relying on a device specific sequence I am using a
device specific compatible string. This driver does not currently
support the aw87391 for any other device as I have none to test
with valid firmware. Attempts to create firmware with the AwinicSCPv4
have not been successful.
parents 8a066a81 a145cfd0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -851,6 +851,7 @@ Valentin Schneider <vschneid@redhat.com> <valentin.schneider@arm.com>
Veera Sundaram Sankaran <quic_veeras@quicinc.com> <veeras@codeaurora.org>
Veerabhadrarao Badiganti <quic_vbadigan@quicinc.com> <vbadigan@codeaurora.org>
Venkateswara Naralasetty <quic_vnaralas@quicinc.com> <vnaralas@codeaurora.org>
Viacheslav Bocharov <v@baodeep.com> <adeep@lexina.in>
Vikash Garodia <vikash.garodia@oss.qualcomm.com> <vgarodia@codeaurora.org>
Vikash Garodia <vikash.garodia@oss.qualcomm.com> <quic_vgarodia@quicinc.com>
Vincent Mailhol <mailhol@kernel.org> <mailhol.vincent@wanadoo.fr>
+2 −0
Original line number Diff line number Diff line
@@ -231,6 +231,8 @@ eventually gets pushed out to disk. This tunable is used to define when dirty
inode is old enough to be eligible for writeback by the kernel flusher threads.
And, it is also used as the interval to wakeup dirtytime_writeback thread.

Setting this to zero disables periodic dirtytime writeback.


dirty_writeback_centisecs
=========================
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ patternProperties:
                pcie1_clkreq, pcie1_wakeup, pmic0, pmic1, ptp, ptp_clk,
                ptp_trig, pwm0, pwm1, pwm2, pwm3, rgmii, sdio0, sdio_sb, smi,
                spi_cs1, spi_cs2, spi_cs3, spi_quad, uart1, uart2,
                usb2_drvvbus1, usb32_drvvbus ]
                usb2_drvvbus1, usb32_drvvbus0 ]

      function:
        enum: [ drvbus, emmc, gpio, i2c, jtag, led, mii, mii_err, onewire,
+29 −5
Original line number Diff line number Diff line
@@ -15,12 +15,15 @@ description:
  sound quallity, which is a new high efficiency, low
  noise, constant large volume, 6th Smart K audio amplifier.

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    const: awinic,aw87390
    oneOf:
      - enum:
          - awinic,aw87390
      - items:
          - enum:
              - anbernic,rgds-amp
          - const: awinic,aw87391

  reg:
    maxItems: 1
@@ -40,10 +43,31 @@ required:
  - compatible
  - reg
  - "#sound-dai-cells"
  - awinic,audio-channel

unevaluatedProperties: false

allOf:
  - $ref: dai-common.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - awinic,aw87390
    then:
      required:
        - awinic,audio-channel

  - if:
      properties:
        compatible:
          contains:
            enum:
              - anbernic,rgds-amp
    then:
      properties:
        vdd-supply: true

examples:
  - |
    i2c {
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ properties:
      - items:
          - enum:
              - fsl,imx94-sai
              - fsl,imx952-sai
          - const: fsl,imx95-sai

  reg:
Loading