Skip to content

Conversation

@lack
Copy link
Contributor

@lack lack commented Nov 27, 2025

  • Expose a few more DPLL netlink constants
  • addons/intel: Introduce gnss.disabled flag to disable e825 incoming GNSS for BC profiles

@github-actions
Copy link

Thanks for your PR,
Best regards.

@lack lack force-pushed the intel/gnss_enable_disable branch from 42e2d35 to e718da0 Compare November 27, 2025 05:57
@lack
Copy link
Contributor Author

lack commented Nov 27, 2025

Note: Not quite working yet - The "enable" seems to work great, but the "disable" gets a netlink error I don't yet understand.

@lack lack marked this pull request as draft November 27, 2025 06:05
@lack lack mentioned this pull request Nov 27, 2025
…NSS for BC profiles

We accomplish this by enabling/disabling the state of all pins that are
type gnss, enable setting state, and input direction.

Signed-off-by: Jim Ramsay <[email protected]>
@lack lack force-pushed the intel/gnss_enable_disable branch from e718da0 to 1d5413c Compare November 28, 2025 07:28
@lack lack marked this pull request as ready for review November 28, 2025 07:43
DpllSettings map[string]uint64 `json:"settings"`
PhaseOffsetPins map[string]map[string]string `json:"phaseOffsetPins"`
PhaseInputs []PhaseInputs `json:"interconnections"`
Gnss GnssOptions `json:"gnss"`
Copy link
Collaborator

@vitus133 vitus133 Nov 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure you need this input. The PhaseInputs already contains this field here. This is later used in clockChain, err = InitClockChain(e825Opts, nodeProfile) on line 151. This function is needed to initialize the clock type to "T-BC", which is widely used in the code including the events proxy, but it is currently very E810-specific, and it needs adaptation. For example it calls InitPinsTBC that disables E810 GNSS, but this call is going to cause errors with Microchip, as the priority 255 is illegal and pin label is different.
Maybe we need to refactor InitClockChain to split away hardware-specific functionality... WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked into that but:

  1. I thought a fresh switch specifically for e825-only without any of the phase-inputs baggage was a quicker path to the BC
  2. Also not as potentially destabilizing to existing e810 code (since we'd have to do some deeper refactoring of the clock chain logic to make it work with e825)
  3. Less "throw-away" code since apiv2 is going to do this better anyway!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked into that but:

  1. I thought a fresh switch specifically for e825-only without any of the phase-inputs baggage was a quicker path to the BC
  2. Also not as potentially destabilizing to existing e810 code (since we'd have to do some deeper refactoring of the clock chain logic to make it work with e825)
  3. Less "throw-away" code since apiv2 is going to do this better anyway!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose I could use the existing flag but just go with a completely different implementation...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants