BeagleConnect is both a technology concept and a line of board designs
that implement the technology. Born from Greybus, a mechanism for
dynamically extending a Linux system with embedded peripherals,
BeagleConnect adds two key elements: a 6LoWPAN transport and mikroBUS
manifests. The 6LoWPAN transport provides for arbitrary connections,
including the IEEE802.15.4g long-range wireless transport supported
between BeaglePlay and BeagleConnect Freedom (the first BeagleConnect
board design). The mikroBUS manifests provide for rapid prototyping
and low-node-count production with sensor boards following the
mikroBUS freely-licensable embedded bus standard such that existing
Linux drivers can be loaded upon Greybus discovery of the nodes.
This patch set provides the Linux-side hooks required for the 6LoWPAN
transport for BeagleConnect on BeaglePlay. Also adds required devicetree
additions.
Tested over `next-20230825`.
Link: https://programmershideaway.xyz/tags/gsoc23/ GSoC23 Blog
Link: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware Zephyr App
Link: https://github.com/Ayush1325/linux/tree/gb-beagleplay GitHub Branch
Link: https://lists.linaro.org/archives/list/greybus-dev@lists.linaro.org/thread/… Patch v4
Link: https://docs.beagleboard.org/latest/boards/beagleconnect/index.html BeagleConnect
Link: https://docs.beagleboard.org/latest/boards/beagleplay/index.html BeaglePlay
Link: https://github.com/Ayush1325/linux/tree/gb-beagleplay Github Repo
Changes in Patch v5
v4 -> v5:
- Move DT Bindings to net
- Rename compatible to `beagle,play-cc1352`
- Expose CC1352 as MCU
- Remove redundant tracing messages
- Fix memory leaks
v3 -> v4:
- Add DT Bindings
- Reorder commits
- Improve commit messages
v2 -> v3:
- Move gb-beagleplay out of staging
v1 -> v2:
- Combine the driver into a single file
- Remove redundant code
- Fix Checkpatch complaints
- Other suggested changes
Ayush Singh (3):
dt-bindings: Add beaglecc1352
greybus: Add BeaglePlay Linux Driver
dts: ti: k3-am625-beagleplay: Add beaglecc1352
.../bindings/net/beagle,play-cc1352.yaml | 25 +
MAINTAINERS | 7 +
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/greybus/Kconfig | 10 +
drivers/greybus/Makefile | 4 +-
drivers/greybus/gb-beagleplay.c | 526 ++++++++++++++++++
6 files changed, 574 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/beagle,play-cc1352.yaml
create mode 100644 drivers/greybus/gb-beagleplay.c
base-commit: 6269320850097903b30be8f07a5c61d9f7592393
--
2.41.0
BeaglePlay is a board by BeagleBoard.org. It contains a main AM62
processor with a CC1352 co-processor. They are connected over UART.
Greybus is a hardware protocol that was designed to provide Unipro with a
sane application layer. It can be used in IOT and IIOT applications
keeping the intelligence on the host.
This driver has been tested on BeaglePlay by BeagleBoard.org. It serves
as Greybus Host device and communicates with BeaglePlay CC1352
co-processor which serves as Greybus SVC. This replaces the old setup with
bcfserial, wpanusb and GBridge. This driver also contains async HDLC code
since communication with SVC take place over UART using HDLC.
This driver has been created as a part of my Google Summer of Code 2023.
For more information, take a look at my blog.
This patchset has been tested over `next-20230825`.
My GSoC23 Blog: https://programmershideaway.xyz/tags/gsoc23/
Zephyr App: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware
GitHub Branch: https://github.com/Ayush1325/linux/tree/gb-beagleplay
Video Demo: https://youtu.be/GVuIB7i5pjk
This the v4 of this patch
v3 -> v4:
- Add DT Bindings
- Reorder commits
- Improve commit messages
v2 -> v3:
- Move gb-beagleplay out of staging
v1 -> v2:
- Combine the driver into a single file
- Remove redundant code
- Fix Checkpatch complaints
- Other suggested changes
Ayush Singh (3):
dt-bindings: Add beaglecc1352
greybus: Add BeaglePlay Linux Driver
dts: ti: k3-am625-beagleplay: Add beaglecc1352
.../bindings/serial/beaglecc1352.yaml | 25 +
MAINTAINERS | 7 +
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/greybus/Kconfig | 10 +
drivers/greybus/Makefile | 3 +-
drivers/greybus/gb-beagleplay.c | 494 ++++++++++++++++++
6 files changed, 542 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/serial/beaglecc1352.yaml
create mode 100644 drivers/greybus/gb-beagleplay.c
--
2.41.0
while working on an extension for the pwm framework, I noticed that some
drivers and even the core only nearly consistently named all variables
and struct members holding a pointer to a struct pwm_chip "chip":
$ git grep -Pho 'struct pwm_chip \**[a-z0-9_]+(*nla:[\(a-z0-9_])' v6.5-rc1 | sort | uniq -c | sort -n
1 struct pwm_chip *pwm
1 struct pwm_chip pwm
1 struct pwm_chip pwm_chip
2 struct pwm_chip *_chip
4 struct pwm_chip *c
8 struct pwm_chip *pc
57 struct pwm_chip chip
358 struct pwm_chip *chip
With this series applied these are all called "chip" with one exception:
The led driver drivers/leds/rgb/leds-qcom-lpg.c uses "pwm". Maybe
"pwmchip" would be a better name, but I'm not sure that using "chip" was
an improvement there as this isn't a pure pwm driver. I'm not touching
that one.
The first offenders I found were the core and the atmel-hlcdc driver.
After I found these I optimistically assumed these were the only ones
with the unusual names and send patches for these out individually
before checking systematically.
The atmel-hlcdc patch is included here unchanged, the core patch now
also adapted the declaration of the changed functions in <linux/pwm.h>.
I marked these two as "superseded" in patchwork already.
All patches in this series are pairwise independent of each other. I
don't know if the staging patch should better go in via the greybus tree
or via pwm. Both is possible without needing coordination.
Best regards
Uwe
Uwe Kleine-König (10):
pwm: Use a consistent name for pwm_chip pointers in the core
pwm: atmel-hlcdc: Use consistent variable naming
pwm: bcm-kona: Consistenly name pwm_chip variables "chip"
pwm: crc: Consistenly name pwm_chip variables "chip"
pwm: cros-ec: Consistenly name pwm_chip variables "chip"
pwm: lp3943: Consistenly name pwm_chip variables "chip"
pwm: rockchip: Consistenly name pwm_chip variables "chip"
pwm: sifive: Consistenly name pwm_chip variables "chip"
pwm: sl28cpld: Consistenly name pwm_chip variables "chip"
staging: greybus: pwm: Consistenly name pwm_chip variables "chip"
drivers/pwm/core.c | 28 +++++++--------
drivers/pwm/pwm-atmel-hlcdc.c | 64 +++++++++++++++++------------------
drivers/pwm/pwm-bcm-kona.c | 4 +--
drivers/pwm/pwm-crc.c | 4 +--
drivers/pwm/pwm-cros-ec.c | 10 +++---
drivers/pwm/pwm-lp3943.c | 4 +--
drivers/pwm/pwm-rockchip.c | 4 +--
drivers/pwm/pwm-sifive.c | 4 +--
drivers/pwm/pwm-sl28cpld.c | 10 +++---
drivers/staging/greybus/pwm.c | 12 +++----
include/linux/pwm.h | 6 ++--
11 files changed, 75 insertions(+), 75 deletions(-)
base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
--
2.39.2
BeaglePlay is a board by BeagleBoard.org. It contains a main AM62
processor with a CC1352 co-processor. They are connected over UART.
Greybus is a hardware protocol that was designed to provide Unipro with a
sane application layer. It can be used in IOT and IIOT applications
keeping the intelligence on the host.
This driver has been tested on BeaglePlay by BeagleBoard.org. It serves
as Greybus Host device and communicates with BeaglePlay CC1352
co-processor which serves as Greybus SVC. This replaces the old setup with
bcfserial, wpanusb and GBridge. This driver also contains async HDLC code
since communication with SVC take place over UART using HDLC.
This driver has been created as a part of my Google Summer of Code 2023.
For more information, take a look at my blog.
This patchset has been tested over `next-20230825`.
My GSoC23 Blog: https://programmershideaway.xyz/tags/gsoc23/
Zephyr App: https://git.beagleboard.org/gsoc/greybus/cc1352-firmware
GitHub Branch: https://github.com/Ayush1325/linux/tree/gb-beagleplay
Video Demo: https://youtu.be/GVuIB7i5pjk
This the v4 of this patch
v3 -> v4:
- Add DT Bindings
- Reorder commits
- Improve commit messages
v2 -> v3:
- Move gb-beagleplay out of staging
v1 -> v2:
- Combine the driver into a single file
- Remove redundant code
- Fix Checkpatch complaints
- Other suggested changes
Ayush Singh (3):
dt-bindings: Add beaglecc1352
greybus: Add BeaglePlay Linux Driver
dts: ti: k3-am625-beagleplay: Add beaglecc1352
.../bindings/serial/beaglecc1352.yaml | 25 +
MAINTAINERS | 7 +
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 4 +
drivers/greybus/Kconfig | 10 +
drivers/greybus/Makefile | 3 +-
drivers/greybus/gb-beagleplay.c | 494 ++++++++++++++++++
6 files changed, 542 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/serial/beaglecc1352.yaml
create mode 100644 drivers/greybus/gb-beagleplay.c
--
2.41.0