I want to use the stuff in arch/platform/sysdev/dcr.c and I have a couple of 
questions:
1) anyone have a good devtree binding for this?
I'm thinking:
        bgq {
                #address-cells = <2>;
                #size-cells = <2>;
                ...

                dcr {
                        reg = <0x3ff 0xe0000000 0x0 0x08000000>;
                        compatible = "ibm,bgq-dcr";
                        dcr-controller;
                        dcr-access-method = "mmio";
                        dcr-mmio-stride = <??>;
                };
        };

I'm not sure what stride I will use since I have yet to figure out the DCR 
numbering in play at the moment, which will be painful.
Also, some clarity to the following would be nice:
        /* Stride is not properly defined yet, default to 0x10 for Axon */
        p = of_get_property(dp, "dcr-mmio-stride", NULL);
        stride = (p == NULL) ? 0x10 : *p;

        /* XXX FIXME: Which property name is to use of the 2 following ? */
        p = of_get_property(dp, "dcr-mmio-range", NULL);
        if (p == NULL)
                p = of_get_property(dp, "dcr-mmio-space", NULL);
        if (p == NULL)
                goto done;

I guess my "reg" property is not useful to the code?
Is there a preference over dcr-mmio-range/space or in the absence of these to 
we should use "reg"?

2) I need 64 bit reads and writes
My intention is to have dcr_{read,write}_generic_{mmio,native} take an unsigned 
long for value all the way down.
For the native case, this would make is similar to mtspr and mfspr.
For the MMIO case, the selected in/out size would be based on "#ifdef 
__powerpc64__"

Thoughts?

-jx


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to