RE: [PATCH v4] ARM: dts: add DT for lan966 SoC and 2-port board pcb8291

From: Kavyasree.Kotagiri
Date: Thu Feb 10 2022 - 04:40:18 EST


> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> Hi,
>
> > + clocks {
> [..]
> > +
> > + nic_clk: nic_clk {
>
> What does nic_clk stand for? If I had to guess, it
> has something to do with network. But..
>
NIC clock is the clock used by AXI, AHB fabric and APB bridges which connects all the peripherals.
It is named so because the AXI fabric is based on NIC400 IP from ARM

> > + compatible = "fixed-clock";
> > + #clock-cells = <0>;
> > + clock-frequency = <200000000>;
> > + };
> > + };
> > +
> > + clks: clock-controller@e00c00a8 {
> > + compatible = "microchip,lan966x-gck";
> > + #clock-cells = <1>;
> > + clocks = <&cpu_clk>, <&ddr_clk>, <&sys_clk>;
> > + clock-names = "cpu", "ddr", "sys";
> > + reg = <0xe00c00a8 0x38>;
> > + };
> > +
> > + timer {
> > + compatible = "arm,armv7-timer";
> > + interrupt-parent = <&gic>;
> > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
> IRQ_TYPE_LEVEL_LOW)>,
> > + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
> IRQ_TYPE_LEVEL_LOW)>,
> > + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
> IRQ_TYPE_LEVEL_LOW)>,
> > + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
> IRQ_TYPE_LEVEL_LOW)>;
> > + clock-frequency = <37500000>;
> > + arm,cpu-registers-not-fw-configured;
> > + };
> > +
> > + soc {
> > + compatible = "simple-bus";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges;
> > +
> > + flx0: flexcom@e0040000 {
> > + compatible = "atmel,sama5d2-flexcom";
> > + reg = <0xe0040000 0x100>;
> > + clocks = <&clks GCK_ID_FLEXCOM0>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges = <0x0 0xe0040000 0x800>;
> > + status = "disabled";
> > + };
> > +
> > + flx1: flexcom@e0044000 {
> > + compatible = "atmel,sama5d2-flexcom";
> > + reg = <0xe0044000 0x100>;
> > + clocks = <&clks GCK_ID_FLEXCOM1>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges = <0x0 0xe0044000 0x800>;
> > + status = "disabled";
> > + };
> > +
> > + trng: trng@e0048000 {
> > + compatible = "atmel,at91sam9g45-trng";
> > + reg = <0xe0048000 0x100>;
> > + clocks = <&nic_clk>;
>
> .. it is used here..
>
>
> > + };
> > +
> > + aes: aes@e004c000 {
> > + compatible = "atmel,at91sam9g46-aes";
> > + reg = <0xe004c000 0x100>;
> > + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
> > + dmas = <&dma0 AT91_XDMAC_DT_PERID(13)>,
> > + <&dma0 AT91_XDMAC_DT_PERID(12)>;
> > + dma-names = "rx", "tx";
> > + clocks = <&nic_clk>;
>
> .. and here. and so on.
>
> So, is it some kind of internal clock?
>
> > + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> > + };
> > +
> > + watchdog: watchdog@e0090000 {
> > + compatible = "snps,dw-wdt";
> > + reg = <0xe0090000 0x1000>;
> > + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&nic_clk>;
>
> Btw. can we disable all nodes by default and enable them
> in the board dts files?
I would like to have only board specific nodes enabled in dts files and rest of them in dtsi file

Thanks,
Kavya