Messages in this thread | | | Subject | Re: [PATCH] Input: ili210x - Set the device name according to the device model | From | Marek Vasut <> | Date | Thu, 2 Sep 2021 14:44:03 +0200 |
| |
On 9/2/21 2:39 PM, Rogerio Pimentel wrote: > On Wed, Sep 1, 2021 at 5:48 PM Marek Vasut <marex@denx.de> wrote: >> >> On 9/1/21 10:27 PM, Rogerio Pimentel wrote: >>> On Wed, Sep 1, 2021 at 4:46 PM Marek Vasut <marex@denx.de> wrote: >>>> >>>> On 9/1/21 9:22 PM, Rogerio Pimentel wrote: >>>> >>>> [...] >>>> >>>>> diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c >>>>> index 30576a5f2f04..ca7af4a6f588 100644 >>>>> --- a/drivers/input/touchscreen/ili210x.c >>>>> +++ b/drivers/input/touchscreen/ili210x.c >>>>> @@ -19,6 +19,8 @@ >>>>> #define ILI251X_DATA_SIZE1 31 >>>>> #define ILI251X_DATA_SIZE2 20 >>>>> >>>>> +#define ILI_NAME_LEN 27 >>>>> + >>>>> /* Touchscreen commands */ >>>>> #define REG_TOUCHDATA 0x10 >>>>> #define REG_PANEL_INFO 0x20 >>>>> @@ -394,6 +396,7 @@ static int ili210x_i2c_probe(struct i2c_client *client, >>>>> struct input_dev *input; >>>>> int error; >>>>> unsigned int max_xy; >>>>> + char *model_name; >>>>> >>>>> dev_dbg(dev, "Probing for ILI210X I2C Touschreen driver"); >>>>> >>>>> @@ -440,7 +443,11 @@ static int ili210x_i2c_probe(struct i2c_client *client, >>>>> i2c_set_clientdata(client, priv); >>>>> >>>>> /* Setup input device */ >>>>> - input->name = "ILI210x Touchscreen"; >>>>> + input->name = "Ilitek Touchscreen"; >>>>> + model_name = (char *)input->name; >>>>> + snprintf(model_name, ILI_NAME_LEN, "Ilitek %s Touchscreen", >>>> >>>> Which ilitek devices do you have available exactly ? >>>> >>>> There is a firmware interface which does report the device type, but I >>>> don't know whether it works on all the ilitek touchscreen devices. If it >>>> does, then it could be used here to pull the type from the firmware and >>>> then use this instead >>>> >>>> snprintf(model_name, ILI_NAME_LEN, "Ilitek ILI%04x Touchscreen", type); >>>> >>>> Try this command against the touch controller, it sends it command 0x61 >>>> and reads two bytes of the reply: >>>> i2ctransfer -f -y 1 w1@0x41 0x61 r2 >>>> 0x10 0x25 # <---- on ILI2510 it reports 0x25 0x10 in reverse >>> >>> Thanks for the comments and suggestions. I'll make the changes and send V2. >> >> Can you tell which ILI2xxx touch controller you have exactly ? > > Now I have only the ILI2511. Will also have to support ILI2510 and ILI2118. > >> Can you share the output of the 'i2ctransfer' (from i2c-tools) command >> above ? > > # i2ctransfer -f -y 3 w1@0x41 0x61 r2 > 0x11 0x25
Nice, so this works at least with the 251x series. Let's see how the 2118 behaves, I bet you will get 0x18 0x21 there too.
| |