ast10x0/i3c: fix RAM region overflow into RAM_NC after merge The i3c_init and i3c_irq test configs still used the pre-merge ram_size_bytes (384KB), which now overlaps the RAM_NC alias region introduced at 0x000A0000 by the upstream merge, causing a link-time section overlap error. Shrink ram_size_bytes in each config so ram_start_address + ram_size_bytes lands exactly on the RAM_NC boundary, matching the fix already applied upstream to i2c_irq. Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 430e8cc..0d4c973 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock
@@ -819,8 +819,8 @@ }, "@@aspect_rules_js+//npm:extensions.bzl%pnpm": { "general": { - "bzlTransitiveDigest": "BlNhqowoYzjqrFclvENyZ9BRop0Nm7OCNHH3NObz9Fw=", - "usagesDigest": "rcjjb1ux+ZnV+fcrKUp27D/bUxoEokqa3qwIRDf1OpI=", + "bzlTransitiveDigest": "D25ZxTXsgXFUTgJmW8IQ/VuadAekkXKNQA5AHewOE1E=", + "usagesDigest": "F8VFCSwABhytH7SYEy3ZjFlzPvPCH8zJw2xVsTtTWP0=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -849,7 +849,6 @@ "extra_build_content": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_binary\")\njs_binary(name = \"pnpm\", data = glob([\"package/**\"]), entry_point = \"package/dist/pnpm.cjs\", visibility = [\"//visibility:public\"])", "generate_bzl_library_targets": false, "extract_full_archive": true, - "exclude_package_contents": [], "system_tar": "auto" } }, @@ -873,8 +872,7 @@ "package_visibility": [ "//visibility:public" ], - "replace_package": "", - "exclude_package_contents": [] + "replace_package": "" } } }, @@ -895,22 +893,12 @@ "bazel_tools" ], [ - "aspect_bazel_lib+", - "tar.bzl", - "tar.bzl+" - ], - [ "aspect_rules_js+", "aspect_bazel_lib", "aspect_bazel_lib+" ], [ "aspect_rules_js+", - "aspect_rules_js", - "aspect_rules_js+" - ], - [ - "aspect_rules_js+", "bazel_features", "bazel_features+" ], @@ -936,28 +924,8 @@ ], [ "bazel_lib+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "bazel_lib+", "bazel_tools", "bazel_tools" - ], - [ - "tar.bzl+", - "aspect_bazel_lib", - "aspect_bazel_lib+" - ], - [ - "tar.bzl+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "tar.bzl+", - "tar.bzl", - "tar.bzl+" ] ] } @@ -1193,8 +1161,8 @@ }, "@@envoy_api+//bazel:repositories.bzl%non_module_deps": { "general": { - "bzlTransitiveDigest": "TxLa6JGnxzDQwiWPM5vPQ1Ltdgs1Derq0sm99+NkaNY=", - "usagesDigest": "OP2p9QPxt4WFY/lah8Iecqt6SOUwZHs89hYRyaV+rSg=", + "bzlTransitiveDigest": "mqYu5dQ2knXNYnSqGFj9Vx0gNoDc12svfpDQYMc3qg0=", + "usagesDigest": "cxAa0VVo9d210JBUBw6wpuGp8jg+ltqw3tzH0tPtIEg=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -1214,9 +1182,9 @@ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/bufbuild/buf/releases/download/v1.49.0/buf-Linux-x86_64.tar.gz" + "https://github.com/bufbuild/buf/releases/download/v1.47.2/buf-Linux-x86_64.tar.gz" ], - "sha256": "ee8da9748249f7946d79191e36469ce7bc3b8ba80019bff1fa4289a44cbc23bf", + "sha256": "39716cfe0185df3cba21f66ec739620ffb6876c48b2da4338a8c68c290c9b116", "strip_prefix": "buf", "build_file_content": "\npackage(\n default_visibility = [\"//visibility:public\"],\n)\n\nfilegroup(\n name = \"buf\",\n srcs = [\n \"@com_github_bufbuild_buf//:bin/buf\",\n ],\n tags = [\"manual\"], # buf is downloaded as a linux binary; tagged manual to prevent build for non-linux users\n)\n" } @@ -1225,10 +1193,10 @@ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/envoyproxy/toolshed/archive/bazel-v0.2.2.tar.gz" + "https://github.com/envoyproxy/toolshed/archive/bazel-v0.2.0.tar.gz" ], - "sha256": "443fe177aba0cef8c17b7a48905c925c67b09005b10dd70ff12cd9f729a72d51", - "strip_prefix": "toolshed-bazel-v0.2.2/bazel" + "sha256": "ef5e95580c41f6805beec197d9a4f6683550f4bfc1e1c678449b6d205dbf000b", + "strip_prefix": "toolshed-bazel-v0.2.0/bazel" } } }, @@ -1248,12 +1216,168 @@ }, "@@googleapis+//:extensions.bzl%switched_rules": { "general": { - "bzlTransitiveDigest": "RPY/jLLj3dRtfWAj2WDNxEzoKdWQBXnaOeGbYQsSdn8=", - "usagesDigest": "G8VH03TJDnZlBL0zAvI+DePqb3HaUnTfe3cvBJEqmqM=", + "bzlTransitiveDigest": "vG6fuTzXD8MMvHWZEQud0MMH7eoC4GXY0va7VrFFh04=", + "usagesDigest": "na83kvZgE0yFAWnRa6ZDYFBRzQHjW3j/T5HeNYdHbGc=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, - "generatedRepoSpecs": {}, + "generatedRepoSpecs": { + "com_google_googleapis_imports": { + "repoRuleId": "@@googleapis+//:repository_rules.bzl%switched_rules", + "attributes": { + "rules": { + "proto_library_with_info": [ + "", + "" + ], + "moved_proto_library": [ + "", + "" + ], + "java_proto_library": [ + "", + "" + ], + "java_grpc_library": [ + "", + "" + ], + "java_gapic_library": [ + "", + "" + ], + "java_gapic_test": [ + "", + "" + ], + "java_gapic_assembly_gradle_pkg": [ + "", + "" + ], + "py_proto_library": [ + "", + "" + ], + "py_grpc_library": [ + "", + "" + ], + "py_gapic_library": [ + "", + "" + ], + "py_test": [ + "", + "" + ], + "py_gapic_assembly_pkg": [ + "", + "" + ], + "py_import": [ + "", + "" + ], + "go_proto_library": [ + "", + "" + ], + "go_grpc_library": [ + "", + "" + ], + "go_library": [ + "", + "" + ], + "go_test": [ + "", + "" + ], + "go_gapic_library": [ + "", + "" + ], + "go_gapic_assembly_pkg": [ + "", + "" + ], + "cc_proto_library": [ + "", + "" + ], + "cc_grpc_library": [ + "", + "" + ], + "cc_gapic_library": [ + "", + "" + ], + "php_proto_library": [ + "", + "php_proto_library" + ], + "php_grpc_library": [ + "", + "php_grpc_library" + ], + "php_gapic_library": [ + "", + "php_gapic_library" + ], + "php_gapic_assembly_pkg": [ + "", + "php_gapic_assembly_pkg" + ], + "nodejs_gapic_library": [ + "", + "typescript_gapic_library" + ], + "nodejs_gapic_assembly_pkg": [ + "", + "typescript_gapic_assembly_pkg" + ], + "ruby_proto_library": [ + "", + "" + ], + "ruby_grpc_library": [ + "", + "" + ], + "ruby_ads_gapic_library": [ + "", + "" + ], + "ruby_cloud_gapic_library": [ + "", + "" + ], + "ruby_gapic_assembly_pkg": [ + "", + "" + ], + "csharp_proto_library": [ + "", + "" + ], + "csharp_grpc_library": [ + "", + "" + ], + "csharp_gapic_library": [ + "", + "" + ], + "csharp_gapic_assembly_pkg": [ + "", + "" + ] + } + } + } + }, "recordedRepoMappingEntries": [] } }, @@ -2134,7 +2258,7 @@ "@@rules_libusb+//:extensions.bzl%libusb": { "general": { "bzlTransitiveDigest": "6s4LH70dpiebZQRs79OFjy6WpIaYps0B2+QpeixbTao=", - "usagesDigest": "0chaxDBvSbBwgR4baXndxu2+n0gbhZAwgisgdhFYMvc=", + "usagesDigest": "lbrZG+wyaTNaFb643SLJ9csKroS3S04dyqjShKEgymY=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -2294,80 +2418,6 @@ "recordedRepoMappingEntries": [] } }, - "@@rules_perl+//perl:extensions.bzl%perl_repositories": { - "general": { - "bzlTransitiveDigest": "rEvFEEQbGp20qoG38ex+bV2NMG2GhUnSh3CZscNcozE=", - "usagesDigest": "qSSNDdCNVxNhY36wMndEAFacdhR0ooLTmumfad0km9s=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "perl_darwin_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-arm64", - "sha256": "285769f3c50c339fb59a3987b216ae3c5c573b95babe6875a1ef56fb178433da", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-arm64.tar.xz" - ] - } - }, - "perl_darwin_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-amd64", - "sha256": "63bc5ee36f5394d71c50cca6cafdd333ee58f9eaa40bca63c85f9bd06f2c1fd6", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-amd64.tar.xz" - ] - } - }, - "perl_linux_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-amd64", - "sha256": "3bdffa9d7a3f97c0207314637b260ba5115b1d0829f97e3e2e301191a4d4d076", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-amd64.tar.xz" - ] - } - }, - "perl_linux_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-arm64", - "sha256": "6fa4ece99e790ecbc2861f6ecb7b52694c01c2eeb215b4370f16a3b12d952117", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-arm64.tar.xz" - ] - } - }, - "perl_windows_x86_64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "", - "sha256": "aeb973da474f14210d3e1a1f942dcf779e2ae7e71e4c535e6c53ebabe632cc98", - "urls": [ - "https://mirror.bazel.build/strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip", - "https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_perl+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_perl+", - "rules_perl", - "rules_perl+" - ] - ] - } - }, "@@rules_probe_rs+//probe_rs:extensions.bzl%probe_rs": { "general": { "bzlTransitiveDigest": "qACxDYMmZFnJ5z3DgFxaM5vcM6BluXK+tGm6QjKzbo0=",
diff --git a/target/ast10x0/peripherals/scu/pinctrl.rs b/target/ast10x0/peripherals/scu/pinctrl.rs index b411e13..1fdbc52 100644 --- a/target/ast10x0/peripherals/scu/pinctrl.rs +++ b/target/ast10x0/peripherals/scu/pinctrl.rs
@@ -740,19 +740,6 @@ /// I2C communication between the two AST1060 daughter cards. pub const PINCTRL_I2C2: &[PinctrlPin] = &[PIN_SCU418_0, PIN_SCU418_1]; -/// SGPIOM (Serial GPIO Master) pin group: mux selection on SCU41C[8:11]. -/// -/// Enables the four SGPIOM serial pins: -/// - bit 8 `sgpmclk` — serial clock out -/// - bit 9 `sgpmld` — load/latch out -/// - bit 10 `sgpmo` — serial data out -/// - bit 11 `sgpmi` — serial data in -/// -/// Mux bits derived from the AST10x0 datasheet / Zephyr `ast10x0-pinctrl.dtsi` -/// (`pin_sgpmclk/ld/o/i` = `SIG_DESC_SET(0x41C, 8..11)`). -pub const PINCTRL_SGPIOM: &[PinctrlPin] = - &[PIN_SCU41C_8, PIN_SCU41C_9, PIN_SCU41C_10, PIN_SCU41C_11]; - // ============================================================================= // I3C pin groups // ============================================================================= @@ -821,6 +808,19 @@ PIN_SCU4B8_15, ]; +/// SGPIOM (Serial GPIO Master) pin group: mux selection on SCU41C[8:11]. +/// +/// Enables the four SGPIOM serial pins: +/// - bit 8 `sgpmclk` — serial clock out +/// - bit 9 `sgpmld` — load/latch out +/// - bit 10 `sgpmo` — serial data out +/// - bit 11 `sgpmi` — serial data in +/// +/// Mux bits derived from the AST10x0 datasheet / Zephyr `ast10x0-pinctrl.dtsi` +/// (`pin_sgpmclk/ld/o/i` = `SIG_DESC_SET(0x41C, 8..11)`). +pub const PINCTRL_SGPIOM: &[PinctrlPin] = + &[PIN_SCU41C_8, PIN_SCU41C_9, PIN_SCU41C_10, PIN_SCU41C_11]; + /// Macro to safely modify a register bit (set or clear). macro_rules! modify_reg { ($reg:expr, $bit:expr, $clear:expr) => {{
diff --git a/target/ast10x0/tests/peripherals/i3c/i3c_init/system.json5 b/target/ast10x0/tests/peripherals/i3c/i3c_init/system.json5 index 40e635a..4c65433 100644 --- a/target/ast10x0/tests/peripherals/i3c/i3c_init/system.json5 +++ b/target/ast10x0/tests/peripherals/i3c/i3c_init/system.json5
@@ -13,6 +13,6 @@ flash_start_address: 0x00000500, // After vector table flash_size_bytes: 262144, // 256KB for kernel code (in RAM) ram_start_address: 0x00040500, // RAM starts after code - ram_size_bytes: 393216, // 384KB for data + ram_size_bytes: 391936, // ends at RAM_NC boundary (0x000A0000) }, }
diff --git a/target/ast10x0/tests/peripherals/i3c/i3c_irq/slave_system.json5 b/target/ast10x0/tests/peripherals/i3c/i3c_irq/slave_system.json5 index dd904d4..f44b90d 100644 --- a/target/ast10x0/tests/peripherals/i3c/i3c_irq/slave_system.json5 +++ b/target/ast10x0/tests/peripherals/i3c/i3c_irq/slave_system.json5
@@ -12,7 +12,7 @@ flash_start_address: 0x00000600, flash_size_bytes: 262144, ram_start_address: 0x00040600, - ram_size_bytes: 393216, + ram_size_bytes: 391680, // ends at RAM_NC boundary (0x000A0000) interrupt_table: { table: { // I3C2 IRQ (bus 2, used by the HV IBI test).
diff --git a/target/ast10x0/tests/peripherals/i3c/i3c_irq/system.json5 b/target/ast10x0/tests/peripherals/i3c/i3c_irq/system.json5 index e9d3c1c..91a7c0c 100644 --- a/target/ast10x0/tests/peripherals/i3c/i3c_irq/system.json5 +++ b/target/ast10x0/tests/peripherals/i3c/i3c_irq/system.json5
@@ -13,7 +13,7 @@ flash_start_address: 0x00000600, // After vector table flash_size_bytes: 262144, // 256KB for kernel code (in RAM) ram_start_address: 0x00040600, // RAM starts after code - ram_size_bytes: 393216, // 384KB for data + ram_size_bytes: 391680, // ends at RAM_NC boundary (0x000A0000) interrupt_table: { table: { // I3C2 IRQ (bus 2, used by the HV IBI test).