Re: [PATCH V3] clk: bcm: Add driver for Northstar ILP clock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 11 August 2016 at 16:25, Jon Mason <jon.mason@xxxxxxxxxxxx> wrote:
> On Thu, Aug 11, 2016 at 4:49 AM, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
>> On 10 August 2016 at 20:21, Jon Mason <jon.mason@xxxxxxxxxxxx> wrote:
>>> On Wed, Aug 10, 2016 at 1:44 PM, Ray Jui <ray.jui@xxxxxxxxxxxx> wrote:
>>>> On 8/10/2016 10:28 AM, Rafał Miłecki wrote:
>>>>>
>>>>> On 10 August 2016 at 19:22, Jon Mason <jon.mason@xxxxxxxxxxxx> wrote:
>>>>>>
>>>>>> On Wed, Aug 10, 2016 at 8:05 AM, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
>>>>>>>
>>>>>>> diff --git a/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt
>>>>>>> b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt
>>>>>>> new file mode 100644
>>>>>>> index 0000000..a18c73f
>>>>>>> --- /dev/null
>>>>>>> +++ b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt
>>>>>>> @@ -0,0 +1,40 @@
>>>>>>> +Broadcom Northstar ILP clock
>>>>>>> +============================
>>>>>>> +
>>>>>>> +This binding uses the common clock binding:
>>>>>>> +    Documentation/devicetree/bindings/clock/clock-bindings.txt
>>>>>>> +
>>>>>>> +This binding is used for ILP clock (sometimes referred as "slow clock")
>>>>>>> +on Broadcom Northstar devices using Corex-A7 CPU.
>>>>>>> +
>>>>>>> +This clock is part of PMU (Power Management Unit), a Broadcom's device
>>>>>>> +handing power-related aspects. Please note PMU contains more
>>>>>>> subdevices,
>>>>>>> +ILP is only one of them.
>>>>>>> +
>>>>>>> +ILP's rate has to be calculated on runtime and it depends on ALP clock
>>>>>>> +which has to be referenced.
>>>>>>> +
>>>>>>> +Required properties:
>>>>>>> +- compatible: "brcm,ns-ilp"
>>>>>>> +- reg: iomem address range of PMU (Power Management Unit)
>>>>>>> +- reg-names: "pmu", the only needed & supported reg right now
>>>>>>> +- clocks: has to reference an ALP clock
>>>>>>> +- #clock-cells: should be <0>
>>>>>>> +
>>>>>>> +Example:
>>>>>>> +
>>>>>>> +pmu@18012000 {
>>>>>>> +       compatible = "simple-bus";
>>>>>>> +       ranges = <0x00000000 0x18012000 0x00001000>;
>>>>>>
>>>>>>
>>>>>> I don't see a corresponding DT entry in this patch, but 18012000 is
>>>>>> the PCI block.  So, I am concerned this will collide if used there.
>>>>>>
>>>>>> I looked at the NS register reference guide, and I cannot find the
>>>>>> registers you are trying to reference.  Is this supposed to be
>>>>>> referencing the LCPLL clock registers in DMU?  If so, there is already
>>>>>> a driver in there for this (see drivers/clk/bcm/clk-nsp.c).
>>>>>
>>>>>
>>>>> This patch is for BCM53573 family, not BCM4708 family you are looking at.
>>>>>
>>>>> Found chip with id 53573, rev 0x02 and package 0x01
>>>>> Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x36, class 0x0)
>>>>> Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x38, class 0x0)
>>>>> Core 2 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x05, class 0x0)
>>>>> Core 3 found: ARM CA7 (manuf 0x4BF, id 0x847, rev 0x00, class 0x0)
>>>>> Core 4 found: USB 2.0 Host (manuf 0x4BF, id 0x819, rev 0x05, class 0x0)
>>>>> Core 5 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x08, class 0x0)
>>>>> Core 6 found: I2S (manuf 0x4BF, id 0x834, rev 0x06, class 0x0)
>>>>> Core 7 found: CNDS DDR2/3 memory controller (manuf 0x4BF, id 0x846,
>>>>> rev 0x00, class 0x0)
>>>>> Core 8 found: NAND flash controller (manuf 0x4BF, id 0x509, rev 0x01,
>>>>> class 0x0)
>>>>> Core 9 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x38, class 0x0)
>>>>> Core 10 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x08, class 0x0)
>>>>> Core 11 found: I2S (manuf 0x4BF, id 0x834, rev 0x06, class 0x0)
>>>>> Core 12 found: GCI (manuf 0x4BF, id 0x840, rev 0x08, class 0x0)
>>>>> Core 13 found: PMU (manuf 0x4BF, id 0x827, rev 0x1C, class 0x0)
>>>>>
>>>>
>>>> Out of curiosity, I searched the datasheet and found this is a wireless
>>>> router SoC done by the WLAN team. It happens to share some peripherals with
>>>> other iProc based SoCs.
>>>>
>>>> I cannot find a code name for this SoC from our internal documents. I guess
>>>> that name "Northstar" used here has confused both Jon and me.
>>>
>>> Ray is right.  I just spoke to one of the people here with knowledge
>>> of the HW, and this is not related at all to the 4708/9/5301X.  It MAY
>>> have some of the same peripherals, but the core is different (Cortex
>>> A7 instead of A9).
>>>
>>> I think we are best off to change the name and turn this into a
>>> separate device tree, driver base, etc.  I wasn't able to get a code
>>> name, so perhaps simply call it "BCM53573".
>>
>> Yes, I said clearly it uses Corex-A7 in the commit message and
>> Documentation entry.
>>
>> Florian already shared his doubts about BCM53573 belonging to the
>> Northstar, but I found out [1] that your (Broadcom's) SDK treats it as
>> Northstar device:
>>
>> Asus RT-AC1200G+
>>
>> # cat /proc/cpuinfo
>> Processor : ARMv7 Processor rev 5 (v7l)
>> BogoMIPS : 1795.68
>> Features : swp half thumb fastmult edsp
>> CPU implementer : 0x41
>> CPU architecture: 7
>> CPU variant : 0x0
>> CPU part : 0xc07
>> CPU revision : 5
>>
>> Hardware : Northstar Prototype
>> Revision : 0000
>> Serial : 0000000000000000
>>
>>
>> It seems Broadcom's WLAN team claims it's a Northstar and you claim
>> it's not. Could you discuss this internally and let us know, please?
>
> I discussed it with a member of the WLAN team prior to my previous
> email, which is why I made the previous statement.  It is a completely
> different SoC than the 5301x family.  It appears that someone in
> Marketing decided to reuse the name without discussing it with anyone
> in WLAN SW.  It is a completely different family of products than the
> iProc Northstar.  If we want to use the Northstar name, then perhaps
> we could call it something like "WLAN Northstar".  Either way, it
> needs to have a different mach-bcm entry.

Sorry, it wasn't clear to me initially, thanks for clarification. I'll
resend using different prefix.

-- 
Rafał
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux