devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] arm64: introduce Black Sesame Technologies C1200 SoC and CDCU1.0 board
@ 2025-09-23  6:10 Albert Yang
  2025-09-23  6:10 ` [PATCH 1/9] dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd Albert Yang
                   ` (9 more replies)
  0 siblings, 10 replies; 25+ messages in thread
From: Albert Yang @ 2025-09-23  6:10 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ge Gordon,
	BST Linux Kernel Upstream Group, Catalin Marinas, Will Deacon,
	Ulf Hansson, Adrian Hunter, Arnd Bergmann
  Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mmc, soc,
	Albert Yang, Krzysztof Kozlowski

This patch series introduces comprehensive support for Black Sesame Technologies
(BST) C1200 SoC and CDCU1.0 ADAS 4C2G board. BST is a leading automotive-grade
computing SoC provider focusing on intelligent driving, computer vision, and AI
capabilities for ADAS and autonomous driving applications. You can find more information
about the SoC and related boards at: https://bst.ai

The series includes complete platform enablement from device tree bindings to
drivers and board-level support:

Patch 1: dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd.
- Adds BST vendor prefix to device tree vendor prefixes
- Provides company information and website link

Patch 2: dt-bindings: arm: add Black Sesame Technologies (bst) SoC
- Adds device tree bindings for BST ARM SoC family
- Defines compatible strings for C1200 SoC and CDCU1.0 board

Patch 3: arm64: Kconfig: add ARCH_BST for Black Sesame Technologies SoCs
- Adds ARCH_BST configuration option for BST SoC family
- Enables platform-specific features and driver dependencies

Patch 4: dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller
- Adds device tree binding for BST's DWCMSHC SDHCI controller
- Defines register layout, clocks, and controller-specific properties

Patch 5: mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver
- Comprehensive SDHCI driver for BST C1200 SoC
- Addresses specific hardware constraints with 32-bit DMA limitations
- Implements custom clock management, power management, and tuning
- Uses SRAM-based bounce buffer for DMA operations

Patch 6: mmc: sdhci: allow drivers to pre-allocate bounce buffer
- SDHCI core enhancement to support driver-allocated bounce buffers
- Enables platforms with specific DMA constraints to pre-allocate buffers
- Suggested by Adrian Hunter for better platform integration

Patch 7: arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board
- Complete device tree support for BST C1200 CDCU1.0 ADAS 4C2G board
- Includes SoC dtsi and board-specific dts files
- Defines CPU, memory, peripherals, and platform-specific configurations

Patch 8: arm64: defconfig: enable BST platform and SDHCI controller support
- Enables ARCH_BST and MMC_SDHCI_BST in ARM64 defconfig
- Provides out-of-box support for BST platforms

Patch 9: MAINTAINERS: add Black Sesame Technologies (BST) ARM SoC support
- Adds maintainer entry for BST ARM SoC support
- Covers device tree bindings, drivers, and board files

Changes for v4:
- rebase to 6.17-rc5
- Patch 1 (dt-bindings: vendor-prefixes):
	- Adjust ^bst to the correct alphabetical order
	- Adjust Acked-by order
- Patch 2 (dt-bindings: arm):
	- Remove Signed-off-by: Ge Gordon
	- Add Reviewed-by Krzysztof Kozlowski info
- Patch 3 (arm64: Kconfig):
	- Remove Signed-off-by: Ge Gordon
- Patch 4 (dt-bindings: mmc):
	- Remove Signed-off-by line for Ge Gordon
	- Change `$ref: mmc-controller.yaml#` to `$ref: sdhci-common.yaml#`
	- Change compatible string from `bst,c1200-dwcmshc-sdhci` to `bst,c1200-sdhci`
