2022-04-13 23:21:29

by Ryan Chen

[permalink] [raw]
Subject: [PATCH v2 0/3] Add ASPEED AST2600 I2C new controller driver

This series add AST2600 i2c new register set driver. The i2c new
register set have new clock divider option for more flexiable generation.
And also have separate i2c master and slave register set for control.

v2:
-add i2c global ymal file commit
-rename file name from new to ast2600.
aspeed-i2c-new-global.c -> i2c-ast2600-global.c
aspeed-i2c-new-global.h -> i2c-ast2600-global.h
i2c-new-aspeed.c -> i2c-ast2600.c
-rename all driver function name to ast2600

ryan_chen (3):
dt-bindings: i2c-ast2600: Add bindings for AST2600 i2C global register
controller
dt-bindings: i2c-ast2600: Add bindings for AST2600 i2C driver
i2c:aspeed:support ast2600 i2c new register mode driver

.../i2c/aspeed,i2c-ast2600-global.ymal | 44 +
.../bindings/i2c/aspeed,i2c-ast2600.ymal | 78 +
drivers/i2c/busses/Kconfig | 11 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-ast2600-global.c | 94 +
drivers/i2c/busses/i2c-ast2600-global.h | 19 +
drivers/i2c/busses/i2c-ast2600.c | 1706 +++++++++++++++++
7 files changed, 1953 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600-global.ymal
create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal
create mode 100644 drivers/i2c/busses/i2c-ast2600-global.c
create mode 100644 drivers/i2c/busses/i2c-ast2600-global.h
create mode 100644 drivers/i2c/busses/i2c-ast2600.c

--
2.17.1


2022-04-14 13:15:21

by Ryan Chen

[permalink] [raw]
Subject: [PATCH v2 2/3] dt-bindings: i2c-ast2600: Add bindings for AST2600 i2C driver

AST2600 support new register set for I2C controller, add bindings document
to support driver of i2c new register mode controller

Signed-off-by: ryan_chen <[email protected]>
---
.../bindings/i2c/aspeed,i2c-ast2600.ymal | 78 +++++++++++++++++++
1 file changed, 78 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal

diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal b/Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal
new file mode 100644
index 000000000000..7c75f5bac24f
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/aspeed,i2c-ast2600.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AST2600 I2C Controller on the AST26XX SoCs Device Tree Bindings
+
+maintainers:
+ - Ryan Chen <[email protected]>
+
+allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+ compatible:
+ enum:
+ - aspeed,ast2600-i2c
+
+ reg:
+ minItems: 1
+ items:
+ - description: address offset and range of bus
+ - description: address offset and range of bus buffer
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+ description:
+ root clock of bus, should reference the APB
+ clock in the second cell
+
+ resets:
+ maxItems: 1
+
+ bus-frequency:
+ minimum: 500
+ maximum: 2000000
+ default: 100000
+ description: frequency of the bus clock in Hz defaults to 100 kHz when not
+ specified
+
+ multi-master:
+ type: boolean
+ description:
+ states that there is another master active on this bus
+
+required:
+ - reg
+ - compatible
+ - clocks
+ - resets
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/ast2600-clock.h>
+
+ i2c_gr: i2c-global-regs@0 {
+ compatible = "aspeed,ast2600-i2c-global", "syscon";
+ reg = <0x0 0x20>;
+ resets = <&syscon ASPEED_RESET_I2C>;
+ };
+
+ i2c0: i2c-bus@80 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #interrupt-cells = <1>;
+ compatible = "aspeed,ast2600-i2c-bus";
+ reg = <0x80 0x80>, <0xC00 0x20>;
+ clocks = <&syscon ASPEED_CLK_APB2>;
+ resets = <&syscon ASPEED_RESET_I2C>;
+ bus-frequency = <100000>;
+ };
--
2.17.1

2022-04-25 16:09:03

by Ryan Chen

[permalink] [raw]
Subject: RE: [PATCH v2 0/3] Add ASPEED AST2600 I2C new controller driver

Hello Joel, Andrew,
Will you have available review this patch series?

Ryan

> -----Original Message-----
> From: Ryan Chen <[email protected]>
> Sent: Wednesday, April 13, 2022 6:18 PM
> To: Ryan Chen <[email protected]>; Michael Turquette
> <[email protected]>; Stephen Boyd <[email protected]>; Joel Stanley
> <[email protected]>; Andrew Jeffery <[email protected]>;
> [email protected]; [email protected]
> Cc: BMC-SW <[email protected]>
> Subject: [PATCH v2 0/3] Add ASPEED AST2600 I2C new controller driver
>
> This series add AST2600 i2c new register set driver. The i2c new register set
> have new clock divider option for more flexiable generation.
> And also have separate i2c master and slave register set for control.
>
> v2:
> -add i2c global ymal file commit
> -rename file name from new to ast2600.
> aspeed-i2c-new-global.c -> i2c-ast2600-global.c aspeed-i2c-new-global.h ->
> i2c-ast2600-global.h i2c-new-aspeed.c -> i2c-ast2600.c -rename all driver
> function name to ast2600
>
> ryan_chen (3):
> dt-bindings: i2c-ast2600: Add bindings for AST2600 i2C global register
> controller
> dt-bindings: i2c-ast2600: Add bindings for AST2600 i2C driver
> i2c:aspeed:support ast2600 i2c new register mode driver
>
> .../i2c/aspeed,i2c-ast2600-global.ymal | 44 +
> .../bindings/i2c/aspeed,i2c-ast2600.ymal | 78 +
> drivers/i2c/busses/Kconfig | 11 +
> drivers/i2c/busses/Makefile | 1 +
> drivers/i2c/busses/i2c-ast2600-global.c | 94 +
> drivers/i2c/busses/i2c-ast2600-global.h | 19 +
> drivers/i2c/busses/i2c-ast2600.c | 1706 +++++++++++++++++
> 7 files changed, 1953 insertions(+)
> create mode 100644
> Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600-global.ymal
> create mode 100644
> Documentation/devicetree/bindings/i2c/aspeed,i2c-ast2600.ymal
> create mode 100644 drivers/i2c/busses/i2c-ast2600-global.c
> create mode 100644 drivers/i2c/busses/i2c-ast2600-global.h
> create mode 100644 drivers/i2c/busses/i2c-ast2600.c
>
> --
> 2.17.1