lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <134cbb66-6d46-bef5-fa4c-eeae78ec1b53@gmail.com>
Date:   Fri, 9 Oct 2020 16:40:08 -0700
From:   Florian Fainelli <f.fainelli@...il.com>
To:     Al Cooper <alcooperx@...il.com>, linux-kernel@...r.kernel.org
Cc:     bcm-kernel-feedback-list@...adcom.com, devicetree@...r.kernel.org,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Krzysztof Kozlowski <krzk@...nel.org>,
        linux-arm-kernel@...ts.infradead.org, linux-usb@...r.kernel.org,
        Rob Herring <robh+dt@...nel.org>
Subject: Re: [PATCH v2 2/2] usb: Add driver to allow any GPIO to be used for
 7211 USB signals



On 10/9/2020 12:08 PM, Al Cooper wrote:
> The Broadcom 7211 has new functionality that allows some USB low
> speed side band signals, that go from the XHCI host controller to
> pins on the chip, to be remapped to use any GPIO pin instead of the
> limited set selectable by hardware. This can be done without changing
> the standard driver for the host controller. There is currently
> support for three USB signals, PWRON, VBUS_PRESENT and PWRFLT. This
> driver will allow the remapping of any of these three signals based
> on settings in the Device Tree node for the driver. The driver was
> written so that it could handle additional signals added in the
> future by just adding the correct properties to the DT node.
> 
> Below is an example of a DT node that would remap all three
> signals:
> 
> usb_pinmap: usb-pinmap@...00d0 {
> 	compatible = "brcm,usb-pinmap";
> 	reg = <0x22000d0 0x4>;
> 	in-gpios = <&gpio 18 0>, <&gpio 19 0>;
> 	brcm,in-functions = "VBUS", "PWRFLT";
> 	brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
> 	out-gpios = <&gpio 20 0>;
> 	brcm,out-functions = "PWRON";
> 	brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
> 	interrupts = <0x0 0xb2 0x4>;
> };
> 
> Signed-off-by: Al Cooper <alcooperx@...il.com>
> ---

[snip]

> +config BRCM_USB_PINMAP
> +	tristate "Broadcom pinmap driver support"
> +	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
> +	default y if (ARCH_BRCMSTB && PHY_BRCM_USB)

default ARCH_BRCMSTB && PHY_BRCM_USB should work as well.


> +static int __init brcmstb_usb_pinmap_init(void)
> +{
> +	return platform_driver_probe(&brcmstb_usb_pinmap_driver,
> +				     brcmstb_usb_pinmap_probe);
> +}
> +
> +module_init(brcmstb_usb_pinmap_init);

You would need MODULE_AUTHOR(), LICENSE and DESCRIPTION() in case you 
make this modular.

-- 
Florian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