- Patch 5 (mmc: sdhci driver):
	- Rename all functions from bst_* to sdhci_bst_* for better namespace consistency
	- Rename driver file from sdhci-of-bst-c1200.c to sdhci-of-bst.c
	- Rename dwcmshc_priv structure to sdhci_bst_priv for clarity
	- Update driver name from "sdhci-dwcmshc" to "sdhci-bst" throughout
	- Add comprehensive register bit mask definitions and named constants
	- Replace manual polling loops with read_poll_timeout() for clock stability
	- Add dedicated sdhci_bst_wait_int_clk() function for internal clock management
	- Completely rewrite power management with proper power-off handling
	- Enhance clock control with read-modify-write operations to avoid clobbering
	- Add MBIU burst mode configuration based on power state
	- Improve error handling and cleanup in probe/remove functions
	- Simplify bounce buffer allocation and remove redundant MMC parameter adjustments
	- Add SDHCI_QUIRK_BROKEN_ADMA quirk for hardware limitation
	- Replace ioread32/iowrite32 with readl/writel for consistency
	- Update copyright year and simplify license text
	- Improve tuning algorithm with clearer variable naming
	- Enhance register access patterns with proper bit field manipulation
	- Add power-off clock management to reduce idle power consumption
	- Add Acked-by: Arnd Bergmann
- Patch 6 (mmc: sdhci bounce buffer):
	- Add new patch by suggestion from Adrian Hunter
- Patch 7 (arm64: dts):
	- Remove Signed-off-by line for Ge Gordon
	- Reorder device tree node properties for better consistency
	- CPU nodes: move `device_type` before `compatible`, add explicit `reg` values
	- MMC node: change compatible from `bst,c1200-dwcmshc-sdhci` to `bst,c1200-sdhci`
	- MMC node: remove `bus-width` and `non-removable` from SoC dtsi, move to board dts
	- SoC node: reorder properties (`ranges` before address/size cells)
	- UART node: reorder properties (clock-frequency before interrupts)
	- GIC node: reorder properties for better readability
	- Timer node: reorder properties (always-on before interrupt-parent)
	- Board DTS: add `bus-width = <8>` and `non-removable` to MMC node
	- Board DTS: reorder MMC and UART node references
- Patch 8 (arm64: defconfig):
	- move CONFIG_MMC_SDHCI_BST before CONFIG_MMC_SDHCI_F_SDH30
	- Remove Signed-off-by line for Ge Gordon
	- Simplify commit message (remove detailed description about eMMC/SD functionality)
- Patch 9 (MAINTAINERS):
	- Changed file name: sdhci-of-bst-c1200.c to sdhci-of-bst.c
	- Change title from "add and consolidate" to just "add"
	- Simplify commit message description
	- Remove Signed-off-by line for Ge Gordon

Changes for v3:
- Patch 2: Add Signed-off-by: Ge Gordon
- Patch 3: Reword subject from "for bst silicons" to "for Black Sesame Technologies SoCs"
	and drop unrelated whitespace hunk
- Patch 4: Switch reg schema from maxItems to explicit items with per-entry descriptions,
	improve example with irq.h include and bus node wrapper, add Signed-off-by: Ge Gordon
- Patch 5: Simplify dwcmshc_priv structure, improve helper functions, use
	devm_platform_ioremap_resource(), clarify hardware limitations documentation
- Patch 6: Split defconfig enablement out into dedicated patch, refine memory description,
	adjust node ordering, remove gic mask
- Patch 7: Also enable CONFIG_ARCH_BST in arm64 defconfig

Changes for v2:
- Patch 2: Remove unnecessary pipe in description, drop invalid compatible entry,
	remove root node definition
- Patch 3: Place configuration entry in correct alphabetical order, use generic family name,
	follow upstream naming conventions
- Patch 4: Simplify description, update $schema reference, correct compatible string,
	remove redundant properties, clean up required properties, standardize example format
- Patch 5: Remove COMMON_CLK dependency, add ARCH_BST || COMPILE_TEST dependency,
	replace temporary ioremap with persistent mapping, refactor bounce buffer allocation,
	prune unused headers, fix register access macros, improve error handling
- Patch 6: Reorganize memory map, update MMC controller definition, remove deprecated
	properties, standardize interrupt definitions, add root compatible string

