On 11.9.2018 15:31, Patrice CHOTARD wrote: > On 09/11/2018 02:17 PM, Michal Simek wrote: >> On 11.9.2018 13:12, Patrice CHOTARD wrote: >>> Hi, >>> >>> On 09/11/2018 12:24 PM, Michal Simek wrote: >>>> Hi, >>>> >>>> On 11.9.2018 09:31, Patrice CHOTARD wrote: >>>>> Hi Michal >>>>> >>>>> On 09/11/2018 07:51 AM, Michal Simek wrote: >>>>>> On 10.9.2018 18:11, Patrice Chotard wrote: >>>>>>> >>>>>>> This series : >>>>>>> - Add new gpio ops get_alt_function >>>>>>> - Add get_function and get_alt_function support to stm32 gpio driver >>>>>>> - Add get_alt_function test >>>>>> >>>>>> >>>>>> I went quickly over this series and TBH I am not getting what this is >>>>>> for. It looks like that this is the part of pinmux. >>>>>> >>>>>> Can you please elaborate more what this is for? >>>>> >>>>> Currently, get_function callback returns the state of a gpio >>>>> (GPIOF_INPUT, GPIOF_OUTPUT or GPIO_FUNC). >>>>> >>>>> If a pin's state is GPIO_FUNC, it's useful to know which alternate >>>>> function is selected for debug purpose. >>>>> >>>>> As example, on STM32 SoCs, a pins can be configured as GPIO or also >>>>> configured with up to 16 alternate function. Using command "gpio", user >>>>> can retrieve this information as shown below: >>>>> >>>>> STM32MP> gpio state -a >>>>> >>>>> Bank GPIOA: >>>>> GPIOA0: unused: 0 [ ] >>>>> GPIOA1: unused: 0 [ ] >>>>> GPIOA2: unused: 0 [ ] >>>>> GPIOA3: unused: 0 [ ] >>>>> GPIOA4: unused: 0 [ ] >>>>> GPIOA5: unused: 0 [ ] >>>>> GPIOA6: unused: 0 [ ] >>>>> GPIOA7: unused: 0 [ ] >>>>> GPIOA8: func: 9 >>>>> GPIOA9: func: 10 >>>>> GPIOA10: unused: 0 [ ] >>>>> GPIOA11: unused: 0 [ ] >>>>> GPIOA12: unused: 0 [ ] >>>>> GPIOA13: output: 1 [x] red.gpios >>>>> GPIOA14: output: 0 [x] green.gpios >>>>> GPIOA15: unused: 0 [ ] >>>>> >>>>> It shows that pin 8 and 9 of bank A are configured respectively in >>>>> alternate function 9 and 10. >>>> >>>> Can you list that functionality? Isn't it something what should be shown >>>> with a name instead of number? >>> >>> Listing this functionality is possible and printing name instead of >>> number also, but for each pins, alternate function configuration is >>> different and need to store all these informations into a table, which >>> consumes a lot of memory. >>> >>>> I expect that user has to go to any decode table to find out what 9 or >>>> 10 means. >>> >>> Yes, using the SoC's datasheet, user can find the corresponding >>> alternate function description. >> >> Can you give some examples of that functionality or link to datasheet >> and page? > > As example, regarding the pin 8 of bank A (GPIOA8 above), alternate > function 9 means that pins is currently configured as SDMMC2_DATA4. > > For this pins, here are all the possible alternate function : > > alternate function description > > AF0 MCO0 > AF1 TIM1_CH1 > AF2 > AF3 TIM8_BKIN2 > AF4 I2C3_SCL > AF5 SPI3_MOSI/SDO > AF6 > AF7 USART1_CK > AF8 SDMMC2 CKIN > AF9 SDMMC2 DATA4 > AF10 USB_SOF > AF11 > AF12 SAI4_SD_B > AF13 UART7_RX > AF14 LCD_R6 > AF15 EVENTOUT
ok that means that it is pin mux decoding and you want to use gpio status command to show it. I would expect when you set a value for gpio that nothing is going to change because it is not propagated to output pin. I can do it for zynq/zynqmp device but I don't think this is something what should be shown via gpio status command. In my case there is even different address range which should be used to get this value. Anyway I think that it would be better to create regular pinctrl command for this instead of trying to reuse gpio command for that but that's just my opinion. Thanks, Michal _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot