Re: [patch v1 2/2] drivers: jtag: Add Aspeed SoC 24xx and 25xx families JTAG master driver
From: Arnd Bergmann <hidden>
Date: 2017-08-02 14:55:00
Also in:
linux-arm-kernel, linux-devicetree, lkml, openbmc
On Wed, Aug 2, 2017 at 3:18 PM, Oleksandr Shamray [off-list ref] wrote:
Driver adds support of Aspeed 2500/2400 series SOC JTAG master controller. Driver implements the following jtag ops: - freq_get; - freq_set; - status_get; - idle; - xfer; It has been tested on Mellanox system with BMC equipped with Aspeed 2520 SoC for programming CPLD devices. Signed-off-by: Oleksandr Shamray <oleksandrs-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> Signed-off-by: Jiri Pirko <jiri-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Looking at this one before the subsystem. Overall looks really nice, it seems you got a good abstraction between the subsystem and the driver.
+ +static int aspeed_jtag_freq_set(struct jtag *jtag, unsigned long freq); +static int aspeed_jtag_freq_get(struct jtag *jtag, unsigned long *frq); +static int aspeed_jtag_status_get(struct jtag *jtag, + enum jtag_endstate *status); +static int aspeed_jtag_idle(struct jtag *jtag, + struct jtag_run_test_idle *runtest); +static int aspeed_jtag_xfer(struct jtag *jtag, struct jtag_xfer *xfer);
Please try to reorder the functions definitions in a way that lets you remove the forward declarations.
+
+static void aspeed_jtag_run_test_idle_sw(struct aspeed_jtag *aspeed_jtag,
+ struct jtag_run_test_idle *runtest)
+{
+ char sm_pause_irpause[] = {1, 1, 1, 1, 0, 1, 0};
+ char sm_pause_drpause[] = {1, 1, 1, 0, 1, 0};
+ char sm_idle_irpause[] = {1, 1, 0, 1, 0};
+ char sm_idle_drpause[] = {1, 0, 1, 0};
+ char sm_pause_idle[] = {1, 1, 0};These could be 'static const' if you adapt the aspeed_jtag_sm_cycle prototype accordingly.
+
+static const struct of_device_id aspeed_jtag_of_match[] = {
+ { .compatible = "aspeed,aspeed-jtag", },
+ {}
+};
The series should include a patch for the DT binding for this device.
You may want to be a little more specific here, to avoid problems if
aspeed ever makes an updated version of this device with a slightly
different register interface. Usually we include the full name of the
SoC in the "compatible" string for that.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html