Signed-off-by: Albert Yang <yangzh0906@thundersoft.com>
---
Albert Yang (9):
      dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd.
      dt-bindings: arm: add Black Sesame Technologies (bst) SoC
      arm64: Kconfig: add ARCH_BST for Black Sesame Technologies SoCs
      dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller
      mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver
      mmc: sdhci: allow drivers to pre-allocate bounce buffer
      arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board
      arm64: defconfig: enable BST platform and SDHCI controller support
      MAINTAINERS: add Black Sesame Technologies (BST) ARM SoC support

 Documentation/devicetree/bindings/arm/bst.yaml     |  31 ++
 .../devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml |  70 +++
 .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
 MAINTAINERS                                        |  10 +
 arch/arm64/Kconfig.platforms                       |   8 +
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/bst/Makefile                   |   2 +
 .../boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts    |  43 ++
 arch/arm64/boot/dts/bst/bstc1200.dtsi              | 115 +++++
 arch/arm64/configs/defconfig                       |   2 +
 drivers/mmc/host/Kconfig                           |  14 +
 drivers/mmc/host/Makefile                          |   1 +
 drivers/mmc/host/sdhci-of-bst.c                    | 544 +++++++++++++++++++++
 drivers/mmc/host/sdhci.c                           |   7 +
 14 files changed, 850 insertions(+)
---
base-commit: 76eeb9b8de9880ca38696b2fb56ac45ac0a25c6c
change-id: 20250923-v4-patch-final-dccd6f8f6092

Best regards,
-- 
Albert Yang <yangzh0906@thundersoft.com>


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-10-15  9:46 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-23  6:10 [PATCH 0/9] arm64: introduce Black Sesame Technologies C1200 SoC and CDCU1.0 board Albert Yang
2025-09-23  6:10 ` [PATCH 1/9] dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd Albert Yang
2025-09-23  6:10 ` [PATCH 2/9] dt-bindings: arm: add Black Sesame Technologies (bst) SoC Albert Yang
2025-09-23  6:10 ` [PATCH 3/9] arm64: Kconfig: add ARCH_BST for Black Sesame Technologies SoCs Albert Yang
2025-09-23  6:10 ` [PATCH 4/9] dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller Albert Yang
2025-09-23 10:13   ` Rob Herring (Arm)
2025-10-15  9:31     ` Albert Yang
2025-09-23 13:56   ` Rob Herring
2025-09-26  3:06     ` [PATCH v4 4/9] dt-bindings: mmc: Add Black Sesame Technologies DWCMSHC SDHCI Albert Yang
2025-10-15  9:09     ` [PATCH 4/9] dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller Albert Yang
2025-09-23  6:10 ` [PATCH 5/9] mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver Albert Yang
2025-09-29 13:25   ` Adrian Hunter
2025-09-23  6:10 ` [PATCH 6/9] mmc: sdhci: allow drivers to pre-allocate bounce buffer Albert Yang
2025-09-29 13:26   ` Adrian Hunter
2025-09-23  6:10 ` [PATCH 7/9] arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board Albert Yang
2025-09-23  6:10 ` [PATCH 8/9] arm64: defconfig: enable BST platform and SDHCI controller support Albert Yang
2025-09-23  6:10 ` [PATCH 9/9] MAINTAINERS: add Black Sesame Technologies (BST) ARM SoC support Albert Yang
2025-09-29 13:29   ` Adrian Hunter
2025-10-15  7:30     ` Albert Yang
2025-09-25  7:06 ` [PATCH 0/9] arm64: introduce Black Sesame Technologies C1200 SoC and CDCU1.0 board Arnd Bergmann
2025-09-25  9:03   ` Albert Yang
2025-09-25 12:11     ` Albert Yang
2025-09-25 13:34       ` Ulf Hansson
2025-09-25 13:38         ` Arnd Bergmann
2025-09-26  1:48           ` Albert Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).