Based on kernel version 6.8
. Page generated on 2024-03-11 21:26 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | Binding for TI DaVinci Power Sleep Controller (PSC) The PSC provides power management, clock gating and reset functionality. It is primarily used for clocking. Required properties: - compatible: shall be one of: - "ti,da850-psc0" for PSC0 on DA850/OMAP-L138/AM18XX - "ti,da850-psc1" for PSC1 on DA850/OMAP-L138/AM18XX - reg: physical base address and size of the controller's register area - #clock-cells: from common clock binding; shall be set to 1 - #power-domain-cells: from generic power domain binding; shall be set to 1. - clocks: phandles to clocks corresponding to the clock-names property - clock-names: list of parent clock names - depends on compatible value - for "ti,da850-psc0", shall be "pll0_sysclk1", "pll0_sysclk2", "pll0_sysclk4", "pll0_sysclk6", "async1" - for "ti,da850-psc1", shall be "pll0_sysclk2", "pll0_sysclk4", "async3" Optional properties: - #reset-cells: from reset binding; shall be set to 1 - only applicable when at least one local domain provides a local reset. Consumers: Clock, power domain and reset consumers shall use the local power domain module ID (LPSC) as the index corresponding to the clock cell. Refer to the device-specific datasheet to find these numbers. NB: Most local domains only provide a clock/power domain and not a reset. Examples: psc0: clock-controller@10000 { compatible = "ti,da850-psc0"; reg = <0x10000 0x1000>; #clock-cells = <1>; #power-domain-cells = <1>; #reset-cells = <1>; clocks = <&pll0_sysclk 1>, <&pll0_sysclk 2>, <&pll0_sysclk 4>, <&pll0_sysclk 6>, <&async1_clk>; clock_names = "pll0_sysclk1", "pll0_sysclk2", "pll0_sysclk4", "pll0_sysclk6", "async1"; }; psc1: clock-controller@227000 { compatible = "ti,da850-psc1"; reg = <0x227000 0x1000>; #clock-cells = <1>; #power-domain-cells = <1>; clocks = <&pll0_sysclk 2>, <&pll0_sysclk 4>, <&async3_clk>; clock_names = "pll0_sysclk2", "pll0_sysclk4", "async3"; }; /* consumer */ dsp: dsp@11800000 { compatible = "ti,da850-dsp"; reg = <0x11800000 0x40000>, <0x11e00000 0x8000>, <0x11f00000 0x8000>, <0x01c14044 0x4>, <0x01c14174 0x8>; reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig"; interrupt-parent = <&intc>; interrupts = <28>; clocks = <&psc0 15>; power-domains = <&psc0 15>; resets = <&psc0 15>; }; Also see: - Documentation/devicetree/bindings/clock/clock-bindings.txt - Documentation/devicetree/bindings/power/power-domain.yaml - Documentation/devicetree/bindings/reset/reset.txt |