Skip to content

Commit 50f592c

Browse files
committed
Merge remote-tracking branch tech/bus/peripherals into qcom-next
2 parents 553b204 + ed0f1f8 commit 50f592c

10 files changed

Lines changed: 551 additions & 24 deletions

File tree

Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ required:
7575

7676
allOf:
7777
- $ref: /schemas/i2c/i2c-controller.yaml#
78+
- $ref: /schemas/soc/qcom/qcom,se-common-props.yaml#
7879
- if:
7980
properties:
8081
compatible:

Documentation/devicetree/bindings/serial/qcom,serial-geni-qcom.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ maintainers:
1212

1313
allOf:
1414
- $ref: /schemas/serial/serial.yaml#
15+
- $ref: /schemas/soc/qcom/qcom,se-common-props.yaml#
1516

1617
properties:
1718
compatible:
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/qcom/qcom,se-common-props.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: QUP Peripheral-specific properties for I2C, SPI and SERIAL bus
8+
9+
description:
10+
The Generic Interface (GENI) based Qualcomm Universal Peripheral (QUP) is
11+
a programmable module that supports a wide range of serial interfaces
12+
such as UART, SPI, I2C, I3C, etc. This defines the common properties used
13+
across QUP-supported peripherals.
14+
15+
maintainers:
16+
- Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
17+
- Viken Dadhaniya <quic_vdadhani@quicinc.com>
18+
19+
properties:
20+
qcom,enable-gsi-dma:
21+
$ref: /schemas/types.yaml#/definitions/flag
22+
description:
23+
Configure the Serial Engine (SE) to transfer data in QCOM GPI DMA mode.
24+
By default, FIFO mode (PIO/CPU DMA) will be selected.
25+
26+
additionalProperties: true

Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ description:
2525

2626
allOf:
2727
- $ref: /schemas/spi/spi-controller.yaml#
28+
- $ref: /schemas/soc/qcom/qcom,se-common-props.yaml#
2829

2930
properties:
3031
compatible:

drivers/i2c/busses/i2c-qcom-geni.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -870,7 +870,13 @@ static int geni_i2c_probe(struct platform_device *pdev)
870870
goto err_clk;
871871
}
872872
proto = geni_se_read_proto(&gi2c->se);
873-
if (proto != GENI_SE_I2C) {
873+
if (proto == GENI_SE_INVALID_PROTO) {
874+
ret = geni_load_se_firmware(&gi2c->se, GENI_SE_I2C);
875+
if (ret) {
876+
dev_err_probe(dev, ret, "i2c firmware load failed ret: %d\n", ret);
877+
goto err_resources;
878+
}
879+
} else if (proto != GENI_SE_I2C) {
874880
ret = dev_err_probe(dev, -ENXIO, "Invalid proto %d\n", proto);
875881
goto err_resources;
876882
}

0 commit comments

Comments
 (0)