LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Robert Marko <robert.marko@sartura.hr> To: Linus Walleij <linus.walleij@linaro.org> Cc: Rob Herring <robh@kernel.org>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, Lee Jones <lee.jones@linaro.org>, Philipp Zabel <p.zabel@pengutronix.de>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, devicetree <devicetree@vger.kernel.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Luka Perkov <luka.perkov@sartura.hr>, jmp@epiphyte.org, Paul Menzel <pmenzel@molgen.mpg.de>, Donald Buczek <buczek@molgen.mpg.de> Subject: Re: [PATCH v6 5/6] dt-bindings: mfd: Add Delta TN48M CPLD drivers bindings Date: Sat, 25 Sep 2021 16:47:02 +0200 [thread overview] Message-ID: <CA+HBbNH5Bybts2n6S3DrigNa_ZA-7_rgSZVgHZtoS27W9ZCtig@mail.gmail.com> (raw) In-Reply-To: <CA+HBbNE_U3dbnWh-8QasaxfQrQHS4YK8TEr0YebH9mCJsc0JTQ@mail.gmail.com> On Tue, Sep 7, 2021 at 11:02 PM Robert Marko <robert.marko@sartura.hr> wrote: > > On Tue, Aug 24, 2021 at 10:03 AM Robert Marko <robert.marko@sartura.hr> wrote: > > > > On Wed, Aug 11, 2021 at 2:17 PM Linus Walleij <linus.walleij@linaro.org> wrote: > > > > > > On Tue, Aug 3, 2021 at 9:23 PM Robert Marko <robert.marko@sartura.hr> wrote: > > > > > > > The pins that this driver wants to expose are used for SFP-s only, > > > > they are provided by the Lattice CPLD which also does other things. > > > > > > > > Linux has a generic SFP driver which is used to manage these SFP > > > > ports, but it only supports GPIO-s, it has no concept of anything else. > > > > Since the driver is fully generic, I have no idea how could one extend it > > > > to effectively handle these pins internally, especially since I have more > > > > switches that use the CPLD for SFP-s as well, even for 48 ports and 192 > > > > pins for them. > > > > > > Which file is this driver in so I can look? > > > > Hi Linus, > > Sorry for the late reply. > > > > Sure, here is the generic Linux driver that is used for SFP handling: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/sfp.c?h=v5.14-rc7 > > > > > > > > Maybe it is not a good idea to look for generic code just because > > > it is convenient? I have had this problem before with GPIO, along > > > the lines "lemme just do this dirty thing this one time because it > > > is so convenient for me" (more or less) and the answer is still > > > "no". > > > > > > Can you either augment the driver to handle a regmap with bit indices > > > instead or write a new similar driver for that or refactor it some other > > > way? > > > > > > It is not a simple solution to your problem, but it might be the right > > > solution even if it means some more work. > > > > I understand your position, believe me, I spend some time looking at > > what would be the logical way for these switches. > > But I see no way how could the SFP driver be extended in a generic way > > that would allow supporting different register layouts when it comes to pins. > > > > > > > > > GPIO regmap works perfectly for this as its generic enough to cover all of > > > > these cases. > > > > > > Yeah but it might be the wrong thing to do even if it is simple > > > to use and works. > > > > > > > CPLD also provides pins to test the port LED-s per color as well, > > > > but I have chosen not to expose them so far. > > > > > > Have you considered > > > Documentation/devicetree/bindings/leds/register-bit-led.txt > > > > Yeah, but unfortunately in this case it wont work as the LED-s > > are for debugging/test purposes only and you first need to switch > > the CPLD out of it interpreting the LED state with a BIT flip. > > > > Regards, > > Robert > > > > > > > > If it is a regmap in Linux then that is fine, just pass the regmap > > > > > around inside the kernel, OK finished. But really that is an OS > > > > > detail. > > > > > > > > Yes, its regmap but I cant really pass it to the SFP driver as I don't have > > > > special driver handling the SFP but rather the generic kernel one. > > > > It only knows how to handle GPIO-s. > > > > > > Of course you have to program it. If I know which driver it > > > is it is easier to provide architecture ideas. > > > > > > Yours, > > > Linus Walleij > > Linus, > > can I offer some further explanation? > > Regards, > Robert Hi Linus, I would really like to move forward with this somehow. I have multiple switches depending on the outcome of this series. Regards, Robert > > > > > > > > -- > > Robert Marko > > Staff Embedded Linux Engineer > > Sartura Ltd. > > Lendavska ulica 16a > > 10000 Zagreb, Croatia > > Email: robert.marko@sartura.hr > > Web: www.sartura.hr > > > > -- > Robert Marko > Staff Embedded Linux Engineer > Sartura Ltd. > Lendavska ulica 16a > 10000 Zagreb, Croatia > Email: robert.marko@sartura.hr > Web: www.sartura.hr -- Robert Marko Staff Embedded Linux Engineer Sartura Ltd. Lendavska ulica 16a 10000 Zagreb, Croatia Email: robert.marko@sartura.hr Web: www.sartura.hr
next prev parent reply other threads:[~2021-09-25 14:47 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-07 12:33 [PATCH v6 1/6] mfd: simple-mfd-i2c: Add Delta TN48M CPLD support Robert Marko 2021-06-07 12:33 ` [PATCH v6 2/6] gpio: Add Delta TN48M CPLD GPIO driver Robert Marko 2021-06-07 12:33 ` [PATCH v6 3/6] dt-bindings: reset: Add Delta TN48M Robert Marko 2021-06-07 12:33 ` [PATCH v6 4/6] reset: Add Delta TN48M CPLD reset controller Robert Marko 2021-06-07 12:33 ` [PATCH v6 5/6] dt-bindings: mfd: Add Delta TN48M CPLD drivers bindings Robert Marko 2021-06-25 11:46 ` Robert Marko 2021-07-13 22:25 ` Rob Herring 2021-07-18 9:15 ` Robert Marko 2021-07-19 10:46 ` Lee Jones 2021-07-19 22:59 ` Rob Herring 2021-07-21 14:16 ` Linus Walleij 2021-08-03 19:22 ` Robert Marko 2021-08-11 12:17 ` Linus Walleij 2021-08-24 8:03 ` Robert Marko 2021-09-07 21:02 ` Robert Marko 2021-09-25 14:47 ` Robert Marko [this message] 2021-10-03 22:48 ` Linus Walleij 2021-10-12 16:31 ` Robert Marko 2021-10-19 1:40 ` Andrew Lunn 2021-10-19 10:49 ` Robert Marko 2021-10-19 2:05 ` Andrew Lunn 2021-10-19 10:54 ` Robert Marko 2021-06-07 12:33 ` [PATCH v6 6/6] MAINTAINERS: Add Delta Networks TN48M CPLD drivers Robert Marko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CA+HBbNH5Bybts2n6S3DrigNa_ZA-7_rgSZVgHZtoS27W9ZCtig@mail.gmail.com \ --to=robert.marko@sartura.hr \ --cc=bgolaszewski@baylibre.com \ --cc=buczek@molgen.mpg.de \ --cc=devicetree@vger.kernel.org \ --cc=jmp@epiphyte.org \ --cc=lee.jones@linaro.org \ --cc=linus.walleij@linaro.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=luka.perkov@sartura.hr \ --cc=p.zabel@pengutronix.de \ --cc=pmenzel@molgen.mpg.de \ --cc=robh@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).