Skip to content

Commit

Permalink
Merge tag 'i3c/for-6.11' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/i3c/linux

Pull i3c updates from Alexandre Belloni:
 "This cycle, there are new features for the Designware controller and
  fixes for the other IPs:

   - dw: optional apb clock and power management support, IBI handling
     fixes

   - mipi-i3c-hci: IBI handling fixes

   - svc: a few fixes"

* tag 'i3c/for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
  dt-bindings: i3c: add header for generic I3C flags
  i3c: master: svc: Fix error code in svc_i3c_master_do_daa_locked()
  i3c: master: Enhance i3c_bus_type visibility for device searching & event monitoring
  i3c: dw: Add power management support
  i3c: dw: Add some functions for reusability
  i3c: dw: Save timing registers and other values
  i3c: master: svc: Improve DAA STOP handle code logic
  i3c: dw: Add optional apb clock
  i3c: dw: Use new *_enabled clk API
  dt-bindings: i3c: dw: Add apb clock binding
  i3c: master: svc: Convert comma to semicolon
  i3c: mipi-i3c-hci: Round IBI data chunk size to HW supported value
  i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
  i3c: mipi-i3c-hci: Set IBI Status and Data Ring base addresses
  i3c: mipi-i3c-hci: Switch to lower_32_bits()/upper_32_bits() helpers
  i3c: dw: Remove ibi_capable property
  i3c: dw: Fix IBI intr programming
  i3c: dw: Fix clearing queue thld
  i3c: mipi-i3c-hci: Fix number of DAT/DCT entries for HCI versions < 1.1
  i3c: master: svc: resend target address when get NACK
  • Loading branch information
torvalds committed Jul 27, 2024
2 parents 1fcaa5d + 24168c5 commit c85e149
Show file tree
Hide file tree
Showing 13 changed files with 431 additions and 143 deletions.
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/i3c/i3c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ patternProperties:
- const: 0
- description: |
Shall encode the I3C LVR (Legacy Virtual Register):
See include/dt-bindings/i3c/i3c.h
bit[31:8]: unused/ignored
bit[7:5]: I2C device index. Possible values:
* 0: I2C device has a 50 ns spike filter
Expand Down Expand Up @@ -153,6 +154,8 @@ additionalProperties: true

examples:
- |
#include <dt-bindings/i3c/i3c.h>
i3c@d040000 {
compatible = "cdns,i3c-master";
clocks = <&coreclock>, <&i3csysclock>;
Expand All @@ -166,7 +169,7 @@ examples:
/* I2C device. */
eeprom@57 {
compatible = "atmel,24c01";
reg = <0x57 0x0 0x10>;
reg = <0x57 0x0 (I2C_FM | I2C_FILTER)>;
pagesize = <0x8>;
};
Expand Down
11 changes: 10 additions & 1 deletion Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,16 @@ properties:
maxItems: 1

clocks:
maxItems: 1
minItems: 1
items:
- description: Core clock
- description: APB clock

clock-names:
minItems: 1
items:
- const: core
- const: apb

interrupts:
maxItems: 1
Expand Down
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -10655,6 +10655,7 @@ F: Documentation/ABI/testing/sysfs-bus-i3c
F: Documentation/devicetree/bindings/i3c/
F: Documentation/driver-api/i3c
F: drivers/i3c/
F: include/dt-bindings/i3c/
F: include/linux/i3c/

IBM Operation Panel Input Driver
Expand Down
2 changes: 0 additions & 2 deletions drivers/i3c/internals.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@

#include <linux/i3c/master.h>

extern const struct bus_type i3c_bus_type;

void i3c_bus_normaluse_lock(struct i3c_bus *bus);
void i3c_bus_normaluse_unlock(struct i3c_bus *bus);

Expand Down
1 change: 1 addition & 0 deletions drivers/i3c/master.c
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ const struct bus_type i3c_bus_type = {
.probe = i3c_device_probe,
.remove = i3c_device_remove,
};
EXPORT_SYMBOL_GPL(i3c_bus_type);

static enum i3c_addr_slot_status
i3c_bus_get_addr_slot_status(struct i3c_bus *bus, u16 addr)
Expand Down
1 change: 0 additions & 1 deletion drivers/i3c/master/ast2600-i3c-master.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@ static int ast2600_i3c_probe(struct platform_device *pdev)
i3c->sda_pullup);

i3c->dw.platform_ops = &ast2600_i3c_ops;
i3c->dw.ibi_capable = true;
return dw_i3c_common_probe(&i3c->dw, pdev);
}

Expand Down
Loading

0 comments on commit c85e149

Please sign in to comment.