Commit 356a0319 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tty / serial driver updates from Greg KH:
 "Here is the "big" set of tty/serial driver updates for 6.12-rc1.

  Nothing major in here, just nice forward progress in the slow cleanup
  of the serial apis, and lots of other driver updates and fixes.

  Included in here are:

   - serial api updates from Jiri to make things more uniform and sane

   - 8250_platform driver cleanups

   - samsung serial driver fixes and updates

   - qcom-geni serial driver fixes from Johan for the bizarre UART
     engine that that chip seems to have. Hopefully it's in a better
     state now, but hardware designers still seem to come up with more
     ways to make broken UARTS 40+ years after this all should have
     finished.

   - sc16is7xx driver updates

   - omap 8250 driver updates

   - 8250_bcm2835aux driver updates

   - a few new serial driver bindings added

   - other serial minor driver updates

  All of these have been in linux-next for a long time with no reported
  problems"

* tag 'tty-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
  tty: serial: samsung: Fix serial rx on Apple A7-A9
  tty: serial: samsung: Fix A7-A11 serial earlycon SError
  tty: serial: samsung: Use bit manipulation macros for APPLE_S5L_*
  tty: rp2: Fix reset with non forgiving PCIe host bridges
  serial: 8250_aspeed_vuart: Enable module autoloading
  serial: qcom-geni: fix polled console corruption
  serial: qcom-geni: disable interrupts during console writes
  serial: qcom-geni: fix console corruption
  serial: qcom-geni: introduce qcom_geni_serial_poll_bitfield()
  serial: qcom-geni: fix arg types for qcom_geni_serial_poll_bit()
  soc: qcom: geni-se: add GP_LENGTH/IRQ_EN_SET/IRQ_EN_CLEAR registers
  serial: qcom-geni: fix false console tx restart
  serial: qcom-geni: fix fifo polling timeout
  tty: hvc: convert comma to semicolon
  mxser: convert comma to semicolon
  serial: 8250_bcm2835aux: Fix clock imbalance in PM resume
  serial: sc16is7xx: convert bitmask definitions to use BIT() macro
  serial: sc16is7xx: fix copy-paste errors in EFR_SWFLOWx_BIT constants
  serial: sc16is7xx: remove SC16IS7XX_MSR_DELTA_MASK
  serial: xilinx_uartps: Make cdns_rs485_supported static
  ...
parents 4965ddb1 5ed771f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ properties:
  clock-frequency: true
  current-speed: true
  overrun-throttle-ms: true
  wakeup-source: true

required:
  - compatible
+8 −1
Original line number Diff line number Diff line
@@ -23,13 +23,20 @@ properties:
          - const: atmel,at91sam9260-dbgu
          - const: atmel,at91sam9260-usart
      - items:
          - const: microchip,sam9x60-usart
          - enum:
              - microchip,sam9x60-usart
              - microchip,sam9x7-usart
          - const: atmel,at91sam9260-usart
      - items:
          - const: microchip,sam9x60-dbgu
          - const: microchip,sam9x60-usart
          - const: atmel,at91sam9260-dbgu
          - const: atmel,at91sam9260-usart
      - items:
          - const: microchip,sam9x7-dbgu
          - const: atmel,at91sam9260-dbgu
          - const: microchip,sam9x7-usart
          - const: atmel,at91sam9260-usart

  reg:
    maxItems: 1
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ properties:
              - mediatek,mt7622-uart
              - mediatek,mt7623-uart
              - mediatek,mt7629-uart
              - mediatek,mt7981-uart
              - mediatek,mt7986-uart
              - mediatek,mt7988-uart
              - mediatek,mt8127-uart
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ properties:
      - items:
          - enum:
              - renesas,scif-r8a774a1     # RZ/G2M
              - renesas,scif-r8a774a3     # RZ/G2M v3.0
              - renesas,scif-r8a774b1     # RZ/G2N
              - renesas,scif-r8a774c0     # RZ/G2E
              - renesas,scif-r8a774e1     # RZ/G2H
+56 −14
Original line number Diff line number Diff line
@@ -56,14 +56,8 @@ properties:
    maxItems: 5

  clock-names:
    description: N = 0 is allowed for SoCs without internal baud clock mux.
    minItems: 2
    items:
      - const: uart
      - pattern: '^clk_uart_baud[0-3]$'
      - pattern: '^clk_uart_baud[0-3]$'
      - pattern: '^clk_uart_baud[0-3]$'
      - pattern: '^clk_uart_baud[0-3]$'
    maxItems: 5

  dmas:
    items:
@@ -103,18 +97,45 @@ allOf:
        compatible:
          contains:
            enum:
              - samsung,s5pv210-uart
              - samsung,s3c6400-uart
    then:
      properties:
        clocks:
          minItems: 2
          minItems: 3
          maxItems: 3

        clock-names:
          items:
            - const: uart
            - const: clk_uart_baud2
            - const: clk_uart_baud3

    else:
      properties:
        clock-names:
          minItems: 2
          items:
            - const: uart
            - pattern: '^clk_uart_baud[0-1]$'
            - pattern: '^clk_uart_baud[0-1]$'
            - const: clk_uart_baud0
            - const: clk_uart_baud1
            - const: clk_uart_baud2
            - const: clk_uart_baud3

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,s5pv210-uart
    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 3

        clock-names:
          minItems: 3
          maxItems: 3

  - if:
      properties:
@@ -129,10 +150,9 @@ allOf:
      properties:
        clocks:
          maxItems: 2

        clock-names:
          items:
            - const: uart
            - const: clk_uart_baud0
          maxItems: 2

  - if:
      properties:
@@ -146,6 +166,12 @@ allOf:
      properties:
        reg-io-width: false

        clocks:
          maxItems: 2

        clock-names:
          maxItems: 2

unevaluatedProperties: false

examples:
@@ -163,3 +189,19 @@ examples:
                 <&clocks SCLK_UART>;
        samsung,uart-fifosize = <16>;
    };
  - |
    #include <dt-bindings/clock/google,gs101.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    serial_0: serial@10a00000 {
      compatible = "google,gs101-uart";
      reg = <0x10a00000 0xc0>;
      clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PERIC0_TOP1_PCLK_0>,
               <&cmu_peric0 CLK_GOUT_PERIC0_PERIC0_TOP1_IPCLK_0>;
      clock-names = "uart", "clk_uart_baud0";
      interrupts = <GIC_SPI 634 IRQ_TYPE_LEVEL_HIGH 0>;
      pinctrl-0 = <&uart0_bus>;
      pinctrl-names = "default";
      samsung,uart-fifosize = <256>;
    };
Loading